Brevet FR2753330A1 — publié le 19980313

Procédé de quantification pour codage vidéo L'invention concerne un procédé de quantification pour codage vidéo, quantification généralement exploitée lors de la compression de données. Les procédés de compression de données réalisent, d'une manière connue, un découpage de l'image en blocs d'images, une transformée cosinus discrète de ces blocs pour fournir des macroblocs de io coefficients de luminance et de chrominance, une quantification de ces coefficients, un codage en longueur variable. Des codages de type intra n'utilisent que le contenu intrinsèque de l'image selon le procédé décrit ci-dessus. Des codages de type inter réalisent une estimation de i5 mouvement entre par exemple l'image précédente et l'image courante pour compenser en mouvement l'image précédente fournissant ainsi une image prédite, le codage étant alors effectué sur la différence entre l'image courante et l'image prédite. La transformée cosinus permet de supprimer la redondance spatiale et la compensation de mouvement la redondance temporelle. Il est connu d'asservir le pas de quantification au débit de données du codeur pour effectuer une régulation de ce débit. Les algorithmes mis en oeuvre sont généralement orientés vers l'obtention d'un débit le plus faible possible pour une qualité d'image optimale en prenant en compte les coûts de codage objectifs. L'amélioration de qualité d'image, pour un débit donné, est liée à la suppression des redondances spatiales et temporelles. De tels algorithmes se heurtent à un problème inhérent au type de codage, l'apparition de défauts connus sous les termes d'effets de blocs. Le pas de quantification étant différent d'un bloc à l'autre, I'image décompressée peut faire apparaître les frontières des blocs d'image, ceci d'autant plus que la compression est forte et donc que les écarts entre pas de quantification de macroblocs successifs sont importants. La présente invention a pour but de limiter les inconvénients précités en optimisant l'algorithme de régulation c'est à dire en améliorant la qualité de l'image pour un débit de transmission donné. A cet effet, l'invention a pour objet un procédé de compression io de données d'une image vidéo comprenant un découpage de l'image courante en macroblocs et une quantification des données de chaque macrobloc en calculant un pas de quantification en fonction d'un débit de consigne, caractérisé en ce que le pas de quantification calculé est corrigé en fonction du coût de codage du macrobloc. Elle a également pour objet un procédé de compression de données d'une image vidéo comprenant un découpage de l'image courante en macroblocs et une quantification des données de chaque macrobloc en calculant un pas de quantification en fonction d'un débit de consigne, caractérisé en ce que le pas de quantification calculé est corrigé en fonction d'un mouvement estimé ou calculé du macrobloc de l'image courante par rapport à celui corrélé d'une image précédente ou suivante. Elle a aussi pour objet les dispositifs mettant en oeuvre les procédés. L'oeil du spectateur est moins sensible aux effets de blocs pour les zones d'image en mouvement du fait du phénomène d'intégration de l'oeil. Il est également moins sensible aux effets de blocs pour les zones non uniformes, cette uniformité ou "régularité" de l'image mettant en exergue les défauts précités. L'idée de l'invention est d'adapter le procédé de quantification de l'image en prenant en compte ces critères de perception subjectifs de l'image. Le pas de quantification est diminué pour les zones uniformes et/ou fixes ou en très faible déplacement qui sont ainsi mieux codées. La variation du pas de quantification d'un macrobloc à l'autre, pour de telles zones est donc plus faible. Le pas de quantification pour le codage de zones non homogènes et/ou en mouvement est, quant à lui, augmenté pour conserver la même allocation de débit à l'image. Un filtrage effectué sur les corrections de quantification dans la zone d'image environnant le macrobloc traité permet de limiter les transitions de manière à ce que le résultat de codage, en termes de qualité io d'image décompressée, apparaisse subjectivement homogène. La qualité de l'image décompressée est ainsi améliorée sans augmenter le débit moyen. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description suivante de modes de mise en oeuvre préférentiels de l'invention, donnés à titre illustratif et non limitatif et des dessins annexés dans lesquels: - la figure 1 représente un macrobloc et sa fenêtre de filtrage dans une image; - la figure 2a, un vecteur mouvement d'une image de type P; - la figure 2b, deux vecteurs mouvement d'une trame de type P; - la figure 3, un algorithme du procédé selon l'invention; - la figure 4 un dispositif selon l'invention. Une image à coder est, comme indiqué précédemment, découpée en blocs d'image constituant des macroblocs. Selon l'invention, chaque macrobloc (n,i,j) correspondant à la ligne i et la colonne j des macroblocs de l'image n d'une séquence vidéo d'entrée est codé en utilisant un pas de quantification localement adapté selon la formule suivante: Q [n] [i] [j]=Q [n] [i].aw, p[n] [i] [j].32wp[n] [i] [j] Q[n][i] est le pas de quantification calculé pour la bande d'image ou "slice" i de l'image n selon le terme anglo-saxon consacré dans la norme MPEG. Le coefficient d'ajustement cwlp(n)(i)(j) est calculé à partir de caractéristiques spatiales de la séquence codée et en particulier du coût de codage des macroblocs, le coefficient 2I,/p(n)(i)() à partir de' caractéristiques temporelles de la séquence codée, en particulier du mouvement affecté aux macroblocs comme expliqué plus loin. Calcul du coefficient d'ajustement spatial: Ce coefficient est directement lié au coût de codage intra de l'image. Le coût de codage c(n)(i)(j) d'un macrobloc (n,i,j) est généralement déterminé lors de la préanalyse de l'image qui consiste à coder l'image avec un pas de quantification constant et à mesurer le débit généré par le macrobloc. Afin d'atténuer les effets de transition d'une zone de caractéristiques spatiales données à une autre, cette valeur correspondant au coût de codage est ensuite filtrée dans un fenêtre de taille w autour du macrobloc. Ainsi peut-on atténuer les variations brusques du pas de quantification de macroblocs voisins qui ne manqueraient pas d'avoir lieu sur les frontières lors du passage d'un type de zone à un autre, par exemple d'une zone uniforme à une zone texturée et qui se traduiraient par des effets de bords, similaires aux effets de blocs mais limités à ces frontières. Les effets de blocs dans la zone sont atténués d'autant. La figure I représente une telle fenêtre. L'image complète 1 est constituée de M macroblocs par bande ou "slice" et de S bandes. Pour un macrobloc 2 donné (n,i,j), situé à la i ème bande et j ème colonne de macrobloc de l'image n, une fenêtre 3 de taille w est définie prenant en compte les macroblocs voisins à une distance inférieure ou égale à w du macrobloc considéré, c'est à dire les macroblocs appartenant simultanément aux bandes comprises entre i-w et i+w et aux colonnes comprises entre j-w et j+w. w correspond donc à l'excursion autour du macrobloc traité. Le coût de codage cx(n)(i)(j) est moyenné sur la fenêtre W en appliquant la formule suivante: 1 i+w j+w caw(an 2 (n,i, ) c(nu,v) (2W+ 1) u=i-wv=j-w Afin que la correction sur les pas de quantification n'invalide pas o0 les calculs du pas en fonction du débit moyen de consigne, c'est à dire les algorithmes de régulation classiques, le coefficient de correction moyenné sur la fenêtre de taille w, a w. est pondéré sur l'image complète en le divisant par la valeur moyenne du coefficient a sur l'image complète, a p. 1 S M M E Ea(n,u,v) n M'Su=lv=l Le coefficient spatial prend alors la valeur, pour un macrobloc (n,i,j): aw/p(n)= w(n,i,j) a p (n) L'image n peut être représentée par une matrice de S lignes et P colonnes, le coefficient de la matrice à la ligne i et colonne j correspondant à cwlp(n,i,j). Cette matrice Sp est calculée à partir de la matrice de coût de codage des macroblocs de l'image n obtenue lors de la première passe de codage en intra de cette image n. Cette matrice de coefficients intra est appelée masque de correction, chaque coefficient de la matrice étant appliqué au macrobloc correspondant pour corriger le pas de quantification calculé par les algorithmes classiques de compression lors du codage de ce macrobloc. La somme des coefficients c,,/p(n,i,j) sur une image n étant égale à 1, on démontre que l'algorithme de régulation n'est pas perturbé par l'application de ce coefficient spatial au pas de quantification. Un bornage des coefficients calculés est effectué afin d'éviter de trop fortes corrections pouvant être liées aux algorithmes de régulation utilisés qui, pour se conformer au débit de consigne peuvent forcer le pas de quantification sans prendre en compte la complexité de l'image, par 1o exemple lors du codage des dernières bandes d'une image. Dans notre réalisation, les coefficients sont forcés dans une zone qui s'étend de 0,67 à 1,5. Calcul du coefficient d'ajustement temporel: Le codage de meilleure qualité des zones de faible mouvement par rapport aux zones de fort mouvement nécessite une détection de ces zones qui est effectuée en récupérant une information de quantité de mouvement. Les types de vecteurs mouvement disponibles pour chaque macrobloc d'une image dépendent du type d'image (à laquelle appartient ce macrobloc). Le type d'image, défini dans la norme MPEG, est fonction du codage de l'image, à savoir le type I ou intra pour un codage de l'image en intra, le type P ou prédictif pour un codage de l'image ne prenant en compte que des références images antérieures et le type B ou bidirectionnel pour un codage de l'image prenant en compte des références images antérieures et/ou postérieures. Ces vecteurs peuvent donc être: - pour les images de type P, des vecteurs image référencés à l'image intra ou de type P précédente; - pour les images de type B, des vecteurs image "avant" ou "arrière" (forward ou backward en anglo-saxon), selon qu'ils sont référencés à une image précédente ou à une image suivante. Si le traitement est effectué sur les trames d'images et non sur les images reconstituées, les vecteurs calculés sont référencés aux trames et non plus aux images. Les vecteurs trame disponibles sont alors des vecteurs trames de même parité ou de parité opposée. Tout ces vecteurs sont obtenus par corrélation de blocs connue sous l'appellation "block matching". Les vecteurs sont calculés par un io estimateur de mouvement. L'information prise en compte pour le calcul des coefficients d'ajustement temporel est la norme ou module des vecteurs mouvement image. V[n] [i] [j]= [] [j]+ V, [n] [i] [j] Vx et Vy étant les composantes horizontales et verticales du vecteur mouvement. Cette information de module est ensuite normalisée en fonction du nombre d'images séparant l'image courante de l'image de référence utilisée pour le calcul du champ de mouvement de l'image courante, ou du nombre de trames séparant la trame courante de la trame de référence si le calcul est effectué au niveau de la trame, ceci pour obtenir un champ de vecteurs parfaitement homogène sur l'ensemble de la séquence. Le vecteur normalisé s'écrit: V'[n] [i] [j]= il.V[n] [i] [j] n étant le facteur de normalisation. La période de référence choisie est celle séparant deux images de type P. Soit M le nombre d'intervalles image séparant deux images de type P et Bpos le nombre d'intervalles séparant l'image de type B de l'image précédente de type P (ou 1), c'est à dire la position de B entre deux images P. La figure 2a représente un vecteur 4 pour une image de type P. Ce vecteur est donc référencé à l'image précédente I. L'écart entre l'image courante P et l'image de référence I correspond à M. Le facteur de normalisation d'un vecteur mouvement lorsque appliqué à une image, s'écrit: - lors d'un codage d'une image de type B par rapport à une image de type P (ou 1) précédente, c'est à dire pour un vecteur de type forward: M Bpos - lors du codage d'une image de type B par rapport à une image de type P (ou 1) suivante, c'est à dire pour un vecteur de type backward M M - Bpos - lors du codage d'une image de type P (cas de la figure 2a): i1=1 La figure 2b représente un premier vecteur mouvement 5 de la première trame d'une image de type P référencée à la deuxième trame de l'image précédente de type I et un second vecteur mouvement 6 de la seconde trame de l'image de type P référencé à la première trame de l'image précédente de type I. Le facteur de normalisation d'un champ de vecteurs mouvement, lorsque appliqué à une trame, dépend de la position "field" de la trame et de la parité "parity" et s'écrit: - pour une trame de type P (cas de la figure 2b): 2. M 2. M + 2. M. (1 - field)+ -Id 1 parity -pour une trame de type B et prédiction avant (forward): 2. M 11= 2. Bpos + i(-). parity -pour une trame de type B et prédiction arrière (backward): 2. M \Ied 2. (M - Bpos)- (-. parity "field" est égal à 1 ou à 2 selon qu'il s'agisse de la première ou deuxième trame de l'image et "parity" est égal à O ou 1 selon qu'il s'agisse de la même parité ou de la parité opposée. Les macroblocs d'une image peuvent être codés à partir des seuls vecteurs avant, des seuls vecteurs arrière ou bien une combinaison des deux dans le cas d'images de type bidirectionnel. Dans ce cas, on choisira ceux correspondant à la valeur maximale mais on pourrait tout aussi bien prendre les moyennes des deux vecteurs. Les vecteurs mouvement normalisés V'(n,i,j) sont donc obtenus en multipliant le module des vecteurs mouvement V(n,i,j) affectés à une image ou une trame par le coefficient r correspondant. Le calcul de la matrice des coefficients d'ajustement temporel p1w/p(n,i, j) est ensuite effectué par filtrage des vecteurs V' sur une fenêtre de taille W et par pondération sur l'image complète comme précédemment expliqué pour le coefficient a. 1 +W j+W i EjV'[2] [u] [V] - (2w 1) iU=i-Wv=j-W [n]] i]]= 1 S M _. sEEV'] lu] [[V f. S,j=1 V1=1 En d'autres termes, 131w/p(n,i,j) correspond à la valeur moyenne du mouvement local dans une fenêtre de taille W pondérée par la valeur 2s moyenne du mouvement dans l'image. y' w[n] [i] [] 'p[n]-V' w[n] [i] [j]1 Plwl/p[n] []i V'p[n] =V'p[n_=l'lw/p[n] [i] [j] X. wp(n, i, j), qui représente le facteur de correction du pas de quantification, correspond donc à la différence entre la valeur moyenne du mouvement dans l'image et la valeur du mouvement local pondérée par la valeur moyenne du mouvement dans l'image. Le but de la correction est d'avantager les zones à faible mouvement au détriment de celles à fort mouvement. Plus le mouvement local V'w [n] [i] [j] est faible, plus le coefficient temporel (et donc le pas de quantification) est petit et mieux est codé le macrobloc correspondant à ce mouvement local. D'autre part, du fait de l'allocation fixe de débit à une image, cette zone à faible mouvement est d'autant mieux codée que le mouvement moyen dans l'image V'pIn] est plus élevé. Le facteur de correction remplit parfaitement son rôle pour les séquences à fort mouvement. Il s'avère cependant qu'un ajustement de ce coefficient est nécessaire pour l'adapter également à des scènes à faible mouvement. Un exemple permet d'illustrer ce point. Soit une scène en faible mouvement de type "mobile and calendar", référence bien connue dans le domaine de la compression de données. Le vecteur mouvement moyen de l'image est de 3, valeur faible puisque la valeur maximum est de l'ordre de 143 pour un codage des vecteurs mouvement sur 8 bits pour la composante horizontale et sur 7 bits pour la composante verticale. Cette valeur donne un facteur de correction de 0,33 pour un mouvement relatif d'un macrobloc de 1. Le poids de correction pour une zone en faible mouvement dans une séquence elle- même en faible mouvement est donc beaucoup trop important. On en déduit que le coefficient correcteur M1 doit être pondéré par un facteur V'p[n] o V représente un estimé de la valeur moyenne du V mouvement sur l'image pour des séquences à fort mouvement, ce qui revient à diminuer le coefficient X1 donc à atténuer la correction (en rapprochant P1 de l'unité) pour des scènes à faible mouvement moyen (V'p(n) Le déplacement d'un pixel de l'image sur la largeur totale de l'image pendant une seconde a été expérimentalement défini comme un bon estimé de V -V picture width M FR "picture_width" est cette largeur exprimée en nombre de pixels (par exemple 720), Fr est la fréquence image (par exemple 50 Hz). M permet de normaliser la valeur moyenne (il s'agit alors du mouvement moyen sur la distance temporelle de référence). Finalement, le coefficient temporel d'ajustement local P2 w/p(n,i,j) peut s'écrire YV' p [n] (V - V'p[n])+ V 'w [n] [i] [j] 132w/ P [n] [][i] [i] [iJ] V V Si l'on note V"[n] [i] [j]=V'[n] [i] [j]+(V-V'p[n]l, alors V"w[n [] [j] V"[n] [] [ij] P2w/p] [] [] Vp[n] En d'autres termes, les coefficients temporels d'ajustement local 32w/p(n,i,j) correspondent au filtrage sur la fenêtre de taille W des vecteurs normés V" obtenus par recentrage des vecteurs normés V' autour du vecteur vitesse moyen représentatif des séquences à fort mouvement. Finalement, le pas de quantification d'un macrobloc courant calculé par l'algorithme classique de régulation est corrigé du coefficient d'ajustement global qui est le produit awlp(n, i, j) x 52w/p(n,i,j) prenant en compte la complexité spatiale et temporelle de l'image. Une simplification de l'algorithme de calcul des coefficient est obtenue en remarquant que chacun des termes du produit peut être calculé avec le même opérateur qui est le suivant: 1 i+W j+W W j d[n] [u] [v] (2W +1)2 u=i-W v= j-W Ow/p[n] [i] [1] ou 32w/p[n] [i] [j] = (2+) u=- Wv=j-W M.S uZl ld[n] [u] [v] 10.u=iv=1 Pour le coefficient a, le terme d (n),(u),(v) représente le coût de codage du macrobloc (n,u,v), pour le coefficient P3, il représente le module du vecteur V' affecté au macrobloc (n,u,v). La figure 3 représente un algorithme de calcul des coefficients de quantification. L'étape référencée 7 réalise un calcul des coefficients d'ajustement spatial à partir des informations de coûts de codage des blocs d'image intra reçus sur l'entrée Il et calculés lors d'une première passe de codage ou préanalyse de l'image. Ces coefficients sont ensuite filtrés dans une fenêtre de taille w lors de l'étape 8 pour donner une matrice de coefficients d'ajustement spatial transmise vers l'étape 9. L'étape 10 réalise un calcul du module des vecteurs mouvement image à partir des vecteurs avant et arrière délivrés par l'estimateur de mouvement et disponibles sur l'entrée 12. L'étape suivante 11 effectue une mise à l'échelle ou normalisation du module de ces vecteurs en fonction de la position de l'image correspondante dans le groupe d'images. Elle calcule le facteur de normalisation i- en fonction de la valeur de M affectée à 13 2753330 chaque image. L'étape suivante 12 calcule la valeur moyenne du mouvement sur l'image complète pour des séquences à fort mouvement telles que précédemment définies. Les vecteurs normalisés sont ensuite recentrés à l'étape 13 autour de cette valeur moyenne puis filtrés sur une fenêtre de taille w. L'étape 14 reçoit, en plus des informations provenant de l'étape 13, des informations provenant de l'entrée 13 et concernant les coupures ou "cut" en anglo-saxon dans les séquences d'images. Si une information de "cut"' est transmise pour l'image courante traitée, l'étape 14 inhibe la correction du pas de quantification en fonction du coefficient d'ajustement temporel en transmettant une matrice de coefficients égale à 1. Dans l'autre cas, ce sont les coefficients calculés à l'étape précédente qui sont transmis sous forme de matrice de coefficients d'ajustement temporel. L'étape 9 réalise une multiplication de chaque coefficient d'ajustement temporel par le coefficient d'ajustement spatial correspondant (même ligne, même colonne) pour fournir une nouvelle matrice de coefficients qui, rappelons-le, correspond aux macroblocs de l'image traitée. Lors de cette étape est pris également en compte, transmis sur l'entrée 14, le pas de quantification qui est celui calculé à partir d'un algorithme classique de régulation. Ce pas de quantification, multiplié par le 2 nouveau coefficient obtenu pour le macrobloc courant, fournit le nouveau pas de quantification ajusté, délivré en sortie S de l'étape 9. La figure 4 représente un exemple de réalisation d'un dispositif mettant en oeuvre le procédé précédemment décrit. Un circuit de prétraitement vidéo 15 reçoit les informations vidéo sur son entrée qui est également l'entrée du dispositif. Sa sortie est reliée à l'entrée d'un circuit de préanalyse ou de "première passe" 16, à l'entrée d'un estimateur de mouvement 17 et à l'entrée d'une boucle de codage inter-intra 18. Une première sortie du circuit de préanalyse est reliée à une première entrée d'un circuit de calcul du pas de quantification 19 et une - deuxième sortie du circuit de préanalyse est reliée à une première entrée 14 2753330 d'un circuit d'ajustement du pas de quantification 20. La sortie de l'estimateur de mouvement 17 est reliée en parallèle a une deuxième entrée du circuit d'ajustement du pas de quantification 20 et à une deuxième entrée de la boucle de codage inter-intra 18. Le circuit de calcul du pas de quantification 19 reçoit sur une deuxième entrée une information de remplissage provenant d'un buffer de sortie ou mémoire tampon 21. La sortie du circuit de calcul du pas de quantification 19 est reliée à une troisième entrée du circuit d'ajustement du pas de quantification 20. La sortie de ce circuit est reliée à une troisième entrée de la boucle de codage Io 18. La sortie de la boucle de codage est reliée à un buffer de sortie ou mémoire tampon 21 dont une première sortie est la sortie du dispositif et dont une deuxième sortie est reliée au circuit de calcul du pas de quantification 19. Le circuit de prétraitement réalise d'une manière classique un réordonnancement des images au niveau des groupes d'images tel que défini dans la norme MPEG puis un découpage des images en macroblocs. Le préanalyseur effectue une première passe, c'est à dire un codage en intra des images à partir d'un pas de quantification constant prédéfini ou ajusté en fonction de la complexité de codage des images précédentes du groupe d'image traité (group of pictures ou GOP dans la norme MPEG), la régulation se faisant au niveau d'un GOP, pour fournir un coût de codage par image au circuit de calcul du pas de quantification 19. Le préanalyseur fournit également un coût de codage par macrobloc au circuit d'ajustement local du pas de quantification 20 pour calculer les coefficients d'ajustement spatial. Ce circuit 20 reçoit également les vecteurs mouvement calculés à partir de l'estimateur de mouvement 17 pour déterminer les coefficients d'ajustement temporel. La boucle de codage inter-intra 18 reçoit du circuit de prétraitement 15 les informations vidéo sous forme de macroblocs, reçoit de l'estimateur de mouvement les vecteurs mouvement affectés à chacun des macroblocs pour calculer les macroblocs inter. Elle réalise une 2753330 Transformation Cosinus Discrète des macroblocs intra ou inter selon le mode inter ou intra déterminé par le calcul de l'énergie intrinsèque à ces macroblocs. Les coefficients obtenus sont quantifiés à l'aide de l'information de pas de quantification ajusté transmise par le circuit d'ajustement du pas de quantification 20. Les coefficients quantifiés sont ensuite transmis à la mémoire tampon 21 puis en sortie du dispositif. La mémoire tampon permet de réguler le débit en sortie du dispositif. L'information de remplissage de cette mémoire est transmise au circuit de calcul du pas de quantification 19 qui possède également l'information de o0 débit de consigne en sortie du dispositif. Ce circuit de calcul du pas de quantification 19 a pour rôle, comme son nom l'indique, de calculer le pas de quantification pour chaque image en fonction de ce débit de consigne, ce débit étant géré au niveau du groupe d'images, et également du taux de remplissage de la mémoire tampon. Ce pas est ensuite transmis au circuit d'ajustement du pas de quantification qui a pour rôle, entre autres, de corriger sa valeur en fonction des coefficients d'ajustement spatial et temporel calculés pour le macrobloc considéré. Bien sûr il s'agit là d'exemples de réalisation et le critère a peut être tout coefficient représentant la complexité de l'image, par exemple l'énergie du macrobloc ou le gradient de luminance. De même pour le critère P qui peut être un coefficient quelconque donnant une information de mouvement. Comme précédemment mentionné, I'application du critère temporel suppose une continuité dans la scène codée. Ainsi, lors d'un changement de séquence, par exemple détecté par la cohérence des vecteurs mouvements calculés par l'estimateur de mouvement (le champ de vecteurs étant alors hétérogène), l'exploitation du coefficient P est inhibée. L'ajustement du pas de quantification en fonction du critère temporel est inhibé de manière à ne pas altérer l'algorithme de contrôle, en particulier la vitesse de convergence de cet algorithme. Lors du codage des 16 2753330 macroblocs en mode intra (généralement lié à ce changement de séquence), le coefficient p est par exemple forcé à 1. La taille de la fenêtre de filtrage dépend du niveau de correction souhaité sur le pas de quantification: plus la fenêtre est large et plus les coefficients se rapprochent de un. Cette taille peut être adaptée en fonction des zones traitées, c'est à dire de leur uniformité et/ou de leur mouvement, selon le degré de correction du pas de quantification qu'elles nécessitent. L'utilisation d'un même filtre pour le calcul des coefficients de correction spatial et temporel n'impose pas l'exploitation de la même o0 fenêtre de filtrage. Pour ce qui concerne le critère temporel, la fenêtre de filtrage peut être réduite à sa taille minimale lorsque les vecteurs mouvement obtenus pour un macrobloc, de type forward comme de type backward. sont homogènes à ceux obtenus pour les macroblocs voisins. Le procédé peut être adapté à tout type de codeur exploitant la quantification des données de luminance, que ce soit dans le domaine spatial ou fréquenciel.. L'exemple décrit concerne les coefficients de blocs transformés mais l'invention pourrait s'appliquer aux valeurs de luminance des blocs d'images. Le procédé peut également être adapté à tout type d'algorithme de régulation agissant sur le pas de quantification. Nous avons supposé que le pas de quantification était constant pour une bande, selon la norme MPEG, mais l'invention pourrait s'appliquer à un algorithme calculant un pas de quantification pour chaque macrobloc. REVENDICATIONS 1. Procédé de compression de données d'une image vidéo comprenant un découpage de l'image courante en macroblocs et une quantification des données de chaque macrobloc en calculant un pas de quantification en fonction d'un débit de consigne, caractérisé en ce que le pas de quantification calculé est modifié (7, 8, 9) en fonction du coût de codage du macrobloc. 2. Procédé selon la revendication 1, caractérisé en ce que le coût de codage du macrobloc est moyenné (8) sur une fenêtre centrée sur le macrobloc courant. 3. Procédé selon la revendication 2, caractérisé en ce que la modification est effectuée par multiplication du pas de quantification calculé pour le macrobloc, par un coefficient d'ajustement spatial égal au coût de codage du macrobloc moyenné sur la fenêtre divisé par le coût de codage moyenné sur l'image complète. 4. Procédé de compression de données d'une image vidéo comprenant un découpage de l'image courante en macroblocs et une quantification des données de chaque macrobloc en calculant un pas de quantification en fonction d'un débit de consigne, caractérisé en ce que le pas de quantification calculé est modifié (10, 11, 12, 13, 14, 9) en fonction d'un mouvement estimé ou calculé du macrobloc de l'image courante par rapport a celui corrélé d'une image précédente ou suivante. 5. Procédé selon la revendication 4, caractérisé en ce que le pas de quantification calculé est modifié en fonction du mouvement affecté au macrobloc corrigé d'une valeur correspondant à l'écart entre un mouvement 18 2753330 moyen estimé pour des séquences à fort déplacement et le mouvement moyen dans l'image possédant le macrobloc (13). 6. Procédé selon la revendication 5, caractérisé en ce que le mouvement corrigé est moyenné (13) sur une fenêtre centrée sur le macrobloc courant. 7. Procédé selon la revendication 6, caractérisé en ce que la modification est effectuée par multiplication du pas de quantification calculé pour le macrobloc, par un coefficient d'ajustement temporel égal au module du vecteur mouvement correspondant au mouvement corrigé moyenné sur la fenêtre de taille w divisé par le module du vecteur mouvement corrigé moyenné sur l'image complète. 8. Procédé selon la revendication 4, 5, 6, ou 7, caractérisé en ce que le pas de quantification est également corrigé en fonction du coût de codage (7, 8, 9) du macrobloc. 9. Procédé selon l'une des revendications précédentes, caractérisé en ce que les données de chaque macrobloc sont les coefficients issus d'une Transformation Cosinus Discrète d'un bloc d'image. 10. Dispositif de compression de données d'une image vidéo comportant un circuit de codage inter et intra (18) des macroblocs de l'image, lui- même comportant un circuit de transformation cosinus discrète des macroblocs d'images et un quantificateur des coefficients transformés à partir d'un pas de quantification calculé par un circuit de calcul du pas de quantification (19) en fonction du débit de sortie du dispositif, caractérisé en ce qu'il comporte des moyens (20) recevant le pas de quantification calculé 19 2753330 pour ajuster ce pas de quantification en fonction du coût de codage (16) du macrobloc codé et le fournir au circuit de codage inter et intra (18). 11. Dispositif de compression de données d'une image vidéo comportant un estimateur de mouvement (17) pour calculer le déplacement d'un macrobloc de l'image à coder par rapport à un macrobloc corrélé d'une image précédente ou suivante, un circuit de codage inter et intra (18) du macrobloc de l'image recevant cette information de mouvement pour le codage en inter, ce circuit de codage comportant lui-même un circuit de transformation cosinus discrète du macrobloc et un quantificateur des coefficients transformés à partir d'un pas de quantification calculé par un circuit de calcul du pas de quantification (19) en fonction du débit de sortie du dispositif, caractérisé en ce qu'il comporte des moyens (20) recevant le pas de quantification calculé pour ajuster ce pas de quantification en fonction du déplacement (17) affecté au macrobloc codé.