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