SIST ISO/IEC 14496-10:2018
Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video Coding
Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video Coding
ISO/IEC 14496-10:2014 specifies advanced video coding for coding of audio-visual objects.
Technologies de l'information -- Codage des objets audiovisuels -- Partie 10: Codage visuel avancé
Informacijska tehnologija - Kodiranje avdio-vizualnih objektov - 10. del: Napredno video kodiranje za splošne avdiovizualne storitve
Ta del standarda ISO/IEC 14496 določa napredno video kodiranje za kodiranje avdio vizualnih objektov.
General Information
Relations
Overview
SIST ISO/IEC 14496-10:2018 - Information technology - Coding of audio-visual objects - Part 10: Advanced Video Coding specifies an advanced video coding framework for coding audio‑visual objects. This edition reproduces ISO/IEC 14496-10:2014 and defines the syntax, semantics, bitstream formats and decoding processes used to represent compressed video for a wide range of multimedia services.
Key topics and technical requirements
The standard covers detailed coding elements and decoding procedures including:
- Bitstream formats and NAL units - definition of Network Abstraction Layer (NAL) units, raw byte sequence payloads and RBSP trailing bits.
- Profiles and levels - specification of profiles/levels to constrain coding tools and enable interoperability across devices and applications.
- Picture and block structure - spatial subdivision into macroblocks, slices, and scan processes for 4x4 and 8x8 blocks.
- Prediction methods - intra prediction for spatial coding and inter prediction (motion compensation) for temporal redundancy reduction.
- Transform and coefficient handling - transform coefficient decoding, inverse scanning, scaling and transform-bypass processes.
- Entropy coding - parsing processes for CAVLC (Context-Adaptive Variable Length Coding) and CABAC (Context-Adaptive Binary Arithmetic Coding).
- Deblocking and post-processing - in-loop deblocking filter processes and sample filtering across block edges.
- Decoding and parsing processes - precise algorithms for building reference picture lists, picture order, slice decoding, and syntax parsing (Exp-Golomb, CAVLC/CABAC).
- Semantics and syntax tables - formal specification of syntax elements, variables and tables to ensure deterministic implementation.
These topics are specified as normative requirements for compliant encoders and decoders to ensure consistent decoding behavior and interoperability.
Practical applications and who uses this standard
ISO/IEC 14496-10 is applied wherever efficient, interoperable video compression is required:
- Video codec and encoder/decoder developers implementing compliant encoders, decoders, hardware IP cores and software libraries.
- Chipset and SoC manufacturers integrating video processing blocks with specified bitstream and profile support.
- Streaming platforms and broadcasters ensuring encoded streams conform to profiles and levels for wide device compatibility.
- Media software vendors (players, transcoders, editing tools) that parse, process and produce compliant bitstreams.
- System integrators and standards bodies validating interoperability, conformance testing and delivery specifications.
Related standards
Part 10 is one component of the ISO/IEC 14496 (MPEG-4) family. Implementers commonly reference other parts of the ISO/IEC 14496 suite for system-level packaging, transport, and related media object definitions.
Keywords: ISO/IEC 14496-10, Advanced Video Coding, video compression standard, NAL units, CABAC, CAVLC, macroblocks, intra prediction, inter prediction, deblocking filter, bitstream.
Frequently Asked Questions
SIST ISO/IEC 14496-10:2018 is a standard published by the Slovenian Institute for Standardization (SIST). Its full title is "Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video Coding". This standard covers: ISO/IEC 14496-10:2014 specifies advanced video coding for coding of audio-visual objects.
ISO/IEC 14496-10:2014 specifies advanced video coding for coding of audio-visual objects.
SIST ISO/IEC 14496-10:2018 is classified under the following ICS (International Classification for Standards) categories: 35.040.40 - Coding of audio, video, multimedia and hypermedia information. The ICS classification helps identify the subject area and facilitates finding related standards.
SIST ISO/IEC 14496-10:2018 has the following relationships with other standards: It is inter standard links to SIST ISO/IEC 14496-10:2010. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase SIST ISO/IEC 14496-10:2018 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of SIST standards.
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 14496-10
Eighth edition
2014-09-01
Information technology — Coding of
audio-visual objects —
Part 10:
Advanced Video Coding
Technologies de l'information — Codage des objets audiovisuels —
Partie 10: Codage visuel avancé
Reference number
©
ISO/IEC 2014
This CD-ROM contains the publication ISO/IEC 14496-10:2014 in portable document format (PDF), which
can be viewed using Adobe® Acrobat® Reader.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.
This eighth edition cancels and replaces the seventh edition (ISO/IEC 14496-10:2012), which has been
technically revised. It also incorporates the Amendments ISO/IEC 14496-10:2012/Amd.1:2013 and
ISO/IEC 14496-10:2012/Amd.2:2013, and the Technical Corrigendum ISO/IEC 14496-10:2012/Cor.1:2013.
© ISO/IEC 2014
All rights reserved. Unless required for installation or otherwise specified, no part of this CD-ROM may be reproduced, stored in a retrieval
system or transmitted in any form or by any means without prior permission from ISO. Requests for permission to reproduce this product
should be addressed to
ISO copyright office Case postale 56 CH-1211 Geneva 20 Switzerland
Internet copyright@iso.org
Reproduction may be subject to royalty payments or a licensing agreement.
Violators may be prosecuted.
Published in Switzerland
ii © ISO/IEC 2014 – All rights reserved
Installation
If this publication has been packaged as
...
INTERNATIONAL ISO/IEC
STANDARD 14496-10
Eighth edition
2014-09-01
Information technology — Coding of
audio-visual objects —
Part 10:
Advanced Video Coding
Technologies de l'information — Codage des objets audiovisuels —
Partie 10: Codage visuel avancé
Reference number
©
ISO/IEC 2014
© ISO/IEC 2014
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any
means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission.
Permission can be requested from either ISO at the address below or ISO’s member body in the country of the requester.
ISO copyright office
Case postale 56 CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2014 – All rights reserved
Contents Page
0 Introduction . xvii
0.1 Prologue . xvii
0.2 Purpose . xvii
0.3 Applications . xvii
0.4 Publication and versions of this Specification . xvii
0.5 Profiles and levels . xviii
0.6 Overview of the design characteristics . xix
0.6.1 Predictive coding . xix
0.6.2 Coding of progressive and interlaced video . xx
0.6.3 Picture partitioning into macroblocks and smaller partitions . xx
0.6.4 Spatial redundancy reduction . xx
0.7 How to read this Specification . xx
1 Scope . 1
2 Normative references . 1
3 Definitions . 1
4 Abbreviations . 9
5 Conventions . 10
5.1 Arithmetic operators . 10
5.2 Logical operators . 11
5.3 Relational operators . 11
5.4 Bit-wise operators . 11
5.5 Assignment operators . 11
5.6 Range notation . 12
5.7 Mathematical functions . 12
5.8 Order of operation precedence . 13
5.9 Variables, syntax elements, and tables . 14
5.10 Text description of logical operations . 14
5.11 Processes . 15
6 Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships . 16
6.1 Bitstream formats . 16
6.2 Source, decoded, and output picture formats . 16
6.3 Spatial subdivision of pictures and slices . 21
6.4 Inverse scanning processes and derivation processes for neighbours . 22
6.4.1 Inverse macroblock scanning process . 22
6.4.2 Inverse macroblock partition and sub-macroblock partition scanning process . 23
6.4.3 Inverse 4x4 luma block scanning process . 25
6.4.4 Inverse 4x4 Cb or Cr block scanning process for ChromaArrayType equal to 3 . 25
6.4.5 Inverse 8x8 luma block scanning process . 25
6.4.6 Inverse 8x8 Cb or Cr block scanning process for ChromaArrayType equal to 3 . 26
6.4.7 Inverse 4x4 chroma block scanning process . 26
6.4.8 Derivation process of the availability for macroblock addresses . 26
6.4.9 Derivation process for neighbouring macroblock addresses and their availability . 26
6.4.10 Derivation process for neighbouring macroblock addresses and their availability in MBAFF frames . 27
6.4.11 Derivation processes for neighbouring macroblocks, blocks, and partitions . 28
6.4.12 Derivation process for neighbouring locations . 33
6.4.13 Derivation processes for block and partition indices . 35
7 Syntax and semantics . 37
7.1 Method of specifying syntax in tabular form . 37
7.2 Specification of syntax functions, categories, and descriptors . 38
7.3 Syntax in tabular form . 40
7.3.1 NAL unit syntax . 40
iii
© ISO/IEC 2014 – All rights reserved
7.3.2 Raw byte sequence payloads and RBSP trailing bits syntax . 40
7.3.3 Slice header syntax . 49
7.3.4 Slice data syntax . 54
7.3.5 Macroblock layer syntax . 55
7.4 Semantics . 62
7.4.1 NAL unit semantics . 62
7.4.2 Raw byte sequence payloads and RBSP trailing bits semantics . 72
7.4.3 Slice header semantics . 86
7.4.4 Slice data semantics . 98
7.4.5 Macroblock layer semantics. 98
8 Decoding process . 111
8.1 NAL unit decoding process . 112
8.2 Slice decoding process . 113
8.2.1 Decoding process for picture order count . 113
8.2.2 Decoding process for macroblock to slice group map . 117
8.2.3 Decoding process for slice data partitions . 121
8.2.4 Decoding process for reference picture lists construction . 121
8.2.5 Decoded reference picture marking process . 128
8.3 Intra prediction process . 133
8.3.1 Intra_4x4 prediction process for luma samples. 133
8.3.2 Intra_8x8 prediction process for luma samples. 140
8.3.3 Intra_16x16 prediction process for luma samples . 148
8.3.4 Intra prediction process for chroma samples. 150
8.3.5 Sample construction process for I_PCM macroblocks . 154
8.4 Inter prediction process . 155
8.4.1 Derivation process for motion vector components and reference indices . 158
8.4.2 Decoding process for Inter prediction samples . 170
8.4.3 Derivation process for prediction weights . 179
8.5 Transform coefficient decoding process and picture construction process prior to deblocking filter process . 182
8.5.1 Specification of transform decoding process for 4x4 luma residual blocks . 182
8.5.2 Specification of transform decoding process for luma samples of Intra_16x16 macroblock prediction
mode . 183
8.5.3 Specification of transform decoding process for 8x8 luma residual blocks . 184
8.5.4 Specification of transform decoding process for chroma samples . 184
8.5.5 Specification of transform decoding process for chroma samples with ChromaArrayType equal to 3 . 186
8.5.6 Inverse scanning process for 4x4 transform coefficients and scaling lists . 186
8.5.7 Inverse scanning process for 8x8 transform coefficients and scaling lists . 187
8.5.8 Derivation process for chroma quantisation parameters . 189
8.5.9 Derivation process for scaling functions . 189
8.5.10 Scaling and transformation process for DC transform coefficients for Intra_16x16 macroblock type . 191
8.5.11 Scaling and transformation process for chroma DC transform coefficients . 191
8.5.12 Scaling and transformation process for residual 4x4 blocks . 193
8.5.13 Scaling and transformation process for residual 8x8 blocks . 196
8.5.14 Picture construction process prior to deblocking filter process. 200
8.5.15 Intra residual transform-bypass decoding process . 201
8.6 Decoding process for P macroblocks in SP slices or SI macroblocks . 202
8.6.1 SP decoding process for non-switching pictures . 202
8.6.2 SP and SI slice decoding process for switching pictures . 205
8.7 Deblocking filter process . 207
8.7.1 Filtering process for block edges . 211
8.7.2 Filtering process for a set of samples across a horizontal or vertical block edge . 213
9 Parsing process . 219
9.1 Parsing process for Exp-Golomb codes . 219
9.1.1 Mapping process for signed Exp-Golomb codes . 221
9.1.2 Mapping process for coded block pattern . 221
9.2 CAVLC parsing process for transform coefficient levels . 224
9.2.1 Parsing process for total number of non-zero transform coefficient levels and number of trailing ones . 225
9.2.2 Parsing process for level information . 229
9.2.3 Parsing process for run information . 230
iv
© ISO/IEC 2014 – All rights reserved
9.2.4 Combining level and run information . 233
9.3 CABAC parsing process for slice data . 233
9.3.1 Initialisation process . 235
9.3.2 Binarization process . 259
9.3.3 Decoding process flow . 268
9.3.4 Arithmetic encoding process (informative) . 290
Annex A (normative) Profiles and levels . 298
A.1 Requirements on video decoder capability . 298
A.2 Profiles . 298
A.2.1 Baseline profile . 298
A.2.2 Main profile . 299
A.2.3 Extended profile . 299
A.2.4 High profile . 300
A.2.5 High 10 profile . 301
A.2.6 High 4:2:2 profile . 301
A.2.7 High 4:4:4 Predictive profile . 302
A.2.8 High 10 Intra profile . 302
A.2.9 High 4:2:2 Intra profile . 303
A.2.10 High 4:4:4 Intra profile . 303
A.2.11 CAVLC 4:4:4 Intra profile . 304
A.3 Levels . 304
A.3.1 Level limits common to the Baseline, Constrained Baseline, Main, and Extended profiles . 304
A.3.2 Level limits common to the High, Progressive 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 . 307
A.3.3 Profile-specific level limits . 309
A.3.4 Effect of level limits on frame rate (informative) . 314
A.3.5 Effect of level limits on maximum DPB size in units of frames (informative) . 317
Annex B (normative) Byte stream format . 319
B.1 Byte stream NAL unit syntax and semantics . 319
B.1.1 Byte stream NAL unit syntax . 319
B.1.2 Byte stream NAL unit semantics . 319
B.2 Byte stream NAL unit decoding process . 320
B.3 Decoder byte-alignment recovery (informative) . 320
Annex C (normative) Hypothetical reference decoder . 322
C.1 Operation of coded picture buffer (CPB) . 326
C.1.1 Timing of bitstream arrival . 326
C.1.2 Timing of coded picture removal . 327
C.2 Operation of the decoded picture buffer (DPB) . 328
C.2.1 Decoding of gaps in frame_num and storage of "non-existing" frames . 329
C.2.2 Picture decoding and output . 329
C.2.3 Removal of pictures from the DPB before possible insertion of the current picture . 330
C.2.4 Current decoded picture marking and storage . 331
C.3 Bitstream conformance . 332
C.4 Decoder conformance . 334
C.4.1 Operation of the output order DPB. 335
C.4.2 Decoding of gaps in frame_num and storage of "non-existing" pictures . 335
C.4.3 Picture decoding . 335
C.4.4 Removal of pictures from the DPB before possible insertion of the current picture . 336
C.4.5 Current decoded picture marking and storage . 337
Annex D (normative) Supplemental enhancement information . 341
D.1 SEI payload syntax . 342
D.1.1 Buffering period SEI message syntax . 344
D.1.2 Picture timing SEI message syntax . 344
D.1.3 Pan-scan rectangle SEI message syntax . 345
D.1.4 Filler payload SEI message syntax . 346
D.1.5 User data registered by ITU-T Rec. T.35 SEI message syntax . 346
D.1.6 User data unregistered SEI message syntax . 346
D.1.7 Recovery point SEI message syntax . 346
D.1.8 Decoded reference picture marking repetition SEI message syntax . 347
v
© ISO/IEC 2014 – All rights reserved
D.1.9 Spare picture SEI message syntax . 347
D.1.10 Scene information SEI message syntax . 348
D.1.11 Sub-sequence information SEI message syntax . 348
D.1.12 Sub-sequence layer characteristics SEI message syntax . 348
D.1.13 Sub-sequence characteristics SEI message syntax . 349
D.1.14 Full-frame freeze SEI message syntax . 349
D.1.15 Full-frame freeze release SEI message syntax . 349
D.1.16 Full-frame snapshot SEI message syntax . 349
D.1.17 Progressive refinement segment start SEI message syntax . 350
D.1.18 Progressive refinement segment end SEI message syntax . 350
D.1.19 Motion-constrained slice group set SEI message syntax . 350
D.1.20 Film grain characteristics SEI message syntax . 351
D.1.21 Deblocking filter display preference SEI message syntax . 351
D.1.22 Stereo video information SEI message syntax . 352
D.1.23 Post-filter hint SEI message syntax . 352
D.1.24 Tone mapping information SEI message syntax . 353
D.1.25 Frame packing arrangement SEI message syntax . 354
D.1.26 Reserved SEI message syntax . 354
D.2 SEI payload semantics . 354
D.2.1 Buffering period SEI message semantics . 354
D.2.2 Picture timing SEI message semantics . 355
D.2.3 Pan-scan rectangle SEI message semantics . 360
D.2.4 Filler payload SEI message semantics . 361
D.2.5 User data registered by ITU-T Rec. T.35 SEI message semantics . 361
D.2.6 User data unregistered SEI message semantics. 362
D.2.7 Recovery point SEI message semantics . 362
D.2.8 Decoded reference picture marking repetition SEI message semantics . 364
D.2.9 Spare picture SEI message semantics . 364
D.2.10 Scene information SEI message semantics . 366
D.2.11 Sub-sequence information SEI message semantics . 368
D.2.12 Sub-sequence layer characteristics SEI message semantics . 369
D.2.13 Sub-sequence characteristics SEI message semantics. 370
D.2.14 Full-frame freeze SEI message semantics . 372
D.2.15 Full-frame freeze release SEI message semantics . 372
D.2.16 Full-frame snapshot SEI message semantics . 372
D.2.17 Progressive refinement segment start SEI message semantics. 372
D.2.18 Progressive refinement segment end SEI message semantics . 373
D.2.19 Motion-constrained slice group set SEI message semantics . 373
D.2.20 Film grain characteristics SEI message semantics . 374
D.2.21 Deblocking filter display preference SEI message semantics . 380
D.2.22 Stereo video information SEI message semantics . 382
D.2.23 Post-filter hint SEI message semantics . 382
D.2.24 Tone mapping information SEI message semantics . 383
D.2.25 Frame packing arrangement SEI message semantics . 385
D.2.26 Reserved SEI message semantics . 395
Annex E (normative) Video usability information . 396
E.1 VUI syntax . 397
E.1.1 VUI parameters syntax . 397
E.1.2 HRD parameters syntax . 398
E.2 VUI semantics . 398
E.2.1 VUI parameters semantics . 398
E.2.2 HRD parameters semantics . 411
Annex F (informative) Patent Rights . 413
Annex G (normative) Scalable video coding . 415
G.1 Scope . 415
G.2 Normative references . 415
G.3 Definitions . 415
G.4 Abbreviations . 419
G.5 Conventions . 419
vi
© ISO/IEC 2014 – All rights reserved
G.6 Source, coded, decoded and output data formats, scanning processes, neighbouring and reference layer
relationships . 419
G.6.1 Derivation process for reference layer macroblocks . 419
G.6.2 Derivation process for reference layer partitions . 422
G.6.3 Derivation process for reference layer sample locations in resampling . 423
G.6.4 SVC derivation process for macroblock and sub-macroblock partition indices . 425
G.7 Syntax and semantics . 425
G.7.1 Method of specifying syntax in tabular form . 425
G.7.2 Specification of syntax functions, categories, and descriptors . 425
G.7.3 Syntax in tabular form . 425
G.7.4 Semantics . 437
G.8 SVC decoding process . 471
G.8.1 SVC initialisation and decoding processes . 472
G.8.2 SVC reference picture lists construction and decoded reference picture marking process . 492
G.8.3 SVC intra decoding processes . 503
G.8.4 SVC Inter prediction process . 513
G.8.5 SVC transform coefficient decoding and sample array construction processes . 526
G.8.6 Resampling processes for prediction data, intra samples, and residual samples . 543
G.8.7 SVC deblocking filter processes . 573
G.8.8 Specification of bitstream subsets . 585
G.9 Parsing process . 586
G.9.1 Alternative parsing process for coded block pattern . 587
G.9.2 Alternative CAVLC parsing process for transform coefficient levels . 588
G.9.3 Alternative CABAC parsing process for slice data in scalable extension . 592
G.10 Profiles and levels . 595
G.10.1 Profiles . 595
G.10.2 Levels . 598
G.11 Byte stream format . 603
G.12 Hypothetical reference decoder . 603
G.13 Supplemental enhancement information . 603
G.13.1 SEI payload syntax . 604
G.13.2 SEI payload semantics . 610
G.14 Video usability information . 638
G.14.1 SVC VUI parameters extension syntax . 639
G.14.2 SVC VUI parameters extension semantics . 639
Annex H (normative) Multiview video coding . 642
H.1 Scope . 642
H.2 Normative references . 642
H.3 Definitions . 642
H.4 Abbreviations . 644
H.5 Conventions . 644
H.6 Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships . 644
H.7 Syntax and semantics . 645
H.7.1 Method of specifying syntax in tabular form . 645
H.7.2 Specification of syntax functions, categories, and descriptors . 645
H.7.3 Syntax in tabular form . 645
H.7.4 Semantics . 649
H.8 MVC decoding process . 663
H.8.1 MVC decoding process for picture order count . 663
H.8.2 MVC decoding process for reference picture lists construction . 664
H.8.3 MVC decoded reference picture marking process . 668
H.8.4 MVC inter prediction and inter-view prediction process . 668
H.8.5 Specification of bitstream subsets . 669
H.9 Parsing process . 673
H.10 Profiles and levels . 673
H.10.1 Profiles . 673
H.10.2 Levels . 674
H.11 Byte stream format .
...
SLOVENSKI STANDARD
01-september-2018
1DGRPHãþD
SIST ISO/IEC 14496-10:2010
Informacijska tehnologija - Kodiranje avdio-vizualnih objektov - 10. del: Napredno
video kodiranje za splošne avdiovizualne storitve
Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video
Coding
Technologies de l'information -- Codage des objets audiovisuels -- Partie 10: Codage
visuel avancé
Ta slovenski standard je istoveten z: ISO/IEC 14496-10:2014
ICS:
35.040.40 Kodiranje avdio, video, Coding of audio, video,
multimedijskih in multimedia and hypermedia
hipermedijskih informacij information
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.
INTERNATIONAL ISO/IEC
STANDARD 14496-10
Eighth edition
2014-09-01
Information technology — Coding of
audio-visual objects —
Part 10:
Advanced Video Coding
Technologies de l'information — Codage des objets audiovisuels —
Partie 10: Codage visuel avancé
Reference number
©
ISO/IEC 2014
© ISO/IEC 2014
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any
means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission.
Permission can be requested from either ISO at the address below or ISO’s member body in the country of the requester.
ISO copyright office
Case postale 56 CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2014 – All rights reserved
Contents Page
0 Introduction . xvii
0.1 Prologue . xvii
0.2 Purpose . xvii
0.3 Applications . xvii
0.4 Publication and versions of this Specification . xvii
0.5 Profiles and levels . xviii
0.6 Overview of the design characteristics . xix
0.6.1 Predictive coding . xix
0.6.2 Coding of progressive and interlaced video . xx
0.6.3 Picture partitioning into macroblocks and smaller partitions . xx
0.6.4 Spatial redundancy reduction . xx
0.7 How to read this Specification . xx
1 Scope . 1
2 Normative references . 1
3 Definitions . 1
4 Abbreviations . 9
5 Conventions . 10
5.1 Arithmetic operators . 10
5.2 Logical operators . 11
5.3 Relational operators . 11
5.4 Bit-wise operators . 11
5.5 Assignment operators . 11
5.6 Range notation . 12
5.7 Mathematical functions . 12
5.8 Order of operation precedence . 13
5.9 Variables, syntax elements, and tables . 14
5.10 Text description of logical operations . 14
5.11 Processes . 15
6 Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships . 16
6.1 Bitstream formats . 16
6.2 Source, decoded, and output picture formats . 16
6.3 Spatial subdivision of pictures and slices . 21
6.4 Inverse scanning processes and derivation processes for neighbours . 22
6.4.1 Inverse macroblock scanning process . 22
6.4.2 Inverse macroblock partition and sub-macroblock partition scanning process . 23
6.4.3 Inverse 4x4 luma block scanning process . 25
6.4.4 Inverse 4x4 Cb or Cr block scanning process for ChromaArrayType equal to 3 . 25
6.4.5 Inverse 8x8 luma block scanning process . 25
6.4.6 Inverse 8x8 Cb or Cr block scanning process for ChromaArrayType equal to 3 . 26
6.4.7 Inverse 4x4 chroma block scanning process . 26
6.4.8 Derivation process of the availability for macroblock addresses . 26
6.4.9 Derivation process for neighbouring macroblock addresses and their availability . 26
6.4.10 Derivation process for neighbouring macroblock addresses and their availability in MBAFF frames . 27
6.4.11 Derivation processes for neighbouring macroblocks, blocks, and partitions . 28
6.4.12 Derivation process for neighbouring locations . 33
6.4.13 Derivation processes for block and partition indices . 35
7 Syntax and semantics . 37
7.1 Method of specifying syntax in tabular form . 37
7.2 Specification of syntax functions, categories, and descriptors . 38
7.3 Syntax in tabular form . 40
7.3.1 NAL unit syntax . 40
iii
© ISO/IEC 2014 – All rights reserved
7.3.2 Raw byte sequence payloads and RBSP trailing bits syntax . 40
7.3.3 Slice header syntax . 49
7.3.4 Slice data syntax . 54
7.3.5 Macroblock layer syntax . 55
7.4 Semantics . 62
7.4.1 NAL unit semantics . 62
7.4.2 Raw byte sequence payloads and RBSP trailing bits semantics . 72
7.4.3 Slice header semantics . 86
7.4.4 Slice data semantics . 98
7.4.5 Macroblock layer semantics. 98
8 Decoding process . 111
8.1 NAL unit decoding process . 112
8.2 Slice decoding process . 113
8.2.1 Decoding process for picture order count . 113
8.2.2 Decoding process for macroblock to slice group map . 117
8.2.3 Decoding process for slice data partitions . 121
8.2.4 Decoding process for reference picture lists construction . 121
8.2.5 Decoded reference picture marking process . 128
8.3 Intra prediction process . 133
8.3.1 Intra_4x4 prediction process for luma samples. 133
8.3.2 Intra_8x8 prediction process for luma samples. 140
8.3.3 Intra_16x16 prediction process for luma samples . 148
8.3.4 Intra prediction process for chroma samples. 150
8.3.5 Sample construction process for I_PCM macroblocks . 154
8.4 Inter prediction process . 155
8.4.1 Derivation process for motion vector components and reference indices . 158
8.4.2 Decoding process for Inter prediction samples . 170
8.4.3 Derivation process for prediction weights . 179
8.5 Transform coefficient decoding process and picture construction process prior to deblocking filter process . 182
8.5.1 Specification of transform decoding process for 4x4 luma residual blocks . 182
8.5.2 Specification of transform decoding process for luma samples of Intra_16x16 macroblock prediction
mode . 183
8.5.3 Specification of transform decoding process for 8x8 luma residual blocks . 184
8.5.4 Specification of transform decoding process for chroma samples . 184
8.5.5 Specification of transform decoding process for chroma samples with ChromaArrayType equal to 3 . 186
8.5.6 Inverse scanning process for 4x4 transform coefficients and scaling lists . 186
8.5.7 Inverse scanning process for 8x8 transform coefficients and scaling lists . 187
8.5.8 Derivation process for chroma quantisation parameters . 189
8.5.9 Derivation process for scaling functions . 189
8.5.10 Scaling and transformation process for DC transform coefficients for Intra_16x16 macroblock type . 191
8.5.11 Scaling and transformation process for chroma DC transform coefficients . 191
8.5.12 Scaling and transformation process for residual 4x4 blocks . 193
8.5.13 Scaling and transformation process for residual 8x8 blocks . 196
8.5.14 Picture construction process prior to deblocking filter process. 200
8.5.15 Intra residual transform-bypass decoding process . 201
8.6 Decoding process for P macroblocks in SP slices or SI macroblocks . 202
8.6.1 SP decoding process for non-switching pictures . 202
8.6.2 SP and SI slice decoding process for switching pictures . 205
8.7 Deblocking filter process . 207
8.7.1 Filtering process for block edges . 211
8.7.2 Filtering process for a set of samples across a horizontal or vertical block edge . 213
9 Parsing process . 219
9.1 Parsing process for Exp-Golomb codes . 219
9.1.1 Mapping process for signed Exp-Golomb codes . 221
9.1.2 Mapping process for coded block pattern . 221
9.2 CAVLC parsing process for transform coefficient levels . 224
9.2.1 Parsing process for total number of non-zero transform coefficient levels and number of trailing ones . 225
9.2.2 Parsing process for level information . 229
9.2.3 Parsing process for run information . 230
iv
© ISO/IEC 2014 – All rights reserved
9.2.4 Combining level and run information . 233
9.3 CABAC parsing process for slice data . 233
9.3.1 Initialisation process . 235
9.3.2 Binarization process . 259
9.3.3 Decoding process flow . 268
9.3.4 Arithmetic encoding process (informative) . 290
Annex A (normative) Profiles and levels . 298
A.1 Requirements on video decoder capability . 298
A.2 Profiles . 298
A.2.1 Baseline profile . 298
A.2.2 Main profile . 299
A.2.3 Extended profile . 299
A.2.4 High profile . 300
A.2.5 High 10 profile . 301
A.2.6 High 4:2:2 profile . 301
A.2.7 High 4:4:4 Predictive profile . 302
A.2.8 High 10 Intra profile . 302
A.2.9 High 4:2:2 Intra profile . 303
A.2.10 High 4:4:4 Intra profile . 303
A.2.11 CAVLC 4:4:4 Intra profile . 304
A.3 Levels . 304
A.3.1 Level limits common to the Baseline, Constrained Baseline, Main, and Extended profiles . 304
A.3.2 Level limits common to the High, Progressive 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 . 307
A.3.3 Profile-specific level limits . 309
A.3.4 Effect of level limits on frame rate (informative) . 314
A.3.5 Effect of level limits on maximum DPB size in units of frames (informative) . 317
Annex B (normative) Byte stream format . 319
B.1 Byte stream NAL unit syntax and semantics . 319
B.1.1 Byte stream NAL unit syntax . 319
B.1.2 Byte stream NAL unit semantics . 319
B.2 Byte stream NAL unit decoding process . 320
B.3 Decoder byte-alignment recovery (informative) . 320
Annex C (normative) Hypothetical reference decoder . 322
C.1 Operation of coded picture buffer (CPB) . 326
C.1.1 Timing of bitstream arrival . 326
C.1.2 Timing of coded picture removal . 327
C.2 Operation of the decoded picture buffer (DPB) . 328
C.2.1 Decoding of gaps in frame_num and storage of "non-existing" frames . 329
C.2.2 Picture decoding and output . 329
C.2.3 Removal of pictures from the DPB before possible insertion of the current picture . 330
C.2.4 Current decoded picture marking and storage . 331
C.3 Bitstream conformance . 332
C.4 Decoder conformance . 334
C.4.1 Operation of the output order DPB. 335
C.4.2 Decoding of gaps in frame_num and storage of "non-existing" pictures . 335
C.4.3 Picture decoding . 335
C.4.4 Removal of pictures from the DPB before possible insertion of the current picture . 336
C.4.5 Current decoded picture marking and storage . 337
Annex D (normative) Supplemental enhancement information . 341
D.1 SEI payload syntax . 342
D.1.1 Buffering period SEI message syntax . 344
D.1.2 Picture timing SEI message syntax . 344
D.1.3 Pan-scan rectangle SEI message syntax . 345
D.1.4 Filler payload SEI message syntax . 346
D.1.5 User data registered by ITU-T Rec. T.35 SEI message syntax . 346
D.1.6 User data unregistered SEI message syntax . 346
D.1.7 Recovery point SEI message syntax . 346
D.1.8 Decoded reference picture marking repetition SEI message syntax . 347
v
© ISO/IEC 2014 – All rights reserved
D.1.9 Spare picture SEI message syntax . 347
D.1.10 Scene information SEI message syntax . 348
D.1.11 Sub-sequence information SEI message syntax . 348
D.1.12 Sub-sequence layer characteristics SEI message syntax . 348
D.1.13 Sub-sequence characteristics SEI message syntax . 349
D.1.14 Full-frame freeze SEI message syntax . 349
D.1.15 Full-frame freeze release SEI message syntax . 349
D.1.16 Full-frame snapshot SEI message syntax . 349
D.1.17 Progressive refinement segment start SEI message syntax . 350
D.1.18 Progressive refinement segment end SEI message syntax . 350
D.1.19 Motion-constrained slice group set SEI message syntax . 350
D.1.20 Film grain characteristics SEI message syntax . 351
D.1.21 Deblocking filter display preference SEI message syntax . 351
D.1.22 Stereo video information SEI message syntax . 352
D.1.23 Post-filter hint SEI message syntax . 352
D.1.24 Tone mapping information SEI message syntax . 353
D.1.25 Frame packing arrangement SEI message syntax . 354
D.1.26 Reserved SEI message syntax . 354
D.2 SEI payload semantics . 354
D.2.1 Buffering period SEI message semantics . 354
D.2.2 Picture timing SEI message semantics . 355
D.2.3 Pan-scan rectangle SEI message semantics . 360
D.2.4 Filler payload SEI message semantics . 361
D.2.5 User data registered by ITU-T Rec. T.35 SEI message semantics . 361
D.2.6 User data unregistered SEI message semantics. 362
D.2.7 Recovery point SEI message semantics . 362
D.2.8 Decoded reference picture marking repetition SEI message semantics . 364
D.2.9 Spare picture SEI message semantics . 364
D.2.10 Scene information SEI message semantics . 366
D.2.11 Sub-sequence information SEI message semantics . 368
D.2.12 Sub-sequence layer characteristics SEI message semantics . 369
D.2.13 Sub-sequence characteristics SEI message semantics. 370
D.2.14 Full-frame freeze SEI message semantics . 372
D.2.15 Full-frame freeze release SEI message semantics . 372
D.2.16 Full-frame snapshot SEI message semantics . 372
D.2.17 Progressive refinement segment start SEI message semantics. 372
D.2.18 Progressive refinement segment end SEI message semantics . 373
D.2.19 Motion-constrained slice group set SEI message semantics . 373
D.2.20 Film grain characteristics SEI message semantics . 374
D.2.21 Deblocking filter display preference SEI message semantics . 380
D.2.22 Stereo video information SEI message semantics . 382
D.2.23 Post-filter hint SEI message semantics . 382
D.2.24 Tone mapping information SEI message semantics . 383
D.2.25 Frame packing arrangement SEI message semantics . 385
D.2.26 Reserved SEI message semantics . 395
Annex E (normative) Video usability information . 396
E.1 VUI syntax . 397
E.1.1 VUI parameters syntax . 397
E.1.2 HRD parameters syntax . 398
E.2 VUI semantics . 398
E.2.1 VUI parameters semantics . 398
E.2.2 HRD parameters semantics . 411
Annex F (informative) Patent Rights . 413
Annex G (normative) Scalable video coding . 415
G.1 Scope . 415
G.2 Normative references . 415
G.3 Definitions . 415
G.4 Abbreviations . 419
G.5 Conventions . 419
vi
© ISO/IEC 2014 – All rights reserved
G.6 Source, coded, decoded and output data formats, scanning processes, neighbouring and reference layer
relationships . 419
G.6.1 Derivation process for reference layer macroblocks . 419
G.6.2 Derivation process for reference layer partitions . 422
G.6.3 Derivation process for reference layer sample locations in resampling . 423
G.6.4 SVC derivation process for macroblock and sub-macroblock partition indices . 425
G.7 Syntax and semantics . 425
G.7.1 Method of specifying syntax in tabular form . 425
G.7.2 Specification of syntax functions, categories, and descriptors . 425
G.7.3 Syntax in tabular form . 425
G.7.4 Semantics . 437
G.8 SVC decoding process . 471
G.8.1 SVC initialisation and decoding processes . 472
G.8.2 SVC reference picture lists construction and decoded reference picture marking process . 492
G.8.3 SVC intra decoding processes . 503
G.8.4 SVC Inter prediction process . 513
G.8.5 SVC transform coefficient decoding and sample array construction processes . 526
G.8.6 Resampling processes for prediction data, intra samples, and residual samples . 543
G.8.7 SVC deblocking filter processes . 573
G.8.8 Specification of bitstream subsets . 585
G.9 Parsing process . 586
G.9.1 Alternative parsing process for coded block pattern . 587
G.9.2 Alternative CAVLC parsing process for transform coefficient levels . 588
G.9.3 Alternative CABAC parsing process for slice data in scalable extension . 592
G.10 Profiles and levels . 595
G.10.1 Profiles . 595
G.10.2 Levels . 598
G.11 Byte stream format . 603
G.12 Hypothetical reference decoder . 603
G.13 Supplemental enhancement information . 603
G.13.1 SEI payload syntax . 604
G.13.2 SEI payload semantics . 610
G.14 Video usability information . 638
G.14.1 SVC VUI parameters extension syntax . 639
G.14.2 SVC VUI parameters extension semantics . 639
Annex H (normative) Multiview video coding . 642
H.1 Scope . 642
H.2 Normative references . 642
H.3 Definitions . 642
H.4 Abbreviations . 644
H.5 Conventions . 644
H.6 Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships . 644
H.7 Syntax and semantics . 645
H.7.1 Method of specifying syntax in tabular form . 645
H.7.2 Specification of syntax functions, categories, and descriptors . 645
H.7.3 Syntax in tabular form . 645
H.7.4 Semantics . 649
H.8 MVC decoding process . 663
H.8.1 MVC decoding process for picture order count . 663
H.8.2 MVC decoding process for reference picture lists construction . 664
H.8.3 MVC decoded reference pi
...












Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...