Expert in streaming video, video codecs and multimedia content delivery over the Internet. I have 25+ years engineering experience in hands-on architecture, leadership, and development experience building video related systems such as in-vehicle infotainment, IPTV, video telecommunications, and video conferencing as well as API, device driver and firmware development for DSPs. Expert witness for patent litigation and technical analysis of patents for prosecution, maintenance, divestiture, acquisition and related issues. Developed and managed budgets, great communication skills, and substantial experience managing offshore and multi-disciplinary groups. Very experienced working with product managers and business development. I have been responsible for resource determination, hiring, and outsourcing. I have traveled extensively in Asia, Europe and USA.
SKILLS & EXPERTISE
Video Distribution – Video Codecs – Project Management – SW Development – Patent Litigation
Microsoft Corporation, Redmond, WA:
Principal Patent Engineer, 2014 – 2017
Intellectual Property Group (IPG)
Program manager for patent group approval of standard group join requests. With input from patent group attorneys and engineers, analyze impact of joining a standards group on the Microsoft patent portfolio in terms of encumbrances relative to the respective IPR policy and make a recommendation of whether joining the standard group would negatively impact the Microsoft patent portfolio in terms of future licensing or divestiture opportunities.
Project lead for analysis of patents remaining in each of the patent pools (mostly for media codecs) for which Microsoft is a licensee. Utilizing internal resources and outside council, assess the expiry dates, validity and infringement of each in force patent and then estimate the risk of withdrawing from the patent pool. Savings so far is upwards of $124M with an additional $30M per year likely.
Intel Corporation, Chandler, AZ
Strategic Planner and SW Engineer, 2009 – 2014
Automotive Solutions Division (ASD)
Responsible for software planning for a Linux based IVI (In-Vehicle Infotainment) system. Interfacing with customers to determine their long-range plans, shaping ASD strategy around SW, scoping technologies, and working with engineering to develop an execution plan.
Developed an OS strategy for an existing Linux based SW stack servicing a fragmented IVI market. Involved a competitive analysis and ROI predictions. Looking at strategies that would accelerate current development and increase scalability. Also, looked at alternatives such as QNX and Android. Recommendation was presented to division VP and approved.
Developed strategy to incorporate a Web runtime into an existing SW stack to support HTML5 Web applications, including API extensions currently proposed in the W3C. Evaluated internal and external solutions, worked with engineering to scope integration effort, and generated RFQs for a third-party SW engineering resource. Recommendation was presented to division VP and approved.
Project lead to bring up Tizen IVI on an existing HW platform. Required managing external resources in Korea, a QA team in PRC, and interfacing with an internal driver development team. Project was completed on schedule and within budget. The platform was selected by a major Japanese automotive OEM for their next generation IVI systems and is currently being used for SW prototyping by six tier one suppliers.
Mobile Communications Group (MCG)
Developed architecture for two different projects. The first involved location based services for Windows 8 mobile devices. Analyzed patent application for technology that enhanced dead-reckoning based Graph-SLAM (Simultaneous Localization and Mapping) with multivariate Gaussian Wi-Fi fingerprints. Analyzed Windows 8 GPS, barometer, gyrometer, accelerometer, and compass sensor APIs. A Windows Runtime Component DLL was used to map sensor data or geo-location coordinates to the desired coordinate system. In the latter case, sensor data was amalgamated into a three-dimensional virtual GPS output to the Windows 8 Geolocation service.
The second project involved creating unique connection paradigms for mobile devices. Architect for the overall software design. Elements of the design include physical connection (Wi-Fi, Wi-Fi-Direct, Bluetooth, etc.), identity, authentication, and establishing trusted connections. An infrastructure for push/pull scenarios was developed to handle exchange of data such as photos and videos. Designed and developed, in C, an identity encapsulation and encryption scheme using device unique IPv6 addresses for the key.
Service Provider Division (SPD)
SW engineering for IPTV applications on the Intel CE4100 and CE4200 embedded processors. Running Linux, the CE4x00 is based on the Atom processor and has additional on-chip components to accelerate streaming multimedia applications including MPEG2 TS demux, security engine (supporting Viaccess, NDS, Nagra, DVB-CA, etc.), H.264 encoder, two DSPs for audio (MPEG, AAC, AC3, and DTS) and HW accelerated MPEG-2 and H.264 (AVC) video codecs.
Worked with DIRECTV to develop a satellite based STB using the Intel CE4200. A wideband tuner is employed to handle up to 8 DSS and/or DVB-S2/ACM transport streams. MPEG-2 and H.264 plus SVC video decoding are utilized for video with Civolution watermarking. Analyzed DIRECTV requirements and determined missing functionality in the CE4200 SDK; defined and scoped the engineering effort required to fill gaps.
Worked with Technicolor in Rennes, France to develop an STB for France Telecom and Telecom Italia based on Intel’s CE4200 embedded multimedia SoC running Linux. Responsible for overall integration of DVB-T functionality plus direct involvement with Viaccess conditional access, PlayReady DRM, boot code, and DTCP-IP.
Worked with a Cisco SA development team to bring up the CE4100 processor on a DVB-T plus IPTV STB including debugging video/audio drop-outs, Linux build issues, and general bug fixing.
Wrote the UI and multimedia portions of an application for Nagra encryption certification including programming the CE4100 media pipelines using the Intel SMD interface and reading MPEG-2 transport stream files and streaming them to the media pipelines.
Legal Consulting, Rye, NH
Expert Witness, 2009
Technical expert for the plaintiff in an intellectual property lawsuit regarding patents pertaining to training for V.34, V.90 and V.92 modems. Analyzed defendant’s source code and authored a report of my findings relative to the claim chart and relevant ITU-T standards. Alleged infringed IP included frame detection, reuse of saved channel characteristics for faster retraining, detection of specific signals (ANS PCM, DIL, etc.), spectral shaping techniques, DIL analysis, and power calculation. Most of the source code analysis was in the digital signal processing routines written in either C or assembler. Case was settled out of court in favor of the plaintiff.
Womble Carlyle Sandridge & Rice, PLLC
Expert witness for the plaintiff regarding an intellectual property lawsuit pertaining to modem patents 5,251,236 and 5,311,578. The '236 patent, which was used in V.34, enabled combining fractional rate encoding and trellis encoding with an optimal QAM constellation. The '578 patent was used for the non-digital portion of V.8 signaling. I analyzed software written in C and C++ and firmware written in assembler for a variety of DSPs for the purpose of identifying the patented techniques as they were implemented in the accused products. Authored reports and was deposed.
ChipWrights, Inc., Bedford, MA:
Director of Video and Image Processing, 2008 - 2009
Hands-on position in which I oversaw development of the following video codecs: AVC (H.264), MPEG-4, MPEG-2 (decode only), and MJPEG on the CW5631 DSP (first silicon in January '08). The CW5631 consisted of an ARM9 core plus two DSP cores (one SIMD). Responsible for meeting a DSP firmware release 1.0 ship date of January '09. The reference design was an IPTV STB running Linux on the ARM core. I was the developer for the following:
Created a new DSP software architecture to accommodate the move from a single DSP core to a combination of ARM core, 16 parallel data path DSP core, and serial DSP core;
Ported and debugged an AVC (H.264) video encoder for the DSPs and did optimizations that yielded a 2:1 performance improvement;
Added multiple slice support to an existing AVC decoder on the DSPs
Ported an MPEG-4 encoder to the DSPs;
Removed the in-house developed OS from the DSP firmware (no longer needed with Linux running on the ARM) and replaced it with an interrupt handler and simple messaging system;
Replaced the existing build environment that lacked reliable software release procedures with a conventional make file system;
Wrote a memory manager for the ARM9 that enabled Linux applications to access the shared memory area;
Assisted with integration of the video codecs into a version of MPlayer via a Linux device driver;
Ported an AAC audio decoder to Linux and the ARM9 core;
Wrote an MP4 media container file parser using the Bento4 library for use in Linux.
Hamilton Telecommunications, Aurora, NE
Senior Software Analyst, 2007 - 2008
Technical lead for a Video Relay Service (VRS), which is used to allow deaf people to communicate using sign language via a videophone and an interpreter to a non-signing person utilizing a telephone. Responsible for overall infrastructure design, software architecture, and leading a team of five engineers. I analyzed the technical merits of different engineering solutions for creating a VRS system based on SIP and H.323 videophones (from ground-up custom SW development to off-the-shelf HW solutions). Besides video infrastructure equipment, I evaluated SW and HW solutions for both the interpreter's workstation and the Web application used by the customer. Ultimately, a combination of off-the-shelf hardware and custom software was chosen. The hardware consisted of an H.323 videophone at the customer's site connecting via a Stratus ENTICE Session Controller (handled routing and call status indications) to a Codian MCU (Multipoint Control Unit) which was used to bridge in the interpreter's H.323 videophone and make calls to a voice telephone via a Cisco H.323 gateway. The software, a combination of workstation client software (Java) and network server software (C++ and Java plus Apache Tomcat relational database server and MySQL), was developed in-house. It was initially developed on Windows XP and then ported to FreeBSD UNIX for the production system. The network components and the workstation client interact using XML RPCs.
I wrote, in C++, the call control application, which did the following:
Interface via TCP/IP with the ENTICE Session Controller, parse and respond to CDRs (Call Detail Records) regarding incoming and outgoing calls;
Interface, using an XML interface, to the Codian MCU to handle all call control functions (moving on-hold callers to a free interpreter's conference, call out to the callee, hanging up calls, etc.);
Interface using an XML interface that I designed to communicate with the workstation controller (written in Java);
Create CDRs for billing when a call terminated.
Legal Consulting, Rye, NH
Expert Witness, 2007
Friedman, Suder & Cooke
Technical expert for the plaintiff in an intellectual property lawsuit regarding patent 4,884,132. Analyzed the 3GPP and 3GPP2 MMS (Multimedia Message Service) standards to determine if any of the procedures used were claimed in the '132 patent. This patent is for a personal security system whereby a potential crime victim could photograph an assailant and that picture, along with the current location and device I.D., would be sent to the nearest police station. I authored a report indicating my findings.
Irell & Manella, LLP
Technical expert for the plaintiff in an intellectual property lawsuit related to video coding for video conferencing MCUs. An MCU is a Multipoint Control Unit and allows bridging of multiple video conference calls. I analyzed C++ source code for the accused product to determine if certain patented transcoding optimizations (to improve quality and reduce processor overhead) were used to eliminate decoding or enable partial decoding when distributing the source video to various receivers.
Technical expert for a manufacturer verifying that a proposed new product involving speech codecs related to 3G mobile telephones would not infringe on patents in force. Compared the product specification and intended speech encoding algorithms with those in patents with similar encoding methodologies and opined on whether there any technical equivalence existed.
Toshiba Corporation, Tokyo, Japan
Consultant, 1998 - 2006
As a consultant to Toshiba Semiconductor in the multimedia-processor, system-on-a-chip group, I was the technical expert in video codecs and multimedia protocol stacks for streaming video on the Internet and video telephony (both packet and circuit switched). My primary duties were to manage or provide technical leadership on various projects and to represent Toshiba at several standards committees. Additionally, I served as a technical expert for business development outside of Japan.
Manager and Technical Lead
Toshiba's T-series multimedia DSP contains three RISC processors with dedicated circuitry for specific multimedia functions: a video processor (H.263, MPEG-4, RealVideo and H.264), speech/audio processor (AAC, AMR, EVRC, RealAudio, etc.) and transport level network interface (RTP/RTCP, H.324, etc.). It also contains embedded DRAM, which helped keep power consumption to a very low level. T-series DSPs are used in conjunction with baseband processors in 3G mobile phone handsets. On key projects, I was the manager and technical lead. In addition, I was the designer of HAPI, the API used by applications running on the baseband processor. A list of some of the projects I had a key role in follows.
Manager of engineering teams in India, Japan and U.S. to develop firmware (C and assembler) and host software (C++) for Real Networks streaming (RTP) audio and video decoding on the Toshiba T4G MeP DSP per customer's specification. This included personal responsibility for deriving requirements based on customer's needs, working with RealNetworks representatives to understand their interfaces, designing the system and overseeing development and release cycles. Due to the geographically disparate development teams, this project had significant challenges. To avoid integration issues, I ensured that interfaces between the major software components were kept small and clearly defined. Also, I required that all major components be thoroughly tested before integration. I also specified a shared source code control system with remote access that allowed teams to make minor modifications to the code developed by other teams. This permitted work to continue without waiting for the other team to implement a fix. Finally, I solved the communications issues with video, audio and data conferencing.
Technical lead for LG Electronics 3G mobile phone project utilizing Toshiba's T3 DSP. The requirements for the T3 were support of real-time streaming video over RTP from a PacketVideo server and pseudo streaming video using TCP/IP. MPEG-4 and H.263 video and EVRC and AMR speech were supported, as well as JPEG still image and AAC audio. I was brought in after the project was underway to solve several problems. The biggest issue was poor coordination between the development teams in Japan, Korea and the U.S. I solved this by creating clear channels of communication, frequent voice/data conferences and a shared source code control system. Another large issue was poor understanding by different teams of how to integrate the different system components. This was solved through a series of meetings in which a rigorous analysis was performed and clear designs for various interfaces were defined. Lastly, there was a problem with morale on the various teams. The project was on a very tight schedule and all of the engineers felt the schedule was impossible to meet. Whenever development stalled, I helped with debugging, writing code, or bringing together the right people to solve the problem -- whatever was needed to get things moving again. In doing so, I hoped to show the team members that, no matter what the problem was, it could be solved. The approach worked and I soon noticed engineers taking the initiative on a host of issues.
Architect of T-series multimedia processor High-level API (HAPI). This API allowed applications on 3G mobile phones to access Toshiba's T-series multimedia DSPs through a consistent interface, regardless of OS, baseband chipset, or T-series processor. HAPI included support for video telephony, real-time streaming multimedia over IP and MP4 playback. Interfaces included video (H.264, H.263, and MPEG-4), speech (AMR, EVRC, etc.), audio (AAC), still image (JPEG), audio input/output, video camera and LCD screen. I was responsible for the design and initial prototype. I then lead a team to develop a commercial version for the Toshiba T2 DSP reference platform (Microsoft Windows plus PCI board). This API significantly cut development costs for Toshiba and made their T-series processors much more appealing by virtue of the simple, application-centric, consistent HAPI interface. Intimate knowledge of the T-series DSP hardware was not necessary to utilize HAPI.
Manager and architect for development of H.324/H.323 mobile video telephone prototype that allowed for easy substitution of various components. Designed to be processor and OS independent, the software could function in a PC or embedded application. The system included H.263 and MPEG-4 video compression with AMR and G.723.1 speech compression. I managed teams in the U.S. and Japan. I was also responsible for implementation of the H.263 video codec, G.723.1 speech codec, H.223 mux, V.80, TAPI and V.34 modules (MPEG-4, H.324 and H.245 modules were developed by other team members). This prototype was later used in DoCoMo's testing for a 3G mobile H.324-M video telephone.
Research and Standards Committees
As Toshiba's representative to ITU-T, 3GPP and 3GPP2 standards bodies, I was the technical expert responsible for establishing MPEG-4 video in video telephony and mobile multimedia services — despite considerable resistance by other member companies. Achieving this was critical to Toshiba because of the central role of MPEG-4 in their business plan and their MPEG-4 related IPR.
Researcher in IPTV and handheld TV standards, technology requirements and market conditions. I reported directly to upper-level Toshiba management as part of their decision-making process regarding development of IPTV and handheld TV related products.
3GPP and 3GPP2 Representative to the codec groups responsible for creating standards for multimedia services on 3G (CDMA2000 and W-CDMA) mobile telephones, including MMS (Multimedia Messaging Service), video telephone (packet and circuit switched) and streaming multimedia. This involved my own research and interfacing with other researchers within Toshiba. Standards meetings involve interaction with representatives from major component and handset manufacturers, as well as cell phone network operators. I was the Editor of the following specifications: 3GPP2 C.S0050, "3GPP2 File Formats for Multimedia Services," 3GPP2 C.S0045 "3GPP2 Multimedia Messaging Service (MMS) Media Format and Codecs for cdma2000 Spread Spectrum Systems," and 3GPP2 C.S0055 "Packet Switched Video Telephony (MCS)." (C.S0055 is a SIP based specification.) 3GPP TS 26.110, “Codec for Circuit Switched Multimedia Telephony Service; General Description,” and 3GPP TS 26.111, “Codec for Circuit Switched Multimedia Telephony Service; Modifications to H.324.” I was also Rapporteur for 3GPP TSG SA WG4 (codec) WI2, which was tasked with creating the codec specifications for video telephony over wireless circuit and packet switched networks.
ITU-T Representative to Study Group 16, Question 1 (multimedia terminals) and Study Group 16, Question 6 (video coding). Collectively, these standards groups were responsible for the following standards: H.263, H.264, H.323, H.245, H.225, H.320, H.242, H.230, H.221, H.324, H.223. I was the Editor for ITU-T H.323 Annex I (mobile H.323).