Information technology — JPEG XS low-latency lightweight image coding system — Part 2: Profiles and buffer models

This document defines several subsets of the syntax specified in ISO/IEC 21122-1 as profiles. It also defines lower bounds on the throughput in the decoded domain via levels and the encoded domain via sublevels that a conforming decoder implementation shall support. Furthermore, it defines a buffer model to ensure interoperability between implementations in the presence of a latency constraint.

Technologies de l'information — Système de codage d'images léger à faible latence JPEG XS — Partie 2: Profils et modèles tampons

General Information

Status
Published
Publication Date
08-Aug-2024
Current Stage
6060 - International Standard published
Start Date
09-Aug-2024
Due Date
16-Jun-2025
Completion Date
09-Aug-2024
Ref Project

Relations

Standard
ISO/IEC 21122-2:2024 - Information technology — JPEG XS low-latency lightweight image coding system — Part 2: Profiles and buffer models Released:9. 08. 2024
English language
61 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


International
Standard
ISO/IEC 21122-2
Third edition
Information technology — JPEG
2024-08
XS low-latency lightweight image
coding system —
Part 2:
Profiles and buffer models
Technologies de l'information — Système de codage d'images
léger à faible latence JPEG XS —
Partie 2: Profils et modèles tampons
Reference number
© ISO/IEC 2024
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
© ISO/IEC 2024 – All rights reserved
ii
Contents Page
Foreword .iv
Introduction .v
1 Scope . 1
2 Normative references . 1
3 Terms and definitions . 1
4 Abbreviated terms . 4
5 Symbols . 4
6 Conventions . 7
6.1 Conformance language .7
6.2 Operators .7
6.2.1 Arithmetic operators .7
6.2.2 Logical operators .7
6.2.3 Relational operators .7
6.2.4 Other operators .7
6.2.5 Precedence order of operators .8
6.2.6 Mathematical functions .8
7 Buffer model . 8
7.1 General system block diagram .8
7.2 Influencing variables on the required buffer sizes .9
7.3 Role of the buffer model .10
8 Interpretation of Bayer data . 10
9 Conformance .11
Annex A (normative) Profiles, levels, sublevels and frame buffer bandwidth levels .12
Annex B (normative) Packet-based JPEG XS decoder model .35
Annex C (normative) Packet-based constant bit rate buffer model . 41
Annex D (informative) Encoder model, latency bounds and codestream conformance properties
for the packet-based constant bit rate buffer model . 47
Annex E (informative) JPEG XS latency analysis .52
Bibliography . 61

© ISO/IEC 2024 – 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 or www.iec.ch/members_experts/refdocs).
ISO and IEC draw attention to the possibility that the implementation of this document may involve the
use of (a) patent(s). ISO and IEC take no position concerning the evidence, validity or applicability of any
claimed patent rights in respect thereof. As of the date of publication of this document, ISO and IEC had not
received notice of (a) patent(s) which may be required to implement this document. However, implementers
are cautioned that this may not represent the latest information, which may be obtained from the patent
database available at www.iso.org/patents and https://patents.iec.ch. ISO and IEC shall not be held
responsible for identifying any or all such patent rights.
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.
In the IEC, see www.iec.ch/understanding-standards.
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.
This third edition cancels and replaces the second edition (ISO 21122-2:2022), which has been technically
revised. It also incorporates the Amendment ISO/IEC 21122-2:2022/Amd 1:2022.
The main changes compared to the previous edition are:
— addition of conformance points for new profiles;
— addition of the TDC 444.12 and TDC MLS 444.12 profiles for compression of image sequences;
— addition of the CHigh 444.12 profile;
— addition of the MLS.16 profile;
— addition of the frame buffer bandwidth levels and model.
A list of all parts in the ISO/IEC 21122 series can be found on the ISO and IEC websites.
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 https://www.iso.org/members.html and
https://www.iec.ch/national-committees.

