WO2008049628A1 - Procede et dispoitif d'optimisation de la compression d'un flux video - Google Patents

Procede et dispoitif d'optimisation de la compression d'un flux video Download PDF

Info

Publication number
WO2008049628A1
WO2008049628A1 PCT/EP2007/009315 EP2007009315W WO2008049628A1 WO 2008049628 A1 WO2008049628 A1 WO 2008049628A1 EP 2007009315 W EP2007009315 W EP 2007009315W WO 2008049628 A1 WO2008049628 A1 WO 2008049628A1
Authority
WO
WIPO (PCT)
Prior art keywords
residue
prediction
distortion
rdi
decision
Prior art date
Application number
PCT/EP2007/009315
Other languages
English (en)
Inventor
Jérôme LARRIEU
Original Assignee
Actimagine
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 Actimagine filed Critical Actimagine
Priority to US12/446,835 priority Critical patent/US8532179B2/en
Priority to JP2009533739A priority patent/JP5468383B2/ja
Priority to EP07819360A priority patent/EP2084910A1/fr
Publication of WO2008049628A1 publication Critical patent/WO2008049628A1/fr
Priority to US13/966,008 priority patent/US9628791B2/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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
    • 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/103Selection of coding mode or of prediction mode
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment

Definitions

  • the present invention relates to a method and a device for compressing image parts. It applies, in particular to the coding of images and sequences of images, in particular for transmission over a computer network, for example the Internet, or storage on a digital information medium.
  • This method and device can be integrated into any system for compressing and decompressing any image portion on any hardware platform.
  • FIG. 1 represents, in the form of a functional block diagram, a device implementing such a method.
  • a prediction, performed by the function 102, of a portion of an original image 101 is established from other parts of one or more images subsequent to or prior to the image being encoded, or other elements of the current image.
  • the residue 103 is obtained by the difference 105 between the prediction and the original.
  • the residue 103 and the prediction 102 are encoded in the transmitted video stream by the encoding function 104.
  • This method is typically used to exploit the temporal redundancy of a sequence of images. It is more particularly used in the ISO / ITU MPEG and H.261 / 3/4 Standards compression system. As illustrated in FIG.
  • motion compensation is based on the comparison of a given block of the current image with a set of blocks or sub-blocks of the current image or other images posterior to or before the current image. A comparative measurement is established between the blocks. If the difference measurement is below a certain threshold, the blocks are considered as similar and the position difference is indicated by a motion vector.
  • the known video compression standards such as MPEG, use the two groups of steps 200 and 210, described with reference to FIG. 2, to compress the images of a video stream into non-intra images, ie images. which are encoded by reference to other images in the video stream.
  • the motion estimation 200 (in English "motion estimation") consists in encoding each image from elements present in other images of the video stream, called reference images (often the previous image, the last image intra or the next intra picture). The steps performed during motion estimation 200 are as follows:
  • step 201 cutting of the image to be encoded into blocks of fixed size L x H pixels (often 16 x 16);
  • step 202 for each block of the image, search in the reference image of the floating area of L x H pixels most similar to the block considered;
  • step 203 for each block, storage of the displacement vector
  • motion vector which indicates the displacement (in spatial coordinates) between the block and the most similar zone found during step 202;
  • Motion compensation 210 (in English "motion compensation") consists of compressing the residue. The steps performed during the motion compensation 210 are, for each block, the following:
  • step 214 for each block, calculation of the residue, that is to say of the difference between the block and the most similar zone found.
  • step 21 1 compression of the residue, most often through a mathematical function, such as OCT (acronym for "discrete cosine transform” for discrete cosine transform);
  • step 212 storage of the compressed residue
  • step 213 return to step 200 to encode the next block, if it remains to be processed.
  • step 221 decompression of one or more intra images (encoded images without reference to other images of the video stream);
  • step group 230 reconstitution of non-intra images by performing, for each block:
  • step 231 locating, thanks to the displacement vector, the most similar zone of another image of the video stream;
  • step 232 decompression of the residue
  • step 233 adding the residue to the most similar zone to obtain the final block and returning to step 230 for the next block, if there are still any to be processed.
  • the blocks of the predicted images are predicted from parts of other images and decoded motion vectors, to which must be added the coefficients of the motion compensation.
  • the choice of motion vector can be made according to different criteria “SAD” (sums of the absolute differences) or “SSD” (sums of the squares of the differences) which take account only of the generated distortion.
  • SAD sums of the absolute differences
  • SSD sums of the squares of the differences
  • a “rate distortion optimization” optimization (known by the acronym “RDO” in English and meaning optimization of the bit rate and the distortion in French) is used and takes into account the flow generated to transmit the information (size taken in the flow) and the distortion provided by this information (relevance of the information)
  • the purpose of the RDO is to find a compromise between the bit rate used by the coded stream and the relevance of the information to be coded.
  • the RDO algorithm can be used during motion compensation.
  • the motion estimation step between two images provides several candidate motion vectors.
  • Each of the motion vectors is then transformed in the same way as if it had been transformed to be encoded in the video stream, and then decoded in the same way as if it had been decoded from the video stream.
  • the distortion between the original block and the coded and decoded block, calculated after decoding the motion vector, is determined for each candidate motion vector.
  • the motion vector that minimizes distortion and throughput is retained.
  • Patent Application EP0866622 entitled “Video Oata compression method” defines a performance measure (which takes into account the coding parameters 8) that is applied to the motion compensation step in order to improve the measurement of costs. in flow and distortion.
  • the RDO algorithm makes it possible to establish a flexible decision criterion as to the choice of coding criteria for the coefficients.
  • a tree is created whose nodes represent the various coding steps and measure the costs in bit rate and distortion generated. The tree is then traversed by taking the optimal path (minimizing the flow and distortion costs) to obtain the most relevant coding choice for the rate and distortion generated by the coding of the coefficients.
  • the motion compensation step is eliminated.
  • the visual rendering is significantly deteriorated.
  • the present invention aims, in a first aspect, a method of compressing parts of images which comprises:
  • the invention optimizes the size of the video stream and the resources required for decompression by coding in the video stream only the most relevant data.
  • the residue is not encoded in the stream.
  • the decoding of the coefficients of the residue and the addition of the residual to the reconstructed block which are costly in terms of resources, are avoided.
  • the determination of the distortion related to the single code of each prediction is accurate since it has, at the coding level, the portion of the image as it would be decoded in the absence of motion compensation.
  • the process as briefly described above also comprises:
  • a residue determination step the difference between a prediction representative of each prediction and the image portion to be compressed
  • a step of determining distortion associated with the residue said decision step implementing said flow rate associated with the residue and the distortion associated with the residue.
  • the process as briefly described above also comprises:
  • the determination of the distortion related to the coding of the residue is accurate since it has, at the coding level, the residue that would be obtained at the decoding level.
  • Rr is the flow rate associated with the residue
  • k is the product of Rp and ⁇ . It does not need to be determined to make the comparisons below since the term is present in RDI and RD2.
  • - Rp is the rate associated with each prediction
  • - Dp is the distortion associated with each prediction
  • - ⁇ is a positive predetermined coefficient. if RDI ⁇ RDs, only each prediction is coded and if RD 1> RDs, each prediction and the residue are coded.
  • the coder is simplified and the resources consumed in encoding are limited since the decision to code the residue depends only on a distortion rate criterion taking into account only the bit rates and distortions related to each prediction.
  • - ⁇ is a positive predetermined coefficient. if RDI ⁇ RDs, only each prediction is coded and if RD 1> RDs, each prediction and the residue are coded.
  • the coder is simplified and the resources consumed are limited to the coding since the decision to code the residue depends only on a distortion criterion.
  • - Dp is the distortion associated with each prediction
  • - ⁇ is a positive predetermined coefficient
  • k is the product of Rp and ⁇ . It does not need to be determined to make comparisons between RDI and RD2 since the term is present in RDI and RD2, and is optional for comparisons between RDI and RDs.
  • RD2 k + Rr * ⁇ + Dr: where: - Rr is the flow rate associated with the residue,
  • the coder is simplified and the resources consumed in the coding are limited since the decision to code the residue depends only on a distortion rate criterion taking into account only the distortion and possibly the bit rates related to each prediction. .
  • the present invention provides a device for compressing an image part, which comprises:
  • FIG. 1 represents, in the form of a functional block diagram, a coding method with coding of the prediction and of its residue known in the prior art
  • FIG. 2 represents, in the form of a logic diagram, steps implemented in a compression method and in an associated image decompression method, known in the prior art
  • FIGS. 3 to 6 represent, in the form of logic diagrams, steps implemented in particular embodiments of the method that is the subject of the present invention.
  • FIG. 7 represents a particular embodiment of the device that is the subject of the present invention.
  • the image to be encoded is broken down into blocks and stored in a memory zone of a coding or compression device.
  • the following steps, 302 to 316, are performed, successively, for each block of the image to be encoded.
  • a motion estimation is carried out in a known manner, for example as described in the patent application FR2850827 to provide a prediction, with respect to each reference image.
  • the distortion caused by each encoded prediction is determined and stored in memory, and optionally, the rate corresponding to each prediction is determined and stored in memory.
  • a measure of the distortion corresponding to the block obtained during step 312, is then calculated, for example by the SSD method.
  • This distortion corresponds, as well as the distortion that would be generated by the decoding, with the single prediction (s) encoded in the video stream.
  • step 303 the difference between the prediction and the original block to be coded is determined, and the residue is written in memory, that is to say the result of this difference.
  • the residue is transformed into the frequency domain. Then, in a step 309, the transform of the residue is quantized and the quantized transformed residue is coded.
  • step 310 the inverse quantization of the transformed quantized residue is carried out.
  • step 311 the transform in the spatial domain of the result of step 310 is performed.
  • the result thus obtained is the residue that the decoding device would decode from the coded video stream.
  • step 313 the rate required for the encoding of the transformed and quantized residue resulting from step 309 is determined and the distortion generated by the decoded residue resulting from step 311 is calculated. These are stored in memory. flow and distortion.
  • step 314 it is determined whether, for the block considered, the result of step 309 must be transmitted to the decoding device. For this purpose, from the data in memory, the following decision parameters RDI and RD2 are calculated:
  • Rp is the flow rate of the predicted block
  • - Dp is the distortion of the predicted block
  • - Rr the flow of the residue
  • k is the product of Rp and ⁇ . It is not necessary to determine it for the comparisons below since the term is present in RDI and RD2.
  • each prediction is coded in the video stream, for example by means of the coding of its or its motion vectors.
  • RDI the coding of the motion compensation data is relevant to the bit rate and gain in distortion costs.
  • each prediction and the motion compensation are coded in the video stream, for example by means of the coding of its or its motion vectors and of the transformed and quantized residue.
  • RDI represents a rate-distortion criterion related solely to the coding of each prediction and RD2 represents a rate-distortion criterion related to the coding of each prediction and of the residue.
  • the factor representing the flow rate is (Rp + Rr)
  • the step of determining the Rp, rate associated with each prediction is not necessary since the term "Rp * ⁇ " is common to both decision parameters RDI and RD2. It is therefore possible to compare RDI and RD2 without calculating k.
  • the image to be coded in blocks is decomposed and the blocks of the image to be encoded are stored in a memory zone. The following steps, 402 to 416, are performed, successively, for each block of the image to be encoded.
  • a motion estimation is performed and at least one prediction is provided.
  • step 405 the distortion Dp generated by the prediction is determined.
  • the rate Rp required to send each prediction is determined.
  • step 403 the difference between the prediction and the corresponding block of the original image to be encoded is determined and this difference, called “residue”, is stored.
  • a frequency transformation of the residue is carried out by a DCT type transformation, and a quantification of the residue transform is carried out.
  • the Rr rate necessary for the encoding of the transformed and quantized residue and the distortion Dr that the coded residue generates are determined and stored in memory.
  • Rp is the flow rate of the predicted block
  • k is the product of Rp and ⁇ . It does not need to be determined to make the comparisons below since the term is present in RDI and RD2.
  • RDI represents a rate-distortion criterion related solely to the coding of each prediction and RD2 represents a rate-distortion criterion related to the coding of each prediction and of the residue.
  • the factor representing the flow rate is (Rp + Rr), one can thus take into account the two flow rates: that of the predicted block and that of the residue, since the residue is necessarily encoded with the predicted block.
  • the step of determining Rp, the rate associated with each prediction is not necessary since the term "Rp * ⁇ " is common to the two decision parameters RDI and RD2. It is therefore possible to compare RDI and RD2 without determining k. If RDI ⁇ RD2, the coding of the motion compensation data is not relevant to the bit rate and distortion gains, and only each prediction is encoded in the video stream, during the step 416.
  • the encoding of the motion compensation data is relevant to the bit rate and distortion gains, and in a step 415 the predicted block and the motion compensation are encoded. in the video stream.
  • the image to be coded in blocks is decomposed and the blocks of the image to be encoded in memory are stored.
  • the following steps 502 to 516 are performed, successively, for each block of the image to be encoded.
  • the motion estimation of the current block of the image to be coded is performed and at least one prediction is provided.
  • step 503 the difference between the prediction and the block of the original image to be coded is made and the result of this difference, or residue, is written in memory.
  • step 514 it is estimated, with tables, the Dp distortion and optionally the Rp rate that would generate the coding of each prediction in the video stream and stores Dp and optionally Rp in memory, it is estimated, with tables , the rate Rr and the distortion Dr that would generate the coding of the residue in the video stream and stores Rp and Dp in memory.
  • step 514 it is determined whether, for the block in question, the residue must be transmitted to the decoding device.
  • Rp is the flow rate of the predicted block
  • RDI represents a rate-distortion criterion related solely to the coding of each prediction
  • RD2 represents a rate-distortion criterion related to the coding of each prediction and of the residue.
  • the factor representing the flow rate is (Rp + Rr)
  • the two flow rates that of the predicted block and that of the residue, since the residue is necessarily encoded with the predicted block.
  • the step of determining the Rp, rate associated with each prediction is not necessary since the term "Rp * ⁇ " is common to both decision parameters RDI and RD2. It is therefore possible to compare RDI and RD2 without determining k.
  • the coding of the motion compensation data is not relevant to the bit rate and distortion gains, and only each prediction is encoded in the video stream, during the step 516.
  • the coding of the motion compensation data is relevant to the bit rate and distortion gains, and in a step 515 the predicted block and the motion compensation are encoded. in the video stream.
  • the image to be encoded is broken down into blocks and stored in a memory zone during a step 601.
  • the following steps 602 to 616 are performed, successively, for each block of the image to code.
  • the motion estimation of the block of the image to be encoded is performed and at least one prediction is provided.
  • the rate Rp and optionally the distortion are calculated.
  • Dp would generate the coding of each prediction in the video stream and store Rp and optionally Dp in memory.
  • - Dp is the distortion of the predicted block and - ⁇ , positive, is set by the designer or the user of the encoder / decoder or is set according to the resources available at the decoding device.
  • RDI RDs
  • RDs is a threshold value determined by the designer of the encoder
  • FIG. 7 shows a particular embodiment of a device for compressing image portions 705, object of the present invention.
  • This device 705 includes an image representative signal input 725, a processor 710, a program memory 715, an image memory 720 and a compressed image signal output 730.
  • the processor 710 is of known type. In combination with the memories 715 and 720, it is adapted to implement an embodiment of the method that is the subject of the present invention, for example one of those illustrated in FIGS. 3 to 6.
  • the program memory 715 contains instructions readable by the processor 710 and implementing the steps of the method to be implemented.
  • the processor 710 constitutes, at least:
  • a prediction of a block can be made from a set of blocks previously processed and belonging to the same image as the block being processed. This prediction can be done by means of a function applied to this set of blocks, for example the function can be a combination of the colorimetric information of the blocks adjacent to the block being processed.

Landscapes

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

Abstract

L'invention a pour but d'activer ou non la compensation de mouvement suivant la rentabilité de celle ci, rentabilité établie sur les coûts en débit et en distorsion. Le procédé de compression d'une partie d'image comporte: - une étape (302) de détermination d'au moins une prédiction d'une dite partie d'image, - une étape (307) de détermination d'une distorsion associée à chaque prédiction et - une étape (314) de décision de codage ou non de résidu, en fonction d'au moins la valeur de distorsion associée à chaque prédiction.

Description

Procédé et dispositif d'optimisation de la compression d'un flux vidéo
La présente invention concerne un procédé et un dispositif de compression de parties d'images. Elle s'applique, en particulier au codage d'images et de séquences d'images, notamment en vue de leur transmission sur un réseau informatique, par exemple Internet, ou de leur stockage sur un support d'informations numériques. Ce procédé et ce dispositif peuvent être intégrés à tout système permettant de compresser puis décompresser toute partie d'image sur toutes plates-formes matérielles.
Certaines méthodes d'encodage vidéo emploient des méthodes de prédiction avec codage du résidu. La figure 1 représente, sous forme de schéma bloc fonctionnel, un dispositif mettant en oeuvre une telle méthode. Une prédiction, réalisée par la fonction 102, d'une partie d'une image originale 101 est établie à partir d'autres parties d'une ou plusieurs images postérieures ou antérieures à l'image en cours de codage, ou d'autres éléments de l'image courante. Le résidu 103 est obtenu par la différence 105 entre la prédiction et l'original. Le résidu 103 et la prédiction 102 sont encodés dans le flux vidéo émis, par la fonction d'encodage 104. Cette méthode est typiquement utilisée pour exploiter la redondance temporelle d'une séquence d'images. Elle est plus particulièrement utilisée dans le système de compression des Standards ISO/ITU MPEG et H.261/3/4. Comme illustré en figure 2, qui représente, sous forme d'un logigramme d'étapes, l'état de l'art de la compression de type MPEG (acronyme de « Moving Picture Expert Group » pour groupe d'expert en images animées) la compensation de mouvement est basée sur la comparaison d'un bloc donné de l'image courante à un ensemble de blocs ou de sous blocs de l'image courante ou d'autres images postérieures ou antérieures à l'image courante. Une mesure comparative est établie entre les blocs. Si la mesure de la différence est inférieure à un certain seuil, les blocs sont considérés comme similaires et la différence de position est indiquée par un vecteur mouvement.
Les standards connus de compression vidéo, tel que MPEG, utilisent les deux groupes d'étapes 200 et 210, décrites en regard de la figure 2, pour compresser les images d'un flux vidéo en images non intra, c'est à dire images qui sont encodées par référence à d'autres images du flux vidéo.
L'estimation de mouvement 200 (en anglais "motion estimation") consiste à encoder chaque image à partir d'éléments présents dans d'autres images du flux vidéo, appelées images de référence (souvent l'image précédente, la dernière image intra ou la prochaine image intra). Les étapes effectuées au cours de l'estimation de mouvement 200 sont les suivantes:
- étape 201 : découpage de l'image à encoder en blocs de taille fixe L x H pixels (souvent 16 x 16) ;
- étape 202 : pour chaque bloc de l'image, recherche dans l'image de référence de la zone flottante de L x H pixels la plus similaire au bloc considéré; - étape 203 : pour chaque bloc, stockage du vecteur de déplacement (en anglais
"motion vector") qui indique le déplacement (en coordonnées spatiales) entre le bloc et la zone la plus similaire trouvée au cours de l'étape 202 ;
La compensation de mouvement 210 (en anglais "motion compensation") consiste à compresser le résidu. Les étapes effectuées au cours de la compensation de mouvement 210 sont, pour chaque bloc, les suivantes:
- étape 214: pour chaque bloc, calcul du résidu, c'est à dire de la différence entre le bloc et la zone la plus similaire trouvée. - étape 21 1 : compression du résidu, le plus souvent grâce à une fonction mathématique, telle que la OCT (acronyme de "discrète cosine transform" pour transformée en cosinus discrète) ;
- étape 212 : stockage du résidu compressé et - étape 213 : retour à l'étape 200 pour encoder le bloc suivant, s'il en reste à traiter.
La décompression de la vidéo se fait ensuite de la façon suivante:
- étape 221 : décompression d'une ou plusieurs images intra (images encodées sans référence à d'autres images du flux vidéo) ;
- groupe d'étapes 230 : reconstitution des images non intra en effectuant, pour chaque bloc:
- étape 231 : localisation, grâce au vecteur de déplacement, de la zone la plus similaire d'une autre image du flux vidéo;
- étape 232 : décompression du résidu et
- étape 233 : ajout du résidu à la zone la plus similaire pour obtenir le bloc final et retour à l'étape 230 pour le bloc suivant, s'il en reste à traiter.
Ainsi, lors du décodage du flux vidéo, les blocs des images prédites sont prédits à partir de parties d'autres images et des vecteurs mouvements décodés, auxquels il faut ajouter les coefficients de la compensation de mouvement.
Cet état de l'art a, notamment, pour inconvénient que les étapes de décodage des coefficients de compensation de mouvement, de calcul de la compensation et de compensation du bloc prédit sont coûteuses en ressources.
Dans les encodeurs actuels, différents types d'optimisation sont effectués lors des étapes de compensation. Par exemple, le choix du vecteur mouvement peut se faire suivant différents critères « SAD » (sommes des différences absolues) ou « SSD » (sommes des carrés des différences) qui ne tiennent comptent que de la distorsion engendrée. Lors de l'encodage, plusieurs choix de couples (blocs, vecteurs mouvements) sont possibles. Une optimisation de type « rate distortion optimization " (connue sous l'acronyme de « RDO » en anglais et signifiant optimisation du débit et de la distorsion en français) est utilisée et tient compte du débit engendré pour transmettre l'information (taille prise dans le flux) et de la distorsion apportée par cette information (pertinence de l'information). Le but de la RDO est de trouver un compromis entre débit utilisé par le flux codé et pertinence de l'information à coder. L'algorithme de RDO peut être utilisé lors de la compensation de mouvement. Par exemple, dans la demande de Brevet US2003/0063667 intitulée « Optimal Encoding of motion compensated video » du 29 mai 2002, l'étape d'estimation de mouvement entre deux images fournit plusieurs vecteurs mouvements candidats. Chacun des vecteurs mouvements est alors transformé de la même manière que s'il avait été transformé pour être codé dans le flux vidéo, puis décodé de la même manière que s'il avait été décodé depuis le flux vidéo. La distorsion entre le bloc original et le bloc codé puis décodé, calculée après décodage du vecteur mouvement, est déterminée pour chaque vecteur mouvement candidat. Le vecteur mouvement qui minimise la distorsion et le débit est retenu.
Généralement, la compensation de mouvement est utilisée pour améliorer les coûts en débit et en distorsion. La demande de brevet EP0866622 intitulée « Video Oata compression method » définit une mesure de performance (qui tient compte des paramètres de codage...) qui est appliquée à l'étape de compensation de mouvement dans le but d'améliorer la mesure des coûts en débit et en distorsion.
Dans l'article de En-hui Yang et Xiang Yu de" Rate Distortion Optimization in H.264 ", publié lors de l'atelier organisé pour l'inauguration du « centre de la théorie de l'information et de ses applications », en février 2006, l'algorithme de RDO permet d'établir un critère de décision souple quant au choix de critères de codage des coefficients. On crée un arbre dont les noeuds représentent les différentes étapes de codage et mesurent les coûts en débit et en distorsion engendrés. L'arbre est ensuite parcouru en prenant le chemin optimal (minimisant les coûts en débit et en distorsion) pour obtenir le choix de codage le plus pertinent pour le débit et la distorsion engendrés par le codage des coefficients. Dans la demande de brevet FR2850827 intitulée « Procédé et dispositif de compression de parties d'images », l'étape de compensation de mouvement est éliminée. Cependant, dans certains cas, le rendu visuel est sensiblement détérioré. La présente invention vise à remédier à ces inconvénients. A cet effet, la présente invention vise, selon un premier aspect, un procédé de compression de parties d'images qui comporte:
- une étape de détermination d'au moins une prédiction d'une dite partie d'image à partir d'un ensemble de sous parties d'images postérieures, antérieures, ou de l'image courante.
- une étape facultative de détermination d'un débit associé à chaque prédiction, en fonction de chaque prédiction,
- une étape de détermination d'une distorsion associée à chaque prédiction et - une étape de décision de codage ou non de résidu, en fonction d'au moins la valeur de distorsion associée à chaque prédiction.
Ainsi, l'invention optimise la taille du flux vidéo et les ressources nécessaires à la décompression en ne codant dans le flux vidéo que les données les plus pertinentes.
La mise en oeuvre du procédé, objet de la présente invention, tel que succinctement exposé ci-dessus, permet ainsi d'optimiser les ressources utilisées dans le décodeur en optimisant le codage du résidu.
Grâce à ces dispositions, si les informations apportées par le résidu ne sont pas suffisamment pertinentes ou utiles, le résidu n'est pas codé dans le flux. On évite ainsi, pour certains blocs, le décodage des coefficients du résidu et l'ajout du résidu au bloc reconstruit, qui sont coûteux en ressources.
La détermination de la distorsion liée au seul code de chaque prédiction est exacte puisque l'on dispose, au niveau du codage, de la partie d'image telle qu'elle serait décodée en l'absence de compensation de mouvement.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre:
- une étape de détermination de résidu, différence entre une prédiction représentative de chaque prédiction et la partie d'image à compresser,
- une étape de détermination de débit associé au résidu,
- une étape de détermination de distorsion associée au résidu, - ladite étape de décision mettant en oeuvre ledit débit associé au résidu et la distorsion associée au résidu.
Ainsi on ne code les coefficients associés au résidu, que si l'utilisation de ce résidu limite la distorsion de manière satisfaisante et que le codage des coefficients de ce résidu ne génère pas un débit trop important. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre:
- une étape de transformation dudit résidu dans le domaine fréquentiel, - une étape de quantification du résidu transformé,
- une étape de déquantification du résidu transformé quantifié,
- une étape de transformation, dans le domaine spatial, du résidu transformé, quantifié et déquantifié, ladite étape de détermination de débit et de la distorsion associés à chaque résidu étant fonction dudit résidu et de la transformation, dans le domaine spatial, du résidu transformé, quantifié et déquantifié.
Grâce à ces dispositions, la détermination de la distorsion liée au codage du résidu est exacte puisque l'on dispose, au niveau du codage, du résidu qui serait obtenu au niveau du décodage.
Selon des caractéristiques particulières, l'étape de décision comporte la comparaison de paramètres de décision RDI et RD2 calculés de la manière suivante: RDl= Rp*ε + Dp = k +Dp; RD2= (Rp+Rr)* ε + Dr= k+ Rr* ε +Dr Où:
- Rp est le débit associé à chaque prédiction
- Dp est la distorsion associée à chaque prédiction,
- Rr est le débit associé au résidu,
- Dr est la distorsion associée au résidu et - ε est un coefficient prédéterminé positif
- k est le produit de Rp et ε. Il n'est pas nécessaire de le déterminer pour effectuer les comparaisons ci-dessous puisque le terme est présent dans RDI et RD2.
Selon des caractéristiques particulières, au cours de l'étape de décision: - si RDI < RD2, on effectue uniquement la transmission de chaque prédiction et - si RDI > RD2, on effectue la transmission de chaque prédiction et du résidu.
L'étape de détermination du Rp, débit associé à chaque prédiction, n'est pas nécessaire puisque le terme « Rp* ε " est commun aux deux paramètres de décisions RDI et RD2. Il est donc possible de comparer RDI à RD2, sans calculer k. Grâce à ces dispositions, la décision est simple à mettre en oeuvre et liée à un critère débit-distorsion connu. Selon des caractéristiques particulières, l'étape de décision comporte la comparaison d'un paramètre de décision RDI et d'une valeur seuil RDs qui dépend de ε, avec RDI = Rp*ε + Dp où :
- Rp est le débit associé à chaque prédiction, - Dp est la distorsion associée à chaque prédiction et
- ε est un coefficient prédéterminé positif. si RDI < RDs, seule chaque prédiction est codée et si RD 1> RDs, chaque prédiction et le résidu sont codés.
Grâce à ces dispositions, le codeur est simplifié et on limite les ressources consommées au codage puisque la décision de coder le résidu ne dépend que d'un critère débit distorsion ne tenant compte que des débits et distorsion liés à chaque prédiction.
Selon des caractéristiques particulières, si l'on considère comme précédemment que la valeur « Rp* ε » est un terme qui n'a pas d'influence sur l'étape de décision, alors l'étape de décision comporte la comparaison d'un paramètre de décision RDI et d'une valeur seuil RDs qui dépend de ε, avec RDl= Dp où:
- Dp est la distorsion associée à chaque prédiction, et
- ε est un coefficient prédéterminé positif. si RDI < RDs, seule chaque prédiction est codée et si RD 1> RDs, chaque prédiction et le résidu sont codés.
Grâce à ces dispositions, le codeur est simplifié et on limite les ressources consommées au codage puisque la décision de coder le résidu ne dépend que d'un critère distorsion.
Selon des caractéristiques particulières, l'étape de décision comporte la comparaison d'un paramètre de décision RDI et d'une valeur seuil RDs qui dépend de ε, avec RDl= Rp *ε + Dp =k+Dp Où:
- Rp est le débit associé à chaque prédiction
- Dp est la distorsion associée à chaque prédiction, - ε est un coefficient prédéterminé positif, et
- k est le produit de Rp et ε. Il n'est pas nécessaire de le déterminer pour effectuer les comparaisons entre RDI et RD2 puisque le terme est présent dans RDI et RD2, et il est facultatif pour effectuer les comparaisons entre RDI et RDs.
Si RDI < RDs, seule chaque prédiction est codée et si RD 1> RDs, alors le calcul du résidu est effectué ainsi que la détermination du débit Rr et de la distorsion Dr du résidu, RD2 est calculé de la manière suivante RD2= k+Rr*ε + Dr : où: - Rr est le débit associé au résidu,
- Dr est la distorsion associée au résidu.
Si RDI < RD2, on effectue uniquement la transmission de chaque prédiction et si RD 1> RD2, on effectue la transmission de chaque prédiction et du résidu.
L'étape de détermination du Rp, débit associé à chaque prédiction, n'est pas nécessaire puisque le terme « Rp* ε » est commun aux deux paramètres de décisions RDI et RD2. Il est donc possible de comparer RDI et RD2 sans calculer k.
Grâce à chacune de ces dispositions, le codeur est simplifié et on limite les ressources consommées au codage puisque la décision de coder le résidu ne dépend que d'un critère débit distorsion ne tenant compte que de la distorsion et éventuellement des débits liés à chaque prédiction.
Selon un deuxième aspect, la présente invention vise un dispositif de compression d'une partie d'image, qui comporte:
- un moyen de détermination d'au moins une prédiction d'une dite partie d'image,
- un moyen de détermination de distorsion associée à chaque prédiction et - un moyen de décision de codage ou non de résidu, en fonction d'au moins la valeur de distorsion associée à chaque prédiction.
Les avantages, buts et caractéristiques de ce dispositif étant similaires à ceux du procédé, objet de la présente invention, tel que succinctement exposé ci-dessus, ne sont pas rappelés ici. D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite, dans un but explicatif et nullement limitatif en regard des dessins annexés, dans lesquels:
- la figure 1 représente, sous forme d'un schéma-bloc fonctionnel, un procédé de codage avec codage de la prédiction et de son résidu connu dans l'art antérieur,
- la figure 2 représente, sous forme d'un logigramme, des étapes mises en oeuvre dans un procédé de compression et dans un procédé de décompression d'images associées, connus dans l'art antérieur,
- les figures 3 à 6 représentent, sous forme de logigrammes, des étapes mises en oeuvre dans des modes de réalisation particuliers du procédé objet de la présente invention et
- la figure 7 représente un mode de réalisation particulier du dispositif objet de la présente invention.
Dans le mode de réalisation particulier illustré en figure 3, au cours d'une étape 301, l'image à coder est décomposée en blocs et stockée dans une zone mémoire d'un dispositif de codage ou de compression. Les étapes suivantes, 302 à 316, sont effectuées, successivement, pour chaque bloc de l'image à coder.
Au cours d'une étape 302, on effectue une estimation de mouvement de manière connue, par exemple comme décrit dans la demande de brevet FR2850827 pour fournir une prédiction, par rapport à chaque image de référence.
Au cours d'une étape 312, la distorsion occasionnée par chaque prédiction encodée est déterminée et stockée en mémoire, et facultativement, le débit correspondant à chaque prédiction est déterminé et stocké en mémoire.
Une mesure de la distorsion correspondant au bloc obtenu au cours de l'étape 312, est alors calculée, par exemple par la méthode SSD. Cette distorsion correspond, ainsi que la distorsion que générerait le décodage, avec la ou les seule(s) prédiction(s) codée(s) dans le flux vidéo.
Parallèlement à l'étape 312, au cours d'une étape 303, on détermine la différence entre la prédiction et le bloc original à coder, et on écrit en mémoire le résidu, c'est-à-dire le résultat de cette différence.
Au cours d'une étape 308, on transforme le résidu dans le domaine fréquentiel. Puis, au cours d'une étape 309, on quantifie la transformée du résidu et on effectue le codage du résidu transformé quantifié.
Au cours d'une étape 310, on effectue la quantification inverse de la transformée du résidu quantifiée. Au cours d'une étape 311, on effectue la transformée dans le domaine spatial du résultat de l'étape 310. Le résultat ainsi obtenu est le résidu que décoderait le dispositif de décodage à partir du flux vidéo codé.
Au cours de l'étape 313, on détermine le débit nécessaire à l'encodage du résidu transformé et quantifié résultant de l'étape 309 et on calcule la distorsion que générerait le résidu décodé issu de l'étape 311. On stocke en mémoire ces débit et distorsion.
Au cours d'une étape 314, on détermine si, pour le bloc considéré, le résultat de l'étape 309 doit être transmis au dispositif de décodage. A cet effet, à partir des données en mémoire, les paramètres de décision RDI et RD2 suivants sont calculés:
RDl= Rp*ε + Dp = k +Dp ;
RD2= (Rp+Rr)* ε + Dr= k+ Rr* ε +Dr où:
- Rp est le débit du bloc prédit,
- Dp est la distorsion du bloc prédit, - Rr le débit du résidu,
- Dr, la distorsion du résidu et
- ε, positif, est fixé par le concepteur ou l'utilisateur du codeur/décodeur ou est paramétré en fonction des ressources disponibles au niveau du dispositif de décodage. - k est le produit de Rp et ε. D n'est pas nécessaire de le déterminer pour effectuer les comparaisons ci-dessous puisque le terme est présent dans RDI et RD2.
Si RDI < RD2, le codage des données de la compensation de mouvement n'est pas pertinent vis-à-vis des coûts en débit et des gains en distorsion. Dans ce cas, au cours d'une étape 316, seule chaque prédiction est codée dans le flux vidéo, par exemple par le biais du codage de son ou ses vecteurs mouvements. Si RDI > RD2, le codage des données de la compensation de mouvement est pertinent vis-à-vis des coûts en débit et des gains en distorsion. Dans ce cas, au cours d'une étape 315, chaque prédiction et la compensation de mouvement sont codées dans le flux vidéo, par exemple par le biais du codage de son ou ses vecteurs mouvements et du résidu transformé et quantifié.
RDI représente un critère débit-distorsion lié au seul codage de chaque prédiction et RD2 représente un critère débit-distorsion lié au codage de chaque prédiction et du résidu.
Dans la mesure de RD2, le facteur représentant le débit est (Rp+Rr), on peut donc tenir compte des deux débits: celui du bloc prédit et celui du résidu, puisque le résidu est encodé nécessairement avec le bloc prédit. Mais, l'étape de détermination du Rp, débit associé à chaque prédiction, n'est pas nécessaire puisque le terme « Rp* ε » est commun aux deux paramètres de décisions RDI et RD2. D est donc possible de comparer RDI et RD2 sans calculer k. Dans un second mode de réalisation particulier décrit en regard de la figure 4, au cours d'une étape 401, on décompose l'image à coder en blocs et on stocke les blocs de l'image à coder dans une zone mémoire. Les étapes suivantes, 402 à 416, sont effectuées, successivement, pour chaque bloc de l'image à coder.
Au cours d'une étape 402, on effectue une estimation de mouvement et on fournit au moins une prédiction.
Au cours de l'étape 405, on détermine la distorsion Dp engendrée par la prédiction.
De manière facultative le débit Rp nécessaire à l'envoi de chaque prédiction est déterminé.
Parallèlement à l'étape 405, au cours d'une étape 403, on détermine la différence entre la prédiction et le bloc correspondant de l'image originale à coder et on met en mémoire cette différence, appelée « résidu ».
Au cours d'une étape 408, on effectue une transformation en fréquences du résidu par une transformation de type DCT, et on effectue une quantification de la transformée du résidu. Au cours d'une étape 413, on détermine le débit Rr nécessaire à l'encodage du résidu transformé et quantifié et la distorsion Dr que générerait le résidu codé et on stocke ces résultats en mémoire. Au cours d'une étape 414, on détermine si, pour le bloc considéré, le résultat de l'étape 413 doit être transmis au dispositif de décodage. A cet effet, à partir des données en mémoire, les paramètres de décision RDI et RD2 suivants sont calculés:
RDl= Rp*ε + Dp = k +Dp ; RD2= (Rp+Rr)* ε + Dr= k+ Rr* ε +Dr où:
- Rp est le débit du bloc prédit,
- Dp est la distorsion du bloc prédit,
- Rr le débit du résidu, - Dr, la distorsion du résidu et
- ε, positif, est fixé par le concepteur ou l'utilisateur du codeur/décodeur ou est paramétré en fonction des ressources disponibles au niveau du dispositif de décodage
- k est le produit de Rp et ε. Il n'est pas nécessaire de le déterminer pour effectuer les comparaisons ci-dessous puisque le terme est présent dans RDI et RD2.
RDI représente un critère débit-distorsion lié au seul codage de chaque prédiction et RD2 représente un critère débit-distorsion lié au codage de chaque prédiction et du résidu.
Dans la mesure de RD2, le facteur représentant le débit est (Rp+Rr), on peut donc tenir compte des deux débits: celui du bloc prédit et celui du résidu, puisque le résidu est encodé nécessairement avec le bloc prédit. Mais, l'étape de détermination de Rp, débit associé à chaque prédiction, n'est pas nécessaire puisque le terme « Rp* ε » est commun aux deux paramètres de décisions RDI et RD2. D est donc possible de comparer RDI et RD2 sans déterminer k. Si RDI < RD2, le codage des données de la compensation de mouvement n'est pas pertinent vis-à-vis des coûts en débit et des gains en distorsion, et seule chaque prédiction est codée dans le flux vidéo, au cours de l'étape 416.
Si RDI > RD2, le codage des données de la compensation de mouvement est pertinent vis-à-vis des coûts en débit et des gains en distorsion et, au cours d'une étape 415, le bloc prédit et la compensation de mouvement sont codés dans le flux vidéo.
Ainsi, en comparaison au mode de réalisation illustré en figure 3, dans le deuxième mode de réalisation illustré en figure 4, on n'effectue ni les étapes de quantification inverse, ni celles de transformée inverse du résidu transformé et quantifié.
On calcule à partir du résidu transformé et quantifié, le débit et la distorsion qui seraient générés par la compensation de mouvement dans le flux codé. En conséquence, dans le deuxième mode de réalisation, on ne tient pas compte des erreurs d'arrondis engendrés par la quantification et la transformée.
Dans un troisième mode de réalisation illustré en figure 5, au cours d'une étape
501, on décompose l'image à coder en blocs et on stocke les blocs de l'image à coder en mémoire. Les étapes suivantes 502 à 516 sont effectuées, successivement, pour chaque bloc de l'image à coder. Au cours d'une étape 502, on effectue l'estimation de mouvement du bloc courant de l'image à coder et on fournit au moins une prédiction.
Puis, au cours d'une étape 503, on effectue la différence entre la prédiction et le bloc de l'image originale à coder et on écrit en mémoire le résultat de cette différence, ou résidu. Au cours d'une étape 514, on estime, avec des tables, la distorsion Dp et facultativement le débit Rp que générerait le codage de chaque prédiction dans le flux vidéo et on stocke Dp et facultativement Rp en mémoire, on estime, avec des tables, le débit Rr et la distorsion Dr que générerait le codage du résidu dans le flux vidéo et on stocke Rp et Dp en mémoire. Au cours de l'étape 514, on détermine si, pour le bloc considéré, le résidu doit être transmis au dispositif de décodage. A cet effet, à partir des données en mémoire, les paramètres de décision RDI et RD2 suivants sont calculés: RDl= Rp*ε + Dp = k +Dp; RD2= (Rp+Rr)* ε + Dr= k+ Rr* ε +Dr où:
- Rp est le débit du bloc prédit,
- Dp est la distorsion du bloc prédit,
- Rr le débit du résidu,
- Dr, la distorsion du résidu et - ε, positif, est fixé par le concepteur ou l'utilisateur du codeur/décodeur ou est paramétré en fonction des ressources disponibles au niveau du dispositif de décodage. - k est le produit de Rp et ε. D n'est pas nécessaire de le déterminer pour effectuer les comparaisons ci-dessous puisque le terme est présent dans RDI et RD2. RDI représente un critère débit-distorsion lié au seul codage de chaque prédiction et RD2 représente un critère débit-distorsion lié au codage de chaque prédiction et du résidu. Dans la mesure de RD2, le facteur représentant le débit est (Rp+Rr), on peut donc tenir compte des deux débits: celui du bloc prédit et celui du résidu, puisque le résidu est encodé nécessairement avec le bloc prédit. Mais, l'étape de détermination du Rp, débit associé à chaque prédiction, n'est pas nécessaire puisque le terme « Rp* ε» est commun aux deux paramètres de décisions RDI et RD2. Il est donc possible de comparer RDI et RD2 sans déterminer k.
Si RDI < RD2, le codage des données de la compensation de mouvement n'est pas pertinent vis-à-vis des coûts en débit et des gains en distorsion, et seule chaque prédiction est codée dans le flux vidéo, au cours de l'étape 516.
Si RDI > RD2, le codage des données de la compensation de mouvement est pertinent vis-à-vis des coûts en débit et des gains en distorsion et, au cours d'une étape 515, le bloc prédit et la compensation de mouvement sont codés dans le flux vidéo.
Ainsi, il est possible d'avoir un flux moins coûteux en ressources au moment du décodage mais aussi moins coûteux en ressources à coder puisque l'on supprime, pour certains blocs, l'étape de codage de la compensation de mouvement.
Dans un quatrième mode de réalisation illustré en figure 6, l'image à coder est décomposée en blocs et stockée dans une zone mémoire, au cours d'une étape 601. Les étapes suivantes 602 à 616 sont effectuées, successivement, pour chaque bloc de l'image à coder. Au cours d'une étape 602, on effectue l'estimation de mouvement du bloc de l'image à coder et on fournit au moins une prédiction.
Au cours d'une étape 614, on calcule le débit Rp et facultativement la distorsion
Dp que générerait le codage de chaque prédiction dans le flux vidéo et on stocke Rp et facultativement Dp en mémoire. Au cours de l'étape 614, on détermine si une compensation de mouvement, ou un résidu, doit être codé, de la manière suivante: on calcule le paramètre de décision RDI = Rp*ε + Dp où:
- Rp est le débit du bloc prédit (facultatif),
- Dp est la distorsion du bloc prédit et - ε, positif, est fixé par le concepteur ou l'utilisateur du codeur/décodeur ou est paramétré en fonction des ressources disponibles au niveau du dispositif de décodage.
Si RDI < RDs, où RDs est une valeur seuil déterminée par le concepteur du codeur, seule chaque prédiction est codée dans le flux vidéo, au cours de l'étape 616. Si RDI > RDs, le bloc prédit est codé dans le flux vidéo et la compensation de mouvement du bloc prédit est déterminée puis codée dans le flux vidéo lors de l'étape 615.
Si l'on considère comme précédemment que la valeur « Rp* ε » est un terme qui n'a pas d'influence sur l'étape de décision, alors l'étape de décision comporte la comparaison du paramètre de décision RDI calculé par RDI = Dp et de la valeur seuil RDs qui dépend de ε.
Ainsi il est possible d'avoir un flux moins coûteux en ressource au décodage mais aussi moins coûteux en ressources à coder puisque l'on supprime, pour certains blocs, l'étape de codage de la compensation de mouvement. On observe que, en variantes, on met en oeuvre le taux de RDO connu de l'homme du métier.
On observe, en figure 7, un mode de réalisation particulier d'un dispositif de compression de parties d'images 705, objet de la présente invention. Ce dispositif 705 comporte une entrée de signaux représentatifs d'images 725, un processeur 710, une mémoire de programme 715, une mémoire d'images 720 et une sortie de signaux d'images compressés 730.
Le processeur 710 est de type connu. En combinaison avec les mémoires 715 et 720, il est adapté à mettre en oeuvre un mode de réalisation du procédé objet de la présente invention, par exemple l'un de ceux illustrés en figures 3 à 6. A cet effet, la mémoire de programme 715 contient des instructions lisibles par le processeur 710 et implémentant les étapes du procédé à mettre en oeuvre. Ainsi, en combinaison avec les mémoires 715 et 720, le processeur 710 constitue, au moins:
- un moyen de détermination d'au moins une prédiction d'une dite partie d'image,
- un moyen de détermination de distorsion associée à chaque prédiction et - un moyen de décision de codage ou non de résidu, en fonction d'au moins les valeurs de débit et de distorsion associées à chaque prédiction.
Dans un mode particulier de réalisation de l'invention, une prédiction d'un bloc peut être réalisée à partir d'un ensemble de blocs précédemment traités et appartenant à la même image que le bloc en cours de traitement. Cette prédiction peut s'effectuer grâce à une fonction appliquée à cet ensemble de blocs, par exemple la fonction peut être une combinaison de l'information colorimétrique des blocs adjacents au bloc en cours de traitement.

