Brevet FR2790853A1 — publié le 20000915

PROCEDE DE COMPRESSION D'IMAGES NUMERISEES DANS LEQUEL UN FACTEUR DE QUALITE DE CODAGE EST ATTACHE A CHAQUE ZONE L'invention est relative à un procédé de compression d'images numérisées. 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 faire appel à des procédés de compression permettant d'enregis- trer ou de transmettre un nombre réduit de données numériques sans altérer la qualité de l'image reproduite. La compression consiste à utiliser diverses techniques permettant d'éviter la transmission ou l'enregistrement d'infor- 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 est moins sensible aux détails fins (hautes fréquences 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 transformation qui affecte un poids plus important aux fré- quences spatiales basses qu'aux fréquences spatiales hautes. Dans le procédé courant de compression faisant l'objet de la norme MPEG, on utilise la transformée cosinus discrète (DCT, "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- tée à cette norme. Dans ce procédé, l'image est divisée en macroblocs de 16x16 éléments d'images (pixels ou pels), chaque macrobloc étant formé de 4 blocs dont chacun présente 8 x 8 pixels. Selon la norme MPEG2, on transforme chaque macrobloc de 16x16 pixels en un macrobloc de coefficients d'une matrice dont les lignes correspondent aux fréquences spatiales horizon- 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é). Malgré cette possibilité de modulation de quantifica- 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. Par ailleurs, les normes de transmission ou de stock- 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 un module de régulation. On a déjà proposé un codage dans lequel chaque 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 de quantification de chaque macrobloc, ou bloc, de façon à opti- miser la qualité de chacun des macroblocs, ou blocs, tout en respectant la condition imposée, à savoir que le nombre total de bits de l'image (coût de codage) soit égal à une valeur déter- minée. Cependant, ce procédé de codage n'est pas utilisé en pratique car l'expérience montre que les images obtenues présen- tent des défauts. 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 à l'oeil et donnent l'impression que l'image présente des défauts. 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é de type psycho-visuel. Pour obtenir l'uniformisation de la qualité des diverses zones, on agit de préférence sur le pas de 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 les pixels de la zone. 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 satisfaisants, les meilleurs résultats sont obtenus avec un 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 couleurs et du mouvement. 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 pixel, qui va représenter, pour chaque point de l'image, le fac- teur de qualité recherché. 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 aussi correspondre au mouvement ou au temps. 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 différent du spectre environnant sont beaucoup plus visibles. 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é d'image basée sur un modèle visuel) IEEE transaction on communi- cation (vol.COM-30, n 7), juillet 1982. 2. N.B.Nill, "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- sion d'image et la détermination de qualité), IEEE transaction on communications (vol. COM-33, n 6), juin 1985. 3. K.N.Ngan, K.S.Leong et H.Singh, "Adaptive Cosine Transform Coding of Images in Perceptual Domain" (Codage d'image dans le domaine perceptuel par transformation cosinus adapta- tive) IEEE transaction on acoustics, speech and signal proces- sing (vol. 37, n 11), novembre 1989. 4. L. Carrioli et M.G. Albanesi "Multigray Image 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) pages 273-284, juin 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) Eastman Kodak company. Le masquage de mouvement est un filtrage qui traduit le fait que la sensibilité aux détails fins décroît avec le mou- vement et pour des vitesses moyennes les fréquences spatiales basses sont plus visibles que les fréquences spatiales hautes. 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 spatio-temporal threshold surface" (Mouvement et vision. II. surface de seuil spatio-temporelle stabilisée) J.Opt.Soc. Am. (vol.69, n 10), octobre 1979. 7. S.Daly, "Engineering observations from spatio- velocity and spatiotemporal visual models" (observations techni- ques relatives au modèle visuel espace/vitesse et espace/temps) Human vision and Electronic Imaging III, Proceedings of SPIE (vol. 3299), pages 180-191, janvier 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) moins un paramètre de codage, notamment le pas de quantifica- tion, de façon telle qu'on minimise les disparités ou disper- sions sur la qualité dans l'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 augmente la qualité au moins pour une partie des zones de qua- 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 augmenter la qualité. 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 paramètre de codage soient minimales, cette variation correspon- dant, par exemple, à un incrément. Au cours de la seconde étape, on applique ainsi les paramètres de codage qui ont été déterminés au cours de la pre- mière étape. Cette seconde étape peut être suffisante pour obte- nir une homogénéisation correcte de la qualité. Toutefois, on obtient de meilleurs résultats en pour- suivant l'itération de la façon suivante: on détermine le 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é est proportionnelle à la variation du paramètre de codage. Ainsi, le coefficient de proportionnalité est le rapport entre, d'une part, la différence entre les valeurs du facteur de qua- lité aux étapes de rangs n et n-l et, d'autre part, la diffé- 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 codage qui résulterait de la nouvelle détermination de la varia- tion du facteur de qualité. Dans le cas o le coût du codage de l'image doit pré- senter une valeur déterminée, afin de satisfaire cette condi- tion, dans un mode de réalisation, on sélectionne certaines des zones pour lesquelles on fait varier le paramètre de codage. Le nombre et la nature des zones sélectionnées, ainsi que l'ampli- 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 on diminue le pas de quantification, ce qui, d'une part, aug- 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 entraîne une diminution du coût de codage. 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 qualité pour modifier le paramètre de codage. 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 exemple d'un incrément. É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 d'ensemble des disparités entre 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 facteurs de qualité des diverses zones. 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é correspondant et le facteur de qualité moyen. 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 facteur de qualité moyen. 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 facteur de qualité. Selon une réalisation, le coût de codage de l'image est prédéterminé ou contrôlé. 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 zone, proportionnelle à la variation du paramètre de codage. 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 par rapport à l'étape en cours. 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 seconde fraction déterminée de zones présentant une moindre 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, on modifie le nombre de zones pour lesquelles on modi- fie le paramètre de codage, de façon à minimiser l'écart par rapport au coût de codage désiré de l'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 plus tendance à diminuer. Selon une réalisation, le paramètre de codage est le pas de quantification de la valeur attribuée aux coefficients attachés à chaque pixel dans une zone. Selon une réalisation, le filtrage est du type psycho- visuel. Ce filtrage psycho-visuel tient par exemple compte de l'effet de masquage spatial et/ou de mouvement et/ou temporel. En variante, le filtrage détermine le rapport signal à bruit d'image. 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 objets pris individuellement. Le procédé selon l'invention s'applique notamment au stockage et/ou à la transmission d'images. D'autres caractéristiques et avantages de l'invention apparaîtront avec la description de certains de ses modes de 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 résultats obtenus avec le procédé conforme à l'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 et/ou contrôlé le coût de codage de chaque image. Comme représenté sur la figure 1, l'image source est soumise à un filtre psycho-visuel 10 et à un codeur 12 contenant au moins un paramètre variable qui est, dans l'exemple, consti- tué par le pas de quantification. Ce paramètre est communiqué au codeur 12 par une unité de calcul 14 de ce pas de quantifica- tion. L'image codée 12 est décodée (bloc 16) et cette image décodée est soumise également au filtre psycho-visuel 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 entre le facteur de qualité moyen de l'image source et le fac- teur de qualité moyen de l'image décodée. Pour la détermination du pas de quantification, le bloc 14 utilise les données constituées par la carte des disper- sions de qualités 20 et le coût du codage fourni par un bloc 22. Dans l'exemple, il n'existe pas de relation simple entre les dispersions de qualité et les pas de quantification pour chaque macrobloc. Pour diminuer les dispersions de quali- tés, il est donc nécessaire de procéder à une itération en uti- lisant un modèle de correction par prédiction, comme expliqué ci-après. ETAPE D'INITALISATION DU CALCUL DU PAS DE 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 est déterminé par une régulation (non montrée). Dans l'exemple, le coût de codage est déterminé par une régulation qui détermine le débit de données. Le coût de codage de chaque image doit être constant ou contrôlé, c'està-dire déterminé pour chaque image mais pas obligatoirement le même pour toutes les images. En outre, on suppose que le pas de quantification est représenté par un nombre entier compris entre 1 et 31. Le pas de quantification est, au cours de l'étape d'initialisation, établi à une valeur constante et est fourni également par une régulation. 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 temps que l'image source de façon à fournir la carte 20 des dis- persions de qualités. Le bloc 20 fournit non seulement la carte des dispersions mais aussi la dispersion, ou erreur, moyenne pour l'ensemble de l'image. Au cours de cette première étape, le bloc 14, prépare la seconde étape en calculant, pour chaque macrobloc, les pas de quantification qui seront utilisés au cours de la seconde étape. 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 l'erreur est inférieure à la moyenne. Autrement dit, on diminue légèrement la qualité des macroblocs présentant des erreurs inférieures à la moyenne et on augmente la qualité des macroblocs présentant des erreurs supé- rieures à la moyenne. 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 et Bk définies ci-après. SECONIDE 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 diminué d'une unité). Pour déterminer ensuite les pas de quantification QSCnk pour chaque macrobloc, k représentant le numéro du macro- bloc et n le numéro de l'étape, on utilise un modèle de pré- diction reliant le pas de quantification au facteur de qualité et au coût de codage, le pas de quantification déterminant le facteur de qualité Emapnk et le coût de codage Costnk. 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 à la suivante, c'est à dire AQsck = 0, alors Ak et Bk sont main- tenus constants. Toutefois, lors de la seconde étape, le pas de quantification a nécessairement varié par rapport à l'étape pré- cédente en raison de la variation qui lui a été imposée au cours de la première étape. 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é déterminé au cours de l'étape précédente). 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 coût de codage et l'excédent de coût déterminé précédemment. 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): - Le premier sous-ensemble, noté [AQsck]+, est consti- tué par tous les macroblocs pour lesquels AQsck sera positif (augmentation du pas de quantification) et l'erreur sur le fac- teur de qualité est inférieure à l'erreur moyenne. - Le second sous-ensemble, noté [AQsck]-, est consti- tué par tous les macroblocs pour lesquels AQsck sera négatif (diminution du pas de quantification) et pour lesquels l'erreur sur le facteur de qualité est supérieure à l'erreur moyenne. - Le troisième sous-ensemble, noté [AQsck]0, est constitué par tous les macroblocs pour lesquels le pas de quan- tification ne changera pas. Ainsi, les coûts de codage des macroblocs du premier sous-ensemble correspondent à une décroissance tandis que les coûts de codage des macroblocs du second sous-ensemble corres-pondent à une croissance. À 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 les pas de quantification qui fournissent, pour l'étape sui- 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 faible erreur de codage. Dans le second sous-ensemble, on choi- sit les K-% macroblocs (par exemple 15%) ayant la plus grande erreur de codage. 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 de codage et rapproche l'erreur de qualité de l'erreur moyenne. 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 à rapprocher de l'erreur moyenne l'erreur sur le facteur de qua- lité, et à augmenter le coût de codage. * A partir de ces modifications du pas de quantifica- tion, on peut, grâce au modèle linéaire de prédiction décrit ci- 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 de codage à partir de la formule (5) ci-dessus. 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 facteur déterminé, par exemple d'un quart. Inversement, si la quantité ACostErr diminue, c'est-à- dire si ce paramètre devient négatif et augmente en valeur abso- lue, on fait une correction inverse, en diminuant l'influence de K+ et, éventuellement, en augmentant l'influence de K-. Il peut cependant arriver que, malgré cet ajustement, l'erreur sur le coût de codage varie toujours dans le même sens. Dans ce cas, on augmente le pas de quantification des K-% macro- blocs et on diminue le pas de quantification des K+% macroblocs. 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 fait varier les pas de quantification d'une manière inverse. Cette itération, effectuée par calcul, au cours de l'étape de rang n, est interrompue quand l'erreur de qualité prédite ne diminue plus. Cette itération secondaire fournit ainsi les pas de quantification pour l'étape suivante. Les diverses étapes d'itération principale sont 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é sur l'image avec un coût de codage désiré. On a représenté sur la figure 3 un exemple de 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 l'erreur moyenne de codage. L'abscisse du diagramme de la figure 4 indique aussi les rangs de l'itération principale, tandis que l'ordonnée 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 coût de référence, et, d'autre part, le coût de référence. 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, d'une façon plus générale, la zone) consideré. De plus, ce procédé est indépendant du type de fil- trage, psycho-visuel ou non, utilisé. 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 vitesse de traitement est suffisamment élevée. Le procédé de codage selon l'invention n'est pas limi- té au procédé MPEG. Il s'applique aussi à d'autres procédés de compression tels que JPEG (compression d'images fixes) ou ETSI. A la place de la fonction cosinus discrète DCT, on peut, en variante, faire appel à une transformation de Fourier rapide ou à une séparation du spectre en sous bandes. 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 l'intérêt des régions de l'image; en variante (ou en combinai- son), les objets divers de l'image (multimédia) sont traités individuellement de façon à homogénéiser les facteurs de qualité de chacun de ses objets. Quelle que soit son application, le procédé et le dis- positif selon l'invention permettent d'améliorer la qualité sub- jective des séquences vidéo codées. REVENDICATIONS 1. 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, 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. 2. Procédé selon la revendication 1, caractérisé en ce qu'on détermine un facteur de qualité moyen pour l'ensemble de l'image et en ce que 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é correspondant et le facteur de qualité moyen. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'au cours d'une première étape, on affecte à toutes les zones un paramètre de codage de valeur déterminée, et en ce qu'on détermine les paramètres de codage pour l'étape suivante en modifiant ce paramètre de façon telle qu'il tende à rappro- cher le facteur de qualité de chaque zone du facteur de qualité moyen. 4. Procédé selon la revendication 3, caractérisé en ce qu'au cours de la première étape, on fait varier d'un incré- ment minimum le paramètre de codage de chaque zone. 5. Procédé selon la revendication 3 ou 4, caractérisé en ce qu'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 facteur de qualité. 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le coût de codage de l'image est prédéterminé ou contrôlé. 7. Procédé selon les revendications 5 et 6, caracté- risé en ce qu'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 zone, proportionnelle à la variation du paramètre de codage. 8. Procédé selon la revendication 7, caractérisé en ce qu'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 par rapport à l'étape en cours. 9. Procédé selon la revendication 8, caractérisé en ce qu'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 seconde fraction déterminée de zones présentant une moindre 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, on modifie le nombre de zones pour lesquelles on modi- fie le paramètre de codage, de façon à minimiser l'écart par rapport au coût de codage désiré de l'image. 10. Procédé selon la revendication 9, caractérisé en ce qu'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 en ce que l'itération est inter- rompue quand cette moyenne n'a plus tendance à diminuer. 11. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le paramètre de codage est le pas de quantification de la valeur attribuée aux coefficients attachés à chaque pixel dans une zone. 12. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le filtrage est du type psycho-visuel. 13. Procédé selon la revendication 12, caractérisé en ce que le filtrage psycho-visuel tient compte de l'effet de mas- quage spatial et/ou de mouvement et/ou temporel. 14. Procédé selon l'une quelconque des revendications 1 à 11, caractérisé en ce que le filtrage détermine le rapport signal à bruit d'image. 15. Application du procédé selon l'une quelconque des revendications précédentes à un codage du type MPEG2. 16. Procédé selon l'une quelconque des revendications 1 à 14, caractérisé en ce que le codage étant du type orienté objet, le facteur de qualité est lié au degré d'intérêt des régions. 17. Procédé selon l'une quelconque des revendications 1 à 14, caractérisé en ce que le codage étant du type orienté objet, on optimise l'homogénéité du facteur de qualité sur chacun des objets pris individuellement. 18. Application du procédé selon l'une quelconque des revendications précédentes pour le stockage et/ou la transmis- sion d'images.