Preface
Contents
Symbols and Operators
Acronyms
1 Introduction
1.1 How to Read This Book
1.2 A Brief Walk Through the History of Video Coding Standards
1.2.1 Advanced Video Coding
1.2.2 High Efficiency Video Coding
1.3 Evolution of a Specification
1.3.1 Formal Procedure for a Standard in ISO/IEC
1.3.2 Formal Procedure for a Recommendation in the ITU-T
1.4 The Joint Collaborative Team on Video Coding
1.4.1 Approval Process
1.4.2 Method of Working
1.4.3 Deliverables
1.4.4 Structure of the JCT-VC
References
2 Video Coding Fundamentals
2.1 Video Coding Systems
2.1.1 Video Acquisition
2.1.2 Pre-processing
2.1.3 Encoding
2.1.4 Transmission
2.1.5 Decoding
2.1.6 Post-processing
2.1.7 Display
2.2 Structure of a Video Sequence
2.2.1 Pictures, Frames, and Fields
2.2.2 Sample Shape
2.3 Representation of Color
2.3.1 The CIE Standard Observer
2.3.2 Color Primaries
2.3.3 Display Transfer Characteristics
2.3.4 Color Conversion
2.3.5 Chroma Sub-sampling
2.4 The Hybrid Video Coding Scheme
2.4.1 Picture Partitioning
2.4.2 Intra Prediction
2.4.3 Inter Prediction
2.4.4 Motion Estimation
2.4.5 Residual Coding
2.4.6 In-loop Filtering
2.4.7 The Decoded Picture Buffer
2.4.8 Entropy Coding
2.5 Encoder Control
2.5.1 Distortion Measures
2.5.2 Rate-Distortion Optimization
2.6 Compression Artifacts
References
3 Design and Specification
3.1 Specification Fundamentals
3.1.1 Interoperability
3.1.2 Specification Scope
3.1.3 Text Classification
3.1.4 Editing Perspective
3.2 Specification Elements
3.2.1 Syntax and Semantics
3.2.2 Decoding Process
3.2.3 Parsing Process
3.3 Specification Principles
3.3.1 Loss Robustness
3.3.2 Independent Parsing
3.3.3 Bit-Exact Specification
3.3.4 Parallelization
3.3.5 Dynamic Range
3.3.6 Timing
3.4 Conformance
3.5 How to Read the Specification Text
3.5.1 Terminology
3.5.2 Conventions and Geometric Relations
3.6 Drafting Methodology
3.6.1 Measuring the Compression Performance
3.6.2 Proposal Assessment
References
4 Coding Structures
4.1 Temporal Coding Structures
4.1.1 Temporal Layers
4.1.2 Picture Types
4.1.3 Splicing of Video Sequences
4.1.4 Comparison to H.264|AVC
4.2 Spatial Coding Structures
4.2.1 Blocks and Units
4.2.2 Slices and Slice Segments
4.2.3 Tiles
4.2.4 Coding Tree Block and Coding Block
4.2.5 Prediction Block
4.2.6 Transform Tree and Transform Block
4.2.7 Comparison to H.264|AVC
4.3 Reference Pictures
4.3.1 Reference Picture Sets
4.3.2 Reference Picture Lists
4.3.3 Short-Term Reference Picture Set Signaling
4.3.4 Long-Term Reference Picture Set Signaling
4.3.5 Comparison to H.264|AVC
References
5 High-Level Syntax
5.1 Byte Stream Format
5.2 Network Abstraction Layer
5.2.1 NAL Unit Structure
5.2.2 NAL Unit Types
5.2.3 Access Units
5.2.4 Decoding Units
5.3 Parameter Sets
5.3.1 Video Parameter Set
5.3.2 Sequence Parameter Set
5.3.3 Picture Parameter Set
5.4 Slice Segment Header
5.4.1 Picture Order Count
5.5 Supplemental Enhancement Information
5.6 Hypothetical Reference Decoder
5.6.1 Coded Picture Buffer
5.6.2 Decoded Picture Buffer
5.6.3 Sub-picture Operation
5.6.4 Operation Points
5.6.5 Conformance Points
5.6.6 Signaling HRD Parameters in the VPS and SPS
5.7 Video Usability Information
5.7.1 Geometrical Relations
5.7.2 Video Signal Type and Color Information
5.7.3 Frame/Field Indication
5.7.4 Default Display Window
5.7.5 Timing Information
5.7.6 Bitstream Restrictions
5.8 Comparison to H.264|AVC
References
6 Intra Prediction
6.1 Prediction Mode and Prediction Block
6.2 Reference Samples for Intra Prediction
6.2.1 Reference Construction
6.2.2 Lowpass Smoothing
6.2.3 Strong Smoothing for 32 times32 Luma Reference Samples
6.3 Planar Intra Prediction
6.4 DC Intra Prediction
6.5 Angular Intra Prediction
6.5.1 One-Dimensional Prediction Reference
6.5.2 Interpolated Prediction
6.5.3 Horizontal and Vertical Intra Prediction
6.6 Signaling and Predictive Coding of Intra Prediction Modes
6.6.1 Luma Intra Prediction Mode
6.6.2 Derivation of the Chroma Intra Prediction Mode
6.7 Intra Coding Example
6.8 Comparison to H.264|AVC
References
7 Inter Prediction
7.1 Motion Compensated Prediction
7.1.1 Uni-prediction and Bi-prediction
7.1.2 Coding Block Partitioning into Prediction Blocks
7.1.3 Weighted Prediction
7.2 Motion Vector Representation
7.2.1 Motion Data Storage Reduction
7.2.2 Merging Motion Vectors
7.2.3 Predictive Motion Vector Coding
7.2.4 Signaling
7.3 Sub-Sample Interpolation
7.3.1 Luma Sub-Sample Interpolation Filtering
7.3.2 Chroma Sub-Sample Interpolation Filtering
7.3.3 Derivation of the Interpolation Filter Coefficients
7.4 Inter Coding Examples
7.5 Comparison to H.264|AVC
7.5.1 Motion Vector Representation
7.5.2 Sub-Sample Interpolation
References
8 Residual Coding
8.1 Transforms and Quantization
8.1.1 Integer DCTs
8.1.2 Integer 4times4 DST
8.1.3 Dynamic Range and Transform Normalization
8.1.4 Quantizer Design
8.1.5 Quantizer Weighting Matrix
8.1.6 Decoder-Side Weighting and Level Scaling Operation
8.1.7 Signaling of the Quantization Parameter
8.2 Coded Representation of Transform Blocks
8.2.1 Transform Sub-Blocks
8.2.2 Last Significant Coefficient Position
8.2.3 Transform Block Coefficient Coding
8.2.4 Sign Data Hiding
8.3 Transform Skip
8.4 Transform and Quantization Bypass
8.5 PCM Coding
8.6 Comparison to H.264|AVC
References
9 In-Loop Filtering
9.1 Deblocking Filter
9.1.1 Determination of Edges
9.1.2 Determination of the Deblocking Filter Strength Parameter
9.1.3 Deblocking Filtering
9.1.4 Deblocking Filter Example
9.2 Sample Adaptive Offset
9.2.1 Edge Offset
9.2.2 Band Offset
9.2.3 Signaling of SAO Parameters
9.2.4 SAO Filter Example
9.2.5 Encoder-Side Derivation of Sample Adaptive Offset Parameters
9.3 Comparison to H.264|AVC
References
10 Entropy Coding
10.1 Fixed- and Variable-Length Coding
10.1.1 Fixed-Length Codes
10.1.2 Exp-Golomb Codes
10.2 CABAC---Context-Based Adaptive Binary Arithmetic Coding
10.2.1 Process Overview
10.2.2 Binary Arithmetic Coding
10.2.3 Binarization
10.2.4 Context Initialization
10.2.5 Context Selection
10.3 Comparison to H.264|AVC
References
11 Profiles, Tiers, and Levels
11.1 Profiles
11.1.1 Main Profile
11.1.2 Main 10 Profile
11.1.3 Main Still Picture Profile
11.2 Tiers and Levels
11.3 Syntax Structure
References
12 Extensions to HEVC
12.1 Range Extensions
12.1.1 Proposed RExt Profiles
12.1.2 Proposed RExt Tools
12.1.3 Comparison to H.264|AVC
12.2 Common Specification Structure for Multi-Layer Video Coding Extensions
12.2.1 Definition of Layers
12.2.2 Proposed Joint Tools
12.3 Multiview Coding
12.3.1 Proposed Multiview Profile
12.3.2 Comparison to H.264|AVC
12.4 Scalable Extension
12.4.1 Proposed SHVC Profile
12.4.2 Proposed SHVC Tools
12.4.3 Comparison to H.264|AVC
12.5 3D Video Coding
References
Index