1.            Table of Contents

0 Introduction
0.1 General
0.2 Prologue
0.3 Purpose
0.4 Applications
0.5 Publication and versions of this Specification
0.6 Profiles, tiers, and levels
0.7 Overview of the design characteristics
0.8 How to read this Specification
1 Scope
2 Normative references
2.1 General
2.2 Identical Recommendations | International Standards
2.3 Paired Recommendations | International Standards equivalent in technical content
2.4 Additional references
3 Definitions
4 Abbreviations and acronyms
5 Conventions
5.1 General
5.2 Arithmetic operators
5.3 Logical operators
5.4 Relational operators
5.5 Bit-wise operators
5.6 Assignment operators
5.7 Range notation
5.8 Mathematical functions
5.9 Order of operation precedence
5.10 Variables, syntax elements, and tables
5.11 Text description of logical operations
5.12 Processes
6 Bitstream and picture formats, partitionings, scanning processes, and neighbouring relationships
6.1 Bitstream formats
6.2 Source, decoded, and output picture formats
6.3 Partitioning of pictures, slices, slice segments, tiles, coding tree units, and coding tree blocks
6.3.1 Partitioning of pictures into slices, slice segments, and tiles
6.3.2 Block and quadtree structures
6.3.3 Spatial or component-wise partitionings
6.4 Availability processes
6.4.1 Derivation process for z-scan order block availability
6.4.2 Derivation process for prediction block availability
6.5 Scanning processes
6.5.1 Coding tree block raster and tile scanning conversion process
6.5.2 Z-scan order array initialization process
6.5.3 Up-right diagonal scan order array initialization process
6.5.4 Horizontal scan order array initialization process
6.5.5 Vertical scan order array initialization process
7 Syntax and semantics
7.1 Method of specifying syntax in tabular form
7.2 Specification of syntax functions and descriptors
7.3 Syntax in tabular form
7.3.1 NAL unit syntax
7.3.1.1 General NAL unit syntax
7.3.1.2 NAL unit header syntax
7.3.2 Raw byte sequence payloads, trailing bits, and byte alignment syntax
7.3.2.1 Video parameter set RBSP syntax
7.3.2.2 Sequence parameter set RBSP syntax
7.3.2.3 Picture parameter set RBSP syntax
7.3.2.4 Supplemental enhancement information RBSP syntax
7.3.2.5 Access unit delimiter RBSP syntax
7.3.2.6 End of sequence RBSP syntax
7.3.2.7 End of bitstream RBSP syntax
7.3.2.8 Filler data RBSP syntax
7.3.2.9 Slice segment layer RBSP syntax
7.3.2.10 RBSP slice segment trailing bits syntax
7.3.2.11 RBSP trailing bits syntax
7.3.2.12 Byte alignment syntax
7.3.3 Profile, tier and level syntax
7.3.4 Scaling list data syntax
7.3.5 Supplemental enhancement information message syntax
7.3.6 Slice segment header syntax
7.3.6.1 General slice segment header syntax
7.3.6.2 Reference picture list modification syntax
7.3.6.3 Weighted prediction parameters syntax
7.3.7 Short-term reference picture set syntax
7.3.8 Slice segment data syntax
7.3.8.1 General slice segment data syntax
7.3.8.2 Coding tree unit syntax
7.3.8.3 Sample adaptive offset syntax
7.3.8.4 Coding quadtree syntax
7.3.8.5 Coding unit syntax
7.3.8.6 Prediction unit syntax
7.3.8.7 PCM sample syntax
7.3.8.8 Transform tree syntax
7.3.8.9 Motion vector difference syntax
7.3.8.10 Transform unit syntax
7.3.8.11 Residual coding syntax
7.3.8.12 Cross-component prediction syntax
7.4 Semantics
7.4.1 General
7.4.2 NAL unit semantics
7.4.2.1 General NAL unit semantics
7.4.2.2 NAL unit header semantics
7.4.2.3 Encapsulation of an SODB within an RBSP (informative)
7.4.2.4 Order of NAL units and association to coded pictures, access units, and coded video sequences
7.4.3 Raw byte sequence payloads, trailing bits, and byte alignment semantics
7.4.3.1 Video parameter set RBSP semantics
7.4.3.2 Sequence parameter set RBSP semantics
7.4.3.3 Picture parameter set RBSP semantics
7.4.3.4 Supplemental enhancement information RBSP semantics
7.4.3.5 Access unit delimiter RBSP semantics
7.4.3.6 End of sequence RBSP semantics
7.4.3.7 End of bitstream RBSP semantics
7.4.3.8 Filler data RBSP semantics
7.4.3.9 Slice segment layer RBSP semantics
7.4.3.10 RBSP slice segment trailing bits semantics
7.4.3.11 RBSP trailing bits semantics
7.4.3.12 Byte alignment semantics
7.4.4 Profile, tier, and level semantics
7.4.5 Scaling list data semantics
7.4.6 Supplemental enhancement information message semantics
7.4.7 Slice segment header semantics
7.4.7.1 General slice segment header semantics
7.4.7.2 Reference picture list modification semantics
7.4.7.3 Weighted prediction parameters semantics
7.4.8 Short-term reference picture set semantics
7.4.9 Slice segment data semantics
7.4.9.1 General slice segment data semantics
7.4.9.2 Coding tree unit semantics
7.4.9.3 Sample adaptive offset semantics
7.4.9.4 Coding quadtree semantics
7.4.9.5 Coding unit semantics
7.4.9.6 Prediction unit semantics
7.4.9.7 PCM sample semantics
7.4.9.8 Transform tree semantics
7.4.9.9 Motion vector difference semantics
7.4.9.10 Transform unit semantics
7.4.9.11 Residual coding semantics
7.4.9.12 Cross-component prediction semantics
8 Decoding process
8.1 General decoding process
8.1.1 General
8.1.2 CVSG decoding process
8.1.3 Decoding process for a coded picture with nuh_layer_id equal to 0
8.2 NAL unit decoding process
8.3 Slice decoding process
8.3.1 Decoding process for picture order count
8.3.2 Decoding process for reference picture set
8.3.3 Decoding process for generating unavailable reference pictures
8.3.3.1 General decoding process for generating unavailable reference pictures
8.3.3.2 Generation of one unavailable picture
8.3.4 Decoding process for reference picture lists construction
8.3.5 Decoding process for collocated picture and no backward prediction flag
8.4 Decoding process for coding units coded in intra prediction mode
8.4.1 General decoding process for coding units coded in intra prediction mode
8.4.2 Derivation process for luma intra prediction mode
8.4.3 Derivation process for chroma intra prediction mode
8.4.4 Decoding process for intra blocks
8.4.4.1 General decoding process for intra blocks
8.4.4.2 Intra sample prediction
8.5 Decoding process for coding units coded in inter prediction mode
8.5.1 General decoding process for coding units coded in inter prediction mode
8.5.2 Inter prediction process
8.5.3 Decoding process for prediction units in inter prediction mode
8.5.3.1 General
8.5.3.2 Derivation process for motion vector components and reference indices
8.5.3.3 Decoding process for inter prediction samples
8.5.4 Decoding process for the residual signal of coding units coded in inter prediction mode
8.5.4.1 General
8.5.4.2 Decoding process for luma residual blocks
8.5.4.3 Decoding process for chroma residual blocks
8.6 Scaling, transformation and array construction process prior to deblocking filter process
8.6.1 Derivation process for quantization parameters
8.6.2 Scaling and transformation process
8.6.3 Scaling process for transform coefficients
8.6.4 Transformation process for scaled transform coefficients
8.6.4.1 General
8.6.4.2 Transformation process
8.6.5 Residual modification process for blocks using a transform bypass
8.6.6 Residual modification process for transform blocks using cross-component prediction
8.6.7 Picture construction process prior to in-loop filter process
8.7 In-loop filter process
8.7.1 General
8.7.2 Deblocking filter process
8.7.2.1 General
8.7.2.2 Derivation process of transform block boundary
8.7.2.3 Derivation process of prediction block boundary
8.7.2.4 Derivation process of boundary filtering strength
8.7.2.5 Edge filtering process
8.7.3 Sample adaptive offset process
8.7.3.1 General
8.7.3.2 Coding tree block modification process
9 Parsing process
9.1 General
9.2 Parsing process for 0-th order Exp-Golomb codes
9.2.1 General
9.2.2 Mapping process for signed Exp-Golomb codes
9.3 CABAC parsing process for slice segment data
9.3.1 General
9.3.2 Initialization process
9.3.2.1 General
9.3.2.2 Initialization process for context variables
9.3.2.3 Storage process for context variables and Rice parameter initialization states
9.3.2.4 Synchronization process for context variables and Rice parameter initialization states
9.3.2.5 Initialization process for the arithmetic decoding engine
9.3.3 Binarization process
9.3.3.1 General
9.3.3.2 Truncated Rice (TR) binarization process
9.3.3.3 k-th order Exp-Golomb (EGk) binarization process
9.3.3.4 Limited k-th order Exp-Golomb (EGk) binarization process
9.3.3.5 Fixed-length (FL) binarization process
9.3.3.6 Binarization process for part_mode
9.3.3.7 Binarization process for intra_chroma_pred_mode
9.3.3.8 Binarization process for inter_pred_idc
9.3.3.9 Binarization process for cu_qp_delta_abs
9.3.3.10 Binarization process for coeff_abs_level_remaining[ ]
9.3.4 Decoding process flow
9.3.4.1 General
9.3.4.2 Derivation process for ctxTable, ctxIdx and bypassFlag
9.3.4.3 Arithmetic decoding process
9.3.5 Arithmetic encoding process (informative)
9.3.5.1 General
9.3.5.2 Initialization process for the arithmetic encoding engine (informative)
9.3.5.3 Encoding process for a binary decision (informative)
9.3.5.4 Renormalization process in the arithmetic encoding engine (informative)
9.3.5.5 Bypass encoding process for binary decisions (informative)
9.3.5.6 Encoding process for a binary decision before termination (informative)
9.3.5.7 Byte stuffing process (informative)
10 Sub-bitstream extraction process
Annex A Profiles, tiers and levels
A.1 Overview of profiles, tiers and levels
A.2 Requirements on video decoder capability
A.3 Profiles
A.3.1 General
A.3.2 Main profile
A.3.3 Main 10 profile
A.3.4 Main Still Picture profile
A.3.5 Format range extensions profiles
A.3.6 Format range extensions high throughput profiles
A.4 Tiers and levels
A.4.1 General tier and level limits
A.4.2 Profile-specific level limits for the video profiles
A.4.3 Effect of level limits on picture rate for the video profiles (informative)
Annex B Byte stream format
B.1 General
B.2 Byte stream NAL unit syntax and semantics
B.2.1 Byte stream NAL unit syntax
B.2.2 Byte stream NAL unit semantics
B.3 Byte stream NAL unit decoding process
B.4 Decoder byte-alignment recovery (informative)
Annex C Hypothetical reference decoder
C.1 General
C.2 Operation of coded picture buffer (CPB)
C.2.1 General
C.2.2 Timing of decoding unit arrival
C.2.3 Timing of decoding unit removal and decoding of decoding unit
C.3 Operation of the decoded picture buffer (DPB)
C.3.1 General
C.3.2 Removal of pictures from the DPB
C.3.3 Picture output
C.3.4 Current decoded picture marking and storage
C.4 Bitstream conformance
C.5 Decoder conformance
C.5.1 General
C.5.2 Operation of the output order DPB
C.5.2.1 General
C.5.2.2 Output and removal of pictures from the DPB
C.5.2.3 Picture decoding, marking, additional bumping, and storage
C.5.2.4 "Bumping" process
Annex D Supplemental enhancement information
D.1 General
D.2 SEI payload syntax
D.2.1 General SEI message syntax
D.2.2 Buffering period SEI message syntax
D.2.3 Picture timing SEI message syntax
D.2.4 Pan-scan rectangle SEI message syntax
D.2.5 Filler payload SEI message syntax
D.2.6 User data registered by Rec. ITU-T T.35 SEI message syntax
D.2.7 User data unregistered SEI message syntax
D.2.8 Recovery point SEI message syntax
D.2.9 Scene information SEI message syntax
D.2.10 Picture snapshot SEI message syntax
D.2.11 Progressive refinement segment start SEI message syntax
D.2.12 Progressive refinement segment end SEI message syntax
D.2.13 Film grain characteristics SEI message syntax
D.2.14 Post-filter hint SEI message syntax
D.2.15 Tone mapping information SEI message syntax
D.2.16 Frame packing arrangement SEI message syntax
D.2.17 Display orientation SEI message syntax
D.2.18 Structure of pictures information SEI message syntax
D.2.19 Decoded picture hash SEI message syntax
D.2.20 Active parameter sets SEI message syntax
D.2.21 Decoding unit information SEI message syntax
D.2.22 Temporal sub-layer zero index SEI message syntax
D.2.23 Scalable nesting SEI message syntax
D.2.24 Region refresh information SEI message syntax
D.2.25 No display SEI message syntax
D.2.26 Time code SEI message syntax
D.2.27 Mastering display colour volume SEI message syntax
D.2.28 Segmented rectangular frame packing arrangement SEI message syntax
D.2.29 Temporal motion-constrained tile sets SEI message syntax
D.2.30 Chroma resampling filter hint SEI message syntax
D.2.31 Knee function information SEI message syntax
D.2.32 Colour remapping information SEI message syntax
D.2.33 Deinterlaced field identification SEI message syntax
D.2.34 Reserved SEI message syntax
D.3 SEI payload semantics
D.3.1 General SEI payload semantics
D.3.2 Buffering period SEI message semantics
D.3.3 Picture timing SEI message semantics
D.3.4 Pan-scan rectangle SEI message semantics
D.3.5 Filler payload SEI message semantics
D.3.6 User data registered by Rec. ITU-T T.35 SEI message semantics
D.3.7 User data unregistered SEI message semantics
D.3.8 Recovery point SEI message semantics
D.3.9 Scene information SEI message semantics
D.3.10 Picture snapshot SEI message semantics
D.3.11 Progressive refinement segment start SEI message semantics
D.3.12 Progressive refinement segment end SEI message semantics
D.3.13 Film grain characteristics SEI message semantics
D.3.14 Post-filter hint SEI message semantics
D.3.15 Tone mapping information SEI message semantics
D.3.16 Frame packing arrangement SEI message semantics
D.3.17 Display orientation SEI message semantics
D.3.18 Structure of pictures information SEI message semantics
D.3.19 Decoded picture hash SEI message semantics
D.3.20 Active parameter sets SEI message semantics
D.3.21 Decoding unit information SEI message semantics
D.3.22 Temporal sub-layer zero index SEI message semantics
D.3.23 Scalable nesting SEI message semantics
D.3.24 Region refresh information SEI message semantics
D.3.25 No display SEI message semantics
D.3.26 Time code SEI message semantics
D.3.27 Mastering display colour volume SEI message semantics
D.3.28 Segmented rectangular frame packing arrangement SEI message semantics
D.3.29 Temporal motion-constrained tile sets SEI message semantics
D.3.30 Chroma resampling filter hint SEI message semantics
D.3.31 Knee function information SEI message semantics
D.3.32 Colour remapping information SEI message semantics
D.3.33 Deinterlaced field identification SEI message semantics
D.3.34 Reserved SEI message semantics
Annex E Video usability information
E.1 General
E.2 VUI syntax
E.2.1 VUI parameters syntax
E.2.2 HRD parameters syntax
E.2.3 Sub-layer HRD parameters syntax
E.3 VUI semantics
E.3.1 VUI parameters semantics
E.3.2 HRD parameters semantics
E.3.3 Sub-layer HRD parameters semantics
Annex F Common specifications for multi-layer extensions
F.1 Scope
F.2 Normative references
F.3 Definitions
F.4 Abbreviations
F.5 Conventions
F.6 Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships
F.7 Syntax and semantics
F.7.1 Method of specifying syntax in tabular form
F.7.2 Specification of syntax functions, categories, and descriptors
F.7.3 Syntax in tabular form
F.7.3.1 NAL unit syntax
F.7.3.2 Raw byte sequence payloads and RBSP trailing bits syntax
F.7.3.3 Profile, tier, and level syntax
F.7.3.4 Scaling list data syntax
F.7.3.5 Supplemental enhancement information message syntax
F.7.3.6 Slice segment header syntax
F.7.3.7 Short-term reference picture set syntax
F.7.3.8 Slice segment data syntax
F.7.4 Semantics
F.7.4.1 General
F.7.4.2 NAL unit semantics
F.7.4.3 Raw byte sequence payloads, trailing bits, and byte alignment semantics
F.7.4.4 Profile, tier, and level semantics
F.7.4.5 Scaling list data semantics
F.7.4.6 Supplemental enhancement information message semantics
F.7.4.7 Slice segment header semantics
F.7.4.8 Short-term reference picture set semantics
F.7.4.9 Slice segment data semantics
F.8 Decoding process
F.8.1 General decoding process
F.8.1.1 General
F.8.1.2 CVSG decoding process
F.8.1.3 Common decoding process for a coded picture
F.8.1.4 Decoding process for a coded picture with nuh_layer_id equal to 0
F.8.1.5 Decoding process for starting the decoding of a coded picture with nuh_layer_id greater than 0
F.8.1.6 Decoding process for ending the decoding of a coded picture with nuh_layer_id greater than 0
F.8.1.7 Decoding process for generating unavailable reference pictures for pictures first in decoding order within a layer
F.8.1.8 Initialization process for an external base layer picture
F.8.1.9 Decoding process for an external base layer picture
F.8.2 NAL unit decoding process
F.8.3 Slice decoding processes
F.8.3.1 Decoding process for picture order count
F.8.3.2 Decoding process for reference picture set
F.8.3.3 Decoding process for generating unavailable reference pictures
F.8.3.4 Decoding process for reference picture lists construction
F.8.4 Decoding process for coding units coded in intra prediction mode
F.8.5 Decoding process for coding units coded in inter prediction mode
F.8.6 Scaling, transformation and array construction process prior to deblocking filter process
F.8.7 In-loop filter process
F.9 Parsing process
F.10 Specification of bitstream subsets
F.10.1 Sub-bitstream extraction process
F.10.2 Independent non-base layer rewriting process
F.10.3 Sub-bitstream extraction process for additional layer sets
F.11 Profiles, tiers, and levels
F.11.1 Independent non-base layer decoding capability
F.11.2 Decoder capabilities
F.12 Byte stream format
F.13 Hypothetical reference decoder
F.13.1 General
F.13.2 Operation of bitstream partition buffer (BPB)
F.13.2.1 General
F.13.2.2 Timing of decoding unit arrival
F.13.2.3 Timing of decoding unit removal and decoding of decoding unit
F.13.3 Operation of decoded picture buffer (DPB)
F.13.3.1 General
F.13.3.2 Removal of pictures from the DPB
F.13.3.3 Picture output
F.13.3.4 Current decoded picture marking and storage
F.13.4 Bitstream conformance
F.13.5 Decoder conformance
F.13.5.1 General
F.13.5.2 Operation of the output order DPB
F.13.6 Demultiplexing process for deriving a bitstream partition
F.14 Supplemental enhancement information
F.14.1 General
F.14.2 SEI payload syntax
F.14.2.1 General SEI payload syntax
F.14.2.2 Annex D SEI message syntax for multi-layer extensions
F.14.2.3 Layers not present SEI message syntax
F.14.2.4 Inter-layer constrained tile sets SEI message syntax
F.14.2.5 Bitstream partition nesting SEI message syntax
F.14.2.6 Bitstream partition initial arrival time SEI message syntax
F.14.2.7 Sub-bitstream property SEI message syntax
F.14.2.8 Alpha channel information SEI message syntax
F.14.2.9 Overlay information SEI message syntax
F.14.2.10 Temporal motion vector prediction constraints SEI message syntax
F.14.2.11 Frame-field information SEI message syntax
F.14.3 SEI payload semantics
F.14.3.1 General SEI payload semantics
F.14.3.2 Annex D SEI message semantics for multi-layer extensions
F.14.3.3 Layers not present SEI message semantics
F.14.3.4 Inter-layer constrained tile sets SEI message semantics
F.14.3.5 Bitstream partition nesting SEI message semantics
F.14.3.6 Bitstream partition initial arrival time SEI message semantics
F.14.3.7 Sub-bitstream property SEI message semantics
F.14.3.8 Alpha channel information SEI message semantics
F.14.3.9 Overlay information SEI message semantics
F.14.3.10 Temporal motion vector prediction constraints SEI message semantics
F.14.3.11 Frame-field information SEI message semantics
F.15 Video usability information
F.15.1 General
F.15.2 VUI syntax
F.15.3 VUI semantics
F.15.3.1 VUI parameters semantics
F.15.3.2 HRD parameters semantics
F.15.3.3 Sub-layer HRD parameters semantics
Annex G Multiview high efficiency 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, and neighbouring relationships
G.7 Syntax and semantics
G.8 Decoding processes
G.8.1 General decoding process
G.8.1.1 General
G.8.1.2 Decoding process for a coded picture with nuh_layer_id greater than 0
G.8.1.3 Decoding process for inter-layer reference picture set
G.8.2 NAL unit decoding process
G.8.3 Slice decoding processes
G.8.4 Decoding process for coding units coded in intra prediction mode
G.8.5 Decoding process for coding units coded in inter prediction mode
G.8.6 Scaling, transformation and array construction process prior to deblocking filter process
G.8.7 In-loop filter process
G.9 Parsing process
G.10 Specification of bitstream subsets
G.11 Profiles, tiers, and levels
G.11.1 Profiles
G.11.1.1 Multiview Main profile
G.11.2 Tiers and levels
G.11.2.1 General tier and level limits
G.11.2.2 Profile-specific tier and level limits for the Multiview Main profile
G.11.3 Decoder capabilities
G.12 Byte stream format
G.13 Hypothetical reference decoder
G.14 Supplemental enhancement information
G.14.1 General
G.14.2 SEI payload syntax
G.14.2.1 General SEI payload syntax
G.14.2.2 Annex D and Annex F SEI message syntax for multiview high efficiency video coding
G.14.2.3 3D reference displays information SEI message syntax
G.14.2.4 Depth representation information SEI message syntax
G.14.2.5 Multiview scene information SEI message syntax
G.14.2.6 Multiview acquisition information SEI message syntax
G.14.2.7 Multiview view position SEI message syntax
G.14.3 SEI payload semantics
G.14.3.1 General SEI payload semantics
G.14.3.2 Annex D and Annex F SEI message semantics for multiview high efficiency video coding
G.14.3.3 3D reference displays information SEI message semantics
G.14.3.4 Depth representation information SEI message semantics
G.14.3.5 Multiview scene information SEI message semantics
G.14.3.6 Multiview acquisition information SEI message semantics
G.14.3.7 Multiview view position SEI message semantics
G.15 Video usability information
Annex H Scalable high efficiency 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.8 Decoding processes
H.8.1 General decoding process
H.8.1.1 General
H.8.1.2 Decoding process for a coded picture with nuh_layer_id greater than 0
H.8.1.3 Decoding process for inter-layer reference picture set
H.8.1.4 Derivation process for inter-layer reference pictures
H.8.2 NAL unit decoding process
H.8.3 Slice decoding processes
H.8.3.1 Decoding process for picture order count
H.8.3.2 Decoding process for reference picture set
H.8.3.3 Decoding process for generating unavailable reference pictures
H.8.3.4 Decoding process for reference picture lists construction
H.8.4 Decoding process for coding units coded in intra prediction mode
H.8.5 Decoding process for coding units coded in inter prediction mode
H.8.6 Scaling, transformation and array construction process prior to deblocking filter process
H.8.7 In-loop filter process
H.9 Parsing process
H.10 Specification of bitstream subsets
H.11 Profiles, tiers, and levels
H.11.1 Profiles
H.11.1.1 Scalable Main and Scalable Main 10 profiles
H.11.2 Tiers and levels
H.11.2.1 General tier and level limits
H.11.2.2 Profile specific tier and level limits for the Scalable Main and Scalable Main 10 profiles
H.11.3 Decoder capabilities
H.12 Byte stream format
H.13 Hypothetical reference decoder
H.14 Supplemental enhancement information
H.15 Video usability information
Bibliography