Claims

REVENDICATIONS
- Procédé de compression d'une partie d'image, caractérisé en ce qu'il comporte:
- une étape (302, 402, 502, 602) de détermination d'au moins une prédiction d'une dite partie d'image,
- une étape (312, 405, 514, 614) de détermination d'une distorsion associée à chaque prédiction et
- une étape (314, 414, 514, 614) de décision de codage ou non de résidu, en fonction d'au moins la valeur de distorsion associée à chaque prédiction.
- Procédé selon la revendication 1, caractérisé en ce qu'il comporte, en outre:
- une étape (303) de détermination de résidu, différence entre une prédiction représentative de chaque prédiction et la partie d'image à compresser,
- une étape (313) de détermination de débit associé au résidu, - une étape (313) de détermination de distorsion associée au résidu,
- ladite étape (314) de décision mettant en oeuvre ledit débit associé au résidu et la distorsion associée au résidu.
- Procédé selon la revendication 2, caractérisé en ce qu'il comporte, en outre: - une étape (308) de transformation dudit résidu dans le domaine fréquentiel,
- une étape (309) de quantification du résidu transformé,
- une étape (310) de déquantification du résidu transformé quantifié,
- une étape (311) de transformation, dans le domaine spatial, du résidu transformé, quantifié et déquantifié, - ladite étape (313) de détermination de débit associé à chaque résidu étant fonction dudit résidu et de la transformation, dans le domaine spatial, du résidu transformé, quantifié et déquantifié.
- Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'étape de décision (314, 414, 514) comporte la comparaison de paramètres de décision RDI et RD2 calculés de la manière suivante: RDI = k + Dp ; RD2= k + Rr*ε + Dr Où:
- Rp est le débit associé à chaque prédiction - Dp est la distorsion associée à chaque prédiction,
- Rr est le débit associé au résidu,
- Dr est la distorsion associée au résidu et
- ε est un coefficient prédéterminé positif
- k est un terme facultatif.
- Procédé selon la revendication 4, caractérisé en ce que, au cours de l'étape de décision (314, 414, 514) :
- si RDI < RD2, on n'effectue que la transmission de chaque prédiction et
- si RDI > RD2, on effectue la transmission de chaque prédiction et du résidu.
- Procédé selon les revendications 1 à 2, caractérisé en ce que l'étape de décision (614) comporte la comparaison d'un paramètre de décision RDI et d'une valeur seuil RDs, avec RDl= k + Dp où : - k est un terme facultatif
- Dp est la distorsion associée à chaque prédiction et
- ε est un coefficient prédéterminé positif.
- Procédé selon la revendication 6, caractérisé en ce que, si RD 1< RDs, seule chaque prédiction est codée et si RD1> RDs, chaque prédiction et le résidu sont codés.
- Procédé selon l'une quelconque des revendications 4 à 7, caractérisé en ce qu'il comporte une étape de détermination d'un débit, Rp, associé à chaque prédiction, permettant le calcul du terme k, avec k= Rp* ε. - Dispositif de compression d'une partie d'image, caractérisé en ce qu'il comporte:
- un moyen (710, 715, 720) de détermination d'au moins une prédiction d'une dite partie d'image,
- un moyen (710, 715, 720) de détermination de distorsion associée à chaque prédiction et
- un moyen (710, 715, 720) de décision de codage ou non de résidu, en fonction d'au moins les valeurs de débit et de distorsion associées à chaque prédiction.
PCT/EP2007/009315 2006-10-27 2007-10-26 Procede et dispoitif d'optimisation de la compression d'un flux video WO2008049628A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/446,835 US8532179B2 (en) 2006-10-27 2007-10-26 Method and device for optimizing the compression of a video stream
JP2009533739A JP5468383B2 (ja) 2006-10-27 2007-10-26 ビデオストリームの圧縮を最適化するための方法および装置
EP07819360A EP2084910A1 (fr) 2006-10-27 2007-10-26 Procede et dispoitif d'optimisation de la compression d'un flux video
US13/966,008 US9628791B2 (en) 2006-10-27 2013-08-13 Method and device for optimizing the compression of a video stream

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR06/09432 2006-10-27
FR0609432A FR2907989B1 (fr) 2006-10-27 2006-10-27 Procede et dispositif d'optimisation de la compression d'un flux video

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US12/446,835 A-371-Of-International US8532179B2 (en) 2006-10-27 2007-10-26 Method and device for optimizing the compression of a video stream
US13/966,008 Continuation US9628791B2 (en) 2006-10-27 2013-08-13 Method and device for optimizing the compression of a video stream