© ISO/IEC 2024 – All rights reserved
iv
Introduction
This document is part of a series of standards for a low-latency lightweight image coding system, denoted
as JPEG XS. While ISO/IEC 21122-1 specifies a full set of compression coding tools needed to satisfy all the
requirements of JPEG XS, a targeted application can often work with a simpler and reduced set of coding
tools, and with or without tighter constraints, to meet its targeted goals. For this reason, profiles, levels,
and sublevels are defined in this document. These three concepts facilitate partial and reduced complexity
implementations of ISO/IEC 21122-1 depending on specific application use cases and requirements, while
also safeguarding interoperability.
This document specifies a limited number of profiles to represent interoperability subsets of the codestream
syntax specified in ISO/IEC 21122-1 with each profile serving specific application use cases. In other word,
profiles select a subset of the available coding tools. In addition, levels and sublevels provide limits to the
maximum throughput in respectively the decoded (spatial/pixel) and the encoded (codestream) domains. In
this way, profiles, levels and sublevels allow designing cost-efficient implementations that serve the needs of
the desired applications.
A major requirement of JPEG XS is to allow low end-to-end latency, limited to a fraction of the frame size. To
ensure this low-latency property, this document also specifies a buffer model, consisting of a decoder model
and a transmission channel model. The models show the interaction of a hypothetical reference decoder,
including its smoothing buffer with a constant bitrate channel feeding this buffer. The size of the decoder
smoothing buffer is computed from the profile, level, and sublevel. Codestreams are formed such that the
buffer of a decoder, operating according to this buffer model, never overflows or underflows. In effect,
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, this document gives extra information on the
minimum latency that can be achieved by the different methods described in ISO/IEC 21122-1.

© ISO/IEC 2024 – All rights reserved
v
International Standard ISO/IEC 21122-2:2024(en)
Information technology — JPEG XS low-latency lightweight
image coding system —
Part 2:
Profiles and buffer models
1 Scope
This document defines several subsets of the syntax specified in ISO/IEC 21122-1 as profiles. It also defines
lower bounds on the throughput in the decoded domain via levels and the encoded domain via sublevels
that a conforming decoder implementation shall support. Furthermore, it defines 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, Information technology — JPEG XS low-latency lightweight image coding system — Part 1:
Core coding system
3 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 terminology databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https:// www .iso .org/ obp
— IEC Electropedia: available at https:// www .electropedia .org
3.1
blanking codestream fragment
placeholder codestream fragment representing blanking periods
3.2
buffer model
combination of a decoder model (3.8) and a channel model (3.4) whose behaviour can be defined by a set of
parameters
3.3
buffer model instance
specific configuration of a buffer model (3.2) specified by the assignment of well-defined values to the buffer
model parameters
3.4
channel model
model describing the temporal behaviour of the transmission channel (3.26) connecting an encoder and a decoder

© ISO/IEC 2024 – All rights reserved
3.5
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.6
codestream fragment
either coded codestream fragment (3.5) or blanking codestream fragment (3.1)
3.7
cycle
clock cycle
single clock period of an encoder or decoder clocked implementation
3.8
decoder model
combination of a decoder unit (3.10) and a decoder smoothing buffer (3.9)
3.9
decoder smoothing buffer
memory buffer that is used to level out changes in the number of bits read by a decoder unit (3.10) per time unit
3.10
decoder unit
module reading a variable number of bits (from the smoothing buffer) per time unit to generate decoded
output pixels at a fixed output rate
3.11
encoder model
combination of an encoder unit and an encoder smoothing buffer (3.12)
3.12
encoder smoothing buffer
memory buffer that is used to level out changes in the number of bits generated by an encoder unit (3.13) per
time unit
3.13
encoder unit
module transforming a sequence of input pixels with constant rate into a conforming codestream, producing
a bit sequence with variable number of bits generated per time unit
3.14
fill level
number of bits stored in the encoder or decoder smoothing buffer (3.9)
3.15
horizontal blanking period
timespan expressed in units of the grid point sampling rate between the last pixel of an image line — not
being the last line of an image — and the first pixel of the next image line
3.16
level
defined set of constraints on the number of decoded samples to be processed by an encoder or decoder, both
in the spatial and temporal 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.19)
3.17
nominal bits per pixel value
mean number of bits allocated per encoded pixel which is used to derive the sublevel constraints by assuming
an image with well-defined dimensions and frame rate derived from the level

