JPEG 2000 is the new International Standard for digital image compression. Following a call for contributions in 1997, and several years of technology development, JPEG 2000 was adopted by the International Standards Organization in December 2000 and published as ISO/IEC 15444-1. Unlike its predecessors, JPEG 2000 can be used for both lossless and lossy compression, selectable on a case-by-case basis.
Figure 1 is a flow diagram of the JPEG 2000 algorithm. The component transform is used for three-color or for multispectral/hyperspectral data, to perform decorrelation in the wavelength dimension. The wavelet transform performs decorrelation in the two spatial dimensions. The quantizer can be used as the principal source of lossiness in compression, while the bit-plane entropy coder is lossless. Finally, the rate controller ensures that the desired compression ratio is achieved.
JPEG 2000 Part 1, the Core Coding System, contains features that all compliant decoders must support. These include reversible (5x3) and irreversible (9x7) wavelet filters with a Mallat decomposition tree, scalar quantization, and three-component color-space transforms. All technologies accepted for Part 1 were offered by their originators on a royalty-free, non-discriminatory basis. Part 2 of the standard (Extensions) includes technologies for special applications, some of which are relevant for astronomical data. These include arbitrary wavelet transforms, arbitrary linear transforms in the wavelength dimension, and trellis-coded quantization (Marcellin & Fisher 1990).
Satellite-borne instruments typically have extremely limited memory, owing to size, weight and power constraints. Moreover, many instruments are scanners, which naturally build up a large image one line at a time. For these applications, it is desirable to have a JPEG 2000 implementation that buffers up the smallest possible number of image lines before compression, and releases the compressed data directly to the downlink. This configuration is called the scan-based mode.
Our implementation of this mode is based on the use of scan elements, which may be either image tiles or precincts. The precinct, a concept unique to JPEG 2000, is an area in the wavelet domain that corresponds to a location in the image domain. Unlike tiles in the image domain, precincts are free of artifacts at their boundaries because the wavelet transform is performed in a continuous (sliding window) fashion. Our implementation uses scan elements corresponding to 8, 16, 32, or 64 lines in image space. A constant bit rate may be achieved by buffering the compressed data from several adjacent scan elements and performing a running average with the rate controller. Figure 2 is a flow diagram of our implementation of the scan-based mode (Part 1 features only).
A JPEG 2000 codestream, which is formed at the output of the entropy coder, can be organized in four different progression orders: progression by quality, by resolution, by position, or by component (usually wavelength). This flexibility is made possible by the use of the wavelet transform, which is inherently a decomposition by resolution, and the bit-plane entropy coder, which is inherently an ordering by quality. The role of these two elements is shown in Figure 3.
The scan-based mode naturally outputs the codestream as a progression by location: that is, all the bits corresponding to a given scan element are released to the downlink while the next scan element is being compressed. However, once the entire data file has been received on the ground, it is possible to reorganize the codestream into one of the other progression orders without decoding. This procedure assumes that the appropriate markers have been inserted into the packet headers of each scan element during encoding; there is a very small loss in compression efficiency, due to the increased overhead.
We have written a reordering parser that parses the codestream markers and packet headers and reorders the codestream as required for dissemination. Transmission of the reordered codestream can be halted at any point. Thus a user may receive from the archive a thumbnail sketch of an image (progression by resolution), a low-quality version (progression by quality), or a single wavelength (progression by component) before deciding if he wants the entire file. The implementation of the reordering parser is shown in Figure 4.
Our experiments using real data from astronomical and Earth-observation satellites have shown that JPEG 2000 has many advantages for on-board use. Efficient software and hardware implementations, which are currently under development by several commercial firms, will meet the speed and memory requirements of satellite-borne instruments. For archiving, JPEG 2000 offers high compression efficiency, unparalleled flexibility of access, and the reliability of an International Standard.
Our work has been supported in part by contracts with NASA's Office of Space Science and Earth Science Technology Office.
Marcellin, M.W. & Fisher, T. R. 1990, IEEE Trans Comm, 38, 82