Information technology -- General video coding

This document specifies a video coding technology known as essential video coding (EVC), which contains syntax format, semantics and an associated decoding process. The decoding process is designed to guarantee that all EVC decoders conform to a specified combination of capabilities known as the profile, level and toolset. Any decoding process that produces identical cropped decoded output pictures to those produced by the described process is considered to be in conformance with the requirements of this document. This document is designed to cover a wide range of application, including but not limited to digital storage media, television broadcasting and real-time communications.

Technologies de l'information -- Codage vidéo général

General Information

Status
Published
Publication Date
28-Oct-2020
Current Stage
5060 - Close of voting Proof returned by Secretariat
Start Date
30-Sep-2020
Completion Date
29-Sep-2020
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 23094-1:2020 - Information technology -- General video coding
English language
416 pages
sale 15% off
Preview
sale 15% off
Preview
Draft
ISO/IEC FDIS 23094-1:Version 24-apr-2020 - Information technology -- General video coding
English language
434 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO/IEC
STANDARD 23094-1
First edition
2020-10
Information technology — General
video coding —
Part 1:
Essential video coding
Technologies de l'information — Codage vidéo général —
Partie 1: Codage vidéo essentiel
Reference number
ISO/IEC 23094-1:2020(E)
©
ISO/IEC 2020

---------------------- Page: 1 ----------------------
ISO/IEC 23094-1:2020(E)

COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2020
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
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2020 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 23094-1:2020(E)
Contents      Page
Foreword . vi
Introduction . vii
1 Scope . 1
2 Normative references . 1
3 Terms and definitions . 1
4 Abbreviated terms . 11
5 Conventions . 12
5.1 General . 12
5.2 Arithmetic operators . 13
5.3 Logical operators . 13
5.4 Relational operators . 13
5.5 Bit-wise operators . 13
5.6 Assignment operators . 14
5.7 Range notation . 14
5.8 Mathematical functions . 14
5.9 Order of operation precedence . 16
5.10 Variables, syntax elements and tables . 16
5.11 Text description of logical operations . 18
5.12 Processes . 19
6 Bitstream and picture formats, partitionings, scanning processes and neighbouring
relationships . 19
6.1 Bitstream formats . 19
6.2 Source, decoded and output picture formats . 20
6.3 Partitioning of pictures, slices, tiles, and CTUs . 22
6.3.1 Partitioning of pictures into slices and tiles . 22
6.3.2 Spatial or component-wise partitionings . 23
6.4 Availability processes . 24
6.4.1 Derivation process for neighbouring block availability . 24
6.4.2 Derivation process for left and right neighbouring blocks availabilities . 24
6.4.3 Derivation process for neighbouring block motion vector candidate
availability . 25
6.4.4 Derivation process for ALF neighbouring block availability . 25
6.5 Scanning processes. 26
6.5.1 CTB raster and tile scanning process . 26
6.5.2 Zig-zag scan order 1D array initialization process . 28
6.5.3 Inverse scan order 1D array initialization process . 29
7 Syntax and semantics . 29
7.1 Method of specifying syntax in tabular form . 29
7.2 Specification of syntax functions and descriptors . 31
7.3 Syntax in tabular form. 32
7.3.1 NAL unit syntax . 32
7.3.2 Raw byte sequence payloads, trailing bits and byte alignment syntax . 33
7.3.3 Supplemental enhancement information message syntax . 38
7.3.4 Slice header syntax . 39
7.3.5 Adaptive loop filter data syntax . 41
7.3.6 DRA data syntax . 42
© ISO/IEC 2020 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/IEC 23094-1:2020(E)
7.3.7 Reference picture list structure syntax . 43
7.3.8 Slice data syntax . 43
7.4 Semantics. 56
7.4.1 General . 56
7.4.2 NAL unit semantics . 56
7.4.3 Raw byte sequence payloads, trailing bits and byte alignment semantics 60
7.4.4 Supplemental enhancement information message semantics . 73
7.4.5 Slice header semantics . 74
7.4.6 Adaptive loop filter data semantics . 79
7.4.7 DRA data semantics . 84
7.4.8 Reference picture list structure semantics . 86
7.4.9 Slice data semantics . 88
8 Decoding process . 105
8.1 General decoding process . 105
8.2 NAL unit decoding process . 105
8.3 Slice decoding process . 105
8.3.1 Decoding process for picture order count . 105
8.3.2 Decoding process for reference picture lists construction . 107
8.3.3 Decoding process for reference picture marking . 111
8.3.4 Decoding process for collocated picture . 112
8.4 Decoding process for coding units coded in intra prediction mode . 112
8.4.1 General . 112
8.4.2 Derivation process for luma intra prediction mode . 114
8.4.3 Derivation process for chroma intra prediction mode . 124
8.4.4 Decoding process of intra prediction . 126
8.4.5 Decoding process for the residual signal. 141
8.5 Decoding process for coding units coded in inter prediction mode . 143
8.5.1 General . 143
8.5.2 Derivation process for motion vector components and reference
indices . 148
8.5.3 Derivation process for affine motion vector components and reference
indices . 188
8.5.4 Decoding process for inter prediction samples . 217
8.5.5 Decoder-side motion vector refinement process . 234
8.5.6 Decoding process for the residual signal of coding units coded in inter
prediction mode . 240
8.6 Decoding process for coding units coded in ibc prediction mode . 246
8.6.1 General . 246
8.6.2 Derivation process for motion vector components . 247
8.6.3 Decoding process for ibc blocks . 250
8.7 Scaling, transformation and array construction process . 251
8.7.1 Derivation process for quantization parameters . 251
8.7.2 Scaling and transformation process . 251
8.7.3 Scaling process for transform coefficients . 252
8.7.4 Transformation process for scaled transform coefficients . 253
8.7.5 Picture construction process . 263
8.7.6 Post-reconstruction filter process. 264
8.8 In-loop filter process . 267
8.8.1 General . 267
8.8.2 Deblocking filter process . 268
8.8.3 Advanced deblocking filter process. 280
8.8.4 Adaptive Loop Filter . 293
8.9 DRA process . 303
iv © ISO/IEC 2020 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC 23094-1:2020(E)
8.9.1 General . 303
8.9.2 Derivation of samples of output decoded picture by DRA process . 303
8.9.3 Inverse mapping process for a luma sample . 304
8.9.4 Inverse mapping process for a chroma sample . 305
8.9.5 Identification of the range index of piecewise function . 305
8.9.6 DRA chroma scale value derivaton process . 306
8.9.7 Derivation of output chroma DRA parameters . 306
8.9.8 Derivation of adjusted chroma DRA scales. 307
9 Parsing process . 309
9.1 General . 309
9.2 Parsing process for 0-th order Exp-Golomb codes . 310
9.2.1 General . 310
9.2.2 Mapping process for signed Exp-Golomb codes . 311
9.3 CABAC parsing process for slice data . 312
9.3.1 General . 312
9.3.2 Initialization process . 312
9.3.3 Binarization process . 326
9.3.4 Decoding process flow . 333
(normative) Profiles, levels and toolsets . 349
(normative) Raw bitstream file storage format . 361
(normative) Hypothetical reference decoder . 362
(normative) Supplemental enhancement information . 374
(normative) Video usability information. 389
Bibliography . 414

© ISO/IEC 2020 – All rights reserved v