Publications (1)

Publication Number Publication Date
WO2008049628A1 true WO2008049628A1 (fr) 2008-05-02

Family

ID=38293927

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/009315 WO2008049628A1 (fr) 2006-10-27 2007-10-26 Procede et dispoitif d'optimisation de la compression d'un flux video

Country Status (5)

Country Link
US (2) US8532179B2 (fr)
EP (1) EP2084910A1 (fr)
JP (1) JP5468383B2 (fr)
FR (1) FR2907989B1 (fr)
WO (1) WO2008049628A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2907989B1 (fr) 2006-10-27 2009-01-16 Actimagine Sarl Procede et dispositif d'optimisation de la compression d'un flux video
US9131239B2 (en) * 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
US10334245B2 (en) 2013-05-31 2019-06-25 Intel Corporation Adjustment of intra-frame encoding distortion metrics for video encoding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832234A (en) * 1995-09-29 1998-11-03 Intel Corporation Encoding images using block-based macroblock-level statistics
WO2003054795A2 (fr) * 2001-12-21 2003-07-03 Koninklijke Philips Electronics N.V. Codage d'images
WO2003091850A2 (fr) * 2002-04-26 2003-11-06 The Trustees Of Columbia University In The City Of New York Procede et systeme de transcodage video optimal fonde sur des descripteurs de fonction de programme utilitaire
US20040156552A1 (en) * 2003-02-03 2004-08-12 Actimagine Process and device for the compression of portions of images
WO2005055612A1 (fr) * 2003-12-02 2005-06-16 Sungkyunkwan University Procede et appareil de codage video

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0710103B2 (ja) * 1987-06-11 1995-02-01 三菱電機株式会社 画像符号化伝送装置
JP3206413B2 (ja) * 1995-12-15 2001-09-10 ケイディーディーアイ株式会社 可変フレームレート動画像符号化方法
JP3738511B2 (ja) * 1997-01-20 2006-01-25 三菱電機株式会社 動画像符号化方式
US6944350B2 (en) * 1999-12-17 2005-09-13 Utah State University Method for image coding by rate-distortion adaptive zerotree-based residual vector quantization and system for effecting same
JP4193406B2 (ja) * 2002-04-16 2008-12-10 三菱電機株式会社 映像データ変換装置および映像データ変換方法
JP2006157214A (ja) * 2004-11-26 2006-06-15 Victor Co Of Japan Ltd 動画像符号化装置
KR101246915B1 (ko) * 2005-04-18 2013-03-25 삼성전자주식회사 동영상 부호화 또는 복호화 방법 및 장치
US7876819B2 (en) * 2005-09-22 2011-01-25 Qualcomm Incorporated Two pass rate control techniques for video coding using rate-distortion characteristics
US8208548B2 (en) * 2006-02-09 2012-06-26 Qualcomm Incorporated Video encoding
US8494052B2 (en) * 2006-04-07 2013-07-23 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
US9036712B1 (en) * 2006-05-08 2015-05-19 Geo Semiconductor Inc. Methods and/or apparatus for controlling zero-residual coding in predictive image/video coding
KR101311403B1 (ko) * 2006-07-04 2013-09-25 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
FR2907989B1 (fr) 2006-10-27 2009-01-16 Actimagine Sarl Procede et dispositif d'optimisation de la compression d'un flux video

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832234A (en) * 1995-09-29 1998-11-03 Intel Corporation Encoding images using block-based macroblock-level statistics
WO2003054795A2 (fr) * 2001-12-21 2003-07-03 Koninklijke Philips Electronics N.V. Codage d'images
WO2003091850A2 (fr) * 2002-04-26 2003-11-06 The Trustees Of Columbia University In The City Of New York Procede et systeme de transcodage video optimal fonde sur des descripteurs de fonction de programme utilitaire
US20040156552A1 (en) * 2003-02-03 2004-08-12 Actimagine Process and device for the compression of portions of images
WO2005055612A1 (fr) * 2003-12-02 2005-06-16 Sungkyunkwan University Procede et appareil de codage video

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
See also references of EP2084910A1 *
WENJUN ZENG ET AL: "Geometric-Structure-Based Error Concealment with Novel Applications in Block-Based Low-Bit-Rate Coding", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 9, no. 4, June 1999 (1999-06-01), XP011014587, ISSN: 1051-8215 *
ZENG W ET AL: "RATE SHAPING BY BLOCK DROPPING FOR TRANSMISSION OF MPEG-PRECODED VIDEO OVER CHANNELS OF DYNAMIC BANDWIDTH", PROCEEDINGS OF ACM MULTIMEDIA 96. BOSTON, NOV. 18 - 22, 1996, NEW YORK, ACM, US, 18 November 1996 (1996-11-18), pages 385 - 393, XP000734732, ISBN: 0-89791-871-1 *

