next up previous
Next: Performance Up: Visible Imaging System (VIS) Previous: Electronics

Data Compression

For effective use of the telemetry rate allocated to the VIS a hybrid data compression algorithm is implemented. From the analysis of images from DE-1 it is known that the general class of images to be acquired can be characterized by an entropy (information) content of about 4 bits per 8-bit pixel. An improvement of the corresponding maximum compression ratio of 2:1 for completely lossless channel encoding is desired. Thus a hybrid Mean Residual Vector Quantization (MRVQ) code is employed. This code is supplemented with combined run-length and Huffman algorithms. This data compression scheme was developed under the direction of Richard Harris and Paul Israelsen of Utah State University. A Discrete Cosine Transform (DCT) was developed in parallel but was considered slightly inferior and required more onboard hardware.

Vector Quantization (VQ) is an extension of a scalar conversion. For VQ a finite group of samples denoted as a vector is compared to a list of predetermined vectors (the code book) in order to find the closest matching set. Data compression is achieved by sending the binary code (address) for the selected vector. For MRVQ a vector mean is subtracted from each sample in the vector to create a residual vector that is encoded by the VQ process. The mean and the vector selected from the code book are then telemetered. This lossy MRVQ compression is combined with a lossless Huffman coding of the error residual. In this hybrid system the error residual, which is the difference between the original and regenerated MRVQ image, is encoded using a combined variablelength Huffman and run-length algorithm. In order to regulate the telemetry rate the errors in the residuals below a set number of counts (threshold) are truncated to zero values. The resulting run-lengths of truncated zero-errorvalued pixels and the non-zero Huffman-encoded residuals are telemetered.

A reduced-resolution mean image is generated with 4 × 4-pixel blocks and eight-bit means. The residual vector is then encoded with the use of a 256-vector code book and a 16 × 16 tree search. An error image is achieved by subtraction of this encoded MRVQ image from the original image. After the error residual is computed all such errors less than a threshold of ± n counts are set to zero. This residual is then processed using variablelength Huffman code words for individual errors or runlengths of zero errors. For a compression ratio of 4:1 then 16 bits per vector (16 pixels) are allocated for encoding the residual error image. Thus the compression coding must be aggressive in order to minimize the effects on image quality.

The compression algorithm has been characterized with the use of images from DE-1 and DMSP. The DE-1 images are similar to those expected from the Earth camera. The DMSP images are anticipated to be similar to those acquired with the VIS cameras for visible wavelengths. The performance of the compression algorithm is summarized in Table 5. Examination of an extensive series of compressed images finds that sharply bounded features such as thin auroral arcs are degraded significantly for compression factors 5. It may be necessary to tailor the code books and thresholds for each camera. The need for such adjustments is to be evaluated with post-launch images. The capability exists to telemeter both uncompressed and compressed images for these evaluations. It should be noted that a fixed threshold yields a variable data rate with fixed error statistics. This method has been chosen in lieu of adaptive thresholds that vary from image to image and yield a constant telemetry rate at the expense of a varying encoding error.

The data compression technique requires four 8085 microprocessors that execute in parallel. These processors utilize a multiplier accumulator chip (MAC) to implement the VQ search. The MAC is driven by three channels of a DMA controller: one channel to fetch the residual, the second to fetch the vector for comparison, and the third to write the results of the least-mean-square computation into memory. An eight-bit adder is used to subtract the mean from the vectors as they are fetched from memory. The compression processors are each equipped with 32 kbytes of memory for code and code books and three banks of 32 kbytes for image storage and output buffers.


next up previous
Next: Performance Up: Visible Imaging System (VIS) Previous: Electronics