Foreword
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.2.1 Inverse
macroblock partition scanning process
6.4.2.2 Inverse
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 Derivation
process of the availability for macroblock addresses
6.4.8 Derivation process for neighbouring macroblock addresses and their
availability
6.4.9 Derivation
process for neighbouring macroblock addresses and their availability in MBAFF
frames
6.4.10 Derivation
processes for neighbouring macroblocks, blocks, and partitions
6.4.10.1 Derivation
process for neighbouring macroblocks
6.4.10.2 Derivation
process for neighbouring 8x8 luma block
6.4.10.3 Derivation
process for neighbouring 8x8 chroma blocks for ChromaArrayType equal to 3
6.4.10.4 Derivation
process for neighbouring 4x4 luma blocks
6.4.10.5 Derivation process for
neighbouring 4x4 chroma blocks
6.4.10.6 Derivation
process for neighbouring 4x4 chroma blocks for ChromaArrayType equal to 3
6.4.10.7 Derivation
process for neighbouring partitions
6.4.11 Derivation
process for neighbouring locations
6.4.11.1 Specification
for neighbouring locations in fields and non-MBAFF frames
6.4.11.2 Specification for
neighbouring locations in MBAFF frames
6.4.12 Derivation
processes for block and partition indices
6.4.12.1 Derivation
process for 4x4 luma block indices
6.4.12.2 Derivation
process for 4x4 chroma block indices
6.4.12.3 Derivation
process for 8x8 luma block indices
6.4.12.4 Derivation
process for macroblock and sub-macroblock 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.2.1 Sequence
parameter set RBSP syntax
7.3.2.1.1 Sequence
parameter set data syntax
7.3.2.1.1.1 Scaling list syntax
7.3.2.1.2 Sequence
parameter set extension RBSP syntax
7.3.2.2 Picture
parameter set RBSP syntax
7.3.2.3 Supplemental
enhancement information RBSP syntax
7.3.2.3.1 Supplemental
enhancement information message syntax
7.3.2.4 Access
unit delimiter RBSP syntax
7.3.2.5 End
of sequence RBSP syntax
7.3.2.6 End
of stream RBSP syntax
7.3.2.7 Filler
data RBSP syntax
7.3.2.8 Slice layer without
partitioning RBSP syntax
7.3.2.9 Slice
data partition RBSP syntax
7.3.2.9.1 Slice
data partition A RBSP syntax
7.3.2.9.2 Slice data partition B
RBSP syntax
7.3.2.9.3 Slice
data partition C RBSP syntax
7.3.2.10 RBSP
slice trailing bits syntax
7.3.2.11 RBSP
trailing bits syntax
7.3.3 Slice
header syntax
7.3.3.1 Reference
picture list modification syntax
7.3.3.2 Prediction
weight table syntax
7.3.3.3 Decoded reference
picture marking syntax
7.3.4 Slice
data syntax
7.3.5 Macroblock
layer syntax
7.3.5.1 Macroblock
prediction syntax
7.3.5.2 Sub-macroblock
prediction syntax
7.3.5.3 Residual
data syntax
7.3.5.3.1 Residual
luma syntax
7.3.5.3.2 Residual
block CAVLC syntax
7.3.5.3.3 Residual
block CABAC syntax
7.4 Semantics
7.4.1 NAL
unit semantics
7.4.1.1 Encapsulation
of an SODB within an RBSP (informative)
7.4.1.2 Order
of NAL units and association to coded pictures, access units, and video
sequences
7.4.1.2.1 Order
of sequence and picture parameter set RBSPs and their activation
7.4.1.2.2 Order
of access units and association to coded video sequences
7.4.1.2.3 Order
of NAL units and coded pictures and association to access units
7.4.1.2.4 Detection
of the first VCL NAL unit of a primary coded picture
7.4.1.2.5 Order
of VCL NAL units and association to coded pictures
7.4.2 Raw
byte sequence payloads and RBSP trailing bits semantics
7.4.2.1 Sequence
parameter set RBSP semantics
7.4.2.1.1 Sequence
parameter set data semantics
7.4.2.1.1.1 Scaling list semantics
7.4.2.1.2 Sequence parameter set
extension RBSP semantics
7.4.2.2 Picture
parameter set RBSP semantics
7.4.2.3 Supplemental
enhancement information RBSP semantics
7.4.2.3.1 Supplemental
enhancement information message semantics
7.4.2.4 Access
unit delimiter RBSP semantics
7.4.2.5 End
of sequence RBSP semantics
7.4.2.6 End
of stream RBSP semantics
7.4.2.7 Filler
data RBSP semantics
7.4.2.8 Slice
layer without partitioning RBSP semantics
7.4.2.9 Slice data partition
RBSP semantics
7.4.2.9.1 Slice
data partition A RBSP semantics
7.4.2.9.2 Slice
data partition B RBSP semantics
7.4.2.9.3 Slice data partition C
RBSP semantics
7.4.2.10 RBSP
slice trailing bits semantics
7.4.2.11 RBSP
trailing bits semantics
7.4.3 Slice
header semantics
7.4.3.1 Reference
picture list modification semantics
7.4.3.2 Prediction
weight table semantics
7.4.3.3 Decoded
reference picture marking semantics
7.4.4 Slice
data semantics
7.4.5 Macroblock
layer semantics
7.4.5.1 Macroblock
prediction semantics
7.4.5.2 Sub-macroblock
prediction semantics
7.4.5.3 Residual
data semantics
7.4.5.3.1 Residual
luma data semantics
7.4.5.3.2 Residual
block CAVLC semantics
7.4.5.3.3 Residual block CABAC
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.1.1 Decoding process for
picture order count type 0
8.2.1.2 Decoding
process for picture order count type 1
8.2.1.3 Decoding
process for picture order count type 2
8.2.2 Decoding
process for macroblock to slice group map
8.2.2.1 Specification
for interleaved slice group map type
8.2.2.2 Specification
for dispersed slice group map type
8.2.2.3 Specification
for foreground with left-over slice group map type
8.2.2.4 Specification
for box-out slice group map types
8.2.2.5 Specification
for raster scan slice group map types
8.2.2.6 Specification
for wipe slice group map types
8.2.2.7 Specification
for explicit slice group map type
8.2.2.8 Specification for
conversion of map unit to slice group map to 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.4.1 Decoding
process for picture numbers
8.2.4.2 Initialisation
process for reference picture lists
8.2.4.2.1 Initialisation
process for the reference picture list for P and SP slices in frames
8.2.4.2.2 Initialisation
process for the reference picture list for P and SP slices in fields
8.2.4.2.3 Initialisation
process for reference picture lists for B slices in frames
8.2.4.2.4 Initialisation
process for reference picture lists for B slices in fields
8.2.4.2.5 Initialisation
process for reference picture lists in fields
8.2.4.3 Modification
process for reference picture lists
8.2.4.3.1 Modification
process of reference picture lists for short-term reference pictures
8.2.4.3.2 Modification
process of reference picture lists for long-term reference pictures
8.2.5 Decoded
reference picture marking process
8.2.5.1 Sequence
of operations for decoded reference picture marking process
8.2.5.2 Decoding
process for gaps in frame_num
8.2.5.3 Sliding
window decoded reference picture marking process
8.2.5.4 Adaptive memory
control decoded reference picture marking process
8.2.5.4.1 Marking
process of a short-term reference picture as "unused for reference"
8.2.5.4.2 Marking
process of a long-term reference picture as "unused for reference"
8.2.5.4.3 Assignment
process of a LongTermFrameIdx to a short-term reference picture
8.2.5.4.4 Decoding
process for MaxLongTermFrameIdx
8.2.5.4.5 Marking
process of all reference pictures as "unused for reference" and
setting MaxLongTermFrameIdx to "no long-term frame indices"
8.2.5.4.6 Process
for assigning a long-term frame index to the current picture
8.3 Intra prediction
process
8.3.1 Intra_4x4
prediction process for luma samples
8.3.1.1 Derivation
process for Intra4x4PredMode
8.3.1.2 Intra_4x4
sample prediction
8.3.1.2.1 Specification
of Intra_4x4_Vertical prediction mode
8.3.1.2.2 Specification
of Intra_4x4_Horizontal prediction mode
8.3.1.2.3 Specification
of Intra_4x4_DC prediction mode
8.3.1.2.4 Specification
of Intra_4x4_Diagonal_Down_Left prediction mode
8.3.1.2.5 Specification of
Intra_4x4_Diagonal_Down_Right prediction mode
8.3.1.2.6 Specification
of Intra_4x4_Vertical_Right prediction mode
8.3.1.2.7 Specification
of Intra_4x4_Horizontal_Down prediction mode
8.3.1.2.8 Specification
of Intra_4x4_Vertical_Left prediction mode
8.3.1.2.9 Specification
of Intra_4x4_Horizontal_Up prediction mode
8.3.2 Intra_8x8 prediction
process for luma samples
8.3.2.1 Derivation
process for Intra8x8PredMode
8.3.2.2 Intra_8x8
sample prediction
8.3.2.2.1 Reference sample filtering process for Intra_8x8 sample prediction
8.3.2.2.2 Specification
of Intra_8x8_Vertical prediction mode
8.3.2.2.3 Specification
of Intra_8x8_Horizontal prediction mode
8.3.2.2.4 Specification
of Intra_8x8_DC prediction mode
8.3.2.2.5 Specification
of Intra_8x8_Diagonal_Down_Left prediction mode
8.3.2.2.6 Specification of Intra_8x8_Diagonal_Down_Right prediction mode
8.3.2.2.7 Specification
of Intra_8x8_Vertical_Right prediction mode
8.3.2.2.8 Specification
of Intra_8x8_Horizontal_Down prediction mode
8.3.2.2.9 Specification
of Intra_8x8_Vertical_Left prediction mode
8.3.2.2.10 Specification of Intra_8x8_Horizontal_Up prediction mode
8.3.3 Intra_16x16 prediction process for luma samples
8.3.3.1 Specification
of Intra_16x16_Vertical prediction mode
8.3.3.2 Specification
of Intra_16x16_Horizontal prediction mode
8.3.3.3 Specification
of Intra_16x16_DC prediction mode
8.3.3.4 Specification
of Intra_16x16_Plane prediction mode
8.3.4 Intra
prediction process for chroma samples
8.3.4.1 Specification
of Intra_Chroma_DC prediction mode
8.3.4.2 Specification
of Intra_Chroma_Horizontal prediction mode
8.3.4.3 Specification
of Intra_Chroma_Vertical prediction mode
8.3.4.4 Specification
of Intra_Chroma_Plane prediction mode
8.3.4.5 Intra
prediction for chroma samples with ChromaArrayType equal to 3
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.1.1 Derivation
process for luma motion vectors for skipped macroblocks in P and SP slices
8.4.1.2 Derivation
process for luma motion vectors for B_Skip, B_Direct_16x16, and B_Direct_8x8
8.4.1.2.1 Derivation
process for the co-located 4x4 sub-macroblock partitions
8.4.1.2.2 Derivation
process for spatial direct luma motion vector and reference index prediction
mode
8.4.1.2.3 Derivation process for temporal direct luma motion vector and reference
index prediction mode
8.4.1.3 Derivation
process for luma motion vector prediction
8.4.1.3.1 Derivation
process for median luma motion vector prediction
8.4.1.3.2 Derivation
process for motion data of neighbouring partitions
8.4.1.4 Derivation
process for chroma motion vectors
8.4.2 Decoding
process for Inter prediction samples
8.4.2.1 Reference
picture selection process
8.4.2.2 Fractional
sample interpolation process
8.4.2.2.1 Luma sample
interpolation process
8.4.2.2.2 Chroma
sample interpolation process
8.4.2.3 Weighted
sample prediction process
8.4.2.3.1 Default weighted sample prediction process
8.4.2.3.2 Weighted
sample prediction process
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 quantisation 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.11.1 Transformation
process for chroma DC transform coefficients
8.5.11.2 Scaling
process for chroma DC transform coefficients
8.5.12 Scaling
and transformation process for residual 4x4 blocks
8.5.12.1 Scaling process for
residual 4x4 blocks
8.5.12.2 Transformation
process for residual 4x4 blocks
8.5.13 Scaling
and transformation process for residual 8x8 blocks
8.5.13.1 Scaling process for
residual 8x8 blocks
8.5.13.2 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.1.1 Luma transform
coefficient decoding process
8.6.1.2 Chroma
transform coefficient decoding process
8.6.2 SP
and SI slice decoding process for switching pictures
8.6.2.1 Luma
transform coefficient decoding process
8.6.2.2 Chroma
transform coefficient decoding process
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
8.7.2.1 Derivation
process for the luma content dependent boundary filtering strength
8.7.2.2 Derivation
process for the thresholds for each block edge
8.7.2.3 Filtering
process for edges with bS less than 4
8.7.2.4 Filtering
process for edges for bS equal to 4
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 transform coefficient levels and trailing ones
9.2.2 Parsing
process for level information
9.2.2.1 Parsing process for
level_prefix
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 Initialisation process
9.3.1.1 Initialisation
process for context variables
9.3.1.2 Initialisation
process for the arithmetic decoding engine
9.3.2 Binarization process
9.3.2.1 Unary
(U) binarization process
9.3.2.2 Truncated
unary (TU) binarization process
9.3.2.3 Concatenated
unary/ k-th order Exp-Golomb (UEGk) binarization process
9.3.2.4 Fixed-length
(FL) binarization process
9.3.2.5 Binarization
process for macroblock type and sub-macroblock type
9.3.2.6 Binarization process
for coded block pattern
9.3.2.7 Binarization
process for mb_qp_delta
9.3.3 Decoding
process flow
9.3.3.1 Derivation
process for ctxIdx
9.3.3.1.1 Assignment
process of ctxIdxInc using neighbouring syntax elements
9.3.3.1.1.1 Derivation process of ctxIdxInc for the syntax element mb_skip_flag
9.3.3.1.1.2 Derivation process of ctxIdxInc for the syntax element
mb_field_decoding_flag
9.3.3.1.1.3 Derivation process of ctxIdxInc for the syntax element mb_type
9.3.3.1.1.4 Derivation process of
ctxIdxInc for the syntax element coded_block_pattern
9.3.3.1.1.5 Derivation process of ctxIdxInc for the syntax element mb_qp_delta
9.3.3.1.1.6 Derivation process of ctxIdxInc for the syntax elements ref_idx_l0
and ref_idx_l1
9.3.3.1.1.7 Derivation process of ctxIdxInc for the syntax elements mvd_l0 and
mvd_l1
9.3.3.1.1.8 Derivation process of ctxIdxInc for the syntax element
intra_chroma_pred_mode
9.3.3.1.1.9 Derivation process of ctxIdxInc for the syntax element coded_block_flag
9.3.3.1.1.10 Derivation process of ctxIdxInc for the syntax element
transform_size_8x8_flag
9.3.3.1.2 Assignment
process of ctxIdxInc using prior decoded bin values
9.3.3.1.3 Assignment
process of ctxIdxInc for syntax elements significant_coeff_flag,
last_significant_coeff_flag, and coeff_abs_level_minus1
9.3.3.2 Arithmetic
decoding process
9.3.3.2.1 Arithmetic
decoding process for a binary decision
9.3.3.2.1.1 State transition process
9.3.3.2.2 Renormalization
process in the arithmetic decoding engine
9.3.3.2.3 Bypass
decoding process for binary decisions
9.3.3.2.4 Decoding
process for binary decisions before termination
9.3.4 Arithmetic
encoding process (informative)
9.3.4.1 Initialisation
process for the arithmetic encoding engine (informative)
9.3.4.2 Encoding
process for a binary decision (informative)
9.3.4.3 Renormalization
process in the arithmetic encoding engine (informative)
9.3.4.4 Bypass
encoding process for binary decisions (informative)
9.3.4.5 Encoding
process for a binary decision before termination (informative)
9.3.4.6 Byte stuffing process
(informative)
Annex A Profiles and levels
A.1 Requirements on
video decoder capability
A.2 Profiles
A.2.1 Baseline
profile
A.2.1.1 Constrained Baseline
bitstreams and decoders
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, Main, and Extended profiles
A.3.2 Level
limits common to the High, 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.3.1 Baseline
profile level limits
A.3.3.2 Main, High,
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 profile level
limits
A.3.3.3 Extended
Profile 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.2.4.1 Marking
and storage of a reference decoded picture into the DPB
C.2.4.2 Storage
of a non-reference picture into the DPB
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
C.4.5.1 Storage
and marking of a reference decoded picture into the DPB
C.4.5.2 Storage
and marking of a non-reference decoded picture into the DPB
C.4.5.3 "Bumping" process
Annex D Supplemental enhancement information
D.1 SEI payload syntax
D.1.1 Buffering
period SEI message syntax
D.1.2 Picture
timing SEI message syntax
D.1.3 Pan-scan rectangle SEI
message syntax
D.1.4 Filler
payload SEI message syntax
D.1.5 User
data registered by ITU-T Rec. T.35 SEI message syntax
D.1.6 User
data unregistered SEI message syntax
D.1.7 Recovery
point SEI message syntax
D.1.8 Decoded
reference picture marking repetition SEI message syntax
D.1.9 Spare
picture SEI message syntax
D.1.10
Scene information SEI message syntax
D.1.11 Sub-sequence
information SEI message syntax
D.1.12 Sub-sequence
layer characteristics SEI message syntax
D.1.13 Sub-sequence
characteristics SEI message syntax
D.1.14 Full-frame
freeze SEI message syntax
D.1.15 Full-frame
freeze release SEI message syntax
D.1.16 Full-frame
snapshot SEI message syntax
D.1.17 Progressive refinement
segment start SEI message syntax
D.1.18 Progressive
refinement segment end SEI message syntax
D.1.19 Motion-constrained
slice group set SEI message syntax
D.1.20
Film grain characteristics SEI message syntax
D.1.21 Deblocking
filter display preference SEI message syntax
D.1.22 Stereo
video information SEI message syntax
D.1.23 Post-filter
hint SEI message syntax
D.1.24 Tone
mapping information SEI message syntax
D.1.25 Reserved
SEI message syntax
D.2 SEI payload
semantics
D.2.1 Buffering
period SEI message semantics
D.2.2 Picture
timing SEI message semantics
D.2.3 Pan-scan
rectangle SEI message semantics
D.2.4 Filler
payload SEI message semantics
D.2.5 User
data registered by ITU-T Rec. T.35 SEI message semantics
D.2.6 User
data unregistered SEI message semantics
D.2.7 Recovery
point SEI message semantics
D.2.8 Decoded
reference picture marking repetition SEI message semantics
D.2.9 Spare
picture SEI message semantics
D.2.10 Scene
information SEI message semantics
D.2.11 Sub-sequence
information SEI message semantics
D.2.12 Sub-sequence layer
characteristics SEI message semantics
D.2.13 Sub-sequence
characteristics SEI message semantics
D.2.14 Full-frame
freeze SEI message semantics
D.2.15 Full-frame
freeze release SEI message semantics
D.2.16 Full-frame
snapshot SEI message semantics
D.2.17 Progressive
refinement segment start SEI message semantics
D.2.18 Progressive
refinement segment end SEI message semantics
D.2.19 Motion-constrained
slice group set SEI message semantics
D.2.20 Film
grain characteristics SEI message semantics
D.2.21 Deblocking
filter display preference SEI message semantics
D.2.22 Stereo
video information SEI message semantics
D.2.23 Post-filter
hint SEI message semantics
D.2.24 Tone
mapping information SEI message semantics
D.2.25 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 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.1.1 Field-to-frame
reference layer macroblock conversion process
G.6.1.2 Frame-to-field
reference layer macroblock conversion process
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.3.1 NAL unit syntax
G.7.3.1.1 NAL
unit header SVC extension syntax
G.7.3.2 Raw
byte sequence payloads and RBSP trailing bits syntax
G.7.3.2.1 Sequence parameter set
RBSP syntax
G.7.3.2.1.1 Sequence parameter set data syntax
G.7.3.2.1.2 Sequence parameter set extension RBSP syntax
G.7.3.2.1.3 Subset sequence
parameter set RBSP syntax
G.7.3.2.1.4 Sequence parameter set SVC extension syntax
G.7.3.2.2 Picture
parameter set RBSP syntax
G.7.3.2.3 Supplemental
enhancement information RBSP syntax
G.7.3.2.3.1 Supplemental enhancement information message syntax
G.7.3.2.4 Access
unit delimiter RBSP syntax
G.7.3.2.5 End
of sequence RBSP syntax
G.7.3.2.6 End
of stream RBSP syntax
G.7.3.2.7 Filler
data RBSP syntax
G.7.3.2.8 Slice
layer without partitioning RBSP syntax
G.7.3.2.9 Slice
data partition RBSP syntax
G.7.3.2.10 RBSP slice trailing bits syntax
G.7.3.2.11 RBSP trailing bits syntax
G.7.3.2.12 Prefix NAL unit RBSP syntax
G.7.3.2.13 Slice layer in scalable extension RBSP syntax
G.7.3.3 Slice
header syntax
G.7.3.3.1 Reference
picture list modification syntax
G.7.3.3.2 Prediction
weight table syntax
G.7.3.3.3 Decoded
reference picture marking syntax
G.7.3.3.4 Slice
header in scalable extension syntax
G.7.3.3.5 Decoded
reference base picture marking syntax
G.7.3.4 Slice
data syntax
G.7.3.4.1 Slice data in scalable
extension syntax
G.7.3.5 Macroblock
layer syntax
G.7.3.5.1 Macroblock
prediction syntax
G.7.3.5.2 Sub-macroblock
prediction syntax
G.7.3.5.3 Residual
data syntax
G.7.3.5.3.1 Residual luma syntax
G.7.3.5.3.2 Residual block CAVLC syntax
G.7.3.5.3.3 Residual block CABAC syntax
G.7.3.6 Macroblock
layer in scalable extension syntax
G.7.3.6.1 Macroblock
prediction in scalable extension syntax
G.7.3.6.2 Sub-macroblock
prediction in scalable extension syntax
G.7.4 Semantics
G.7.4.1 NAL
unit semantics
G.7.4.1.1 NAL
unit header SVC extension semantics
G.7.4.1.2 Order
of NAL units and association to coded pictures, access units, and video
sequences
G.7.4.1.2.1 Order of SVC sequence parameter set RBSPs and picture parameter set
RBSPs and their activation
G.7.4.1.2.2 Order of access units and association to coded video sequences
G.7.4.1.2.3 Order of NAL units and coded pictures and association to access
units
G.7.4.1.2.4 Detection of the first VCL NAL unit of a primary coded picture
G.7.4.1.2.5 Order of VCL NAL units and association to coded pictures
G.7.4.2 Raw
byte sequence payloads and RBSP trailing bits semantics
G.7.4.2.1 Sequence
parameter set RBSP semantics
G.7.4.2.1.1 Sequence parameter set data semantics
G.7.4.2.1.2 Sequence parameter set extension RBSP semantics
G.7.4.2.1.3 Subset sequence parameter set RBSP semantics
G.7.4.2.1.4 Sequence parameter set SVC extension semantics
G.7.4.2.2 Picture
parameter set RBSP semantics
G.7.4.2.3 Supplemental
enhancement information RBSP semantics
G.7.4.2.3.1
Supplemental enhancement information message semantics
G.7.4.2.4 Access
unit delimiter RBSP semantics
G.7.4.2.5 End
of sequence RBSP semantics
G.7.4.2.6 End of stream RBSP
semantics
G.7.4.2.7 Filler
data RBSP semantics
G.7.4.2.8 Slice
layer without partitioning RBSP semantics
G.7.4.2.9 Slice
data partition RBSP semantics
G.7.4.2.10 RBSP slice trailing bits semantics
G.7.4.2.11 RBSP trailing bits semantics
G.7.4.2.12 Prefix NAL unit RBSP semantics
G.7.4.2.13 Slice layer in scalable extension RBSP semantics
G.7.4.3 Slice
header semantics
G.7.4.3.1 Reference
picture list modification semantics
G.7.4.3.2 Prediction
weight table semantics
G.7.4.3.3 Decoded
reference picture marking semantics
G.7.4.3.4 Slice
header in scalable extension semantics
G.7.4.3.5 Decoded
reference base picture marking semantics
G.7.4.4 Slice
data semantics
G.7.4.4.1 Slice
data in scalable extension semantics
G.7.4.5 Macroblock
layer semantics
G.7.4.5.1 Macroblock
prediction semantics
G.7.4.5.2 Sub-macroblock
prediction semantics
G.7.4.5.3 Residual
data semantics
G.7.4.5.3.1 Residual luma semantics
G.7.4.5.3.2 Residual block CAVLC semantics
G.7.4.5.3.3 Residual block CABAC semantics
G.7.4.6 Macroblock
layer in scalable extension semantics
G.7.4.6.1 Macroblock
prediction in scalable extension semantics
G.7.4.6.2 Sub-macroblock
prediction in scalable extension semantics
G.8 SVC decoding
process
G.8.1 SVC
initialisation and decoding processes
G.8.1.1 Derivation
process for the set of layer representations required for decoding
G.8.1.2 Array
assignment, initialisation, and restructuring processes
G.8.1.2.1 Array
assignment and initialisation process
G.8.1.2.2 Array
restructuring process
G.8.1.3 Layer
representation decoding processes
G.8.1.3.1 Base
decoding process for layer representations without resolution change
G.8.1.3.2 Base
decoding process for layer representations with resolution change
G.8.1.3.3 Target
layer representation decoding process
G.8.1.4
Slice decoding processes
G.8.1.4.1 Base
decoding process for slices without resolution change
G.8.1.4.2 Base
decoding process for slices with resolution change
G.8.1.5 Macroblock
initialisation and decoding processes
G.8.1.5.1 Macroblock
initialisation process
G.8.1.5.1.1 Derivation process for macroblock type, sub-macroblock type, and
inter-layer predictors for reference indices and motion vectors
G.8.1.5.1.2 Derivation process for quantisation parameters and transform type
G.8.1.5.2 Base
decoding process for macroblocks in slices without resolution change
G.8.1.5.3 Base
decoding process for macroblocks in slices with resolution change
G.8.1.5.4 Macroblock
decoding process prior to decoding a layer representation without resolution
change and tcoeff_level_prediction_flag equal to 0
G.8.1.5.5 Macroblock
decoding process prior to resolution change
G.8.1.5.6 Target
macroblock decoding process
G.8.2 SVC
reference picture lists construction and decoded reference picture marking
process
G.8.2.1 SVC
decoding process for picture order count
G.8.2.2 SVC decoding process
for picture numbers
G.8.2.3 SVC
decoding process for reference picture lists construction
G.8.2.4 SVC
decoded reference picture marking process
G.8.2.4.1 SVC
reference picture marking process for a dependency representation
G.8.2.4.2 SVC
sliding window decoded reference picture marking process
G.8.2.4.3 SVC adaptive memory
control reference base picture marking process
G.8.2.4.4 SVC
adaptive memory control decoded reference picture marking process
G.8.2.5 SVC
decoding process for gaps in frame_num
G.8.3 SVC
intra decoding processes
G.8.3.1 SVC
derivation process for intra prediction modes
G.8.3.1.1 SVC
derivation process for Intra_4x4 prediction modes
G.8.3.1.2 SVC
derivation process for Intra_8x8 prediction modes
G.8.3.2 SVC
intra sample prediction and construction process
G.8.3.2.1 SVC intra prediction
and construction process for luma samples or chroma samples with
ChromaArrayType equal to 3
G.8.3.2.1.1 SVC construction process for luma samples and chroma samples with
ChromaArrayType equal to 3 of I_PCM macroblocks
G.8.3.2.1.2 SVC Intra_4x4 sample prediction and construction process
G.8.3.2.1.3 SVC Intra_8x8 sample prediction and construction process
G.8.3.2.1.4 SVC Intra_16x16 sample prediction and construction process
G.8.3.2.2 SVC
intra prediction and construction process for chroma samples
G.8.3.2.2.1
SVC construction process for chroma samples of I_PCM
macroblocks
G.8.3.2.2.2 SVC intra prediction and construction process for chroma samples
with ChromaArrayType equal to 1 or 2
G.8.4 SVC Inter prediction process
G.8.4.1 SVC
derivation process for motion vector components and reference indices
G.8.4.1.1 SVC
derivation process for luma motion vector components and reference indices of a
macroblock or sub-macroblock partition
G.8.4.1.2 SVC
derivation process for luma motion vectors and reference indices for B_Skip,
B_Direct_16x16, and B_Direct_8x8 in NAL units with nal_unit_type equal to 20
G.8.4.2 SVC
decoding process for Inter prediction samples
G.8.4.2.1 SVC
derivation process for prediction weights
G.8.4.2.2 Intra-inter
prediction combination process
G.8.5 SVC
transform coefficient decoding and sample array construction processes
G.8.5.1 Transform
coefficient scaling and refinement process
G.8.5.1.1 Refinement process for
luma transform coefficients or chroma transform coefficients with
ChromaArrayType equal to 3
G.8.5.1.1.1 Assignment process for luma transform coefficient values or chroma transform
coefficient values with ChromaArrayType equal to 3 for I_PCM macroblocks
G.8.5.1.1.2 Refinement process for transform coefficients of residual 4x4 blocks
G.8.5.1.1.3 Refinement process for transform coefficients of residual 8x8 blocks
G.8.5.1.1.4 Refinement process for transform coefficients of Intra_16x16
macroblocks
G.8.5.1.2 Refinement
process for chroma transform coefficients
G.8.5.1.2.1 Assignment process for chroma transform coefficient values for I_PCM
macroblocks
G.8.5.1.2.2 Refinement process for chroma transform coefficients with
ChromaArrayType equal to 1 or 2
G.8.5.2 Transform
coefficient level scaling process prior to transform coefficient refinement
G.8.5.3 Residual
construction and accumulation process
G.8.5.3.1 Construction
process for luma residuals or chroma residuals with ChromaArrayType equal
to 3
G.8.5.3.1.1 Construction process for luma residuals or chroma residuals with
ChromaArrayType equal to 3 of I_PCM macroblocks
G.8.5.3.1.2 Construction process for residual 4x4 blocks
G.8.5.3.1.3 Construction process for residual 8x8 blocks
G.8.5.3.1.4 Construction process for residuals of Intra_16x16 macroblocks
G.8.5.3.2 Construction
process for chroma residuals
G.8.5.3.2.1 Construction process for chroma residuals of I_PCM macroblocks
G.8.5.3.2.2 Construction process for chroma residuals with ChromaArrayType equal
to 1 or 2
G.8.5.4 Sample
array accumulation process
G.8.5.4.1 Picture
sample array construction process
G.8.5.4.2 Macroblock
sample array extraction process
G.8.5.4.3 Picture
sample array construction process for a colour component
G.8.5.4.4 Macroblock
sample array extraction process for a colour component
G.8.5.5 Sample
array re-initialisation process
G.8.6 Resampling processes for prediction data, intra samples, and
residual samples
G.8.6.1 Derivation
process for inter-layer predictors for macroblock type, sub-macroblock type,
reference indices, and motion vectors
G.8.6.1.1 Derivation
process for reference layer partition identifications
G.8.6.1.2 Derivation
process for inter-layer predictors for reference indices and motion vectors
G.8.6.1.3 Derivation
process for inter-layer predictors for P and B macroblock and sub-macroblock
types
G.8.6.2 Resampling
process for intra samples
G.8.6.2.1 Resampling
process for intra samples of a macroblock colour component
G.8.6.2.2 Reference
layer sample array construction process prior to intra resampling
G.8.6.2.2.1 Derivation process for reference layer slice and intra macroblock
identifications
G.8.6.2.2.2 Construction process for not available sample values prior to intra
resampling
G.8.6.2.3 Interpolation
process for Intra_Base prediction
G.8.6.2.4 Vertical
interpolation process for Intra_Base prediction
G.8.6.2.5 Derivation
process for variables related to inter-layer intra prediction
G.8.6.3 Resampling
process for residual samples
G.8.6.3.1 Resampling
process for residual samples of a macroblock colour component
G.8.6.3.2 Reference
layer sample array construction process prior to residual resampling
G.8.6.3.2.1 Derivation process for reference layer transform block identifications
G.8.6.3.3 Interpolation
process for residual prediction
G.8.6.3.4 Vertical
interpolation process for residual prediction
G.8.7 SVC
deblocking filter processes
G.8.7.1 Deblocking
filter process for Intra_Base prediction
G.8.7.2 Deblocking
filter process for target representations
G.8.7.3 Derivation
process for quantisation parameters used in the deblocking filter process
G.8.7.4 Macroblock
deblocking filter process
G.8.7.4.1 SVC
filtering process for block edges
G.8.7.4.2 SVC
filtering process for a set of samples across a horizontal or vertical block
edge
G.8.7.4.3 SVC
derivation process for the luma content dependent boundary filtering strength
G.8.8 Specification
of bitstream subsets
G.8.8.1 Sub-bitstream
extraction process
G.8.8.2 Specification
of the base layer bitstream
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.2.1 Additional
parsing process for total number of transform coefficient levels and trailing
ones
G.9.2.2 Alternative parsing
process for run information
G.9.3 Alternative
CABAC parsing process for slice data in scalable extension
G.9.3.1 Initialisation
process
G.9.3.2 Binarization process
G.9.3.3 Decoding
process flow
G.9.3.3.1 Derivation
process for ctxIdx
G.9.3.3.2 Assignment
process of ctxIdxInc using neighbouring syntax elements
G.9.3.3.2.1 Derivation process of ctxIdxInc for the syntax element base_mode_flag
G.9.3.3.2.2 Derivation process of ctxIdxInc for the syntax element
residual_prediction_flag
G.10 Profiles and
levels
G.10.1 Profiles
G.10.1.1 Scalable
Baseline profile
G.10.1.2 Scalable
High profile
G.10.1.3 Scalable
High Intra profile
G.10.2 Levels
G.10.2.1 Level
limits common to Scalable Baseline, Scalable High, and Scalable High Intra
profiles
G.10.2.2 Profile specific level
limits
G.11 Byte stream format
G.12 Hypothetical
reference decoder
G.13 Supplemental
enhancement information
G.13.1 SEI
payload syntax
G.13.1.1 Scalability
information SEI message syntax
G.13.1.2 Sub-picture
scalable layer SEI message syntax
G.13.1.3 Non-required
layer representation SEI message syntax
G.13.1.4 Priority
layer information SEI message syntax
G.13.1.5 Layers
not present SEI message syntax
G.13.1.6 Layer
dependency change SEI message syntax
G.13.1.7 Scalable
nesting SEI message syntax
G.13.1.8 Base
layer temporal HRD SEI message syntax
G.13.1.9 Quality
layer integrity check SEI message syntax
G.13.1.10 Redundant
picture property SEI message syntax
G.13.1.11 Temporal
level zero dependency representation index SEI message syntax
G.13.1.12 Temporal level
switching point SEI message syntax
G.13.2 SEI
payload semantics
G.13.2.1 Scalability
information SEI message semantics
G.13.2.2
Sub-picture scalable layer SEI message semantics
G.13.2.3 Non-required
layer representation SEI message semantics
G.13.2.4 Priority
layer information SEI message semantics
G.13.2.5 Layers
not present SEI message semantics
G.13.2.6 Layer
dependency change SEI message semantics
G.13.2.7 Scalable
nesting SEI message semantics
G.13.2.8 Base
layer temporal HRD SEI message semantics
G.13.2.9 Quality
layer integrity check SEI message semantics
G.13.2.10 Redundant
picture property SEI message semantics
G.13.2.11 Temporal
level zero dependency representation index SEI message semantics
G.13.2.12 Temporal
level switching point SEI message semantics
G.14 SVC video
usability information extension
G.14.1 SVC
VUI parameters extension syntax
G.14.2 SVC
VUI parameters extension semantics