8:18-cv-02055
Uniloc 2017 LLC v. Netflix Inc
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Uniloc 2017 LLC (Delaware)
- Defendant: Netflix, Inc. (Delaware)
- Plaintiff’s Counsel: Feinberg Day Alberti Lim & Belloli LLP
- Case Identification: 8:18-cv-02055, C.D. Cal., 11/17/2018
- Venue Allegations: Plaintiff alleges venue is proper because Netflix has committed acts of infringement in the Central District of California and maintains multiple regular and established places of business within the district.
- Core Dispute: Plaintiff alleges that Defendant’s Netflix streaming service and associated video encoding technologies infringe three patents related to tracking digital media presentations and methods for video compression.
- Technical Context: The dispute centers on technologies fundamental to video streaming services: methods for tracking user engagement with content for analytics and billing, and advanced video compression techniques (codecs) that enable efficient delivery of high-quality video over networks.
- Key Procedural History: The complaint does not mention prior litigation. However, subsequent to the filing of this complaint, all three patents-in-suit were the subject of Inter Partes Review (IPR) proceedings before the U.S. Patent and Trademark Office. These proceedings resulted in the cancellation of all asserted claims: claims 1-3 of the '609' patent were cancelled (IPR2019-01367, IPR2020-00677, IPR2020-00041); claims 1, 3, 5, and 6 of the '229' patent were cancelled (IPR2020-00044); and claims 1-16 and 39-42 of the '005' patent were cancelled (IPR2019-01126, IPR2019-01270). The cancellation of the asserted claims raises fundamental questions about the viability of the infringement action.
Case Timeline
| Date | Event |
|---|---|
| 1999-04-30 | U.S. Patent 6,519,005 Priority Date |
| 1999-08-30 | U.S. Patent 6,584,229 Priority Date |
| 2003-02-11 | U.S. Patent 6,519,005 Issues |
| 2003-06-24 | U.S. Patent 6,584,229 Issues |
| 2008-08-21 | U.S. Patent 8,407,609 Priority Date |
| 2013-03-26 | U.S. Patent 8,407,609 Issues |
| 2014-01-01 | Netflix publishes slide deck on viewing history architecture (approx.) |
| 2016-01-18 | Netflix publishes VP9 sample files on GitHub |
| 2016-12-01 | Netflix introduces AVCHi-Mobile and VP9-Mobile encodes (approx.) |
| 2018-11-17 | Complaint Filed |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 8,407,609 - "System and Method For Providing And Tracking The Provision of Audio and Visual Presentations Via A Computer Network," issued March 26, 2013
The Invention Explained
- Problem Addressed: The patent describes the difficulty for internet users to find specific content due to the vast amount available and the shortcomings of conventional search engines, which could be tricked or return irrelevant results (’609 Patent, col. 1:50-2:1).
- The Patented Solution: The patent proposes a system for delivering and tracking media. A "first computer system" provides a web page, identifier data, and a "timer applet" to a user's computer. This applet periodically communicates with the first computer system. The web page, however, triggers the streaming of media content from a separate "second computer system." The first system receives data from the timer applet and stores it, creating a record of how long the user streamed the media from the second system (’609 Patent, col. 2:13-34).
- Technical Importance: This architecture allowed for the separation of content delivery from user tracking and analytics, enabling a party to monitor user engagement with media hosted and streamed by a distinct third party (Compl. ¶13).
Key Claims at a Glance
- The complaint asserts at least independent claim 1 (Compl. ¶17).
- Essential elements of claim 1 include:
- providing a corresponding web page to a user's computer for each digital media presentation
- providing identifier data to the user's computer
- providing an applet to the user's computer, operative as a timer
- receiving at least a portion of the identifier data from the user's computer responsively to the timer applet each time a predetermined temporal period elapses
- storing data indicative of the received identifier data
- wherein the web page causes media data to be streamed from a second computer system distinct from the first computer system
- wherein the stored data is indicative of an amount of time the media data is streamed and is together indicative of a cumulative time the web page was displayed
U.S. Patent No. 6,584,229 - "Macroblock-Based Object-Oriented Coding Method Of Image Sequence Having A Stationary Background," issued June 24, 2003
The Invention Explained
- Problem Addressed: The patent notes that prior art object-based video compression was inefficient. Dividing an image into foreground and background regions at the pixel level was computationally complex and required transmitting a large amount of "shape information," which limited overall compression, especially at low bitrates (’229 Patent, col. 1:41-58).
- The Patented Solution: The invention proposes a method based on dividing the image by macroblock units (e.g., 16x16 pixel blocks) rather than individual pixels. It distinguishes a stationary background from a moving object region. For macroblocks identified as part of the stationary background, the method involves reusing the coded information from the corresponding macroblock in the previous frame if the difference in pixel values is below a set threshold. This avoids the need to re-encode and transmit unchanged portions of the video frame (’229 Patent, Abstract; col. 2:1-8).
- Technical Importance: By operating at the macroblock level, the method simplified the segmentation process and reduced the overhead associated with coding shape information, making object-based coding more practical for low-bitrate, real-time applications (Compl. ¶36).
Key Claims at a Glance
- The complaint asserts at least independent claim 1 (Compl. ¶40).
- Essential elements of claim 1 include:
- A method for coding an image signal with a stationary background region and an object region.
- Dividing the background and object regions on a macroblock basis using the difference between a current and previous frame.
- Coding shape information for the object region.
- Reusing coded macroblock information from a previous frame for a current frame macroblock in the stationary background region when the pixel value difference is at or below a threshold.
Multi-Patent Capsule: U.S. Patent No. 6,519,005
- Patent Identification: U.S. Patent No. 6,519,005, "Method of Concurrent Multiple-Mode Motion Estimation For Digital Video," issued February 11, 2003 (Compl. ¶58).
- Technology Synopsis: The patent addresses the highly computationally intensive process of motion estimation in video compression standards like MPEG, where an encoder searches for matching blocks between frames to reduce redundancy (Compl. ¶60; ’005 Patent, col. 3:25-39). The invention provides a method and system to perform searches for multiple different prediction modes (e.g., frame-based, field-based) concurrently within a single process, making the selection of the most efficient coding mode faster and less expensive than performing separate, sequential searches for each mode (’005 Patent, Abstract).
- Asserted Claims: At least independent claim 1 (Compl. ¶65).
- Accused Features: The complaint alleges that Netflix's H.264 encoders, which perform motion estimation to compress video, infringe the patent (Compl. ¶64, ¶68).
III. The Accused Instrumentality
Product Identification
The accused instrumentalities are collectively identified as the "Netflix Service," which includes its system for tracking media presentations, and its use of the VP9 and H.264/AVC video codecs for encoding and streaming video (Compl. ¶2, ¶16, ¶39, ¶64).
Functionality and Market Context
- The complaint describes the accused service as a system that tracks user viewing through a client-side player and a backend server infrastructure. A "heartbeat" is allegedly sent from the player to a Netflix server at predetermined intervals to report the current playback position (Compl. ¶23). This viewing history, including duration and position, is stored in databases such as Cassandra or memcached (Compl. ¶24).
- The complaint alleges a separation of functions: a "first computer system" (e.g., the Netflix website) handles user interaction and tracking, while a "second computer system" (the Netflix Open Connect content delivery network, or CDN) is responsible for streaming the actual video data to the user (Compl. ¶25). The complaint cites a conceptual data model diagram from a Netflix presentation to illustrate how viewing history records are maintained. This diagram shows
ViewingRecorddata structures containing fields likeDurationandLast Modified Timestamp(Compl. ¶18, p. 6). - The service's video compression functionality relies on codecs like VP9 and H.264. The complaint alleges these codecs perform macroblock-based coding by dividing video frames into blocks and using segmentation to group static background and moving foreground regions (Compl. ¶41, ¶43). A screenshot from a Netflix sample file on GitHub is provided to show a video frame overlaid with a grid representing these blocks (Compl. ¶42, p. 22).
IV. Analysis of Infringement Allegations
8,407,609 Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| providing a corresponding web page to the user's computer for each digital media presentation... | Netflix provides a web page on netflix.com for each media presentation to be delivered. | ¶19 | col. 2:15-18 |
| providing identifier data to the user's computer... | Netflix provides identifier data, such as a ViewRecordKey and CustomerID, which identifies the user and the program being watched. |
¶20, ¶22 | col. 2:18-19 |
| providing an applet to the user's computer... wherein the applet is operative by the user's computer as a timer | Netflix provides a script that tracks viewing time, reflecting the operation of a background timer. | ¶21 | col. 2:19-22 |
| receiving at least a portion of the identifier data from the user's computer responsively to the timer applet each time a predetermined temporal period elapses... | Netflix's servers receive a "heartbeat" from the player at predetermined intervals, which contains session and user information to indicate the current playback position. | ¶22, ¶23 | col. 2:22-25 |
| storing data indicative of the received at least portion of the identifier data... | Netflix stores the user's viewing history, including duration and position, in its backend systems (e.g., Cassandra, memcached). | ¶24 | col. 2:25-27 |
| each provided webpage causes corresponding digital media presentation data to be streamed from a second computer system distinct from the first computer system... | The Netflix website (first system) causes video to be streamed from the Netflix Open Connect CDN (second system), which is described as distinct and independent. | ¶25 | col. 2:27-31 |
| the stored data is indicative of an amount of time the digital media presentation data is streamed... | The stored viewing data, including "duration" and "position," indicates the amount of time the content has been streamed to the user's computer from the CDN. A provided "Command Use Cases" table shows a "Continue (heartbeat)" operation that updates the ActiveSession. |
¶26; ¶24, p.13 | col. 2:31-34 |
Identified Points of Contention
- Scope Questions: A central question for claim construction will be whether a client-side JavaScript "script," as alleged in the complaint, constitutes an "applet" as that term is used in the patent. The patent's 2008 priority date places it in an era where "applet" often referred to specific technologies like Java Applets, potentially creating a scope dispute with modern web technologies.
- Technical Questions: The complaint alleges the "heartbeat" function satisfies the "timer applet" limitation. However, it also describes the heartbeat's purpose as allowing a user to resume playback after a crash (Compl. ¶23). A key technical question is whether this crash-recovery mechanism operates "responsively to the timer applet each time a predetermined temporal period elapses" for the primary purpose of time-tracking as required by the claim, or if its primary function and operation are technically distinct.
6,584,229 Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| a method... for macroblock-based object oriented coding of a image signal... having a stationary background region and an object region... | Netflix uses the VP9 codec, which is alleged to be a macroblock-based object-oriented coding method. VP9 allegedly uses segmentation to group blocks into static background and moving foreground regions. A diagram is used to show this distinction (Compl. ¶43, p. 23). | ¶41, ¶43 | col. 4:3-6 |
| reusing said coded macroblock information from a previous frame for a current frame macroblock... | The accused devices use segments for static regions of inter blocks that are encoded from a fixed reference frame. This includes using a "skip" flag when the residual between frames is zero, which reuses the coded pixel information of the previous frame block. | ¶48, ¶51 | col. 4:10-12 |
| when a difference between a pixel value of the macroblock of the current frame and that of the macroblock of the previous frame... is equal to or below a threshold value. | The decision to skip coding is based on a difference in pixel value between the current and previous macroblock. The complaint cites VP9 source code showing comparisons to thresholds ac_thr and dc_thr to determine whether a block can be skipped (Compl. ¶53, p. 29). |
¶52, ¶53 | col. 4:12-16 |
Identified Points of Contention
- Scope Questions: Does the concept of a "stationary background region" as described in the patent, which implies a literally static area, read on the more general "segmentation" feature in a modern codec like VP9? VP9 segmentation can group any blocks with shared characteristics (e.g., same quantizer), not just those that are static, raising a question of mismatched scope.
- Technical Questions: Does the VP9 "skip" mechanism function as the claimed "reusing" of "coded macroblock information"? The complaint asserts they are equivalent, but the defense may argue that setting a "skip flag" and using a motion vector to point to a reference block is a technically distinct process from the specific method of reusing previously coded data as detailed in the '229 patent's specification.
V. Key Claim Terms for Construction
Patent '609
- The Term: "applet"
- Context and Importance: This term is critical because the infringement allegation hinges on equating a modern JavaScript "script" with the term "applet" from a patent with a 2008 priority date. Practitioners may focus on this term because its meaning has evolved, and a narrow, time-bound definition could defeat the infringement claim.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The patent specification describes the "applet" in functional terms as being "operative by the user's computer as a timer" (’609 Patent, col. 2:21-22). A party could argue that any client-side code that performs this timing function, regardless of its specific technological implementation (e.g., script vs. compiled code), falls within the claim's scope.
- Evidence for a Narrower Interpretation: A party could argue that in the 2008 timeframe, a person of ordinary skill in the art would have understood "applet" to refer to a specific type of client-side program, such as a Java Applet, which is distinct from an interpreted script. The lack of the term "script" in the patent could be used to argue that scripts were intentionally excluded from the claim's scope.
Patent '229
- The Term: "reusing said coded macroblock information from a previous frame"
- Context and Importance: The infringement theory depends on this phrase covering the "skip" mechanism in the VP9 codec. The dispute will center on whether telling a decoder to "skip" a block and use a reference is the same as actively "reusing" the "coded information" itself.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The patent's objective is to "reduce the size of video information to be transmitted" (’229 Patent, col. 1:19-21). An argument could be made that any technique that achieves this by referencing a prior frame's content instead of sending new data, such as a skip mode, constitutes "reusing" the information in a functional sense.
- Evidence for a Narrower Interpretation: The claim recites "reusing... coded macroblock information." A party could argue this requires a specific action of copying or re-injecting the actual coded bits from the previous frame's data structure, whereas a skip flag is merely a pointer or instruction to the decoder. The detailed description of how the background mosaic is generated and reused may provide a more limited, specific definition of the "reusing" step (’229 Patent, col. 3:55-62).
VI. Other Allegations
Indirect Infringement
The complaint focuses on allegations of direct infringement by Netflix under 35 U.S.C. § 271(a) (Compl. ¶28, ¶54, ¶74). It does not plead separate counts for indirect infringement or allege the specific elements of knowledge and intent required to support claims of inducement or contributory infringement.
Willful Infringement
The complaint does not explicitly allege "willful" infringement in its factual allegations. However, the prayer for relief requests an award of enhanced damages under 35 U.S.C. § 284, which is the statutory remedy for willful or egregious infringement (Compl. p. 42, ¶e). The complaint does not plead facts concerning pre-suit knowledge of the patents or other conduct that might support such an award.
VII. Analyst’s Conclusion: Key Questions for the Case
- Threshold Viability: The most significant issue is procedural: given that the asserted claims of all three patents were cancelled in post-grant IPR proceedings after this complaint was filed, the primary question for the court is whether the plaintiff has any remaining basis to pursue this infringement action.
- Definitional Scope and Evolution: For the '609 patent, a core issue is one of technological translation: can the term "applet," rooted in the technology of 2008, be construed to cover the modern JavaScript "scripts" central to the accused Netflix service, or is there a dispositive mismatch between the claimed technology and the accused implementation?
- Functional Equivalence: For the '229 and '005 patents, a key evidentiary question is one of functional mapping: does the operation of modern, standardized video codecs like VP9 and H.264, with their complex systems of flags, modes, and prediction units, perform the specific methods recited in the claims, or are there fundamental differences in their technical steps and decision-making logic that place them outside the scope of the patents?