throbber

`
`
`
`
`
`
`
`
`
`
`
`INTERNATIONAL TELECOMMUNICATION UNION
`
`
`
`
`
`ITU-T
`
`TELECOMMUNICATION
`STANDARDIZATION SECTOR
`OF ITU
`
`H.264
`
`(05/2003)
`
`SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS
`Infrastructure of audiovisual services – Coding of moving
`video
`
`Advanced video coding for generic audiovisual
`services
`
`ITU-T Recommendation H.264
`
`
`Unified Patents, Ex. 1021
`
`000001
`
`

`

`ITU-T H-SERIES RECOMMENDATIONS
`AUDIOVISUAL AND MULTIMEDIA SYSTEMS
`
`
`CHARACTERISTICS OF VISUAL TELEPHONE SYSTEMS
`INFRASTRUCTURE OF AUDIOVISUAL SERVICES
`General
`Transmission multiplexing and synchronization
`Systems aspects
`Communication procedures
`Coding of moving video
`Related systems aspects
`Systems and terminal equipment for audiovisual services
`Directory services architecture for audiovisual and multimedia services
`Quality of service architecture for audiovisual and multimedia services
`Supplementary services for multimedia
`MOBILITY AND COLLABORATION PROCEDURES
`Overview of Mobility and Collaboration, definitions, protocols and procedures
`Mobility for H-Series multimedia systems and services
`Mobile multimedia collaboration applications and services
`Security for mobile multimedia systems and services
`Security for mobile multimedia collaboration applications and services
`Mobility interworking procedures
`Mobile multimedia collaboration inter-working procedures
`BROADBAND AND TRIPLE-PLAY MULTIMEDIA SERVICES
`Broadband multimedia services over VDSL
`
`For further details, please refer to the list of ITU-T Recommendations.
`
`
`H.100–H.199
`
`H.200–H.219
`H.220–H.229
`H.230–H.239
`H.240–H.259
`H.260–H.279
`H.280–H.299
`H.300–H.349
`H.350–H.359
`H.360–H.369
`H.450–H.499
`
`H.500–H.509
`H.510–H.519
`H.520–H.529
`H.530–H.539
`H.540–H.549
`H.550–H.559
`H.560–H.569
`
`H.610–H.619
`
`
`Unified Patents, Ex. 1021
`
`000002
`
`

`

`
`
`ITU-T Recommendation H.264
`
`Advanced video coding for generic audiovisual services
`
`
`
`
`
`
`
`
`Summary
`As the costs for both processing power and memory have reduced, network support for coded video data has diversified,
`and advances in video coding technology have progressed, the need has arisen for an industry standard for compressed
`video representation with substantially increased coding efficiency and enhanced robustness to network environments.
`This Recommendation represents an evolution of the existing video coding standards (H.261, H.262 and H.263) and it
`was developed in response to the growing need for higher compression of moving pictures for various applications such
`as videoconferencing, digital storage media, television broadcasting, Internet streaming and communication. It is also
`designed to enable the use of the coded video representation in a flexible manner for a wide variety of network
`environments. The use of this Recommendation allows motion video to be manipulated as a form of computer data and
`to be stored on various storage media, transmitted and received over existing and future networks and distributed on
`existing and future broadcasting channels
`
`
`Source
`ITU-T Recommendation H.264 was approved by ITU-T Study Group 16 (2001-2004) under
`Recommendation A.8 procedure on 30 May 2003.
`This edition includes the modifications introduced by ITU-T Rec. H.264 (2003) Corrigendum 1 approved by ITU-T
`Study Group 16 (2001-2004) under the ITU-T Recommendation A.8 procedure on 7 May 2004.
`
`
`
`
`
`the ITU-T
`
`
`
`
`
`
`
`ITU-T Rec. H.264 (05/2003)
`
`i
`
`Unified Patents, Ex. 1021
`
`000003
`
`

