354 PART IV

/

STANDARDS

The four dimensions of progressivity are very powerful and can be changed (nearly at will)

throughout the codestream. Since only the data required by the viewer need to be transmitted, the

"effective compression ratio" experienced by the client can be many times greater than the actual

compression ratio as measured from the file size at the server.

18.3 THE JPEG2000 ALGORITHM

In this section, we provide a high-level description of the JPEG2000 algorithm. Although the

standard specifies only the decoder and codestream syntax, this review focuses on the description

of a representative encoder, since this enables a more readable explanation of the algorithm. We

note that we will discuss the algorithm as it applies to Part I of the standard. As mentioned earlier,

Part I describes the minimal decoder required for JPEG2000, which should be used to provide

maximum interchange. Value-added technologies that are not required of all implementations are

described in Part II.

18.3.1 Tiles and Component Transforms

In JPEG2000, an image is defined as a collection of two-dimensional rectangular arrays of samples.

Each of these arrays is called an image component. Typical examples include RGB images

that have three components and CMYK images that have four components. Components need

not have the same number of samples. The image resides on a high-resolution grid. This grid,

usually referred to as "the canvas," is the reference for all geometric structures in JPEG2000. The

main purpose of the canvas is to define a consistent set of region mapping rules to be used for

manipulation of the geometric structures of JPEG2000.

The first step in JPEG2000 is to divide the image into non-overlapping rectangular files.

The array of samples from one component that fall within a tile is called a

tile-component.

The

primary benefits of tiles are that they provide a simple vehicle for limiting implementation memory

requirements and for spatial random access. They can also be useful for segmenting compound

imagery, as the coding parameters can be changed from tile to tile. As the tile grid is rectangular

and regular, options for segmentation are rather restricted.

The primary disadvantage of files is blocking artifacts. Since each tile is compressed indepen-

dently of all other tiles, visible artifacts can occur at tile boundaries. For high bit-rates and large

tile sizes, these artifacts are generally invisible. The tile size can always be made so large as to

encompass the entire image, effectively eliminating the presence of files.

When multiple component images are being encoded, one of two optional component trans-

forms can be applied to the first three components. 1 These transforms decorrelate the components

and increase the compression efficiency.

The first component transform is the irreversible color transform (ICT) and is used only in

conjunction with the irreversible wavelet transform discussed in the following section. The second

transform is called the reversible color transform (RCT) and is used only in conjunction with the

reversible wavelet transform. Although both transforms are invertible in the mathematical sense,

the RCT maps integer color components to integer transformed color components and is perfectly

invertible using only finite (low) precision arithmetic. Conversely, the ICT employs floating-point

arithmetic and, in general, requires infinite precision arithmetic to guarantee perfect inversion.

The RCT can be viewed as an approximate version of ICT.

1 Part II of the standard enables more general component transforms.

Get *Lossless Compression Handbook* now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.