throbber
Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 1 of 47
`
`
`
`IN THE UNITED STATES DISTRICT COURT
`FOR THE DISTRICT OF COLORADO
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case No. 1:19-CV-00278-RBJ
`JURY TRIAL DEMANDED
`
`
`UNILOC 2017 LLC,
`A Delaware Corporation,
`
`
`
`
`Plaintiff,
`
`
`
`v.
`
`
`
`Defendant.
`
`
`SLING TV L.L.C.,
`A Colorado limited liability company,
`
`
`
`_____________________________________________________________________________
`
`
`FIRST AMENDED COMPLAINT FOR PATENT INFRINGEMENT
`AND JURY DEMAND
`_____________________________________________________________________________
`Plaintiff Uniloc 2017 LLC (“Uniloc”), by and through the undersigned counsel, hereby
`files this First Amended Complaint and makes the following allegations of patent infringement
`relating to U.S. Patent Nos. 6,519,005, 6,895,118, 9,721,273 and 8,407,609 against Sling TV
`L.L.C. (“Sling TV”) and alleges as follows upon actual knowledge with respect to itself and its
`own acts and upon information and belief as to all other matters:
`NATURE OF THE ACTION
`1.
`This is an action for patent infringement. Uniloc alleges that Sling TV infringes
`U.S. Patent Nos. 6,519,005 (the “’005 patent”), 6,895,118 (the “’118 patent”) 9,721,273 (the
`“’273 patent”) and 8,407,609 (the “’609 patent”) copies of which are attached hereto as Exhibits
`A-D (collectively, “the Asserted Patents”).
`2.
`Uniloc alleges that Sling TV directly infringes the Asserted Patents by making,
`using, offering for sale, selling and/or importing products and services, such as Sling TV that: (1)
`perform a method for motion coding an uncompressed digital video data stream; (2) perform a
`method of coding a digital image comprising macroblocks in a binary data stream (3) perform a
`method for providing content via a computer network and a computer system and (4) track digital
`
`
`
`1
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0001
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 2 of 47
`
`media presentations. Uniloc seeks damages and other relief for Sling TV’s infringement of the
`Asserted Patents.
`
`THE PARTIES
`3.
`Uniloc 2017 LLC is a Delaware corporation having places of business at 1209
`Orange Street, Wilmington, Delaware 19801 and 620 Newport Center Drive, Newport Beach,
`California 92660.
`4.
`Uniloc holds all substantial rights, title and interest in and to the Asserted Patents.
`5.
`Upon information and belief, Defendant Sling TV, L.L.C., is Colorado corporation
`with an office at 9601 S. Meridian Blvd., Englewood, Colorado 80112. Sling TV may be served
`through its registered agent for service: Timothy Allen Messner at 9601 S. Meridian Blvd.,
`Englewood, Colorado 80112
`
`JURISDICTION AND VENUE
`6.
`This action for patent infringement arises under the Patent Laws of the United
`States, 35 U.S.C. § 1 et. seq. This Court has original jurisdiction under 28 U.S.C. §§ 1331 and
`1338.
`
`7.
`This Court has both general and specific jurisdiction over Sling TV because Sling
`TV is a Colorado corporation and has committed acts within Colorado giving rise to this action
`and has established minimum contacts with this forum such that the exercise of jurisdiction over
`Sling TV would not offend traditional notions of fair play and substantial justice. Sling TV,
`directly and through subsidiaries, intermediaries (including distributors, retailers, franchisees and
`others), has committed and continues to commit acts of patent infringement in this District, by,
`among other things, making, using, testing, selling, licensing, importing and/or offering for
`sale/license products and services that infringe the Asserted Patents.
`8.
`Venue is proper in this district and division under 28 U.S.C. §§ 1391(b)-(d) and
`1400(b) because Sling TV has committed acts of infringement in Colorado.
`COUNT I – INFRINGEMENT OF U.S. PATENT NO. 6,519,005
`The allegations of paragraphs 1-8 of this First Amended Complaint are
`
`9.
`
`
`
`2
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0002
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 3 of 47
`
`incorporated by reference as though fully set forth herein.
`10.
`The ’005 patent, titled “Method of Concurrent Multiple-Mode Motion Estimation
`For Digital Video,” issued on February 11, 2003. A copy of the ’005 patent is attached as Exhibit
`A. The priority date for ’005 patent is April 30, 1999. The inventions of the ’005 patent were
`developed by inventors at Koninklijke Philips Electronics N.V.
`11.
`Pursuant to 35 U.S.C. § 282, the ’005 patent is presumed valid.
`12.
`Claim 1 of the ’005 patent reads as follows:
`
`
`
`
`
`1. A method for motion coding an uncompressed digital video data stream, including the
`steps of:
`
`comparing pixels of a first pixel array in a picture currently being coded with pixels of a
`plurality of second pixel arrays in at least one reference picture and concurrently
`performing motion estimation for each of a plurality of different prediction modes in order
`to determine which of the prediction modes is an optimum prediction mode;
`
`determining which of the second pixel arrays constitutes a best match with respect to the
`first pixel array for the optimum prediction mode; and,
`
`generating a motion vector for the first pixel array in response to the determining step.
`
`13.
`The invention of claim 1 of the ’005 patent concerns “digital video compression”
`and, more particularly, “a motion estimation method and search engine for a digital video encoder
`that is simpler, faster, and less expensive than the presently available technology permits, and that
`permits concurrent motion estimation using multiple prediction modes.” ’005 patent at 1:6-11.
`14.
`Data compression is the encoding of data using fewer “bits” than the original
`representation. Data compression is useful because it reduces the resources required to store and
`transmit data, and allows for faster retrieval and transmission of video data.
`15.
`In the context of digital video with which the ’005 patent is concerned, a video
`codec is electronic circuitry or software that compresses and/or decompresses digital video for
`storage and/or transmission. Video codecs refer to video encoders and decoders.
`16.
`Prior to digital video, video was typically stored as an analog signal on magnetic
`tape. Then, around the time of the development of compact discs (CDs), it became more feasible
`
`
`
`3
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0003
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 4 of 47
`
`to store and convey video in digital form. However, a large amount of storage and
`communications bandwidth was needed to record and convey raw video. Thus, what was needed
`was a method to reduce the amount of data used to represent the raw video. Accordingly,
`numerous engineers and many companies worked to develop solutions for compressing digital
`video data.
`17.
`“Practical digital video compression started with the ITU H.261 standard in 1990.”
`A Brief History of Video Coding, ARC International, Marco Jacobs and Jonah Probell (2007).
`Numerous other video compression standards thereafter were created and evolved. The
`innovation in digital video compression continues to this day.
`18.
`In April 1999, at the time of the invention of claim 1 of the ’005 patent, “different
`compression algorithms ha[d] been developed for digitally encoding video and audio information
`(hereinafter referred to generically as the ‘digital video data stream’) in order to minimize the
`bandwidth required to transmit this digital video data stream for a given picture quality.” ’005
`patent at 1:11-17.
`19.
`At the time of the invention of claim 1 of the ’005 patent, the “most widely
`accepted international standards [for compression of digital video for motion pictures and
`television were] proposed by the Moving Pictures Expert Group (MPEG).” ’005 patent at 1:20-
`24. Two such standards that existed at the time of the invention were MPEG-1 and MPEG-2.
`20.
`In accordance with MPEG-1 and MPEG-2—and other compression standards for
`digital video—the video stream is “encoded/compressed . . . using a compression technique
`generally known as ‘motion coding.’” ’005 patent at 1:40-44. More particularly, rather than
`transmitting each video frame in its entirety, the standards at the time used motion estimation for
`only those parts of sequential pictures that varied due to motion, where possible. ’005 patent at
`1:45-48.
`21.
`In general, the picture elements or “pixels” within a block of a picture are specified
`relative to those of a previously transmitted reference or “anchor” picture using differential or
`“residual” video, as well as so-called “motion vectors” that specify the location of an array (e.g.,
`
`
`
`4
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0004
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 5 of 47
`
`16-by-16) of pixels or “macroblock” within the current picture relative to its original location
`within the anchor picture. ’005 patent at 1:48-55. A macroblock is a unit in image and video
`compression that typically consists of 16x16 samples of pixels. A motion vector is used to
`represent a macroblock in a picture based on the position of that same or similar macroblock in
`another picture (known as the reference picture).
`22.
`At the time of the invention, there were various “prediction modes” that could be
`used for each macroblock that was to be encoded. ’005 patent at 3:7-11. Prediction modes are
`techniques for predicting image pixels or groups of pixels, and examples of prediction modes in
`MPEG include frame and field prediction modes. ’005 patent at 4:64-67. Moreover, at that time,
`motion coding allowed for the use of different prediction modes within the same frame, but
`required one prediction mode to be specified for a macroblock in advance of performing the
`motion estimation that results in a motion vector. ’005 patent at 3:12-15. Given that there are
`multiple prediction modes, the optimum prediction mode could not be known prior to encoding
`unless multiple motion estimations were performed on each macroblock sequentially. ’005 patent
`at 3:15-20. Then, after determining the optimum prediction mode based on multiple and
`sequential motion estimations, the optimal prediction mode would be selected and only then
`would the motion estimation that results in the generation of a motion vector occur.
`23.
`In this prior art method, numerous and sequential motion estimations would have
`to run to find the optimal prediction mode. Only after these sequential motion estimations have
`been run and the optimal prediction mode selected could the motion estimation that results in the
`motion vector for the macroblock be carried out. Because “motion estimation usually consists of
`an exhaustive search procedure in which all 256 pixels of the two corresponding macroblocks are
`compared, and which is repeated for a large number of macroblocks,” having to sequentially run
`numerous motion estimations to find the optimal prediction mode and only then performing the
`motion estimation using the optimal prediction mode to generate the motion vector is very
`computationally intensive, complex, inefficient, lengthy and cost ineffective. ’005 patent at 3:20-
`43.
`
`
`
`5
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0005
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 6 of 47
`
`24.
`As demonstrated below, the claimed invention of claim 1 of the ’005 patent
`provides a technological solution to the problem faced by the inventors, namely concurrently
`determining the optimal prediction mode while performing motion estimation along with
`generating the motion vector more simply, faster and in a less expensive way.
`25.
`As detailed in the specification, the invention of claim 1 of the ’005 patent
`provides a technological solution to the problems faced by the inventors:
`
`
`Based on the above and foregoing, it can be appreciated that there presently exists a need
`in the art that overcomes the disadvantages and shortcomings of the presently available
`technology. The present invention fulfills this need in the art by performing motion coding
`of an uncompressed digital video sequence in such a manner that the prediction mode for
`each individual macroblock is determined as part of the motion estimation process, along
`with the actual motion vector(s), and need not be specified in advance; only the type of
`picture currently being coded need be known. Since the latter must be determined at a
`higher level of video coding than the macroblock layer, this method makes possible a much
`more efficient, as well as optimal, degree of video compression than would otherwise be
`possible using conventional methods of motion estimation. Further, the present invention
`provides a novel scheme for concurrently searching for the optimum macroblock match
`within the appropriate anchor picture according to each of a plurality of motion prediction
`modes during the same search operation for the given macroblock, without the need for a
`separate search to be performed on the same macroblock for each such mode. Since this
`search procedure is the single most complex and expensive aspect of motion estimation, in
`both time and hardware, such a method as the present invention will clearly result in a
`more efficient video image coding and compression than would otherwise be possible
`given the aforementioned practical limitations of the presently available technology.
`
`’005 patent at 3:40-67 (emphasis added).
`26.
`The technological solution of claim 1 of the ’005 patent is further shown in Figure
`3 which visually depicts a motion estimation process for concurrently performing motion
`estimation for frame prediction mode and field prediction modes for frame pictures:
`
`
`
`6
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0006
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 7 of 47
`
`146X19 PICTLFE
`TOE HELD
`
`ille.43014 MC11.16_
`601101,4 FEW
`
`EARN 041t
`16 x 8 PIXELS
`
`VW EVA
`16 6 FURS
`
`6E411641E10E
`16411P609.6
`
`SEAR61,EMME
`16x8PDES
`
`4
`
`CODED
`MOORS 26004
`IOP HELD
`
`45
`
`46
`
`NEED
`MACF103LOCK
`MOH FIU
`
`RICA METRICS
`FOR CRAM MATCH
`
`FIG. 3
`
`47
`
`13
`
`EEST VATC41
`SG FRAME
`MV IRON
`BEST MATCH
`MBTRAME
`10 ODD
`
`/19
`6E57 MATCH
`MR TOP HELD
`PC417 FISH
`MST MAYA
`MB TOP FEW
`PI%B0FFIELD
`
`40
`EST MAIM
`6488aT FEED
`pITCH1E19
`REST WEN
`FIEW
`MEN Rill
`
`47
`
`267 MAD NED
`
`47
`
`WIEN
`< —1.PiL BED PED
`gf MA)
`
`Kg MUCH
`< — 0- HUME')
`MOT FED)
`
`
`
`
`
`27.
`Claim 1 of the ’005 patent improves the functionality of motion coding in video
`compression by performing the concurrent determination of the optimal prediction mode while
`performing motion estimation along with generating the motion vector. The claimed invention of
`claim 1 of the ’005 patent also was not well-understood, routine or conventional at the time of the
`invention. Rather, as set forth below, the claimed invention was a departure from the
`conventional ways of performing motion coding in video compression.
`28.
`That the ’005 patent improves the functioning of motion coding in video
`compression and was a departure from conventional ways of carrying out this functionality cannot
`be disputed:
`
`
`Based on the above and foregoing, it can be appreciated that there presently exists a need
`in the art that overcomes the disadvantages and shortcomings of the presently available
`technology. The present invention fulfills this need in the art by performing motion coding
`of an uncompressed digital video sequence in such a manner that the prediction mode for
`each individual macroblock is determined as part of the motion estimation process, along
`with the actual motion vector(s), and need not be specified in advance; only the type of
`picture currently being coded need be known. Since the latter must be determined at a
`higher level of video coding than the macroblock layer, this method makes possible a much
`more efficient, as well as optimal, degree of video compression than would otherwise be
`possible using conventional methods of motion estimation. Further, the present invention
`provides a novel scheme for concurrently searching for the optimum macroblock match
`within the appropriate anchor picture according to each of a plurality of motion prediction
`modes during the same search operation for the given macroblock, without the need for a
`separate search to be performed on the same macroblock for each such mode. Since this
`search procedure is the single most complex and expensive aspect of motion estimation, in
`
`
`
`7
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0007
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 8 of 47
`
`both time and hardware, such a method as the present invention will clearly result in a
`more efficient video image coding and compression than would otherwise be possible
`given the aforementioned practical limitations of the presently available technology.
`
`’005 patent at 3:40-67 (emphasis added).
`
`The present invention relates generally to digital video compression, and, more
`particularly, to a motion estimation method and search engine for a digital video encoder
`that is simpler, faster, and less expensive than the presently available technology permits,
`and that permits concurrent motion estimation using multiple prediction modes.
`
`’005 patent at 1:7-11 (emphasis added).
`
`In either case, the methods and architectures of the present invention result in a means of
`significantly improving the video compression efficiency and, hence, the resulting picture
`quality, without the need for either greater hardware costs or higher computational
`complexity.
`
`’005 patent at 14:62-67 (emphasis added).
`
`In all known motion estimation methods, the prediction mode must be specified for every
`macroblock before the motion estimation, with its constituent search, is performed.
`However, in accordance with the present invention, in one of its aspects, the motion
`estimation may be performed, in a frame picture, forth both frame and field prediction
`modes simultaneously, during the same search for the anchor picture.
`
`’005 patent at 8:6-13 (emphasis added).
`29.
`In light of the foregoing, and the general knowledge of a person of ordinary skill in
`the art, a person of ordinary skill in the art reading the ’005 patent and its claims would
`understand that the patent’s disclosure and claims are drawn to solving a specific, technical
`problem arising in the field of digital video compression. Moreover, a person of ordinary skill in
`the art would understand that the claimed subject matter of the ’005 patent presents advancements
`in the field of digital video compression, and more particularly to a motion estimation method and
`search engine for a digital video encoder that is simpler, faster, and less expensive than prior art
`technology, and that permits concurrent motion estimation using multiple prediction modes. A
`person of ordinary skill in the art would understand that claim 1 of the ’005 patent is directed to a
`method for motion coding an uncompressed digital video data stream, which provides concurrent
`motion estimation using multiple prediction modes along with the generation of motion vectors.
`Moreover, a person of ordinary skill in the art would understand that claim 1 of the ’005 patent
`
`
`
`8
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0008
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 9 of 47
`
`contains that corresponding inventive concept.
`30.
`Upon information and belief, Sling TV makes, uses, offers for sale, and/or sells in
`the United States and/or imports into the United States products and services such as its H.264
`encoders that practice a method for motion coding an uncompressed digital video data stream
`(collectively the “Accused Infringing Devices”).
`31.
`Upon information and belief, the Accused Infringing Devices infringe at least
`claim 1 in the exemplary manner described below.
`32.
`The Accused Infringing Devices provide a method for motion coding an
`uncompressed (pixel level) digital video data stream. The Accused Infringing Devices receive
`input video streams which are then encoded and/or transcoded using at least the H.264 (AVC)
`standard. The H.264 standard is a widely used video compression format with decoder support on
`web browsers, TVs and other consumer devices. Moreover, H.264 uses motion compressor and
`estimator for motion coding video streams. The Accused Infringing Devices receive input video
`streams which are then encoded and/or transcoded using at least the H.264 standard. H.264 uses
`motion compressor and estimator for motion coding video streams.
`
`
`Sling TV Stream Details
`
`First off, I found out that the streams were of differing quality depending on what channel you were watching. Sling
`
`has apparently tailored different encoding profiles to different types of content which is nice. They also are using
`
`x264 for video encoding, which I did not expect.
`
`Sadly, my suspicions were confirmed, Sling (at least for the PC client) is not offering 1080p and surround sound. It
`
`seems to top off at 720p and is always only stereo.
`
`Below I have listed the encoding profile that each channel is using. As you are probably aware, they are adaptive
`
`quality and jump between various qualities depending on how much bandwidth is available at any given time. For
`
`simplicity sake, I've only listed the highest quality available for each channel. If you're curious about the other
`
`qualities, ask in the comments. Each channel has about 10 different streams available to it, so there's certainly lots of
`
`wiggle room.
`
`
`Source: https://www.cuttingcords.com/home/2015/2/9/sling-tv-technical-details
`
`
`
`
`
`
`9
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0009
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 10 of 47
`
`X26/
`
`x264 is a free software library and application for encoding video
`streams into the H.264/MPEG-4 AVC compression format, and is
`released under the terms of the GNU GPL.
`
`Source: http://www.videolan.org/developers/x264.html
`
`H.264 Uses Predictive Coding
`For all remaining pictures of a sequence or between random access points, typically "Inter" coding is used.
`Inter coding employs prediction (motion compensation) from other previously decoded pictures. The encod-
`ing process for Inter prediction (motion estimation) consists of choosing motion data, comprising the reference
`picture, and a spatial displacement that is applied to all samples of the block. The motion data which are trans-
`mitted as side information are used by the encoder and decoder to simultaneously provide the Inter prediction
`signal.
`
`
`
`
`Source: https://tech.ebu.ch/publications/trev_293-Schaefer, p3
`
`
`0.6
`
`Overview of the design characteristics
`
`
`
`This subclause does not form an integral part of this Recommendation !International Standard_
`
`The coded representation specified in the syntax is designed to enable a high compression capability for a desired image
`quality. With the exception of the trans ono bypass mode of operation for lossless coding in the High 4:4:4 Intro,
`CAVLC 4:4:4 Intro, and High 4:4:4 Predictive profiles, and the I PCM mode of operation in all profiles, the algorithm
`is typically not lossless, as the exact source sample values are typically not preserved through the encoding and
`decoding processes. A numher of techniques may be used to achieve highly efficient compression Encoding algorithms
`(not specified in this Recommendation I International Standard) may select between inter and Mira coding for block-
`shaped regions of each picture_ Inter coding uses motion vectors for block-based inter prediction to exploit temporal
`statistical dependencies between different pictures. Intra coding uses various spatial prediction modes to exploit spatial
`statistical dependencies in the soiree signal for a single picture_ Motion vectors and intro prediction modes may be
`specified for a variety of block sizes in the picture_ The prediction residual is then further compressed using a transform
`to remove spatial correlation inside the transform block before it is quantised, producing an irreversible process that
`typically discards less important visual information while forming a close approximation to the source samples_ Finally,
`the motion vectors or infra prediction modes are combined with the quaadised transform coefficient information and
`encoded using either variable length coding or arithmetic coding.
`
`0.6.1
`
`Predictive coding
`
`This subclause does not form an integral part of this Recommendation International Standard_
`
`Because of the conflicting requirements of random access and highly efficient compression, two main coding types are
`specified. Intro coding is done without reference to other picture& Intro coding may provide access points to the coded
`sequence where decoding can begin and continue correctly, but typically also shows only moderate compression
`efficiency. Inter coding (predictive or bi-predictive) is mare efficient using inter prediction of each block of sample
`values from some previously decoded picture selected by the encoder In contrast to some other video coding standards,
`pictures coded using bi-predictive inter prediction may also be used as references for inter coding of other pictures.
`
`The application of the three coding types to pictures in a sequence is flexible, and the order of the decoding process is
`generally not the same as the order of the source picture capture process in the encoder or the output order from the
`decoder for display_ The choice is left to the encoder and will depend on the requirements of the application_ The
`
`decoding order is specified such that the decoding of pictures that use inter-picture prediction follows later in decoding
`order than other pictures that are referenced in the decoding process
`
`Source: H.264 Standard (03-2010) at pp. 3-4
`
`
`
`
`
`10
`
`
`
`
`
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0010
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 11 of 47
`
`
`H.264 Encoder Block Diagram
`
`Transform'
`Scaling/ Ouant.
`
`Scaling/ Inv .Ouant ,
`Inv. Transform
`
`Infra (Spatial)
`Prediction
`
`Motion Coma.
`
`Motion Estimation
`
`Deblocking
`
`Decoded %.ildeo
`
`Motion Vector Info
`
`oC
`
`Entropy
`Coder
`
`e
`
`H.264/AVC Encoder [2]
`
`
`Source: https://courses.cs.washington.edu/courses/csep590a/07au/lectures/rahullarge.pdf
`
`
`33.
`The Accused Infringing Devices provide a method for comparing pixels of a first
`pixel array (e.g., a macroblock) in a picture currently being coded with pixels of a plurality of
`second pixel arrays in at least one reference picture and concurrently performing motion
`estimation for each of a plurality of different prediction modes in order to determine which of the
`prediction modes is an optimum prediction mode.
`34.
`H.264 uses different motion estimation modes in inter-frame prediction. These
`modes are commonly referred to as inter-frame prediction modes, or inter modes. Each inter
`mode involves partitioning the current macroblock into a different combination of sub blocks, and
`selecting the optimum motion vector for the current macroblock based on the partition. The inter-
`frame prediction modes, or inter modes, can be further categorized by the number and position of
`the reference frames, as well as the choice of integer pixel, half pixel and quarter pixel values in
`motion estimation. The Sling TV H.264 encoders concurrently perform motion estimation of a
`macroblock for all inter-modes and select the most optimum prediction mode with least rate
`distortion cost.
`
`
`
`
`
`11
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0011
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 12 of 47
`
`Mode Decision
`1
`
`16x16 luma Macroblock
`
`1
`
`1
`
`Intra Modes
`(For all frames)
`
`• Nine 4x4 Modes
`• Four 16x16 Modes
`
`Inter Modes (Only
`for P and B-frames)
`
`• Macroblock partitions:
`16x16,16x8,8x16,
`8x8,8x4,4x8,4x4
`• Use of reference frames
`• Use of integer, half and
`quarter pixel motion
`estimation
`
`• Each mode (inter or intra) has an associated Rate-Distortion (RD)
`cost.
`• Encoder performs mode decision to select the mode having the least
`
`RD cost. This process is computationally intensive.
`
`Source: https://courses.cs.washington.edu/courses/csep590a/07au/lectures/rahullarge.pdf, p. 30
`35.
`H.264 provides a hierarchical way to partition a macroblock, with the available
`partitions shown in the following two figures. An exemplary inter-frame prediction mode, or inter
`mode, can be for a macroblock to be partitioned to encompass a 16x8 sub block on the left, and
`two 8x8 sub blocks on the right.
`
`30
`
`
`Macroblock partitions for inter-frame prediction modes
`
`Macroblock Partitions
`
`8x8
`
`8x8
`
`8x8
`
`8x8
`
`16x8
`
`16x8
`
`8x16
`
`8x16
`
`16x16 blocks can
`be broken into
`blocks of sizes
`8x8, 16x8, or 8x16.
`
`16x16
`
`16x16
`
`16x16
`
`4x4
`
`4x4
`
`4x4
`
`4x4
`
`8x4
`
`8x4
`
`4x8
`
`4x8
`
`8x8 blocks can be
`broken into blocks
`of sizes 4x4, 4x8,
`or 8x4.
`
`8x8
`
`8x8
`
`8x8
`
`
`
`Source: https://courses.cs.washington.edu/courses/csep590a/07au/lectures/rahullarge.pdf, p. 4
`
`H.264 provides macroblock partitions for inter-frame prediction modes
`
`4
`
`
`
`12
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0012
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 13 of 47
`
`1 macroblock partition of
`16*16 luma samples and
`associated chroma samples
`
`2 macroblock partitions of
`1628 luma samples and
`associated chroma samples
`
`2 macroblock partitions of
`8216 luma samples and
`associated chroma samples
`
`4 sub-macroblocks of
`828 luma samples and
`associated chroma samples
`
`Macroblock
`partitions
`
`0
`
`0
`
`0
`
`1
`
`0
`
`1
`
`3
`
`1 sub-macroblock partition
`of 8•8 luma samples and
`associated chroma samples
`
`2 sub-macroblock partitions
`of 8.4 luma samples and
`associated chroma samples
`
`2 sub-macroblock partitions
`of 4*8 luma samples and
`associated chroma samples
`
`4 sub-macroblock partitions
`of 4'4 luma samples and
`associated chroma samples
`
`Sub-macroblock
`partitions
`
`0
`
`0
`
`1
`
`0
`
`1
`
`0
`
`1
`
`3
`
`H.264(091LF139
`
`Figure 6-9 — Macroblock partitions, sub-macroblock partitions, macroblock partition scans,
`and sub-macroblock partition scans
`
`
`
`
`
`Source: H.264 Standard (03-2010) at p. 26
`36.
`The optimum prediction mode as chosen for the current macroblock is embedded
`in the compressed bit stream of H.264, as shown in the following two syntaxes.
`
`Macroblock prediction syntax in H.264
`
`
`
`13
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0013
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 14 of 47
`
`7.3.5.1
`
`31acroblock prediction syntax
`
`mb_pred( mb_type ) f
`Intl:. _4x4 I
`if( MbPartPredModc( mb_type. U)
`MbPartPredMode( mb type, 11 i
`= Intra 1 6x16 ) i.
`if( MbPartPredMode( mb_type, u) = = Intra_4x4 )
`for( luma4x4131k1dx=0; lurna4x4Blkidx<16; luma4x4Bliddx++ )
`prev_Intrsi414_pred_mode_flagI luma4x4B1kIdx I
`
`if( !preV_intra4x4_pred_mode_flag) luma4x41311t1dx I )
`rem 1ntra4x4_pred model luma4x41311ddx j
`
`)
`intra_chroma_pred_mode
`) else if(IMbPartPredMode( mb_type. 01 != Direct) 1
`for( mbPartidx = 0; mbPartidx <NumMbPart( mb_type ); mbPartldtrf-f)
`if( ( num ref idx_10 active_minusl > 0 I
`inh-fieijuje.-0,,iingilv , ) 4
`
`IMbPartPredMode( mb type. mbPartik)1!= Prcd LI )
`
`ref idr 101 mbPartIdx 1
`for( mbPartldx = 0; mbPartldx <NumMbPart( mb_type); mbPartidx++)
`if( ( num_ref idx_I 1 _activein hats! > 0 I I
`
`C Descriptor
`
`2 U(I) I ae(v)
`
`2 u(3) I ae(v)
`
`2 ue(v) I.ae(v)
`
`2 te(v) I ae(v)
`
`MbPartPredMode( mb- type, mbPartldx != Pred_LO )
`ref ult- III MbPatadx I
`for( mbPartldx = 0; mbPartIdx <NumMbPart( mb_type ); mbPartldx-H-)
`ifl bPartPredMode ( mb_type. mbPartldx ) != Pred_L 1 )
`or( compfcbc = 0; compldx < 2; compldx 4" )
`mvd_101 mbPartldx II 0 II compldx I I
`for( mbPartldx = 0; mbPartldx <NurnMbPart( mb type ); mbPartidx++)
`if MbPartPredMode( mb_type, mbPartldx . != Pred_LO )
`for( compldx = 0; compldx < 2; compIdx++ )
`mvd_111. mbPartldx II 0 II compIdx I
`
`2 te(v) I ae(v)
`
`2
`
`se(v) 1 ae(v)
`
`2 sc(v) I ac(v)
`
`;
`
`Source: H.264 Standard (03-2010) at p. 57
`
`
`
`
`
`
`
`
`
`14
`
`Sling-Uniloc-609
`Exhibit 1005, Page 0014
`
`

`

`Case 1:19-cv-00278-RBJ-MEH Document 37 Filed 04/10/19 USDC Colorado Page 15 of 47
`
`
`
`Sub-macroblock prediction syntax in H.264
`7.33.2 Sub-macroblock prediction syntax
`
`C
`
`Descriptor
`
`2 u

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket