Description of Software and Compression Parameters


Compression Software

The compression/decompression software used was provided by the Matra Marconi company in France, and has the same algorithm and features as the hardware compressor which they designed for the Cassini mission. It is based on the JPEG algorithm (see below), and has numerous variable parameters which affect the compression level and compression efficiency. In the actual hardware compressor, there are 4 selectable `pages' in memory, called PMEM pages (Parameter MEMory), which contain compression parameters optimized for different image types. In the software compressor, these `pages' are stored in a data file. There is also a parameter called the `B value', which controls the degree to which an image is compressed, and the `GOB Length' which controls the amount of error correction coding implanted in the compressed data stream. Other parameters which may be set are the NLS bit, which controls the order of certain steps in the compression process, and the optimized decompression option in the decompression program, which provides better reconstruction of the compressed image than the standard decompression scheme. These parameters are described in fuller detail in the section on compression parameters.

The JPEG Algorithm

The JPEG algorithm is based on the fact that the human eye is more sensitive to slow variations in intensity than rapidly varying ones, i.e. the eye is more sensitive to low spatial frequencies than high spatial frequencies. Furthermore, in most natural scenes (including planets and moons), the majority of visual information is in the form of low spatial frequency components. JPEG operates by throwing out some of the high spatial frequency conponents in an image, thus decreasing the amount of information that must be coded for while keeping most of the visually important information intact.

The JPEG algorithm can be outlined as follows:

1) The 8 bit image to be compressed is broken into 8 by 8 pixel blocks. Each pixel is `level shifted' by subtracting 128 from it.

2) The blocks are transformed by the Dscrete Cosine Transform (DCT). This is an analogue of the Fourier transform, and essentially breaks each block into its spatial frequency components.

3) The high spatial frequency components are reduced by dividing each transformed 8 by 8 block by a `quantization matrix'. A `scale factor' is used to determine the degree to which high spatial frequency components are attenuated.

4) The information remaining in the blocks is then Huffman coded, formatted, and transmitted or written to a file. Decompression is performed by reversing the compression process.

Compression Parameters

PMEM Page

Each PMEM page contains a quantization matrix and a table of scale factors, as well as a Huffman coding table optimized for a certain type of image (busy, sky, or atmospheric images). Additionally, the first PMEM page (page 0) contains information which controls the format of the picture header and the error control headers. In pages 0, 2, and 3 the quantization matrix is flat (each element = 255), while in page 1 it is scaled to discard more high frequency information. Furthermore, the table of scale factors is the same in pages 0, 1, and 3 but is different for page 2. PMEM pages are selected by setting the values of two bits--Malgo and TB. The pages are summarized below:
Malgo:	TB:	Page:	Quantization Matrix:	Huffman Table:

0	0	0	Flat (255)		Busy
1	0	1	Scaled			Busy	
0	1	2	Flat (255)		Sky
1	1	3	Flat (255)		Atmospheric	

B Value

The B value ranges from 0 to 15, and selects the value from the scale factor table to be used. High B values give higher compression. It should be noted that since PMEM page 2 has a different scale factor table than the other pages, a given B value generally selects a different scale factor when used with page 2 than it does with the other pages.

GOB Length

GOB length is a parameter ranging from 0 to 255, and determines how frequently error correction headers will be placed in the data stream. These headers allow an image to be mostly recovered if there is an error in transmission. If GOB length is 0, there will be no headers. For other values, a GOB length L will cause error correction headers to be placed after each group of L image blocks. If a GOB length of 0 is used, no protection is given against transmission errors. For a GOB length L, at most L image blocks will be lost from a single error. However, for nonzero L values, the smaller L is, the more additional information is included in the data stream--better error protection is balanced by a decrease in compression ratio.

NLS Bit

The JPEG algorithm outlined above specifies a level shift before the DCT. The Matra compressor allows this level shift to occur after the DCT in the actual compressor/formatter (COFO) section of the hardware or software, if desired. A NLS (No Level Shift) value of 1 causes the level shift to occur before DCT, as in the standard JPEG algorithm, while a NLS value of 0 causes the level shift to occur in the COFO. Neither option changes the performance of the compressor, but having the level shift occur in the COFO (NLS=0) is slightly easier for the hardware implementation of the compressor.

Optimized Decompression

This option in the decompression software constructs a histogram of the coded values and uses an interpolation method on it to provide better reconstruction of the coded data.


Next Page Description of Image Entropy
Contents