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

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

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

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
---------------------- 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
---------------------- 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
---------------------- 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
---------------------- 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.