© ISO/IEC 2024 – All rights reserved
3.18
pixel
samples of all components at a single sampling grid point (3.20)
3.19
profile
specified subset of the codestream syntax together with admissible parameter values
3.20
sampling grid point
position on the sample grid, specified by integer horizontal and vertical offset relative to the origin of the
sample grid
3.21
smoothing buffer unit
level- and sublevel-dependent number of bits by which the smoothing buffer size of the decoder model is
specified
3.22
start of transmission
SoT
time at which the transmission channel starts transmission relative to the start of encoding of the first
codestream fragment of a codestream
3.23
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
3.24
TDC disabled codestream
codestream that contains zero SLI markers
Note 1 to entry: See ISO/IEC 21122-1.
3.25
TDC enabled codestream
codestream that contains one or more SLI markers
Note 1 to entry: See ISO/IEC 21122-1.
3.26
transmission channel
facility transferring bits from a source entity to a target entity
3.27
transmission channel capacity
maximum number of bits per time unit that a transmission channel (3.26) can transfer from a source entity
to a target entity
3.28
vertical blanking period
timespan expressed in units of the grid point sampling rate between the last line of an image — including
the horizontal blanking periods (3.15) — and the first line of the next image

© ISO/IEC 2024 – All rights reserved
4 Abbreviated terms
bpp bits per pixel
CBR constant bit rate
CFA colour filter array
DWT discrete wavelet transform
FBB frame buffer bandwidth
IDWT inverse discrete wavelet transform
IRCT inverse reversible colour transform
MLS mathematically lossless
RCT reversible colour transform
RGB red green blue
TDC temporal differential coding (see ISO/IEC 21122-1)
VBR variable bit rate
5 Symbols
B
number of bits required to encode a bitplane count in raw
r
B
nominal overall bit precision of the wavelet coefficients
w
precision in bits of component i
Bi
[]
C
colour transformation type
pih
cp′[],,λ bx, wavelet coefficient in precinct p, line λ, band b and position x
C
width of precincts other than the rightmost precinct in sample grid points
s
C
width of precincts in multiples of 8 LL subsampled band sample grid points
w
the i-th codestream in a sequence of codestreams
Ci()
D
number of clock cycles between the first bit written into the decoder smoothing buffer and
c2d
the decoding start of the first fragment of the stream of codestream fragments
Fi first fragment of codestream Ci
() ()
first
Fi last fragment of codestream Ci
() ()
last
F
number of fractional bits in the representation of wavelet coefficients
q
H
height of the image in sampling grid points
f
H height of a precinct in lines
p
H
maximum image height in sampling grid points
max
L
field in the picture header indicating the codestream size in bytes (see ISO/IEC 21122-1)
cod
© ISO/IEC 2024 – All rights reserved
L
long header flag in the picture header
h
L
maximum number of sampling grid points per image
max
fill level of the decoder smoothing buffer in bits at the end of clock cycle t
lt()
dec
number of bits that can be read from the decoding smoother buffer in clock cycle t
lt()
dec,avail
l
capacity in bits of the decoder smoothing buffer
dec,max
fill level of the encoder smoothing buffer in bits at the end of clock cycle t
lt
()
enc
l
capacity in bits of the encoder smoothing buffer
enc,max
sum of encoder and decoder smoothing buffer fill level in bits at clock cycle t
lt
()
sum
Mp[],,λ bg, frame buffer bitplane count for a group g in precinct p at line λ of band b
ff f
N
number of components in an image
c
N
size of the horizontal blanking line in sampling grid points
b,x
N
size of the vertical blanking period in sampling grid lines
b,y
Nf() number of coefficient groups within codestream fragment f
cg
N
number of coefficient groups associated to a codestream fragment representing a horizontal
cg,hz
blanking period
N
number of coefficient groups associated to a codestream fragment representing a vertical
cg,vt
blanking period
N
nominal number of bits allocated per pixel for compression
bpp
N
maximum number of decoded bits per pixel
bpp,max
Ni number of fragments within a codestream Ci
() ()
f
N
number of coefficients in a code group
g
N
maximum number of horizontal decomposition levels of all components
L,x
N
maximum number of vertical decomposition levels of all components
L,y
N
number of pixels in one coefficient group
p,cg
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
N
all integer numbers being strictly larger than zero
N
all integer numbers being greater than or equal to zero
N number of frame buffer wavelet coefficients within one frame buffer group
fg
P
level and sublevel indication of a codestream
lev
quantization parameter to which precinct p is quantized for storage in the frame buffer
Qp[]
f
© ISO/IEC 2024 – All rights reserved
Q
quantization type
pih
Q
set of rational numbers
refinement parameter of the quantization to which precinct p is quantized for storage in the
Rp
[]
f
frame buffer
R
maximum grid point sample rate (in samples per second) at decoder output
s,max
R maximum bi-directional frame buffer bandwidth
t,fb,max
Rl ,l
() maximum admissible encoded throughput in bits per second for a given level
t,maxm s
R
transmission channel capacity, expressed in bits per clock cycle
trans
number of bits read and removed from the decoder smoothing buffer in clock cycle t
rt
()
dec
S
targeted maximum number of bytes of a codestream
c,max
Sf() number of bits forming the codestream fragment f
bits
S
number of components for which the wavelet decomposition is suppressed
d
Sp
() smoothing buffer offset in bits for a profile p
sbo
Sl(),l size of the smoothing buffer unit in bytes for level l and sublevel l
sbum s m s
Sl(),l maximum size of an encoded codestream in bytes of level l and sublevel l
sl,max ms m s
sampling factor of component i in horizontal direction
si
[]
x
sampling factor of component i in vertical direction
si
[]
y
T
buffer model type
bmd
T
clock period defining the frequency by which code groups are processed by a decoder
dec
T
clock period defining the frequency by which code groups are processed by an encoder
enc
tf timestamp in cycles at which codestream fragment f is removed from the decoder smooth-
()
dec,read
ing buffer
tf timestamp in cycles at which decoder starts decoding codestream fragment f
()
dec,start
tf timestamp in cycles at which the codestream fragment f is written to the encoder smooth-
()
enc,write
ing buffer
Tp,b frame buffer truncation point for band b in precinct p
[]
f
width of component i in samples
Wi[]
c
W
maximum column width in sampling grid points for a given profile
c,max
W
width of the image in sampling grid points
f
W
maximum image width in sampling grid points
max
number of bits written into the decoder smoothing buffer in clock cycle t
wt()
dec
W [p,b] width of band b of precinct p in coefficients
pb
© ISO/IEC 2024 – All rights reserved
W [p] width of the precinct p in sampling grid points
p
Z
set of all integer numbers
6 Conventions
6.1 Conformance language
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.
6.2 Operators
NOTE Many of the operators used in document are like those used in the C programming language.
6.2.1 Arithmetic operators
+
addition

subtraction (as a binary operator) or negation (as a unary prefix operator)
×
multiplication
/
division without truncation or rounding
6.2.2 Logical operators
||
logical OR
&& logical AND
!
logical NOT
6.2.3 Relational operators
>
greater than

greater than or equal to
<
less than

less than or equal to
==
equal to
!=
not equal to
6.2.4 Other operators
()
expression
[]
indexing of arrays
© ISO/IEC 2024 – All rights reserved
6.2.5 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
expression, evaluation proceeds according to left-associativity — thus, evaluate from left to right.
() expression
[]
indexing of arrays

unary negation
× , /
multiplication, division
+ , −
addition, subtraction
< , > , ≤ , ≥ , == , !=
relational comparison
6.2.6 Mathematical functions
x ceil of x , equals the smallest integer that is greater than or equal to x
 
floor of x , equals the largest integer that is less than or equal to x
x
 
 
− 
x
absolute value of x , x =

xxif ≥ 0

−<10if x

sign x
()

sign of x , sign()x = 00if x =


10if x >

00if t <

ξ t
()
step function, ξ()t =

10if t ≥

max ()x maximum of a sequence of numbers [x ] enumerated by the index i
ii i

the mathematical symbol to represent there exists
∀ The mathematical symbol to represent for all
7 Buffer model
7.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.

