ISO/IEC 15444-1:2016
(Main)Information technology — JPEG 2000 image coding system: Core coding system — Part 1:
Information technology — JPEG 2000 image coding system: Core coding system — Part 1:
Technologies de l'information — Système de codage d'images JPEG 2000: Système de codage de noyau — Partie 1:
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 15444-1
Third edition
2016-10-15
Information technology — JPEG 2000
image coding system: Core coding
system
Technologies de l’information — Système de codage d’images JPEG
2000: Système de codage de noyau
Reference number
ISO/IEC 15444-1:2016(E)
©
ISO/IEC 2016
---------------------- Page: 1 ----------------------
ISO/IEC 15444-1:2016(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2016, Published in Switzerland
All rights reserved. Unless otherwise specified, 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
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
copyright@iso.org
www.iso.org
ii © ISO/IEC 2016 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 15444-1:2016(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International
Electrotechnical Commission) form the specialized system for worldwide standardization.
National bodies that are members of ISO or IEC participate in the development of International
Standards through technical committees established by the respective organization to deal with
particular fields of technical activity. ISO and IEC technical committees collaborate in fields of
mutual interest. Other international organizations, governmental and non-governmental, in
liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO
and IEC have established a joint technical committee, ISO/IEC JTC 1.
The procedures used to develop this document and those intended for its further maintenance
are described in the ISO/IEC Directives, Part 1. In particular the different approval criteria
needed for the different types of document should be noted. This document was drafted in
accordance with the editorial rules of the ISO/IEC Directives, Part 2
(see www.iso.org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the
subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such
patent rights. Details of any patent rights identified during the development of the document will
be in the Introduction and/or on the ISO list of patent declarations received (see
www.iso.org/patents).
Any trade name used in this document is information given for the convenience of users and
does not constitute an endorsement.
For an explanation on the meaning of ISO specific terms and expressions related to conformity
assessment, as well as information about ISO's adherence to the WTO principles in the
Technical Barriers to Trade (TBT) see the following URL: Foreword - Supplementary
information
This third edition cancels and replaces the second edition of ISO/IEC 15444-1:2004 which has
been technically revised. It also incorporates ISO/IEC 15444-1:2004/Cor.1:2007,
ISO/IEC 15444-1:2004/Cor.2:2008, ISO/IEC 15444-1:2004/Cor.3:2015, ISO/IEC 15444-
1:2004/Cor.4:2015, ISO/IEC 15444-1:2004/Amd.1:2006, ISO/IEC 15444-1:2004/Amd.2:2009,
ISO/IEC 15444-1:2004/Amd.3:2010, ISO/IEC 15444-1:2004/Amd.4:2013, ISO/IEC 15444-
1:2004/Amd.5:2013, ISO/IEC 15444-1:2004/Amd.6:2013, ISO/IEC 15444-1:2004/Amd.7:2015
and ISO/IEC 15444-1:2004/Amd.8:2015.
ISO/IEC 15444-1:2016 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information
technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information, in
collaboration with ITU-T. The identical text is published as Rec. ITU-T 800 (11/2015).
© ISO/IEC 2016 – All rights reserved ii-1
---------------------- Page: 3 ----------------------
ISO/IEC 15444-1:2016(E)
CONTENTS
Page
1 Scope . 1
2 References . 1
2.1 Identical Recommendations | International Standards . 1
2.2 Additional references . 1
3 Definitions . 2
4 Abbreviations and symbols . 6
4.1 Abbreviations . 6
4.2 Symbols . 7
5 General description . 8
5.1 Purpose . 8
5.2 Codestream . 8
5.3 Coding principles . 9
6 Encoder requirements . 10
7 Decoder requirements . 10
7.1 Codestream syntax requirements . 11
7.2 Optional file format requirements . 11
8 Implementation requirements . 11
Annex A – Codestream syntax . 12
A.1 Markers, marker segments, and headers. 12
A.2 Information in the marker segments . 14
A.3 Construction of the codestream . 15
A.4 Delimiting markers and marker segments . 19
A.5 Fixed information marker segment . 20
A.6 Functional marker segments . 23
A.7 Pointer marker segments . 32
A.8 In-bit-stream marker and marker segments . 36
A.9 Informational marker segments . 37
A.10 Codestream restrictions conforming to this Recommendation | International Standard. 39
Annex B – Image and compressed image data ordering . 55
B.1 Introduction to image data structure concepts . 55
B.2 Component mapping to the reference grid . 55
B.3 Image area division into tiles and tile-components . 57
B.4 Example of the mapping of components to the reference grid (informative) . 58
B.5 Transformed tile-component division into resolution levels and sub-bands . 61
B.6 Division of resolution levels into precincts . 62
B.7 Division of the sub-bands into code-blocks . 63
B.8 Layers . 64
B.9 Packets . 65
B.10 Packet header information coding . 66
B.11 Tile and tile-parts . 71
B.12 Progression order . 72
Annex C – Arithmetic entropy coding . 77
C.1 Binary encoding (informative) . 77
C.2 Description of the arithmetic encoder (informative) . 78
C.3 Arithmetic decoding procedure . 89
Annex D – Coefficient bit modelling. 97
D.1 Code-block scan pattern within code-blocks . 97
D.2 Coefficient bits and significance . 97
D.3 Decoding passes over the bit-planes . 98
D.4 Initializing and terminating . 102
D.5 Error resilience segmentation symbol . 103
Rec. ITU-T T.800 (11/2015) iii
---------------------- Page: 4 ----------------------
ISO/IEC 15444-1:2016 (E)
Page
D.6 Selective arithmetic coding bypass . 103
D.7 Vertically causal context formation . 104
D.8 Flow diagram of the code-block coding . 105
Annex E – Quantization . 107
E.1 Inverse quantization procedure . 107
E.2 Scalar coefficient quantization (informative) . 108
Annex F – Discrete wavelet transformation of tile-components. 110
F.1 Tile-component parameters . 110
F.2 Discrete wavelet transformations . 110
F.3 Inverse discrete wavelet transformation . 110
F.4 Forward transformation (informative) . 121
Annex G – DC level shifting and multiple component transformations . 131
G.1 DC level shifting of tile-components . 131
G.2 Reversible multiple component transformation (RCT) . 132
G.3 Irreversible multiple component transformation (ICT) . 132
G.4 Chrominance component sub-sampling and the reference grid . 133
Annex H – Coding of images with regions of interest . 134
H.1 Decoding of ROI . 134
H.2 Description of the Maxshift method . 134
H.3 Remarks on region of interest coding (informative) . 135
Annex I – JP2 file format syntax . 138
I.1 File format scope . 138
I.2 Introduction to the JP2 file format . 138
I.3 Greyscale/Colour/Palettized/multi-component specification architecture . 140
I.4 Box definition. 142
I.5 Defined boxes. 144
I.6 Adding intellectual property rights information in JP2 . 159
I.7 Adding vendor-specific information to the JP2 file format . 159
I.8 Dealing with unknown boxes . 162
Annex J – Examples and guidelines . 163
J.1 Software conventions adaptive entropy decoder . 163
J.2 Selection of quantization step sizes for irreversible transformations . 164
J.3 Filter impulse responses corresponding to lifting-based irreversible filtering procedures . 165
J.4 Example of discrete wavelet transformation . 166
J.5 Row-based wavelet transform . 169
J.6 Scan-based coding . 178
J.7 Error resilience . 178
J.8 Implementing the Restricted ICC method outside of a full ICC colour management engine . 179
J.9 An example of the interpretation of multiple components . 183
J.10 An example of decoding showing intermediate steps . 183
J.11 Visual frequency weighting . 187
J.12 Encoder sub-sampling of components. 189
J.13 Rate control . 190
J.14 Guidelines on handling YCC codestream . 194
J.15 Guidelines for digital cinema applications . 195
Annex K – Bibliography . 211
K.1 General . 211
K.2 Quantization and entropy coding . 211
K.3 Wavelet transformation . 211
K.4 Region of interest coding . 212
K.5 Visual frequency weighting . 212
K.6 Error resilience . 212
K.7 Scan-based coding . 213
iv Rec. ITU-T T.800 (11/2015)
---------------------- Page: 5 ----------------------
ISO/IEC 15444-1:2016(E)
Page
K.8 Colour. 213
K.9 Guidelines for digital cinema applications . 213
Annex L – Patent statement . 215
Annex M – Elementary stream for broadcast applications . 216
M.1 Introduction . 216
M.2 Definitions . 216
M.3 Access unit construction . 216
M.4 Elementary stream marker box (superbox) . 217
Rec. ITU-T T.800 (11/2015) v
---------------------- Page: 6 ----------------------
ISO/IEC 15444-1:2016 (E)
INTERNATIONAL STANDARD
ITU-T RECOMMENDATION
Information technology – JPEG 2000 image coding system: Core coding system
1 Scope
This Recommendation | International Standard defines a set of lossless (bit-preserving) and lossy compression methods
for coding bi-level, continuous-tone grey-scale, palletized colour, or continuous-tone colour digital still images.
This Recommendation | International Standard:
– specifies decoding processes for converting compressed image data to reconstructed image data;
– specifies a codestream syntax containing information for interpreting the compressed image data;
– specifies a file format;
– provides guidance on encoding processes for converting source image data to compressed image data;
– provides guidance on how to implement these processes in practice.
NOTE – As this specification was first published as common text only after ISO/IEC JTC1 had approved the first edition in 2000,
edition numbers in the ITU and ISO/IEC versions are offset by one. This is the second edition of ITU-T T.800 and the third edition
of ISO/IEC 15444-1.
2 References
The following Recommendations and International Standards contain provisions which, through reference in this text,
constitute provisions of this Recommendation | International Standard. At the time of publication, the editions indicated
were valid. All Recommendations and Standards are subject to revision, and parties to agreements based on this
Recommendation | International Standard are encouraged to investigate the possibility of applying the most recent edition
of the Recommendations and Standards listed below. Members of IEC and ISO maintain registers of currently valid
International Standards. The Telecommunication Standardization Bureau of the ITU maintains a list of currently valid
ITU-T Recommendations.
2.1 Identical Recommendations | International Standards
– Recommendation ITU-T T.81 (1992) | ISO/IEC 10918-1:1994, Information technology – Digital
compression and coding of continuous-tone still images: Requirements and guidelines.
– Recommendation ITU-T T.84 (1996) | ISO/IEC 10918-3:1997, Information technology – Digital
compression and coding of continuous-tone still images: Extensions.
– Recommendation ITU-T T.84 (1996)/Amd.1 (1999) | ISO/IEC 10918-3:1997/Amd.1:1999, Information
technology – Digital compression and coding of continuous-tone still images: Extensions – Amendment 1:
Provisions to allow registration of new compression types and versions in the SPIFF header.
– Recommendation ITU-T T.86 (1998) | ISO/IEC 10918-4:1999, Information technology – Digital
compression and coding of continuous-tone still images: Registration of JPEG Profiles, SPIFF Profiles,
SPIFF Tags, SPIFF colour Spaces, APPn Markers, SPIFF Compression types and Registration
Authorities (REGAUT).
– Recommendation ITU-T T.87 (1998) | ISO/IEC 14495-1:2000, Lossless and near-lossless compression of
continuous-tone still images – Baseline.
– Recommendation ITU-T T.88 (2000) | ISO/IEC 14492:2001, Information technology – Lossy/lossless
coding of bi-level images.
– Recommendation ITU-T T.810 (2006) | ISO/IEC 15444-11:2007, Information technology – JPEG 2000
image coding system: Wireless.
– ISO/IEC 646:1991, Information technology – ISO 7-bit coded character set for information interchange.
– ISO 8859-15:1999, Information technology – 8-bit single-byte coded graphic character sets – Part 15:
Latin alphabet No. 9.
2.2 Additional references
– Recommendation ITU-R BT.601-6 (2007), Studio encoding parameters of digital television for
standard 4:3 and wide screen 16:9 aspect ratios.
Rec. ITU-T T.800 (11/2015) 1
---------------------- Page: 7 ----------------------
ISO/IEC 15444-1:2016 (E)
– Recommendation ITU-R BT.709-5 (2002), Parameter values for the HDTV standards for production and
international programme exchange.
– IEC 61966-2-1:1999, Multimedia systems and equipment – Colour measurement and management –
Part 2-1: Colour management – Default RGB colour space – sRGB.
– IEC 61966-2-1:1999/Amd.1:2003, Multimedia systems and equipment – Colour measurement and
management – Part 2-1: Colour management – Default RGB colour space – sRGB.
– IETF RFC 2279 (1998), UTF-8, a transformation format of ISO 10646.
– ISO 11664-1:2007 (CIE S 014-1/E:2006), Colorimetry – Part 1: CIE standard colorimetric observers.
– ISO 14721, Space data and information transfer systems – Open archival information system – Reference
model.
– ISO 15076-1, Image technology colour management – Architecture, profile format and data structure –
Part 1: Based on ICC.1:2010.
– ISO 26428-1:2008, Digital cinema (D-cinema) distribution master – Part 1: Image characteristics.
– ISO/IEC 11578:1996, Information technology – Open Systems Interconnection – Remote Procedure Call.
3 Definitions
For the purposes of this Recommendation | International Standard, the following definitions apply.
3.1 x, floor function: This indicates the largest integer not exceeding x.
3.2 x, ceiling function: This indicates the smallest integer not exceeded by x.
3.3 5-3 reversible filter: A particular filter pair used in the wavelet transformation. This reversible filter pair
has 5 taps in the low-pass and 3 taps in the high-pass.
3.4 9-7 irreversible filter: A particular filter pair used in the wavelet transformation. This irreversible filter pair
has 9 taps in the low-pass and 7 taps in the high-pass.
3.5 access unit: A coded representation of one video frame.
3.6 AND: Bit wise AND logical operator.
3.7 arithmetic coder: An entropy coder that converts variable length strings to variable length codes (encoding)
and vice versa (decoding).
3.8 auxiliary channel: A channel that is used by the application outside the scope of colourspace conversion. For
example, an opacity channel or a depth channel would be an auxiliary channel.
3.9 bit: A contraction of the term "binary digit"; a unit of information represented by a zero or a one.
3.10 bit-plane: A two dimensional array of bits. In this Recommendation | International Standard a bit-plane refers
to all the bits of the same magnitude in all coefficients or samples. This could refer to a bit-plane in a component,
tile-component, code-block, region of interest, or other.
3.11 bit stream: The actual sequence of bits resulting from the coding of a sequence of symbols. It does not include
the markers or marker segments in the main and tile-part headers or the EOC marker. It does include any packet headers
and in-stream markers and marker segments not found within the main or tile-part headers.
3.12 big-endian: The bits of a value representation occur in order from the most significant to the least significant.
3.13 box: A portion of the file format defined by a length and unique box type. Boxes of some types may contain
other boxes.
3.14 box contents: Refers to the data wrapped within the box structure. The contents of a particular box are stored
within the DBox field within the box data structure.
3.15 box type: Specifies the kind of information that shall be stored with the box. The type of a particular box is
stored within the TBox field within the box data structure.
3.16 byte: Eight bits.
3.17 channel: One logical component of the image. A channel may be a direct representation of one component from
the codestream, or may be generated by the application of a palette to a component from the codestream.
2 Rec. ITU-T T.800 (11/2015)
---------------------- Page: 8 ----------------------
ISO/IEC 15444-1:2016 (E)
3.18 cleanup pass: A coding pass performed on a single bit-plane of a code-block of coefficients. The first pass and
only coding pass for the first significant bit-plane is a cleanup pass; the third and the last pass of every remaining bit-plane
is a cleanup pass.
3.19 codestream: A collection of one or more bit streams and the main header, tile-part headers, and the EOC
required for their decoding and expansion into image data. This is the image data in a compressed form with all of the
signalling needed to decode.
3.20 code-block: A rectangular grouping of coefficients from the same sub-band of a tile-component.
3.21 code-block scan: The order in which the coefficients within a code-block are visited during a coding pass. The
code-block is processed in stripes, each consisting of four rows (or all remaining rows if less than four) and spanning the
width of the code-block. Each stripe is processed column by column from top to bottom and from left to right.
3.22 coder: An embodiment of either an encoding or decoding process.
3.23 coding pass: A complete pass through a code-block where the appropriate coefficient values and context are
applied. There are three types of coding passes: significance propagation pass, magnitude refinement pass and cleanup
pass. The result of each pass (after arithmetic coding, if selective arithmetic coding bypass is not used) is a stream of
compressed image data.
3.
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.