Image coding on the Phobos space probe

Image coding on the Phobos space probe

SIGNALPROCESSING: IMAGE COMMUNICATION ELSEVIER Signal Processing: Image Communication 6 (1994) 479-484 Short communication Image coding on the P...

959KB Sizes 5 Downloads 116 Views

SIGNALPROCESSING:

IMAGE

COMMUNICATION

ELSEVIER

Signal Processing: Image Communication 6 (1994) 479-484

Short communication

Image coding on the Phobos space probe A. Baskurt, C. Odet, R. Goutte Laboratoire de Traitement du Signal et Ultrasons, URA CNRS 1216 INSA-Lyon, 20 az:. A. Einstein, Bgtt. 502, 69621 Villeurbanne cedex, France

Received 3 August 1992

Abstract This paper presents the study realized for the international mission of planetary exploration Phobos II (1988) concerning the coding of Phobos images on-board. The developed software based on Discrete Cosine Transform was implemented on an on-board computer, with success, taking into account the several constraints of this space mission. Keywords: Image coding, Discrete Cosine Transform, Space mission

I. Introduction One of the aims of space exploration is to give us some informations about far worlds and planets. When this information concerns temperature measurements or other physical characteristics, it is not of great interest for everybody, but only concerns the scientist. If in such missions, images of the unexplored world can be sent to Earth, everybody can look at them and understand some aspects of the universe. In mathematical terms, for example, an image represents a huge amount of information compared to the very few values needed for transmitting a temperature. One can easily understand that the transmission of such images to the earth will take a very long time due to the amount of

*Corresponding author. Tel: 33 7243 85 69, Fax: 33 7243 85 26; E-mail: Postmaster@cerim insa-lyon fr. 0923-5965/94/$7.00 © 1994 Elsevier Science B.V. All rights reserved SSDI O 9 2 3 - 5 9 6 5 ( 9 4 ) O O O 2 8 - H

information and to the very low communication flow at this very large distance. However, one hopes to receive the maximum number of images during the relatively short part of a space mission where images can be sent. One solution is to use image compression techniques to reduce the amount of information contained in an image without losing its semantical contents. Such an image can still be interpreted visually or mathematically but the time taken for its transmission is shortened. The study presented herein was realized for the international mission of planetary exploration Phobos II (July 1988) as a part of a French-Soviet cooperation. It concerns the coding and compression of images taken by the space probe showing the satellite Phobos of the planet Mars. The compression algorithm was implemented on an onboard computer with relatively low processing capabilities and had to take as short a time as possible. The volume of the program had to be very

480

A. Baskurt et al. / Signal Processing." Image Communication 6 (1994) 479-484

small because the memory was mainly occupied by vital tasks controlling the hardware of the space probe.

Compression of the data before transmission is obviously necessary and will lead to a greater number of images. With an average compression ratio of 8, it will be possible to obtain 48 images during the lifetime of the Lander.

2. Description of the Phobos mission

The soviet rocket Proton was launched the 12 July 1988 from the USSR base in Bai~onour. It was carrying the interplanetary station Phobos with 22 scientific experiments coming from 12 countries, including France. These experiments were aimed at the study of the interplanetary structure, the sun, the planet Mars and of one of its natural satellites, Phobos. Phobos is a "big rock", with a length of 27 km, a width of 19 km and a height of 21 km. Its rotation period is 7 h 39 min, at approximatively 5900 km above the Mars surface. The study of Phobos will give us very interesting information about the beginning of the solar system. Another important feature of these experiments is the landing on the Phobos surface of an autonomous module, the "Lander". The Lander is one of the 22 experiments in the Phobos space probe. It will be placed on the satellite after a 200-day flight, while the space probe flies 50 m above the ground. Its electrical power comes from solar plates exposed to the sun after the landing. Some experiments will then determine the exact orbit parameters of the satellite, and will study the ground composition. Its life duration is about 12 months. The Lander has two moving CCD cameras which will produce images of the Phobos surface and of the skyline. The images will be broadcast to earth at a radio frequency of 1672 MHz. A total of 4 to 32 bits of information are transmitted every seconds. On earth, the reception is done by a network of antennas situated in such a way that always one of them is reached by the radio signal. During the mission, because of the time necessary for the transmission of parameters for other experiments, it is only possible to transmit six images without compression.The time of transmission for an image with 208 x 144 8-bit pixels (CCD camera format) approaches 10 days. This is too long compared to the total duration of the experiment.

3. Image coding method