© ISO/IEC 2024 – All rights reserved
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 processes each pixel are determined by an encoding clock. Similarly,
the time instances at which the decoder produces 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.
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. Consequently, 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 cycle.
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.
7.2 Influencing variables on the required buffer sizes
Avoiding any buffer overflow or underflow, as discussed in 7.1, requires sizing the decoder smoothing buffer
properly. 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.

© ISO/IEC 2024 – All rights reserved
— The granularity at which the encoder writes the encoded data, and at which 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
provided by means of the buffer model as defined in Annex B and Annex C.
7.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 conforming decoder. These conditions are expressed by buffer model
parameters that are specified by the profiles and levels defined normatively in Annex A. The properties
of such conforming implementations are exemplified in Annex D. Since these properties are direct
consequences of normative Annex B and normative Annex C, Annex D is informative only. In addition, an
informative latency analysis of each block of the JPEG XS core coding system, as defined in ISO/IEC 21122-1,
is provided in Annex E.
8 Interpretation of Bayer data
ISO/IEC 21122-1 defines coding tools and signalling for compression of Bayer-type CFA image data.
According to this specification, each sampling grid point represents a super-pixel of four sensor elements
containing at least one sample of each component. Thus, Bayer data is interpreted as an image having four
components, where each sampling grid point describes four spatially disjoint sensor elements (one element
per Bayer channel).
Moreover, regardless of the Bayer sensor spatial subpixel arrangement, the Star-Tetrix colour transform of
ISO/IEC 21122-1 defines a strict order on the components assigning the red channel to component 0, the green
channels to components 1 and 2, and the blue channel to component 3. The spatial subpixel arrangement is
signalled by the CRG marker. Figure 2 shows only one of the four potential subpixel arrangements of a Bayer-
type CFA. In this figure, squares represent individual sensor elements and circles represent sampling grid
points. Groups of four sensor elements overlapping with the same sampling grid point form one super-pixel.

© ISO/IEC 2024 – All rights reserved
Figure 2 — Example of the interpretation of a GRBG Bayer-type CFA image
9 Conformance
The syntax of JPEG XS codestreams specified in ISO/IEC 21122-1 comes with a set of compression
coding tools, capabilities, parameters, and configuration possibilities, for which Annex A provides the
normative constraints. As such, compliant JPEG XS codestreams and decoder implementations shall be in
accordance with the provisions given in Annex A. In addition, compliant JPEG XS codestreams and decoder
implementations shall also be in accordance with the packet-based JPEG XS decoder model as described in
Annex B and the packet-based constant bit rate buffer model as described in Annex C.

