How is the Code Stream
organized?
How is the Main Header
structured?
How is the Tile Header
structured?
Which is the architecture of
the JP2K File-Format?
How are the
‘File
level Boxes’ of JP2K structured for the ‘compound documents’ (part 6)?
Does JPEG2000 have a
protection for the ‘intellectual property’?
How is the Code
Stream organized?

How is the Main Header
structured?
13 blocks having information about both the global
image and the single tiles compose the Main Header of the code stream:
|
SOC |
Start Of Code-Stream |
|
SIZ |
Image & Tile Size |
|
COD |
Coding Style Default |
|
QCD |
Quantization Default |
|
COC |
Coding Style Component * |
|
QCC |
Quantization Components * |
|
RGN |
Region Of Interest * |
|
POC |
Progression Order Change * |
|
PPM |
Packet Headers: Main Header * |
|
PLM |
Packet Lengths: Main Header * |
|
TLM |
Tile-Part Lengths: Main Header * |
|
CRG |
Component Registration * |
|
COM |
Comment * |
* Optional fields
11 fields compose tile header:
|
SOT |
Start Of Tile |
|
COD |
Coding Style Default * |
|
QCD |
Quantization Default * |
|
COC |
Coding Style Component * |
|
QCC |
Quantization Component * |
|
RGN |
Region Of Interest * |
|
POC |
Progression Order Change * |
|
PPT |
Packet Headers: Tile-part * |
|
PLT |
Packet Lengths: Tile-part * |
|
COM |
Comment * |
|
SOD |
Start of Data |
* Optional fields
Which is the architecture of the JP2K File-Format?
The standard file extension for JPEG2000 is ‘.jp2’
File is structured as a sequence of ‘file level boxes’, some of them can
be optional.
Each box has a precise function and is internally subdivided into
various subparts.
The structure of compulsory boxes is the following:
The structure of optional boxes is the following:
Each box is made up of the following fields:

L = box Length (4 bytes unsigned int)
T = box Type (4 char)
XL = eXtended box length (8 byte unsigned int) (L must have the value =
1)
C = box Content. Its length
depends on L and XL, its format on T
How are the
‘File
level Boxes’ of JP2K structured for the ‘compound documents’ (part 6)?
|
Box Name |
Compulsory? |
Comments |
|
Signature |
YES |
Only used to identify the file as a JPEG2000 |
|
File type |
YES |
It gives information related to the file version and
its compatibility |
|
Compound Image Header |
YES |
It contains general information related to the
compound image file |
|
Data reference |
NO |
It contains a set of pointers to other files or
data-streams which do not belong to the same file |
|
Data Entry URL |
NO |
It specifies an URL |
|
Page Collection |
YES |
It groups together the set of pages, so that they are
considered as correlated to each other. |
|
Label |
NO |
It specifies a label for each 'page box' or 'page collection box' |
|
Page Table |
YES |
It shows the pages location inside the ‘page collection’
and it allows a random access to the pages in the file |
|
Page |
YES |
It has all the information related to the ‘page’. |
|
Page Header |
YES |
It describes the features of a page and gives the
number of layout objects of the page.
|
|
Resolution |
YES |
It has the resolution of the page grid |
|
Box Name |
Compulsory? |
Comments |
|
Default Display Resolution |
YES |
It specifies the default resolution of the grid
where the image has to be visualized. |
|
Base Color |
NO |
It specifies the color of the page or of an object
that does not have data available. |
|
Layout Object |
YES |
It contains the information on how to compose a
‘mask image’ pair. |
|
Layout Object Header |
YES |
It describes the features of layout objects and
assigns to each of them only one identificator |
|
Object |
YES |
It contains data related to the image and the
information about an object in a ‘layout object’ |
|
Object Header |
YES |
It describes the features of an object by
identifying it as a ‘mask’, a ‘image’ or a combination ‘mask/image’ |
|
Object Scale |
NO |
This box describes the ‘scaling’ for an object
before applying it to the ‘page’ |
|
JP2 Header |
NO |
It contains a set of boxes that have ‘header-type’
information related to a file having a single image. |
|
Image Header |
YES |
It specifies the dimension of the image and other
correlated features |
|
Bits Per
Component |
NO |
It specifies the ‘bit depth’ of the component of an
image when bit depths are not the same. |
|
Color Specification |
YES |
It defines the chromatic space of image |
|
Palette |
NO |
It specifies the ‘palette’ that maps a single component
in the ‘index space’ into a multi-component image in the chromatic space |
|
Component Mapping |
NO |
It specifies the mapping between a palette and the
components of the code-stream |
|
Fragment Table |
NO |
It describes the way a code-stream is cut or
fragmented and then stored in the file |
|
Fragment List |
YES |
It specifies a list of fragments that form a
particular code-stream in the file |
|
Media
Data |
YES |
It contains data related to the Fragment Box |
|
Cross-Reference |
NO |
It specifies the way a box that is found in another
location (both inside the same file and in another one) should be considered
as it was directly included in this part of the file |
|
Box Name |
Compulsory? |
Comments |
|
Contiguous Code-stream |
NO |
It contains a valid and complete JP2K code-stream |
|
Free |
NO |
It contains data that are not used anymore and can
be overwritten when the file is updated |
|
Shared Data Entry |
NO |
It contains a box that can be referenced by an
identificator (often placed inside the file) |
|
Shared Data Reference |
NO |
It can be used to insert a box in the file by a
reference to a previous occurrence of the box in the same file |
IPR stands for ‘Intellectual Property Rights’ and gives a good guarantee for the protection of author rights.
Yes. A part of the file format
is dedicated to the protection of intellectual property.