---------------------- Page: 5 ----------------------
ISO/IEC 23094-1:2020(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.
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) or the IEC list of patent
declarations received (see http://patents.iec.ch).
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 Joint 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 23094 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.

vi © ISO/IEC 2020 – All rights reserved

---------------------- Page: 6 ----------------------
ISO/IEC 23094-1:2020(E)
Introduction
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 a patent.
ISO and IEC take no position concerning the evidence, validity and scope of this patent right.
The holder of this patent right has assured ISO and IEC that he/she is willing to negotiate licences under
reasonable and non-discriminatory terms and conditions with applicants throughout the world. In this
respect, the statement of the holder of this patent right is registered with ISO and IEC. Information may
be obtained from the patent database available at www.iso.org/patents.
Attention is drawn to the possibility that some of the elements of this document may be the subject of
patent rights other than those in the patent database. ISO and IEC shall not be held responsible for
identifying any or all such patent rights.
© ISO/IEC 2020 – All rights reserved vii

---------------------- Page: 7 ----------------------
INTERNATIONAL STANDARD ISO/IEC 23094-1:2020(E)

Information technology — General video coding —
Part 1:
Essential video coding
1 Scope
This document specifies a video coding technology known as essential video coding (EVC), which
contains syntax format, semantics and an associated decoding process. The decoding process is designed
to guarantee that all EVC decoders conform to a specified combination of capabilities known as the
profile, level and toolset. Any decoding process that produces identical cropped decoded output pictures
to those produced by the described process is considered to be in conformance with the requirements of
this document.
This document is designed to cover a wide range of application, including but not limited to digital storage
media, television broadcasting and real-time communications.
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.
ISO 11664-1, Colorimetry — Part 1: CIE standard colorimetric observers
3 Terms and definitions
For the purposes of this document, the following definitions apply.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https://www.iso.org/obp
— IEC Electropedia: available at http://www.electropedia.org/
3.1
access unit
set of NAL units (3.53) that are associated with each other according to a specified classification rule, are
consecutive in decoding order (3.28), and contain exactly one coded picture (3.16)
3.2
adaptive loop filter
ALF
filtering process that is applied as part of the decoding process (3.29) and is controlled by parameters
(3.58) conveyed in an APS (3.4)
© ISO/IEC 2020 – All rights reserved 1

---------------------- Page: 8 ----------------------
ISO/IEC 23094-1:2020(E)
3.3
ALF APS
APS (3.4) that controls the ALF (3.2) process
3.4
adaptation parameter set
APS
syntax structure (3.87) containing syntax elements (3.86) that apply to zero or more slices (3.81) or
pictures (3.60) as determined by zero or more syntax elements (3.86) found in slice headers (3.82)
3.5
bi-predictive slice
B slice
slice (3.81) that is decoded using intra prediction (3.43) or using inter prediction (3.40) with at most two
motion vectors (3.52) and reference indices (3.74) to predict the sample values of each block (3.11)
3.6
bin
one bit of a bin string (3.7)
3.7
bin string
intermediate binary representation of values of syntax elements (3.86) from the binarization (3.8) of the
syntax element (3.86)
3.8
binarization
set of bin strings (3.7) for all possible values of a syntax element (3.86)
3.9
binarization process
unique mapping process of all possible values of a syntax elements (3.86) from the binarization (3.8) of
the syntax element (3.86)
3.10
bitstream
sequence of bits, in the form of a NAL unit stream (3.54) or a raw bitstream (3.71), that forms the
representation of coded pictures (3.16) and associated data forming one or more coded video sequences
(3.19)
3.11
block
MxN (M-column by N-row) array of samples, or an MxN array of transform coefficients (3.93)
3.12
buffering period
set of access units (3.1) starting with an access unit (3.1) that contains a buffering period suplemental
enhancement information (SEI) message and containing all subsequent access units (3.1) in decoding
order (3.28) up to but not including the next access unit (3.1) (when present) that contains a buffering
period SEI message
3.13
byte
sequence of 8 bits, within which, when written or read as a sequence of bit values, the left-most and right-
most bits represent the most and least significant bits, respectively
2 © ISO/IEC 2020 – All rights reserved

---------------------- Page: 9 ----------------------
ISO/IEC 23094-1:2020(E)
3.14
byte-aligned
position in a bitstream (3.10) where the position is an integer multiple of 8 bits from the position of the
first bit in the bitstream (3.10)
Note 1 to entry: A bit or byte (3.13) or syntax element (3.86) is said to be byte-aligned when the position at which it
appears in a bitstream (3.10) is byte-aligned.
3.15
chroma
sample array or single sample representing one of the two colour difference signals related to the primary
colours, represented by the symbols Cb and Cr
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 are often associated with the term chrominance.
3.16
coded picture
coded representation (3.18) of a picture (3.60) containing all CTUs (3.22) of the picture (3.60)
3.17
coded picture buffer
CPB
first-in first-out buffer containing access units (3.1) in decoding order (3.28)
Note 1 to entry: Specified in the hypothetical reference decoder (3.36) in Annex C.
3.18
coded representation
data element as represented in its coded form
3.19
coded video sequence
CVS
sequence of access units (3.1) that consists, in decoding order (3.28), of an IDR access unit (3.38), followed
by zero or more access units (3.1) that are not IDR access units (3.38), including all subsequent access units
(3.1) up to but not including any subsequent access unit (3.1) that is an IDR access unit (3.38)
3.20
coding block
CB
MxN block (3.11) of samples for some values of M and N such that the division of a CTB (3.21) into coding
blocks is a partitioning (3.59)
3.21
coding tree block
CTB
NxN block (3.11) of samples for some value of N such that the division of a component (3.24) into coding
tree blocks is a partitioning (3.59)
3.22
coding tree unit
CTU
CTB (3.21) of luma (3.51) samples, two corresponding CTBs (3.21) of chroma (3.15) samples of a picture
(3.60) that has three sample arrays, or a CTB of samples of a monochrome picture (3.60) or a picture
© ISO/IEC 2020 – All rights reserved 3

---------------------- Page: 10 ----------------------
ISO/IEC 23094-1:2020(E)
(3.60) that is coded using three separate colour planes and syntax structures (3.87) used to code the
samples
3.23
coding unit
CU
coding block (3.20) of luma (3.51) samples, two corresponding coding blocks (3.20) of chroma (3.15)
samples of a picture (3.60) that has three sample arrays, or a coding block (3.20) of samples of a
monochrome picture (3.60) or a picture (3.60) that is coded using three separate colour planes and syntax
structures (3.87) used to code the samples
3.24
component
array or single sample from one of the three arrays (luma (3.51) and two chroma (3.15)) that compose a
picture (3.60) in 4:2:0, 4:2:2, or 4:4:4 colour format or the array or a single sample of the array that
compose a picture (3.60) in monochrome format
3.25
decoded picture
derived by decoding a coded picture (3.16)
3.26
decoded picture buffer
DPB
buffer holding decoded pictures (3.25) for reference, output reordering, or output delay
Note 1 to entry: Specified for the hypothetical reference decoder (3.36) in Annex C.
3.27
decoder
embodiment of a decoding process (3.29)
3.28
decoding order
order in which syntax elements (3.86) are processed by the decoding process (3.29)
3.29
decoding process
process specified that reads a bitstream (3.10) and derives decoded pictures (3.25) from it
3.30
dynamic range adjustment
DRA
mapping process that is applied to decoded picture (3.25) prior to cropping and output as part of the
decoding process (3.29) and is controlled by parameters conveyed in an APS (3.4)
3.31
DRA APS
APS (3.4) that controls the DRA (3.30) process
4 © ISO/IEC 2020 – All rights reserved

---------------------- Page: 11 ----------------------
ISO/IEC 23094-1:2020(E)
3.32
decoder under test
DUT
decoder (3.27) that is tested for conformance to this document
Note 1 to entry: A decoder (3.27) is tested by operating the hypothetical stream scheduler (3.37) to deliver a
conforming bitstream (3.10) to the decoder (3.27) and to the hypothetical reference decoder (3.36) and comparing
the values and timing of the output of the two decoders (3.27).
3.33
encoder
embodiment of an encoding process (3.34)
3.34
encoding process
process that produces a bitstream (3.10) conforming to this document
3.35
flag
variable or single-bit syntax element (3.86) that can take one of the two possible values: 0 and 1
3.36
hypothetical reference decoder
HRD
hypothetical decoder (3.27) model that specifies constraints on the variability of conforming NAL unit
streams (3.54) or conforming raw bitstreams (3.10) produced by an encoding process
3.37
hypothetical stream scheduler
HSS
hypothetical delivery mechanism for the timing and data flow of the input of a bitstream (3.10) into the
hypothetical reference decoder (3.36)
Note 1 to
...

DRAFT INTERNATIONAL STANDARD
ISO/IEC DIS 23094-1
ISO/IEC JTC 1/SC 29 Secretariat: JISC
Voting begins on: Voting terminates on:
2020-01-13 2020-04-06
Information technology — General video coding —
Part 1:
Essential video coding
ICS: 35.040.40
THIS DOCUMENT IS A DRAFT CIRCULATED
FOR COMMENT AND APPROVAL. IT IS
THEREFORE SUBJECT TO CHANGE AND MAY
NOT BE REFERRED TO AS AN INTERNATIONAL
STANDARD UNTIL PUBLISHED AS SUCH.
IN ADDITION TO THEIR EVALUATION AS
BEING ACCEPTABLE FOR INDUSTRIAL,
This document is circulated as received from the committee secretariat.
TECHNOLOGICAL, COMMERCIAL AND
USER PURPOSES, DRAFT INTERNATIONAL
STANDARDS MAY ON OCCASION HAVE TO
BE CONSIDERED IN THE LIGHT OF THEIR
POTENTIAL TO BECOME STANDARDS TO
WHICH REFERENCE MAY BE MADE IN
Reference number
NATIONAL REGULATIONS.
ISO/IEC DIS 23094-1:2020(E)
RECIPIENTS OF THIS DRAFT ARE INVITED
TO SUBMIT, WITH THEIR COMMENTS,
NOTIFICATION OF ANY RELEVANT PATENT
RIGHTS OF WHICH THEY ARE AWARE AND TO
©
PROVIDE SUPPORTING DOCUMENTATION. ISO/IEC 2020

---------------------- Page: 1 ----------------------
ISO/IEC DIS 23094-1:2020(E)

COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2020
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 2020 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC DIS 23094-1:2019(E)

Contents
Page
Foreword . iv
1 Scope . 1
2 Normative references . 1
2.1 International Standards . 1
2.2 Additional references . 1
3 Definitions . 1
4 Abbreviations . 5
5 Conventions. 7
5.1 General . 7
5.2 Arithmetic operators . 7
5.3 Logical operators . 7
5.4 Relational operators . 7
5.5 Bit-wise operators . 7
5.6 Assignment operators . 8
5.7 Range notation . 8
5.8 Mathematical functions . 8
5.9 Order of operation precedence . 9
5.10 Variables, syntax elements and tables . 10
5.11 Text description of logical operations . 11
5.12 Processes . 12
6 Bitstream and picture formats, partitionings, scanning processes and neighbouring relationships . 13
6.1 Bitstream formats . 13
6.2 Source, decoded and output picture formats . 13
6.3 Partitioning of pictures, slices, tiles, and CTUs . 15
6.3.1 Partitioning of pictures into slices and tiles . 15
6.3.2 Spatial or component-wise partitionings . 15
6.4 Availability processes . 16
6.4.1 Derivation process for neighbouring block availability . 16
6.4.2 Derivation process for left and right neighbouring blocks availabilities . 16
6.4.3 Derivation process for neighbouring block motion vector candidate availability . 17
6.5 Scanning processes . 17
6.5.1 CTB raster and tile scanning process . 17
6.5.2 Zig-zag scan order 2D array initialization process . 19
6.5.3 Zig-zag scan order 1D array initialization process . 19
6.5.4 Inverse scan order 1D array initialization process . 20
7 Syntax and semantics . 21
7.1 Method of specifying syntax in tabular form . 21
7.2 Specification of syntax functions and descriptors . 22
7.3 Syntax in tabular form. 23
7.3.1 NAL unit syntax . 23
7.3.2 Raw byte sequence payloads, trailing bits and byte alignment syntax . 23
7.3.3 Supplemental enhancement information message syntax . 28
7.3.4 Slice header syntax . 29
7.3.5 Reference picture list structure syntax . 32
7.3.6 Slice data syntax . 33
7.4 Semantics . 45
7.4.1 General . 45
7.4.2 NAL unit semantics . 45
7.4.3 Raw byte sequence payloads, trailing bits and byte alignment semantics . 47
7.4.4 Supplemental enhancement information message semantics . 55
7.4.5 Slice header semantics . 56
© ISO/IEC 2019 – All rights reserved
i

---------------------- Page: 3 ----------------------
ISO/IEC DIS 23094-1:2019(E)
7.4.6 Reference picture list structure semantics . 63
7.4.7 Slice data semantics . 64
8 Decoding process . 75
8.1 General decoding process . 75
8.2 NAL unit decoding process . 75
8.3 Slice decoding process . 75
8.3.1 Decoding process for picture order count . 75
8.3.2 Decoding process for reference picture lists construction . 77
8.3.3 Decoding process for reference picture marking . 79
8.3.4 Decoding process for collocated picture . 80
8.4 Decoding process for coding units coded in intra prediction mode . 80
8.4.1 General decoding process for coding units coded in intra prediction mode. 80
8.4.2 Derivation process for luma intra prediction mode . 81
8.4.3 Derivation process for chroma intra prediction mode . 89
8.4.4 Decoding process of intra prediction . 90
8.5 Decoding process for coding units coded in inter prediction mode . 102
8.5.1 General decoding process for coding units coded in inter prediction mode. 102
8.5.2 Derivation process for motion vector components and reference indices . 105
8.5.3 Derivation process for affine motion vector components and reference indices . 137
8.5.4 Decoding process for inter prediction samples . 158
8.5.5 Decoder-Side Motion vector refinement process . 171
8.5.6 Decoding process for the residual signal of coding units coded in inter prediction mode176
8.6 Decoding process for coding units coded in ibc prediction mode . 178
8.6.1 General decoding process for coding units coded in ibc prediction mode . 178
8.6.2 Derivation process for motion vector components. 179
8.6.3 Decoding process for ibc blocks . 181
8.7 Scaling, transformation and array construction process prior to deblocking filter process . 181
8.7.1 Derivation process for quantization parameters . 181
8.7.2 Scaling and transformation process . 182
8.7.3 Scaling process for transform coefficients . 183
8.7.4 Transformation process for scaled transform coefficients . 184
8.7.5 Picture construction process . 192
8.7.6 Post-reconstruction filter process . 192
8.8 In-loop filter process . 194
8.8.1 General . 194
8.8.2 Deblocking filter process . 195
8.8.3 Enhanced deblocking filter process . 201
8.8.4 Adaptive Loop Filter . 207
9 Parsing process . 214
9.1 General . 214
9.2 Parsing process for 0-th order Exp-Golomb codes . 214
9.2.1 General . 214
9.2.2 Mapping process for signed Exp-Golomb codes . 216
9.3 CABAC parsing process for slice data . 216
9.3.1 General . 216
9.3.2 Initialization process . 216
9.3.3 Binarization process . 232
9.3.4 Decoding process flow . 237
Annex A Profiles, levels and toolsets . 248
A.1 Overview of profiles, levels and toolsets . 248
A.2 Requirements on video decoder capability . 248
A.3 Profiles . 248
A.3.1 General . 248
A.3.2 Baseline profile . 248
A.3.3 Main profile . 249
A.4 Levels . 249
A.4.2 Profile-specific level limits . 251
A.4.3 Effect of level limits on picture rate for the video profiles (informative) . 252
© ISO/IEC 2019 – All rights reserved
ii

---------------------- Page: 4 ----------------------
ISO/IEC DIS 23094-1:2019(E)

A.5 Toolsets . 255
Annex B Byte stream format . 256
B.1 General . 256
B.2 Byte stream NAL unit syntax and semantics . 256
B.2.1 Byte stream NAL unit syntax . 256
B.2.2 Byte stream NAL unit semantics . 256
Annex C Hypothetical reference decoder . 257
C.1 General . 257
C.2 Operation of coded picture buffer (CPB) . 259
C.2.1 General . 259
C.2.2 Timing of bitstream arrival . 259
C.2.3 Timing of coded picture removal . 260
C.3 Operation of the decoded picture buffer (DPB) . 261
C.3.1 General . 261
C.3.2 Removal of pictures from the DPB . 261
C.3.3 Picture decoding and output . 261
C.3.4 Current decoded picture marking and storage . 261
C.4 Bitstream conformance . 262
C.5 Decoder conformance . 263
C.5.1 General . 263
C.5.2 Operation of the output order DPB . 264
C.5.2.1 General . 264
C.5.2.2 Removal of pictures from the DPB . 264
C.5.2.3 Current picture decoding, storage, and marking . 264
Annex D Supplemental enhancement information . 265
D.1 General . 265
D.2 SEI payload syntax . 265
D.2.1 General SEI message syntax . 265
D.2.2 Buffering period SEI message syntax . 266
D.2.3 Picture timing SEI message syntax . 266
D.2.4 Recovery point SEI message syntax . 267
D.2.5 Mastering display colour volume SEI message syntax . 267
D.2.6 Content light level information SEI message syntax . 267
D.3 SEI payload semantics . 268
D.3.1 General SEI payload semantics . 268
D.3.2 Buffering period SEI message semantics . 268
D.3.3 Picture timing SEI message semantics . 268
D.3.4 Recovery point SEI message semantics . 272
D.3.5 Mastering display colour volume SEI message semantics . 273
D.3.6 Content light level information SEI message semantics . 275
Annex E Video usability information . 276
E.1 General . 276
E.2 VUI syntax . 276
E.2.1 VUI parameters syntax. 276
E.2.2 HRD parameters syntax . 277
E.3 VUI semantics . 278
E.3.1 VUI parameters semantics . 278
E.3.2 HRD parameters semantics . 294


© ISO/IEC 2019 – All rights reserved
iii

---------------------- Page: 5 ----------------------
ISO/IEC DIS 23094-1:2019(E)
Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO
member bodies). The work of preparing International Standards is normally carried out through ISO technical committees.
Each member body interested in a subject for which a technical committee has been established has the right to be
represented on that committee. International organizations, governmental and non-governmental, in liaison with ISO, also
take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of
electrotechnical standardization.
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 ISO documents 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
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.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 Joint Technical Committee ISO/IEC JTC 1, Subcommittee SC 29, Coding of audio,
picture, multimedia and hypermedia information.
A list of all parts in the ISO/IEC 23094 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
iv