© ISO/IEC 2024 – All rights reserved
Annex A
(normative)
Profiles, levels, sublevels and frame buffer bandwidth levels
A.1 General
Profiles, levels, sublevels and frame buffer bandwidth (FBB) levels specify restrictions on codestreams
and hence limits on the capabilities needed to decode the codestreams. Profiles, levels, sublevels and FBB
levels may also be used to indicate interoperability points between individual decoder implementations.
Additionally, A.8 defines conformance points that further constrain the allowed combinations of levels,
sublevels and FBB levels for specific profiles.
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 encoded 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 A.4.
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.
In addition, codestreams that use the SLI marker of ISO/IEC 21122-1 need the support of a frame buffer
to be decoded. In this context, a codestream is TDC enabled when it contains at least one SLI marker (see
ISO/IEC 21122-1), and TDC disabled otherwise. The FBB levels provide a lower bound on the throughput that
a conforming decoder implementation shall support for accessing its frame buffer. From the codestream
perspective, FBB levels define an upper bound on the required bandwidth to access the frame buffer. By
means of the FBB level, this annex specifies the FBB model that places constraints on the usage of the frame
buffer by the codestream.
NOTE Even though the definition for TDC enabled codestreams requires at least one SLI marker, currently none of
the profiles allow mixing SLH and SLI slice headers in a codestream.
Figure A.1 depicts the relation between profile, level, sublevel, FBB level and the corresponding constraints
they impose.
© ISO/IEC 2024 – 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 Definition of profiles
Profiles specify subsets of coding tools that conforming decoders shall support. Moreover, profiles limit the
permitted parameter values. Consequently, profiles are differentiated along the following features:
— component bit precision (Bi[]);
— maximum bits per pixel (bpp) in the decoded domain ( N );
bpp,max
— internal precision ( B , see ISO/IEC 21122-1);
w
— number of bits to encode a bitplane count in raw ( B , see ISO/IEC 21122-1);
r
— number of fractional bits for DWT coefficients ( F , see ISO/IEC 21122-1);
q
— non-linear transform;
— raw-mode selection per packet flag ( R , see ISO/IEC 21122-1);
l
— chroma sampling formats;
— colour transformation ( C , see ISO/IEC 21122-1);
pih
— size and extent of the colour transformation ( C , see ISO/IEC 21122-1 and NOTE 1);
f
NOTE 1 The size and extent of the colour transformation is signalled in the CTS marker when C is set to 3 (see
pih
ISO/IEC 21122-1). For other values of C , the CTS marker is not present.
pih
— number of vertical wavelet decompositions ( N , see ISO/IEC 21122-1);
L,y
© ISO/IEC 2024 – All rights reserved
— number of horizontal wavelet decompositions ( N , see ISO/IEC 21122-1 and NOTE 2);
L,x
NOTE 2 As defined in ISO/IEC 21122-1, the number of vertical wavelet decompositions is always lower than or
equal to the number of horizontal wavelet decompositions.
— number of components for which to suppress the wavelet decomposition ( S , see ISO/IEC 21122-1);
d
— supported quantizer types ( Q , see ISO/IEC 21122-1);
pih
— maximum column width ( C , see ISO/IEC 21122-1 and NOTE 3);
w
N
L,x

82××Csmaxi()[]iC×>f 0
wx w

i
NOTE 3 The column width in sampling grid points is given by where


W otherwise

