WO2015075185A2 - Method and device for digital image compression - Google Patents

Method and device for digital image compression Download PDF

Info

Publication number
WO2015075185A2
WO2015075185A2 PCT/EP2014/075293 EP2014075293W WO2015075185A2 WO 2015075185 A2 WO2015075185 A2 WO 2015075185A2 EP 2014075293 W EP2014075293 W EP 2014075293W WO 2015075185 A2 WO2015075185 A2 WO 2015075185A2
Authority
WO
WIPO (PCT)
Prior art keywords
block
coefficients
processed
blocks
coding
Prior art date
Application number
PCT/EP2014/075293
Other languages
French (fr)
Other versions
WO2015075185A3 (en
Inventor
Carole THIEBAUT
Roberto CAMARERO
Christophe Latry
Original Assignee
Centre National D'etudes Spatiales
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National D'etudes Spatiales filed Critical Centre National D'etudes Spatiales
Publication of WO2015075185A2 publication Critical patent/WO2015075185A2/en
Publication of WO2015075185A3 publication Critical patent/WO2015075185A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Definitions

  • the present invention relates to a digital image compression method represented by at least one two-dimensional array of image samples. It also relates to an associated compression device.
  • the invention lies in the field of digital image compression, and more particularly in the field of image compression with a quality objective to achieve.
  • Digital images obtained by various sensors are generally represented by arrays of image samples or pixels, each image sample having a given dynamic intensity.
  • the compression methods include the application of three treatments to a source digital image, which are: decorrelation, quantization, coding.
  • the decorrelation is obtained by applying a transformation, applied to the pixels to obtain transformed coefficients.
  • JPEG Joint Photography Expert Group
  • DCT discrete cosine transform
  • Quantization consists in applying a quantization matrix to the coefficients of a block, and it is possible to define a quality level of compression, a multiplicative factor then being applied to the quantization of all the blocks of the source digital image.
  • a level of quality results in a more or less strong compression according to the blocks of the source digital image, and does not allow to finely control the quality of the image to be encoded.
  • the JPEG2000 encoding standard was developed after JPEG. It uses a discrete wavelet transform (DWT) of the source digital image. Quantization and coding are performed in a single step, thanks to quality layer coding, obtained by bitmap coding of the transformed coefficients. In order to limit the amount of information data relating to coding parameters, the JPEG2000 standard uses coding units which are called blocks ", typically of size at least equal to 32x32 pixels. Thus, JPEG2000 does not allow a fine control of the coding quality.
  • DWT discrete wavelet transform
  • the Image Data Compression (IDC) coding standard defined by the Consultative Committee for Space Data Systems (CCSDS) also uses a discrete wavelet transformation, followed by a grouping.
  • spatial transformed coefficients obtained in blocks of predetermined size, typically 8x8 size, and a segment coding grouping a predetermined number of consecutive blocks.
  • Each block of transformed coefficients comprises a so-called low frequency coefficient, representative of the average of the intensity of the pixels of the block, and a plurality of so-called frequency coefficients, corresponding to three levels of wavelet decomposition for a block of size 8 ⁇ 8.
  • the segments are encoded independently of each other, the parameters necessary for the compression being encoded in the header of each segment.
  • the frequency coefficients of the blocks of a segment are coded by bit planes.
  • the set of binary coding data associated with a segment also referred to as the bit stream associated with the segment, is organized hierarchically and can be truncated at any point, to obtain a smaller but quality data volume. degraded.
  • the CCSDS IDC coding standard provides two modes, allowing quality and / or data volume control for each segment.
  • the quality is controlled in particular by the number of coded bit plans for the segment.
  • the actual quality of the reconstructed image depends on the characteristics of the source digital image. Therefore, in practice, it is particularly difficult to find parameters to ensure a desired quality for a set of images. Indeed, with constant parameters, one can obtain strong differences in terms of signal-to-noise ratio between two different digital source images.
  • the invention proposes, according to a first aspect, a digital image compression method represented by at least a two-dimensional matrix of image samples, each sample having an associated intensity value, comprising steps of :
  • each coefficient block comprising a coefficient called low frequency coefficient corresponding to an average value of the intensity of the image samples of said block and a plurality of coefficients called frequency coefficients;
  • This compression method comprises, after obtaining blocks of coefficients, the steps of:
  • the compression method of the invention makes it possible to apply a differentiated coding for treated blocks as a function of a first value calculated from the frequency coefficients of a processed block and a second value representative of a model. noise associated with the processed block.
  • a fine control of the quality is obtained, thanks to the selection of a quality target per block.
  • the compression method according to the invention may have one or more of the features below, taken alone or in combination, in any technically possible combination.
  • said quality target is a value representative of the mean squared error between the coefficients of the block processed before quantization and the coefficients of the block processed after quantization.
  • the method further comprises, for each block processed, a step of determining a quantization level to meet the quality target.
  • the method comprises, for each block treated, a comparison of said first value with a first threshold level calculated from said second value, and when said first value is lower than said first threshold level, a step of setting zero of the frequency coefficients of said processed block.
  • said processed block is considered to be a block exception for which said quality target is selected to minimize the mean squared error between the coefficients of the processed block before quantization and the coefficients of the processed block after quantization.
  • the first value representative of a processed block is representative of the variance of the frequency coefficients of the processed block
  • the second value representative of a processed block is a function of a variance of a noise model depending on the value of the low frequency coefficient of the treated block.
  • the processed blocks are selected by applying a bit mask.
  • the method comprises, for each block not selected as a block processed by applying said mask, a step of setting the frequency coefficients of said block to zero.
  • the method comprises a step of encoding an indication relating to a quantization level to be applied for each block processed, a said coding indication being associated with the set of digital data representative of the compressed digital image.
  • the quantization and coding step is implemented by a coding by bit planes representative of the coefficients, and said indication is an indication relating to the number of bit planes to be coded.
  • the quantization step is implemented by applying a block quantization matrix, and said indication is an indication relating to a weighting coefficient to be applied to a predetermined quantization matrix.
  • the coefficient blocks are obtained by applying a discrete wavelet transformation and spatial grouping of the transformation coefficients obtained.
  • the coefficient blocks are obtained by applying a discrete cosine transform applied on blocks of predetermined size.
  • the invention relates to a digital image compression device represented by at least a two-dimensional array of image samples, each sample having an associated intensity value, comprising modules capable of producing:
  • each coefficient block comprising a coefficient called a low frequency coefficient corresponding to an average value of the intensity of the image samples said block and a plurality of coefficients called frequency coefficients;
  • This device comprises, modules, able to achieve, after obtaining blocks of coefficients, for at least one treated block selected from the blocks of coefficients:
  • a quantization and a coding of said processed block according to said target of determined quality are quantization and a coding of said processed block according to said target of determined quality.
  • the compression device comprises modules able to implement the steps of the digital image compression method briefly described above.
  • This compression device provides similar advantages to the advantages of the compression method briefly described above.
  • FIG 1 is a block diagram of an image compression system implementing a compression method according to the invention
  • FIG. 2 diagrammatically represents a set of sub-bands obtained by applying a discrete wavelet transformation to a digital image
  • FIG. 3 schematically represents a block of transformed coefficients obtained by a wavelet transformation
  • FIG. 4 is a diagram representing the functional blocks of a programmable device capable of implementing the invention.
  • FIG. 5 is a block diagram of a step of determining a block quality target according to one embodiment of the invention.
  • FIG. 6 is a table illustrating the association of quality targets and a value representative of the block frequency coefficients to be encoded
  • FIG. 7 schematically illustrates a set of bit planes of a block
  • FIG. 8 is a block diagram of a quantification and coding step using a quality target according to a first embodiment of the invention.
  • FIG. 9 is a block diagram of a compression method implementing the determination of a quality target according to a second embodiment of the invention.
  • Figure 1 illustrates a system 1 of compression / decompression of images. The system is composed of a first part 2 performing digital image compression, a second storage / transmission part 3 and a third decompression part 4.
  • Parts 2 and 4 are respectively implemented by devices as briefly described below with reference to Figure 4, comprising one or more processing units, for example processors, and able to perform calculations.
  • the second storage and transmission part 3 is performed by storing data in a memory of a programmable device or an electronic device and / or by a communications network capable of transmitting digital data.
  • the methods of the invention are implemented by electronic devices of the programmable logic circuit type, such as electronic cards based on FPGAs or ASICs.
  • a digital image to compress I is presented at the input of the first compression part 2.
  • the digital image I is composed of one or more arrays of image samples or pixels, each image sample having an associated intensity value.
  • the digital image I is supplied to a first module 6 for transforming the digital image to be compressed into blocks of transformed coefficients of predetermined size.
  • the coefficient blocks are arranged spatially.
  • a discrete wavelet transformation is applied over the entire image matrix, on 3 levels of decomposition, as schematically illustrated in FIG. 2.
  • the application of a DWT is first carried out on the complete image matrix, making it possible to obtain four sub-bands, each subband including transformed coefficients corresponding to the application of a low-pass filtering L and a high-pass filtering H, firstly in a first direction of the matrix, then in a second direction, perpendicular to the first direction.
  • each LL 1 sub-band ; LH 1; HL 1; HHi's first level of decomposition has M / 2 rows and N / 2 columns.
  • the application of the respective filters L and H is iterated on the sub-band LL 1; to obtain the sub-bands LL 2 , LH 2 , HL 2 and HH 2 , second decomposition level and size M / 4 rows and N / 4 columns.
  • the LL 2 sub-band is filtered again to obtain the third decomposition sub-bands LL 3 , LH 3 , HL 3 and HH 3 .
  • the digital image is represented by a set of transformed coefficient subbands.
  • the size of the subbands is M 12 P x N 12 P.
  • the transformed coefficients of the subbands are grouped in blocks of spatially located coefficients of size 2 P x 2 p for p decomposition levels, thus blocks of size 8x8 for a decomposition with 3 levels of decomposition.
  • a block B k of transformed coefficients is obtained by spatially grouping coefficients of the DWT transformation corresponding to the same spatial position of the initial image I.
  • Each block of coefficients B k comprises a low-frequency coefficient DC, coming from the sub-band LL 3 in the example, and several AC frequency coefficients derived from the sub-bands LH 3 , HL 3 , HH 3 , LH 2 , HL 2 , HH 2 , LH ⁇ HL ⁇ HHi as illustrated.
  • the image I is divided into blocks of pixels of size 8 ⁇ 8 and a discrete cosine transformation (DCT) is applied to each block of pixels, making it possible to obtain blocks of 8 ⁇ 8 localized size. spatially transformed coefficients.
  • DCT discrete cosine transformation
  • the coefficient blocks are then processed by a block quality determination module 8 per block of the image.
  • This block quality target determination module 8 is specific to the invention. It takes as input Pi parameters relating to a noise model associated with the processed image and P 2 parameters relating to the quality target.
  • one or more MK bit masks to distinguish between blocks of interest and non-interest blocks is also provided.
  • the image digital I to compress is a remote sensing image, acquired by a sensor on board a satellite
  • a mask distinguishing blocks belonging to cloud areas is provided, the cloud blocks being blocks of no interest to the mission assigned to the satellite because without information content.
  • the non-interest blocks are simply coded by their low frequency coefficient.
  • the module 8 for determining a quality target per processed block provides, for each processed block B k , a mean squared error target value MSE k (Mean Square Error) of coding. for block B k .
  • MSE k Mel Square Error
  • Each coefficient Q j of the block B k is coded by a quantized coefficient d * .
  • the mean squared error of coding is given by:
  • the quantization / coding module 10 determines statistically or by measurement of the mean squared error (MSE), an associated quantization level and performs the entropy coding by applying the determined quantization level.
  • MSE mean squared error
  • the module 10 performs quantization and coding by coding the coefficients of a block processed by bit planes.
  • the quantization is performed by applying a quantization matrix per block, and the coding is an entropic coding of the quantized coefficients.
  • a set of binary data or bitstream representative of the quantized coded coefficients 12 as well as a set of indications 14 relating to the quantization / coding parameters are obtained.
  • groups of blocks or picture segments are independently encoded.
  • An information set 14 and a set of binary data 12 are associated with each segment to form a bit stream of compressed data associated with the segment.
  • the set of these bit streams per segment forms a set of compressed digital data F representative of the image I.
  • only one set of information 14 is associated with all the blocks of the image I.
  • the set of compressed digital data F is either stored, for example in the form of a file, or transmitted via a communications network, by a storage / transmission part 3 of the system 1.
  • the set of compressed digital data is received by the third decompression part 4.
  • a decoding and dequantization module 16 receives, for each segment of the image, the compressed digital data F comprising the binary data 12 and the associated information sets 14, and decodes transformed coefficients associated with the blocks B k of the image I.
  • Quantized coefficients C for each of the blocks B k of the image represented by the compressed digital data F are obtained at the output of the module 16.
  • the transformation applied by the transformation module 6 into coefficient blocks is a DWT as explained above, the coefficients of the blocks B k are redistributed by subbands, and an inverse DWT transformation is applied by the application module 18 inverse transformation, depending on the number of decomposition levels.
  • a block inverse DCT is applied by the module 18 for applying an inverse transformation.
  • a reconstructed image I * is obtained, the intensity values of the samples of the image I * being obtained by applying the inverse transformation as explained above.
  • the methods of the invention are implemented by an electronic device, for example a computer-type, workstation-type programmable device whose main functional blocks are illustrated in FIG. 4.
  • a multiprocessor CPU is used to perform parallel computations.
  • the device 20 also comprises information storage means 24, for example registers, capable of storing executable code instructions allowing the implementation of programs comprising code instructions able to implement the methods according to the invention. .
  • the device 20 comprises control means 26 for updating parameters and receiving commands from an operator.
  • the control means 26 comprise a telecommunication device for receiving remote commands and parameter values.
  • control means 26 are means for inputting commands from an operator, for example a keyboard.
  • the programmable device 20 comprises a screen 28 and additional pointing means 30, such as a mouse.
  • the various functional blocks of the device 20 described above are connected via a communication bus 32.
  • the methods of the invention are implemented by electronic devices of the programmable logic circuit type, such as electronic cards based on FPGAs or ASICs.
  • FIG. 5 illustrates an embodiment of a step of determination of quality target by transformed coefficient blocks of a digital image I, implemented by modules of the processor 22 of a device 20 capable of implementing the invention or by an electronic card developed for the implementation of the invention.
  • the determination of a quality target is implemented for each block of transformed coefficients B k resulting from the image I.
  • a block B k is provided at the input of an optional stage 34 for selecting blocks of interest. If a binary MK mask defining blocks of interest and blocks of no interest is provided, step 34 consists in applying the mask MK to determine if the block B k is a block of interest. In the case of a negative response, step 34 is followed by a step 35 of determining at least one coding parameter for block B k .
  • step 35 the block B k is modified into a block B ' k to be coded in which all the AC frequency coefficients are set to zero.
  • the coding rate associated with the non-interest blocks is thus minimized, a minimum information relating to these blocks nevertheless being coded by coding the low-frequency coefficient of the block.
  • a mean squared error MSE k target is associated with the block B k in step 35.
  • step 34 is followed by a step 36 of calculating a first value representative of the frequency coefficients of the block B k .
  • the variance of the frequency coefficients of the block is calculated:
  • VAB k ⁇ 1 (C, -C) 2
  • Calculating the first value takes into account all the coefficients C, of the B block k except the low frequency coefficient C 0,0, C is the mean value of the frequency coefficients of the block B k.
  • the standard deviation of the frequency coefficients of the block B k or another value representative of the statistics of the coefficients, such as a higher order moment, is calculated.
  • a second value V 2 representative of an image acquisition noise model associated with the block B k , is calculated.
  • a parameterized noise pattern is used.
  • the second value V 2 is a function of this noise model and the value of the low frequency coefficient C 0.0 , representative of the average of the intensity of the pixels of the block B k , according to the following formula:
  • V 2 ⁇ B k ) a 2 + - C 0fi
  • the second value V 2 is the variance of the local noise, and the parameters a and ⁇ are provided in the set of input parameters of the process. These parameters a and ⁇ are predetermined constants.
  • the constants a and ⁇ are representative of the acquisition sensor of the image I to be compressed and are determined by calibration of the sensor and stored.
  • the values a and ⁇ are equal to 2.267 and 0.0393, respectively.
  • the noise calculation may take into account different models for each sub-band or transform coefficient. The noise is therefore obtained with the following formula:
  • V 2 (B k ) ⁇ 0.0
  • the quantization and the coding of the processed block are carried out as a function of the first value and the second value V 2 calculated for the block.
  • the first value ⁇ ( ⁇ ) is compared with the second calculated value, weighted by a coefficient K.
  • K is a constant. This coefficient is a parameter provided by the user, and makes it possible to determine a threshold level for separating the blocks containing useful information from the noise blocks.
  • the step 40 is followed by a step 42, similar to the step 35 described above, in which the block B k is modified into a block B ' k to be coded in which all the AC frequency coefficients are set to zero. Indeed, it is useless to allocate an important coding rate to a block which comprises only noise.
  • Step 40 is followed by a step 44 of comparing the first value V ⁇ B k ) with a second predetermined threshold level S E.
  • the signal level of the block B k estimated by the value ⁇ ( ⁇ ⁇ ) is low, slightly higher than a level noise type signal.
  • S E is between 16 and 32.
  • the quality target for these blocks is set to a high level, which is achieved for example by setting to 0, in step 46, the mean square error MSE k for the block B k .
  • the noise model presented above can be used, during the optional step 47, to perform a denoising by thresholding or weighting coefficients for this type of block, to ensure a more efficient coding of the useful information.
  • MSE k 0 must be guaranteed between the denoised block obtained at the output of denoising step 47 and the block after coding.
  • the block B k is considered as a regular block, for which a quality target is set in step 48.
  • a mean square error of MSE target coding k is set for the block B k .
  • the value MSE k is set according to the first value (( ⁇ ) equal to the variance of the frequency coefficients in this embodiment.
  • Target mean MSE target error values as a function of the variance or standard deviation values are tabulated and stored in order to be provided among the P 2 input parameters of the process.
  • these values are stored in tables, as for example the table shown in FIG. 6 linking block frequency coefficient variance values to target target MSE target values.
  • the quality target determination performed for a block B k it is stored in order to be supplied to the quantization and coding module 10, for a coding of the block respecting this quality target.
  • the noise model presented above can also be used, during an optional step 49, to perform a denoising by thresholding or weighting of the coefficients of the block B k , in order to guarantee a more efficient coding of the useful information.
  • the target mean squared error value MSE k associated with the block B k must be guaranteed between the denoised block obtained after the denoising step 49 and the block after coding.
  • the modified block B ' k is directly provided for quantization and coding, without indication of the particular quality target associated.
  • FIGS. 7 to 8 illustrate the implementation of the quality targets and coding parameters determined in a first embodiment, in which the blocks of coefficients are encoded by bit planes. This embodiment is in particular compatible with the CCSDS IDC compression standard.
  • Figure 7 schematically illustrates the principle of bitmap coding.
  • each coefficient C has an associated value represented on a number B of bits in binary representation, arranged in the order between the C bit, 6 "1 of most significant bit and the least significant bit C 0 0 , or LSB for "least significant bit”.
  • bit-depth The maximum number of bit planes needed to represent all the frequency coefficients of a block, that is, the number of bits needed to encode the largest frequency coefficient of a block of coefficients, is called depth or " bit-depth ".
  • the bit plane coding consists of successively coding the representative bit planes of the coefficients of one or more consecutive blocks of an image, starting from the MSB plane, as indicated by the direction of the arrow in FIG. 7. This makes it possible to obtain a binary set of data or a hierarchically nested bit stream, the most important information being at the head of the bit stream.
  • Quantization is performed by stopping the coding at a number of bit planes for a block B k .
  • the coding of the BP 4 and BP 3 bit planes may be sufficient to obtain a target quadratic error value.
  • multi-block segments are encoded independently.
  • the coding indications are encoded in the segment header.
  • the low-frequency coefficient or DC coefficient of each block is coded by predictive coding, separately from the frequency coefficients or AC coefficients of the blocks of the segment.
  • a Rice encoding is applied to the differences between successive quantized DC coefficients of the segment coefficient blocks.
  • the depths BitDepthAC_Block m associated with the coding of the frequency coefficients of the successive blocks B m of coefficients of the segment are coded by entropy coding, for example the coding of Rice.
  • the bit planes of all the successive AC frequency coefficients, starting from the most significant bit plan are coded, by coding steps or "stages" in English, the coding steps allowing a hierarchy of the data encoded by bit plane.
  • a maximum of 4 coding steps for each bit plan is provided by the CCSDS IDC standard.
  • the coding for each block of coefficients of a segment takes into account the quality target or the pre-quantization by setting to 0 the frequency coefficients implemented in the block quality target determination step. of coefficients described above.
  • FIG. 8 illustrates the main steps of a method of quantization and coding of the frequency coefficients taking into account the quality targets determined and stored in blocks, according to a first embodiment of the invention. For each block processed, a quantization level per block processed is determined according to the quality target previously calculated for the block.
  • a first step 50 of initialization of the coding parameters is implemented.
  • the depth B of the block B k to be coded is calculated, an index b of the current bit plane BP b to be coded is set to B-1, and an index s representative of the step of encoding of the bit plane b is set to 0.
  • the current quantization mean square error denoted mse, is also calculated during the quantization step 52.
  • the mean squared error mse of the calculated block is compared with the mean squared error MSE k for the block B k , previously determined and stored.
  • step 54 is followed by a step of storing a coding indication of index b of bit plane to be coded and associated coding step s for the current block B k .
  • the block coding indication is associated with the binary data encoded and transmitted with the compressed data for later use during decoding, as explained above. If the current quantization mean quantization error, with the current encoding parameters, is greater than the target mean squared error, step 54 is followed by a step 58 of comparing the index of the encoding step If the value of the index sa reaches the value 3, then step 58 is followed by a step 60 of updating the parameters.
  • the bit plane index to be coded is decremented by 1 and the subscript s is again set to 0. Otherwise, the subscript s is incremented by 1 during step 62 of incrementing the encoding step.
  • Steps 50 to 62 are applied for each block B k to be coded for each segment. For blocks for which the AC frequency coefficients have all been set to 0, only the low-frequency coefficient is quantized and coded, the quantization level being determined conventionally for the whole segment.
  • a file containing the set of coding indications for the set of blocks of a segment is created for each segment encoded and stored / transmitted with the coded data of the segment, for example in the same manner. That the sequence BitDepthAC_Block m .
  • two simplifications can be introduced in the quantization / coding step intended to limit computational complexity.
  • the calculation of the mean squared error mse is done once per bit plane, for the same step "s" of coding. In this way steps 58 and 62 can be deleted.
  • the values of "b" and "s" are associated with target image quality levels depending on the variance of the block. These values are determined statistically for a given application or sensor.
  • step 50 the "b” and “s” necessary to achieve (statistically) the target image quality for the block can be applied directly from step 50.
  • Steps 52, 54, 58, 60 and 62 then become unnecessary.
  • FIG. 9 illustrates a second embodiment of the invention, compatible with the JPEG compression standard.
  • the digital image to be compressed I is provided as input.
  • a first step 80 for obtaining 8x8 blocks of the digital image I and application of an 8x8 block DCT is implemented. Blocks of transformed coefficients are obtained.
  • a quality target determining step 82, according to the invention, for all the coefficient blocks is applied. Block quality targets are stored.
  • a quantization of the coefficients by applying a quantization matrix TQ (U, V) is applied to the quantization step 86.
  • the quantization matrix Q (u, v) is a stored predetermined matrix
  • is a weighting coefficient applied to all the coefficients of the matrix Q (u, v).
  • all the coefficients of the matrix Q (u, v) are multiplied by ⁇ .
  • 1.
  • a block of quantized coefficients, denoted qB k , is obtained.
  • the mean squared error mse between the quantized coefficient block qB k and the block B k is computed at the quantization error calculation step 88.
  • the squared mean error mse is compared to the mean squared error target in step 90.
  • the value of the current weighting coefficient ⁇ is stored as an encoding indication during a step 92.
  • the weighting coefficient y is decreased during a step 94 of updating the weighting coefficient.
  • is divided by 2.
  • a new value of ⁇ is selected from a set of predetermined values stored.
  • Steps 86 to 94 are implemented for each block, and make it possible to determine a quantization level according to the target of MSE quality k to be respected.
  • the coding indication for each block is stored and indicated in association with the compressed data, for example in the header of a compressed data file.
  • the values of ⁇ or the matrices to be applied can also be determined statistically according to the variance of the block and the target image quality. They can therefore be applied from step 82. Steps 88, 90 and 94 then become unnecessary
  • any size of the treated blocks can be implemented with the method of the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention relates to a method and device for digital image compression, comprising the application (6) of a transformation in order to obtain a representation of the image comprising a set of coefficient blocks, each coefficient block comprising a plurality of coefficients, termed frequency coefficients, followed by the application of quantification and coding (10) of the coefficient blocks, in order to obtain a set of digital data representative of the compressed digital image. The method according to the invention comprises, after obtaining the coefficient blocks, for at least one processed block selected from among the coefficient blocks, calculation (8) of a first value representative of said block processed using the frequency coefficients of said process block, and the obtaining (8) of a second value representative of said process block, calculated as a function of a model of noise associated with said processed block. The quantification and coding (10) of the processed block takes account of said first and second values associated with the processed block.

Description

Procédé et dispositif de compression d'image numérique Method and device for digital image compression
La présente invention concerne un procédé de compression d'image numérique représentée par au moins une matrice bidimensionnelle d'échantillons d'image. Elle concerne également un dispositif de compression associé. The present invention relates to a digital image compression method represented by at least one two-dimensional array of image samples. It also relates to an associated compression device.
L'invention se situe dans le domaine de la compression d'images numériques, et plus particulièrement dans le domaine de la compression d'images avec un objectif de qualité à atteindre.  The invention lies in the field of digital image compression, and more particularly in the field of image compression with a quality objective to achieve.
Les images numériques obtenues par divers capteurs sont en général représentées par des matrices d'échantillons d'image ou pixels, chaque échantillon d'image ayant une intensité de dynamique donnée.  Digital images obtained by various sensors are generally represented by arrays of image samples or pixels, each image sample having a given dynamic intensity.
De nos jours, les images numériques ont de très grandes tailles, qu'il s'agisse des images dans le domaine de la photographie utilisant des appareils de haute qualité, et dans le domaine de la prise d'images par télédétection, ou dans le domaine de l'imagerie médicale.  Nowadays, digital images have very large sizes, whether they are images in the field of photography using high quality devices, and in the field of remote sensing imaging, or in the field of medical imaging.
Afin de stocker et transmettre de telles images, il est connu d'appliquer une compression d'images numériques.  In order to store and transmit such images, it is known to apply digital image compression.
Diverses techniques de compression existent.  Various compression techniques exist.
D'une manière générale, les méthodes de compression comprennent l'application de trois traitements à une image numérique source, qui sont les suivants : décorrélation, quantification, codage. Dans plusieurs standards de compression d'image numérique, la décorrélation est obtenue par application d'une transformation, appliquée aux pixels pour obtenir des coefficients transformés.  In general, the compression methods include the application of three treatments to a source digital image, which are: decorrelation, quantization, coding. In several digital image compression standards, the decorrelation is obtained by applying a transformation, applied to the pixels to obtain transformed coefficients.
La norme de codage JPEG (« Joint Photographie Expert Group ») utilise une transformation en cosinus discrète (DCT) appliquée sur des blocs d'image de taille 8x8, suivie d'une quantification par blocs et d'un codage entropique. La quantification consiste à appliquer une matrice de quantification aux coefficients d'un bloc, et il est possible de définir un niveau de qualité de compression, un facteur multiplicatif étant alors appliqué à la quantification de tous les blocs de l'image numérique source. Cependant, un tel niveau de qualité résulte en une compression plus ou moins forte selon les blocs de l'image numérique source, et ne permet pas de contrôler finement la qualité de l'image à coder.  The JPEG ("Joint Photography Expert Group") coding standard uses a discrete cosine transform (DCT) applied to 8x8-sized image blocks, followed by block quantization and entropy coding. Quantization consists in applying a quantization matrix to the coefficients of a block, and it is possible to define a quality level of compression, a multiplicative factor then being applied to the quantization of all the blocks of the source digital image. However, such a level of quality results in a more or less strong compression according to the blocks of the source digital image, and does not allow to finely control the quality of the image to be encoded.
La norme de codage JPEG2000 a été mise au point après JPEG. Elle utilise une transformation en ondelettes discrètes (DWT) de l'image numérique source. La quantification et le codage sont effectués en une seule étape, grâce à un codage par couches de qualité, obtenues par un codage par plans de bits des coefficients transformés. Afin de limiter la quantité de données d'information relatives aux paramètres de codage, la norme JPEG2000 utilise des unités de codage qui sont appelées « code- blocs », typiquement de taille au moins égale à 32x32 pixels. Ainsi, JPEG2000 ne permet pas un contrôle fin de la qualité de codage. The JPEG2000 encoding standard was developed after JPEG. It uses a discrete wavelet transform (DWT) of the source digital image. Quantization and coding are performed in a single step, thanks to quality layer coding, obtained by bitmap coding of the transformed coefficients. In order to limit the amount of information data relating to coding parameters, the JPEG2000 standard uses coding units which are called blocks ", typically of size at least equal to 32x32 pixels. Thus, JPEG2000 does not allow a fine control of the coding quality.
Dans le domaine du traitement des images obtenues par satellite, la norme de codage IDC (« Image Data Compression ») définie par le CCSDS (« Consultative Committee for Space Data Systems ») utilise également une transformation en ondelettes discrète, suivie d'un regroupement spatial des coefficients transformés obtenus en blocs de taille prédéterminée, typiquement de taille 8x8, et un codage par segments regroupant un nombre prédéterminé de blocs consécutifs. Chaque bloc de coefficients transformés comprend un coefficient dit basse fréquence, représentatif de la moyenne de l'intensité des pixels du bloc, et une pluralité de coefficients dit fréquentiels, correspondant à trois niveaux de décomposition en ondelettes pour un bloc de taille 8x8. Les segments sont codés indépendamment les uns des autres, les paramètres nécessaires pour la compression étant encodés en en-tête de chaque segment.  In the field of image processing obtained by satellite, the Image Data Compression (IDC) coding standard defined by the Consultative Committee for Space Data Systems (CCSDS) also uses a discrete wavelet transformation, followed by a grouping. spatial transformed coefficients obtained in blocks of predetermined size, typically 8x8 size, and a segment coding grouping a predetermined number of consecutive blocks. Each block of transformed coefficients comprises a so-called low frequency coefficient, representative of the average of the intensity of the pixels of the block, and a plurality of so-called frequency coefficients, corresponding to three levels of wavelet decomposition for a block of size 8 × 8. The segments are encoded independently of each other, the parameters necessary for the compression being encoded in the header of each segment.
Les coefficients fréquentiels des blocs d'un segment sont codés par plans de bits. Comme dans le cas de JPEG2000, l'ensemble des données binaires de codage associées à un segment, appelé également train binaire associé au segment, est organisé hiérarchiquement et peut être tronqué en tout point, pour obtenir un volume de données plus faible mais à qualité dégradée.  The frequency coefficients of the blocks of a segment are coded by bit planes. As in the case of JPEG2000, the set of binary coding data associated with a segment, also referred to as the bit stream associated with the segment, is organized hierarchically and can be truncated at any point, to obtain a smaller but quality data volume. degraded.
La norme de codage CCSDS IDC propose deux modes, permettant un contrôle de la qualité et/ou du volume de données pour chaque segment. La qualité est contrôlée notamment par le nombre de plans de bits codés pour le segment. De ce fait, la qualité effective de l'image reconstruite dépend des caractéristiques de l'image numérique source. De ce fait, en pratique, il est particulièrement difficile de trouver des paramètres permettant d'assurer une qualité souhaitée pour un ensemble d'images. En effet, à paramètres constants, on peut obtenir de fortes différences en termes de rapport signal à bruit entre deux images numériques sources différentes.  The CCSDS IDC coding standard provides two modes, allowing quality and / or data volume control for each segment. The quality is controlled in particular by the number of coded bit plans for the segment. As a result, the actual quality of the reconstructed image depends on the characteristics of the source digital image. Therefore, in practice, it is particularly difficult to find parameters to ensure a desired quality for a set of images. Indeed, with constant parameters, one can obtain strong differences in terms of signal-to-noise ratio between two different digital source images.
Il existe donc un besoin d'améliorer les méthodes de compression existantes en permettant un pilotage fin du niveau de qualité local, tout en garantissant un débit minimum pour un niveau de qualité local cible donné.  There is therefore a need to improve the existing compression methods by allowing fine control of the local quality level, while guaranteeing a minimum flow rate for a given target local quality level.
A cet effet, l'invention propose, selon un premier aspect, un procédé de compression d'image numérique représentée par au moins une matrice bidimensionnelle d'échantillons d'image, chaque échantillon ayant une valeur d'intensité associée, comportant des étapes de :  For this purpose, the invention proposes, according to a first aspect, a digital image compression method represented by at least a two-dimensional matrix of image samples, each sample having an associated intensity value, comprising steps of :
- application d'une transformation afin d'obtenir une représentation de l'image comportant un ensemble de blocs de coefficients, chaque bloc de coefficients comportant un coefficient dit coefficient basse fréquence correspondant à une valeur moyenne de l'intensité des échantillons d'image dudit bloc et une pluralité de coefficients dits coefficients fréquentiels ; applying a transformation to obtain a representation of the image comprising a set of coefficients blocks, each coefficient block comprising a coefficient called low frequency coefficient corresponding to an average value of the intensity of the image samples of said block and a plurality of coefficients called frequency coefficients;
- quantification et codage des blocs de coefficients, afin d'obtenir un ensemble de données numériques représentatives de l'image numérique compressée.  quantization and coding of the coefficient blocks, in order to obtain a set of digital data representative of the compressed digital image.
Ce procédé de compression comprend, après l'obtention de blocs de coefficients, les étapes de :  This compression method comprises, after obtaining blocks of coefficients, the steps of:
-pour au moins un bloc traité sélectionné parmi les blocs de coefficients :  for at least one treated block selected from the blocks of coefficients:
• calcul d'une première valeur représentative dudit bloc traité à partir des coefficients fréquentiels dudit bloc traité,  Calculating a first representative value of said processed block from the frequency coefficients of said processed block,
· obtention d'une deuxième valeur représentative dudit bloc traité calculée en fonction d'un modèle de bruit d'acquisition d'image associé audit bloc traité,  Obtaining a second value representative of said processed block calculated according to an image acquisition noise model associated with said processed block,
• détermination d'une cible de qualité en fonction desdites première et deuxième valeurs associées audit bloc traité,  Determining a quality target according to said first and second values associated with said processed block,
· quantification et codage dudit bloc traité en fonction de ladite cible de qualité déterminée.  Quantifying and encoding said processed block according to said determined quality target.
Avantageusement, le procédé de compression de l'invention permet d'appliquer un codage différencié pour des blocs traités en fonction d'une première valeur calculée à partir des coefficients fréquentiels d'un bloc traité et d'une deuxième valeur représentative d'un modèle de bruit associé au bloc traité.  Advantageously, the compression method of the invention makes it possible to apply a differentiated coding for treated blocks as a function of a first value calculated from the frequency coefficients of a processed block and a second value representative of a model. noise associated with the processed block.
Avantageusement, un pilotage fin de la qualité est obtenu, grâce à la sélection d'une cible de qualité par bloc.  Advantageously, a fine control of the quality is obtained, thanks to the selection of a quality target per block.
Le procédé de compression selon l'invention peut présenter une ou plusieurs des caractéristiques ci-dessous, prises isolément ou en combinaison, suivant toutes les combinaisons techniquement possibles.  The compression method according to the invention may have one or more of the features below, taken alone or in combination, in any technically possible combination.
Selon une caractéristique, pour un bloc traité, ladite cible de qualité est une valeur représentative de l'erreur quadratique moyenne entre les coefficients du bloc traité avant quantification et les coefficients du bloc traité après quantification.  According to one characteristic, for a processed block, said quality target is a value representative of the mean squared error between the coefficients of the block processed before quantization and the coefficients of the block processed after quantization.
Le procédé comporte en outre, pour chaque bloc traité, une étape de détermination d'un niveau de quantification permettant de respecter la cible de qualité.  The method further comprises, for each block processed, a step of determining a quantization level to meet the quality target.
Selon un mode de réalisation, le procédé comprend, pour chaque bloc traité, une comparaison de ladite première valeur à un premier niveau seuil calculé à partie de ladite deuxième valeur, et lorsque ladite première valeur est inférieure audit premier niveau seuil, une étape de mise à zéro des coefficients fréquentiels dudit bloc traité.  According to one embodiment, the method comprises, for each block treated, a comparison of said first value with a first threshold level calculated from said second value, and when said first value is lower than said first threshold level, a step of setting zero of the frequency coefficients of said processed block.
Lorsque ladite première valeur est supérieure audit premier niveau seuil et inférieure à un deuxième niveau seuil, ledit bloc traité est considéré comme étant un bloc d'exception pour lequel ladite cible de qualité est sélectionnée pour minimiser l'erreur quadratique moyenne entre les coefficients du bloc traité avant quantification et les coefficients du bloc traité après quantification. When said first value is greater than said first threshold level and less than a second threshold level, said processed block is considered to be a block exception for which said quality target is selected to minimize the mean squared error between the coefficients of the processed block before quantization and the coefficients of the processed block after quantization.
Selon une caractéristique, la première valeur représentative d'un bloc traité est représentative de la variance des coefficients fréquentiels du bloc traité, et la deuxième valeur représentative d'un bloc traité est fonction d'une variance d'un modèle de bruit fonction de la valeur du coefficient basse fréquence du bloc traité.  According to one characteristic, the first value representative of a processed block is representative of the variance of the frequency coefficients of the processed block, and the second value representative of a processed block is a function of a variance of a noise model depending on the value of the low frequency coefficient of the treated block.
Les blocs traités sont sélectionnés par application d'un masque binaire.  The processed blocks are selected by applying a bit mask.
Le procédé comporte, pour chaque bloc non sélectionné comme bloc traité par application dudit masque, une étape de mise à zéro des coefficients fréquentiels dudit bloc.  The method comprises, for each block not selected as a block processed by applying said mask, a step of setting the frequency coefficients of said block to zero.
Le procédé comporte une étape de codage d'une indication relative à un niveau de quantification à appliquer pour chaque bloc traité, une dite indication de codage étant associée à l'ensemble de données numériques représentatives de l'image numérique compressée.  The method comprises a step of encoding an indication relating to a quantization level to be applied for each block processed, a said coding indication being associated with the set of digital data representative of the compressed digital image.
Selon une variante, l'étape de quantification et de codage est mise en œuvre par un codage par plans de bits représentatifs des coefficients, et ladite indication est une indication relative au nombre de plans de bits à coder.  According to a variant, the quantization and coding step is implemented by a coding by bit planes representative of the coefficients, and said indication is an indication relating to the number of bit planes to be coded.
Selon une variante, l'étape de quantification est mise en œuvre par application d'une matrice de quantification par bloc, et ladite indication est une indication relative à un coefficient de pondération à appliquer à une matrice de quantification prédéterminée.  According to one variant, the quantization step is implemented by applying a block quantization matrix, and said indication is an indication relating to a weighting coefficient to be applied to a predetermined quantization matrix.
Les blocs de coefficients sont obtenus par application d'une transformation en ondelettes discrète et regroupement spatial des coefficients de transformation obtenus.  The coefficient blocks are obtained by applying a discrete wavelet transformation and spatial grouping of the transformation coefficients obtained.
Les blocs de coefficients sont obtenus par application d'une transformation en cosinus discrète appliquée sur des blocs de taille prédéterminée.  The coefficient blocks are obtained by applying a discrete cosine transform applied on blocks of predetermined size.
Selon un deuxième aspect, l'invention concerne un dispositif de compression d'image numérique représentée par au moins une matrice bidimensionnelle d'échantillons d'image, chaque échantillon ayant une valeur d'intensité associée, comportant des modules aptes à réaliser :  According to a second aspect, the invention relates to a digital image compression device represented by at least a two-dimensional array of image samples, each sample having an associated intensity value, comprising modules capable of producing:
-une application d'une transformation afin d'obtenir une représentation de l'image comportant un ensemble de blocs de coefficients, chaque bloc de coefficients comportant un coefficient dit coefficient basse fréquence correspondant à une valeur moyenne de l'intensité des échantillons d'image dudit bloc et une pluralité de coefficients dits coefficients fréquentiels ;  an application of a transformation in order to obtain a representation of the image comprising a set of coefficients blocks, each coefficient block comprising a coefficient called a low frequency coefficient corresponding to an average value of the intensity of the image samples said block and a plurality of coefficients called frequency coefficients;
- une quantification et un codage des blocs de coefficients, afin d'obtenir un ensemble de données numériques représentatives de l'image numérique compressée. Ce dispositif comprend, des modules, aptes à réaliser, après l'obtention de blocs de coefficients, pour au moins un bloc traité sélectionné parmi les blocs de coefficients : a quantization and a coding of the blocks of coefficients, in order to obtain a set of digital data representative of the compressed digital image. This device comprises, modules, able to achieve, after obtaining blocks of coefficients, for at least one treated block selected from the blocks of coefficients:
• un calcul d'une première valeur représentative dudit bloc traité à partir des coefficients fréquentiels dudit bloc traité,  A calculation of a first representative value of said processed block from the frequency coefficients of said processed block,
· une obtention d'une deuxième valeur représentative dudit bloc traité calculée en fonction d'un modèle de bruit associé audit bloc traité, Obtaining a second value representative of said processed block calculated according to a noise model associated with said processed block,
• une détermination d'une cible de qualité en fonction desdites première et deuxième valeurs associées audit bloc traité, A determination of a quality target according to said first and second values associated with said processed block,
• une quantification et un codage dudit bloc traité en fonction de ladite cible de qualité déterminée.  A quantization and a coding of said processed block according to said target of determined quality.
Le dispositif de compression comprend des modules aptes à mettre en œuvre les étapes du procédé de compression d'images numériques brièvement décrit ci-dessus.  The compression device comprises modules able to implement the steps of the digital image compression method briefly described above.
Ce dispositif de compression apporte des avantages analogues aux avantages du procédé de compression brièvement décrit ci-dessus.  This compression device provides similar advantages to the advantages of the compression method briefly described above.
D'autres caractéristiques et avantages de l'invention ressortiront de la description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux figures annexées, parmi lesquelles :  Other features and advantages of the invention will emerge from the description given below, by way of indication and in no way limiting, with reference to the appended figures, among which:
-la figure 1 est un synoptique d'un système de compression d'images mettant en œuvre un procédé de compression selon l'invention ;  FIG 1 is a block diagram of an image compression system implementing a compression method according to the invention;
- la figure 2 représente schématiquement un ensemble de sous-bandes obtenues par application d'une transformation en ondelettes discrète à une image numérique ;  FIG. 2 diagrammatically represents a set of sub-bands obtained by applying a discrete wavelet transformation to a digital image;
- la figure 3 représente schématiquement un bloc de coefficients transformés obtenus par une transformation en ondelettes ;  FIG. 3 schematically represents a block of transformed coefficients obtained by a wavelet transformation;
-la figure 4 est un schéma représentant les blocs fonctionnels d'un dispositif programmable apte à mettre en œuvre l'invention ;  FIG. 4 is a diagram representing the functional blocks of a programmable device capable of implementing the invention;
- la figure 5 est un synoptique d'une étape de détermination d'une cible de qualité par bloc selon un mode de réalisation de l'invention ;  FIG. 5 is a block diagram of a step of determining a block quality target according to one embodiment of the invention;
- la figure 6 est un tableau illustrant l'association de cibles de qualité et une valeur représentative des coefficients fréquentiels de blocs à coder ;  FIG. 6 is a table illustrating the association of quality targets and a value representative of the block frequency coefficients to be encoded;
- la figure 7 illustre schématiquement un ensemble de plans de bits d'un bloc ; FIG. 7 schematically illustrates a set of bit planes of a block;
- la figure 8 est un synoptique d'une étape de quantification et codage utilisant une cible de qualité selon un premier mode de réalisation de l'invention ; FIG. 8 is a block diagram of a quantification and coding step using a quality target according to a first embodiment of the invention;
- la figure 9 est un synoptique d'un procédé de compression mettant en œuvre la détermination d'une cible de qualité selon un deuxième mode de réalisation de l'invention. La figure 1 illustre un système 1 de compression/décompression d'images. Le système est composé d'une première partie 2 effectuant la compression d'images numériques, d'une deuxième partie de stockage/transmission 3 et d'une troisième partie de décompression 4. FIG. 9 is a block diagram of a compression method implementing the determination of a quality target according to a second embodiment of the invention. Figure 1 illustrates a system 1 of compression / decompression of images. The system is composed of a first part 2 performing digital image compression, a second storage / transmission part 3 and a third decompression part 4.
Les parties 2 et 4 sont respectivement mises en œuvre par des dispositifs tels que brièvement décrits ci-après en référence à la figure 4, comportant une ou plusieurs unités de traitement, par exemple des processeurs, et aptes à effectuer des calculs.  Parts 2 and 4 are respectively implemented by devices as briefly described below with reference to Figure 4, comprising one or more processing units, for example processors, and able to perform calculations.
La deuxième partie de stockage et transmission 3 est réalisée par un stockage de données dans une mémoire d'un appareil programmable ou d'un dispositif électronique et/ou par un réseau de communications apte à effectuer une transmission de données numériques.  The second storage and transmission part 3 is performed by storing data in a memory of a programmable device or an electronic device and / or by a communications network capable of transmitting digital data.
En variante, les procédés de l'invention sont mis en œuvre par des dispositifs électroniques de type circuits logiques programmables, tels des cartes électroniques à base de FPGA ou ASIC.  In a variant, the methods of the invention are implemented by electronic devices of the programmable logic circuit type, such as electronic cards based on FPGAs or ASICs.
Une image numérique à compresser I est présentée en entrée de la première partie 2 de compression. L'image numérique I est composée d'une ou plusieurs matrices d'échantillons d'image ou pixels, chaque échantillon d'image ayant une valeur d'intensité associée.  A digital image to compress I is presented at the input of the first compression part 2. The digital image I is composed of one or more arrays of image samples or pixels, each image sample having an associated intensity value.
Par la suite on considère pour simplifier l'explication qu'une image numérique à compresser est composée d'une matrice de dimensions MxN de pixels, chaque pixel ayant une intensité initialement codée sur P bits. Par exemple, P=8.  Subsequently, it is considered to simplify the explanation that a digital image to be compressed is composed of a matrix of dimensions M × N of pixels, each pixel having an intensity initially coded on P bits. For example, P = 8.
L'image numérique I est fournie à un premier module 6 de transformation de l'image numérique à compresser en blocs de coefficients transformés, de taille prédéterminée. Les blocs de coefficients sont agencés spatialement.  The digital image I is supplied to a first module 6 for transforming the digital image to be compressed into blocks of transformed coefficients of predetermined size. The coefficient blocks are arranged spatially.
Selon un mode de réalisation, une transformation en ondelettes discrète (DWT) est appliquée sur l'ensemble de la matrice d'image, sur 3 niveaux de décomposition, comme illustré schématiquement à la figure 2.  According to one embodiment, a discrete wavelet transformation (DWT) is applied over the entire image matrix, on 3 levels of decomposition, as schematically illustrated in FIG. 2.
De manière connue, l'application d'une DWT s'effectue d'abord sur la matrice d'image complète, permettant d'obtenir quatre sous-bandes, chaque sous-bande comportant des coefficients transformés correspondant à l'application d'un filtrage passe- bas L et d'un filtrage passe-haut H, d'abord selon une première direction de la matrice, puis selon une deuxième direction, perpendiculaire à la première direction.  In a known manner, the application of a DWT is first carried out on the complete image matrix, making it possible to obtain four sub-bands, each subband including transformed coefficients corresponding to the application of a low-pass filtering L and a high-pass filtering H, firstly in a first direction of the matrix, then in a second direction, perpendicular to the first direction.
L'application d'un premier niveau de décomposition à la matrice I permet d'obtenir les sous-bandes de coefficients LL1 ; LH1 ; HLi et HHi . La sous-bande comprend une version passe-bas de l'image initiale I à un niveau de résolution inférieur au niveau de résolution de l'image initiale I. Si l'image initiale est composée de M lignes et N colonnes, chaque sous-bande LL1 ; LH1 ; HL1 ; HHi de premier niveau de décomposition comporte M/2 lignes et N/2 colonnes. The application of a first level of decomposition to the matrix I makes it possible to obtain the sub-bands of coefficients LL 1; LH 1; HLi and HHi. The subband comprises a low-pass version of the initial image I at a lower resolution level than the resolution level of the initial image I. If the initial image is composed of M rows and N columns, each LL 1 sub-band ; LH 1; HL 1; HHi's first level of decomposition has M / 2 rows and N / 2 columns.
L'application des filtres respectifs L et H est itérée sur la sous-bande LL1 ; permettant d'obtenir les sous-bandes LL2, LH2, HL2 et HH2, de deuxième niveau de décomposition et de taille M/4 lignes et N/4 colonnes. The application of the respective filters L and H is iterated on the sub-band LL 1; to obtain the sub-bands LL 2 , LH 2 , HL 2 and HH 2 , second decomposition level and size M / 4 rows and N / 4 columns.
La sous-bande LL2 est à nouveau traitée par filtrage pour obtenir les sous-bandes de troisième niveau de décomposition LL3, LH3, HL3 et HH3. The LL 2 sub-band is filtered again to obtain the third decomposition sub-bands LL 3 , LH 3 , HL 3 and HH 3 .
Ainsi, après application d'une transformation en ondelettes sur trois niveaux de décomposition, comme illustré à la figure 2, l'image numérique est représentée par un ensemble de sous-bandes de coefficients transformés. A un niveau de décomposition p, la taille des sous-bandes est de M 12P x N 12P . Thus, after applying a wavelet transformation on three decomposition levels, as illustrated in FIG. 2, the digital image is represented by a set of transformed coefficient subbands. At a decomposition level p, the size of the subbands is M 12 P x N 12 P.
Les coefficients transformés des sous-bandes sont regroupés en blocs de coefficients localisées spatialement de taille 2P x 2p pour p niveaux de décomposition, donc des blocs de taille 8x8 pour une décomposition à 3 niveaux de décomposition. The transformed coefficients of the subbands are grouped in blocks of spatially located coefficients of size 2 P x 2 p for p decomposition levels, thus blocks of size 8x8 for a decomposition with 3 levels of decomposition.
Ainsi, comme illustré aux figures 2 et 3, un bloc Bk de coefficients transformés est obtenu par regroupement spatial de coefficients de la transformation DWT correspondant à une même position spatiale de l'image initiale I. Thus, as illustrated in FIGS. 2 and 3, a block B k of transformed coefficients is obtained by spatially grouping coefficients of the DWT transformation corresponding to the same spatial position of the initial image I.
Chaque bloc de coefficients Bk comprend un coefficient basse fréquence DC, issue de la sous-bande LL3 dans l'exemple, et plusieurs coefficients fréquentiels AC issus des sous-bandes LH3, HL3, HH3, LH2, HL2, HH2, LH^ HL^ HHi comme illustré. Each block of coefficients B k comprises a low-frequency coefficient DC, coming from the sub-band LL 3 in the example, and several AC frequency coefficients derived from the sub-bands LH 3 , HL 3 , HH 3 , LH 2 , HL 2 , HH 2 , LH ^ HL ^ HHi as illustrated.
En variante, selon un mode de réalisation alternatif, l'image I est divisée en blocs de pixels de taille 8x8 et une transformation en cosinus discrète (DCT) est appliquée sur chaque bloc de pixels, permettant d'obtenir des blocs de taille 8x8 localisés spatialement de coefficients transformés.  Alternatively, according to an alternative embodiment, the image I is divided into blocks of pixels of size 8 × 8 and a discrete cosine transformation (DCT) is applied to each block of pixels, making it possible to obtain blocks of 8 × 8 localized size. spatially transformed coefficients.
De manière générale, toute transformation de décorrélation, permettant d'obtenir des blocs de coefficients de taille mxn est applicable.  In general, any decorrelation transformation, making it possible to obtain blocks of coefficients of size mxn, is applicable.
De retour à la figure 1 , suite à la transformation, une représentation de l'image par blocs Bk de coefficients transformés C-ti incluant un coefficient basse fréquence C0,0, également appelé coefficient DC, et des coefficients fréquentiels C-ti est obtenue. Returning to FIG. 1, following the transformation, a representation of the block image B k of transformed coefficients C t i including a low frequency coefficient C 0.0 , also called DC coefficient, and frequency coefficients C t i is obtained.
Les blocs de coefficients sont ensuite traités par un module 8 de détermination de cible de qualité par bloc de l'image.  The coefficient blocks are then processed by a block quality determination module 8 per block of the image.
Ce module 8 de détermination de cible de qualité par bloc est spécifique à l'invention. Il prend en entrée des paramètres Pi relatifs à un modèle de bruit associé à l'image traitée et des paramètres P2 relatifs à la cible de qualité. This block quality target determination module 8 is specific to the invention. It takes as input Pi parameters relating to a noise model associated with the processed image and P 2 parameters relating to the quality target.
Optionnellement, un ou plusieurs masques binaires MK permettant de distinguer entre blocs d'intérêt et blocs de non-intérêt est également fourni. Par exemple, si l'image numérique I à compresser est une image de télédétection, acquise par un capteur embarqué à bord d'un satellite, un masque distinguant des blocs appartenant à des zones de nuages est fourni, les blocs de nuages étant des blocs sans intérêt pour la mission assignée au satellite car sans contenu d'information. Optionally, one or more MK bit masks to distinguish between blocks of interest and non-interest blocks is also provided. For example, if the image digital I to compress is a remote sensing image, acquired by a sensor on board a satellite, a mask distinguishing blocks belonging to cloud areas is provided, the cloud blocks being blocks of no interest to the mission assigned to the satellite because without information content.
D'une manière plus générale, pour une application cible donnée, dans un contexte d'utilisation donné, il est possible de fournir de tels masques MK permettant de définir l'intérêt de chaque bloc de manière à pouvoir adapter la qualité image cible associée.  In a more general manner, for a given target application, in a given use context, it is possible to provide such MK masks for defining the interest of each block so as to be able to adapt the associated target image quality.
Par la suite, seuls les blocs d'intérêt sont traités pour établir une cible de qualité associée.  Subsequently, only the blocks of interest are processed to establish an associated quality target.
Les blocs de non-intérêt sont simplement codés par leur coefficient basse fréquence.  The non-interest blocks are simply coded by their low frequency coefficient.
La détermination d'une cible de qualité par bloc d'intérêt, appelé également bloc traité, sera détaillée ci-après en référence à la figure 5.  The determination of a quality target per block of interest, also called treated block, will be detailed hereinafter with reference to FIG.
Dans un mode de réalisation de l'invention, le module 8 de détermination d'une cible de qualité par bloc traité fournit, pour chaque bloc traité Bk, une valeur cible d'erreur quadratique moyenne MSEk (Mean Square Error) de codage pour le bloc Bk. In one embodiment of the invention, the module 8 for determining a quality target per processed block provides, for each processed block B k , a mean squared error target value MSE k (Mean Square Error) of coding. for block B k .
Chaque coefficient Qj du bloc Bk est codé par un coefficient quantifié d *. Each coefficient Q j of the block B k is coded by a quantized coefficient d * .
L'erreur quadratique moyenne de codage est donnée par :  The mean squared error of coding is given by:
MSEk =— ∑(C,, - C*,)2 (Eq l) MSE k = - Σ (C ,, - C * ,) 2 (Eq l)
(U)≠(0,0)  (U) ≠ (0,0)
pour un bloc Bk de taille mxn. for a block B k of size mxn.
Ces valeurs MSEk ainsi que les blocs de coefficients transformés sont fournis en entrée d'un module 10 de quantification/codage. These MSE values k as well as the transformed coefficient blocks are provided at the input of a quantization / coding module.
Pour chaque bloc traité Bk, le module 10 de quantification/codage détermine statistiquement ou par mesure de l'erreur quadratique moyenne (MSE), un niveau de quantification associé et réalise le codage entropique en appliquant le niveau de quantification déterminé. For each processed block B k , the quantization / coding module 10 determines statistically or by measurement of the mean squared error (MSE), an associated quantization level and performs the entropy coding by applying the determined quantization level.
Selon un premier mode de réalisation, le module 10 réalise la quantification et le codage par un codage des coefficients d'un bloc traité par plans de bits.  According to a first embodiment, the module 10 performs quantization and coding by coding the coefficients of a block processed by bit planes.
Selon un deuxième mode de réalisation, la quantification est réalisée par application d'une matrice de quantification par bloc, et le codage est un codage entropique des coefficients quantifiés.  According to a second embodiment, the quantization is performed by applying a quantization matrix per block, and the coding is an entropic coding of the quantized coefficients.
En sortie du module 10, un ensemble de données binaires ou train binaire représentatif des coefficients quantifiés codés 12 ainsi qu'un ensemble d'indications 14 relatives aux paramètres de quantification/codage sont obtenus. Dans un mode de réalisation, des groupes de blocs ou segments d'images sont codés indépendamment. Un ensemble d'informations 14 et un ensemble de données binaires 12 sont associés à chaque segment pour former un train binaire de données compressées associées au segment. L'ensemble de ces trains binaires par segment forme un ensemble de données numériques compressées F représentatives de l'image I. At the output of the module 10, a set of binary data or bitstream representative of the quantized coded coefficients 12 as well as a set of indications 14 relating to the quantization / coding parameters are obtained. In one embodiment, groups of blocks or picture segments are independently encoded. An information set 14 and a set of binary data 12 are associated with each segment to form a bit stream of compressed data associated with the segment. The set of these bit streams per segment forms a set of compressed digital data F representative of the image I.
En variante, un seul ensemble d'information 14 est associé à l'ensemble des blocs de l'image I.  As a variant, only one set of information 14 is associated with all the blocks of the image I.
L'ensemble de données numériques compressées F est soit stocké, par exemple sous forme d'un fichier, soit transmis par l'intermédiaire d'un réseau de communications, par une partie de stockage/transmission 3 du système 1 .  The set of compressed digital data F is either stored, for example in the form of a file, or transmitted via a communications network, by a storage / transmission part 3 of the system 1.
L'ensemble de données numériques compressées est reçu par la troisième partie de décompression 4.  The set of compressed digital data is received by the third decompression part 4.
Un module de décodage et déquantification 16 reçoit, pour chaque segment de l'image, les données numériques compressées F comportant les données binaires 12 et les ensembles d'information 14 associées, et décode des coefficients transformés associés aux blocs Bk de l'image I. A decoding and dequantization module 16 receives, for each segment of the image, the compressed digital data F comprising the binary data 12 and the associated information sets 14, and decodes transformed coefficients associated with the blocks B k of the image I.
Des coefficients quantifiés C, pour chacun des blocs Bk de l'image représentée par les données numériques compressées F sont obtenus en sortie du module 16. Quantized coefficients C for each of the blocks B k of the image represented by the compressed digital data F are obtained at the output of the module 16.
Ensuite une transformation inverse par blocs de coefficients est appliquée par le module 18.  Then an inverse transformation by block of coefficients is applied by the module 18.
Si la transformation appliquée par le module de transformation 6 en blocs de coefficients est une DWT comme expliqué ci-dessus, les coefficients des blocs Bk sont redistribués par sous-bandes, et une transformation DWT inverse est appliquée par le module 18 d'application d'une transformation inverse, en fonction du nombre de niveaux de décomposition. If the transformation applied by the transformation module 6 into coefficient blocks is a DWT as explained above, the coefficients of the blocks B k are redistributed by subbands, and an inverse DWT transformation is applied by the application module 18 inverse transformation, depending on the number of decomposition levels.
Si la transformation appliquée par le module de transformation 6 est une DCT par blocs, une DCT inverse par blocs est appliquée par le module 18 d'application d'une transformation inverse.  If the transformation applied by the transformation module 6 is a block DCT, a block inverse DCT is applied by the module 18 for applying an inverse transformation.
En sortie du module 18, une image reconstruite I* est obtenue, les valeurs d'intensité des échantillons de l'image I* étant obtenues par application de la transformation inverse comme expliqué ci-dessus. At the output of the module 18, a reconstructed image I * is obtained, the intensity values of the samples of the image I * being obtained by applying the inverse transformation as explained above.
Les procédés de l'invention sont mis en œuvre par un dispositif électronique, par exemple un dispositif programmable de type ordinateur, station de travail, dont les principaux blocs fonctionnels sont illustrés à la figure 4.  The methods of the invention are implemented by an electronic device, for example a computer-type, workstation-type programmable device whose main functional blocks are illustrated in FIG. 4.
Un dispositif électronique 20 apte à mettre en œuvre les procédés de l'invention comprend une unité centrale de traitement 22, par exemple un CPU, apte à exécuter des opérations préprogrammées ou des instructions de programme informatique lorsque le dispositif 20 est mis sous tension. Dans un mode de réalisation, une unité centrale de traitement multi-processeurs est utilisée, permettant d'effectuer des calculs parallèles. Le dispositif 20 comporte également des moyens de stockage d'informations 24, par exemple des registres, aptes à stocker des instructions de code exécutable permettant la mise en œuvre de programmes comportant des instructions de code aptes à mettre en œuvre les procédés selon l'invention. An electronic device 20 capable of implementing the methods of the invention comprises a central processing unit 22, for example a CPU, capable of executing preprogrammed operations or computer program instructions when the device 20 is powered on. In one embodiment, a multiprocessor CPU is used to perform parallel computations. The device 20 also comprises information storage means 24, for example registers, capable of storing executable code instructions allowing the implementation of programs comprising code instructions able to implement the methods according to the invention. .
Le dispositif 20 comporte des moyens de commande 26 permettant de mettre à jour des paramètres et de recevoir des commandes d'un opérateur. Lorsque le dispositif programmable 20 est un dispositif embarqué, les moyens de commande 26 comprennent un dispositif de télécommunication permettant de recevoir des commandes et des valeurs de paramètres à distance.  The device 20 comprises control means 26 for updating parameters and receiving commands from an operator. When the programmable device 20 is an onboard device, the control means 26 comprise a telecommunication device for receiving remote commands and parameter values.
Alternativement et de manière optionnelle, les moyens de commande 26 sont des moyens de saisie de commandes d'un opérateur, par exemple un clavier.  Alternatively and optionally, the control means 26 are means for inputting commands from an operator, for example a keyboard.
De manière optionnelle, le dispositif programmable 20 comprend un écran 28 et un moyen supplémentaire de pointage 30, tel une souris.  Optionally, the programmable device 20 comprises a screen 28 and additional pointing means 30, such as a mouse.
Les divers blocs fonctionnels du dispositif 20 décrits ci-dessus sont connectés via un bus de communication 32.  The various functional blocks of the device 20 described above are connected via a communication bus 32.
En variante, les procédés de l'invention sont mis en œuvre par des dispositifs électroniques de type circuits logiques programmables, tels des cartes électroniques à base de FPGA ou ASIC.  In a variant, the methods of the invention are implemented by electronic devices of the programmable logic circuit type, such as electronic cards based on FPGAs or ASICs.
La figure 5 illustre un mode de réalisation d'une étape de détermination de cible de qualité par blocs de coefficients transformés d'une image numérique I, mise en œuvre par des modules du processeur 22 d'un dispositif 20 apte à mettre en œuvre l'invention ou par une carte électronique développée pour la mise en œuvre de l'invention.  FIG. 5 illustrates an embodiment of a step of determination of quality target by transformed coefficient blocks of a digital image I, implemented by modules of the processor 22 of a device 20 capable of implementing the invention or by an electronic card developed for the implementation of the invention.
La détermination d'une cible de qualité est mise en œuvre pour chaque bloc de coefficients transformés Bk issus de l'image I. The determination of a quality target is implemented for each block of transformed coefficients B k resulting from the image I.
Un bloc Bk est fourni en entrée d'une étape optionnelle 34 de sélection de blocs d'intérêt. Si un masque MK binaire définissant des blocs d'intérêt et des blocs de non- intérêt est fourni, l'étape 34 consiste à appliquer le masque MK pour déterminer si le bloc Bk est un bloc d'intérêt. En cas de réponse négative, l'étape 34 est suivie d'une étape 35 de détermination d'au moins un paramètre de codage pour le bloc Bk. A block B k is provided at the input of an optional stage 34 for selecting blocks of interest. If a binary MK mask defining blocks of interest and blocks of no interest is provided, step 34 consists in applying the mask MK to determine if the block B k is a block of interest. In the case of a negative response, step 34 is followed by a step 35 of determining at least one coding parameter for block B k .
Lors de l'étape 35, le bloc Bk est modifié en un bloc B'k à coder dans lequel tous les coefficients fréquentiels AC sont mis à zéro. Avantageusement, le débit de codage associé aux blocs de non-intérêt est ainsi minimisé, une information minimale relative à ces blocs étant néanmoins codée par codage du coefficient basse-fréquence du bloc. En variante, une erreur quadratique moyenne MSEk cible est associée au bloc Bk à l'étape 35. In step 35, the block B k is modified into a block B ' k to be coded in which all the AC frequency coefficients are set to zero. Advantageously, the coding rate associated with the non-interest blocks is thus minimized, a minimum information relating to these blocks nevertheless being coded by coding the low-frequency coefficient of the block. As a variant, a mean squared error MSE k target is associated with the block B k in step 35.
Si le bloc Bk est un bloc d'intérêt, l'étape 34 est suivie d'une étape 36 de calcul d'une première valeur représentative des coefficients fréquentiels du bloc Bk. If the block B k is a block of interest, step 34 is followed by a step 36 of calculating a first value representative of the frequency coefficients of the block B k .
Dans le mode de réalisation préféré, la variance des coefficients fréquentiels du bloc est calculée :  In the preferred embodiment, the variance of the frequency coefficients of the block is calculated:
VABk ) = 1 ∑(C;, -C)2 VAB k) = Σ 1 (C, -C) 2
( xn - l) i eBi (xn - l) i eBi
Le calcul de la première valeur prend en compte tous les coefficients C,,, du bloc Bk sauf le coefficient basse fréquence C0,0, C étant la valeur moyenne des coefficients fréquentiels du bloc Bk. Calculating the first value takes into account all the coefficients C, of the B block k except the low frequency coefficient C 0,0, C is the mean value of the frequency coefficients of the block B k.
Alternativement, l'écart-type des coefficients fréquentiels du bloc Bk ou une autre valeur représentative de la statistique des coefficients, comme un moment d'ordre supérieur, est calculée. Alternatively, the standard deviation of the frequency coefficients of the block B k or another value representative of the statistics of the coefficients, such as a higher order moment, is calculated.
Lors d'une étape 38, une deuxième valeur V2, représentative d'un modèle de bruit d'acquisition d'image associé au bloc Bk, est calculée. In a step 38, a second value V 2 , representative of an image acquisition noise model associated with the block B k , is calculated.
Dans le mode de réalisation préféré, un modèle de bruit paramétré est utilisé. In the preferred embodiment, a parameterized noise pattern is used.
La deuxième valeur V2 est fonction de ce modèle de bruit et de la valeur du coefficient basse fréquence C0,0, représentatif de la moyenne de l'intensité des pixels du bloc Bk, selon la formule suivante : The second value V 2 is a function of this noise model and the value of the low frequency coefficient C 0.0 , representative of the average of the intensity of the pixels of the block B k , according to the following formula:
V2 {Bk ) = a2 + - C0fi V 2 {B k ) = a 2 + - C 0fi
La deuxième valeur V2 est la variance du bruit local, et les paramètres a et β sont fournis dans l'ensemble des paramètres en entrée du procédé. Ces paramètres a et β sont des constantes prédéterminées. The second value V 2 is the variance of the local noise, and the parameters a and β are provided in the set of input parameters of the process. These parameters a and β are predetermined constants.
Par exemple, les constantes a et β sont représentatives du capteur d'acquisition de l'image I à compresser et sont déterminées par étalonnage du capteur et mémorisées. Pour le satellite PLEIADES-1 A, les valeurs a et β sont égales respectivement à 2.267 et 0.0393. Alternativement, pour un bruit de détection non « blanc », le calcul du bruit peut prendre en compte des modèles différents pour chaque sous-bande ou coefficient de transformé. Le bruit est donc obtenu avec la formule suivante :  For example, the constants a and β are representative of the acquisition sensor of the image I to be compressed and are determined by calibration of the sensor and stored. For the PLEIADES-1 A satellite, the values a and β are equal to 2.267 and 0.0393, respectively. Alternatively, for a non-white detection noise, the noise calculation may take into account different models for each sub-band or transform coefficient. The noise is therefore obtained with the following formula:
V2 (Bk ) = ∑ '0,0 V 2 (B k ) = Σ 0.0
>J≡Bk > J≡B k
(U)≠(0,0)  (U) ≠ (0,0)
Il est à noter que les étapes de calcul 36, 38 peuvent être effectuées en parallèle ou leur ordre peut être inversé. Selon l'invention, la quantification et le codage du bloc traité sont effectuées en fonction des première valeur \ et deuxième valeur V2 calculées pour le bloc. It should be noted that the calculation steps 36, 38 can be performed in parallel or their order can be reversed. According to the invention, the quantization and the coding of the processed block are carried out as a function of the first value and the second value V 2 calculated for the block.
Lors d'une étape de détermination du type de bloc 40, la première valeur \ (Βκ) est comparée à la deuxième valeur calculée, pondérée par un coefficient K.  In a step of determining the type of block 40, the first value \ (Βκ) is compared with the second calculated value, weighted by a coefficient K.
Le coefficient K est une constante. Ce coefficient est un paramètre fourni par l'utilisateur, et permet de déterminer un niveau seuil permettant de départager les blocs contenant de l'information utile des blocs de bruit. Dans un mode de réalisation, K est choisi de préférence entre 0,5 et 4, par exemple K=1 .  The coefficient K is a constant. This coefficient is a parameter provided by the user, and makes it possible to determine a threshold level for separating the blocks containing useful information from the noise blocks. In one embodiment, K is preferably chosen between 0.5 and 4, for example K = 1.
Si la première valeur \ (ΒΚ) est inférieure au premier niveau seuil K V2 (Bk ) , il en est conclu que le bloc traité Bk est un bloc contenant du bruit. Dans ce cas, l'étape 40 est suivie d'une étape 42, analogue à l'étape 35 décrite ci-dessus, dans laquelle le bloc Bk est modifié en un bloc B'k à coder dans lequel tous les coefficients fréquentiels AC sont mis à zéro. En effet, il est inutile d'allouer un débit de codage important à un bloc qui ne comporte que du bruit. If the first value \ (Β Κ ) is lower than the first threshold level KV 2 (B k ), it is concluded that the processed block B k is a block containing noise. In this case, the step 40 is followed by a step 42, similar to the step 35 described above, in which the block B k is modified into a block B ' k to be coded in which all the AC frequency coefficients are set to zero. Indeed, it is useless to allocate an important coding rate to a block which comprises only noise.
Si la première valeur \ (Βκ) est supérieure au premier niveau de seuil K V2 (Bk ) , il en est conclu que le bloc Bk contient de l'information utile. If the first value \ (Βκ) is greater than the first threshold level KV 2 (B k ), it is concluded that the block B k contains useful information.
L'étape 40 est suivie d'une étape 44 de comparaison de la première valeur V^Bk) à un deuxième niveau de seuil prédéterminé SE. Step 40 is followed by a step 44 of comparing the first value V ^ B k ) with a second predetermined threshold level S E.
Si la valeur \ (ΒΚ) est inférieure à ce deuxième niveau de seuil, il en est conclu que le niveau de signal du bloc Bk, estimé par la valeur \ (ΒΚ) est faible, légèrement plus élevé qu'un niveau de signal de type bruit. Par exemple, SE est égal compris entre 16 et 32. If the value \ (Β Κ ) is lower than this second threshold level, it is concluded that the signal level of the block B k , estimated by the value \ (Β Κ ) is low, slightly higher than a level noise type signal. For example, S E is between 16 and 32.
Ces blocs sont des blocs dits d'exception, comportant une information tout en ayant un faible niveau de signal. Ce type de blocs est fortement compressé par les méthodes de compression classiques, même pour des faibles taux de compression.  These blocks are so-called exception blocks, having information while having a low signal level. This type of block is heavily compressed by conventional compression methods, even for low compression rates.
Pour certaines applications, notamment dans le domaine de la télédétection, il a été noté qu'il est important de préserver de tels blocs.  For some applications, especially in the field of remote sensing, it has been noted that it is important to preserve such blocks.
De ce fait un traitement particulier leur est appliqué.  As a result, a particular treatment is applied to them.
Dans le mode de réalisation préféré, la cible de qualité pour ces blocs est mise à un niveau élevé, ce qui est réalisé par exemple par la mise à 0, lors de l'étape 46, de l'erreur quadratique moyenne cible MSEk pour le bloc Bk. In the preferred embodiment, the quality target for these blocks is set to a high level, which is achieved for example by setting to 0, in step 46, the mean square error MSE k for the block B k .
Le modèle de bruit présenté ci-dessus, peut être utilisé, lors de l'étape optionnelle 47, pour réaliser un débruitage par seuillage ou pondération des coefficients pour ce type de bloc, afin de garantir un codage plus efficace de l'information utile. Dans ce cas, la MSEk = 0 doit être garantie entre le bloc débruité obtenu en sortie de l'étape de débruitage 47 et le bloc après codage. The noise model presented above, can be used, during the optional step 47, to perform a denoising by thresholding or weighting coefficients for this type of block, to ensure a more efficient coding of the useful information. In this case MSE k = 0 must be guaranteed between the denoised block obtained at the output of denoising step 47 and the block after coding.
Si la valeur \ (Β ) est supérieure au seuil SE, le bloc Bk est considéré comme bloc régulier, pour lequel une cible de qualité est fixée lors de l'étape 48. If the value \ (Β) is greater than the threshold S E , the block B k is considered as a regular block, for which a quality target is set in step 48.
Lors de cette étape 48, une erreur quadratique moyenne de codage cible MSEk est fixée pour le bloc Bk. In this step 48, a mean square error of MSE target coding k is set for the block B k .
De préférence, la valeur MSEk est fixée en fonction de la première valeur \ (Β ) égale à la variance des coefficients fréquentiels dans ce mode de réalisation. Preferably, the value MSE k is set according to the first value ((Β) equal to the variance of the frequency coefficients in this embodiment.
Des valeurs d'erreur quadratique moyenne cible MSE cible en fonction des valeurs de variance ou d'écart-type sont tabulées et mémorisées afin d'être fournies parmi les paramètres P2 en entrée du procédé. Target mean MSE target error values as a function of the variance or standard deviation values are tabulated and stored in order to be provided among the P 2 input parameters of the process.
Par exemple, ces valeurs sont stockées dans des tables, comme par exemple la table montrée en figure 6 reliant des valeurs de variance de coefficients fréquentiels de bloc à des valeurs de cible de qualité MSE cible.  For example, these values are stored in tables, as for example the table shown in FIG. 6 linking block frequency coefficient variance values to target target MSE target values.
Ainsi, par exemple, en utilisant la table T de la figure 6, si le bloc Bk a une première valeur \ associée strictement inférieure à 64, l'erreur quadratique moyenne cible est MSEk=2. Thus, for example, using the table T of FIG. 6, if the block B k has a first associated value strictly less than 64, the target mean squared error is MSE k = 2.
En variante, plusieurs tables reliant la variance des coefficients fréquentiels à une valeur cible de qualité sont mémorisées et utilisées par exemple en fonction de l'appartenance du bloc traité à un type de région. Pour cela, un classement préalable en régions doit être effectué.  As a variant, several tables relating the variance of the frequency coefficients to a quality target value are stored and used, for example, as a function of the membership of the block treated with a type of region. For that, a preliminary classification in regions must be carried out.
Une fois la détermination de cible de qualité effectuée pour un bloc Bk, elle est mémorisée afin d'être fournie au module 10 de quantification et de codage, pour un codage du bloc respectant cette cible de qualité. Once the quality target determination performed for a block B k , it is stored in order to be supplied to the quantization and coding module 10, for a coding of the block respecting this quality target.
En variante, le modèle de bruit présenté ci-dessus, peut également être utilisé, lors d'une étape optionnelle 49, pour réaliser un débruitage par seuillage ou pondération des coefficients du bloc Bk, afin de garantir un codage plus efficace de l'information utile. Dans ce cas, la valeur d'erreur quadratique moyenne cible MSEk associée au bloc Bk doit être garantie entre le bloc débruité obtenu après l'étape de débruitage 49 et le bloc après codage. As a variant, the noise model presented above can also be used, during an optional step 49, to perform a denoising by thresholding or weighting of the coefficients of the block B k , in order to guarantee a more efficient coding of the useful information. In this case, the target mean squared error value MSE k associated with the block B k must be guaranteed between the denoised block obtained after the denoising step 49 and the block after coding.
Dans le cas particulier où les coefficients fréquentiels AC sont mis à 0, le bloc modifié B'k est directement fourni pour quantification et codage, sans indication de cible de qualité particulière associée. In the particular case where the AC frequency coefficients are set to 0, the modified block B ' k is directly provided for quantization and coding, without indication of the particular quality target associated.
Les figures 7 à 8 illustrent la mise en œuvre des cibles de qualité et paramètres de codage déterminés dans un premier mode de réalisation, dans lequel les blocs de coefficients sont codés par plans de bits. Ce mode de réalisation est en particulier compatible avec le standard de compression CCSDS IDC. FIGS. 7 to 8 illustrate the implementation of the quality targets and coding parameters determined in a first embodiment, in which the blocks of coefficients are encoded by bit planes. This embodiment is in particular compatible with the CCSDS IDC compression standard.
La figure 7 illustre schématiquement le principe d'un codage par plan de bits.  Figure 7 schematically illustrates the principle of bitmap coding.
Pour un bloc Bk donné, un bloc 4x4 étant illustré à la figure 7, chaque coefficient C, a une valeur associée représentée sur un nombre B de bits en représentation binaire, rangés dans l'ordre entre le bit C,6"1 de poids fort ou MSB pour « most significant bit » et le bit Ci0 de poids faible, ou LSB pour « least significant bit ». For a given block B k , a 4x4 block being illustrated in FIG. 7, each coefficient C has an associated value represented on a number B of bits in binary representation, arranged in the order between the C bit, 6 "1 of most significant bit and the least significant bit C 0 0 , or LSB for "least significant bit".
Ainsi, il est possible de représenter un bloc par les plans de bits de ses coefficients, un plan de bits regroupant l'ensemble des bits de même poids de tous les coefficients d'un bloc.  Thus, it is possible to represent a block by the bit planes of its coefficients, a bit plane grouping together all the bits of the same weight of all the coefficients of a block.
Le nombre maximal de plans de bits nécessaire pour représenter tous les coefficients fréquentiels d'un bloc, c'est-à-dire le nombre de bits nécessaire pour coder le plus grand coefficient fréquentiel d'un bloc de coefficients, est appelé profondeur ou « bit- depth ».  The maximum number of bit planes needed to represent all the frequency coefficients of a block, that is, the number of bits needed to encode the largest frequency coefficient of a block of coefficients, is called depth or " bit-depth ".
Dans l'exemple de la figure 7, le bloc Bk est représenté par B=5 plans de bits, notés BP0 à BP4, donc sa profondeur est égale à B=5. In the example of FIG. 7, the block B k is represented by B = 5 bit planes, denoted BP 0 to BP 4 , so its depth is equal to B = 5.
Le codage par plans de bits consiste à coder successivement les plans de bits représentatifs des coefficients d'un bloc ou de plusieurs blocs consécutifs d'une image, en partant du plan MSB, comme indiqué par le sens de la flèche de la figure 7, ce qui permet d'obtenir un ensemble binaire de données ou train binaire hiérarchiquement emboîté, l'information la plus importante se situant en tête du train binaire.  The bit plane coding consists of successively coding the representative bit planes of the coefficients of one or more consecutive blocks of an image, starting from the MSB plane, as indicated by the direction of the arrow in FIG. 7. This makes it possible to obtain a binary set of data or a hierarchically nested bit stream, the most important information being at the head of the bit stream.
La quantification est réalisée par l'arrêt du codage à un certain nombre de plans de bits pour un bloc Bk. Quantization is performed by stopping the coding at a number of bit planes for a block B k .
Par exemple, le codage des plans de bits BP4 et BP3 peut s'avérer suffisant pour obtenir une valeur d'erreur quadratique cible. For example, the coding of the BP 4 and BP 3 bit planes may be sufficient to obtain a target quadratic error value.
Selon le standard de compression CCSDS IDC, des segments regroupant plusieurs blocs sont codés indépendamment. Pour chaque segment, les indications de codage sont codées dans l'en-tête du segment.  According to the CCSDS IDC compression standard, multi-block segments are encoded independently. For each segment, the coding indications are encoded in the segment header.
Le coefficient basse-fréquence ou coefficient DC de chaque bloc est codé par codage prédictif, séparément des coefficients fréquentiels ou coefficients AC des blocs du segment. De préférence, un codage de Rice est appliqué aux différences entre coefficients DC quantifiés successifs des blocs de coefficients du segment.  The low-frequency coefficient or DC coefficient of each block is coded by predictive coding, separately from the frequency coefficients or AC coefficients of the blocks of the segment. Preferably, a Rice encoding is applied to the differences between successive quantized DC coefficients of the segment coefficient blocks.
Ensuite, les profondeurs BitDepthAC_Blockm associées au codage des coefficients fréquentiels des blocs Bm successifs de coefficients du segment sont codées par un codage entropique, par exemple le codage de Rice. Ensuite, pour chaque bloc, les plans de bits de tous les coefficients fréquentiels AC successifs, en partant du plan de bits de poids fort, sont codés, par étapes de codage ou « stages » en anglais, les étapes de codage permettant une hiérarchisation des données codées par plan de bits. Un nombre maximal de 4 étapes de codage pour chaque plan de bits est prévu par le standard CCSDS IDC. Then, the depths BitDepthAC_Block m associated with the coding of the frequency coefficients of the successive blocks B m of coefficients of the segment are coded by entropy coding, for example the coding of Rice. Then, for each block, the bit planes of all the successive AC frequency coefficients, starting from the most significant bit plan, are coded, by coding steps or "stages" in English, the coding steps allowing a hierarchy of the data encoded by bit plane. A maximum of 4 coding steps for each bit plan is provided by the CCSDS IDC standard.
Ainsi, un train binaire à couches de qualité est obtenu pour un segment de blocs de coefficients.  Thus, a quality layer bit stream is obtained for a coefficient block segment.
Selon l'invention, le codage pour chaque bloc de coefficients d'un segment prend en compte la cible de qualité ou la pré-quantification par mise à 0 des coefficients fréquentiels mises en œuvre dans l'étape de détermination de cible de qualité par blocs de coefficients décrite ci-dessus.  According to the invention, the coding for each block of coefficients of a segment takes into account the quality target or the pre-quantization by setting to 0 the frequency coefficients implemented in the block quality target determination step. of coefficients described above.
La figure 8 illustre les principales étapes d'un procédé de quantification et codage des coefficients fréquentiels prenant en compte les cibles de qualité déterminées et mémorisées par bloc, selon un premier mode de réalisation de l'invention. Pour chaque bloc traité, un niveau de quantification par bloc traité est déterminé en fonction de la cible de qualité préalablement calculée pour le bloc.  FIG. 8 illustrates the main steps of a method of quantization and coding of the frequency coefficients taking into account the quality targets determined and stored in blocks, according to a first embodiment of the invention. For each block processed, a quantization level per block processed is determined according to the quality target previously calculated for the block.
Pour un bloc Bk d'un segment d'image à compresser donné, une première étape 50 d'initialisation des paramètres de codage est mise en œuvre. Lors de cette étape d'initialisation 50, la profondeur B du bloc Bk à coder est calculée, un indice b du plan de bit courant BPb à coder est mis à B-1 , et un indice s représentatif de l'étape de codage du plan de bit b est mis à 0. For a block B k of a given image segment to be compressed, a first step 50 of initialization of the coding parameters is implemented. During this initialization step 50, the depth B of the block B k to be coded is calculated, an index b of the current bit plane BP b to be coded is set to B-1, and an index s representative of the step of encoding of the bit plane b is set to 0.
Ensuite, lors d'une étape de quantification 52, les coefficients fréquentiels du bloc Bk, quantifiés selon les paramètres b et s courants, sont calculés par la fonction notée quant(Bk,b,s). Then, during a quantization step 52, the frequency coefficients of the block B k , quantized according to the current parameters b and s, are calculated by the function denoted as (B k , b, s).
L'erreur quadratique moyenne de quantification courante, notée mse, est également calculée lors de l'étape de quantification 52.  The current quantization mean square error, denoted mse, is also calculated during the quantization step 52.
Lors d'une étape de comparaison 54, l'erreur quadratique moyenne mse du bloc calculée est comparée à l'erreur quadratique moyenne cible MSEk pour le bloc Bk, préalablement déterminée et mémorisée. During a comparison step 54, the mean squared error mse of the calculated block is compared with the mean squared error MSE k for the block B k , previously determined and stored.
Si l'erreur quadratique moyenne de quantification mse courante, avec les paramètres de codage courant, est inférieure à l'erreur quadratique moyenne cible MSEk, l'étape 54 est suivie d'une étape de mémorisation d'une indication de codage d'indice b de plan de bits à coder et d'étape de codage s associée pour le bloc courant Bk.If the quantization mean quantization error mse, with the current encoding parameters, is smaller than the mean squared error MSE k , step 54 is followed by a step of storing a coding indication of index b of bit plane to be coded and associated coding step s for the current block B k .
L'indication de codage par bloc est associée aux données binaires codées et transmises avec les données compressées pour utilisation ultérieure lors du décodage, comme expliqué ci-dessus. Si l'erreur quadratique moyenne de quantification courante, avec les paramètres de codage courant, est supérieure à l'erreur quadratique moyenne cible, l'étape 54 est suivie d'une étape 58 de comparaison de l'indice de l'étape de codage à 3. Si la valeur de l'indice s a atteint la valeur 3, alors l'étape 58 est suivie d'une étape 60 de mise à jour des paramètres. L'indice de plan de bits à coder est décrémenté de 1 et l'indice s est de nouveau mis à 0. Sinon, l'indice s est incrémenté de 1 lors de l'étape 62 d'incrémentation d'étape de codage. The block coding indication is associated with the binary data encoded and transmitted with the compressed data for later use during decoding, as explained above. If the current quantization mean quantization error, with the current encoding parameters, is greater than the target mean squared error, step 54 is followed by a step 58 of comparing the index of the encoding step If the value of the index sa reaches the value 3, then step 58 is followed by a step 60 of updating the parameters. The bit plane index to be coded is decremented by 1 and the subscript s is again set to 0. Otherwise, the subscript s is incremented by 1 during step 62 of incrementing the encoding step.
Ainsi, quatre étapes de codage par plan de bits sont autorisées, ces étapes de codage étant appliquées conformément au standard de compression CCSDS IDC.  Thus, four bit plan coding steps are allowed, these coding steps being applied according to the CCSDS IDC compression standard.
Les étapes respectives 60 et 62 sont suivies de l'étape de quantification 52 précédemment décrite.  The respective steps 60 and 62 are followed by the quantization step 52 previously described.
Les étapes 50 à 62 sont appliquées pour chaque bloc Bk à coder de chaque segment. Pour les blocs pour lesquels les coefficients fréquentiels AC ont tous été mis à 0, seul le coefficient basse-fréquence est quantifié et codé, le niveau de quantification étant déterminé de manière classique pour tout le segment. Steps 50 to 62 are applied for each block B k to be coded for each segment. For blocks for which the AC frequency coefficients have all been set to 0, only the low-frequency coefficient is quantized and coded, the quantization level being determined conventionally for the whole segment.
Dans un mode de réalisation, un fichier réunissant l'ensemble d'indications de codage pour l'ensemble des blocs d'un segment est créé pour chaque segment codé et stocké/transmis avec les données codées du segment, par exemple de la même manière que la séquence BitDepthAC_Blockm. In one embodiment, a file containing the set of coding indications for the set of blocks of a segment is created for each segment encoded and stored / transmitted with the coded data of the segment, for example in the same manner. that the sequence BitDepthAC_Block m .
En variante, deux simplifications peuvent être introduites dans l'étape de quantification/codage visant à limiter la complexité calculatoire.  As a variant, two simplifications can be introduced in the quantization / coding step intended to limit computational complexity.
Selon une première variante, le calcul de l'erreur quadratique moyenne mse est réalisé une seule fois par plan de bits, pour une même étape « s » de codage. De cette manière les étapes 58 et 62 peuvent être supprimées.  According to a first variant, the calculation of the mean squared error mse is done once per bit plane, for the same step "s" of coding. In this way steps 58 and 62 can be deleted.
Selon une deuxième variante, nécessitant encore moins de ressources calculatoires, les valeurs de « b » et « s » sont associées à des niveaux de qualité image cible en fonction de la variance du bloc. Ces valeurs sont déterminées statistiquement pour une application ou capteur donnés.  According to a second variant, requiring even less computational resources, the values of "b" and "s" are associated with target image quality levels depending on the variance of the block. These values are determined statistically for a given application or sensor.
Ainsi, les « b » et « s » nécessaires à atteindre (statistiquement) la qualité image cible pour le bloc peuvent être appliqués directement dès l'étape 50. Les étapes 52, 54, 58, 60 et 62 deviennent alors inutiles.  Thus, the "b" and "s" necessary to achieve (statistically) the target image quality for the block can be applied directly from step 50. Steps 52, 54, 58, 60 and 62 then become unnecessary.
La figure 9 illustre un deuxième mode de réalisation de l'invention, compatible avec le standard de compression JPEG.  FIG. 9 illustrates a second embodiment of the invention, compatible with the JPEG compression standard.
L'image numérique à compresser I est fournie en entrée. Une première étape 80 d'obtention de blocs 8x8 de l'image numérique I et d'application d'une DCT par blocs 8x8 est mise en oeuvre. Des blocs de coefficients transformés sont obtenus. Ensuite, une étape de détermination 82 de cible de qualité, selon l'invention, pour l'ensemble des blocs de coefficients est appliquée. Les cibles de qualité par blocs sont mémorisées. The digital image to be compressed I is provided as input. A first step 80 for obtaining 8x8 blocks of the digital image I and application of an 8x8 block DCT is implemented. Blocks of transformed coefficients are obtained. Next, a quality target determining step 82, according to the invention, for all the coefficient blocks is applied. Block quality targets are stored.
Ensuite, pour chaque bloc Bk de coefficients de l'image, une quantification des coefficients par application d'une matrice de quantification TQ(U,V) est appliquée à l'étape de quantification 86. La matrice de quantification Q(u,v) est une matrice prédéterminée mémorisée, et γ est un coefficient de pondération appliqué à tous les coefficients de la matrice Q(u,v). Dans un mode de réalisation tous les coefficients de la matrice Q(u,v) sont multipliés par γ. Lors de l'initialisation, γ=1. Then, for each block B k of image coefficients, a quantization of the coefficients by applying a quantization matrix TQ (U, V) is applied to the quantization step 86. The quantization matrix Q (u, v) is a stored predetermined matrix, and γ is a weighting coefficient applied to all the coefficients of the matrix Q (u, v). In one embodiment, all the coefficients of the matrix Q (u, v) are multiplied by γ. During initialization, γ = 1.
Un bloc de coefficients quantifiés, noté qBk, est obtenu. A block of quantized coefficients, denoted qB k , is obtained.
L'erreur quadratique moyenne mse entre le bloc de coefficients quantifié qBk et le bloc Bk est calculée à l'étape de calcul d'erreur de quantification 88. The mean squared error mse between the quantized coefficient block qB k and the block B k is computed at the quantization error calculation step 88.
L'erreur quadratique moyenne mse calculée est comparée à l'erreur quadratique moyenne cible lors de l'étape 90.  The squared mean error mse is compared to the mean squared error target in step 90.
Si l'erreur quadratique moyenne mse est inférieure à la cible de qualité MSEk, la valeur du coefficient de pondération courante γ est mémorisée comme indication de codage lors d'une étape 92. If the mean squared error mse is less than the MSE quality target k , the value of the current weighting coefficient γ is stored as an encoding indication during a step 92.
Si l'erreur quadratique moyenne mse est supérieure à la cible de qualité MSEk pour le bloc Bk courant, le coefficient de pondération y est diminué lors d'une étape 94 de mise à jour du coefficient de pondération. Par exemple, γ est divisé par 2. En variante, une nouvelle valeur de γ est choisie dans un ensemble de valeurs prédéterminées mémorisé. If the mean squared error mse is greater than the quality target MSE k for the current block B k , the weighting coefficient y is decreased during a step 94 of updating the weighting coefficient. For example, γ is divided by 2. Alternatively, a new value of γ is selected from a set of predetermined values stored.
Les étapes 86 à 94 sont mises en œuvre pour chaque bloc, et permettent de déterminer un niveau de quantification en fonction de la cible de qualité MSEk à respecter. L'indication de codage pour chaque bloc est mémorisé et indiquée en association avec les données compressées, par exemple dans l'en-tête d'un fichier de données compressées. Steps 86 to 94 are implemented for each block, and make it possible to determine a quantization level according to the target of MSE quality k to be respected. The coding indication for each block is stored and indicated in association with the compressed data, for example in the header of a compressed data file.
Les étapes décrites ci-dessus sont suivies d'une étape de codage d'événement plage-longueur classique appliquée sur les coefficients fréquentiels de chaque bloc quantifié.  The steps described above are followed by a conventional range-length event encoding step applied to the frequency coefficients of each quantized block.
En variante, plusieurs matrices de quantification Q*(u,v) sont préalablement mémorisées, et une matrice parmi les matrices mémorisées est choisie pour la quantification. Une indication relative à la matrice choisie parmi l'ensemble des matrices mémorisées est alors codée. Selon une autre variante, permettant de simplifier les calculs, les valeurs de γ ou les matrices à appliquer peuvent également être déterminées statistiquement en fonction de la variance du bloc et de la qualité image cible. Elles peuvent donc être appliquées dès l'étape 82. Les étapes 88, 90 et 94 deviennent alors inutiles Alternatively, several quantization matrices Q * (u, v) are previously stored, and one of the stored matrices is selected for quantization. An indication relating to the matrix chosen from the set of stored matrices is then coded. According to another variant, making it possible to simplify the calculations, the values of γ or the matrices to be applied can also be determined statistically according to the variance of the block and the target image quality. They can therefore be applied from step 82. Steps 88, 90 and 94 then become unnecessary
Le procédé de l'invention a été décrit ci-dessus en particulier dans son adaptation avec le standard de compression CCSDS IDC et avec le standard de compression JPEG.  The method of the invention has been described above in particular in its adaptation with the CCSDS IDC compression standard and with the JPEG compression standard.
Il est cependant clair que le procédé selon l'invention s'applique en général avec tout autre procédé de compression, notamment avec le standard de compression JPEG2000.  However, it is clear that the method according to the invention generally applies with any other compression method, in particular with the JPEG2000 compression standard.
En particulier, une taille quelconque des blocs traités peut être mises en œuvre avec le procédé de l'invention.  In particular, any size of the treated blocks can be implemented with the method of the invention.

Claims

REVENDICATIONS
1 . - Procédé de compression d'image numérique représentée par au moins une matrice bidimensionnelle d'échantillons d'image, chaque échantillon ayant une valeur d'intensité associée, comportant des étapes de : 1. A digital image compression method represented by at least a two-dimensional array of image samples, each sample having an associated intensity value, comprising steps of:
- application d'une transformation afin d'obtenir une représentation de l'image comportant un ensemble de blocs de coefficients, chaque bloc de coefficients comportant un coefficient dit coefficient basse fréquence correspondant à une valeur moyenne de l'intensité des échantillons d'image dudit bloc et une pluralité de coefficients dits coefficients fréquentiels ;  applying a transformation to obtain a representation of the image comprising a set of coefficients blocks, each coefficient block comprising a coefficient called low frequency coefficient corresponding to an average value of the intensity of the image samples of said block and a plurality of coefficients called frequency coefficients;
- quantification et codage des blocs de coefficients, afin d'obtenir un ensemble de données numériques représentatives de l'image numérique compressée,  quantization and coding of the blocks of coefficients, in order to obtain a set of digital data representative of the compressed digital image,
caractérisé en ce qu'il comprend, après l'obtention de blocs de coefficients, les étapes de :  characterized by comprising, after obtaining blocks of coefficients, the steps of:
-pour au moins un bloc traité sélectionné parmi les blocs de coefficients :  for at least one treated block selected from the blocks of coefficients:
• calcul (36) d'une première valeur représentative dudit bloc traité à partir des coefficients fréquentiels dudit bloc traité,  Calculating (36) a first value representative of said processed block from the frequency coefficients of said processed block,
• obtention (38) d'une deuxième valeur représentative dudit bloc traité calculée en fonction d'un modèle de bruit d'acquisition d'image associé audit bloc traité,  Obtaining (38) a second value representative of said processed block calculated according to an image acquisition noise model associated with said processed block,
• détermination (46, 48) d'une cible de qualité en fonction desdites première et deuxième valeurs associées audit bloc traité,  Determining (46, 48) a quality target according to said first and second values associated with said processed block,
• quantification et codage dudit bloc traité en fonction de ladite cible de qualité déterminée.  Quantization and coding of said processed block according to said target of determined quality.
2. - Procédé de compression selon la revendication 1 , caractérisé en ce que, pour un bloc traité, ladite cible de qualité est une valeur représentative de l'erreur quadratique moyenne entre les coefficients du bloc traité avant quantification et les coefficients du bloc traité après quantification. 2. - Compression method according to claim 1, characterized in that, for a processed block, said quality target is a value representative of the mean squared error between the coefficients of the block processed before quantization and the coefficients of the block processed after quantification.
3. - Procédé de compression selon l'une quelconque des revendications 1 ou 2, caractérisé en ce qu'il comporte en outre, pour chaque bloc traité, une étape de détermination (56) d'un niveau de quantification permettant de respecter la cible de qualité. 3. - Compression method according to any one of claims 1 or 2, characterized in that it further comprises, for each processed block, a step of determining (56) a quantization level to meet the target quality.
4. - Procédé de compression selon l'une quelconques des revendications 1 à 3, caractérisé en ce qu'il comprend, pour chaque bloc traité, une comparaison (40) de ladite première valeur à un premier niveau seuil calculé à partir de ladite deuxième valeur, et lorsque ladite première valeur est inférieure audit premier niveau seuil, une étape de mise à zéro (46) des coefficients fréquentiels dudit bloc traité. 4. - Compression method according to any one of claims 1 to 3, characterized in that it comprises, for each treated block, a comparison (40) of said first value to a first threshold level calculated from said second value, and when said first value is lower than said first threshold level, a step of zeroing (46) the frequency coefficients of said processed block.
5. - Procédé de compression selon la revendication 4, caractérisé en ce que, lorsque ladite première valeur est supérieure audit premier niveau seuil et inférieure à un deuxième niveau seuil, ledit bloc traité est considéré comme étant un bloc d'exception pour lequel ladite cible de qualité est sélectionnée pour minimiser l'erreur quadratique moyenne entre les coefficients du bloc traité avant quantification et les coefficients du bloc traité après quantification. 5. - Compression method according to claim 4, characterized in that, when said first value is greater than said first threshold level and less than a second threshold level, said processed block is considered to be an exception block for which said target quality is selected to minimize the mean squared error between the coefficients of the block processed before quantization and the coefficients of the block processed after quantization.
6. - Procédé de compression selon l'une quelconque des revendications 1 à 5, caractérisé en ce que ladite première valeur représentative d'un bloc traité est représentative de la variance des coefficients fréquentiels du bloc traité, et en ce que ladite deuxième valeur représentative d'un bloc traité est fonction d'une variance d'un modèle de bruit fonction de la valeur du coefficient basse fréquence du bloc traité. 6. - A compression method according to any one of claims 1 to 5, characterized in that said first value representative of a processed block is representative of the variance of the frequency coefficients of the treated block, and in that said second representative value of a processed block is a function of a variance of a noise model depending on the value of the low frequency coefficient of the processed block.
7.- Procédé de compression selon l'une quelconque des revendications 1 à 6, caractérisé en ce que lesdits blocs traités sont sélectionnés par application (34) d'un masque binaire. 7. A compression method according to any one of claims 1 to 6, characterized in that said treated blocks are selected by application (34) of a bit mask.
8. - Procédé de compression selon la revendication 7, caractérisé en ce qu'il comporte, pour chaque bloc non sélectionné comme bloc traité par application dudit masque, une étape de mise à zéro (35) des coefficients fréquentiels dudit bloc. 8. - Compression method according to claim 7, characterized in that it comprises, for each block not selected as a block processed by applying said mask, a step of zeroing (35) the frequency coefficients of said block.
9. - Procédé de compression selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte une étape de codage (56, 92) d'une indication relative à un niveau de quantification à appliquer pour chaque bloc traité, une dite indication de codage étant associée à l'ensemble de données numériques représentatives de l'image numérique compressée. 9. - A compression method according to any one of the preceding claims, characterized in that it comprises a step of coding (56, 92) an indication relating to a quantization level to be applied for each treated block, a so-called coding indication being associated with the set of digital data representative of the compressed digital image.
10. - Procédé de compression selon la revendication 9, dans lequel l'étape de quantification et de codage est mise en œuvre par un codage par plans de bits représentatifs des coefficients, caractérisé en ce que ladite indication est une indication relative au nombre de plans de bits à coder. The compression method according to claim 9, wherein the quantization and coding step is implemented by bit plane coding. representative of the coefficients, characterized in that said indication is an indication relating to the number of bit planes to be encoded.
1 1 . - Procédé de compression selon l'une quelconque des revendications précédentes, caractérisé en ce que les blocs de coefficients sont obtenus par application d'une transformation en ondelettes discrète et regroupement spatial des coefficients de transformation obtenus. 1 1. - A compression method according to any one of the preceding claims, characterized in that the blocks of coefficients are obtained by applying a discrete wavelet transformation and spatial grouping of the conversion coefficients obtained.
12. - Procédé de compression selon la revendication 9, dans lequel l'étape de quantification est mise en œuvre par application d'une matrice de quantification par bloc, caractérisé en ce que ladite indication est une indication relative à un coefficient de pondération à appliquer à une matrice de quantification prédéterminée. 12. The compression method as claimed in claim 9, in which the quantization step is implemented by applying a block quantization matrix, characterized in that said indication is an indication relating to a weighting coefficient to be applied. to a predetermined quantization matrix.
13. - Procédé de compression selon à la revendication 12, caractérisé en ce que les blocs de coefficients sont obtenus par application d'une transformation en cosinus discrète appliquée sur des blocs de taille prédéterminée. 13. - A compression method according to claim 12, characterized in that the coefficient blocks are obtained by applying a discrete cosine transformation applied to blocks of predetermined size.
14. - Dispositif de compression d'image numérique représentée par au moins une matrice bidimensionnelle d'échantillons d'image, chaque échantillon ayant une valeur d'intensité associée, comportant : 14. - Digital image compression device represented by at least one two-dimensional array of image samples, each sample having an associated intensity value, comprising:
- un module (6) d'application d'une transformation afin d'obtenir une représentation de l'image comportant un ensemble de blocs de coefficients, chaque bloc de coefficients comportant un coefficient dit coefficient basse fréquence correspondant à une valeur moyenne de l'intensité des échantillons d'image dudit bloc et une pluralité de coefficients dits coefficients fréquentiels ;  a module (6) for applying a transformation in order to obtain a representation of the image comprising a set of coefficients blocks, each coefficient block comprising a coefficient called a low frequency coefficient corresponding to an average value of the intensity of the image samples of said block and a plurality of coefficients called frequency coefficients;
- un module (10) de quantification et de codage des blocs de coefficients, afin d'obtenir un ensemble de données numériques représentatives de l'image numérique compressée,  a module (10) for quantizing and coding the coefficient blocks, in order to obtain a set of digital data representative of the compressed digital image,
caractérisé en ce qu'il comprend, des modules, aptes à réaliser, après l'obtention de blocs de coefficients, pour au moins un bloc traité sélectionné parmi les blocs de coefficients :  characterized in that it comprises, modules, able to achieve, after obtaining blocks of coefficients, for at least one treated block selected from the blocks of coefficients:
• un calcul (8) d'une première valeur représentative dudit bloc traité à partir des coefficients fréquentiels dudit bloc traité,  A calculation (8) of a first value representative of said processed block from the frequency coefficients of said processed block,
• une obtention (8) d'une deuxième valeur représentative dudit bloc traité calculée en fonction d'un modèle de bruit associé audit bloc traité, • une détermination d'une cible de qualité en fonction desdites première et deuxième valeurs associées audit bloc traité, Obtaining (8) a second value representative of said processed block calculated according to a noise model associated with said processed block, A determination of a quality target according to said first and second values associated with said processed block,
• une quantification et un codage (10) dudit bloc traité en fonction de ladite cible de qualité déterminée.  A quantization and a coding (10) of said processed block according to said target of determined quality.
PCT/EP2014/075293 2013-11-21 2014-11-21 Method and device for digital image compression WO2015075185A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1361480A FR3013490B1 (en) 2013-11-21 2013-11-21 METHOD AND DEVICE FOR COMPRESSION OF DIGITAL IMAGE
FR1361480 2013-11-21

Publications (2)

Publication Number Publication Date
WO2015075185A2 true WO2015075185A2 (en) 2015-05-28
WO2015075185A3 WO2015075185A3 (en) 2015-08-06

Family

ID=50639599

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/075293 WO2015075185A2 (en) 2013-11-21 2014-11-21 Method and device for digital image compression

Country Status (2)

Country Link
FR (1) FR3013490B1 (en)
WO (1) WO2015075185A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112465846A (en) * 2020-11-26 2021-03-09 西安电子科技大学 Cloud-containing remote sensing image compression method based on filling strategy

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3044196B1 (en) 2015-11-20 2019-05-10 Thales IMAGE COMPRESSION METHOD FOR OBTAINING A FIXED COMPRESSION QUALITY

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112465846A (en) * 2020-11-26 2021-03-09 西安电子科技大学 Cloud-containing remote sensing image compression method based on filling strategy
CN112465846B (en) * 2020-11-26 2023-04-07 西安电子科技大学 Cloud-containing remote sensing image compression method based on filling strategy

Also Published As

Publication number Publication date
WO2015075185A3 (en) 2015-08-06
FR3013490B1 (en) 2017-05-19
FR3013490A1 (en) 2015-05-22

Similar Documents

Publication Publication Date Title
Chew et al. Survey of image compression algorithms in wireless sensor networks
FR2889382A1 (en) Multidimensional digital signal e.g. digital image, filtering method for e.g. coding device, involves obtaining filtering value of filtered sample in selecting one value among simulated filtering values of sample based on preset criterion
Ghrare et al. Digital image compression using block truncation coding and Walsh Hadamard transform hybrid technique
CN111641826B (en) Method, device and system for encoding and decoding data
Yadav et al. Study and analysis of wavelet based image compression techniques
Gupta et al. Enhanced image compression using wavelets
FR2906093A1 (en) METHODS AND DEVICES FOR ENCODING AND DECODING, TELECOMMUNICATION SYSTEM AND COMPUTER PROGRAM USING THE SAME
WO2015075185A2 (en) Method and device for digital image compression
FR3050598A1 (en) METHOD FOR DECODING DIGITAL IMAGE, ENCODING METHOD, DEVICES, AND COMPUTER PROGRAMS
Siddeq et al. A novel Hexa data encoding method for 2D image crypto-compression
EP2502227A1 (en) Data processing
EP3171594A1 (en) Method of images compression enabling to obtain a fixed compression quality
EP1496705A2 (en) Contextual compression of digital images
EP3685283A1 (en) Methods for encoding and decoding an image
EP2327217A1 (en) Block encoding method for bitmap pixel image, and corresponding computer program and image capture device
George et al. A methodology for spatial domain image compression based on hops encoding
WO2018083266A1 (en) Method and device for digital image restoration
WO2016037988A1 (en) Method and device for restoring a digital image comprising compression artefacts
FR2597282A1 (en) Method of quantization in a coding by transformation for the transmission of image signals
Devi et al. Gray scale image compression based on wavelet transform and linear prediction
Narmadha et al. An optimal HSI image compression using DWT and CP
Joseph et al. Performance evaluation of basic compression methods for different satellite imagery
EP2327218A1 (en) Method for entropically transcoding a first binary data stream into a second compressed binary data stream, and corresponding computer program and image recording device
CN114363624B (en) Sensitivity-based code rate allocation characteristic compression method
Nagamani et al. EZW and SPIHT image compression techniques for high resolution satellite imageries

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14802638

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14802638

Country of ref document: EP

Kind code of ref document: A2