ISO/IEC JTC 1/SC 29/WG 1 N1646R
Date: 16 March 2000
ISO/IEC JTC 1/SC 29/WG 1
(ITU-T SG8)
Coding of Still Pictures
JBIG JPEG
Joint Bi-level Image Joint Photographic
Experts Group Experts Group
TITLE: JPEG 2000 Part I Final Committee Draft Version 1.0
SOURCE: ISO/IEC JTC1/SC29 WG1, JPEG 2000 Editor Martin Boliek, Co-
editors Charilaos Christopoulos, and Eric Majani
PROJECT: 1.29.15444 (JPEG 2000)
STATUS: New pdf file distilled 11 April 2000
REQUESTED
ACTION: For review and action as appropriate
DISTRIBUTION: WG1
Contact:
Editor, 15444 (JPEG-2000)
Mr. Martin Boliek
Ricoh Silicon Valley, Inc.
2882 Sand Hill Road, Suite 115
Menlo Park, CA 94025, USA
Tel: 1 650 496 5705, Fax: 1 650 854 8740
Internet: boliek@rsv.ricoh.com
Convenor, ISO/IEC JTC 1/SC 29/WG 1
Dr. Daniel T. Lee
Hewlett-Packard Company,
11000 Wolfe Road, MS 42UO
Cupertino, CA 95014, USA
Tel: 1 408 447 4160, Fax: 1 408 447 2842 fax
Internet: daniel_lee@hp.com
INFORMATION
TECHNOLOGY
JPEG 2000 IMAGE CODING SYSTEM
JPEG 2000 FINAL COMMITTEE DRAFT VERSION 1.0, 16 MARCH 2000
THE ISO AND ITU WILL PROVIDE COVER PAGES.
ISO/IEC FCD15444-1 : 2000 (V1.0, 16 March 2000)
ITU-T Rec. T.800 (2000 FCDV1.0) i
CONTENTS
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
2.1 Identical Recommendations | International Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
2.2 Additional references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
3 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
4 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
5 Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
6 General description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
6.1 Purpose. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
6.2 Codestream. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
6.3 Coding principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
7 Encoder requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
8 Decoder requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
8.1 Codestream syntax requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
8.2 Optional file format requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
Annex A Codestream syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
A.1 Headers and marker segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
A.2 Information in the marker segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
A.3 Construction of the codestream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
A.4 Delimiting markers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
A.5 Fixed information marker segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
A.6 Functional marker segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
A.7 Pointer marker segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
A.8 In bit stream marker segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
A.9 Informational markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
Annex B Data ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
B.1 Image division into components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
B.2 Image division into tiles and tile-components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
B.3 Example of the mapping of components to the reference grid . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
B.4 Tile-component division into resolutions and sub-bands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
B.5 Division of resolutions into precincts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
B.6 Division of the sub-bands into code-blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
B.7 Layers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
B.8 Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
B.9 Packet header information coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
B.10 Tile Data and Tile-Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
ISO/IEC FCD15444-1 : 2000 (V1.0, 16 March 2000)
ii ITU-T Rec. T.800 (2000 FCDV1.0)
B.11 Progression Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Annex C Arithmetic entropy coding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
C.1 Binary encoding (informative). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
C.2 Description of the arithmetic encoder (informative) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
C.3 Arithmetic decoding procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
Annex D Coefficient bit modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
D.1 Code-block scan pattern within code-blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
D.2 Coefficient bits and significance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
D.3 Decoding passes over the bit-planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
D.4 Initializing and terminating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
D.5 Error resilience segmentation symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
D.6 Selective arithmetic decoding bypass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
D.7 Vertically causal context formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
D.8 Flow diagram of the code-block coding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
Annex E Quantization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
E.1 Scalar coefficient dequantization (normative) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
E.2 Scalar coefficient quantization (informative). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
Annex F Discrete wavelet transformation of tile components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109
F.1 Introduction and overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109
F.2 The inverse discrete wavelet transformation (normative) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109
F.3 Forward Transformation (informative) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
Annex G DC level shifting and component transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
G.1 DC level shifting of tile components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
G.2 Reversible component transformation (RCT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
G.3 Irreversible component transformation (ICT).. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
G.4 Chrominance component sub-sampling and the image reference grid (informative) . . . . . . . . . .131
Annex H Coding of images with Regions of Interest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
H.1 Description of the Maxshift method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
H.2 Region of interest mask generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134
H.3 Remarks on Region of Interest coding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
H.4 An example of the interpretation of the Maxshift method (Informative) . . . . . . . . . . . . . . . . . . .136
Annex I JP2 file format syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
I.1 File format scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
I.2 File format definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
I.3 File format normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
I.4 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
I.5 Greyscale/Colour/Palettized/multi-component specification architecture. . . . . . . . . . . . . . . . . . .140
I.6 Box definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
I.7 Defined boxes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144