ISO/IEC 14496-33:2019
(Amendment)Information technology — Coding of audio-visual objects — Part 33: Internet video coding
Information technology — Coding of audio-visual objects — Part 33: Internet video coding
This document specifies MPEG-4 Internet video coding.
Technologies de l'information — Codage des objets audiovisuels — Partie 33: Codage vidéo Internet
General Information
Standards Content (sample)
INTERNATIONAL ISO/IEC
STANDARD 14496-33
First edition
2019-02
Information technology — Coding of
audio-visual objects —
Part 33:
Internet video coding
Technologies de l'information — Codage des objets audiovisuels —
Partie 33: Codage vidéo Internet
Reference number
ISO/IEC 14496-33:2019(E)
ISO/IEC 2019
---------------------- Page: 1 ----------------------
ISO/IEC 14496-33:2019(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2019
All rights reserved. Unless otherwise specified, or required in the context of its implementation, 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
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Fax: +41 22 749 09 47
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2019 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 14496-33:2019(E)
Contents Page
Foreword ..........................................................................................................................................................................................................................................v
Introduction ................................................................................................................................................................................................................................vi
1 Scope ................................................................................................................................................................................................................................. 1
2 Normative references ...................................................................................................................................................................................... 1
3 Terms and definitions ..................................................................................................................................................................................... 1
4 Abbreviations........................................................................................................................................................................................................... 7
5 Conventions ............................................................................................................................................................................................................... 7
5.1 Arithmetic operators ......................................................................................................................................................................... 7
5.2 Logical operators .................................................................................................................................................................................. 8
5.3 Relational operators ........................................................................................................................................................................... 8
5.4 Bitwise operators.................................................................................................................................................................................. 8
5.5 Assignment ................................................................................................................................................................................................. 8
5.6 Order of operation precedence ................................................................................................................................................. 9
5.7 Mathematical functions ................................................................................................................................................................... 9
5.8 Variables, syntax elements and tables .............................................................................................................................10
5.9 Text description of logical operations ..............................................................................................................................11
5.10 Processes ...................................................................................................................................................................................................12
5.11 Description of bitsteam syntax parsing process and decoding process .............................................12
5.11.1 Method of describing bitstream syntax ....................................................................................................12
5.11.2 Syntax functions ............................................................................................................................................................14
5.11.3 Syntax descriptors .......................................................................................................................................................15
5.11.4 Reserved, forbidden and marker bit ............................................................................................................16
6 Source, coded, decoded and output data formats ...........................................................................................................16
6.1 Source ..........................................................................................................................................................................................................16
6.2 Colour format ........................................................................................................................................................................................16
6.3 Coded bitstream format ...............................................................................................................................................................17
6.4 Sequence header ................................................................................................................................................................................17
6.5 Frame ...........................................................................................................................................................................................................17
6.6 Frame types ............................................................................................................................................................................................17
6.7 Slice ................................................................................................................................................................................................................18
6.8 Macroblock ..............................................................................................................................................................................................18
6.9 Block..............................................................................................................................................................................................................18
6.10 Frame re-ordering .............................................................................................................................................................................19
6.11 Reference frames ................................................................................................................................................................................19
6.12 Inverse scanning processes and derivation processes for neighbours ...............................................20
6.12.1 General...................................................................................................................................................................................20
6.12.2 Inverse macroblock scanning process .......................................................................................................20
6.12.3 Inverse macroblock partition scanning process................................................................................20
6.12.4 Inverse 8x8 luma block scanning process...............................................................................................21
6.12.5 Inverse 4x4 luma block scanning process...............................................................................................21
6.12.6 Derivation process of the availability for macroblock addresses .......................................21
6.12.7 Derivation process for neighbouring macroblock addresses and theiravailability ..........................................................................................................................................................................22
6.12.8 Derivation processes for neighbouring macroblocks, blocks, and partitions ..........23
6.12.9 Derivation process for neighbouring locations ..................................................................................25
7 Syntax and semantics ...................................................................................................................................................................................26
7.1 Bitstream syntax .................................................................................................................................................................................26
7.1.1 Start codes ..........................................................................................................................................................................26
7.1.2 Video sequence ..............................................................................................................................................................27
7.1.3 Frame ......................................................................................................................................................................................28
7.1.4 Slice ..........................................................................................................................................................................................30
7.1.5 Macroblock ........................................................................................................................................................................30
© ISO/IEC 2019 – All rights reserved iii---------------------- Page: 3 ----------------------
ISO/IEC 14496-33:2019(E)
7.1.6 Block ........................................................................................................................................................................................33
7.2 Video bitstream semantics ........................................................................................................................................................34
7.2.1 Start code.............................................................................................................................................................................34
7.2.2 Video sequence ..............................................................................................................................................................34
7.2.3 Frame ......................................................................................................................................................................................37
7.2.4 Slice ..........................................................................................................................................................................................38
7.2.5 Macroblock ........................................................................................................................................................................38
7.2.6 Block ........................................................................................................................................................................................41
8 Decoding process ..............................................................................................................................................................................................41
8.1 General ........................................................................................................................................................................................................41
8.2 Intra prediction ...................................................................................................................................................................................42
8.2.1 General...................................................................................................................................................................................42
8.2.2 Intra_4x4 prediction process for luma samples .................. ...............................................................42
8.2.3 Intra_8x8 prediction process for luma samples .................. ...............................................................45
8.2.4 Intra_16x16 prediction process for luma samples ..........................................................................47
8.2.5 Intra prediction for 8x8 chroma block .......................................................................................................49
8.3 Inter prediction ...................................................................................................................................................................................51
8.3.1 General...................................................................................................................................................................................51
8.3.2 Derivation process for motion vector components and reference indices .................52
8.3.3 Decoding process for inter prediction samples .................................................................................60
8.4 Transform coefficient decoding process and frame reconstruction process .................................69
8.4.1 General...................................................................................................................................................................................69
8.4.2 Inverse scanning ...........................................................................................................................................................70
8.4.3 Inverse quantization ..................................................................................................................................................71
8.4.4 Inverse transform process ....................................................................................................................................74
8.4.5 Reconstruction ...............................................................................................................................................................79
8.5 Loop filtering .........................................................................................................................................................................................79
8.6 Reference frame buffer management ...............................................................................................................................81
9 Parsing process ...................................................................................................................................................................................................82
9.1 General ........................................................................................................................................................................................................82
9.2 ue(v) ..............................................................................................................................................................................................................82
9.3 Parsing process for transform coefficient levels .....................................................................................................82
9.4 ae(v) ..............................................................................................................................................................................................................83
9.4.1 General...................................................................................................................................................................................83
9.4.2 Description .................. .................................................... ...................................................................................................83
9.4.3 Initialization ......................................................................................................................................................................84
9.4.4 Binarization process ..................................................................................................................................................84
9.4.5 Parsing binary string .................................................................................................................................................87
10 Profiles and levels ............................................................................................................................................................................................97
10.1 General ........................................................................................................................................................................................................97
10.2 Profiles ........................................................................................................................................................................................................98
10.3 Levels ............................................................................................................................................................................................................98
iv © ISO/IEC 2019 – All rights reserved---------------------- Page: 4 ----------------------
ISO/IEC 14496-33:2019(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are
members of ISO or IEC participate in the development of International Standards through technical
committees established by the respective organization to deal with particular fields of technical
activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international
organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the
work. In the field of information technology, ISO and IEC have established a joint technical committee,
ISO/IEC JTC 1.The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for
the different types of document should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www .iso .org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject
of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent
rights. Details of any patent rights identified during the development of the document will be in the
Introduction and/or on the ISO list of patent declarations received (see www .iso .org/patents).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and
expressions related to conformity assessment, as well as information about ISO's adherence to the
World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT) see www .iso
.org/iso/foreword .html.This document was prepared by Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information.
A list of all parts in the ISO/IEC 14496 series can be found on the ISO website.Any feedback or questions on this document should be directed to the user’s national standards body. A
complete listing of these bodies can be found at www .iso .org/members .html.© ISO/IEC 2019 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC 14496-33:2019(E)
Introduction
This document specifies Internet video coding, a video compression technology that is intended to be
suitable for video distribution models currently adopted on the Internet.The International Organization for Standardization (ISO) and International Electrotechnical
Commission (IEC) draw attention to the fact that it is claimed that compliance with this document may
involve the use of patents.ISO and IEC take no position concerning the evidence, validity and scope of these patent rights.
The holders of these patent rights have assured ISO and IEC that they are willing to negotiate licences
under reasonable and non-discriminatory terms and conditions with applicants throughout the world.
In this respect, the statements of the holders of these patent rights are registered with ISO and IEC.
Information may be obtained from:Nokia Technologies Oy
Joensuunkatu 7E
FIN-24100 Salo
FINLAND
Telephone : +358 50 366 2022
Apple Inc.
Intellectual Property and Licensing
1 Infinite Loop, MS 169-3IPL
Cupertino, CA 95014
USA
Telephone: +1(408) 974-0015
Industry-University Cooperation Foundation Hanyang University
222 Wangsimni-ro, Seongdong-gu
Seoul 04763
REPUBLIC OF KOREA
Telephone: +82-2-2220-2212
vi © ISO/IEC 2019 – All rights reserved
---------------------- Page: 6 ----------------------
ISO/IEC 14496-33:2019(E)
Mitsubishi Electric Corporation
Corporate Licensing Division
2-7-3 Marunouchi, Chiyoda-ku
Tokyo 100-8310
JAPAN
Telephone: +81-3-3218-3465
QUALCOMM Incorporated
5775 Morehouse Drive
San Diego, CA 92121
USA
Telephone: +1 (858) 587-1121
Attention is drawn to the possibility that some of the elements of this document may be the subject of
patent rights other than those identified above. ISO and IEC shall not be held responsible for identifying
any or all such patent rights.© ISO/IEC 2019 – All rights reserved vii
---------------------- Page: 7 ----------------------
INTERNATIONAL STANDARD ISO/IEC 14496-33:2019(E)
Information technology — Coding of audio-visual
objects —
Part 33:
Internet video coding
1 Scope
This document specifies MPEG-4 Internet video coding.
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content
constitutes requirements of this document. For dated references, only the edition cited applies. For
undated references, the latest edition of the referenced document (including any amendments) applies.
Rec. ITU-T H.262 | ISO/IEC 13818-2: 2013, Information technology — Generic coding of moving pictures
and associated audio information — Part 2: VideoIEC 60461, Time and control code
3 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
— IEC Electropedia: available at http: //www .electropedia .org/— ISO Online browsing platform: available at http: //www .iso .org/obp
3.1
B frame
bidirectional frame
frame (3.28) that is coded using motion compensated prediction from past or future reference frames
(3.53) in output order (3.40)3.2
backward prediction
process of predicting the current frame (3.28) by using future frames in an output order (3.40) as
reference frames (3.53)3.3
bin
bit of a bin string (3.4)
3.4
bin string
intermediate binary representation of values of syntax elements (3.65) resulting from the binarization
(3.5) of the syntax element© ISO/IEC 2019 – All rights reserved 1
---------------------- Page: 8 ----------------------
ISO/IEC 14496-33:2019(E)
3.5
binarization
set of bin strings (3.4) for all possible values of a syntax element (3.65)
3.6
binarization process
unique mapping process of all possible values of a syntax element (3.65) onto a set of bin strings (3.4)
3.7bitstream
ordered series of bits that forms the coded representation (3.14) of the data
3.8
block
MxN (M-column by N-row) array of samples, or an MxN array of transform coefficients (3.66)
3.9byte
sequence of 8 bits, written and read with the most significant bit on the left and the least significant bit on
the right, such that when represented in a sequence of data bits, the most significant bit of a byte is first
3.10byte-aligned
positioning of a bit or byte (3.9) or syntax element (3.65) when the position at which it appears in a
bitstream (3.7) is an integer multiple of 8 bits from the position of the first bit in the bitstream
3.11byte stream
ordered series of bytes that forms the coded representation (3.14) of the data
3.12
chroma
sample array or single sample, identified symbolically by Cb or Cr, representing one of the two colour
difference signals related to the primary coloursNote 1 to entry: The term chroma is used rather than the term chrominance in order to avoid the implication of
the use of linear light transfer characteristics that is often associated with the term chrominance.
3.13coded frame
coded representation (3.14) of a frame (3.28)
3.14
coded representation
series of data elements as represented in coded form in the bitstream (3.7)
3.15
component
array or single sample from one of the three arrays (luma (3.37) and two chroma (3.12)) that make up a
frame (3.28) in 4:2:0 colour format3.16
DC coefficient
transform coefficient (3.66) for which the frequency index (3.27) is zero in all dimensions
3.17decoded frame
frame (3.28) derived by decoding a coded frame (3.13)
2 © ISO/IEC 2019 – All rights reserved
---------------------- Page: 9 ----------------------
ISO/IEC 14496-33:2019(E)
3.18
decoder
embodiment of the decoding process (3.20)
3.19
decoding order
order in which syntax elements are processed by the decoding process (3.20)
3.20
decoding process
process that derives decoded frames (3.17) from the syntax elements in the bitstream (3.7)
3.21dequantization
process of scaling (3.57) the quantized transform coefficients (3.49) after their representation in the
bitstream (3.7) has been parsed (3.42) and before they are presented to the inverse transform (3.34)
part of the decoding process (3.20)3.22
encoder
embodiment of an encoding process (3.23)
3.23
encoding process
process that produces a bitstream (3.7)
Note 1 to entry: This document does not specify an encoding process.
3.24
forbidden
specification that a value shall never be used
Note 1 to entry: This is usually to avoid emulation of a start code (3.63) pattern.
3.25forward prediction
process of predicting the current frame by the past reference frames (3.53) in output order
3.26flag
binary variable that can take one of the two possible values, 0 and 1
3.27
frequency index
one-dimensional or two-dimensional index associated with a transform coefficient (3.66) prior to an
inverse transform (3.34) part of a decoding process (3.20)3.28
frame
successive lines, numbered from the top-most line to the bottom-most line, containing samples
numbered from the left-most sample to the right-most sample, representing the spatial information of a
video signal from a single time instant3.29
I frame
intra frame
frame (3.28) coded using information only from itself
3.30
inter macroblock
macroblock (3.38) which is coded using inter prediction (3.31)
© ISO/IEC 2019 – All rights reserved 3
---------------------- Page: 10 ----------------------
ISO/IEC 14496-33:2019(E)
3.31
inter prediction
prediction (3.44) derived from data elements (e.g. sample value or motion vector (3.39)) of reference
frames (3.53) other than the current frame3.32
intra macroblock
macroblock (3.38) which is coded using intra prediction (3.33)
3.33
intra prediction
prediction (3.44) derived from only data elements (e.g. sample values) of the same decoded slice (3.60)
3.34inverse transform
part of the decoding process (3.20) by which a set of transform coefficients (3.66) are converted into
spatial-domain values, or by which a set of transform coefficients are converted into DC coefficients (3.16)
3.35layer
one of a set of syntactical structures in a non-branching hierarchical relationship, such that higher
layers contain lower layers, with such coded layers being the coded frame (3.13), slice (3.60), macroblock
(3.38) and block (3.8)3.36
level
defined set of constraints on the values that may be taken by syntax elements (3.65) and variables; or in
a different context, the value of a transform coefficient (3.66) prior to scaling (3.57)
Note 1 to entry: The same set of levels is defined for all profiles (3.47), with most aspects of the definition of each
level being in common across different profiles. Individual implementations may, within spe
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.