3.1. Mission constraints Compression ratio The compression ratio (Cr) can be set to 1 (no compression), 4 (2 bits/pixel), 8 (1 b/p) and 12 (0.66 b/p). The value is changed by remote control from the earth. The number of the selected coefficients in the DCT domain changes as a function of the compression ratio. Memory capacity." The total memory capacity is shared by 12 different experiments. The original image uses 30kbytes and the coded image uses 8kbytes for C~ = 4. The coding software must use less than: - 4 kbytes of ROM (read only memory) for the software and constants. - 2 kbytes of RAM (random access memory) for the variables. - 64 bytes of high security RAM. This RAM is highly protected and is used for the very important variables. So, the software length and the use of the 2 kbytes RAM must be optimized. Transmission errors One error bit in 10 000 transmitted bits leading to approximately six errors bits in images compressed by a factor of Cr = 4: 208 × 144 × 8 = 239.616 bits (original image) 59.904 bits (coded image, Cr = 4). Note that if the coding method is applied to the whole image, these error bits will probably prevent a successful decoding. Dividing the image into subimages becomes very interesting. Indeed, an average of six subimages will be affected in this case. The use of fixed length codes for the selected

A. Baskurt et al. / Signal Processing: Image Communication 6 (1994) 479-484

DCT coefficients of each subimage reduces the loss probability of all the subimage information. Nevertheless, an error bit in some of the other transmitted informations described in Section 3.3 could prevent the decoding.

Processing time Transmission is possible during sessions of 30 min. Two successive sessions are spaced by 7 h. So, the space probe system has enough time to process the differents routines of 12 experiments. However, the maximum computing time for the image coding software is limited to 2 h per image.

3.2. Developed coding method A transform coding method is developed in this study. Indeed, the processor has enough time to compute a transform before coding. The Discrete Cosine Transform [1] is used to decorrelate the information quite perfectly and to concentrate it in a small number of D C T real coefficients. We divide the image (208 x 144 pixels) into square subimages of 16 x 16 size in order to: exploit the local stationarity of the images; satisfy the RAM memory constraint (Note that only 2 kbytes are available for the variables and we need 1024 bytes (256 x 4) to store only one block 16 x 16 with a floating point format of 4 bytes). satisfy the "transmission errors" constraint (note that using subimages reduces considerably the affected picture area due to decoding errors). The size of subimages (16 x 16) is chosen according to the local correlation properties of the image. An adaptive threshold is used in the D C T domain to have a better choice of coefficients of high energy, whatever their locations. So, only the most significant values of the D C T are taken into account. The coding algorithm is processed for each subimage as follows. (a) The subimage 16 x 16 is transformed using the two-dimensional DCT. (b) The origin value in the DCT domain, X(0, 0), represents twice the mean value of the subimage. This value is quantized and coded separately using -

-

-

481

a fixed length code (ORG, 13 bits). The precision is then equal to 3/100 for the mean value which varies between 0 and 255. This precision seems necessary to suppress the variation of luminosity between two adjacent subimages. (c) The compression ratio Cr is fixed. We then select the same number CN of DCT coefficients for each subimage. CN maximum absolute values of the DCT domain are retained. They are uniformly quantized using (2 L - 1) levels. Note that the threshold changes for each subimage and is equal to the minimal absolute value of the selected coefficients. The minimum and maximum values of the matrix (MIN and MAX) represent the lower and upper quantization limits respectively. The quantized coefficients are then coded with a fixed length binary code (L = 4). All the other coefficients are discarded. The values of CN for each compression ratio Cr are shown in Table 1. They are choosen in order to approximatively satisfy the selected compression rate per each subimage. (d) The positions of CN selected coefficients must be known by the decoder. These positions form the threshold mask TM. Each subimage has its own TM. TM is coded using a quadtree representation of a binary matrix of 16 × 16 size in which "1" value represents a selected coefficient and elsewhere there are only zeros. The quadtree coding is completely described in [2] where it has been shown that this kind of coding is more efficient than zig-zag scanning used in J P E G algorithm. A typical size for the quadtree representation is 50 bits for Cr = 12, 70 bits for Cr = 8 and 240 bits for Cr = 4. For the same compression ratio, note that this size is variable from block to block. However, the compression ratio Cr of the whole image remains almost constant.

Table 1 Compression rate

N u m b e r of coefficients

4 8 12

48 28 12

482 I

LG 11

A. Baskurt et al. / Signal Processing." Image Communication 6 (1994) 479 484

I w¢ I ~N I MAX I 13

16

16

E ] CN coefficients coded on L bits J Quadtree I 16 CNxL

Fig. 1. Binary string structure for a subimage.

3.3. Binary string structure f o r transmission

Fig. 1 presents the structure of the binary string for each subimage. We have 117 subimages in the image. The total binary string is given by joining together the subimage strings obtained for each subimage. In Fig. 1, we have L G (11 bits): the length of a subimage string; - MV (mean value) (13 bits): the D C T domain origin value; M I N (16 bits) and MAX (16 bits): respectively the minimum and m a x i m u m values of D C T domain coded floating point format; E (16 bits): the sum of transmitted coefficients. It is a redundant information; C N coefficients coded with L = 4 bits, scanning the D C T domain line by line; - TM: the threshold mask coded with a quadtree representation. This number of bits changes for each subimage. To satisfy the transmission constraint, we add a delimiter of 16 bits after each package of 13 subimage strings. So, even if a part of the transmission is lost, one can continue to decode after finding a delimiter. A quite perfect solution is to put a delimiter after each subimage string, but this reduces consequently the compression ratio. -

