ISO/IEC 21122-2:2019
(Main)Information technology — JPEG XS low-latency lightweight image coding system — Part 2: Profiles and buffer models
Information technology — JPEG XS low-latency lightweight image coding system — Part 2: Profiles and buffer models
This document defines a limited number of subsets of the syntax specified in ISO/IEC 21122-1 and a buffer model to ensure interoperability between implementations in the presence of a latency constraint.
Titre manque — Partie 2: Titre manque
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 21122-2
First edition
2019-07
Information technology — JPEG XS
low-latency lightweight image coding
system —
Part 2:
Profiles and buffer models
Reference number
©
ISO/IEC 2019
© ISO/IEC 2019
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting
on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address
below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Fax: +41 22 749 09 47
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2019 – All rights reserved
Contents Page
Foreword .iv
Introduction .v
1 Scope . 1
2 Normative references . 1
3 Terms, definitions, symbols and abbreviated terms . 1
3.1 Terms and definitions . 1
3.2 Conformance language . 4
3.3 Operators . 4
3.3.1 Arithmetic operators . 4
3.3.2 Logical operators . 4
3.3.3 Relational operators . 4
3.3.4 Precedence order of operators . 4
3.3.5 Mathematical functions . 5
4 Specifications . 5
4.1 Symbols . 5
4.2 Abbreviated terms . 7
4.3 General provisions . 7
5 Buffer model . 8
5.1 General system block diagram . 8
5.2 Influencing variables on the required buffer sizes . 9
5.3 Role of the buffer model . 9
Annex A (normative) Profiles, levels and sublevels .10
Annex B (normative) Packet-based JPEG XS decoder model .22
Annex C (normative) Packet-based constant bit rate buffer model .28
Annex D (informative) Encoder model, latency bounds and codestream conformance
properties for the packet-based constant bit rate buffer model .35
Annex E (informative) JPEG XS latency analysis .40
Bibliography .47
© ISO/IEC 2019 – All rights reserved iii
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 21122 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.
iv © ISO/IEC 2019 – All rights reserved
Introduction
ISO/IEC 21122-1 (JPEG XS) specifies a single syntax designed to serve a wide range of applications, bit
rates, resolutions, qualities, and services. Its main target applications are video transport over video
links and IP networks, real-time video storage, video memory buffer, omni-directional video capture
system, head-mounted displays for virtual or augmented reality and sensor compression for the
automotive industry. These applications have different requirements in terms of complexity, latency
and compression efficiency. Even within a given application field, different requirements are usually
identified depending on the targeted use case.
Considering the impracticality of implementing the full syntax of ISO/IEC 21122-1, and in order to
meet the requirements of the different target applications while safeguarding as much as possible the
interoperability enabled by the common syntax defined in ISO/IEC 21122-1, a limited number of subsets
of this syntax are stipulated by means of “profiles”, “levels”, and “sublevels”.
The coding tools specified in ISO/IEC 21122-1 allow encoder and decoder implementations to limit the
end-to-end latency to a fraction of the frame size. To ensure this property, this document specifies a
buffer model, consisting of a decoder model and a transmission channel model.
© ISO/IEC 2019 – All rights reserved v
INTERNATIONAL STANDARD ISO/IEC 21122-2:2019(E)
Information technology — JPEG XS low-latency lightweight
image coding system —
Part 2:
Profiles and buffer models
1 Scope
This document defines a limited number of subsets of the syntax specified in ISO/IEC 21122-1 and
a buffer model to ensure interoperability between implementations in the presence of a latency
constraint.
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/IEC 21122-1, JPEG XS low-latency lightweight image coding system — Part 1: Core coding system
3 Terms, definitions, symbols and abbreviated terms
3.1 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 21122-1 and the
following 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.1
blanking codestream fragment
placeholder codestream fragment (3.1.8) representing blanking periods
3.1.2
horizontal blanking period
timespan expressed in units of the grid point sampling rate between the last pixel (3.1.22) of an image
line ― not being the last line of an image ― and the first pixel of the next image line
3.1.3
vertical blanking period
timespan in units of the grid point sampling rate between the last line of an image [including the
horizontal blanking periods (3.1.2)] and the first line of the next image
3.1.4
buffer model
combination of a decoder model (3.1.12) and a channel model (3.1.6) whose behaviour can be defined by
a set of parameters
© ISO/IEC 2019 – All rights reserved 1
3.1.5
buffer model instance
specific configuration of a buffer model (3.1.4) specified by the assignment of well-defined values to the
buffer model parameters
3.1.6
channel model
model describing the temporal behaviour of the transmission channel (3.1.29) connecting an encoder
and a decoder
3.1.7
coded codestream fragment
continuous sequence of bits in the codestream containing exactly one packet body and a well-defined
number of packet headers, markers and marker segments
3.1.8
codestream fragment
either coded codestream fragment (3.1.7), or blanking codestream fragment (3.1.1)
3.1.9
code group
group of quantization indices in sign-magnitude representation representing a quantized coefficient
group (3.1.10)
3.1.10
coefficient group
number of horizontally adjacent wavelet coefficients from the same band and precinct
3.1.11
cycle
single clock period of an encoder or decoder clocked implementation
3.1.12
decoder model
combination of a decoder unit (3.1.14) and a decoder smoothing buffer (3.1.13)
3.1.13
decoder smoothing buffer
memory buffer that is used to level out changes in the number of bits read by a decoder unit (3.1.14) per
time unit
3.1.14
decoder unit
module reading a variable number of bits per time unit to generate decoded output pixels (3.1.22) with
a fixed rate
3.1.15
decomposition level
set of wavelet coefficients resulting from a particular level (3.1.21) of recursive application of a wavelet
transform
3.1.16
encoder model
combination of an encoder unit (3.1.18) and an encoder smoothing buffer (3.1.17)
3.1.17
encoder smoothing buffer
memory buffer that is used to level out changes in the number of bits generated by an encoder unit
(3.1.18) per time unit
2 © ISO/IEC 2019 – All rights reserved
3.1.18
encoder unit
module transforming a sequence of input pixels (3.1.22) with constant rate into a conforming
codestream, producing a bit sequence with variable number of bits generated per time unit
3.1.19
fill level
number of bits stored in the encoder or decoder smoothing buffer (3.1.13)
3.1.20
nominal bits per pixel value
mean number of bits allocated per encoded pixel (3.1.22) which is used to derive the sublevel (3.1.28)
constraints by assuming an image with well-defined dimensions and frame rate derived from the level
(3.1.21)
3.1.21
level
defined set of constraints on the amount of decoded sampling grid points (3.1.25) to be processed by an
encoder or decoder, both in the spatial and time dimensions
Note 1 to entry: The same set of levels is defined for all profiles. Individual implementations may, within the
specified constraints, support a different level for each supported profile.
3.1.22
pixel
position in the sample grid (3.1.24) that is populated by a sample value of at least one component
3.1.23
profile
specified subset of the codestream syntax together with admissible parameter values
3.1.24
sample grid
abstract coordinate system on which image sample values are positioned
3.1.25
sampling grid point
position on the sample grid (3.1.24), specified by integer horizontal and vertical offset relative to the
origin of the sample grid
3.1.26
smoothing buffer unit
level (3.1.21) and sublevel (3.1.28) dependent number of bits by which the smoothing buffer size of the
decoder model (3.1.12) is specified
3.1.27
start of transmission
SoT
time at which the transmission channel (3.1.29) starts transmission relative to the start of encoding of
the first codestream fragment (3.1.8) of a codestream
3.1.28
sublevel
defined set of constraints on the amount of codestream bits to be processed by an encoder or decoder,
per unit of time, per column, and per image
Note 1 to entry: The same set of sublevels is defined for all profiles. Individual implementations may, within the
specified constraints, support a different sublevel for each supported profile.
© ISO/IEC 2019 – All rights reserved 3
3.1.29
transmission channel
facility transferring bits from a source entity to a target entity
3.1.30
transmission channel capacity
maximum number of bits per time unit that a transmission channel (3.1.29) can transfer from a source
entity to a target entityConventions
3.2 Conformance language
ISO/IEC’s use of verbal forms is detailed at:
https: //www .iso .org/foreword -supplementary -information .html
The keyword "reserved" indicates a provision that is not specified at this time, shall not be used, and
may be specified in the future. The keyword "forbidden" indicates "reserved" and in addition indicates
that the provision will never be specified in the future.
3.3 Operators
NOTE Many of the operators used in document are similar to those used in the C programming language.
3.3.1 Arithmetic operators
+ addition
− subtraction (as a binary operator) or negation (as a unary prefix operator)
× multiplication
/ division without truncation or rounding
3.3.2 Logical operators
|| logical OR
&& logical AND
! logical NOT
3.3.3 Relational operators
> greater than
≥ greater than or equal to
< less than
≤ less than or equal to
== equal to
!= not equal to
3.3.4 Precedence order of operators
Operators are listed in descending order of precedence. If several operators appear in the same line,
they have equal precedence. When several operators of equal precedence appear at the same level in an
4 © ISO/IEC 2019 – All rights reserved
expression, evaluation proceeds according to the associativity of the operator either from right to left
or from left to right.
Operators Type of operation Associativity
() expression left to right
[] indexing of arrays left to right
– unary negation
×, / multiplication, division left to right
+, − addition and subtraction left to right
< , >, ≤, ≥ relational left to right
& bitwise AND left to right
| bitwise OR left to right
3.3.5 Mathematical functions
ceil of x: returns the smallest integer that is greater than or equal to x
x
floor of x: returns the largest integer that is less than or equal to x
x
|x| absolute value of x, |x| equals –x for x < 0, otherwise x
sign(x) sign of x, 0 if x is 0, +1 if x is positive, −1 if x is negative
10t ≥
ξ t
()
step function ξ t =
()
0otherwise
max (x ) maximum of a sequence of numbers [x ] enumerated by the index i
i i i
4 Specifications
4.1 Symbols
A = [a ,a ,…,a ] sequence of elements a – a
1 2 n 1 n
concatenation of two sequences A and B
AB||
C(i) codestream i
D number of clock cycles between the first bit written into the decoding smoothing
c2d
buffer and the decoding start of the first codestream fragment of a stream of code-
stream fragments
F (C(i)) first codestream fragment of codestream C(i)
first
F (C(i)) last codestream fragment of codestream C(i)
last
H height of the image in sampling grid points
f
© ISO/IEC 2019 – All rights reserved 5
H maximum picture height in sampling grid points
max
L maximum number of sampling grid points per image
max
l (t) fill level of the encoding smoothing buffer in bits at the end of cycle t
enc
l (t) fill level of the decoding smoothing buffer in bits at the end of cycle t
dec
l capacity in bits of the encoding smoothing buffer
enc,max
l capacity in bits of the decoding smoothing buffer
dec,max
number of bits that can be read from the decoding smoothing buffer in cycle t
l t
()
dec
l (t) sum of encoder and decoder smoothing buffer fill level in bits at cycle t
sum
all integer numbers being strictly larger than zero
all integer numbers being greater than or equal to zero
N size of the horizontal blanking line in sampling grid point clock periods
b,x
N size of the vertical blanking period in sampling grid lines
b,y
N nominal number of bits allocated per pixel for compression
bpp
N number of components in an image
c
N (f) number of coefficient groups within codestream fragment f
cg
N number of coefficient groups associated to a codestream fragment representing a
cg,hz
horizontal blanking period
N number of coefficient groups associated to a codestream fragment representing a
cg,vt
vertical blanking period
N (i) number of codestream fragments within a codestream i
f
N number of coefficients in a code group
g
N number of vertical decomposition levels
L,y
N number of precincts per sampling grid line
p,x
N number of precincts per sampling grid column
p,y
N number of decoder smoothing buffer units for a given profile
sbu
set of rational numbers
r (t) number of bits read and removed from the decoder smoothing buffer in clock cycle t
dec
R transmission channel capacity, expressed in bits per cycle (having a duration of T)
trans
R (l , l ) maximum admissible encoded throughput in bits per second for a given level
t,max m s
R max grid point sample rate (in samples per second) at decoder output
s,max
S (f) number of bits forming the codestream fragment f
bits
6 © ISO/IEC 2019 – All rights reserved
S targeted maximum number of bytes of an encoded codestream
c,max
S (l , l ) size of the smoothing buffer unit in bytes for level l and sublevel l
sbu m s m s
S (p) smoothing buffer increment in bits for a profile p
sbo
S (l , l ) maximum size of an encoded codestream in bytes of level l and sublevel l
sl,max m s m s
s [i] subsampling factor of component i in horizontal direction
x
s [i] subsampling factor of component i in vertical direction
y
T clock period defining the frequency by which code groups are processed by an encoder
enc
T clock period defining the frequency by which code groups are processed by a decoder
dec
t (f) timestamp in cycles at which the codestream fragment f is written to the encoder
enc,write
smoothing buffer
t (f) timestamp in cycles at which decoder starts decoding codestream fragment f
dec,start
t (f) timestamp in cycles at which codestream fragment f is removed from the decoder
dec,read
smoothing buffer
Tbmd buffer model type
W [i] width of component i in samples
c
W maximum column width in sampling grid points for a given profile
c,max
w (t) number of bits written into the decoder smoothing buffer in clock cycle t
dec
W width of the image in sampling grid points
f
W maximum picture width in sampling grid points
max
4.2 Abbreviated terms
bpp bits per pixel
DWT discrete wavelet transform
IDWT inverse discrete wavelet transform
RCT reversible colour transform
IRCT inverse reversible colour transform
4.3 General provisions
For a concrete application, only a subset of the codestream syntax specified in ISO/IEC 21122-1 is needed.
Profiles as specified in 3.1.23 define corresponding interoperability points for those applications. In
addition to profiles, levels (as specified in 3.1.21) and sublevels (specified in 3.1.28) limit the maximum
throughput in the encoded (codestream) and decoded (pixel, spatial) domain. This allows creating cost-
efficient implementations serving the needs of the desired applications.
Profiles, levels and sublevels shall be as specified in Annex A.
Keeping the end-to-end latency of an encoding-decoding chain under a given threshold is one of the main
goals pursued by the methods defined in ISO/IEC 21122-1. To reach this goal, the definition of buffer
models is necessary, consisting of a decoder model and a transmission channel model. The interaction
© ISO/IEC 2019 – All rights reserved 7
of a hypothetical reference decoder including its decoding smoothing buffer with a constant bitrate
channel feeding this buffer shall be as specified in Annexes B and C. The size of this decoding smoothing
buffer is specified in Annex A. Codestreams shall be formed such that this decoding smoothing buffer
never overflows or underflows.
Buffer models are further discussed in Annex D. The buffer model provides encoders with the necessary
information to generate codestreams that can be decoded by an arbitrary decoder implementation
ensuring system interoperability.
In addition to the size of the decoder smoothing buffer, end-to-end latency also depends on the latency
inherent to each processing step of the encoding-decoding chain whose methods are described
in ISO/IEC 21122-1. To help implementers estimate the latency of their device, Annex E gives useful
information on the minimum latency that can be achieved by the different methods described in
ISO/IEC 21122-1.
5 Buffer model
5.1 General system block diagram
The JPEG XS coding system addresses applications where coded images are transferred from a source
to a target, as shown in Figure 1. To this end, the encoder is compressing a continuous stream of input
pixels into a sequence of bits. These bits are forwarded by means of a transmission channel to the
decoder that decompresses the bits to produce a continuous stream of output pixels.
Key
1 encoder clock
2 pixel data
3 encoder unit
4 encoder smoothing buffer
5 transmission channel
6 decoder smoothing buffer
7 decoder unit
8 decoder clock
9 variable bit rate
Figure 1 — General system block diagram
The time instances at which the encoder has to process each pixel are determined by an encoding clock.
Similarly, the time instances at which the decoder has to produce each output pixel are determined by a
decoding clock. Both clocks are generated by the system.
NOTE In implementations, these clocks can be the same or differ in both frequency and phase. The presented
model is independent of whether clocks are synchronized or not.
8 © ISO/IEC 2019 – All rights reserved
In accordance with ISO/IEC 21122-1, the pixels of an image are translated into coefficient groups
represented as code groups in the codestream. The number of bits necessary to code these code groups
may vary from group to group. As a consequence, the encoder writes encoded bits at a variable rate into
the encoder smoothing buffer. Similarly, the decoder reads the codestream at a variable rate from the
decoder smoothing buffer.
In case the maximum bit rate of the transmission channel is below the peak bit rate generated by the
encoder, an encoder smoothing buffer is necessary to decouple generation of bits by the encoder from
transmission of bits over the transmission channel. Similarly, a decoder smoothing buffer needs to be
provided that decouples the arrival of bits at the rate afforded by the transmission channel and the
consumption of bits by the decoder per clock.
Correct operation requires that the decoder buffer never overflows. This is because the decoder is
not able to pause the arrival of bits from the transmission channel. Moreover, a buffer underflow in
the decoder buffer needs to be avoided. This is because the decoder is required to output pixels in
accordance with the timing of its output interface. Hence it needs to be ensured that the bits to be read
from the decoding buffer to produce the next pixel in accordance with the decoding clock are available
in this decoding buffer.
5.2 Influencing variables on the required buffer sizes
Avoiding any buffer overflow or underflow, as discussed in subclause 5.1, requires properly sizing the
decoder smoothing buffer. Moreover, the time at which decoding starts is delayed relative to the starting
time of encoding and the start of transmission needs to be carefully set. Those values are influenced by
many system parameters, for example:
— The maximum transmission channel bit rate.
— The granularity at which the encoder writes the encoded data and the decoder reads the encoded data.
— The rate control strategy applied by the encoder.
These dependencies cause that encoders and decoders are only interoperable in well-defined conditions.
Defining these conditions is the purpose of the buffer model defined in Annex B and Annex C
5.3 Role of the buffer model
The core coding system defined in ISO/IEC 21122-1 can be implemented on a large variety of platforms
using many different implementation strategies. Thus, interoperability cannot be achieved by precisely
specifying the temporal behaviour of a conforming decoding implementation. Instead, the buffer model
defines a simplified decoder model. Interoperability is then achieved by mandating that a conforming
decoder shall decode all bit streams being decodable by the simplified decoder model. Similarly, a
conforming encoder shall not create bit streams that cannot be decoded by the simplified decoder model.
To this end, Annex B defines a generic JPEG XS decoder model that precisely defines the temporal
behaviour of the decoder model assuming a processing granularity of codestream packets. While such
a model already defines some fundamental properties of the decodable codestreams, it is still not
sufficient to ensure interoperability. The reason is that otherwise codestreams could be constructed
that would only be decodable by the decoder model if the transmission channel could transport bits
arbitrarily fast. In practice, this is obviously not the case. Consequently, interoperability also requires
defining a channel model over which an encoder sends the codestreams to the decoder.
Annex C defines such a channel model assuming a transmission channel with a fixed upper bit
rate that is related to the target compression ratio. Together with the decoder model of Annex B, it
defines the packet-based constant bit rate buffer model. It describes the conditions for a low latency
interoperability between any conforming encoder and any decoder. These conditions are expressed by
buffer model parameters that are specified by the profiles and levels defined in Annex A. The properties
of such conforming implementations are exemplified in Annex D. Since these properties are direct
consequences of Annex B and Annex C, Annex D is informative only.
© ISO/IEC 2019 – All rights reserved 9
Annex A
(normative)
Profiles, levels and sublevels
A.1 General
Profiles, levels and sublevels specify restrictions on codestreams and hence limits on the capabilities
needed to decode the codestreams. Profiles, levels and sublevels may also be used to indicate
interoperability points between individual decoder implementations.
Each profile specifies a subset of algorithmic features and limits on their parameterization that shall
be supported by all decoders conforming to that profile. Encoders are not required to make use of all
features supported in a profile.
The combination of a level and a sublevel defines a lower bound on the throughput a conforming decoder
implementation shall support. To this end, the level gives upper bounds for the image parameters in the
decoded domain, namely the maximum image width, the maximum image height and the maximum
number of sampling grid points to be processed per second.
The sublevel defines upper bounds in the coded domain, such as the nominal bits per pixel value
allocated for an encoded image having maximum width and height. In combination with the constraints
set by the levels in the decoded domain, this allows the derivation of upper bounds on the admissible
encoded image size and the upper number of bits a decoder is required to decode per second. Moreover,
it defines the decoder smoothing buffer unit, whose size is specified in subclause A.4.2.
By these means, the decoding smoothing buffer size can be derived from the profile. In combination
with the tool selection performed by a profile, this allows to control the complexity of a decoder
implementation.
Figure A.1 depicts the relation between level, sublevel, profile and the corresponding constraints
they impose.
10 © ISO/IEC 2019 – All rights reserved
Figure A.1 — Relationship between the different conformance constraints and the impact on
the decoder complexity
A.2 Profiles
A.2.1 Definitions of profiles
Profiles specify subsets of coding tools which conforming decoders shall support. Moreover, profiles
limit the permitted parameter values. Consequently, profiles are differentiated along the following
features:
— decoder smoothing buffer size expressed in smoothing buffer units;
— smoothing buffer offset;
— bit depth;
— chroma sampling formats;
— number of vertical wavelet decompositions;
— number of horizontal wavelet decompositions;
— supported quantizer types;
— maximum column width;
— slice height.
Table A.1, Table A.2 and Table A.3 list the profiles specified in this document.
© ISO/IEC 2019 – All rights reserved 11
Table A.1 — JPEG XS Main profiles
Profile Main Main Main
422.10 444.12 4444.12
Number N of smoothing buffer units of the decod- 16 16 16
sbu
a
er model
b
Smoothing buffer offset S in bits 1 024 1 024 1 024
sbo
Bit depth 8, 10 8, 10, 12 8, 10, 12
Chroma sampling formats 4:0:0, 4:2:2 4:0:0, 4:2:2, 4:0:0, 4:2:2,
4:4:4 4:4:4, 4:2:2:4,
4:4:4:4
Number of vertical decompositions Up to 1 Up to 1 Up to 1
c
Number of horizontal decompositions [1-5] [1-5] [1-5]
Quantizer type Qpih 0 (DZQ) 0 (DZQ) 0 (DZQ)
1 (Unform) 1 (Unform) 1 (Uniform)
d
Column mode (see Cw in ISO/IEC 21122-1) One column One column One column
except when the except when except when
number of verti- the number of the number of
cal decomposition vertical decom- vertical decom-
e
levels is zero position levels position levels
e e
is zero is zero
Slice height in number of image rows 16 16 16
f
Buffer model Tbmd 1 and 2 1 and 2 1 and 2
a
The smoothing buffer unit size is determined by the maximum column width in Light-Subline profile and the maximum
image width in other profiles. See Formulae (A.1) and (A.2).
b
The value of 1 024 bits (128 bytes) has been derived from a typical size of the picture header without any extension
markers.
c
As defined in ISO/IEC 21122-2, the number of horizontal wavelet decompositions shall be at least as large as the
number of vertical wavelet decompositions.
N
Lx,
82××Cw max(si )× if Cw >0
i x
d
The column width in sampling grid points is given by C = ≤22048 , where Cw is
s
otherwise
W
f
indicated in the picture header (see ISO/IEC 21122-1), W is the image width, s [i] is the subsampling factor for component i,
f x
and N is the number of horizontal wavelet decompositions.
L,x
e
One column of full width if number of vertical decompositions larger than 0, otherwise any column width conforming
with ISO/IEC 21122-1 is allowed.
f
Decoders shall both support Tbmd=1 and Tbmd=2.
NOTE Tbmd=2 includes Tbmd=1.
12 © ISO/IEC 2019 – All rights reserved
Table A.2 — JPEG XS Light profiles
Profile Light Light Light-Subline
422.10 444.12 422.10
Number N of smoothing buffer units of the decod- 4 4 2
sbu
a
er model
b
Smoothing buffer offset S in bits 1 024 1 024 1 024
sbo
Bit depth 8, 10 8, 10, 12 8, 10
Chroma sampling formats 4:0:0, 4:2:2 4:0:0, 4:2:2, 4:4:4 4:0:0, 4:2:2
Number of vertical decompositions Up to 1 Up to 1 0
c
Number of horizontal decompositions [1-5] [1-5] [1-5]
Quantizer type Qpih 0 (DZQ) 0 (DZQ) 0 (DZQ)
1 (Uniform)
d
Column mode (see Cw in ISO/IEC 21122-1) Only one column Only one col- Max column
permitted (full umn permitted width = 2 048
width) (full width)
Slice height in number of image rows 16 16 16
f
Buffer model Tbmd 1 and 2 1 and 2 1 and 2
a
The smoothing buffer unit size is determined by the maximum column width in Light-Subline profile and the maximum
image width in other profiles. See Formulae (A.1) and (A.2).
b
The value of 1 024 bits (128 bytes) has been derived from a typical size of the picture header without any extension
markers.
c
As defined in ISO/IEC 21122-2, the number of horizontal wavelet decompositions shall be at least as large as the
number of vertical wavelet decompositions.
N
Lx,
82××Cw max(si )× if Cw >0
i x
d
The column width in sampling grid points is given by C = ≤22048 , where Cw is
s
otherwise
W
f
indicated in the picture header (see ISO/IEC 21122-1), W is the image width, s [i] is the subsampling factor for component i,
f x
and N is the number of horizontal wavelet decompositions.
L,x
f
Decoders shall both support Tbmd=1 and Tbmd=2.
NOTE Tbmd=2 includes Tbmd=1.
© ISO/IEC 2019 – All rights reserved 13
Table A.3 — JPEG XS High profiles
Profile High High
444.12 4444.12
a
Number N of smoothing buffer units of the decoder model 16 16
sbu
b
Smoothing buffer offset S in bits 1 024 1 024
sbo
Bit depth 8, 10, 12 8, 10, 12
Chroma sampling formats 4:0:0, 4:2:2, 4:4:4 4:0:0, 4:2:2,
4:4:4, 4:2:2:4,
4:4:4:4
Number of vertical decompositions Up to 2 Up to 2
c
Number of horizontal decompositions [1-5] [1-5]
Quantizer type Qpih 0 (DZQ) 0 (DZQ)
1 (Unform) 1 (Unform)
d
Column mode (see Cw in ISO/IEC 21122-1) One column One column
except when except when
the number of the number of
vertical decom- vertical decom-
position levels position levels
e e
is zero is zero
Slice height in number of image rows 16 16
f
Buffer model Tbmd 1 and 2 1 and 2
a
The smoothing buffer unit size is determined by the maximum column width in Light-Subline profile and the maximum
image width in other profiles. See Formulae (A.1) and (A.2).
b
The value of 1 024 bits (128 bytes) has been derived from a typical size of the picture header without any extension
markers.
c
As defined in ISO/IEC 21122-2, the number of horizontal wavelet decompositions shall be at least as large as the
number of vertical wavelet decompositions
N
Lx,
82××Cw max(si )× if Cw >0
i x
d
The column width in sampling grid points is given by C = ≤22048 , where Cw is
s
otherwise
W
f
indicated in the picture header (see ISO/IEC 21122-1), W is the image width, s [i] is the subsampling factor for component i,
f x
and N is the number of horizontal wavelet decompositions.
L,x
e
One column of full width if number of vertical decompositions larger than 0, otherwise any column width conforming
with ISO/IEC 21122-1 is allowed.
f
Decoders shall both support Tbmd=1 and Tbmd=2.
NOTE Tbmd=2 includes Tbmd=1.
Figure A.2 represents the relation of the profiles defined in Table A.1, Table A.2 and Table A.3 in terms
of inclusivity. The Light422.10 profile is for instance contained in both the Main422.10 profile and the
Light444.12 profile. The Main422.10 profile is again included in the Main444.12 profile, etc.
The Light and Light-Subline profiles are independent subsets of the Main profile. They need lower
memory and logic resources, and allow for lower latency, at the expense of a lower compression
efficiency.
NOTE Figure A.2 does not formulate additional constraints on decoder implementations. The relations
presented there are implicit due to the profile specifications in Table A.1, Table A.2 and Table A.3. That is, a
decoder conforming to a given profile P in this figure automatically conforms to a profile Q provided there is a
path from Q to P in the direction of the arrows.
14 © ISO/IEC 2019 – All rights reserved
Figure A.2 — Inclusivity relation of the JPEG XS profiles
The resulting maximum bits per pixel (bpp) in the decoded domain for each profile is shown in Table A.4.
Table A.4 — Maximum decoded bpp for each profile defined in this document
Profile Main Main Main Light Light Light- High High
422.10 444.12 4444.12 422.10 444.12 Subline 444.12 4444.12
422.10
Bit depth 8, 10 8, 10, 12 8, 10, 12 8, 10 8, 10, 12 8, 10 8, 10, 12 8, 10, 12
Chroma 4:0:0 4:0:0 4:0:0 4:0:0 4:0:0 4:0:0 4:0:0 4:0:0
sampling
4:2:2 4:2:2 4:2:2 4:2:2 4:2:2 4:2:2 4:2:2 4:2:2
formats
4:4:4 4:4:4 4:4:4 4:4:4 4:4:4
4:2:2:4 4:2:2:4
4:4:4:4 4:4:4:4
Max 20 36 48 20 36 20 36 48
decoded
bpp
A.2.2 Profile signalling in the picture header
The profile of a codestream defines the capabilities of a decoder implementation necessary to decode
the image. This profile shall be indicated in the Ppih field in the picture header by the values defined in
Table A.5.
The unrestricted profile uses the full syntax defined in ISO/IEC 21122-1 without any further constraint.
This unrestricted profile shall not be considered as a conformance point.
NOTE 1 The unrestricted profile is not a conformance point because the syntax defined in ISO/IEC 21122-1 can
evolve in the future.
© ISO/IEC 2019 – All rights reserved 15
Table A.5 — Mapping of profiles to values of the Ppih field in the picture header
Ppih
Profile
Binary Hex
Unrestricted 0000 0000 0000 0000 0x0000
Light 422.10 0001 0101 0000 0000 0x1500
Light 444.12 0001 1010 0000 0000 0x1A00
Light-Subline 422.10 0010 0101 0000 0000 0x2500
Main 422.10 0011 0101 0100 0000 0x3540
Main 444.12 0011 1010 0100 0000 0x3A40
Main 4444.12 0011 1110 0100 0000 0x3E40
High 444.12 0100 1010 0100 0000 0x4A40
High 4444.12 0100 1110 0100 0000 0x4E40
Reserved for ISO/IEC all other values
purposes
Conforming encoder and decoder implementations shall only rely on the values given in Table A.5 (and
not on the following note).
NOTE 2 The current assignment of Ppih values to profiles is defined such that 4 bits signal the coding tool set,
2 bits signal the chroma format, 2 bits signal the maximum permissible bit depth, 2 bits signal the smoothing
buffer unit and 6 bits are currently unused. However, future profiles will possibly deviate from this scheme.
A.3 Levels
Levels define a lower bound on the throughput in the decoded domain that a conforming decoder
implementation shall support. Levels are defined along the maximum permissible sampling grid points
per line, the maximum number of sampling grid points per column height, the maximum number of
sampling grid points per image, and the maximum sampling rate of grid points per second. Table A.6
defines all available levels.
Table A.6 — JPEG XS levels
Level Maximum Max picture Max number of Max grid point Examples/
picture width height H sampling grid sample rate R comments
max s,max
W [sampling [sampling grid points L per [sampling grid
max max
grid points] points] image points/s]
[sampling grid
points]
2k-1 2 048 8 192 4 194 304 133 693 440 1280×720@120
1920×1080@60
2048×1536@30
2048×2048@30
2048×1080@60
4k-1 4 096 16 384 8 912 896 267 386 880 1920×1080@120
3840×2160@30
4096×2160@30
4k-2 4 096 16 384 16 777 216 534 773 760 1920×1080@240
3840×2160@60
4096×3072@30
4096×4096@30
4096×2160@60
16 © ISO/IEC 2019 – All rights reserved
Table A.6 (continued)
Level Maximum Max picture Max number of Max grid point Examples/
picture width height H sampling grid sample rate R comments
max s,max
W [sampling [sampling grid points L per [sampling grid
max max
grid points] points] image points/s]
[sampling grid
points]
4k-3 4 096 16 384 16 777 216 1 069 547 520 1920×1080@480
2048×1080@480
4096×3072@60
4096×4096@60
3840×2160@120
4096×2160@120
8k-1 8 192 32 768 35 651 584 1 069 547 520 3840×2160@120
7680×4320@30
8192×4320@30
8k-2 8 192 32 768 67 108 864 2 139 095 040 3840×2160@240
8192×6144@30
8192×8192@30
7680×4320@60
8192×4320@60
8k-3 8 192 32 768 67 108 864 4 278 190 080 3840×2160@480
4096×2160@480
8192×6144@60
8192×8192@60
7680×4320@120
8192×4320@120
10k-1 10 240 40 960 104 857 600 3 342 336 000 10240×7680@30
10240×10240@30
10240×4320@60
10240×5400@60
NOTE 1 Since levels define maximum permissible sample counts and sample rates, a decoder conforming to a
specific level is also conforming to all levels that only require a smaller sample count and sample rate than the
given level.
NOTE 2 The maximum number of sample grid points is not identical to the product of the maximum picture
height and the maximum picture width.
A.4 Sublevels
A.4.1 Definition of sublevels
Sublevels define a lower bound o
...








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