`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 1
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 2
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 3
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 4
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 5
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 6
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 7
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 8
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 9
`
`
`
`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
`
`
`
`
`
`
`IPR2020-00677
`Vudu Ex. 1005, Page 10
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 11
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 12
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 13
`
`
`
`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
`
`IPR2020-00677
`Vudu Ex. 1005, Page 14
`
`
`
`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 ue v ae(y)
`
`2 te(v) 1 ae(v)
`
`2 te(v) I ae(v)
`
`2 se(v) I ae(v)
`