f
C is indicated in the picture header (see ISO/IEC 21122-1), W is the image width, si[] is the horizontal sampling
w f x
factor for component i , and N is the number of horizontal wavelet decompositions.
L,x
— temporal prediction control marker usage (TPC, see ISO/IEC 21122-1);
— slice headers (SLH and SLI usage, see ISO/IEC 21122-1);
— slice height;
— frame buffer bandwidth model group size ( N , see A.7.2);
fg
— decoder smoothing buffer size expressed in smoothing buffer units ( N , see NOTE 4);
sbu
NOTE 4 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 A.5, Formula (A.3) and A.5, Formula (A.4).
— smoothing buffer offset ( S , see NOTE 5);
sbo
NOTE 5 The commonly used value of 1 024 bits (128 bytes) has been derived from a typical size of the picture
header without any extension markers.
— buffer model (T , see NOTE 6);
bmd
NOTE 6 A decoder that supports T =2 automatically also supports T =1 .
bmd bmd
— long header enforcement flag ( L , see ISO/IEC 21122-1).
For all profiles, the bit precision Bi[] (0≤ c
Profile parameter values that allow the choice between more than one value shall always be selected in
accordance with ISO/IEC 21122-1.
Table A.1, Table A.2, Table A.3, Table A.4, Table A.5, Table A.6, and Table A.7 list all the profiles specified in
this document.
© ISO/IEC 2024 – All rights reserved
Table A.1 — JPEG XS Main profiles
Main Main Main Main
Profile
420.12 422.10 444.12 4444.12
0x3240 0x3540 0x3A40 0x3E40
P field
pih
Component bit precision 8, 10, 12 8, 10 8, 10, 12 8, 10, 12
Bi
[]
Maximum decoded bpp 18 20 36 48
N
bpp,max
20 20 20 20
Internal precision B
w
# bits to encode a bitplane 4 4 4 4
count in raw B
r
# fractional bits for DWT 8 8 8 8
coefficients F
q
Non-linear transform Disallowed Disallowed Disallowed Disallowed
Raw-mode selection per 0 0 0 0
packet flag R
l
Chroma sampling formats 4:2:0 4:0:0, 4:0:0, 4:0:0,
4:2:2 4:2:2, 4:2:2,
4:4:4 4:4:4,
4:2:2:4,
4:4:4:4
0 (None) 0 (None) 0 (None) for any 0 (None) for any sam-
Colour transformation C
pih
sampling format, pling format,
or optionally 1 or optionally 1 (RCT)
(RCT) for 4:4:4 for 4:4:4 and 4:4:4:4
Number of vertical decom- 1 0, 1 0, 1 0, 1
positions N
L,y
Number of horizontal 1-5 1-5 1-5 1-5
decompositions N
L,x
Number components with 0 0 0 0
suppressed decomposition
S
d
Quantizer type Q 0 (DZQ), 0 (DZQ), 0 (DZQ), 0 (DZQ),
pih
1 (Uniform) 1 (Uniform) 1 (Uniform) 1 (Uniform)
Column mode C One column of full One column except One column except One column except
w
image width when the number of when the number of when the number of
vertical decomposi- vertical decomposi- vertical decomposi-
a a a
tion levels is zero tion levels is zero tion levels is zero
TPC marker Disallowed Disallowed Disallowed Disallowed
Slice headers SLH only SLH only SLH only SLH only
Slice height in number of image 16 16 16 16
rows
Number of smoothing buffer 16 16 16 16
units, N , of the decoder
sbu
model
Smoothing buffer offset S 1 024 1 024 1 024 1 024
sbo
in bits
Buffer model T 1, 2 1, 2 1, 2 1, 2
bmd
Long header enforcement 0 0 0 0
flag L
h
a
One column of full image width if the number of vertical decompositions is larger than 0, otherwise any column width
conforming with ISO/IEC 21122-1 is allowed.

© ISO/IEC 2024 – All rights reserved
Table A.2 — JPEG XS Light profiles
Light Light Light-Subline
Profile
422.10 444.12 422.10
0x1500 0x1A00 0x2500
P field
pih
8, 10 8, 10, 12 8, 10
Component bit precision Bi[]
Maximum decoded bpp N 20 36 20
bpp,max
20 20 20
Internal precision B
w
4 4 4
# bits to encode a bitplane count in raw B
r
# fractional bits for DWT coefficients F 8 8 8
q
Non-linear transform Disallowed Disallowed Disallowed
0 0 0
Long header enforcement flag L
h
0 0 0
Raw-mode selection per packet flag R
l
Chroma sampling formats 4:0:0, 4:0:0, 4:0:0,
4:2:2 4:2:2, 4:2:2
4:4:4
Colour transformation C 0 (None) 0 (None) for any 0 (None)
pih
sampling format,
or optionally 1
(RCT) for 4:4:4
0, 1 0, 1 0
Number of vertical decompositions N
L,y
Number of horizontal decompositions N 1-5 1-5 1-5
L,x
Number components with suppressed decomposi- 0 0 0
tion S
d
0 (DZQ) 0 (DZQ) 0 (DZQ),
Quantizer type Q
pih
1 (Uniform)
Column mode C One column of full One column of full Maximum column
w
image width image width width of 2 048 grid
points
TPC marker Disallowed Disallowed Disallowed
Slice headers SLH only SLH only SLH only
Slice height in number of image rows 16 16 16
4 4 2
Number of smoothing buffer units, N , of the
sbu
decoder model
1 024 1 024 1 024
Smoothing buffer offset S in bits
sbo
Buffer model T 1, 2 1, 2 1, 2
bmd
Table A.3 — JPEG XS High profiles
High High High
Profile
420.12 444.12 44
...

Questions, Comments and Discussion

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

Loading comments...