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

Status
Published
Publication Date
27-Feb-2019
Current Stage
6060 - International Standard published
Start Date
28-Feb-2019
Completion Date
28-Feb-2019
Ref Project

Buy Standard

Standard
ISO/IEC 14496-33:2019 - Information technology -- Coding of audio-visual objects
English language
98 pages
sale 15% off
Preview
sale 15% off
Preview

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 their

availability ..........................................................................................................................................................................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: Video
IEC 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.7
bitstream
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.9
byte

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.10
byte-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.11
byte 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 colours

Note 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.13
coded 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 format
3.16
DC coefficient

transform coefficient (3.66) for which the frequency index (3.27) is zero in all dimensions

3.17
decoded 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.21
dequantization

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.25
forward prediction

process of predicting the current frame by the past reference frames (3.53) in output order

3.26
flag
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 instant
3.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 frame
3.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.34
inverse 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.35
layer

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.