Abstract:
A processing system for transmitting digital data, in particular image data, in a transmission channel includes a system for compressing the data, made up of a decorrelator, a quantizer and a coder, and a regulation system receiving as input decorrelated data from the decorrelator and a set point and supplying a quantizing parameter to the quantizer.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a system for compressing data which is located between a sensor and a transmission unit. The invention applies particularly well to remote sensing satellites which acquire image data and then transmit it to a ground station via a radio transmission channel one characteristic of which is that it is able to convey information only at a constant bit rate. 
     2. Description of the Prior Art 
     The volume of information acquired by the sensor is generally greater than the volume of information that the transmission channel can transmit. This is true in particular for remote sensing satellites because of the increased number and resolution of onboard sensors. Consequently, it is necessary to employ data compression processes to reduce the quantity of information to be transmitted for the same volume of information acquired by the sensor. 
     However, because of the inherent nature of the compression processes, the output bit rate of the compressor is directly proportional to the entropy of the input signal. The quantity of information to be transmitted therefore generally varies with time because the characteristics of the input signal themselves vary with time. 
     To optimize the use of the transmission channel it is therefore necessary to minimize these bit rate fluctuations at the output of the compression system by regulating the bit rate. 
     In the situation where the transmission channel requires a constant bit rate, this regulation becomes essential. 
     FIG. 1 is an extremely schematic representation of the architecture of a signal processing system in the context of the invention. This architecture takes the form of a processing system comprising a chain of processing units. 
     The unit  1  is a sensor. It can be an optical or infrared video camera on board a remote sensing satellite, for example. 
     The unit  2  is a compressor. 
     The unit  3  is a bit rate regulator. 
     The unit  4  is a backing store which serves as a cache memory for the transmission unit  5 . In the case of a remote sensing satellite, the transmission channel is not always available, in particular because of the time limit on the line of sight between the satellite and the ground stations. It must therefore be possible to store data during these periods in which the transmission channel is not available. 
     The flow of data can pass through the backing store  4  or not, depending on the availability of the transmission channel. 
     FIG. 2 is a schematic representation of a first embodiment of the regulator. 
     A buffer B 1  is inserted between the compressor C 1  and the backing store M 1 . A regulator R 1  detects when the buffer B 1  is full and then interrupts the acquisition of data. 
     To comply with the constraint of a constant bit rate on the transmission channel, non-significant data is transmitted when the buffer B 1  is empty. 
     Because non-significant data is transmitted, the bit rate on the transmission channel is not the optimum bit rate. This solution is therefore unsatisfactory. 
     A second solution is disclosed in French patent 2 707 070, whose title in translation is Variable bit rate compression image processing system. The patentee is the Centre National d&#39;Études Spatiales (CNES). FIG. 3 is a schematic representation of the system. 
     As in the previous solution, a buffer memory B 2  is inserted between the compressor C 2  and the backing store M 2 . A regulator R 2  knows the filling level L B  of the buffer memory B 2  and an estimate E of the quantity of information contained in the data before compression, or more precisely of the complexity of that data expressed as the sum of the absolute value of the finite differences of the image along its lines. On the basis of these two parameters and a regulation law f, the regulator R 2  determines a compression ratio t from the equation t=f(E, L B ). 
     According to this solution, if the quantity of information measured by the estimator E is high during a particular time period (in which case the level L B  is also high), the compression rate t is increased to prevent saturation of the buffer B 2 . 
     This solution has many drawbacks: 
     In practice the quality of the prediction of the compression rate supplied by the estimation E is not constant in the image and can vary considerably. This therefore leads to an equally large variability of the quality of regulation, which must then be compensated by a system (referred to as a skew correction system in this prior art solution) for correcting the prediction error a posteriori. If that system is not used, then the buffer may need to be large, which can increase the complexity of the hardware and the cost, in particular for onboard systems. 
     It employs a large number of parameters (Par) in the form of a network of prediction straight line segments whose number is proportional to the number of bits on which the input data is coded. Each straight line segment is characterized by the two parameters of an equation. All these parameters are determined empirically, i.e. by carrying out a large number of measurements of the bit rate and complexity as a function of the quantizing step, and finally by applying linear regression to the clouds of points obtained. This method is therefore relatively cumbersome and can be inaccurate, in particular due to the obligation to limit the number of straight line segments obtained, which amounts to limiting the number of quantizing steps that are possible for the regulation function. 
     Finally, from a practical point of view the method may be difficult to implement in the situation where the bit rate of the input data is high. The computations performed in the regulation loop, in particular the computation of the quantizing step, cannot be performed by an ASIC. A microprocessor is therefore needed. Microprocessors have clock frequencies which are significantly lower than that of an ASIC, which severely limits this type of regulation. 
     The object of the invention is therefore to alleviate the various drawbacks of the prior art. 
     SUMMARY OF THE INVENTION 
     To this end, the present invention firstly provides a processor for transmitting digital data, in particular image data, in a transmission channel, the system including: 
     a compression system for compressing the data including a decorrelation system, a quantizing system and a coding system, and 
     a regulation system supplying to the quantizing system at least one quantizing parameter, 
     the regulation system receiving as input decorrelated data from the decorrelation system and a set point. 
     The system can further include a storage system at the output of the compression system. 
     The invention also provides a processing method for transmitting digital data, in particular image data, in a transmission channel, the method including the following ordered steps: 
     decorrelating the data, 
     computing a quantizing parameter from a set point and the decorrelated data, 
     quantizing the decorrelated data in accordance with the quantizing parameter, and 
     coding the data quantized in the preceding step. 
     The method can further include a step of storing data at the output of the coding step in a storage system. 
     In one particular embodiment of the invention the quantizing parameter further depends on measured information from the storage means. 
     In various embodiments the set point can be a set point bit rate or a set point quality. 
     Other features of the invention will become clear in the light of the following description of various embodiments of the invention, given with reference to the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic representation of an image compression system used conventionally in the context of the invention. 
     FIGS. 2 and 3 show prior art solutions. 
     FIG. 4 shows the system according to the invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     1) Compressor C 
     The compressor C used by the system according to the invention is of the type commonly referred to as a transform coding compressor. A compressor of this kind is conventionally divided into three modules: a decorrelation module (C D ), a quantizing module (C Q ) and a coding module (C C ). 
     The function of the decorrelation module C D  can be seen as formatting data so that it is processed with maximum efficiency by the quantizing module C Q . In the case of a compression system conforming to the recommendations of the JPEG (Joint Photographic Expert Group), the data is decorrelated by a Discrete Cosine Transform (DCT). 
     Other mathematical transforms can be used, in particular the wavelet transform, which often offers better performance. 
     The function of the quantizing module C Q  is to reduce the amount of information to be transmitted by quantizing the decorrelated signal. After this operation, which reduces the alphabet with which the signal is described, the coding module C C  codes the quantized values by assigning a code of variable length which is a function of the probability of the various symbols of the alphabet occurring. One example of a method for effecting this coding is Huffman coding as described in the article “ A method for the construction of minimum redundancy codes ” by D. A. Huffman published in “ Proceedings of the Institute of Electronics and Radio Engineers  in 1952. 
     2) Decorrelated Data I D    
     The decorrelated data (or coefficients) I D  from the decorrelation system (C D ) is processed area by area. If the system implementing the system according to the invention is a remote sensing satellite, the input data forms a digital image with a width of a few thousand pixels and a theoretically infinite length, since the sensor is acquiring data all the time. Consequently, the flow of data from the sensor is divided into areas and regulation is effected in each of these areas. 
     The division of the decorrelated data I D  into areas depends on the nature of the decorrelation process. Thus in the case where the decorrelation system C D  is based on a wavelet transform, the areas are preferably strips of the image. If the decorrelation system uses a cosine transform, the areas are preferably lines of blocks. 
     Note, nevertheless, that in the case of regulating quality, the invention can also be applied to the situation of small images in which the whole of the information can be stored in memory. In this case, the image can be considered to comprise only one area, on which the subsequent processing is effected. 
     3) Storage System M 
     Given that the regulation system R uses a model of the behavior of the compression system C, there is a slight variation in the bit rate at the output of the regulated system. 
     In the case of a remote sensing system on board a satellite, the transmission channel is a constant bit rate channel. The slightly variable bit rate has to be converted to a constant bit rate by means of a memory M which has an integrator function. 
     It is important to note that this memory is optional in the sense that the invention can be applied to systems which are not subject to this constraint on the transmission channel. What is more, the quality of the regulation in accordance with the invention makes the variability of the bit rate at the output of the compression system C very slight compared to the prior art solutions. For example, the ratio of the variabilities between the solution according to the invention and the solution described in French patent 2 707 070 can be greater than 100, depending on the nature of the image areas in which it is computed. 
     What is more, even if the memory M is indispensable in order to obtain zero variability at the output of the system, it can be much smaller because of the low variability of the input bit rate. This reduction can be crucial, in particular in the case of an onboard system. 
     Because of the prediction quality of the model used, the maximum size of the memory for a fixed output bit rate can also be calculated a priori and theoretically. 
     4) Bit Rate Regulation 
     The system according to the invention can be used either to regulate the bit rate or to regulate quality. In the former case, the set point information I C  is a set point bit rate, hereinafter denoted R c . 
     The objective of the regulation system R is then to supply to the quantizing system C Q  a quantizing parameter PQ as a function of the set point bit rate R c  and information I D  from the decorrelation system C D . The quantizing parameter can be recomputed for each area of coefficients. 
     For each area of coefficients I D  from the decorrelation system C D , the regulation system can carry out a sorting process by ordering the coefficients in decreasing order of absolute amplitude. For example, the coefficients can be stored and sorted in a table I D [i], with i varying from 1 to the cardinal number of the area, the cardinal number of the area being the number of coefficients that it contains. 
     Another approach, which has the advantage of reducing the computation time and therefore of improving the implementation of the invention, is to dispense with the need for sorting by constructing a histogram of the modulus of the coefficients and computing the quantizing step related to the required bit rate using an algorithm explained later. This has the great advantage of requiring no microprocessor and of being implementable in ASIC form. 
     4.1) Open Loop Bit Rate Regulation 
     In one particular embodiment of the invention the quantizing parameter PQ is a quantizing step determined by the following expression: 
     
       
         PQ=α·|I D (β·R C )| 
       
     
     in which α and β are two parameters which are preferably within the following ranges: α∈[1;2] and        β   ∈       [       1   10     ;     1   3       ]     .                            
     |I D (β·R c )| is the modulus of the sorted coefficient of index β·R c . 
     A practical embodiment consists in storing the moduli of the sorted coefficients in a one-dimensional table from which the element corresponding to the index β·R c  is taken. 
     As previously indicated, another approach is to construct the histogram H of the moduli of the coefficients I D     min   ≦I D ≦I D     min   , and PQ related to the bit rate R C  is obtained as soon as          ∑     i   =     PQ   α         I     D   max                         H        (   i   )                              
     becomes equal to └R c ·β┘ i.e. to the integer part of the product β·R c . 
     The values of the parameters α and β depend on the decorrelation process used by the decorrelation system C D . These values are preferably chosen from the following table: 
     
       
         
               
               
               
             
               
               
               
               
             
           
               
                   
                   
               
               
                   
                 α 
                 β 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 Cosine transform 
                 2 
                 
                   
                     
                       
                         1 
                         5.5 
                       
                     
                             
                     
                         
                     
                   
                 
               
               
                   
                   
               
               
                   
                 Wavelet transform 
                 1 
                 
                   
                     
                       
                         1 
                         6.5 
                       
                     
                             
                     
                         
                     
                   
                 
               
               
                   
                   
               
             
          
         
       
     
     Note, however, that the above values are given only for one particular, although preferred, embodiment of the invention. It is obvious that the invention can be extended to other types of decorrelation process. For each new decorrelation process it is merely necessary to determine a new pair of parameters a, D whose optimum values can be determined experimentally. 
     4.2) Closed Loop Bit Rate Regulation 
     In another embodiment of the invention the regulation system R also receives measured information I M  from the storage system M. This information is used to correct the model by taking account of the degree to which the memory M is full. Thus if the memory is too full, the compression rate can be increased by modifying the quantizing parameter PQ. Conversely, if the memory is too empty, the compression rate can be reduced. 
     To be more precise, the information I M  can measure the difference between the degree of filling of the memory M and a nominal degree of filling (for example 50%). In one particular embodiment the quantizing parameter PQ is a quantizing step determined by the expression        PQ   =     α   ·            I   D          (     β   ·     (       R   C     +       I   M       k   ·   Z         )       )                                     
     in which α and β are two parameters which are preferably in the following ranges: α∈[1;2] and        β   ∈       [       1   10     ;     1   3       ]     .                            
     The parameter k is a damping factor and Z is the cardinal number of the area of coefficients. In the same way as previously, the values of the parameters α and β depend on the decorrelation process used by the decorrelation system C D , and are preferably chosen from the following table: 
     
       
         
               
               
               
             
               
               
               
               
             
           
               
                   
                   
               
               
                   
                 α 
                 β 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 Cosine transform 
                 2 
                 
                   
                     
                       
                         1 
                         5.5 
                       
                     
                             
                     
                         
                     
                   
                 
               
               
                   
                   
               
               
                   
                 Wavelet transform 
                 1 
                 
                   
                     
                       
                         1 
                         6.5 
                       
                     
                             
                     
                         
                     
                   
                 
               
               
                   
                   
               
             
          
         
       
     
     The damping factor k can also be determined experimentally. Conventionally, k can be chosen in the range [1;6]. 
     As in the case of open loop regulation, a more efficient way to compute PQ if ASIC implementation is envisaged is to construct the histogram H of the moduli of the coefficients I D     min   ≦I D ≦I D     min   , and PQ related to the bit rate R C  is obtained as soon as          ∑     i   =     PQ   α         I     D   max                         H        (   i   )                              
     becomes equal to └R c ·β┘. 
     5) Quality Regulation 
     As previously stated, the system of the invention can also be used to regulate quality. In this case, the set point information I C  is a set point quality denoted Q c  hereinafter and the objective for the regulation system R is to provide, for each area of coefficients, the quantizing parameter PQ enabling this set point quality to be achieved. 
     In one particular embodiment the quantizing step PQ can be determined by an equation similar to that stated for bit rate regulation: PQ=α|I D (β·R O )|, in which α and β are two parameters which are preferably in the following ranges: α∈[1;2] and        β   ∈       [       1   10     ;     1   3       ]     .                            
     In the above equation, R O  is the bit rate to be achieved to obtain the set point quality Q c . 
     The value of the bit rate R O  is obtained from the set point quality Q c  by applying the equation:          ξ   -     10   ·       Log   10          (       ∑     k   =       ⌊     β   ·     R   0       ⌋     +   1       Z                              I   D          (   k   )            2       )           =     Q   c                            
     in which ξ depends on the nature of the quality set point. 
     For example, if the quality set point Q c  is a Peak Signal to Noise Ratio (PSNR), then ξ is given by the following equation:        ξ   =     10        Log   10              Z        (       2   A     -   1     )       2     χ                              
     If Q c  is a Signal to Noise Ratio (SNR), then ξ can be given by one of the following equations:        ξ   =         10   ·     Log   10            V   χ        or                 ξ     =       10   ·     Log   10            E   χ                                
     in which V is the variance of the image or of the processed area of the image and E is its energy. A is the number of bits on which the input data is coded and Z is the cardinal number of the image area or of the processed image. Finally, χ is a parameter, preferably such that          1   2     ≤   χ   ≤   3.                          
     The energy E of an image I including L lines and C columns, and thus Z=L×C points, can be defined by the equation          E   =       1   Z            ∑     i   =   0       C   -   1              ∑     j   =   0       L   -   1              I        (     i   ,   j     )       2             ,                          
     in which I(i,j) represents the value of the point with coordinates i, j. 
     Similarly, the variance V of the image I can be defined by the equation          V   =         Z     1   -   Z            I   2       +       1     Z   -   1              ∑     i   =   0       C   -   1              ∑     j   =   0       L   -   1              I        (     i   ,   j     )       2               ,                          
     in which {overscore (I)} is the average of the image. 
     The values of the parameters α, β and χ depend on the decorrelation process used by the decorrelation system C D . These values are preferably chosen from the following table: 
     
       
         
               
               
               
               
             
               
               
               
               
             
           
               
                   
                   
               
               
                   
                 α 
                 β 
                 χ 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                 Cosine transform 
                 2 
                 
                   
                     
                       
                         1 
                         5.5 
                       
                     
                             
                     
                         
                     
                   
                 
                 
                   
                     
                       
                         1 
                         + 
                         
                           1 
                           2 
                         
                       
                     
                             
                     
                         
                     
                   
                 
               
               
                   
               
               
                 Wavelet transform 
                 1 
                 
                   
                     
                       
                         1 
                         6.5 
                       
                     
                             
                     
                         
                     
                   
                 
                 
                   
                     
                       
                         1 
                         + 
                         
                           1 
                           12