Brevet FR2852179A1 — publié le 20040910

L'invention concerne un procédé de codage d'une image vidéo dans une séquence d'images comportant une étape d'analyse spatiale de 5 l'image et reposant sur l'utilisation de la prédiction temporelle entre images. Il s'agit plus particulièrement d'un codage entropique basé sur le contexte temporel de l'image, ce dernier exploitant des caractéristiques relatives à l'information de mouvement. Dans les standards de codage dits hybrides, par exemple 10 MPEG-1, MPEG-2, MPEG-4, h264, comme dans la plupart des schémas de codage sous-bande 2D+ t, par exemple MC-EZBC acronyme de l'anglais Motion Compensated Embedded Zero Block Context, la première étape de la chaîne de codage consiste à tirer parti de la redondance temporelle entre images successives, avant d'exploiter la redondance spatiale au sein d'une 15 image. La figure 1 représente un schéma d'un codeur vidéo selon l'art antérieur. Le signal vidéo est transmis à un circuit d'analyse temporelle 1. Un circuit d'estimation de mouvement 2 est relié à ce premier circuit pour 20 estimer le mouvement entre deux images reçues par le codeur. Les informations de mouvement sont transmises au circuit 1 et à un circuit 6 de codage, par exemple sous forme de champs de vecteurs mouvement. La sortie du circuit 1 est transmise à un circuit d'analyse spatiale 3 qui extrait, de la texture, les coefficients de fréquence de l'image. Ces coefficients sont 25 ensuite quantifiés puis codés par un codage entropique, circuit 4. Ces informations codées et celles de mouvement sont transmises à un circuit de mise en paquets ou paquetiseur 5 qui envoie les données vidéo sous forme de paquets vidéo pour constituer le flux de données vidéo. Le circuit d'analyse temporelle 1 réalise une prédiction 30 temporelle compensée en mouvement dans le cas d'un schéma hybride ou un filtrage temporel compensé en mouvement, MCTF selon l'acronyme de l'expression anglaise Motion Compensated Temporal Filtering, dans le cas d'un schéma de codage sous-bande. Les algorithmes de codage avec prédiction temporelle consistent à opérer de la compensation de mouvement 35 pour générer des images de prédiction qui vont servir ultérieurement dans le processus de codage. Ces algorithmes reposent sur le même principe. Les q images à coder sont prédites à partir d'une ou plusieurs images précédemment codées, appelées images de référence. C'est le cas dans les standards MPEG vidéo avec les images Prédites (P) et Bi-directionnelles ou Bi-prédites (B). La prédiction consiste à effectuer une compensation de 5 mouvement à partir de ces images de référence et de vecteurs mouvement associés à l'image courante. Ce qui est ensuite codé est le résidu de la prédiction, c'est-à-dire la différence entre l'image courante et l'image de prédiction temporelle. Le mouvement est généralement décrit par blocs de pixels et la compensation en mouvement effectuée par bloc. Le circuit d'analyse spatiale 3 réalise, par exemple, une décomposition en ondelettes ou une transformée cosinus discrète. Le codage entropique du circuit 4 peut être un codage de type VLC, de l'anglais Variable Length Coding, ou un codage de type arithmétique. Le circuit de paquetisation a pour fonction de découper 15 l'information de texture et de mouvement provenant respectivement du circuit de codage entropique et du circuit de codage des champs de mouvement en sousensembles cohérents selon leur fréquence spatiale, temporelle, et leur importance, par exemple leur poids dans une approche de codage par plans de bits. Ainsi le flux binaire obtenu est échelonnable ou "scalable" 20 indépendamment en résolution, en fréquence trame et en fidélité. Les champs de mouvement estimés correspondent à la résolution de la source. L'étape de compensation en mouvement du codeur ainsi que son inverse au décodeur, qu'elle soient faites par filtrage ou prédiction, doivent donc être exécutées sur des images à pleine résolution 25 pour être cohérentes. La scalabilité spatiale, la possibilité de transmettre et donc de reconstruire des images à différents niveaux de résolution, par exemple des images de format SD (Standard Definition), CIF ou QCIF est aujourd'hui 30 couramment exploitée dans la transmission de données vidéo. Les schémas classiques de codage par analyse spatio-temporelle tels que celui précédemment décrit à base de décomposition en ondelettes ou de transformation cosinus discrète se prêtent à une telle scalabilité. Il ne permettent cependant pas d'adapter de manière optimale les informations de 35 mouvement à cette scalabilité, c'est à dire aux différentes résolutions de l'image et donc d'optimiser la compression des données. Un codeur vidéo qui suit l'architecture décrite peut présenter de la scalabilité spatiale pour la texture, mais pas pour le mouvement. Or cette information de mouvement n'est pas négligeable. A titre d'exemple, elle représente environ 30% de la totalité du flux binaire lorsque l'on encode une séquence CIF 15Hz à bas 5 débit. Les architectures usuelles souffrent donc d'une sur-définition de l'information de mouvement qui affecte sensiblement les performances de compression à basse résolution. Des solutions existent pour préserver la scalabilité de la texture comme du mouvement. Le moyen le plus simple est d'estimer ce dernier sur 10 la plus faible résolution spatiale admise au décodage. On procède donc en premier lieu à la décomposition spatiale. Reste ensuite à exploiter la redondance temporelle qui existe entre les hautes fréquences spatiales successives. Pour ce faire, plusieurs solutions ont été proposées, qui ont réintroduit des outils classiques de décorrélation temporelle: prédiction ou 15 filtrage compensés en mouvement. Or ces techniques classiques sont moins efficaces dans le domaine transformé que dans le domaine pixel à cause du problème de phase générant le phénomène connu sous l'appellation anglaise de "shift-variance" des transformées spatiales. En effet, la transformée en ondelette discrète DWT (Discrete Wavelet Transform) 20 comme la DCT (Discrete Cosine Transform) sont telles que des coefficients d'images successives, correspondant au même motif pixel, peuvent être très différents, en signe et en valeur absolue, selon la direction et l'amplitude du déplacement, la direction et la longueur du filtre spatial. La "shift-variance", intrinsèque aux transformées spatiales, nécessite une nouvelle approche 25 d'estimation de mouvement, elle rend les hautes fréquences temporelles inadaptées au codage par prédiction ou filtrage. L'invention a pour but de pallier les inconvénients précités. Elle a pour objet un procédé de codage d'une image dans une séquence d'images, 30 comportant une étape d'analyse spatiale d'une image courante pour fournir un signal de fréquence spatiale basse et des signaux de fréquence spatiale haute et réalisant une estimation d'un mouvement entre un instant courant correspondant à l'image courante et un instant de référence correspondant à une image de référence pour fournir un vecteur mouvement, caractérisé en 35 ce qu'il effectue un codage entropique d'au moins un des signaux de fréquence spatiale haute relatif à l'image courante en prenant en compte un contexte temporel basé sur l'estimation d'un mouvement, un des paramètres exploités pour le calcul du contexte temporel étant la parité relative à une composante du vecteur mouvement. Selon une mise en oeuvre particulière, un des paramètres 5 exploités pour le calcul du contexte temporel est la partie fractionnaire relative à une composante du vecteur mouvement. Selon une mise en oeuvre particulière, pour un signal de fréquence spatiale haute, la composante considérée est celle dans la direction du filtrage spatial passe-haut. Selon une mise en oeuvre particulière, le codage entropique est un codage arithmétique par plan de bit et le contexte temporel correspond au plan de bit de même niveau dans l'image de référence temporelle. Selon une mise en oeuvre particulière, le codage arithmétique est un codage N-aire et en ce que le contexte temporel correspond à N plans de 15 bit de même niveau dans l'image de référence temporelle. L'invention a également pour objet un procédé de décodage d'une image dans une séquence d'images, codée selon le procédé de codage décrit ci- dessus, caractérisé en ce qu'il effectue un décodage entropique relatif à au moins un des signaux de fréquence spatiale haute en prenant en 20 compte un contexte temporel basé sur l'estimation de mouvement, un des paramètres exploité pour le calcul du contexte temporel étant la parité relative à une composante du vecteur mouvement. Selon une mise en oeuvre particulière, le procédé de décodage est caractérisé en ce qu'un paramètre exploité pour le calcul du contexte est la 25 partie fractionnaire relative à une composante du vecteur mouvement. L'invention a également pour objet un codeur vidéo mettant en oeuvre le procédé de codage précédent, comportant un circuit d'analyse spatiale recevant un signal vidéo pour fournir un signal de fréquence spatiale la plus faible correspondant à la résolution la plus faible et des signaux de 30 fréquence spatiale haute pour une ou plusieurs résolutions supérieures, un circuit d'estimation de mouvement pour le calcul de vecteurs mouvement, caractérisé en ce qu'il comprend un circuit de codage entropique d'au moins un des signaux de fréquence spatiale haute prenant en compte un contexte temporel basé sur l'estimation d'un mouvement, un des paramètres exploités pour le calcul du contexte temporel étant la parité relative à une composante du vecteur mouvement. L'invention a également pour objet un décodeur vidéo d'une image dans une séquence d'images, codée selon le procédé de codage précédent, 5 caractérisé en ce qu'il comprend un circuit de décodage entropique mettant en oeuvre un algorithme de calcul d'un contexte temporel basé sur l'estimation de mouvement, un des paramètres exploité pour le calcul du contexte temporel étant la parité relative à une composante du vecteur mouvement. Le procédé permet de tirer meilleur parti de la redondance temporelle des transformées spatiales des images successives, en particulier des hautes fréquences, tout en gardant la scalabilité spatiale du mouvement et de la texture. Grâce à la description multi-résolution du mouvement, les 15 performances de compression en débit-qualité, pour chaque résolution de la scalabilité spatiale, sont améliorées. La qualité visuelle et objective de la vidéo décodée est également améliorée grâce à l'utilisation de la redondance temporelle sans filtrage ou prédiction, qui sont sources d'artefacts, par exemple les effets de 20 blocs si l'estimation de mouvement est effectuée par blocs. D'autres particularités et avantages de l'invention ressortiront mieux dans la description suivante donnée à titre d'exemple non limitatif et faite en regard des figures annexées qui représentent: - la figure 1 un schéma de codage selon l'art antérieur, - la figure 2, un schéma simplifié d'un circuit de codage selon l'invention, - la figure 3, un voisinage temporel pour un pixel (x, y) d'une image courante, - la figure 4, un voisinage temporel et spatial pour un pixel (x, y) - la figure 5, deux voisinages temporels pour un pixel (x,y) - la figure 6, le voisinage spatial et temporel d'un pixel (m, n), - la figure 7, la parité et la partie fractionnaire des composantes du vecteur mouvement, - la figure 8 un schéma d'un circuit de codage selon l'invention. Un circuit de codage mettant en oeuvre le procédé de codage selon l'invention est représenté à la figure 2. Le cas, non limitatif, d'une décomposition en ondelettes est choisi. La source vidéo est transmise à un circuit d'analyse spatiale 2D référencé 7 qui est donc un circuit de décomposition en ondelettes. Il réalise une décomposition spatiale pour fournir des coefficients de sous- bande de différentes résolutions spatiales. Une première sortie fournissant les coefficients de plus basse résolution est reliée à un circuit d'analyse 10 temporelle 8. Les autres sorties correspondant aux coefficients de sousbande de plus haute résolution sont reliées aux entrées d'un circuit de codage arithmétique exploitant le contexte spatio- temporel compensé en mouvement ou circuit MC-STAC choisi de l'anglais Motion Compensated Spatio-Temporel Arithmetic Coding. Le circuit d'analyse temporelle 8 est 15 reliée à un circuit de codage arithmétique basé contexte 9 ou circuit CAE de l'anglais Context-based Arithmetic Encoding. Les sorties du circuit MC-STAC correspondent aux différentes résolutions. Le circuit de décomposition en ondelettes spatial 2D génère, à partir d'une image vidéo, des images de coefficients ondelette ou sous20 images correspondant chacune à une bande fréquentielle spatiale donnée jusqu'à atteindre la plus faible résolution admise au décodage. Il décompose l'image en bande de base ou bande basse (LL) et en bandes hautes (LH, HL, HH), dans le domaine spatial. Seules les images correspondant à la bande de base sont 25 traitées par le circuit d'analyse temporelle 8. Le signal de plus faible résolution spatiale (LL) provenant du circuit d'analyse spatiale 7 est donc transmis au circuit d'analyse temporelle 8. Ce circuit réalise une estimation de mouvement puis un filtrage temporel compensé en mouvement, aussi appelé MCTF. L'analyse temporelle consiste en la réalisation d'images 30 intermédiaires à partir des images reçues à la fréquence d'entrée pour obtenir une échelonnabilité temporelle. Un tel circuit d'analyse est par exemple du type MC-lift, expliqué plus loin. Le filtrage temporel consiste par exemple en la soustraction de l'image courante à une image prédite à partir d'une image précédente compensée en mouvement. Les images autres que celles correspondant à la bande de base sont traitées par le circuit de codage arithmétique avec contexte spatiotemporel compensé en mouvement 10 ou MCSTAC. En effet, ces sousbandes, nécessaires à la reconstruction des résolutions successives jusqu'à la résolution originale, ne sont pas propices à une technique classique de filtrage ou prédiction temporelle et sont donc tout de suite encodées 5 arithmétiquement. Afin d'utiliser la redondance temporelle résiduelle qui lie les hautes fréquences spatiales successives, cette étape de codage arithmétique contextuel adaptatif fait intervenir une information de mouvement comme expliqué ci-après. La distribution des coefficients ondelettes d'une haute fréquence spatiale est la suivante: de grandes régions connexes de zéros, ou de coefficients de faible amplitude, qui correspondent aux zones uniformes de l'image, sont séparées par les contours, qui sont classiquement des courbes continues, le long desquels l'amplitude des coefficients varie 15 fortement, de même que leur signe. Ainsi la donnée du contexte spatial, largement répandue dans les schémas existants, permet-elle de rendre plus probables l'amplitude et le signe des coefficients à coder, donc de diminuer l'entropie de la sous-bande et d'accroître le taux de compression. Un algorithme de fonctionnement du 20 codage arithmétique contextuel basé sur le contexte spatial est par exemple décrit dans l'article de G. Langdon et J. Rissanen intitulé "Compression of black-white images with arithmetic coding", IEEE Transactions on Communications, vol.29, no.6, pp 858-867, June 1981. Ce codage arithmétique est contextuel car l'estimation et l'utilisation des tables de 25 probabilités, au lieu d'être globales pour l'ensemble de signal, sont fonction du contexte, c'est à dire adaptées localement selon une classification des configurations possibles du voisinage. Ce genre de codage convient très bien pour coder des coefficients de haute fréquence d'une DCT ou d'une DWT spatiale, car il tire parti de la corrélation spatiale locale résiduelle. Les 30 différents contextes sont habituellement déterminés par une combinaison des valeurs possibles des voisins immédiats. Le codage arithmétique est adaptatif car l'estimation des statistiques s'effectue par apprentissage, pendant l'encodage, à partir d'une valeur d'initialisation. Quant à la mise en oeuvre de la dimension temporelle du 35 contexte selon les procédés connus, elle n'est pas d'une grande efficacité. Malgré la plus grande richesse en information qu'un contexte strictement spatial, la donnée des coefficients pointés par le vecteur mouvement peut être déroutante pour la phase d'apprentissage des statistiques à cause du phénomène de shift-variance que l'on a évoqué plus haut. Selon la dynamique de la variation spatiale, le déplacement et la longueur du filtre 5 spatial, les coefficients ondelettes ou DCT d'un motif pixel et de son translaté auront des amplitudes et un signe a priori différents. Si le déplacement est d'un nombre pair de pixels entiers, les transformées seront "en phase"; si le déplacement est d'un nombre impair de pixels entiers, les transformées seront "en opposition de phase"; etc. Ce raisonnement peut être poursuivi 10 quelle que soit la précision souspixel du mouvement estimé. C'est cette information discriminante que nous proposons de joindre de manière innovante au contexte spatio-temporel, afin de permettre à l'évaluation des statistiques de la succession des hautes fréquences de converger au mieux vers sa distribution conditionnelle. L'approche proposée consiste à utiliser un codage entropique contextuel, le contexte intégrant un contexte temporel. Le codage entropique est le codage arithmétique permettant d'utiliser, pour des valeurs hautement probables, une longueur moyenne de code inférieure à un bit. Un point essentiel du codage entropique est la 20 détermination de tables de probabilités caractérisant les statistiques du signal à coder. Faisons tout d'abord un bref rappel sur la constitution d'une table de probabilité adaptative prenant en compte par exemple le contexte spatial. Considérons le cas d'un codage par plan de bits. Dans ce cas, les 25 valeurs prises en compte dans le codage et le contexte sont binaires: 0 ou 1. On considère les valeurs des pixels entourant le pixel courant et qui viennent d'être traités, par exemple les trois pixels les plus voisins. On dispose donc d'une liste de 23= 8 contextes différents. A chaque contexte est associée une table de probabilités. Ces tables de probabilité sont 30 adaptatives, c'est-à-dire mises à jour au fur et à mesure de l'encodage, selon les valeurs des coefficients traités. L'algorithme de codage se déroule, parcourant les coefficients de l'image dans un ordre prédéfini. A chaque étape du parcours, un contexte est caractérisé par son nombre d'occurrences jusqu'à l'instant considéré, ainsi que le nombre de fois, parmi 35 ces occurrences, o la valeur 1 (ou 0) a été rencontrée. Ainsi, lors du codage d'un bit courant relatif à un plan de bits d'un élément donné, si le contexte de M cet élément est Cj, le nombre d'occurrences relatif à Cj est incrémenté et le nombre de fois o la valeur 1 est rencontrée est incrémenté si la valeur du bit est 1. La probabilité d'obtenir un "zéro" ou un "un" dans le contexte Cj est calculée de la manière suivante: La probabilité d'obtenir un zéro (po) est 5 égale au nombre de zéros rencontrés pour le contexte donné divisé par le nombre d'occurrences totales de ce contexte. Ainsi, le bit courant x dans le contexte Cj est codé sachant la probabilité Px de ce bit dans le contexte Cj. On propose ici d'opérer un codage entropique en utilisant différentes statistiques du signal, les tables de probabilité, en fonction du 10 contexte spatio-temporel. Notons lprec l'image précédente et 'cour l'image courante à coder. Ces images ne sont pas nécessairement des images de luminance; elles peuvent être des images de coefficients ondelettes, des champs de mouvement, etc. Ces images sont référencées respectivement 12 et 11 sur la figure 3 qui représente un voisinage temporel d'un pixel (x, y) d'une image courante. En tout pixel (x,y) de cette image courante, la donnée à traiter va être codée en fonction de son voisinage temporel. Ce voisinage temporel correspond aux données de l'image précédente, localisées dans le voisinage 20 du pixel déplacé (pdx, pdy) référencé 14, c'est-à-dire pointé par le vecteur mouvement du pixel (x,y) référencé 13 sur cette figure 3. Le contexte temporel, noté C(pdx, pdy) est une fonction des données du voisinage temporel. Pour alléger les notations, C(pdx, pdy) sera noté C dans la suite. Selon le nombre k de coefficients considérés dans le 25 contexte temporel, on disposera d'une liste de 2k contextes. Pour chaque contexte, on définit de manière adaptative une table de probabilité, de la même manière que cela a été décrit dans le cas d'un contexte temporel. Il est bien sûr possible d'utiliser des champs de mouvement différents par plan de bits, en exploitant par exemple une description 30 grossière du mouvement pour le premier plan de bit, une version affinée pour le second plan de bit, et ainsi de suite. L'utilisation d'un contexte temporel peut être combinée à l'utilisation d'un contexte spatial. Si l'on note j le nombre de coefficients qui 35 composent le contexte spatial, et k le nombre de coefficients qui constituent le contexte temporel, on dispose alors d'une liste de 2j+k contextes. La figure 4 illustre un voisinage temporel 14 défini à partir du vecteur mouvement 13 associé au pixel (x, y) de coordonnées (x, y) et combiné à un voisinage spatial 15 autour de ce pixel (x, y). Selon le même principe, on peut envisager l'utilisation de 5 plusieurs contextes temporels, de façon similaire à de la prédiction à partir de plusieurs images de référence, telle qu'utilisée dans les standards MPEG avec les images Bi-directionnelles. La figure 5 représente une image précédente et une image suivante autour de l'image courante. Le vecteur de mouvement anticipé (forward dans la norme MPEG) 13 permet de définir le 10 voisinage temporel 14 relatif à l'image précédente lprec et le vecteur de mouvement différé (backward) 16 permet de définir le voisinage temporel 17 relatif à l'image suivante 'futur. Un des aspects majeurs de l'invention concerne le type de 15 paramètres exploités pour définir le contexte spatio-temporel. Le phénomène de "shift-variance", décrit plus haut, tend à " désorienter" un codec arithmétique contextuel. Pour que l'adaptation des tables de probabilités ne souffre pas de ce phénomène, des paramètres déterminants de la "shiftvariance" sont incorporés dans la donnée du contexte. Les paramètres considérés sont donc tout ou partie des paramètres suivants: - un voisinage spatial d'un nombre donné de coefficients, - un voisinage temporel compensé en mouvement de coefficients d'un autre échantillon temporel, déjà codé, de la sous-bande 25 spatiale considérée, - la parité d'au moins une des composantes du déplacement, selon la direction de filtrage passe-haut de la sous-bande spatiale considérée, la partie fractionnaire d'au moins une des composantes du 30 déplacement, selon la direction de filtrage passe-haut de la sous-bande spatiale considérée. La parité de la partie entière du déplacement permet de distinguer les cas o voisinages temporel et spatial sont en phase et en 35 opposition de phase, la partie fractionnaire du déplacement permet d'aiguiser cette information de " déphasage " induit par le déplacement. Enfin, pour 1 1 ces paramètres, il est avantageux de ne considérer que la composante dans la direction du filtrage passe-haut, car discriminante. Il s'agit de la composante verticale pour la sous-bande de détails horizontaux (LH) et de la composante horizontale pour la sous-bande de détails verticaux (HL). La 5 sous-bande de détails diagonaux (HH) est particulière en ceci qu'elle possède deux directions de filtrage, orientées respectivement à + 450 et -450. Pour cette bande, on peut considérer à la fois les deux composantes, ce qui augmente le nombre de contextes, ou bien, pour limiter ce nombre, utiliser des fonctions des paramètres des deux composantes. On peut ainsi 10 considérer par exemple l'amplitude du déplacement ou plus simplement la somme des deux composantes ou encore ne retenir que celle de plus grande amplitude. S'il s'agit de l'amplitude de déplacement, la parité est relative à la distance diagonale entre deux pixels voisins. La figure 6 représente un exemple de voisinage spatiotemporel, dans le cas d'un nombre restreint de coefficients voisins pour chaque contexte et d'une précision de mouvement raisonnable d'un quart de pixel. Le voisinage spatial 18 d'un coefficient courant (m, n) situé sur la ligne m et la colonne n de l'image courante, représenté en grisé, correspond à 20 trois coefficients voisins précédemment traités Lcur, Ucur et Dcur. Le voisinage temporel 20 correspond aux quatre coefficients Xref, Bref, Rref et Dref désignés par le vecteur mouvement 19 pointant dans l'image de référence. Le coefficient Xref est situé sur la ligne m+k et colonne n+l. La figure 7 représente les paramètres relatifs aux composantes 25 du vecteur déplacement. La graduation des axes, sur le repère orthonormé 21, correspond au quart de la distance entre deux pixels. La parité est relative aux composantes du vecteur mouvement. La grille de suréchantillonnage autour de l'extrémité du vecteur mouvement permet de déterminer les parties fractionnaires correspondantes, Fractdx=dl et Fractdy 30 =dk, 2 quarts de fraction en horizontal et un quart de fraction en vertical dans l'exemple de la figure 6. dx = I+dl est la composante horizontale du vecteur, dy = k + dk est la composante verticale du vecteur. Les parités des composantes horizontales et verticales sont 35 respectivement Parx = I mod2 et Pary = k mod2. Les coefficients sont en phase ou en opposition de phase selon qu'il y a parité ou non-parité. Les coefficients ondelette sont codifiés par plans de bits. Pour chaque plan de bit, la significance des coefficients L, U et D ainsi que celle des coefficients X, B, R et D est déterminée. Il s'agit de mesurer si la valeur d'un coefficient est supérieure à la valeur correspondant au poids du bit 5 relatif au plan traité. Les informations de fractionnement et de parité sont également relevées. On peut donc indexer les contextes de manière générique avec le train binaire suivant: Lcur | Ucur | Dcur | Fracdx | Fracdy Parx | Pary | Xref Bref | Rref I Dref Les parties fractionnaires sont codées chacune sur 2 bits (O à 3 10 quarts de pixels), les autres paramètres sur 1 bit. Il est bien sûr possible de prendre en compte les paramètres parité et fractionnement de plusieurs vecteurs, dans le cas ou plus d'un vecteur mouvement est associé à un coefficient ou un pixel, par exemple lorsque plusieurs images de référence sont exploitées. L'estimation de mouvement du circuit d'analyse temporelle 8 est effectuée de manière classique sur les bandes basse fréquence transmises en entrée de ce circuit. Le procédé d'estimation de mouvement (ME) mis en oeuvre par 20 le circuit ME-MCSTAC 10 peut être effectué selon différentes approches, par exemple: - estimation de mouvement sur les bandes de basse fréquence successives. - estimation de mouvement directement sur les bandes de 25 hautes fréquences. Le premier cas est le plus simple à implémenter. A chaque étape de la décomposition spatiale, un champ de mouvement est estimé sur la basse fréquence, avant que celle-ci soit à nouveau scindée en quatre sous-bandes. Comme la source est alors assimilable au domaine pixel, cette 30 estimation peut être effectuée de manière classique, par minimisation de l'erreur de prédiction. Le mouvement est alors cohérent en résolution car à la dimension des trois bandes de haute fréquence à coder avec MC-STAC, et contient bien l'information de déplacement à la précision voulue. Ainsi, le mouvement estimé sur la résolution e.g. CIF sert à coder avec MC-STAC les trois bandes de détails horizontaux, verticaux et diagonaux qui servent à passer de la résolution CIF à SD. De la même manière, le mouvement estimé sur la résolution QCIF, en plus de servir de 5 support au MCTF classique pour la séquence à la résolution QCIF, permet de coder avec MC-STAC les trois bandes de détails horizontaux, verticaux et diagonaux qui servent à passer de la résolution QCIF à CIF. Comme on la verra plus loin, la figure 9 décrit un codeur exploitant cette solution. On peut également vouloir se doter de champs de mouvement 10 plus dédiés à l'application MC-STAC. Il faut alors estimer le mouvement sur chaque bande de haute fréquence à coder, c'est le deuxième cas. Comme les hautes fréquences contiennent moins d'information que les basses fréquences, il est raisonnable de penser que les champs estimés sur les hautes fréquences sont moins coûteux que celui estimés sur la basse 15 fréquence. Néanmoins, à cause du phénomène de shift-variance décrit plus haut, le critère utilisé pour l'estimation ne peut plus consister en une simple minimisation de DFD. Le critère choisi est la minimisation de l'entropie conditionnelle implicitement liée à MCSTAC. Un tel critère correspond à un choix de vecteur a posteriori, et peut être très coûteux en ressource et 20 complexité. Il s'agit cependant évidemment du critère optimal. Un autre critère est la minimisation de la différence des valeurs absolues. Il s'agit d'un critère très simple qui permet de passer outre un premier obstacle de la shiftvariance. Ces estimations de mouvement peuvent également être 25 effectuées par plan de bit. Le circuit d'analyse temporelle 8 s'appuie, dans un exemple, sur une technique connue appelée "MC-Lift", de l'anglais Motion Compensated Lifting, pour obtenir des images avec les résolutions 30 temporelles souhaitées. Le MC-Lift consiste à construire, pour un groupe d'images, différents niveaux de résolution temporelle. Pour chaque résolution temporelle, excepté la première, les images sont construites par prédiction temporelle à partir des images de la résolution temporelle inférieure. La figure 8 décrit de manière plus détaillée un dispositif mettant en oeuvre le procédé selon l'invention. L'entrée vidéo du codeur est reliée à un circuit 22 de transformée ondelette 2D (2dWT) qui fournit en sortie la bande basse LL et les bandes hautes LH, HL et HH. La bande basse LL est reliée à un deuxième circuit 23 de transformée ondelette 2D et à un circuit d'estimation 5 de mouvement ME 24. Les bandes hautes LH, HL et HH sont reliées à un circuit MC-STAC 25. Le deuxième circuit de transformée ondelette 2D 23 fournit, sur une sortie, la bande basse LLLL et, sur les autres sorties, les bandes hautes LLLH, LLHL et LLHH. La bande basse LLLL est reliée à un circuit MCTF 26 et à un circuit d'estimation de mouvement ME 27. Les 10 bandes hautes sont reliées à un deuxième circuit MC-STAC 28. Les informations de mouvement du circuit ME 24 sont transmises au circuit MC-STAC 25 et les informations de mouvement du circuit ME 27 sont transmises au circuit MCTF 26 et au circuit MC-STAC 28. Les sorties des circuits MC-STAC 25 et 28 fournissent les 15 textures aux résolutions SD et CIF. Les sorties des circuits ME 24 et 27 sont reliées respectivement à des circuits de codage du champ de mouvement 29 et 30 qui fournissent les informations de mouvement SD pour le circuit 29, QCIF et CIF pour le circuit 30. La sortie du circuit MCTF 26 est reliée à un circuit de codage arithmétique basé contexte CAE 31 qui réalise un codage 20 entropique pour fournir la texture codée de résolution QCIF en sa sortie. Ainsi, le signal d'entrée vidéo subit une décomposition ondelettes pyramidale, par le circuit 22 puis le circuit 23. Les estimations de mouvement, comme indiqué plus haut, sont réalisées sur les bandes basses. L'estimation de mouvement calculée sur une bande basse de résolution 25 spatiale donnée est exploitée par les circuits de codage arithmétique avec contexte spatio-temporel compensé en mouvement MC-STAC codant les bandes hautes de résolution correspondant à cette bande basse. La bande de base LLLL est traitée de manière classique par le circuit MCTF 26 qui réalise un filtrage temporel compensé en mouvement. 30 Les procédés et circuits de décodage mettant en oeuvre l'invention correspondent aux procédés et circuits de codage précédemment décrit. Ainsi, le procédé de décodage calcule un contexte en 35 s'appuyant sur les informations du flux de données codées selon le procédé de codage décrit. Ces informations, déjà décodées lors du traitement du coefficient courant, permettent de calculer et de mettre à jour en permanence les listes de contextes, pour les différents paramètres choisis au codage, pour le calcul de ce coefficient. Le circuit de décodage entropique met en oeuvre un algorithme 5 de calcul des tables de probabilité et du contexte selon le procédé précédant. Le codage décrit est un codage par plan de bit, donc binaire. Il est également envisageable d'exploiter un codage N-aire, c'est à dire réalisant le codage simultané de N plans de bit. Les contextes exploités 10 prennent alors en compte, non pas une valeur binaire, celle du plan de bit, mais la valeur N-aire comportant N bits. La liste des contextes différents qui en résultent est plus importante, augmentant le nombre de calculs, mais l'efficacité de codage est améliorée. La description concerne un schéma "full scalable", c'est à dire 15 présentant une échelonnabilité à la fois spatiale, temporelle et en fidélité, permettant à n'importe quel décodeur d'exploiter le flux de codage. Un autre type de schéma, par exemple ne présentant pas une échelonnabilité temporelle, ne sortirait pas du domaine de l'invention Le codage entropique à partir du contexte temporel est décrit 20 sur les seules hautes fréquences spatiales, les basses fréquences spatiales se prêtant à un filtrage temporel à partir d'une image prédite. Il est bien sûr envisageable, sans sortir du domaine de l'invention, d'appliquer un tel codage entropique sur l'ensemble des fréquences spatiales du signal. De même, l'estimation de mouvement peut être effectuée sur la 25 bande de base ou sur l'image source. La parité est calculée sur la partie entière de la composante. Elle pourrait également être calculée sur la valeur entière la plus proche. Le codage entropique décrit est un codage arithmétique. Le procédé selon l'invention peut également s'appliquer sur d'autres types de 30 codage entropique exploitant les propriétés statistiques du signal, par exemple un codage de type VLC. Les applications de l'invention concernent la compression vidéo avec prédiction temporelle. REVENDICATIONS 1 Procédé de codage d'une image dans une séquence d'images, comportant une étape d'analyse spatiale (7, 22, 23) d'une image courante 5 pour fournir un signal de fréquence spatiale basse et des signaux de fréquence spatiale haute et réalisant une estimation d'un mouvement entre un instant courant correspondant à l'image courante (11) et un instant de référence correspondant à une image de référence (12) pour fournir un vecteur mouvement (13), caractérisé en ce qu'il effectue un codage 10 entropique (10, 25, 28) d'au moins un des signaux de fréquence spatiale haute relatif à l'image courante en prenant en compte un contexte temporel (14, 17, 20) basé sur l'estimation d'un mouvement, un des paramètres exploités pour le calcul du contexte temporel étant la parité (21) relative à une composante du vecteur mouvement. 2 Procédé selon la revendication 1, caractérisé en ce qu'un des paramètres exploités pour le calcul du contexte temporel est la partie fractionnaire (21) relative à une composante du vecteur mouvement. 3 Procédé selon la revendication 1, caractérisé en ce que, pour un signal de fréquence spatiale haute, la composante considérée est celle dans la direction du filtrage spatial passe-haut. 4 Procédé selon la revendication 1, caractérisé en ce que le 25 contexte temporel (14, 17, 20) est combiné à un contexte spatial (15, 18). Procédé selon la revendication 1, caractérisé en ce que le contexte temporel (14, 17, 20) est basé sur plusieurs estimations de mouvement (13, 16) à partir de plusieurs images de référence (14, 17). 30 6 Procédé selon la revendication 1, caractérisé en ce que le codage entropique est un codage arithmétique. 7 Procédé selon la revendication 6, caractérisé en ce que le codage arithmétique est un codage par plan de bit et en ce que le contexte temporel correspond au plan de bit de même niveau dans l'image de référence temporelle. 8 Procédé selon la revendication 6, caractérisé en ce que le codage arithmétique est un codage N-aire et en ce que le contexte temporel correspond à N plans de bit de même niveau dans l'image de référence 10 temporelle. 9 Procédé selon la revendication 1, caractérisé en ce que l'estimation de mouvement (24, 27) est effectuée à partir d'un des signaux fournis par l'analyse spectrale. Procédé selon la revendication 7, caractérisé en ce que l'estimation de mouvement (24, 27) est effectuée par plan de bit et en ce que le contexte temporel, pour un plan de bit, est basé sur l'estimation de mouvement sur le dit plan de bit. 11 Procédé selon la revendication 1, caractérisé en ce que l'analyse spatiale est une transformation ondelettes 12 Procédé de décodage d'une image dans une séquence 25 d'images, codée selon le procédé de codage de la revendication 1, caractérisé en ce qu'il effectue un décodage entropique relatif à au moins un des signaux de fréquence spatiale haute en prenant en compte un contexte temporel (14, 17, 20) basé sur l'estimation de mouvement, un des paramètres exploité pour le calcul du contexte temporel étant la parité (21) 30 relative à une composante du vecteur mouvement. 13 Procédé de décodage selon la revendication 12, caractérisé en ce qu'un paramètre exploité pour le calcul du contexte est la partie fractionnaire (21) relative à une composante du vecteur mouvement. 14 Codeur vidéo mettant en oeuvre le procédé de codage selon la revendication 1 comportant un circuit d'analyse spatiale (7, 22, 23) recevant un signal vidéo pour fournir un signal de fréquence spatiale la plus faible correspondant à la résolution la plus faible et des signaux de fréquence spatiale haute pour une ou plusieurs résolutions supérieures, un circuit 10 d'estimation de mouvement pour le calcul de vecteurs mouvement, caractérisé en ce qu'il comprend un circuit de codage entropique d'au moins un des signaux de fréquence spatiale haute prenant en compte un contexte temporel (14, 17, 20) basé sur l'estimation d'un mouvement, un des paramètres exploités pour le calcul du contexte temporel étant la parité (21) 15 relative à une composante du vecteur mouvement. Décodeur vidéo d'une image dans une séquence d'images, codée selon le procédé de la revendication 1, caractérisé en ce qu'il comprend un circuit de décodage entropique mettant en oeuvre un 20 algorithme de calcul d'un contexte temporel basé sur l'estimation de mouvement, un des paramètres exploité pour le calcul du contexte temporel étant la parité (21) relative à une composante du vecteur mouvement.