ISO/IEC 14496-10:2022 - Information technology - Coding of audio-visual objects - Part 10: Advanced video coding

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This document specifies advanced video coding for coding of audio-visual objects.

Author(s): ISO/IEC JTC 1/SC 29 Coding of audio, picture, multimedia and hypermedia information
Edition: 10
Publisher: ISO/IEC
Year: 2022

Language: English
Pages: 867
Tags: standard,h264,specification,iso,iec,iso/iec

1 Scope 1
2 Normative references 1
3 Terms and definitions 1
4 Abbreviated terms 28
5 Conventions 29
5.1 Arithmetic operators 29
5.2 Logical operators 30
5.3 Relational operators 30
5.4 Bit-wise operators 30
5.5 Assignment operators 31
5.6 Range notation 31
5.7 Mathematical functions 31
5.8 Order of operation precedence 32
5.9 Variables, syntax elements, and tables 33
5.10 Text description of logical operations 34
5.11 Processes 35
6 Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships 35
6.1 Bitstream formats 35
6.2 Source, decoded, and output picture formats 35
6.3 Spatial subdivision of pictures and slices 40
6.4 Inverse scanning processes and derivation processes for neighbours 41
6.4.1 Inverse macroblock scanning process 41
6.4.2 Inverse macroblock partition and sub-macroblock partition scanning process 42
6.4.3 Inverse 4x4 luma block scanning process 43
6.4.4 Inverse 4x4 Cb or Cr block scanning process for ChromaArrayType equal to 3 44
6.4.5 Inverse 8x8 luma block scanning process 44
6.4.6 Inverse 8x8 Cb or Cr block scanning process for ChromaArrayType equal to 3 44
6.4.7 Inverse 4x4 chroma block scanning process 44
6.4.8 Derivation process of the availability for macroblock addresses 45
6.4.9 Derivation process for neighbouring macroblock addresses and their availability 45
6.4.10 Derivation process for neighbouring macroblock addresses and their availability in MBAFF frames 45
6.4.11 Derivation processes for neighbouring macroblocks, blocks, and partitions 46
6.4.12 Derivation process for neighbouring locations 51
6.4.13 Derivation processes for block and partition indices 54
7 Syntax and semantics 55
7.1 Method of specifying syntax in tabular form 55
7.2 Specification of syntax functions, categories, and descriptors 56
7.3 Syntax in tabular form 58
7.3.1 NAL unit syntax 58
7.3.2 Raw byte sequence payloads and RBSP trailing bits syntax 59
7.3.3 Slice header syntax 67
7.3.4 Slice data syntax 72
7.3.5 Macroblock layer syntax 73
7.4 Semantics 80
7.4.1 NAL unit semantics 80
7.4.2 Raw byte sequence payloads and RBSP trailing bits semantics 90
7.4.3 Slice header semantics 104
7.4.4 Slice data semantics 115
7.4.5 Macroblock layer semantics 116
8 Decoding process 129
8.1 NAL unit decoding process 130
8.2 Slice decoding process 131
8.2.1 Decoding process for picture order count 131
8.2.2 Decoding process for macroblock to slice group map 135
8.2.3 Decoding process for slice data partitions 138
8.2.4 Decoding process for reference picture lists construction 139
8.2.5 Decoded reference picture marking process 146
8.3 Intra prediction process 150
8.3.1 Intra_4x4 prediction process for luma samples 151
8.3.2 Intra_8x8 prediction process for luma samples 157
8.3.3 Intra_16x16 prediction process for luma samples 164
8.3.4 Intra prediction process for chroma samples 167
8.3.5 Sample construction process for I_PCM macroblocks 171
8.4 Inter prediction process 172
8.4.1 Derivation process for motion vector components and reference indices 174
8.4.2 Decoding process for Inter prediction samples 187
8.4.3 Derivation process for prediction weights 196
8.5 Transform coefficient decoding process and picture construction process prior to deblocking filter process 198
8.5.1 Specification of transform decoding process for 4x4 luma residual blocks 198
8.5.2 Specification of transform decoding process for luma samples of Intra_16x16 macroblock prediction mode 199
8.5.3 Specification of transform decoding process for 8x8 luma residual blocks 200
8.5.4 Specification of transform decoding process for chroma samples 200
8.5.5 Specification of transform decoding process for chroma samples with ChromaArrayType equal to 3 202
8.5.6 Inverse scanning process for 4x4 transform coefficients and scaling lists203
8.5.7 Inverse scanning process for 8x8 transform coefficients and scaling lists 204
8.5.8 Derivation process for chroma quantization parameters 205
8.5.9 Derivation process for scaling functions 206
8.5.10 Scaling and transformation process for DC transform coefficients for Intra_16x16 macroblock type 207
8.5.11 Scaling and transformation process for chroma DC transform coefficients 208
8.5.12 Scaling and transformation process for residual 4x4 blocks 210
8.5.13 Scaling and transformation process for residual 8x8 blocks 212
8.5.14 Picture construction process prior to deblocking filter process216
8.5.15 Intra residual transform-bypass decoding process 218
8.6 Decoding process for P macroblocks in SP slices or SI macroblocks 218
8.6.1 SP decoding process for non-switching pictures219
8.6.2 SP and SI slice decoding process for switching pictures 221
8.7 Deblocking filter process 223
8.7.1 Filtering process for block edges 227
8.7.2 Filtering process for a set of samples across a horizontal or vertical block edge229
9 Parsing process 235
9.1 Parsing process for Exp-Golomb codes 235
9.1.1 Mapping process for signed Exp-Golomb codes 237
9.1.2 Mapping process for coded block pattern 237
9.2 CAVLC parsing process for transform coefficient levels 240
9.2.1 Parsing process for total number of non-zero transform coefficient levels and number of trailing ones 241
9.2.2 Parsing process for level information 244
9.2.3 Parsing process for run information 246
9.2.4 Combining level and run information 249
9.3 CABAC parsing process for slice data 249
9.3.1 Initialization process 250
9.3.2 Binarization process274
9.3.3 Decoding process flow283
9.3.4 Arithmetic encoding process304
nnex A (normative) Profiles and levels 311
Annex B (normative) Byte stream format 334
Annex C (normative) Hypothetical reference decoder 337
Annex D (normative) Supplemental enhancement information 358
Annex E (normative) Video usability information 449
Annex F (normative) Scalable video coding 470
Annex G (normative) Multiview video coding 695
Annex H (normative) Multiview and depth video coding 762
Annex I (normative) Multiview and depth video with enhanced non-base view coding 811