SIST ISO/IEC 14496-10:2010
(Main)Information technology - Coding of audio-visual objects - Part 10: Advanced Video Coding
Information technology - Coding of audio-visual objects - Part 10: Advanced Video Coding
This part of ISO/IEC 14496 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 ISO/IEC 14496 določa napredno video kodiranje avdio-vizualnih objektov.
General Information
Relations
Buy Standard
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 14496-10
Fifth edition
2009-05-15
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 14496-10:2009(E)
©
ISO/IEC 2009
---------------------- Page: 1 ----------------------
ISO/IEC 14496-10:2009(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2009
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing 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 2009 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 14496-10:2009(E)
Contents Page
0 Introduction. xv
0.1 Prologue.xv
0.2 Purpose .xv
0.3 Applications .xv
0.4 Publication and versions of this specification.xv
0.5 Profiles and levels.xvi
0.6 Overview of the design characteristics .xvi
0.6.1 Predictive coding . xvii
0.6.2 Coding of progressive and interlaced video. xvii
0.6.3 Picture partitioning into macroblocks and smaller partitions.xvii
0.6.4 Spatial redundancy reduction.xviii
0.7 How to read this specification.xviii
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.13
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 Derivation process of the availability for macroblock addresses. 26
6.4.8 Derivation process for neighbouring macroblock addresses and their availability. 26
6.4.9 Derivation process for neighbouring macroblock addresses and their availability in MBAFF frames. 27
6.4.10 Derivation processes for neighbouring macroblocks, blocks, and partitions . 28
6.4.11 Derivation process for neighbouring locations . 32
6.4.12 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
7.3.2 Raw byte sequence payloads and RBSP trailing bits syntax. 40
© ISO/IEC 2009 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 14496-10:2009(E)
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.71
7.4.3 Slice header semantics .85
7.4.4 Slice data semantics .97
7.4.5 Macroblock layer semantics.97
8 Decoding process .110
8.1 NAL unit decoding process.111
8.2 Slice decoding process .112
8.2.1 Decoding process for picture order count .112
8.2.2 Decoding process for macroblock to slice group map .116
8.2.3 Decoding process for slice data partitions.120
8.2.4 Decoding process for reference picture lists construction.120
8.2.5 Decoded reference picture marking process.127
8.3 Intra prediction process .132
8.3.1 Intra_4x4 prediction process for luma samples.132
8.3.2 Intra_8x8 prediction process for luma samples.139
8.3.3 Intra_16x16 prediction process for luma samples.147
8.3.4 Intra prediction process for chroma samples.149
8.3.5 Sample construction process for I_PCM macroblocks.154
8.4 Inter prediction process .154
8.4.1 Derivation process for motion vector components and reference indices .157
8.4.2 Decoding process for Inter prediction samples .169
8.4.3 Derivation process for prediction weights.179
8.5 Transform coefficient decoding process and picture construction process prior to deblocking filter process .181
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 182
8.5.3 Specification of transform decoding process for 8x8 luma residual blocks .183
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 transform coefficient levels and trailing ones.225
9.2.2 Parsing process for level information.229
9.2.3 Parsing process for run information .230
9.2.4 Combining level and run information .234
iv © ISO/IEC 2009 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 14496-10:2009(E)
9.3 CABAC parsing process for slice data.234
9.3.1 Initialisation process . 236
9.3.2 Binarization process. 260
9.3.3 Decoding process flow. 270
9.3.4 Arithmetic encoding process (informative). 292
Annex A Profiles and levels. 300
A.1 Requirements on video decoder capability .300
A.2 Profiles.300
A.2.1 Baseline profile . 300
A.2.2 Main profile . 301
A.2.3 Extended profile. 301
A.2.4 High profile. 302
A.2.5 High 10 profile. 302
A.2.6 High 4:2:2 profile. 303
A.2.7 High 4:4:4 Predictive profile. 303
A.2.8 High 10 Intra profile . 303
A.2.9 High 4:2:2 Intra profile . 304
A.2.10 High 4:4:4 Intra profile . 305
A.2.11 CAVLC 4:4:4 Intra profile. 305
A.3 Levels.306
A.3.1 Level limits common to the Baseline, Main, and Extended profiles. 306
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 . 308
A.3.3 Profile-specific level limits . 309
A.3.4 Effect of level limits on frame rate (informative) . 315
A.3.5 Effect of level limits on maximum DPB size in units of frames (informative). 318
Annex B Byte stream format . 320
B.1 Byte stream NAL unit syntax and semantics .320
B.1.1 Byte stream NAL unit syntax. 320
B.1.2 Byte stream NAL unit semantics . 320
B.2 Byte stream NAL unit decoding process .321
B.3 Decoder byte-alignment recovery (informative).321
Annex C Hypothetical reference decoder . 323
C.1 Operation of coded picture buffer (CPB).327
C.1.1 Timing of bitstream arrival . 327
C.1.2 Timing of coded picture removal. 328
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 .331
C.4 Decoder conformance .333
C.4.1 Operation of the output order DPB . 334
C.4.2 Decoding of gaps in frame_num and storage of "non-existing" pictures. 334
C.4.3 Picture decoding. 334
C.4.4 Removal of pictures from the DPB before possible insertion of the current picture. 334
C.4.5 Current decoded picture marking and storage. 335
Annex D Supplemental enhancement information . 338
D.1 SEI payload syntax .339
D.1.1 Buffering period SEI message syntax . 341
D.1.2 Picture timing SEI message syntax. 341
D.1.3 Pan-scan rectangle SEI message syntax. 342
D.1.4 Filler payload SEI message syntax . 343
D.1.5 User data registered by ITU-T Rec. T.35 SEI message syntax . 343
D.1.6 User data unregistered SEI message syntax. 343
D.1.7 Recovery point SEI message syntax . 343
D.1.8 Decoded reference picture marking repetition SEI message syntax . 344
D.1.9 Spare picture SEI message syntax. 344
© ISO/IEC 2009 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC 14496-10:2009(E)
D.1.10 Scene information SEI message syntax.345
D.1.11 Sub-sequence information SEI message syntax .345
D.1.12 Sub-sequence layer characteristics SEI message syntax .345
D.1.13 Sub-sequence characteristics SEI message syntax .346
D.1.14 Full-frame freeze SEI message syntax .346
D.1.15 Full-frame freeze release SEI message syntax .346
D.1.16 Full-frame snapshot SEI message syntax.346
D.1.17 Progressive refinement segment start SEI message syntax .347
D.1.18 Progressive refinement segment end SEI message syntax .347
D.1.19 Motion-constrained slice group set SEI message syntax.347
D.1.20 Film grain characteristics SEI message syntax .348
D.1.21 Deblocking filter display preference SEI message syntax .348
D.1.22 Stereo video information SEI message syntax .349
D.1.23 Post-filter hint SEI message syntax.349
D.1.24 Tone mapping information SEI message syntax .
...
INTERNATIONAL ISO/IEC
STANDARD 14496-10
Fifth edition
2009-05-15
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 14496-10:2009(E)
©
ISO/IEC 2009
---------------------- Page: 1 ----------------------
ISO/IEC 14496-10:2009(E)
PDF disclaimer
PDF files may contain embedded typefaces. In accordance with Adobe's licensing policy, such files may be printed or viewed but shall
not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading a PDF file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create the PDF file(s) constituting this document can be found in the General Info relative to
the file(s); the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the files are suitable for
use by ISO member bodies. In the unlikely event that a problem relating to them is found, please inform the Central Secretariat at the
address given below.
This CD-ROM contains the publication ISO/IEC 14496-10:2009 in portable document format (PDF), which
can be viewed using Adobe® Acrobat® Reader.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.
This fifth edition cancels and replaces the fourth edition (ISO/IEC 14496-10:2008), which has been technically
revised.
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2009
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 p
...
SLOVENSKI STANDARD
SIST ISO/IEC 14496-10:2010
01-september-2010
1DGRPHãþD
SIST ISO/IEC 14496-10:2005
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:2009
ICS:
35.040 Nabori znakov in kodiranje Character sets and
informacij information coding
SIST ISO/IEC 14496-10:2010 en
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.
---------------------- Page: 1 ----------------------
SIST ISO/IEC 14496-10:2010
---------------------- Page: 2 ----------------------
SIST ISO/IEC 14496-10:2010
INTERNATIONAL ISO/IEC
STANDARD 14496-10
Fifth edition
2009-05-15
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 14496-10:2009(E)
©
ISO/IEC 2009
---------------------- Page: 3 ----------------------
SIST ISO/IEC 14496-10:2010
ISO/IEC 14496-10:2009(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2009
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing 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 2009 – All rights reserved
---------------------- Page: 4 ----------------------
SIST ISO/IEC 14496-10:2010
ISO/IEC 14496-10:2009(E)
Contents Page
0 Introduction. xv
0.1 Prologue.xv
0.2 Purpose .xv
0.3 Applications .xv
0.4 Publication and versions of this specification.xv
0.5 Profiles and levels.xvi
0.6 Overview of the design characteristics .xvi
0.6.1 Predictive coding . xvii
0.6.2 Coding of progressive and interlaced video. xvii
0.6.3 Picture partitioning into macroblocks and smaller partitions.xvii
0.6.4 Spatial redundancy reduction.xviii
0.7 How to read this specification.xviii
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.13
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 Derivation process of the availability for macroblock addresses. 26
6.4.8 Derivation process for neighbouring macroblock addresses and their availability. 26
6.4.9 Derivation process for neighbouring macroblock addresses and their availability in MBAFF frames. 27
6.4.10 Derivation processes for neighbouring macroblocks, blocks, and partitions . 28
6.4.11 Derivation process for neighbouring locations . 32
6.4.12 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
7.3.2 Raw byte sequence payloads and RBSP trailing bits syntax. 40
© ISO/IEC 2009 – All rights reserved iii
---------------------- Page: 5 ----------------------
SIST ISO/IEC 14496-10:2010
ISO/IEC 14496-10:2009(E)
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.71
7.4.3 Slice header semantics .85
7.4.4 Slice data semantics .97
7.4.5 Macroblock layer semantics.97
8 Decoding process .110
8.1 NAL unit decoding process.111
8.2 Slice decoding process .112
8.2.1 Decoding process for picture order count .112
8.2.2 Decoding process for macroblock to slice group map .116
8.2.3 Decoding process for slice data partitions.120
8.2.4 Decoding process for reference picture lists construction.120
8.2.5 Decoded reference picture marking process.127
8.3 Intra prediction process .132
8.3.1 Intra_4x4 prediction process for luma samples.132
8.3.2 Intra_8x8 prediction process for luma samples.139
8.3.3 Intra_16x16 prediction process for luma samples.147
8.3.4 Intra prediction process for chroma samples.149
8.3.5 Sample construction process for I_PCM macroblocks.154
8.4 Inter prediction process .154
8.4.1 Derivation process for motion vector components and reference indices .157
8.4.2 Decoding process for Inter prediction samples .169
8.4.3 Derivation process for prediction weights.179
8.5 Transform coefficient decoding process and picture construction process prior to deblocking filter process .181
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 182
8.5.3 Specification of transform decoding process for 8x8 luma residual blocks .183
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 transform coefficient levels and trailing ones.225
9.2.2 Parsing process for level information.229
9.2.3 Parsing process for run information .230
9.2.4 Combining level and run information .234
iv © ISO/IEC 2009 – All rights reserved
---------------------- Page: 6 ----------------------
SIST ISO/IEC 14496-10:2010
ISO/IEC 14496-10:2009(E)
9.3 CABAC parsing process for slice data.234
9.3.1 Initialisation process . 236
9.3.2 Binarization process. 260
9.3.3 Decoding process flow. 270
9.3.4 Arithmetic encoding process (informative). 292
Annex A Profiles and levels. 300
A.1 Requirements on video decoder capability .300
A.2 Profiles.300
A.2.1 Baseline profile . 300
A.2.2 Main profile . 301
A.2.3 Extended profile. 301
A.2.4 High profile. 302
A.2.5 High 10 profile. 302
A.2.6 High 4:2:2 profile. 303
A.2.7 High 4:4:4 Predictive profile. 303
A.2.8 High 10 Intra profile . 303
A.2.9 High 4:2:2 Intra profile . 304
A.2.10 High 4:4:4 Intra profile . 305
A.2.11 CAVLC 4:4:4 Intra profile. 305
A.3 Levels.306
A.3.1 Level limits common to the Baseline, Main, and Extended profiles. 306
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 . 308
A.3.3 Profile-specific level limits . 309
A.3.4 Effect of level limits on frame rate (informative) . 315
A.3.5 Effect of level limits on maximum DPB size in units of frames (informative). 318
Annex B Byte stream format . 320
B.1 Byte stream NAL unit syntax and semantics .320
B.1.1 Byte stream NAL unit syntax. 320
B.1.2 Byte stream NAL unit semantics . 320
B.2 Byte stream NAL unit decoding process .321
B.3 Decoder byte-alignment recovery (informative).321
Annex C Hypothetical reference decoder . 323
C.1 Operation of coded picture buffer (CPB).327
C.1.1 Timing of bitstream arrival . 327
C.1.2 Timing of coded picture removal. 328
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 .331
C.4 Decoder conformance .333
C.4.1 Operation of the output order DPB . 334
C.4.2 Decoding of gaps in frame_num and storage of "non-existing" pictures. 334
C.4.3 Picture decoding. 334
C.4.4 Removal of pictures from the DPB before possible insertion of the current picture. 334
C.4.5 Current decoded picture marking and storage. 335
Annex D Supplemental enhancement information . 338
D.1 SEI payload syntax .339
D.1.1 Buffering period SEI message syntax . 341
D.1.2 Picture timing SEI message syntax. 341
D.1.3 Pan-scan rectangle SEI message syntax. 342
D.1.4 Filler payload SEI message syntax . 343
D.1.5 User data registered by ITU-T Rec. T.35 SEI message syntax . 343
D.1.6 User data unregistered SEI message syntax. 343
D.1.7 Recovery point SEI message syntax . 343
D.1.8 Decoded reference picture marking repetition SEI message syntax . 344
D.1.9 Spare picture SEI message syntax. 344
© ISO/IEC 2009 – All rights reserved v
---------------------- Page: 7 ----------------------
SIST ISO/IEC 14496-10:2010
ISO/IEC 14496-10:2009(E)
D.1.10 Scene information SEI message syntax.345
D.1.11 Sub-sequence information SEI message syntax .345
D.1.12 Sub-sequence layer characteristics SEI message syntax .345
D.1.13 Sub-sequence characteristics SEI message syntax .346
D.1.14 Full-frame freeze SEI message syntax .346
D.1.15 Full-frame freeze release SEI message syntax .346
D.1.16 Full-frame snapshot SEI message syntax.346
D.1.17 Progressive refinement segment start SEI message syntax .
...
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.Informacijska tehnologija - Kodiranje avdio-vizualnih objektov - 10. del: Napredno video kodiranje za splošne avdiovizualne storitveTechnologies de l'information - Codage des objets audiovisuels - Partie 10: Codage visuel avancéInformation technology - Coding of audio-visual objects - Part 10: Advanced Video Coding35.040Nabori znakov in kodiranje informacijCharacter sets and information codingICS:Ta slovenski standard je istoveten z:ISO/IEC 14496-10:2009oSIST ISO/IEC 14496-10:2010en01-julij-2010oSIST ISO/IEC 14496-10:2010SLOVENSKI
STANDARDSIST ISO/IEC 14496-10:20051DGRPHãþD
oSIST ISO/IEC 14496-10:2010
Reference numberISO/IEC 14496-10:2009(E)© ISO/IEC 2009
INTERNATIONAL STANDARD ISO/IEC14496-10Fifth edition2009-05-15Information technology — Coding of audio-visual objects — Part 10: Advanced Video Coding Technologies de l'information — Codage des objets audiovisuels — Partie 10: Codage visuel avancé
oSIST ISO/IEC 14496-10:2010
ISO/IEC 14496-10:2009(E) PDF disclaimer This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat accepts no liability in this area. Adobe is a trademark of Adobe Systems Incorporated. Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
COPYRIGHT PROTECTED DOCUMENT
©
ISO/IEC 2009 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing 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 2009 – All rights reserved
oSIST ISO/IEC 14496-10:2010
ISO/IEC 14496-10:2009(E) © ISO/IEC 2009 – All rights reserved iii Contents Page 0 Introduction.xv 0.1 Prologue.xv 0.2 Purpose.xv 0.3 Applications.xv 0.4 Publication and versions of this specification.xv 0.5 Profiles and levels.xvi 0.6 Overview of the design characteristics.xvi 0.6.1 Predictive coding.xvii 0.6.2 Coding of progressive and interlaced video.xvii 0.6.3 Picture partitioning into macroblocks and smaller partitions.xvii 0.6.4 Spatial redundancy reduction.xviii 0.7 How to read this specification.xviii 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.13 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 Derivation process of the availability for macroblock addresses.26 6.4.8 Derivation process for neighbouring macroblock addresses and their availability.26 6.4.9 Derivation process for neighbouring macroblock addresses and their availability in MBAFF frames.27 6.4.10 Derivation processes for neighbouring macroblocks, blocks, and partitions.28 6.4.11 Derivation process for neighbouring locations.32 6.4.12 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 7.3.2 Raw byte sequence payloads and RBSP trailing bits syntax.40 oSIST ISO/IEC 14496-10:2010
ISO/IEC 14496-10:2009(E) iv © ISO/IEC 2009 – All rights reserved 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.71 7.4.3 Slice header semantics.85 7.4.4 Slice data semantics.97 7.4.5 Macroblock layer semantics.97 8 Decoding process.110 8.1 NAL unit decoding process.111 8.2 Slice decoding process.112 8.2.1 Decoding process for picture order count.112 8.2.2 Decoding process for macroblock to slice group map.116 8.2.3 Decoding process for slice data partitions.120 8.2.4 Decoding process for reference picture lists construction.120 8.2.5 Decoded reference picture marking process.127 8.3 Intra prediction process.132 8.3.1 Intra_4x4 prediction process for luma samples.132 8.3.2 Intra_8x8 prediction process for luma samples.139 8.3.3 Intra_16x16 prediction process for luma samples.147 8.3.4 Intra prediction process for chroma samples.149 8.3.5 Sample construction process for I_PCM macroblocks.154 8.4 Inter prediction process.154 8.4.1 Derivation process for motion vector components and reference indices.157 8.4.2 Decoding process for Inter prediction samples.169 8.4.3 Derivation process for prediction weights.179 8.5 Transform coefficient decoding process and picture construction process prior to deblocking filter process.181 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 182 8.5.3 Specification of transform decoding process for 8x8 luma residual blocks.183 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 transform coefficient levels and trailing ones.225 9.2.2 Parsing process for level information.229 9.2.3 Parsing process for run information.230 9.2.4 Combining level and run information.234 oSIST ISO/IEC 14496-10:2010
ISO/IEC 14496-10:2009(E) © ISO/IEC 2009 – All rights reserved v 9.3 CABAC parsing process for slice data.234 9.3.1 Initialisation process.236 9.3.2 Binarization process.260 9.3.3 Decoding process flow.270 9.3.4 Arithmetic encoding process (informative).292
Annex A Profiles and levels.300 A.1 Requirements on video decoder capability.300 A.2 Profiles.300 A.2.1 Baseline profile.300 A.2.2 Main profile.301 A.2.3 Extended profile.301 A.2.4 High profile.302 A.2.5 High 10 profile.302 A.2.6 High 4:2:2 profile.303 A.2.7 High 4:4:4 Predictive profile.303 A.2.8 High 10 Intra profile.303 A.2.9 High 4:2:2 Intra profile.304 A.2.10 High 4:4:4 Intra profile.305 A.2.11 CAVLC 4:4:4 Intra profile.305 A.3 Levels.306 A.3.1 Level limits common to the Baseline, Main, and Extended profiles.306 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.308 A.3.3 Profile-specific level limits.309 A.3.4 Effect of level limits on frame rate (informative).315 A.3.5 Effect of level limits on maximum DPB size in units of frames (informative).318
Annex B Byte stream format.320 B.1 Byte stream NAL unit syntax and semantics.320 B.1.1 Byte stream NAL unit syntax.320 B.1.2 Byte stream NAL unit semantics.320 B.2 Byte stream NAL unit decoding process.321 B.3 Decoder byte-alignment recovery (informative).321
Annex C Hypothetical reference decoder.323 C.1 Operation of coded picture buffer (CPB).327 C.1.1 Timing of bitstream arrival.327 C.1.2 Timing of coded picture removal.328 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.331 C.4 Decoder conformance.333 C.4.1 Operation of the output order DPB.334 C.4.2 Decoding of gaps in frame_num and storage of "non-existing" pictures.334 C.4.3 Picture decoding.334 C.4.4 Removal of pictures from the DPB before possible insertion of the current picture.334 C.4.5 Current decoded picture marking and storage.335
Annex D Supplemental enhancement information.338 D.1 SEI payload syntax.339 D.1.1 Buffering period SEI message syntax.341 D.1.2 Picture timing SEI message syntax.341 D.1.3 Pan-scan rectangle SEI message syntax.342 D.1.4 Filler payload SEI message syntax.343 D.1.5 User data registered by ITU-T Rec. T.35 SEI message syntax.343 D.1.6 User data unregistered SEI message syntax.343 D.1.7 Recovery point SEI message syntax.343 D.1.8 Decoded reference picture marking repetition SEI message syntax.344 D.1.9 Spare picture SEI message syntax.344 oSIST ISO/IEC 14496-10:2010
ISO/IEC 14496-10:2009(E) vi © ISO/IEC 2009 – All rights reserved D.1.10 Scene information SEI message syntax.345 D.1.11 Sub-sequence information SEI message syntax.345 D.1.12 Sub-sequence layer characteristics SEI message syntax.345 D.1.13 Sub-sequence characteristics SEI message syntax.346 D.1.14 Full-frame freeze SEI message syntax.346 D.1.15 Full-frame freeze release SEI message syntax.346 D.1.16 Full-frame snapshot SEI message syntax.346 D.1.17 Progressive refinement segment start SEI message syntax.347 D.1.18 Progressive refinement segment end SEI message syntax.347 D.1.19 Motion-constrained slice group set SEI message syntax.347 D.1.20 Film grain characteristics SEI message syntax.348 D.1.21 Deblocking filter display preference SEI message syntax.348 D.1.22 Stereo video information SEI message syntax.349 D.1.23 Post-filter hint SEI message
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.