Fig. 2. Original image (256 × 256 x 8).

-

3.4. Simulation results

We use an image (Fig. 2) of the surface of the planet Mars (taken by Viking II in 1976). Note that this particularly noisy image is quite difficult to compress. The size is 256 x 256 pixels, each pixel coded with 8 bits. The decoded image associated to Cr = 8 is given in Fig. 3. The peak-to-peak signal to noise ratios are shown in Table 2. The blocking effects for Cr = 8 and Cr = 12 are eliminated using a 3 x 3 Gaussian filter applied only on the borders of each 16 x 16 subimage. This

Fig. 3. The decoded and filtered image (Cr = 8).

Table 2 Compression rate

PSNR (dB)

4 (2 b/p) 8 (1 b/p) 12 (0.66 b/p)

37.7 33.4 32.2

A. Baskurt et al. / Signal Processing: Image Communication 6 (1994) 479-484

filter enhances the visual aspect of the decompressed image.

4. Implementation of the coding method on the space probe The computer used in the space probe is built around a CMOS microprocessor compatible with the Zilog Z80. The CMOS version has a very low supply current, and in order to reduce the power consumption of the overall hardware, the system is clocked at a relatively low frequency (1.125 MHz). The microprocessor is used to control the hardware of the Lander, all the experiments and the communication channel. A total of 12 independent tasks are concurrently running and it is necessary to control them very quickly. A real time operating system (task manager), written by the Hungarian team from Budapest, manages the 12 tasks and the memory hardware in a complex manner. Approximately half of the time is occupied by the operating system itself for controlling the scheduling of the 12 tasks. So the amount of time left for the compression task is very small (see Section 3.1). The addressing capability of the microprocessor is limited to 64 kbytes (16 bit address bus). In fact, this is not enough (compared for example to the 30 kbytes used by an image) for the programs and data used throughout the mission, so a simple memory management scheme is used. The memory is organized in banks and special hardware is used to switch between them. This method effectively expands the size of the available memory. It is periodically tested by the task manager in order to detect errors and declare the corrupted part unavailable to other tasks. For the security of the system, the programs and vital data (counters, timers, flags, saved registers, ...) cannot be in memory. High reliability components using majority logic are used for this purpose and this complexity limits the size of the memory implemented. Those limitations led the system designer to impose the memory capacity constraints detailed in Section 3.1. The size of the program does not include the basic floating mathematical functions needed for the computation of the cosine transform. In fact, a common library is available for the

483

Table 3 Cr

Execution time Tr

4 8 12

2h 1 h 15 min lh

tasks using complex formulas. The main parts of the program written in assembly language, are as follows. (1) Cosine transform of a 16 x 16 block. (2) Fourier transform used in part 1. (3) Coefficient selection according to the compression ratio. (4) Quadtree coding of the mask matrix. (5) Binary chain generation (compressed block). The program is looped 117 times for the processing of the whole image. The actual sizes are 3856 bytes for the program and 1956 bytes for the data used during the computations. The execution times measured in the complete software and hardware environment of the space probe, according to the various compression ratios, are given in Table 3. Tr represents the time spent by the microprocessor running the compression task, and does not include the time spent on other tasks running concurrently.

5. Conclusion The implementation of the compression software has been realized in two phases. The first in September 1987 at Budapest concerned with the interfacing of the software with the task manager and a hardware simulation of the space probe. The second in March 1988 at Moscow concerned with the complete implementation on the space probe itself. The system was tested at this time and gave good results. In July 1988, two space probes were sent by the Soviets from Baikonour. The first one (Phobos I) did not contain the French compression program but a Soviet one based on quadtree coding. The second one (Phobos II) contained the DCT-based compression program. During the trip to the planet Mars, Phobos I was lost because of an on-board malfunctioning. The probe Phobos II did not seem to have the same problem and arrived at

484

A. Baskurt et al. / Signal Processing: Image Communication 6 (1994) 479-484

the orbit of Mars. The experiments concerning the sun and the planet Mars were completed with success. Unfortunately, the communication was lost three days before landing on the Phobos surface. The Phobos II space probe has not been reacquired although several trials have been attempted, so it is impossible to present images of the Phobos surface after decompression. We thank the Soviet and Hungarian teams for their collaboration in this work of great interest.

References [1] N. Ahmed, T. Natarajan and K.R. Rao, "Discrete cosine transform", IEEE Trans. on Computers, Vol. C-23, 1974, pp. 90-93. [2] A. Baskurt and R. Goutte, "Encoding the location of spectral coefficients using quadtrees in transform image compression", lnternat. Conf. Acoust. Speech Signal Process.89, Glasgow, Scotland, 1989, pp. 1842-1845. [3] P.A. Wintz, ,'Transform picture coding", Proc. IEEE, Vol. 60, No. 7, 1972, pp. 809-820.