FR2790853A1 - METHOD FOR COMPRESSING DIGITAL IMAGES IN WHICH A CODING QUALITY FACTOR IS ATTACHED TO EACH AREA - Google Patents
METHOD FOR COMPRESSING DIGITAL IMAGES IN WHICH A CODING QUALITY FACTOR IS ATTACHED TO EACH AREA Download PDFInfo
- Publication number
- FR2790853A1 FR2790853A1 FR0000511A FR0000511A FR2790853A1 FR 2790853 A1 FR2790853 A1 FR 2790853A1 FR 0000511 A FR0000511 A FR 0000511A FR 0000511 A FR0000511 A FR 0000511A FR 2790853 A1 FR2790853 A1 FR 2790853A1
- Authority
- FR
- France
- Prior art keywords
- coding
- quality factor
- image
- determined
- quality
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/192—Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
Abstract
L'invention est relative à un procédé de codage d'images numérisées en vue de leur compression dans lequel l'image est séparée en zones, tels que des macroblocs, codées individuellement. Ce procédé est caractérisé en ce qu'on applique un filtrage (10) à l'image source et un filtrage à la même image issue du décodage de l'image codée, de façon à déterminer un facteur de qualité pour chaque zone, représentant l'écart (20) entre l'image décodée et l'image source, et en ce que ce facteur de qualité est utilisé pour modifier un paramètre de codage de chaque zone de façon à minimiser les écarts entre facteurs de qualité des diverses zones. De préférence, le filtrage est psycho-visuel. Application au codage MPEG.The invention relates to a method for coding digitized images with a view to their compression in which the image is separated into zones, such as macroblocks, individually coded. This method is characterized in that a filtering (10) is applied to the source image and a filtering to the same image resulting from the decoding of the coded image, so as to determine a quality factor for each zone, representing l 'difference (20) between the decoded picture and the source picture, and in that this quality factor is used to modify an encoding parameter of each area so as to minimize the differences between quality factors of the various areas. Preferably, the filtering is psycho-visual. Application to MPEG coding.
Description
PROCEDE DE COMPRESSION D'IMAGES NUMERISEES DANS LEQUEL UNMETHOD FOR COMPRESSING DIGITAL IMAGES IN WHICH A
FACTEUR DE QUALITE DE CODAGE EST ATTACHE A CHAQUE ZONE CODING QUALITY FACTOR IS ATTACHED TO EACH AREA
L'invention est relative à un procédé de compression The invention relates to a compression method
d'images numérisées.of scanned images.
Une image numérisée correspond à une grande quantité d'informations. Pour stocker et/ou transmettre des informations d'images, notamment d'images animées, il est donc nécessaire de A scanned image corresponds to a large amount of information. To store and / or transmit image information, in particular moving images, it is therefore necessary to
faire appel à des procédés de compression permettant d'enregis- use compression methods to record
trer ou de transmettre un nombre réduit de données numériques sort or transmit a reduced number of digital data
sans altérer la qualité de l'image reproduite. without affecting the quality of the reproduced image.
La compression consiste à utiliser diverses techniques Compression involves using various techniques
permettant d'éviter la transmission ou l'enregistrement d'infor- to avoid the transmission or recording of information
mations redondantes et un codage de Huffman affectant un nombre de chiffres (bits) réduit aux informations qui apparaissent le plus fréquemment. La compression fait aussi appel aux propriétés de la vision humaine, en particulier au fait que l'oeil humain redundant mations and Huffman coding assigning a reduced number of digits (bits) to the information which appears most frequently. Compression also uses the properties of human vision, particularly the fact that the human eye
est moins sensible aux détails fins (hautes fréquences spa- is less sensitive to fine details (high frequencies spa-
tiales) qu'aux détails grossiers (basses fréquences spatiales) et que la visibilité des détails fins diminue quand le mouvement augmente. Ainsi, les procédés de compression font appel à une coarse detail (low spatial frequencies) and the visibility of fine detail decreases as movement increases. Thus, compression processes use a
transformation qui affecte un poids plus important aux fré- transformation which assigns a greater weight to the
quences spatiales basses qu'aux fréquences spatiales hautes. low spatial frequencies than high spatial frequencies.
Dans le procédé courant de compression faisant l'objet de la norme MPEG, on utilise la transformée cosinus discrète (DCT, In the current compression process which is the subject of the MPEG standard, the discrete cosine transform (DCT,
"Discrete Cosine Transform")."Discrete Cosine Transform").
Dans ce qui suit, pour simplifier, on se référera surtout à la norme MPEG2 bien que l'invention ne soit pas limi- In what follows, for simplicity, reference will be made above all to the MPEG2 standard although the invention is not limited to
tée à cette norme.to this standard.
Dans ce procédé, l'image est divisée en macroblocs de 16x16 éléments d'images (pixels ou pels), chaque macrobloc étant In this method, the image is divided into macroblocks of 16 × 16 picture elements (pixels or pels), each macroblock being
formé de 4 blocs dont chacun présente 8 x 8 pixels. formed of 4 blocks, each of which has 8 x 8 pixels.
Selon la norme MPEG2, on transforme chaque macrobloc de 16x16 pixels en un macrobloc de coefficients d'une matrice According to the MPEG2 standard, each macroblock of 16x16 pixels is transformed into a macroblock of coefficients of a matrix
dont les lignes correspondent aux fréquences spatiales horizon- whose lines correspond to the horizontal space frequencies
tales et les colonnes correspondent aux fréquences spatiales verticales. Ces coefficients sont codés selon une précision qui est définie par un pas de quantification. Plus le pas a une valeur élevée, moins la précision est bonne. Selon la norme MPEG2, le pas de quantification peut être choisi pour chaque macrobloc. Ainsi, pour chaque macrobloc, on peut sélectionner un pas de quantification qui est le résultat d'un compromis entre la nécessité d'obtenir une bonne qualité d'image (qui implique donc un faible pas de quantification) et de limiter le nombre de bits à transmettre (ce qui implique un pas de quantification élevé). tales and columns correspond to vertical spatial frequencies. These coefficients are coded according to a precision which is defined by a quantization step. The higher the pitch, the lower the accuracy. According to the MPEG2 standard, the quantization step can be chosen for each macroblock. Thus, for each macroblock, a quantization step can be selected which is the result of a compromise between the need to obtain good image quality (which therefore implies a low quantization step) and to limit the number of bits. to transmit (which implies a high quantification step).
Malgré cette possibilité de modulation de quantifica- Despite this possibility of quantification modulation,
tion pour chaque macrobloc, en pratique, on utilise un même pas de quantification pour chaque image ou un pas de quantification qui peut varier d'une rangée horizontale de macroblocs à une autre. tion for each macroblock, in practice, the same quantization step is used for each image or a quantization step which can vary from one horizontal row of macroblocks to another.
Par ailleurs, les normes de transmission ou de stock- In addition, transmission or stock standards-
age imposent souvent un débit déterminé ou un coût de codage déterminé par image. Ce coût de codage est en général imposé par Age often impose a determined bit rate or a coding cost determined by image. This coding cost is generally imposed by
un module de régulation.a regulation module.
On a déjà proposé un codage dans lequel chaque macro- We have already proposed a coding in which each macro-
bloc, ou chaque bloc, présente un pas de quantification choisi de façon à obtenir une bonne qualité sur chaque macrobloc, ou bloc, tout en respectant la contrainte imposée au coût de codage global de l'image. Autrement dit, on a proposé de choisir le pas block, or each block, has a quantization step chosen so as to obtain good quality on each macroblock, or block, while respecting the constraint imposed on the overall coding cost of the image. In other words, we proposed to choose the pitch
de quantification de chaque macrobloc, ou bloc, de façon à opti- quantification of each macroblock, or block, so as to opti-
miser la qualité de chacun des macroblocs, ou blocs, tout en respectant la condition imposée, à savoir que le nombre total de focus on the quality of each of the macroblocks, or blocks, while respecting the condition imposed, namely that the total number of
bits de l'image (coût de codage) soit égal à une valeur déter- image bits (coding cost) is equal to a specific value
minée. Cependant, ce procédé de codage n'est pas utilisé en undermined. However, this coding method is not used in
pratique car l'expérience montre que les images obtenues présen- practical because experience shows that the images obtained present
tent des défauts.try flaws.
L'invention résulte de la constatation que l'oeil humain est sensible à la diversité des qualités de reproduction des diverses zones de l'image, c'est-à-dire, que des zones reproduites avec des qualités différentes sont perceptibles à The invention results from the observation that the human eye is sensitive to the diversity of the reproduction qualities of the various areas of the image, that is to say, that the areas reproduced with different qualities are perceptible to
l'oeil et donnent l'impression que l'image présente des défauts. the eye and give the impression that the image has defects.
Ainsi, le procédé selon l'invention est caractérisé en ce qu'on code chaque zone d'image, notamment chaque bloc ou macrobloc, de façon que toutes les zones présentent sensiblement le même facteur de qualité, de préférence un facteur de qualité Thus, the method according to the invention is characterized in that each image zone, in particular each block or macroblock, is coded, so that all the zones have substantially the same quality factor, preferably a quality factor
de type psycho-visuel.psycho-visual type.
Pour obtenir l'uniformisation de la qualité des To achieve uniformity in the quality of
diverses zones, on agit de préférence sur le pas de quanti- various zones, we preferably act on the quanti-
fication. Le facteur de qualité utilisé est, dans un exemple, le rapport signal à bruit d'image. Ce facteur se mesure, de façon en soi connue, en effectuant, pour chaque pixel, la différence entre la luminance du pixel de l'image source et la luminance du pixel correspondant de l'image décodée, le rapport signal à bruit d'image dans chaque zone étant, par exemple, fonction de la somme des carrés des différences entre luminances pour tous fication. The quality factor used is, in one example, the signal to image noise ratio. This factor is measured, in a manner known per se, by performing, for each pixel, the difference between the luminance of the pixel of the source image and the luminance of the corresponding pixel of the decoded image, the signal to image noise ratio. in each zone being, for example, a function of the sum of the squares of the differences between luminances for all
les pixels de la zone.the pixels of the area.
Dans un exemple le rapport signal à bruit a la valeur PSNR ou SNR définie par les première et seconde formules suivantes: 2 552 PSNR = 10log 2 - IN diff2 max SNR = 10log 1 YN diff2 diff étant la différence de luminance entre pixels de l'image source et de l'image décodée, max la valeur maximale d'un pixel dans l'image considérée, et N le nombre total de pixels. Bien que ce facteur de qualité fournisse des résultats In an example, the signal-to-noise ratio has the value PSNR or SNR defined by the following first and second formulas: 2,552 PSNR = 10log 2 - IN diff2 max SNR = 10log 1 YN diff2 diff being the difference in luminance between pixels of the source image and the decoded image, max the maximum value of a pixel in the image considered, and N the total number of pixels. While this quality factor provides results
satisfaisants, les meilleurs résultats sont obtenus avec un fac- satisfactory, the best results are obtained with a fac-
teur de qualité qui tient compte des propriétés psycho-visuelles de la vision humaine. Le facteur de qualité dépend, dans ce cas, pour chaque zone, de la luminance, des fréquences spatiales, des high quality that takes into account the psycho-visual properties of human vision. The quality factor depends, in this case, for each zone, on the luminance, the spatial frequencies, the
couleurs et du mouvement.colors and movement.
On peut définir un facteur de qualité de ce type de la façon suivante: On applique à l'image source et à l'image décodée un filtrage psycho-visuel et on effectue une différence, pixel par We can define a quality factor of this type as follows: We apply psycho-visual filtering to the source image and the decoded image and we make a difference, pixel by
pixel, qui va représenter, pour chaque point de l'image, le fac- pixel, which will represent, for each point of the image, the fac-
teur de qualité recherché.sought-after quality.
Le filtrage psycho-visuel consiste à appliquer des seuils traduisant une relation non linéaire entre, d'une part, la luminance et éventuellement la couleur, et, d'autre part, sa visibilité par l'oeil humain. Le filtrage psycho-visuel peut aussi tenir compte du phénomène dit de masquage qui consiste en une réduction de la visibilité d'une partie d'image en raison d'une non-uniformité de l'environnement entourant cette partie d'image. La non-uniformité peut être de type spatial; elle peut Psycho-visual filtering consists in applying thresholds translating a non-linear relationship between, on the one hand, the luminance and possibly the color, and, on the other hand, its visibility by the human eye. Psycho-visual filtering can also take into account the so-called masking phenomenon which consists of a reduction in the visibility of an image part due to a non-uniformity of the environment surrounding this image part. The non-uniformity can be of spatial type; she can
aussi correspondre au mouvement ou au temps. also correspond to movement or time.
Le masquage spatial peut se définir par un paramètre qui exprime la visibilité de la partie d'image concernée en fonction du contraste des fréquences spatiales de cette partie par rapport à l'environnement, les détails fins pouvant ne pas être perceptibles, alors que des défauts avec un spectre très Spatial masking can be defined by a parameter which expresses the visibility of the part of the image concerned as a function of the contrast of the spatial frequencies of this part in relation to the environment, the fine details may not be perceptible, whereas defects with a very spectrum
différent du spectre environnant sont beaucoup plus visibles. different from the surrounding spectrum are much more visible.
De tels filtrages de masquage spatial sont notamment décrits dans les articles suivants: 1. F.X.J. Lukas & Z.L Budrikis, "Picture Quality Prediction Based on a Visual Model" (Prédiction de qualité Such spatial masking filters are described in particular in the following articles: 1. F.X.J. Lukas & Z.L Budrikis, "Picture Quality Prediction Based on a Visual Model"
d'image basée sur un modèle visuel) IEEE transaction on communi- image based on a visual model) IEEE transaction on communi-
cation (vol.COM-30, n 7), juillet 1982. cation (vol.COM-30, n 7), July 1982.
2. N.B.Nill, "A Visual Model Weighted Cosine Transform for Image Compression and Quality Assessment" (Un 2. N.B. Hill, "A Visual Model Weighted Cosine Transform for Image Compression and Quality Assessment" (Un
modèle visuel de transformée cosinus pondérée pour la compres- weighted cosine transform visual model for compression
sion d'image et la détermination de qualité), IEEE transaction image sion and quality determination), IEEE transaction
on communications (vol. COM-33, n 6), juin 1985. on communications (vol. COM-33, n 6), June 1985.
3. K.N.Ngan, K.S.Leong et H.Singh, "Adaptive Cosine Transform Coding of Images in Perceptual Domain" (Codage d'image 3. K.N.Ngan, K.S.Leong and H.Singh, "Adaptive Cosine Transform Coding of Images in Perceptual Domain"
dans le domaine perceptuel par transformation cosinus adapta- in the perceptual domain by cosine transformation adapta-
tive) IEEE transaction on acoustics, speech and signal proces- tive) IEEE transaction on acoustics, speech and signal proces-
sing (vol. 37, n 11), novembre 1989. sing (vol. 37, no 11), November 1989.
4. L. Carrioli et M.G. Albanesi "Multigray Image 4. L. Carrioli and M.G. Albanesi "Multigray Image
Compression based on the Human Eye Transfer Function" (compres- Compression based on the Human Eye Transfer Function "(compres-
sion d'images à niveaux multiples de gris basée sur la fonction de transfert de l'oeil humain) Alta Frequenza (vol. 57, n 5) Zion of grayscale images based on the transfer function of the human eye) Alta Frequenza (vol. 57, n 5)
pages 273-284, juin 1988.pages 273-284, June 1988.
5. S.J. Daly, "A Noise Adaptative Visual Contrast Sensibility Fonction for Application to Image Data Compression" (Une fonction de sensibilité au contraste visuel adaptative au bruit pour application à la compression de données d'image) 5. S.J. Daly, "A Noise Adaptive Visual Contrast Sensibility Function for Application to Image Data Compression" (A noise-adaptive visual contrast sensitivity function for application to image data compression)
Eastman Kodak company.Eastman Kodak company.
Le masquage de mouvement est un filtrage qui traduit Motion masking is a filtering that translates
le fait que la sensibilité aux détails fins décroît avec le mou- the fact that sensitivity to fine detail decreases with the
vement et pour des vitesses moyennes les fréquences spatiales space frequencies for medium speeds
basses sont plus visibles que les fréquences spatiales hautes. bass are more visible than high spatial frequencies.
Pour plus de détail sur le masquage de mouvement on peut se reporter aux publications suivantes: 6. D.H. Kelly "Motion and Vision. II. Stabilized For more details on motion masking, see the following publications: 6. D.H. Kelly "Motion and Vision. II. Stabilized
spatio-temporal threshold surface" (Mouvement et vision. II. spatio-temporal threshold surface "(Movement and vision. II.
surface de seuil spatio-temporelle stabilisée) J.Opt.Soc. Am. stabilized space-time threshold surface) J. Opt. Soc. Am.
(vol.69, n 10), octobre 1979.(vol. 69, no 10), October 1979.
7. S.Daly, "Engineering observations from spatio- 7. S. Daly, "Engineering observations from spatio-
velocity and spatiotemporal visual models" (observations techni- velocity and spatiotemporal visual models "(technical observations
ques relatives au modèle visuel espace/vitesse et espace/temps) Human vision and Electronic Imaging III, Proceedings of SPIE questions related to the visual model space / speed and space / time) Human vision and Electronic Imaging III, Proceedings of SPIE
(vol. 3299), pages 180-191, janvier 1998. (vol. 3299), pages 180-191, January 1998.
Enfin, le masquage temporel correspond à la sommation temporelle de la loi de Bloch pour une partie d'image de courte durée, inférieure à 20 ms. Selon la loi de Bloch: la perception d'un écart (ou erreur) de luminance dL1 d'une durée t1 ms dans l'image est la même que la perception d'un écart de luminance dL2 d'une durée t2 ms, si ces valeurs vérifient les relations suivantes: dLl.t1 = dL2.t2 (t1, t2) < 20ms Ainsi, à partir de ces filtrages et de ces différences entre l'image source filtrée et l'image décodée filtrée, on établit, pour chaque pixel de l'image, ou pour une partie des pixels de l'image, et, de toute façon, pour chaque zone (bloc ou macrobloc notamment) un facteur de qualité et on choisit au Finally, the temporal masking corresponds to the temporal summation of Bloch's law for a part of image of short duration, less than 20 ms. According to Bloch's law: the perception of a difference (or error) in luminance dL1 of duration t1 ms in the image is the same as the perception of a difference in luminance dL2 of duration t2 ms, if these values verify the following relationships: dLl.t1 = dL2.t2 (t1, t2) <20ms Thus, from these filterings and these differences between the filtered source image and the filtered decoded image, we establish, for each pixel of the image, or for a part of the pixels of the image, and, in any case, for each zone (block or macroblock in particular) a quality factor and we choose at
moins un paramètre de codage, notamment le pas de quantifica- minus a coding parameter, in particular the quantization step
tion, de façon telle qu'on minimise les disparités ou disper- tion, so as to minimize disparities or disper-
sions sur la qualité dans l'image.let us know about the quality in the image.
En général, la relation entre les diverses valeurs du facteur de qualité et le paramètre de codage considéré n'est pas connue, car elle dépend du contenu de chaque image. Dans ces conditions, pour obtenir de bons résultats il est préférable de faire appel à un processus itératif qui consiste, par exemple, au cours d'une première étape à affecter une valeur déterminée, la même pour toutes les zones, au paramètre de codage et à établir la carte des qualités et, à partir de cette carte des qualités, on détermine une valeur moyenne du facteur de qualité et on modifie le paramètre de codage de façon telle qu'il In general, the relationship between the various values of the quality factor and the coding parameter considered is not known, because it depends on the content of each image. Under these conditions, to obtain good results, it is preferable to use an iterative process which consists, for example, during a first step of assigning a determined value, the same for all the zones, to the coding parameter and to establish the quality map and, from this quality map, an average value of the quality factor is determined and the coding parameter is modified in such a way that it
augmente la qualité au moins pour une partie des zones de qua- increases the quality at least for part of the quality zones
lité inférieure à la moyenne et qu'il diminue la qualité au moins pour certaines des zones de qualité supérieure à la moyenne. Par exemple, on augmente le pas de quantification pour diminuer la qualité et on diminue le pas de quantification pour below average and decreases quality at least for some of the above average quality areas. For example, we increase the quantization step to decrease the quality and we decrease the quantization step for
augmenter la qualité.increase the quality.
Au cours de cette première étape d'itération, il est préférable que l'augmentation et la diminution de la valeur du During this first iteration step, it is preferable that the increase and decrease in the value of the
paramètre de codage soient minimales, cette variation correspon- coding parameters are minimal, this variation corresponds
dant, par exemple, à un incrément. in, for example, an increment.
Au cours de la seconde étape, on applique ainsi les In the second step, we apply the
paramètres de codage qui ont été déterminés au cours de la pre- coding parameters that were determined during the pre-
mière étape. Cette seconde étape peut être suffisante pour obte- first step. This second step may be sufficient to obtain
nir une homogénéisation correcte de la qualité. to establish a correct homogenization of quality.
Toutefois, on obtient de meilleurs résultats en pour- However, better results are obtained by
suivant l'itération de la façon suivante: on détermine le para- following the iteration as follows: we determine the para-
mètre de codage pour l'étape suivante en partant de l'hypothèse que, d'une étape à une autre, la variation du facteur de qualité coding meter for the next step on the assumption that, from one step to another, the variation of the quality factor
est proportionnelle à la variation du paramètre de codage. is proportional to the variation of the coding parameter.
Ainsi, le coefficient de proportionnalité est le rapport entre, So the proportionality coefficient is the ratio between,
d'une part, la différence entre les valeurs du facteur de qua- on the one hand, the difference between the values of the factor of
lité aux étapes de rangs n et n-l et, d'autre part, la diffé- lity at the stages of rows n and n-l and, on the other hand, the difference
rence entre les valeurs du paramètre de codage aux étapes de rangs n et n-1. Ce coefficient de proportionnalité peut être utilisé pour déterminer la nouvelle valeur du paramètre de between the values of the coding parameter in steps of rows n and n-1. This proportionality coefficient can be used to determine the new value of the parameter of
codage qui résulterait de la nouvelle détermination de la varia- coding that would result from redetermining the varia-
tion du facteur de qualité.quality factor.
Dans le cas o le coût du codage de l'image doit pré- In the case where the cost of coding the image must pre-
senter une valeur déterminée, afin de satisfaire cette condi- feel a determined value, in order to satisfy this condition
tion, dans un mode de réalisation, on sélectionne certaines des zones pour lesquelles on fait varier le paramètre de codage. Le tion, in one embodiment, some of the zones are selected for which the coding parameter is varied. The
nombre et la nature des zones sélectionnées, ainsi que l'ampli- number and nature of the areas selected, as well as the
tude de la variation du paramètre de codage sont choisis en vue du résultat à atteindre, c'est-à-dire que le coût de codage ait une valeur déterminée. Par exemple si, au cours d'une étape, le coût de codage est inférieur au coût de codage désiré, pour les K% (par exemple 10%) zones présentant la qualité la plus faible study of the variation of the coding parameter are chosen with a view to the result to be achieved, that is to say that the coding cost has a determined value. For example if, during a step, the coding cost is lower than the desired coding cost, for the K% (for example 10%) zones having the lowest quality
on diminue le pas de quantification, ce qui, d'une part, aug- the quantification step is reduced, which, on the one hand, increases
mente la qualité (dans le sens de l'homogénéisation) et, d'autre part, augmente le coût de codage. Inversement si le coût de codage est trop important, on sélectionne K'%, par exemple 5%, des zones présentant la meilleure qualité et, pour homogénéiser la qualité, on augmente leur pas de quantification, ce qui quality lies (in the sense of homogenization) and, on the other hand, increases the cost of coding. Conversely, if the coding cost is too high, we select K '%, for example 5%, of the zones having the best quality and, to homogenize the quality, we increase their quantization step, which
entraîne une diminution du coût de codage. reduces the cost of coding.
De préférence, au cours d'une étape on choisit x % des zones de plus basse qualité et y % des zones de la meilleure Preferably, during a step, x% of the lowest quality areas and y% of the best areas are chosen.
qualité pour modifier le paramètre de codage. quality to modify the coding parameter.
Si, à l'issue de cette opération effectuée par calcul, le coût de codage ne varie pas correctement, on modifie x et/ou y, par exemple d'un facteur déterminé choisi pour que le coût de codage tende vers la valeur correcte. Par exemple, si le coût de codage est trop élevé, on pourra diminuer le nombre de zones dont le pas de quantification est diminué et/ou augmenter le nombre de zones pour lesquelles le pas de quantification est augmenté. Ces diverses opérations d'ajustement s'effectuent de façon itérative par calcul. Cette itération secondaire ne doit pas être confondue avec l'itération principale au cours de laquelle les pas de quantification sont modifiés réellement. Au cours de cette itération secondaire, on modifie à chaque fois le pas de quantification, de préférence d'une valeur minimale, par If, at the end of this operation performed by calculation, the coding cost does not vary correctly, x and / or y are modified, for example by a determined factor chosen so that the coding cost tends towards the correct value. For example, if the coding cost is too high, the number of zones whose quantization step is decreased can be reduced and / or the number of zones for which the quantization step is increased can be increased. These various adjustment operations are carried out iteratively by calculation. This secondary iteration should not be confused with the main iteration during which the quantization steps are actually modified. During this secondary iteration, the quantization step is modified each time, preferably by a minimum value, by
exemple d'un incrément.example of an increment.
Étant donné qu'en général, on ne pourra pas atteindre une uniformisation complète du facteur de qualité sur toute l'image, on interrompt l'itération principale quand, d'une étape de cette itération à une autre, il n'y a pas eu de diminution Since, in general, we will not be able to achieve complete standardization of the quality factor over the entire image, we interrupt the main iteration when, from one stage of this iteration to another, there is no had decrease
d'ensemble des disparités entre zones. of disparities between zones.
Ainsi l'invention est relative, de façon générale, à un procédé de codage d'images numérisées en vue de leur compression dans lequel l'image est séparée en zones, tels que des macroblocs, codées individuellement, qui est caractérisé en ce qu'on applique un filtrage à l'image source et un filtrage à la même image issue du décodage de l'image codée, de façon à déterminer un facteur de qualité pour chaque zone, représentant l'écart entre l'image décodée et l'image source, et en ce que ce facteur de qualité est utilisé pour modifier un paramètre de codage de chaque zone de façon à minimiser les écarts entre Thus the invention relates, in general, to a method of coding digitized images with a view to their compression in which the image is separated into zones, such as macroblocks, individually coded, which is characterized in that filtering is applied to the source image and filtering to the same image resulting from the decoding of the coded image, so as to determine a quality factor for each zone, representing the difference between the decoded image and the image source, and in that this quality factor is used to modify a coding parameter of each zone so as to minimize the differences between
facteurs de qualité des diverses zones. quality factors of the various areas.
Selon une réalisation, on détermine un facteur de qualité moyen pour l'ensemble de l'image et la modification du paramètre de codage pour chaque zone est réalisée de façon à minimiser pour chaque zone l'écart entre le facteur de qualité According to one embodiment, an average quality factor is determined for the entire image and the modification of the coding parameter for each zone is carried out so as to minimize for each zone the difference between the quality factor
correspondant et le facteur de qualité moyen. corresponding and the average quality factor.
Dans un mode de réalisation, au cours d'une première étape, on affecte à toutes les zones un paramètre de codage de valeur déterminée, et on détermine les paramètres de codage pour l'étape suivante en modifiant ce paramètre de façon telle qu'il tende à rapprocher le facteur de qualité de chaque zone du In one embodiment, during a first step, a coding parameter of determined value is assigned to all the zones, and the coding parameters for the next step are determined by modifying this parameter in such a way that it tends to bring the quality factor of each area closer to the
facteur de qualité moyen.average quality factor.
De préférence, au cours de la première étape, on fait varier d'un incrément minimum le paramètre de codage de chaque zone. Avantageusement, au cours d'une seconde étape, ou d'une étape ultérieure, on détermine le paramètre de codage qui sera utilisé pour l'étape suivante à partir d'un modèle prédictif selon lequel les variations du paramètre de codage sont, pour chaque zone, proportionnelles aux variations du Preferably, during the first step, the coding parameter of each zone is varied by a minimum increment. Advantageously, during a second step, or a subsequent step, the coding parameter which will be used for the next step is determined from a predictive model according to which the variations of the coding parameter are, for each area, proportional to variations in
facteur de qualité.quality factor.
Selon une réalisation, le coût de codage de l'image According to one embodiment, the cost of coding the image
est prédéterminé ou contrôlé.is predetermined or controlled.
Dans cette réalisation, de préférence, au cours de la seconde étape, ou d'une étape ultérieure, on détermine le coût de codage pour l'étape suivante à partir d'un modèle prédictif selon lequel la variation du coût de codage est, pour chaque In this embodiment, preferably, during the second step, or a subsequent step, the coding cost for the next step is determined from a predictive model according to which the variation in the coding cost is, for each
zone, proportionnelle à la variation du paramètre de codage. zone, proportional to the variation of the coding parameter.
Avantageusement dans ce dernier cas, on détermine les paramètres de codage pour chaque zone de façon telle qu'à l'étape suivante la variation du coût de codage soit minimisée Advantageously in the latter case, the coding parameters for each zone are determined so that in the next step the variation in the cost of coding is minimized.
par rapport à l'étape en cours.compared to the current step.
De préférence, au cours de la seconde étape, ou d'une étape ultérieure: on détermine le paramètre de codage pour chaque zone par itération en modifiant d'un incrément le paramètre de codage d'une première fraction déterminée de zones présentant le meilleur facteur de qualité de façon à diminuer cette qualité et/ou en modifiant d'un incrément le paramètre de codage d'une Preferably, during the second step, or a subsequent step: the coding parameter for each zone is determined by iteration by modifying by an increment the coding parameter of a first determined fraction of zones having the best factor quality so as to decrease this quality and / or by changing the coding parameter of an
seconde fraction déterminée de zones présentant une moindre qua- second determined fraction of areas with a lower qua-
lité, de façon à améliorer cette qualité, on détermine la variation du coût de codage qui résulte de cette (ou ces) variation(s) du paramètre de codage, et, In order to improve this quality, the variation of the coding cost which results from this (or these) variation (s) of the coding parameter is determined, and,
on modifie le nombre de zones pour lesquelles on modi- we modify the number of zones for which we modify
fie le paramètre de codage, de façon à minimiser l'écart par the coding parameter, so as to minimize the difference by
rapport au coût de codage désiré de l'image. relative to the desired coding cost of the image.
Avantageusement dans ce cas, au cours de chaque étape d'itération modifiant d'un incrément le paramètre de codage des zones présentant le meilleur et/ou le moindre facteur de qualité, on détermine la moyenne des écarts du facteur de qualité pour toutes les zones par rapport au facteur de qualité moyen et l'itération est interrompue quand cette moyenne n'a Advantageously in this case, during each iteration step modifying by one increment the coding parameter of the zones having the best and / or the least quality factor, the average of the deviations of the quality factor for all the zones is determined. compared to the average quality factor and the iteration is interrupted when this average has
plus tendance à diminuer.more likely to decrease.
Selon une réalisation, le paramètre de codage est le pas de quantification de la valeur attribuée aux coefficients According to one embodiment, the coding parameter is the quantization step of the value assigned to the coefficients
attachés à chaque pixel dans une zone. attached to each pixel in an area.
Selon une réalisation, le filtrage est du type psycho- According to one embodiment, the filtering is of the psycho-
visuel. Ce filtrage psycho-visuel tient par exemple compte de visual. This psycho-visual filtering takes account for example of
l'effet de masquage spatial et/ou de mouvement et/ou temporel. the effect of spatial and / or movement and / or temporal masking.
En variante, le filtrage détermine le rapport signal à As a variant, the filtering determines the signal to
bruit d'image.image noise.
Dans une réalisation, le codage est du type orienté objet et le facteur de qualité est lié au degré d'intérêt des régions. Quand le codage est du type orienté objet, on peut optimiser l'homogénéité du facteur de qualité sur chacun des In one embodiment, the coding is of the object oriented type and the quality factor is linked to the degree of interest of the regions. When the coding is of the object oriented type, it is possible to optimize the homogeneity of the quality factor on each of the
objets pris individuellement.objects taken individually.
Le procédé selon l'invention s'applique notamment au The method according to the invention applies in particular to
stockage et/ou à la transmission d'images. storage and / or transmission of images.
D'autres caractéristiques et avantages de l'invention Other characteristics and advantages of the invention
apparaîtront avec la description de certains de ses modes de will appear with the description of some of its modes of
réalisation, celle ci étant effectuée en se référant aux dessins ciannexés sur lesquels: la figure 1 est un schéma de principe du procédé et du dispositif conformes à l'invention, la figure 2 est un schéma servant à expliquer une étape du procédé conforme à l'invention, et les figures 3 et 4 sont des diagrammes illustrant des embodiment, this one being carried out with reference to the attached drawings in which: FIG. 1 is a block diagram of the method and the device in accordance with the invention, FIG. 2 is a diagram used to explain a step in the method in accordance with l invention, and Figures 3 and 4 are diagrams illustrating
résultats obtenus avec le procédé conforme à l'invention. results obtained with the process according to the invention.
Le procédé que l'on va décrire en relation avec les figures consiste à procéder par itération pour homogénéiser la qualité subjective de macroblocs MPEG2 en agissant sur le pas de quantification de chacun des macroblocs tout en gardant constant The method which we will describe in relation to the figures consists in proceeding by iteration to homogenize the subjective quality of MPEG2 macroblocks by acting on the quantization step of each of the macroblocks while keeping constant
et/ou contrôlé le coût de codage de chaque image. and / or controlled the cost of coding each image.
Comme représenté sur la figure 1, l'image source est soumise à un filtre psycho-visuel 10 et à un codeur 12 contenant As shown in FIG. 1, the source image is subjected to a psycho-visual filter 10 and to an encoder 12 containing
au moins un paramètre variable qui est, dans l'exemple, consti- at least one variable parameter which is, in the example,
tué par le pas de quantification. Ce paramètre est communiqué au killed by the quantification step. This parameter is communicated to the
codeur 12 par une unité de calcul 14 de ce pas de quantifica- encoder 12 by a calculation unit 14 of this quantification step
tion. L'image codée 12 est décodée (bloc 16) et cette image tion. The coded image 12 is decoded (block 16) and this image
décodée est soumise également au filtre psycho-visuel 10. decoded is also subjected to the psycho-visual filter 10.
Le filtre 10 comporte un moyen qui détermine, pour chaque pixel, l'écart entre le facteur de qualité de l'image source et le facteur de qualité de l'image décodée. De cette manière, on établit une carte des dispersions des qualités de l'image qui est complétée, pour chaque macrobloc, par l'écart The filter 10 includes a means which determines, for each pixel, the difference between the quality factor of the source image and the quality factor of the decoded image. In this way, a map of the dispersions of the qualities of the image is established which is supplemented, for each macroblock, by the difference
entre le facteur de qualité moyen de l'image source et le fac- between the average quality factor of the source image and the fac-
teur de qualité moyen de l'image décodée. average quality of the decoded image.
Pour la détermination du pas de quantification, le For the determination of the quantification step, the
bloc 14 utilise les données constituées par la carte des disper- block 14 uses the data constituted by the disper-
sions de qualités 20 et le coût du codage fourni par un bloc 22. qualities 20 and the cost of coding provided by a block 22.
Dans l'exemple, il n'existe pas de relation simple entre les dispersions de qualité et les pas de quantification In the example, there is no simple relationship between the quality dispersions and the quantification steps.
pour chaque macrobloc. Pour diminuer les dispersions de quali- for each macroblock. To reduce quality dispersions
tés, il est donc nécessaire de procéder à une itération en uti- it is therefore necessary to perform an iteration in use
lisant un modèle de correction par prédiction, comme expliqué ci-après. reading a prediction correction model, as explained below.
ETAPE D'INITALISATION DU CALCUL DU PAS DE INITIALIZATION STEP OF THE CALCULATION OF THE STEP
QUANTIFICATION.QUANTIFICATION.
Au cours de l'étape d'initialisation, soit le codeur détermine un coût de codage de référence soit ce coût de codage During the initialization step, either the coder determines a reference coding cost or this coding cost
est déterminé par une régulation (non montrée). is determined by regulation (not shown).
Dans l'exemple, le coût de codage est déterminé par In the example, the cost of coding is determined by
une régulation qui détermine le débit de données. a regulation which determines the data rate.
Le coût de codage de chaque image doit être constant ou contrôlé, c'està-dire déterminé pour chaque image mais pas The cost of coding each image must be constant or controlled, i.e. determined for each image but not
obligatoirement le même pour toutes les images. necessarily the same for all images.
En outre, on suppose que le pas de quantification est Furthermore, it is assumed that the quantization step is
représenté par un nombre entier compris entre 1 et 31. represented by an integer between 1 and 31.
Le pas de quantification est, au cours de l'étape d'initialisation, établi à une valeur constante et est fourni The quantization step is, during the initialization step, established at a constant value and is supplied
également par une régulation.also by regulation.
Avec ces données, le codeur 12 fournit, d'une part, un coût de codage (bloc 22) et, d'autre part, une image décodée par le bloc 16 qui est soumise au filtrage psycho-visuel 10 en même With this data, the coder 12 provides, on the one hand, a coding cost (block 22) and, on the other hand, an image decoded by the block 16 which is subjected to psycho-visual filtering 10 at the same
temps que l'image source de façon à fournir la carte 20 des dis- time the source image to provide the map 20 of the dis-
persions de qualités. Le bloc 20 fournit non seulement la carte des dispersions mais aussi la dispersion, ou erreur, moyenne persions of qualities. Block 20 provides not only the dispersion map but also the average dispersion, or error
pour l'ensemble de l'image.for the whole image.
Au cours de cette première étape, le bloc 14, prépare la seconde étape en calculant, pour chaque macrobloc, les pas de During this first step, block 14, prepares the second step by calculating, for each macroblock, the steps of
quantification qui seront utilisés au cours de la seconde étape. quantification that will be used during the second step.
Ce calcul s'effectue de la façon suivante: Pour chaque macrobloc, on détermine si la dispersion, ou erreur, de qualité est supérieure ou inférieure à l'erreur moyenne pour l'ensemble de l'image, et on diminue d'une unité (incrément) le pas de quantification pour les macroblocs dont l'erreur est supérieure à la moyenne et on augmente d'une unité (incrément) le pas de quantification pour les macroblocs dont This calculation is carried out as follows: For each macroblock, it is determined whether the quality dispersion or error is greater or less than the average error for the entire image, and we decrease by one (increment) the quantization step for macroblocks whose error is greater than the average and the quantization step for macroblocks whose
l'erreur est inférieure à la moyenne. the error is below average.
Autrement dit, on diminue légèrement la qualité des macroblocs présentant des erreurs inférieures à la moyenne et on In other words, we slightly decrease the quality of macroblocks with errors below the average and we
augmente la qualité des macroblocs présentant des erreurs supé- increases the quality of macroblocks with higher errors
rieures à la moyenne.laughing at the average.
Si un ou plusieurs macroblocs présentent une erreur égale à la moyenne, on le modifie, par exemple en l'augmentant d'un incrément, pour permettre une initialisation des valeurs Ak If one or more macroblocks have an error equal to the average, it is modified, for example by increasing it by an increment, to allow an initialization of the Ak values
et Bk définies ci-après.and Bk defined below.
SECONIDE ETAPFSECONIDE ETAPF
Pour cette seconde étape, le codeur utilise les pas de quantification déterminés, pour chaque macrobloc, à l'issue de la première étape (pas de quantification d'origine augmenté ou For this second step, the coder uses the quantization steps determined, for each macroblock, at the end of the first step (no increased original quantization or
diminué d'une unité).decreased by one).
Pour déterminer ensuite les pas de quantification To then determine the quantification steps
QSCnk pour chaque macrobloc, k représentant le numéro du macro- QSCnk for each macroblock, k representing the number of the macro-
bloc et n le numéro de l'étape, on utilise un modèle de pré- block and n the step number, we use a pre-
diction reliant le pas de quantification au facteur de qualité et au coût de codage, le pas de quantification déterminant le diction relating the quantification step to the quality factor and the coding cost, the quantification step determining the
facteur de qualité Emapnk et le coût de codage Costnk. Emapnk quality factor and Costnk coding cost.
Ce modèle de prédiction est une fonction linéaire simple comme définie par les formules ci dessous Enapnk = AkxQscnk + cte, Costnk = BkxQscnk + cte' (2) Dans ces formules cte et cte' représentent des valeurs constantes. Ainsi, à chaque étape les coefficients Ak et Bk pour chaque macrobloc peuvent être déterminés ou mis à jour selon les formules ci dessous: Ak Costk-Cost(,-I, ACostk k Qsc,,k-Qsc(i,,- = AQsck Bk = Enmap,,k-Emap(,,-i AEmnapk (3) Qsck-Qsc(t,,-k - AQsck Si le pas de quantification ne varie pas d'une étape à This prediction model is a simple linear function as defined by the formulas below Enapnk = AkxQscnk + cte, Costnk = BkxQscnk + cte '(2) In these formulas cte and cte' represent constant values. Thus, at each step the coefficients Ak and Bk for each macroblock can be determined or updated according to the formulas below: Ak Costk-Cost (, - I, ACostk k Qsc ,, k-Qsc (i ,, - = AQsck Bk = Enmap ,, k-Emap (,, - i AEmnapk (3) Qsck-Qsc (t ,, - k - AQsck If the quantization step does not vary from step to step
la suivante, c'est à dire AQsck = 0, alors Ak et Bk sont main- the next one, i.e. AQsck = 0, then Ak and Bk are main-
tenus constants. Toutefois, lors de la seconde étape, le pas de held constant. However, during the second stage, the step of
quantification a nécessairement varié par rapport à l'étape pré- quantification necessarily varied from the pre-
cédente en raison de la variation qui lui a été imposée au cours due to the variation imposed on it during
de la première étape.from the first step.
Grâce à ce modèle de prédiction, on peut, à partir de la seconde étape, prévoir le facteur de qualité et le coût de codage de chaque macrobloc (le pas de quantification ayant été Thanks to this prediction model, we can, from the second step, predict the quality factor and the coding cost of each macroblock (the quantization step having been
déterminé au cours de l'étape précédente). determined in the previous step).
La variation prédite de coût de codage APictCostPred pour l'ensemble de l'image s'exprime par la relation suivante: APictCostPred=_BkxAQsck (4) k Étant donné que l'on veut obtenir un coût de codage déterminé de valeur RefPictCost, on cherche donc à minimiser la quantité: ACostErr=APictCostPred-(PictCost,- RejfPictCost) (5) Dans cette formule, PictCostn représente le coût de codage de l'image à l'étape de rang n. Cette quantité ACostErr représente ainsi la différence entre la variation prédite de The predicted variation in APictCostPred coding cost for the entire image is expressed by the following relationship: APictCostPred = _BkxAQsck (4) k Given that we want to obtain a determined coding cost of RefPictCost value, we are looking for therefore to minimize the quantity: ACostErr = APictCostPred- (PictCost, - RejfPictCost) (5) In this formula, PictCostn represents the cost of coding the image at the step of rank n. This ACostErr quantity thus represents the difference between the predicted variation of
coût de codage et l'excédent de coût déterminé précédemment. coding cost and the excess cost determined previously.
Autrement dit, on cherche les pas de quantification ou leur variation AQscK qui permettent de conserver le coût global de codage de l'image aussi près que possible du coût de codage de référence de cette image tout en cherchant, bien entendu, à homogénéiser les facteurs de qualité, c'est à dire à réduire les erreurs sur les facteurs de qualité (écarts par rapport à la valeur moyenne). A cet effet, on divise les macroblocs en trois sous ensembles (figure 2): In other words, the quantification steps or their variation AQscK are sought which make it possible to keep the overall cost of coding the image as close as possible to the cost of reference coding of this image while seeking, of course, to homogenize the factors quality, ie to reduce errors on quality factors (deviations from the average value). To this end, we divide the macroblocks into three subsets (Figure 2):
- Le premier sous-ensemble, noté [AQsck]+, est consti- - The first subset, noted [AQsck] +, is
tué par tous les macroblocs pour lesquels AQsck sera positif killed by all macroblocks for which AQsck will be positive
(augmentation du pas de quantification) et l'erreur sur le fac- (increase in the quantization step) and the error on the fac-
teur de qualité est inférieure à l'erreur moyenne. quality is less than the average error.
- Le second sous-ensemble, noté [AQsck]-, est consti- - The second subset, noted [AQsck] -, is
tué par tous les macroblocs pour lesquels AQsck sera négatif (diminution du pas de quantification) et pour lesquels l'erreur killed by all macroblocks for which AQsck will be negative (reduction of the quantization step) and for which the error
sur le facteur de qualité est supérieure à l'erreur moyenne. on the quality factor is greater than the average error.
- Le troisième sous-ensemble, noté [AQsck]0, est - The third subset, noted [AQsck] 0, is
constitué par tous les macroblocs pour lesquels le pas de quan- made up of all macroblocks for which the quant
tification ne changera pas.tification will not change.
Ainsi, les coûts de codage des macroblocs du premier sous-ensemble correspondent à une décroissance tandis que les Thus, the coding costs of the macroblocks of the first subset correspond to a decrease while the
coûts de codage des macroblocs du second sous-ensemble corres-pondent à une croissance. coding costs of the macroblocks of the second subset correspond to growth.
À partir de cette division en sous-ensembles, lors de la seconde étape (ou une étape de rang n), on procède à une autre itération (ou itération secondaire) de façon à déterminer From this division into subsets, during the second step (or a step of rank n), we proceed to another iteration (or secondary iteration) so as to determine
les pas de quantification qui fournissent, pour l'étape sui- the quantification steps which provide, for the next step
vante, la plus grande homogénéité du facteur de qualité et la minimisation de l'erreur de coût par rapport au coût de référence. A cet effet, dans le premier sous-ensemble, on choisit les K+% macroblocs (par exemple 10 %) qui présentent la plus vant, the greater homogeneity of the quality factor and the minimization of the cost error compared to the reference cost. To this end, in the first subset, we choose the K +% macroblocks (for example 10%) which have the most
faible erreur de codage. Dans le second sous-ensemble, on choi- low coding error. In the second subset, we choose
sit les K-% macroblocs (par exemple 15%) ayant la plus grande locate the K-% macroblocks (for example 15%) with the largest
erreur de codage.coding error.
Pour tous les K+% macroblocs du sous-ensemble [AQsck]+, on augmente le pas de quantification d'une valeur déterminée dQ+, par exemple un incrément, ce qui diminue le coût For all K +% macroblocks of the subset [AQsck] +, the quantization step is increased by a determined value dQ +, for example an increment, which decreases the cost
de codage et rapproche l'erreur de qualité de l'erreur moyenne. coding and reconciles the quality error with the average error.
De façon analogue pour tous les K-% macroblocs du sous-ensemble [AQsck]-, on diminue d'une quantité déterminée dQ-, par exemple un incrément, le pas de quantification de façon Similarly for all the K-% macroblocks of the subset [AQsck] -, we decrease by a determined quantity dQ-, for example an increment, the quantization step so
à rapprocher de l'erreur moyenne l'erreur sur le facteur de qua- to compare the error on the factor of
lité, et à augmenter le coût de codage. and increase the cost of coding.
* A partir de ces modifications du pas de quantifica-* From these modifications of the quantification step
tion, on peut, grâce au modèle linéaire de prédiction décrit ci- tion, we can, thanks to the linear prediction model described above
dessus, prédire le facteur de qualité de chaque macrobloc. On peut donc calculer le nouveau facteur de qualité moyen qui en résulte. De même, on peut calculer la variation prédite du coût above, predict the quality factor of each macroblock. We can therefore calculate the new average quality factor that results. Similarly, we can calculate the predicted cost variation
de codage à partir de la formule (5) ci-dessus. coding from formula (5) above.
Si ces calculs montrent que la variation du coût de codage augmente, on réduit K-% d'un facteur déterminé, par exemple d'un facteur 2, de façon à réduire l'influence des K-% macroblocs du sous-ensemble [AQsck]- et diminuer le coût de codage. On peut aussi, dans le même but, augmenter parallèlement l'influence des K+% macroblocs du sous-ensemble [AQsck]l+ d'un If these calculations show that the variation in the coding cost increases, K-% is reduced by a determined factor, for example by a factor of 2, so as to reduce the influence of the K-% macroblocks of the subset [AQsck ] - and reduce the cost of coding. We can also, for the same purpose, increase in parallel the influence of K +% macroblocks of the subset [AQsck] l + of
facteur déterminé, par exemple d'un quart. determined factor, for example a quarter.
Inversement, si la quantité ACostErr diminue, c'est-à- Conversely, if the ACostErr quantity decreases, i.e.
dire si ce paramètre devient négatif et augmente en valeur abso- say if this parameter becomes negative and increases in absolute value
lue, on fait une correction inverse, en diminuant l'influence de read, we make a reverse correction, by decreasing the influence of
K+ et, éventuellement, en augmentant l'influence de K-. K + and possibly increasing the influence of K-.
Il peut cependant arriver que, malgré cet ajustement, However, it may happen that, despite this adjustment,
l'erreur sur le coût de codage varie toujours dans le même sens. the error on the cost of coding always varies in the same direction.
Dans ce cas, on augmente le pas de quantification des K-% macro- In this case, we increase the quantification step of K-% macro-
blocs et on diminue le pas de quantification des K+% macroblocs. blocks and the quantification step of the K +% macroblocks is reduced.
Autrement dit, si on constate que l'itération donne le résultat inverse de celui recherché, c'est-à-dire que cette itération ne permet pas une convergence vers le coût de codage de référence, mais, au contraire, une augmentation de la divergence, alors on In other words, if it is found that the iteration gives the opposite result to that sought, that is to say that this iteration does not allow convergence towards the cost of reference coding, but, on the contrary, an increase in the divergence, so we
fait varier les pas de quantification d'une manière inverse. varies the quantization steps in an inverse manner.
Cette itération, effectuée par calcul, au cours de l'étape de rang n, est interrompue quand l'erreur de qualité This iteration, performed by calculation, during the step of rank n, is interrupted when the quality error
prédite ne diminue plus.no longer decreases.
Cette itération secondaire fournit ainsi les pas de quantification pour l'étape suivante. This secondary iteration thus provides the quantification steps for the next step.
Les diverses étapes d'itération principale sont inter- The various main iteration steps are inter-
rompues quand les erreurs sur les facteurs de qualité qui sont obtenus ne diminuent plus. Cette itération principale fournit donc, pour chaque macrobloc, un pas de quantification qui, en principe, est optimal pour l'homogénéité du facteur de qualité broken when the errors on the quality factors which are obtained no longer decrease. This main iteration therefore provides, for each macroblock, a quantification step which, in principle, is optimal for the homogeneity of the quality factor.
sur l'image avec un coût de codage désiré. on the image with a desired coding cost.
On a représenté sur la figure 3 un exemple de varia- An example of a varia-
tion d'erreur de codage en fonction du numéro de l'étape. Sur ce diagramme, l'abscisse correspond au numéro d'étape, c'est-à-dire au rang de l'itération principale, et l'ordonnée représente coding error as a function of the step number. On this diagram, the abscissa corresponds to the step number, that is to say to the rank of the main iteration, and the ordinate represents
l'erreur moyenne de codage.the average coding error.
L'abscisse du diagramme de la figure 4 indique aussi The abscissa of the diagram in Figure 4 also indicates
les rangs de l'itération principale, tandis que l'ordonnée rep- the rows of the main iteration, while the ordinate rep-
résente le coût de codage relatif d'une image, c'est-à-dire le rapport entre, d'une part, l'écart entre le coût de codage et le the relative cost of coding an image, that is to say the ratio between, on the one hand, the difference between the cost of coding and the
coût de référence, et, d'autre part, le coût de référence. reference cost, and, on the other hand, the reference cost.
Le procédé selon l'invention s'applique à d'autres paramètres de codage que le pas de quantification. La seule limitation sur le paramètre de codage à choisir est qu'il ait une influence monotone sur le coût de codage du macrobloc (ou, The method according to the invention applies to other coding parameters than the quantization step. The only limitation on the coding parameter to choose is that it has a monotonous influence on the cost of coding the macroblock (or,
d'une façon plus générale, la zone) consideré. more generally, the area considered.
De plus, ce procédé est indépendant du type de fil- In addition, this process is independent of the type of yarn.
trage, psycho-visuel ou non, utilisé. trage, psycho-visual or not, used.
Du fait de son caractère itératif, le procédé selon l'invention est bien adapté à la compression d'images à stocker, par exemple pour la réalisation de disques DVD, ou de stockages sur bande. Mais le procédé peut également être utilisé pour un stockage en temps réel ou une transmission en temps réel, si la Because of its iterative nature, the method according to the invention is well suited to the compression of images to be stored, for example for the production of DVD discs, or of storage on tape. But the method can also be used for real-time storage or real-time transmission, if the
vitesse de traitement est suffisamment élevée. processing speed is high enough.
Le procédé de codage selon l'invention n'est pas limi- The coding method according to the invention is not limited to
té au procédé MPEG.the MPEG process.
Il s'applique aussi à d'autres procédés de compression It also applies to other compression processes
tels que JPEG (compression d'images fixes) ou ETSI. such as JPEG (still image compression) or ETSI.
A la place de la fonction cosinus discrète DCT, on peut, en variante, faire appel à une transformation de Fourier Instead of the discrete cosine function DCT, we can, as a variant, call on a Fourier transformation
rapide ou à une séparation du spectre en sous bandes. fast or a separation of the spectrum in sub-bands.
Le procédé de compression selon l'invention s'applique aussi au codage orienté objet, MPEG4 par exemple. Dans ce cas, le facteur de qualité est constitué par un paramètre donnant The compression method according to the invention also applies to object-oriented coding, MPEG4 for example. In this case, the quality factor consists of a parameter giving
l'intérêt des régions de l'image; en variante (ou en combinai- the interest of the image regions; alternatively (or in combination
son), les objets divers de l'image (multimédia) sont traités individuellement de façon à homogénéiser les facteurs de qualité sound), the various objects of the image (multimedia) are treated individually so as to homogenize the quality factors
de chacun de ses objets.of each of its objects.
Quelle que soit son application, le procédé et le dis- Whatever its application, the process and the dis-
positif selon l'invention permettent d'améliorer la qualité sub- positive according to the invention improve the sub-
jective des séquences vidéo codées. jective of coded video sequences.
Claims (18)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0000511A FR2790853B1 (en) | 1999-03-08 | 2000-01-17 | METHOD FOR COMPRESSING DIGITAL IMAGES IN WHICH A CODING QUALITY FACTOR IS ATTACHED TO EACH AREA |
TW89103326A TW490617B (en) | 1999-03-08 | 2000-02-25 | Process for compressing digitized images, in which a coding quality factor is ties to each zone |
AU35533/00A AU3553300A (en) | 1999-03-08 | 2000-02-29 | Process for compressing digitized images, in which a coding quality factor is tied to each zone |
PCT/EP2000/001686 WO2000054221A1 (en) | 1999-03-08 | 2000-02-29 | Process for compressing digitized images, in which a coding quality factor is tied to each zone |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9902827A FR2790852B1 (en) | 1999-03-08 | 1999-03-08 | METHOD FOR EVALUATING ENCODED IMAGES, DEVICE IMPLEMENTING THE METHOD AND USE OF THE DEVICE AND METHOD |
FR0000511A FR2790853B1 (en) | 1999-03-08 | 2000-01-17 | METHOD FOR COMPRESSING DIGITAL IMAGES IN WHICH A CODING QUALITY FACTOR IS ATTACHED TO EACH AREA |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2790853A1 true FR2790853A1 (en) | 2000-09-15 |
FR2790853B1 FR2790853B1 (en) | 2001-05-25 |
Family
ID=26212093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0000511A Expired - Fee Related FR2790853B1 (en) | 1999-03-08 | 2000-01-17 | METHOD FOR COMPRESSING DIGITAL IMAGES IN WHICH A CODING QUALITY FACTOR IS ATTACHED TO EACH AREA |
Country Status (4)
Country | Link |
---|---|
AU (1) | AU3553300A (en) |
FR (1) | FR2790853B1 (en) |
TW (1) | TW490617B (en) |
WO (1) | WO2000054221A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI577178B (en) * | 2016-01-06 | 2017-04-01 | 睿緻科技股份有限公司 | Image processing device and related image compression method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0574724A2 (en) * | 1992-06-18 | 1993-12-22 | General Instrument Corporation Of Delaware | Adaptive coding level control for video compression systems |
-
2000
- 2000-01-17 FR FR0000511A patent/FR2790853B1/en not_active Expired - Fee Related
- 2000-02-25 TW TW89103326A patent/TW490617B/en not_active IP Right Cessation
- 2000-02-29 WO PCT/EP2000/001686 patent/WO2000054221A1/en active Application Filing
- 2000-02-29 AU AU35533/00A patent/AU3553300A/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0574724A2 (en) * | 1992-06-18 | 1993-12-22 | General Instrument Corporation Of Delaware | Adaptive coding level control for video compression systems |
Non-Patent Citations (2)
Title |
---|
OLSSON S ET AL: "OBJECTIVE METHODS FOR ASSESSMENT OF VIDEO QUALITY: STATE OF THE ART", IEEE TRANSACTIONS ON BROADCASTING,US,IEEE INC. NEW YORK, vol. 43, no. 4, December 1997 (1997-12-01), pages 487 - 495, XP000834834, ISSN: 0018-9316 * |
TAN K T ET AL: "An objective measurement tool for MPEG video quality - An analysis of decisions under risk", SIGNAL PROCESSING. EUROPEAN JOURNAL DEVOTED TO THE METHODS AND APPLICATIONS OF SIGNAL PROCESSING,NL,ELSEVIER SCIENCE PUBLISHERS B.V. AMSTERDAM, vol. 70, no. 3, 30 November 1998 (1998-11-30), pages 279 - 294, XP004144970, ISSN: 0165-1684 * |
Also Published As
Publication number | Publication date |
---|---|
AU3553300A (en) | 2000-09-28 |
WO2000054221A1 (en) | 2000-09-14 |
TW490617B (en) | 2002-06-11 |
FR2790853B1 (en) | 2001-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2753330A1 (en) | QUANTIFICATION METHOD FOR VIDEO CODING | |
Gibson et al. | An investigation of dehazing effects on image and video coding | |
FR2759802A1 (en) | ADAPTIVE SIGNAL FILTERING PROCESS AND ADAPTIVE SIGNAL FILTER | |
EP3225029B1 (en) | Image encoding method and equipment for implementing the method | |
FR2760872A1 (en) | PROCESS FOR OPTIMIZING THE COMPRESSION OF IMAGE DATA, WITH AUTOMATIC SELECTION OF COMPRESSION CONDITIONS | |
FR2740641A1 (en) | METHOD AND CIRCUIT FOR DETERMINING A QUANTIFICATION INTERVAL IN AN IMAGE ENCODER | |
EP0248711A1 (en) | Method of transform coding for the transmission of image signals | |
EP0566202A1 (en) | Method and device for spatial filtering of block transform decoded digital images | |
EP3490255B1 (en) | Intelligent compression of grainy video content | |
EP2281396A1 (en) | Image coding method with texture synthesis | |
FR2790852A1 (en) | METHOD OF EVALUATING ENCODED IMAGES, DEVICE USING THE METHOD AND USE OF THE DEVICE AND METHOD | |
EP3349446A1 (en) | Method and device for controlled dynamic encoding of a multidimensional digital signal, in particular an image signal, and corresponding decoding method and device | |
FR2790899A1 (en) | DEVICE AND METHOD FOR REGULATING THROUGHPUT IN A SYSTEM FOR STATISTICAL MULTIPLEXING OF STREAMS OF IMAGES CODED ACCORDING TO MPEG 2 CODING | |
EP2232489B1 (en) | Transform-based coding/decoding, with adaptive windows | |
FR2867329A1 (en) | Image sequence coding method for use in video compression field, involves selecting images with additional condition, for high frequency images, and calibrating selected images by performing inverse operation of images scaling step | |
EP1020085A1 (en) | Method for assessing the degradation of a video image input by a coding and/or storage and/or transmission system | |
EP0882277A1 (en) | Method for coding with regional information | |
EP0545475B1 (en) | Method and apparatus for synthesizing texture signals | |
FR2858741A1 (en) | DEVICE AND METHOD FOR COMPRESSING DIGITAL IMAGES | |
FR2790853A1 (en) | METHOD FOR COMPRESSING DIGITAL IMAGES IN WHICH A CODING QUALITY FACTOR IS ATTACHED TO EACH AREA | |
EP0660619A1 (en) | Method for image variable length coding and device for carrying such method | |
Bordes et al. | Perceptually adapted MPEG video encoding | |
FR3015090A1 (en) | METHOD OF PROCESSING IMAGES, PARTICULARLY FROM NIGHT VISUALIZATION SYSTEMS AND SYSTEM THEREFOR | |
FR3020736A1 (en) | METHOD FOR QUALITY EVALUATION OF A SEQUENCE OF DIGITAL DECODE DIGITAL IMAGES, ENCODING METHOD, DEVICES AND COMPUTER PROGRAMS | |
EP3203737A1 (en) | Method and device for encoding a multidimensional signal, in particular an image signal, and corresponding decoding method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20091030 |