Information technology — Coding of audio-visual objects — Part 10: Advanced Video Coding

ISO/IEC 14496-10:2012 specifies advanced video coding for the coding of audio-visual objects. ISO/IEC 14496-10:2012 was developed in response to a growing need for higher compression of moving pictures for various applications such as digital storage media, television broadcasting, Internet streaming, and real-time audiovisual communication. ISO/IEC 14496-10:2012 specifies a coded video representation syntax and an associated decoding process that are suitable for use in a wide variety of applications and network environments. ISO/IEC 14496-10:2012 includes the specification of advanced video coding (AVC) and associated extensions to enable scalable video coding (SVC) and multiview video coding (MVC).

Technologies de l'information — Codage des objets audiovisuels — Partie 10: Codage visuel avancé

General Information

Status
Withdrawn
Publication Date
25-Apr-2012
Withdrawal Date
25-Apr-2012
Current Stage
9599 - Withdrawal of International Standard
Completion Date
27-Aug-2014
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 14496-10:2012 - Information technology -- Coding of audio-visual objects
English language
699 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO/IEC 14496-10:2012 - Information technology -- Coding of audio-visual objects
English language
699 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO/IEC
STANDARD 14496-10
Seventh edition
2012-05-01

Information technology — Coding of
audio-visual objects —
Part 10:
Advanced Video Coding
Technologies de l'information — Codage des objets audiovisuels —
Partie 2: Codage visuel avancé




Reference number
ISO/IEC 14496-10:2012(E)
©
ISO/IEC 2012

---------------------- Page: 1 ----------------------
ISO/IEC 14496-10:2012(E)


This CD-ROM contains the publication ISO/IEC 14496-10:2012 in portable document format (PDF), which
can be viewed using Adobe® Acrobat® Reader.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.

This seventh edition cancels and replaces the sixth edition (ISO/IEC 14496-10:2010), which has been
technically revised.
COPYRIGHT PROTECTED DOCUMENT


©  ISO/IEC 2012
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 2012 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 14496-10:2012(E)
Installation
If this publication has been packaged as a zipped file, do NOT open the file from the CD-ROM, but copy it to
the desired locat
...

INTERNATIONAL ISO/IEC
STANDARD 14496-10
Seventh edition
2012-05-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 14496-10:2012(E)
©
ISO/IEC 2012

---------------------- Page: 1 ----------------------
ISO/IEC 14496-10:2012(E)
COPYRIGHT PROTECTED DOCUMENT


©  ISO/IEC 2012
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 2012 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 14496-10:2012(E)
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 2012 – All rights reserved

---------------------- Page: 3 ----------------------
ISO/IEC 14496-10:2012(E)
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 2012 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC 14496-10:2012(E)
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 2012 – All rights reserved

---------------------- Page: 5 ----------------------
ISO/IEC 14496-10:2012(E)
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.
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.