---------------------- Page: 6 ----------------------
ISO/IEC DIS 23094-1:2019(E)

Information technology – General Video Coding – Part 1: Essential
Video Coding
1 Scope
This International Standard specifies essential video coding.
2 Normative references
The following International Standards contain provisions which, through reference in this text, constitute provisions of this
International Standard. At the time of publication, the editions indicated were valid. All Standards are subject to revision,
and parties to agreements based on this International Standard are encouraged to investigate the possibility of applying the
most recent edition of the Standards listed below. Members of IEC and ISO maintain registers of currently valid
International Standards.
2.1 International Standards
– None
2.2 Additional references
– ISO/IEC 10646: in force, Information technology – Universal Coded Character Set (UCS).
– ISO 11664-1: in force, Colorimetry – Part 1: CIE standard colorimetric observers.
3 Definitions
For the purposes of this International Standard, the following definitions apply.
3.1 access unit: A set of NAL units that are associated with each other according to a specified classification rule,
are consecutive in decoding order, and contain exactly one coded picture.
3.2 bi-predictive (B) slice: A slice that is decoded using intra prediction or using inter prediction with at most two
motion vectors and reference indices to predict the sample values of each block.
3.3 bitstream: A sequence of bits, in the form of a NAL unit stream or a byte stream, that forms the representation
of coded pictures and associated data forming one or more coded video sequences (CVSs).
3.4 block: An MxN (M-column by N-row) array of samples, or an MxN array of transform coefficients.
3.5 byte: A sequence of 8 bits, within which, when written or read as a sequence of bit values, the left-most and
right-most bits represent the most and least significant bits, respectively.
3.6 byte-aligned: A position in a bitstream is byte-aligned when the position is an integer multiple of 8 bits from
the position of the first bit in the bitstream, and a bit or byte or syntax element is said to be byte-aligned when
the position at which it appears in a bitstream is byte-aligned.
3.7 byte stream: An encapsulation of a NAL unit stream containing NAL unit length field and NAL units as specified
in Annex B.
3.8 can: A term used to refer to behaviour that is allowed, but not necessarily required.
3.9 chroma: An adjective, represented by the symbols Cb and Cr, specifying that a sample array or single sample is
representing one of the two colour difference signals related to the primary colours.
NOTE – 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 are often associated with the term chrominance.
3.10 coded picture: A coded representation of a picture containing all CTUs of the picture.
3.11 coded picture buffer (CPB): A first-in first-out buffer containing access units in decoding order specified in
the hypothetical reference decoder in Annex C.
3.12 coded representation: A data element as represented in its coded form.
© ISO/IEC 2019 – All rights reserved
1

---------------------- Page: 7 ----------------------
ISO/IEC DIS 23094-1:2019(E)

3.13 coded video sequence (CVS): A sequence of access units that consists, in decoding order, of an IDR access
unit, followed by zero or more access units that are not IDR access units, including all subsequent access units
up to but not including any subsequent access unit that is an IDR access unit.
3.14 coding block: An MxN block of samples for some values of M and N such that the division of a CTB into coding
blocks is a partitioning.
3.15 coding tree block (CTB): An NxN block of samples for some value of N such that the division of a component
into CTBs is a partitioning.
3.16 coding tree unit (CTU): A CTB of luma samples, two corresponding CTBs of chroma samples of a picture that
has three sample arrays, or a CTB of samples of a monochrome picture or a picture that is coded using three
separate colour planes and syntax structures used to code the samples.
3.17 coding unit (CU): A coding block of luma samples, two corresponding coding blocks of chroma samples of a
picture that has three sample arrays, or a coding block of samples of a mon
...

Questions, Comments and Discussion

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