`

`
`
`FOREWORD
`The International Telecommunication Union (ITU) is the United Nations specialized agency in the field of
`telecommunications. The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ of
`ITU. ITU-T is responsible for studying technical, operating and tariff questions and issuing Recommendations
`on them with a view to standardizing telecommunications on a worldwide basis.
`The World Telecommunication Standardization Assembly (WTSA), which meets every four years,
`establishes the topics for study by the ITU-T study groups which, in turn, produce Recommendations on these
`topics.
`The approval of ITU-T Recommendations is covered by the procedure laid down in WTSA Resolution 1.
`In some areas of information technology which fall within ITU-T's purview, the necessary standards are
`prepared on a collaborative basis with ISO and IEC.
`
`
`
`
`NOTE
`In this Recommendation, the expression "Administration" is used for conciseness to indicate both a
`telecommunication administration and a recognized operating agency.
`
`Compliance with this Recommendation is voluntary. However, the Recommendation may contain certain
`mandatory provisions (to ensure e.g.
`interoperability or applicability) and compliance with
`the
`Recommendation is achieved when all of these mandatory provisions are met. The words "shall" or some
`other obligatory language such as "must" and the negative equivalents are used to express requirements. The
`use of such words does not suggest that compliance with the Recommendation is required of any party.
`
`
`
`
`INTELLECTUAL PROPERTY RIGHTS
`ITU draws attention to the possibility that the practice or implementation of this Recommendation may
`involve the use of a claimed Intellectual Property Right. ITU takes no position concerning the evidence,
`validity or applicability of claimed Intellectual Property Rights, whether asserted by ITU members or others
`outside of the Recommendation development process.
`As of the date of approval of this Recommendation, ITU [had/had not] received notice of intellectual
`property, protected by patents, which may be required to implement this Recommendation. However,
`implementors are cautioned that this may not represent the latest information and are therefore strongly urged
`to consult the TSB patent database.
`
`
`
`
` ITU 2004
`All rights reserved. No part of this publication may be reproduced, by any means whatsoever, without the
`prior written permission of ITU.
`
`ii
`
`ITU-T Rec. H.264 (05/2003)
`
`Unified Patents, Ex. 1021
`
`000004
`
`

`

`
`
`CONTENTS
`
`Page
`
`
`
`Foreword ..........................................................................................................................................................................xiii
`0
`Introduction .............................................................................................................................................................xiv
`0.1
`Prologue ............................................................................................................................................................ xiv
`0.2
`Purpose.............................................................................................................................................................. xiv
`0.3
`Applications....................................................................................................................................................... xiv
`0.4
`Profiles and levels.............................................................................................................................................. xiv
`0.5 Overview of the design characteristics............................................................................................................... xv
`0.5.1
`Predictive coding ........................................................................................................................................xv
`0.5.2
`Coding of progressive and interlaced video................................................................................................xv
`0.5.3
`Picture partitioning into macroblocks and smaller partitions......................................................................xv
`0.5.4
`Spatial redundancy reduction.....................................................................................................................xvi
`0.6 How to read this specification ........................................................................................................................... xvi
`Scope ............................................................................................................................................................................1
`1
`2 Normative references..................................................................................................................................................1
`3 Definitions ...................................................................................................................................................................1
`4 Abbreviations..............................................................................................................................................................8
`5 Conventions.................................................................................................................................................................9
`5.1
`Arithmetic operators.............................................................................................................................................9
`5.2
`Logical operators .................................................................................................................................................9
`5.3
`Relational operators ...........................................................................................................................................10
`5.4
`Bit-wise operators...............................................................................................................................................10
`5.5
`Assignment operators .........................................................................................................................................10
`5.6
`Range notation....................................................................................................................................................10
`5.7 Mathematical functions ......................................................................................................................................10
`5.8
`Variables, syntax elements, and tables ...............................................................................................................11
`5.9
`Text description of logical operations ................................................................................................................12
`5.10 Processes ............................................................................................................................................................13
`Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships .........13
`6.1
`Bitstream formats ...............................................................................................................................................13
`6.2
`Source, decoded, and output picture formats .....................................................................................................13
`6.3
`Spatial subdivision of pictures and slices ...........................................................................................................15
`6.4
`Inverse scanning processes and derivation processes for neighbours ...............................................................16
`6.4.1
`Inverse macroblock scanning process.........................................................................................................16
`6.4.2
`Inverse macroblock partition and sub-macroblock partition scanning process...........................................17
`6.4.2.1
`Inverse macroblock partition scanning process ......................................................................................17
`6.4.2.2
`Inverse sub-macroblock partition scanning process ...............................................................................18
`6.4.3
`Inverse 4x4 luma block scanning process...................................................................................................18
`6.4.4
`Derivation process of the availability for macroblock addresses................................................................18
`6.4.5
`Derivation process for neighbouring macroblock addresses and their availability.....................................19
`6.4.6
`Derivation process for neighbouring macroblock addresses and their availability in MBAFF frames ......19
`6.4.7
`Derivation processes for neighbouring macroblocks, blocks, and partitions..............................................20
`6.4.7.1 Derivation process for neighbouring macroblocks .................................................................................21
`6.4.7.2 Derivation process for neighbouring 8x8 luma block.............................................................................21
`6.4.7.3 Derivation process for neighbouring 4x4 luma blocks ...........................................................................22
`6.4.7.4 Derivation process for neighbouring 4x4 chroma blocks .......................................................................22
`6.4.7.5 Derivation process for neighbouring partitions.......................................................................................22
`6.4.8
`Derivation process for neighbouring locations ...........................................................................................24
`6.4.8.1 Specification for neighbouring luma locations in fields and non-MBAFF frames .................................24
`6.4.8.2 Specification for neighbouring luma locations in MBAFF frames.........................................................24
`Syntax and semantics ...............................................................................................................................................27
`7.1 Method of describing syntax in tabular form......................................................................................................27
`7.2
`Specification of syntax functions, categories, and descriptors ...........................................................................28
`7.3
`Syntax in tabular form ........................................................................................................................................30
`7.3.1
`NAL unit syntax .........................................................................................................................................30
`7.3.2
`Raw byte sequence payloads and RBSP trailing bits syntax ......................................................................31
`7.3.2.1 Sequence parameter set RBSP syntax.....................................................................................................31
`7.3.2.2 Picture parameter set RBSP syntax.........................................................................................................32
`
`6
`
`7
`
`
`
`
`
`
`
`ITU-T Rec. H.264 (05/2003)
`
`iii
`
`Unified Patents, Ex. 1021
`
`000005
`
`

`

`
`
`7.3.2.3 Supplemental enhancement information RBSP syntax...........................................................................33
`7.3.2.3.1 Supplemental enhancement information message syntax ................................................................33
`7.3.2.4 Access unit delimiter RBSP syntax ........................................................................................................33
`7.3.2.5 End of sequence RBSP syntax................................................................................................................33
`7.3.2.6 End of stream RBSP syntax....................................................................................................................34
`7.3.2.7 Filler data RBSP syntax..........................................................................................................................34
`7.3.2.8 Slice layer without partitioning RBSP syntax.........................................................................................34
`7.3.2.9 Slice data partition RBSP syntax ............................................................................................................34
`7.3.2.9.1 Slice data partition A RBSP syntax..................................................................................................34
`7.3.2.9.2 Slice data partition B RBSP syntax..................................................................................................34
`7.3.2.9.3 Slice data partition C RBSP syntax..................................................................................................35
`7.3.2.10 RBSP slice trailing bits syntax..............................................................................................................35
`7.3.2.11 RBSP trailing bits syntax ......................................................................................................................35
`7.3.3
`Slice header syntax .....................................................................................................................................36
`7.3.3.1 Reference picture list reordering syntax .................................................................................................37
`7.3.3.2 Prediction weight table syntax................................................................................................................38
`7.3.3.3 Decoded reference picture marking syntax.............................................................................................39
`7.3.4
`Slice data syntax .........................................................................................................................................40
`7.3.5 Macroblock layer syntax.............................................................................................................................41
`7.3.5.1 Macroblock prediction syntax.................................................................................................................42
`7.3.5.2 Sub-macroblock prediction syntax .........................................................................................................43
`7.3.5.3 Residual data syntax ...............................................................................................................................44
`7.3.5.3.1 Residual block CAVLC syntax........................................................................................................45
`7.3.5.3.2 Residual block CABAC syntax........................................................................................................46
`7.4
`Semantics............................................................................................................................................................47
`7.4.1
`NAL unit semantics ....................................................................................................................................47
`7.4.1.1 Encapsulation of an SODB within an RBSP (informative) ....................................................................49
`7.4.1.2 Order of NAL units and association to coded pictures, access units, and video sequences....................50
`7.4.1.2.1 Order of sequence and picture parameter set RBSPs and their activation .......................................50
`7.4.1.2.2 Order of access units and association to coded video sequences .....................................................51
`7.4.1.2.3 Order of NAL units and coded pictures and association to access units..........................................51
`7.4.1.2.4 Detection of the first VCL NAL unit of a primary coded picture ....................................................52
`7.4.1.2.5 Order of VCL NAL units and association to coded pictures............................................................53
`7.4.2
`Raw byte sequence payloads and RBSP trailing bits semantics .................................................................53
`7.4.2.1 Sequence parameter set RBSP semantics ...............................................................................................53
`7.4.2.2 Picture parameter set RBSP semantics ...................................................................................................56
`7.4.2.3 Supplemental enhancement information RBSP semantics .....................................................................58
`7.4.2.3.1 Supplemental enhancement information message semantics...........................................................58
`7.4.2.4 Access unit delimiter RBSP semantics ...................................................................................................58
`7.4.2.5 End of sequence RBSP semantics...........................................................................................................58
`7.4.2.6 End of stream RBSP semantics...............................................................................................................58
`7.4.2.7 Filler data RBSP semantics.....................................................................................................................59
`7.4.2.8 Slice layer without partitioning RBSP semantics ...................................................................................59
`7.4.2.9 Slice data partition RBSP semantics.......................................................................................................59
`7.4.2.9.1 Slice data partition A RBSP semantics ............................................................................................59
`7.4.2.9.2 Slice data partition B RBSP semantics ............................................................................................59
`7.4.2.9.3 Slice data partition C RBSP semantics ............................................................................................59
`7.4.2.10 RBSP slice trailing bits semantics.........................................................................................................60
`7.4.2.11 RBSP trailing bits semantics.................................................................................................................60
`7.4.3
`Slice header semantics................................................................................................................................60
`7.4.3.1 Reference picture list reordering semantics ............................................................................................65
`7.4.3.2 Prediction weight table semantics...........................................................................................................66
`7.4.3.3 Decoded reference picture marking semantics .......................................................................................67
`7.4.4
`Slice data semantics....................................................................................................................................69
`7.4.5 Macroblock layer semantics .......................................................................................................................70
`7.4.5.1 Macroblock prediction semantics ...........................................................................................................76
`7.4.5.2 Sub-macroblock prediction semantics ....................................................................................................76
`7.4.5.3 Residual data semantics ..........................................................................................................................79
`7.4.5.3.1 Residual block CAVLC semantics...................................................................................................79
`7.4.5.3.2 Residual block CABAC semantics ..................................................................................................80
`8 Decoding process.......................................................................................................................................................80
`8.1
`NAL unit decoding process.................................................................................................................................81
`8.2
`Slice decoding process........................................................................................................................................82
`
`iv
`
`ITU-T Rec. H.264 (05/2003)
`
`Unified Patents, Ex. 1021
`
`000006
`
`

`

`
`
`Decoding process for picture order count...................................................................................................82
`8.2.1
`8.2.1.1 Decoding process for picture order count type 0 ....................................................................................83
`8.2.1.2 Decoding process for picture order count type 1 ....................................................................................84
`8.2.1.3 Decoding process for picture order count type 2 ....................................................................................85
`8.2.2
`Decoding process for macroblock to slice group map ................................................................................86
`8.2.2.1 Specification for interleaved slice group map type.................................................................................87
`8.2.2.2 Specification for dispersed slice group map type ...................................................................................87
`8.2.2.3 Specification for foreground with left-over slice group map type ..........................................................87
`8.2.2.4 Specification for box-out slice group map types.....................................................................................88
`8.2.2.5 Specification for raster scan slice group map types ................................................................................88
`8.2.2.6 Specification for wipe slice group map types .........................................................................................88
`8.2.2.7 Specification for explicit slice group map type.......................................................................................89
`8.2.2.8 Specification for conversion of map unit to slice group map to macroblock to slice group map ...........89
`8.2.3
`Decoding process for slice data partitioning...............................................................................................89
`8.2.4
`Decoding process for reference picture lists construction ..........................................................................90
`8.2.4.1 Decoding process for picture numbers....................................................................................................90
`8.2.4.2
`Initialisation process for reference picture lists ......................................................................................91
`8.2.4.2.1
`Initialisation process for the reference picture list for P and SP slices in frames.............................91
`8.2.4.2.2
`Initialisation process for the reference picture list for P and SP slices in fields...............................92
`8.2.4.2.3
`Initialisation process for reference picture lists for B slices in frames.............................................92
`8.2.4.2.4
`Initialisation process for reference picture lists for B slices in fields...............................................93
`8.2.4.2.5
`Initialisation process for reference picture lists in fields..................................................................94
`8.2.4.3 Reordering process for reference picture lists.........................................................................................94
`8.2.4.3.1 Reordering process of reference picture lists for short-term pictures ..............................................95
`8.2.4.3.2 Reordering process of reference picture lists for long-term pictures ...............................................96
`8.2.5
`Decoded reference picture marking process ...............................................................................................96
`8.2.5.1 Sequence of operations for decoded reference picture marking process ................................................97
`8.2.5.2 Decoding process for gaps in frame_num...............................................................................................97
`8.2.5.3 Sliding window decoded reference picture marking process..................................................................98
`8.2.5.4 Adaptive memory control decoded reference picture marking process ..................................................98
`8.2.5.4.1 Marking process of a short-term picture as “unused for reference”.................................................98
`8.2.5.4.2 Marking process of a long-term picture as “unused for reference”..................................................98
`8.2.5.4.3 Assignment process of a LongTermFrameIdx to a short-term reference picture.............................99
`8.2.5.4.4 Decoding process for MaxLongTermFrameIdx...............................................................................99
`8.2.5.4.5 Marking process of all reference pictures as “unused for reference” and setting
`MaxLongTermFrameIdx to “no long-term frame indices”.................................................................................99
`8.2.5.4.6 Process for assigning a long-term frame index to the current picture ..............................................99
`8.3
`Intra prediction process....................................................................................................................................100
`8.3.1
`Intra_4x4 prediction process for luma samples ........................................................................................100
`8.3.1.1 Derivation process for the Intra4x4PredMode......................................................................................101
`8.3.1.2
`Intra_4x4 sample prediction .................................................................................................................102
`8.3.1.2.1 Specification of Intra_4x4_Vertical prediction mode ....................................................................103
`8.3.1.2.2 Specification of Intra_4x4_Horizontal prediction mode................................................................103
`8.3.1.2.3 Specification of Intra_4x4_DC prediction mode ...........................................................................103
`8.3.1.2.4 Specification of Intra_4x4_Diagonal_Down_Left prediction mode ..............................................103
`8.3.1.2.5 Specification of Intra_4x4_Diagonal_Down_Right prediction mode............................................104
`8.3.1.2.6 Specification of Intra_4x4_Vertical_Right prediction mode .........................................................104
`8.3.1.2.7 Specification of Intra_4x4_Horizontal_Down prediction mode ....................................................104
`8.3.1.2.8 Specification of Intra_4x4_Vertical_Left prediction mode ...........................................................105
`8.3.1.2.9 Specification of Intra_4x4_Horizontal_Up prediction mode .........................................................105
`8.3.2
`Intra_16x16 prediction process for luma samples ....................................................................................105
`8.3.2.1 Specification of Intra_16x16_Vertical prediction mode.......................................................................106
`8.3.2.2 Specification of Intra_16x16_Horizontal prediction mode...................................................................106
`8.3.2.3 Specification of Intra_16x16_DC prediction mode ..............................................................................106
`8.3.2.4 Specification of Intra_16x16_Plane prediction mode...........................................................................107
`8.3.3
`Intra prediction process for chroma samples ............................................................................................107
`8.3.3.1 Specification of Intra_Chroma_DC prediction mode ...........................................................................108
`8.3.3.2 Specification of Intra_Chroma_Horizontal prediction mode................................................................109
`8.3.3.3 Specification of Intra_Chroma_Vertical prediction mode....................................................................110
`8.3.3.4 Specification of Intra_Chroma_Plane prediction mode........................................................................110
`8.3.4
`Sample construction process for I_PCM macroblocks ............................................................

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