Table of Contents

�0���� Introduction
������� 0.1���� Prologue
������� 0.2���� Purpose
������� 0.3���� Applications
������� 0.4���� Publication and versions of this Specification
������� 0.5���� Profiles and levels
������� 0.6���� Overview of the design characteristics
����������������� 0.6.1���� Predictive coding
����������������� 0.6.2���� Coding of progressive and interlaced video
����������������� 0.6.3���� Picture partitioning into macroblocks and smaller partitions
����������������� 0.6.4���� Spatial redundancy reduction
������� 0.7���� How to read this Specification
�1���� Scope
�2���� Normative references
�3���� Definitions
�4���� Abbreviations
�5���� Conventions
������� 5.1���� Arithmetic operators
������� 5.2���� Logical operators
������� 5.3���� Relational operators
������� 5.4���� Bit-wise operators
������� 5.5���� Assignment operators
������� 5.6���� Range notation
������� 5.7���� Mathematical functions
������� 5.8���� Order of operation precedence
������� 5.9���� Variables, syntax elements, and tables
������ 5.10���� Text description of logical operations
������ 5.11���� Processes
�6���� Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships
������� 6.1���� Bitstream formats
������� 6.2���� Source, decoded, and output picture formats
������� 6.3���� Spatial subdivision of pictures and slices
������� 6.4���� Inverse scanning processes and derivation processes for neighbours
����������������� 6.4.1���� Inverse macroblock scanning process
����� ������������6.4.2���� Inverse macroblock partition and sub-macroblock partition scanning process
����������������� 6.4.3���� Inverse 4x4 luma block scanning process
����������������� 6.4.4���� Inverse 4x4 Cb or Cr block scanning process for ChromaArrayType equal to 3
����������������� 6.4.5���� Inverse 8x8 luma block scanning process
����������������� 6.4.6���� Inverse 8x8 Cb or Cr block scanning process for ChromaArrayType equal to 3
����������������� 6.4.7���� Inverse 4x4 chroma block scanning process
�� ���������������6.4.8���� Derivation process of the availability for macroblock addresses
����������������� 6.4.9���� Derivation process for neighbouring macroblock addresses and their availability
����������������� 6.4.10���� Derivation process for neighbouring macroblock addresses and their availability in MBAFF frames
����������������� 6.4.11���� Derivation processes for neighbouring macroblocks, blocks, and partitions
����������������� 6.4.12���� Derivation process for neighbouring locations
����������� ������6.4.13���� Derivation processes for block and partition indices
�7���� Syntax and semantics
������� 7.1���� Method of specifying syntax in tabular form
������� 7.2���� Specification of syntax functions, categories, and descriptors
������� 7.3���� Syntax in tabular form
����������������� 7.3.1���� NAL unit syntax
����������������� 7.3.2���� Raw byte sequence payloads and RBSP trailing bits syntax
����������������� 7.3.3���� Slice header syntax
����������������� 7.3.4���� Slice data syntax
��������� ��������7.3.5���� Macroblock layer syntax
������� 7.4���� Semantics
����������������� 7.4.1���� NAL unit semantics
����������������� 7.4.2���� Raw byte sequence payloads and RBSP trailing bits semantics
����������������� 7.4.3���� Slice header semantics
� ����������������7.4.4���� Slice data semantics
����������������� 7.4.5���� Macroblock layer semantics
�8���� Decoding process
������� 8.1���� NAL unit decoding process
������� 8.2���� Slice decoding process
����������������� 8.2.1���� Decoding process for picture order count
����������������� 8.2.2���� Decoding process for macroblock to slice group map
����������������� 8.2.3���� Decoding process for slice data partitions
����������������� 8.2.4���� Decoding process for reference picture lists construction
����������������� 8.2.5���� Decoded reference picture marking process
������� 8.3���� Intra prediction process
����������������� 8.3.1���� Intra_4x4 prediction process for luma samples
����������������� 8.3.2���� Intra_8x8 prediction process for luma samples
����������������� 8.3.3���� Intra_16x16 prediction process for luma samples
����������������� 8.3.4���� Intra prediction process for chroma samples
����������������� 8.3.5���� Sample construction process for I_PCM macroblocks
������� 8.4���� Inter prediction process
����������������� 8.4.1���� Derivation process for motion vector components and reference indices
����������������� 8.4.2���� Decoding process for Inter prediction samples
����������������� 8.4.3���� Derivation process for prediction weights
������� 8.5���� Transform coefficient decoding process and picture construction process prior to deblocking filter process
����������������� 8.5.1���� Specification of transform decoding process for 4x4 luma residual blocks
����������������� 8.5.2���� Specification of transform decoding process for luma samples of Intra_16x16 macroblock prediction mode
����������������� 8.5.3���� Specification of transform decoding process for 8x8 luma residual blocks
����������������� 8.5.4���� Specification of transform decoding process for chroma samples
����������������� 8.5.5���� Specification of transform decoding process for chroma samples with ChromaArrayType equal to 3
����������������� 8.5.6���� Inverse scanning process for 4x4 transform coefficients and scaling lists
����������������� 8.5.7���� Inverse scanning process for 8x8 transform coefficients and scaling lists
����������������� 8.5.8���� Derivation process for chroma quantization parameters
����������������� 8.5.9���� Derivation process for scaling functions
����������������� 8.5.10���� Scaling and transformation process for DC transform coefficients for Intra_16x16 macroblock type
����������������� 8.5.11���� Scaling and transformation process for chroma DC transform coefficients
����������������� 8.5.12��� �Scaling and transformation process for residual 4x4 blocks
����������������� 8.5.13���� Scaling and transformation process for residual 8x8 blocks
����������������� 8.5.14���� Picture construction process prior to deblocking filter process
����������������� 8.5.15���� Intra residual transform-bypass decoding process
������� 8.6���� Decoding process for P macroblocks in SP slices or SI macroblocks
����������������� 8.6.1���� SP decoding process for non-switching pictures
����������������� 8.6.2���� SP and SI slice decoding process for switching pictures
������� 8.7���� Deblocking filter process
����������������� 8.7.1���� Filtering process for block edges
����������������� 8.7.2���� Filtering process for a set of samples across a horizontal or vertical block edge
�9���� Parsing process
������� 9.1���� Parsing process for Exp-Golomb codes
����������������� 9.1.1���� Mapping process for signed Exp-Golomb codes
����������������� 9.1.2���� Mapping process for coded block pattern
������� 9.2���� CAVLC parsing process for transform coefficient levels
����������������� 9.2.1���� Parsing process for total number of non-zero transform coefficient levels and number of trailing ones
����������������� 9.2.2���� Parsing process for level information
����������������� 9.2.3���� Parsing process for run information
����������������� 9.2.4���� Combining level and run information
������� 9.3���� CABAC parsing process for slice data
����������������� 9.3.1���� Initialization process
����������������� 9.3.2 ����Binarization process
����������������� 9.3.3���� Decoding process flow
����������������� 9.3.4���� Arithmetic encoding process (informative)
�Annex A� Profiles and levels
������� A.1���� Requirements on video decoder capability
������� A.2���� Profiles
����������������� A.2.1���� Baseline profile
����������������� A.2.2���� Main profile
����������������� A.2.3���� Extended profile
����������������� A.2.4���� High profile
����������������� A.2.5���� High 10 profile
����������������� A.2.6���� High 4:2:2 profile
����������������� A.2.7���� High 4:4:4 Predictive profile
����������������� A.2.8���� High 10 Intra profile
����������������� A.2.9���� High 4:2:2 Intra profile
����������������� A.2.10���� High 4:4:4 Intra profile
����������������� A.2.11���� CAVLC 4:4:4 Intra profile
������� A.3���� Levels
����������������� A.3.1���� Level limits common to the Baseline, Constrained Baseline, Main, and Extended profiles
����������������� A.3.2���� Level limits common to the High, Progressive High, Constrained High, High 10, Progressive High 10, High 4:2:2, High 4:4:4 Predictive, High 10 Intra, High 4:2:2 Intra, High 4:4:4 Intra, and CAVLC 4:4:4 Intra profiles
����������������� A.3.3���� Profile-specific level limits
����������������� A.3.4���� Effect of level limits on frame rate (informative)
����������������� A.3.5���� Effect of level limits on maximum DPB size in units of frames (informative)
�Annex B� Byte stream format
������� B.1���� Byte stream NAL unit syntax and semantics
����������������� B.1.1���� Byte stream NAL unit syntax
����������������� B.1.2���� Byte stream NAL unit semantics
������� B.2���� Byte stream NAL unit decoding process
������� B.3���� Decoder byte-alignment recovery (informative)
�Annex C� Hypothetical reference decoder
������� C.1���� Operation of coded picture buffer (CPB)
����������������� C.1.1���� Timing of bitstream arrival
����������������� C.1.2���� Timing of coded picture removal
������� C.2���� Operation of the decoded picture buffer (DPB)
����������������� C.2.1���� Decoding of gaps in frame_num and storage of "non-existing" frames
����������������� C.2.2���� Picture decoding and output
����������������� C.2.3���� Removal of pictures from the DPB before possible insertion of the current picture
����������������� C.2.4���� Current decoded picture marking and storage
������� C.3���� Bitstream conformance
������� C.4���� Decoder conformance
����������������� C.4.1���� Operation of the output order DPB
����������������� C.4.2���� Decoding of gaps in frame_num and storage of "non-existing" pictures
����������������� C.4.3���� Picture decoding
����������������� C.4.4���� Removal of pictures from the DPB before possible insertion of the current picture
����������������� C.4.5���� Current decoded picture marking and storage
�Annex D� Supplemental enhancement information
������� D.1���� SEI payload syntax
����������������� D.1.1���� General SEI message syntax
����������������� D.1.2���� Buffering period SEI message syntax
����������������� D.1.3���� Picture timing SEI message syntax
����������������� D.1.4���� Pan-scan rectangle SEI message syntax
����������������� D.1.5���� Filler payload SEI message syntax
����������������� D.1.6���� User data registered by Rec. ITU‑T T.35 SEI message syntax
����������������� D.1.7���� User data unregistered SEI message syntax
����������������� D.1.8���� Recovery point SEI message syntax
����������������� D.1.9���� Decoded reference picture marking repetition SEI message syntax
����������������� D.1.10���� Spare picture SEI message syntax
��� ��������������D.1.11���� Scene information SEI message syntax
����������������� D.1.12���� Sub-sequence information SEI message syntax
����������������� D.1.13���� Sub-sequence layer characteristics SEI message syntax
����������������� D.1.14���� Sub-sequence characteristics SEI message syntax
����������������� D.1.15���� Full-frame freeze SEI message syntax
����������������� D.1.16���� Full-frame freeze release SEI message syntax
����������������� D.1.17���� Full-frame snapshot SEI message syntax
����������������� D.1.18���� Progressive refinement segment start SEI message syntax
����������������� D.1.19���� Progressive refinement segment end SEI message syntax
����������������� D.1.20���� Motion-constrained slice group set SEI message syntax
���� �������������D.1.21���� Film grain characteristics SEI message syntax
����������������� D.1.22���� Deblocking filter display preference SEI message syntax
����������������� D.1.23���� Stereo video information SEI message syntax
����������������� D.1.24��� �Post-filter hint SEI message syntax
����������������� D.1.25���� Tone mapping information SEI message syntax
����������������� D.1.26���� Frame packing arrangement SEI message syntax
����������������� D.1.27���� Display orientation SEI message syntax
����������������� D.1.28���� Green metadata SEI message syntax
����������������� D.1.29���� Mastering display colour volume SEI message syntax
����������������� D.1.30���� Colour remapping information SEI message syntax
����������������� D.1.31���� Content light level information SEI message syntax
����������������� D.1.32���� Alternative transfer characteristics SEI message syntax
����������������� D.1.33���� Content colour volume SEI message syntax
����������������� D.1.34���� Ambient viewing environment SEI message syntax
����������������� D.1.35���� Syntax of omnidirectional video specific SEI messages
����������������� D.1.36���� SEI manifest SEI message syntax
����������������� D.1.37���� SEI prefix indication SEI message syntax
����������������� D.1.38���� Reserved SEI message syntax
������� D.2���� SEI payload semantics
����������������� D.2.1���� General SEI payload semantics
����������������� D.2.2���� Buffering period SEI message semantics
����������������� D.2.3���� Picture timing SEI message semantics
����������������� D.2.4���� Pan-scan rectangle SEI message semantics
����������������� D.2.5���� Filler payload SEI message semantics
����������������� D.2.6���� User data registered by Rec. ITU‑T T.35 SEI message semantics
����������������� D.2.7���� User data unregistered SEI message semantics
����������������� D.2.8���� Recovery point SEI message semantics
����������������� D.2.9���� Decoded reference picture marking repetition SEI message semantics
����������������� D.2.10���� Spare picture SEI message semantics
����������������� D.2.11���� Scene information SEI message semantics
����������������� D.2.12���� Sub-sequence information SEI message semantics
����������������� D.2.13���� Sub-sequence layer characteristics SEI message semantics
���� �������������D.2.14���� Sub-sequence characteristics SEI message semantics
����������������� D.2.15���� Full-frame freeze SEI message semantics
����������������� D.2.16���� Full-frame freeze release SEI message semantics
����������������� D.2.17���� Full-frame snapshot SEI message semantics
����������������� D.2.18���� Progressive refinement segment start SEI message semantics
����������������� D.2.19���� Progressive refinement segment end SEI message semantics
����������������� D.2.20���� Motion-constrained slice group set SEI message semantics
����������������� D.2.21���� Film grain characteristics SEI message semantics
����������������� D.2.22���� Deblocking filter display preference SEI message semantics
����������������� D.2.23���� Stereo video information SEI message semantics
����������������� D.2.24���� Post-filter hint SEI message semantics
����������������� D.2.25���� Tone mapping information SEI message semantics
����������������� D.2.26���� Frame packing arrangement SEI message semantics
�� ���������������D.2.27���� Display orientation SEI message semantics
����������������� D.2.28���� Green metadata SEI message semantics
����������������� D.2.29���� Mastering display colour volume SEI message semantics
����������������� D.2.30���� Colour remapping information SEI message semantics
����������������� D.2.31���� Content light level information SEI message semantics
����������������� D.2.32���� Alternative transfer characteristics SEI message semantics
����������������� D.2.33���� Content colour volume SEI message semantics
����������������� D.2.34���� Ambient viewing environment SEI message semantics
����������������� D.2.35���� Semantics of omnidirectional video specific SEI messages
����������������� D.2.36���� SEI manifest SEI message semantics
����������������� D.2.37���� SEI prefix indication SEI message semantics
����������������� D.2.38���� Reserved SEI message semantics
�Annex E� Video usability information
������� E.1���� VUI syntax
����������������� E.1.1���� VUI parameters syntax
����� ������������E.1.2���� HRD parameters syntax
������� E.2���� VUI semantics
����������������� E.2.1���� VUI parameters semantics
����������������� E.2.2���� HRD parameters semantics
Annex F� Intellectual property rights information
�Annex G� Scalable video coding
������� G.1���� Scope
������� G.2���� Normative references
������� G.3���� Definitions
������� G.4���� Abbreviations
������� G.5���� Conventions
������� G.6���� Source, coded, decoded and output data formats, scanning processes, neighbouring and reference layer relationships
����������������� G.6.1���� Derivation process for reference layer macroblocks
����������������� G.6.2���� Derivation process for reference layer partitions
����������������� G.6.3���� Derivation process for reference layer sample locations in resampling
����������������� G.6.4���� SVC derivation process for macroblock and sub-macroblock partition indices
������� G.7���� Syntax and semantics
����������������� G.7.1���� Method of specifying syntax in tabular form
����������������� G.7.2���� Specification of syntax functions, categories, and descriptors
����������������� G.7.3���� Syntax in tabular form
����������������� G.7.4���� Semantics
������� G.8���� SVC decoding process
����������������� G.8.1���� SVC initialization and decoding processes
����������������� G.8.2���� SVC reference picture lists construction and decoded reference picture marking process
����������������� G.8.3���� SVC intra decoding processes
����������������� G.8.4���� SVC Inter prediction process
����������������� G.8.5���� SVC transform coefficient decoding and sample array construction processes
����������������� G.8.6���� Resampling processes for prediction data, intra samples, and residual samples
����������������� G.8.7���� SVC deblocking filter processes
����������������� G.8.8���� Specification of bitstream subsets
������� G.9���� Parsing process
����������������� G.9.1���� Alternative parsing process for coded block pattern
����������������� G.9.2���� Alternative CAVLC parsing process for transform coefficient levels
����������������� G.9.3���� Alternative CABAC parsing process for slice data in scalable extension
������ G.10���� Profiles and levels
����������������� G.10.1���� Profiles
����������������� G.10.2���� Levels
������ G.11���� Byte stream format
������ G.12���� Hypothetical reference decoder
������ G.13���� Supplemental enhancement information
����������������� G.13.1���� SEI payload syntax
����������������� G.13.2���� SEI payload semantics
������ G.14���� Video usability information
����������������� G.14.1���� SVC VUI parameters extension syntax
����������������� G.14.2���� SVC VUI parameters extension semantics
�Annex H� Multiview video coding
������� H.1���� Scope
������� H.2���� Normative references
������� H.3���� Definitions
������� H.4���� Abbreviations
������� H.5���� Conventions
������� H.6���� Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships
������� H.7���� Syntax and semantics
����������������� H.7.1���� Method of specifying syntax in tabular form
����������������� H.7.2���� Specification of syntax functions, categories, and descriptors
����������������� H.7.3���� Syntax in tabular form
����������������� H.7.4���� Semantics
������� H.8���� MVC decoding process
����������������� H.8.1���� MVC decoding process for picture order count
����������������� H.8.2���� MVC decoding process for reference picture lists construction
����������������� H.8.3���� MVC decoded reference picture marking process
����������������� H.8.4���� MVC inter prediction and inter-view prediction process
����������������� H.8.5���� Specification of bitstream subsets
����������������� H.8.6���� MFC enhanced resolution picture reconstruction
������� H.9���� Parsing process
������ H.10���� Profiles and levels
����������������� H.10.1���� Profiles
����������������� H.10.2���� Levels
������ H.11���� Byte stream format
������ H.12���� MVC hypothetical reference decoder
������ H.13���� MVC SEI messages
����������������� H.13.1���� SEI message syntax
����������������� H.13.2���� SEI message semantics
������ H.14���� Video usability information
����������������� H.14.1���� MVC VUI parameters extension syntax
����������������� H.14.2���� MVC VUI parameters extension semantics
�Annex I� Multiview and depth video coding
������� I.1���� Scope
������� I.2���� Normative references
������� I.3���� Definitions
������� I.4���� Abbreviations
������� I.5���� Conventions
������� I.6���� Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships
������� I.7���� Syntax and semantics
����������������� I.7.1���� Method of specifying syntax in tabular form
����������������� I.7.2���� Specification of syntax functions, categories, and descriptors
����������������� I.7.3���� Syntax in tabular form
����������������� I.7.4���� Semantics
������� I.8���� MVCD decoding process
����������������� I.8.1���� MVCD decoding process for picture order count
����������������� I.8.2���� MVC decoding process for reference picture lists construction
� ����������������I.8.3���� MVCD decoded reference picture marking process
����������������� I.8.4���� MVCD inter prediction and inter-view prediction process
����������������� I.8.5���� Specification of bitstream subsets
������� I.9���� Parsing process
��� ���I.10���� Profiles and levels
����������������� I.10.1���� Profiles
����������������� I.10.2���� Levels
������ I.11���� Byte stream format
������ I.12���� MVCD hypothetical reference decoder
������ I.13���� MVCD SEI messages
����������������� I.13.1���� SEI message syntax
����������������� I.13.2���� SEI message semantics
������ I.14���� Video usability information
����������������� I.14.1���� MVCD VUI parameters extension syntax
����������������� I.14.2���� MVCD VUI parameters extension semantics
�Annex J�� Multiview and depth video with enhanced non-base view coding
������� J.1���� Scope
������� J.2���� Normative references
������� J.3���� Definitions
������� J.4���� Abbreviations
������� J.5���� Conventions
������� J.6���� Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships
����������������� J.6.1���� Inverse sub-macroblock partition scanning process
������� J.7���� Syntax and semantics
����������������� J.7.1���� Method of specifying syntax in tabular form
����������������� J.7.2���� Specification of syntax functions, categories, and descriptors
����������������� J.7.3���� Syntax in tabular form
����������������� J.7.4���� Semantics
������� J.8���� 3D-AVC decoding process
����������������� J.8.1���� 3D-AVC decoding process for reference picture lists construction
����������������� J.8.2���� 3D-AVC inter prediction, inter-view prediction, view synthesis prediction and adaptive luminance compensation
����������������� J.8.3���� Specification of bitstream subsets
����������������� J.8.4���� Decoding process for depth range parameters
������� J.9���� Parsing process
����������������� J.9.1���� Alternative CABAC parsing process for slice data and macroblock layer in depth extension
������ J.10���� Profiles and levels
����������������� J.10.1���� Profiles
����������������� J.10.2���� Levels
������ J.11���� Byte stream format
������ J.12���� 3D-AVC hypothetical reference decoder
������ J.13���� 3D-AVC SEI messages
����������������� J.13.1���� SEI message syntax
� ����������������J.13.2���� SEI message semantics
������ J.14���� Video usability information