Also Published As

Publication number Publication date
JP2010507946A (ja) 2010-03-11
EP2084910A1 (fr) 2009-08-05
US20100027623A1 (en) 2010-02-04
JP5468383B2 (ja) 2014-04-09
US8532179B2 (en) 2013-09-10
FR2907989B1 (fr) 2009-01-16
FR2907989A1 (fr) 2008-05-02
US20130329792A1 (en) 2013-12-12
US9628791B2 (en) 2017-04-18

Similar Documents

Publication Publication Date Title
EP2981088B1 (fr) Support d&#39;enregistrement mémorisant un flux de données d&#39;images codées
EP2985998B1 (fr) Support d&#39;enregistrement mémorisant un flux de données d&#39;images codées
FR2948845A1 (fr) Procede de decodage d&#39;un flux representatif d&#39;une sequence d&#39;images et procede de codage d&#39;une sequence d&#39;images
FR3023112A1 (fr) Procede de codage d&#39;une image numerique, procede de decodage, dispositifs et programmes d&#39;ordinateurs associes
FR2743246A1 (fr) Procede et dispositif de compression de donnees numeriques
WO2008049628A1 (fr) Procede et dispoitif d&#39;optimisation de la compression d&#39;un flux video
EP3632103B1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
FR2975856A1 (fr) Procede de codage et de decodage d&#39;images, dispositif de codage et de decodage d&#39;images et programmes d&#39;ordinateur correspondants
FR2955995A1 (fr) Procede et dispositif de traitement d&#39;une sequence video
FR3047379A1 (fr) Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d&#39;ordinateur correspondants
EP3456045B1 (fr) Procedes et dispositifs de codage et de decodage d&#39;un flux de donnees representatif d&#39;au moins une image
FR2957744A1 (fr) Procede de traitement d&#39;une sequence video et dispositif associe
EP2364552A1 (fr) Dispositif d&#39;encodage d&#39;un flux d&#39;images numeriques et dispositif de decodage correspondant avec approximation du voisinage d&#39;un bloc par le voisinage elargi du bloc
WO2016132074A1 (fr) Codage d&#39;images par quantification vectorielle
WO2016132075A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
WO2022175626A1 (fr) Determination d&#39;un mode de codage d&#39;image
FR2956552A1 (fr) Procede de codage ou de decodage d&#39;une sequence video, dispositifs associes
FR2851109A1 (fr) Procede et dispositif de determination de parametres d&#39;un modele d&#39;estimation de la distorsion d&#39;une sequence d&#39;images
FR3010605A1 (fr) Procede de codage et de decodage de donnes flottantes d&#39;un bloc d&#39;image et dispositifs associes

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: 07819360

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2007819360

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12446835

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2009533739

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE