FR 2820256 A1 20020802 FR 0109425 A 20010713 Procédés de codage et de décodage d'images, dispositifs, systèmes, signaux et applications correspondants. Le domaine technique de l'invention est celui du codage à réduction de débit des séquences d'images animées, vidéo notamment. Les applications du codage vidéo sont particulièrement nombreuses. Citons de manière non exclusive : - La transmission de la TV numérique ; - La transmission vidéo en temps réel sur différents types de réseaux : IP, mobiles, ("Streaming IP") ; Le stockage informatique de vidéos. Le présent document décrit un nouveau procédé de codage vidéo par hybridation d'un codage de type MPEG et d'un codage par interpolation temporelle basée sur une représentation par maillages, ainsi que le procédé de décodage et la structure de la représentation binaire associée. Par codage de type MPEG, on entend un codage basé sur une prédiction temporelle et une transformation en cosinus discrète basée sur une structure de blocs rigides, souvent de taille fixes, mais éventuellement de tille variable. Les 2 standards représentatifs pour cette famille de codages étant les normes MPEG-4 de la version 1 à 4 et ITU-T/H. 263 jusqu'à la version 2. Les schémas de codage et décodage vidéo proposés à ce jour se répartissent en 2 catégories : - Les codages normalisés, soit par l'ISO/MPEG, soit par l'ITU-T, tous basés sur le même type de techniques (prédiction temporelle et une transformation en cosinus discrète basées sur une structure de blocs) - Les codages en cours de développement proposés par des laboratoires de recherche, qui font appel à un large panel de techniques : Codage par Ondelettes, par Régions, par Fractales, par Maillages, etc.. Actuellement, le codage MPEG-4 est considéré comme l'état de l'art non seulement des codages normalisés, mais aussi de l'ensemble des codages publiés. Les codages de type MPEG-4 ou ITU-T/H. 263++ sont considérés comme ayant atteint leurs limites, notamment à cause de la structure de blocs rigides de taille fixe utilisée comme support de l'ensemble des calculs et opérations de codage. En particulier, la prédiction temporelle des images au sein d'une séquence est insuffisamment exploitée. Par ailleurs, les codages alternatifs publiés n'ont pas encore atteint un degré suffisant d'optimisation. Ainsi, pour permettre d'obtenir des séquences vidéos codées à bas débit, les codeurs procèdent en général à une réduction de la taille des images et au sous- échantillonnage temporel de la séquence vidéo originale. Toutefois, la seconde technique a pour inconvénient de restituer des mouvements saccadés plus ou moins gênants pour l'utilisateur en fonction du niveau de sous-échantillonnage. Pour éviter de telles saccades, il importe de reconstruire les images manquantes (non codées) au décodeur par interpolation temporelle. Cependant, les techniques actuelles d'interpolation temporelle d'images ne permettent pas d'obtenir de résultats satisfaisants, surtout lorsqu'elle sont mise en oeuvre au seul décodeur. En effet, ces techniques sont la source d'artéfacts visuels liés aux techniques de compensation de mouvement basés blocs qui ne définissent qu'un seul vecteur mouvement pour l'ensemble des pixels d'un bloc. L'objectif de l'invention est précisément de pallier les limitations des techniques antérieures. Plus précisément, un objectif de l'invention est de fournir une technique de codage, et de décodage, de données d'images, qui permette d'obtenir un débit réduit et/ou une meilleure qualité d'image reconstruite, par rapport aux techniques connues. Cet objectif est atteint, selon l'invention, à l'aide d'un procédé de codage d'images, mettant en oeuvre sélectivement au moins deux modes de codage d'images, optimisant chacun la compression d'au moins une image d'une séquence vidéo en fonction de critères d'optimisation différents. Selon plusieurs modes de réalisation avantageux, une information sur le choix d'un desdits modes de codage peut être connue d'un décodeur selon au moins une des techniques appartenant au groupe comprenant : choix prédéfini, connu au codage et au décodage ; - information représentative du choix incluse dans un flux de données comprenant au moins certaines des données d'images codées ; - information représentative du choix incluse dans un flux de données indépendant des données d'images codées ; - détermination du choix de façon intrinsèque, par le décodeur. Avantageusement, le procédé comprend une étape de sélection d'un mode de codage à appliquer à ladite image, parmi au moins : un premier codage optimisant une représentation photométrique d'une image ; un second codage optimisant une représentation du mouvement entre au moins deux images. Préférentiellement, ledit second codage tient compte d'au moins une image précédente et/ou au moins une image suivante codée à l'aide dudit premier codage. De façon avantageuse, ledit second codage tient compte d'un champ de vecteurs mouvement calculé à partir de l'image immédiatement précédente codée à l'aide dudit premier codage et/ou d'un champ de vecteurs mouvement calculé à partir de l'image immédiatement suivante codée à l'aide dudit premier codage. Dans ce cas, lesdits champs de vecteurs mouvement peuvent être utilisés pour déterminer un champ de vecteurs mouvement déduit, associé à une image codée à l'aide dudit second codage. Selon un mode de réalisation préférentiel de l'invention, ladite étape de sélection repose sur la mise en oeuvre d'un sous-échantillonnage de facteur fixé N, une image sur N étant codée à l'aide dudit premier codage. Avantageusement, cette valeur N est variable, en fonction d'au moins un critère prédéterminé. Selon un mode de réalisation particulier, ledit premier codage met en oeuvre une transformation sur des blocs d'images et une prédiction temporelle par blocs. Il peut notamment s'agir d'un codage MPEG-4. Dans ce dernier cas, on utilisera préférentiellement des images de type 1 (intra) et/ou de type P (prédictif) (et non, préférentiellement, des images de type B). Selon un autre aspect particulier de l'invention, ledit second codage repose avantageusement sur la mise en oeuvre d'un maillage, et par exemple un maillage triangulaire. Dans ce cas, le procédé comprend préférentiellement une étape de gestion des zones d'occlusions. Les données produites peuvent être regroupées dans un flux unique. Avantageusement, on peut prévoir au moins deux flux de données, pouvant être transmis sur des voies de transmission indépendantes. Lesdits flux de données appartiennent avantageusement au groupe comprenant : une entête globale ; des données d'image codées selon ledit premier codage ; des données d'image codées selon ledit second codage. La transmission des flux peut donc avoir lieu de façon indépendante. Cela permet notamment un décodage progressif et/ou partiel des images, en fonction des moyens et des besoins. Ainsi, selon un mode de réalisation particulier de l'invention, on exploite notamment les aspects suivants : Optimisation poussée des modules constitutifs des codages normalisés de type MPEG ou ITU-T/H. 263 - Prédiction temporelle et codage d'erreur associé performants pour les techniques basées maillages. En effet l'approche basée maillage permet d'éviter les effets de bloc habituels grâce à l'utilisation de champs de mouvement continus. De plus, la technique des maillages permet de détecter les occultations d'objets , ainsi qu'un codage de l'erreur bien adapté à ces zones. En combinant de plus un codage d'erreur de type MPEG autour de ces zones, il est possible d'améliorer sensiblement l'efficacité de l'interpolation à un coût largement inférieur aux images bidirectionnelles (images de type B) proposées par MPEG. Ainsi, on peut coder efficacement l'information de base à une faible résolution temporelle grâce au codage de type MPEG, avec une bonne qualité, puis restituer la pleine fluidité de la séquence grâce au codage en mode interpolé par maillage. L'invention concerne également, bien sûr : les procédés de décodage d'un signal d'images codé à l'aide du procédé de codage décrit ci-dessus ; les dispositifs de codage d'un signal d'images codé à l'aide du procédé de codage décrit ci-dessus ; les dispositifs de décodage d'un signal d'images codé à l'aide du procédé de codage décrit ci-dessus (comprenant avantageusement des moyens de détermination d'au moins une partie d'un champ de vecteurs et/ou d'au moins une partie des zones d'occlusion, similaires à ceux mis en oeuvre lors du codage) ; les dispositifs de stockage d'au moins un signal d'images codé à l'aide du procédé de codage décrit ci-dessus ; les systèmes de codage, de transmission et/ou de décodage d'un signal d'images codé à l'aide du procédé de codage décrit ci-dessus (le choix d'un desdits modes de codage pouvant avantageusement être connue d'un décodeur selon au moins une des techniques appartenant au groupe comprenant : choix prédéfini, connu au codage et au décodage ; - information représentative du choix incluse dans un flux de données comprenant au moins certaines des données d'images codées ; - information représentative du choix incluse dans un flux de données indépendant des données d'images codées ; détermination du choix de façon intrinsèque, par le décodeur) ; les produits programme d'ordinateur pour le codage et/ou le décodage d'un signal d'images codé à l'aide du procédé de codage ; les supports de données d'un tel programme. L'invention concerne également les signaux de données d'images comprenant des données codées selon le procédé décrit ci-dessus. Avantageusement, ce signal comprend au moins un indicateur indiquant si le procédé est ou non activé. De façon préférentielle, le signal comprend une donnée précisant la structure des trames, en début de séquence vidéo et/ou dans chaque trame de signal. Avantageusement, une séquence codée à l'aide dudit second codage débute par une entête précisant le nombre de trames codées selon ce second codage. Selon un mode de réalisation particulier, le signal comprend au moins deux flux de données, pouvant être transmis sur des voies de transmission indépendantes. Dans ce cas, lesdits flux de données appartiennent avantageusement au groupe comprenant : une entête globale ; des données d'image codées selon ledit premier codage ; des données d'image codées selon ledit second codage. L'invention trouve des applications dans de nombreux domaines, et notamment dans les domaines appartenant au groupe comprenant : la télévision numérique ; la vidéo temps réel sur réseau IP ; la vidéo temps réel sur réseau vers les mobiles ; le stockage de données d'images. D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description d'un mode de réalisation préférentiel de l'invention, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés parmi lesquels : la figure lest un schéma de principe du codage de l'invention ; la figure 2 présente un exemple de structure de maillage hiérarchique pour le mouvement ; la figure 3 illustre le principe de l'interpolation affine sur une maille triangulaire ; la figure 4 est un exemple d'occultation détectée par recouvrement de triangles ; la figure 5 illustre le processus de transformation d'un triangle quelconque de l'image en une matrice carrée symétrique ; la figure 6 illustre la transformation d'un triangle quelconque en un triangle isocèle rectangle ; la figure 7 illustre un maillage hiérarchique et la représentation par arbre quaternaire associée ; la figure 8 est un exemple de décision de codage pour le maillage hiérarchique ; la figure 9 présente une structure globale d'un train binaire selon l'invention ; la figure 10 présente un diagramme bloc d'un décodeur selon l'invention. Le mode de réalisation de l'invention décrit ci-après consiste essentiellement en l'hybridation d'un codage de type MPEG, par exemple MPEG- 4 avec un codage par maillage fonctionnant en mode interpolé, appelé également mode B ou images B dans les normes MPEG. Notons que le codage MPEG-4 mentionné ici peut être remplacé par tout codeur basé sur des techniques équivalentes, c'est à dire utilisant une prédiction temporelle et une transformation en cosinus discrète basées sur une structure de blocs, et les quantifications et codages entropiques pour les informations générées. En particulier, un codage ITU-T/H. 263++ peut être substitué au codage MPEG-4. Pour chaque image de la séquence entrant dans le codeur, ce dernier décide en fonction d'un certain processus de décision (par exemple, un sous- échantillonnage temporel de facteur fixé) de la coder avec le module d'encodage MPEG-4, ou bien avec le module d'encodage basé maillage. Les images codées en mode maillage utilisent comme références pour leur prédiction temporelles les images codées en mode MPEG-4 située immédiatement avant ou immédiatement après le groupe d'images codées en mode maillage auxquelles elles appartiennent. Le point clé de l'efficacité en compression de l'invention est que la compensation de mouvement basée maillage conduit à une prédiction temporelle très performantes, pour un coût de codage associée très faible. En effet, cette technique : - Prend en compte différents types de mouvements dans les images - Traite proprement les recouvrements et découvrements de zones dus aux mouvements d'objets. La figure 1 donne une vue générale du principe du codeur. Tout d'abord, les images entrantes sont aiguillées soit vers le module d'encodage MPEG, soit vers le module d'encodage base maillage, selon un mode de décision donné, par exemple selon un rythme prédéfini : 1 image sur N est codée en MPEG, les autres en mode interpolé maillage. On note Nk les numéros des images codées en mode MPEG. Toutes les autres images ! N 1. Calcul des champs de mouvement avant et arrière entre les images Nk et N,,,. ces champs sont modélisés sous forme de maillages, triangulaires. 2. Détection des zones d'occultation, non prédictibles, dans les images Il à coder, à partir de la connaissance de ces champs de mouvement 3. Codage spécifique de ces zones d'occultation selon l'un des trois modes possibles suivants : - Prédiction avec l'une des images de référence (Nk, N,,,, ou ces images compensées en mouvement avec leurs champs de mouvement) sans compensation de mouvement, puis codage de l'erreur de prédiction avec une technique basée maillage triangulaire - Prédiction avec l'une des images de référence (Nk, Nu, ou ces images compensées en mouvement avec leurs champs de mouvement) avec compensation de mouvement intra- image, puis codage de l'erreur de prédiction avec une technique basée maillage triangulaire - Codage intra-image basé avec une technique basée maillage triangulaire 4. Optionnellement, codage de type MPEG mode P de l'erreur résiduelle de prédiction ou de codage, limité à une zone autour de la zone d'occultation. 1. Calcul des champs de mouvement avant et arrière entre les images N; et N Des champs de mouvement avant et arrière entre les images N et N, sont calculés, sous la forme de maillages hiérarchiques, par exemple triangulaires, r, et Tfk+1, comme indiqué figure 2. De tels maillages sont obtenus par division de certaines mailles, par exemple, les mailles triangulaires sont divisées en 4 sous-triangles, en fonction d'un certain critère au cours du processus d'estimation du mouvement. A chaque niveau de la hiérarchie, les décisions de division ou non sont prises pour chaque maille. Une fois ces divisions décidées, les mailles adjacentes des mailles divisées sont alors divisées de sorte à conserver une structure de maillage conforme. Le maillage initial, avant division (sommet de la hiérarchie), peut être quelconque. Dans l'exemple de la figure 2, l'estimateur de mouvement décide de diviser les triangles 3 et 8. ceci entraîne la division des triangles 2,4, 7 et 9. le processus est itéré jusqu'à un niveau prédéfini de hiérarchie. Dans le cas de maillages triangulaire, l'expression du champ de mouvement défini par un maillage triangulaire T est donné sur chaque triangle e par : où : . e dénote l'élément triangulaire de T contenant le point courant pde coordonnées x et y, . {ver(e)} dénote l'ensemble de ses trois noeuds ou sommets, numérotés i, j, k de positions et Pk 1 "'FI (1 = i, j, k) représente les coordonnées barycentriques du point p (x, y) dans l'élément triangulaire el, k avec : ff,.)') =a ; ; ; , K ;. P,', t ; e9 ! . 11,... . ' .). , 'Pt (x, y) = 0 sinon Un tel modèle définit un champ partout continu. De plus, il permet un contrôle fin de la précision de représentation, caractéristique essentielle pour la compression. A chaque niveau de la hiérarchie de maillages, les vecteurs nodaux de mouvement sont calculés de sorte à minimiser une erreur de prédiction. Différents estimateurs de mouvement basés maillages peuvent être utilisés, par exemple celui décrit dans le brevet FR nO 98 11227, ou FR nO 99 15568. Le point important est que le maillage final résulte d'un processus hiérarchique à partir d'un maillage initial par divisions. Ce caractère hiérarchique est en effet mis à profit pour le codage différentiel des vecteurs nodaux de mouvement entre un noeud et ses noeuds parents (les extrémités de l'arc sur lequel il a été inséré). La structure du maillage est recalculée au décodeur à partir de la connaissance du maillage initial, et des indicateurs de division de mailles. Ainsi, en fin de processus, 2 maillages de mouvement sont obtenus pour chaque groupe d'images comprises entre les images Nk et Nk+1, utilisés pour reconstruire l'ensemble des images du groupe. 2. Détection des zones d'occultation A partir de ces 2 maillages, les zones d'occultation, c'est-à-dire non prédictibles dans l'image N, à partir de l'image Nk+1 ou vice-versa, du fait du recouvrement ou du découvrement d'objets, sont détectées. Ces zones sont simplement définies par les triangles se recouvrant, une fois déplacés par leur vecteurs nodaux. La figure illustre la détection d'occultation base sur le recouvrement de triangles après déplacement. Le codeur peut poursuivre l'estimation de mouvement en désactivant les triangles des zones d'occultation, de manière à obtenir des vecteurs déplacement moins biaisés. Ceci est cependant strictement interne à la stratégie du codeur, et au final, b c'est 2 maillages de mouvement complets T\ et Tfk+l qui sont codés et insérés dans le train binaire. Le décodeur est alors capable de retrouver les zones d'occultation à partir de ces 2 maillages. Ces zones d'occultation sont définies sur les images Nk et Nk+1 et une fois détectés, les triangles leur appartenant sont étiquettés en conséquence, au codeur comme au décodeur. Cependant, le codeur a besoin de connaître ces zones sur les images Nk+l a Nk+1. Celles-ci sont simplement obtenues par projection des maillages T\ et Tfk+l sur l'image à coder, par application des vecteurs mouvement nodaux, renormalisés pour tenir compte de la distance temporelle entre l'image courante et l'image de référence Nk ou Nk+1. 3. Codage des zones d'occultation : Pour chaque zone d'occultation, l'image de référence pour une éventuelle prédiction est sélectionnée parmi 1, 1, mais aussi Ici'qui est l'image obtenue à l'instant 1 par compensation de mouvement avec le maillage T\ ou Tn à un niveau où il n'y a pas encore de recouvrement de maille. Plus précisément, le choix entre INk et IN (k+l) dépend simplement du b maillage T\ ou Tf, ayant engendré la zone courante d'occultation. Ensuite, ce maillage est utilisé pour prédire l'image et donner I',. Le choix entre Ici et Ilk ou IN (k+l) se fait sur critère d'erreur de prédiction : l'image donnant l'erreur la plus faible est retenue. Ainsi, il suffit d'insérer 1 bit dans le flux binaire, par zone, pour coder le choix de la prédiction retenue. Notons I, l'image de référence sélectionnée. Le reste du codage de ces zones consiste en 2 étapes : - Une étape de prédiction - Une étape de codage de l'erreur de prédiction ou de la texture originale en cas de mauvaise prédiction 3. 1 Prédiction résiduelle de la texture des zones d'occlusion 3 modes peuvent être utilisés, de manière exclusive. La décision est prise sur critère de moindre erreur. Mode 1 : Les valeurs Y, U et V d'un pixel de la zone sont simplement celle du pixel de même localisation de l'image de référence Ire Soit î, l'image résultante. On code alors l'erreur de prédiction entre Î, et Il. Mode 2 : Une estimation de mouvement est alors réalisée entre I, (l'image à coder) et Îl (le résultat de la prédiction du mode 1) sur la zone d'occultation. Le maillage résultant, issu du dernier niveau du maillage T,, r=k ou k+l, avant les recouvrements de mailles, est alors codé ainsi que ses mouvement nodaux. Enfin, l'erreur résiduelle de prédiction est codée selon une procédure définie plus loin. Mode 3 : On n'effectue aucune prédiction et on code les valeur originale des pixels de la zone. 4. Codage de la texture ou de l'erreur de prédiction sur les zones d'occultation. La texture originale et l'erreur de prédiction subissent le même codage, dont le principe est le suivant : On suppose qu'un maillage triangulaire initial a pu être défini à partir du maillage de mouvement T, retenu pour la prédiction de la zone à coder. La façon de dériver ce maillage initial sera décrit plus loin. La texture est alors approximée sur chaque maille en fonction d'un choix : - Les mailles riches en hautes fréquences sont codées à base de transformée en cosinus discrète, dite DCT - Les mailles plus lisses sont codées par un modèle d'éléments finis, affine. Là encore, on va tirer partie d'une approche hiérarchique pour diminuer le coût de codage de la représentation par maillage. L'approche retenue permet de conserver le faible coût de codage associé à une hiérarchie régulière de mailles tout en permettant l'adaptation locale au contenu des images permise par la décomposition irrégulière de mailles. A partir du maillage initial grossier de la zone, les mailles sont subdivisées en 4 sous-mailles triangulaires jusqu'à un niveau donné. Sur le dernier niveau, une permutation optionnelle des diagonales des quadrilatères engendrés par 2 triangles adjacents peuvent être permutée, si cela induit une baisse de l'erreur d'approximation. 4. 1 Initialisation du maillage de texture sur les zones d'occultation Ce maillage est simplement donné par le dernier niveau de Tr (maillage résultant du déplacement de Tk ou Tek+, selon le sens retenu) avant apparition des retournements sur la zone considérée. Ainsi, on a un maillage de texture qui s'insère de manière naturelle dans le maillage mouvement, puisqu'extrait de ce dernier. 4. 2 Représentations utilisées pour la texture sur les triangles 2 représentations sont combinées : l'interpolation affine et la DCT 4triangulaire. Interpolation affine Les noeuds du maillage triangulaire portent l'information photométrique (couleur, erreur) et l'interpolation pour les points à l'intérieur du triangle est effectuée par un élément fini de Lagrange, également appelé interpolation affine. La valeur v (p) du point p (x, y) intérieur au triangle g, k défini par les 3 noeuds PI, l = i, j, k est donné par l'équation suivante : où (/=/,./, représente les coordonnées barycentriques du point p (x, y). v (p) peut être l'une des composantes photométriquesY, U ou V du point, ou encore l'erreur de prédiction pour ces composantes. Plusieurs méthodes peuvent être employées pour le calcul des valeurs nodales, en particulier la méthodes des moindres carrés. Transformation en cosinus discrète (DCT) sur les triangles Le principe de la méthode consiste à transformer un triangle quelconque en un triangle de référence isocèle rectangle. Le contenu de ce triangle est alors symétrisé par rapport à l'hypoténuse pour donner une matrice carrée symétrique (figure 4). Une DCT classique (carrée) est alors appliquée à cette matrice. On peut montrer que la matrice transformée est aussi symétrique. Seul les coefficients de son triangle inférieur sont alors quantifiés puis codés statistiquement (codage entropique). La figure 4 décrit les différentes étapes du processus : selection du triangle T, transformation affine de celui-ci en un triangle isocèle rectangle T'. Du fait de la transformation affine, les pixels du triangle ne sont plus située sur une grille orthogonale régulière, et il convient de ré-échantillonner les valeurs photométriques de l'intérieur du triangle de référence. On utilise pour cela un processus analogue à celui d'une compensation de mouvement dans l'image (en l'occurrence la transformation affine), à l'aide d'un interpolateur, par exemple bilinéaire. La transformation affine F et son inverse FI sont définies par les equations suivantes : Les valeurs photométriques M (i, j) du triangle T' (donc du bloc M, symétrisé de T') sont obtenue par transformation inverse FI puis interpolation r de la texture de l'image à coder : où : le coefficient M (iy, j x) est la valeur au point Q (X, Y) dont le transformé P (x, y) est F-' (Q) 1 r dénote l'interpolateur utilisé pour calculer la valeur de l'image au point P (x, y), de coordonnées potentiellement non entières. La reconstruction r de la texture Fest donnée par : où If dénote la texture interpolée à partir des valeurs du bloc M', version quantifié de M. Cette technique ne peut être appliquée qu'aux seuls triangles d'aire non nulle. Mais de tels triangles ne nécessitent pas de codage de texture par définition. Contrairement à la SADCT (DCT adaptée à une forme), cette transformation ne garantie pas la reconstruction parfaite après transformation inverse, même en l'absence de quantification. Afin de réduire l'erreur de reconstruction, un facteur d'échelles est introduit pour le calcul du bloc Mi (de taille N, x N,) pour chaque triangle i : où : . E est la partie entière par excès, . A@ est l'aire du triangle i. En fait, a = 1 réalise un compromis intéressant, qui est plus efficace pour les triangles proche d'un isocèle. Le casa Une fois le bloc Mi défini pour chaque triangle, une transformation DCT classique leur est appliquée, et les coefficients transformés sont quantifiés selon plusieurs procédés possibles, par exemple une quantification scalaire uniforme, ou encore une quantification incrémentale avec la fréquence du coefficient transformée. L'emploi des matrices de quantification MPEG ou JPEG bien connues est également possible. L'expression de la DCT est donnée par : k, , = if = 0 sinon linon On a la relation F (u, v) = F (v, u) car : f (i, j) = f (j, i) (Vu, v, i, j = 0,"-, N-1) par définition. Par conséquent, on peut se contenter de ne calculer que les coefficients de la partie inférieure de la matrice transformée. 4. 3 codage global de texture Comme indiqué précédemment, on utilise un maillage hiérarchique uniforme obtenu par division de chaque triangle d'un niveau donné de la hiérarchie en 4 sous-triangles, par insertion de noeuds au milieu des arcs. Le processus est répété itérativement jusqu'à un niveau maximal. Cette hiérarchie de triangles est également représentée et gérée par le codeur sous forme d'un arbre quaternaire (figure 5). Notons que seuls les triangles inclus dans la zone à coder sont pris en compte. Le procédé de construction du maillage initial de base garanti que tout triangle de la hiérarchie de maillage appartient à la zone à coder. Le processus de codage par maillage d'une zone d'occultation peut être résumé de la manière suivante (D un maillage hiérarchique imbriqué est défini sur la zone à coder, par creation d'un maillage initial régulier puis sub-division itérative des triangles en 4 sous-triangles par insertion de nouveaux noeuds au milieu des arcs. Les valeurs aux noeuds sont calculées pour minimiser l'erreur d'approximation de la zone par le maillage (D les valeurs des pixels sont approchées par une interpolation affine sur le triangle les contenant à partir de ses valeurs aux noeuds. Pour chaque triangle de la hiérarchie, on évalue alors l'erreur d'approximation E puis on décide des différents mode de representation et codage en fonction de 2 seuils : o, eut 2 (D si E Enfin, sur le maillage le plus fin, on teste la diminution d'erreur apportée par la permutation de diagonale des quadrilatères formés par 2 triangles adjacents. En cas de résultat positif, on valide cette permutation. Selon les modes de codage choisis pour les différents triangles, on codes les différentes information de la manière suivantes Les valeurs nodales YUV sont d'abord prédites à partir des valeurs des noeuds parents (extrémités de l'arc où on a inséré le noeud courant). La différence entre la valeur du noeud et sa valeur prédite est alors quantifiée. Enfin, la structure de l'arbre quaternaire (incluant les indicateurs de division ou non des triangles), les indicateurs de permutation de diagonales, les valeurs différentielles nodales de YUV et les coefficients DCT quantifiées sont codés par un codeur arithmétique et insérés dans le train binaire. 5. Résumé des information codée dans le flux binaire des trames codées par maillage Chaque groupe de trames encodées en mode maillage entre Nk+1 et Nk+1-1 (où N N sont respectivement la trame précédente et la trame suivante encodée en mode MPEG) est représenté comme un tout dans le flux binaire. L'information véhiculé comprend, sous forme codée : Une entête pour l'ensemble du groupe de trames, incluant entre autres le nombre réel de trames encodées Les maillages de mouvement (structure et vecteurs déplacement des noeuds) T\ et Tfk+l La texture d'erreur de prédiction ou originale, pour chaque image du groupe 6. Structure globale du train binaire Le train binaire global consiste en une succession de trames encodées en mode MPEG, et de groupes de trames encodés en mode maillage, comme indiqué figure 8. L'entête globale du train binaire représentatif de la séquence codée contient entre autre l'indication de codage hybride. La partie du train binaire correspondant à un groupe de trames codées en mode maillage débute par une entête indiquant entre autre le nombre de trame effectivement codées, éventuellement nul. Les différents flux de données (trains binaires) correspondant respectivement à l'entête globale de la séquence codée, aux images encodées MPEG et aux groupes d'i images encodées en mode interpolé par maillage peuvent être envoyées sur différentes voies indépendantes si besoin. En particulier, le procédé de codage permet le décodage hiérarchique (ou scalable) de la séquence, c'est à dire un décodage n'utilisant qu'un partie du débit total. 7. Processus de décodage La figure 9 donne une vue générale du principe du décodage. Tout d'abord, le décodage de l'entête permet d'activer le décodage hybride. Ensuite, le décodeur reconnaît pour chaque partie du train binaire correspondant à une entité autonome s'il s'agit d'une trame encodée MPEG-4 ou d'un groupe de trames encodées par maillage. Les trames MPEG-4 sont fournies au module de décodage MPEG-4, et les groupes de trames codées en mode maillage sont fournies au module de décodage par maillage. 7. 1 Décodage basé maillage Tout d'abord, les maillages de mouvement T\ and Tf (, +I) pour le groupe d'images I@, NK Ensuite, les zones d'occultation pour ces images sont retrouvées selon le même procédé qu'au codeur. Les pixels en dehors des zones d'occultation sont simplement interpolés à partir des images INk et I, et des champs de mouvement T\ et T. Le maillage de texture le plus grossier (sommet de la hiérarchie) est retrouvé pour chaque zone d'occultation selon un procédé identique à celui du codeur. L'information associée au maillage hiérarchique correspondant (indicateur de division de triangles, décisions d'interpolation affine ou de codage DCT, valeur YUV nodale différentielles et coefficients DCT quantifiés) est alors décodée et les valeurs YUV des pixels de ces zones reconstruits. REVENDICATIONS 1. Procédé de codage d'images, caractérisé en ce qu'il met en oeuvre sélectivement au moins deux modes de codage d'images, optimisant chacun la compression d'au moins une image d'une séquence vidéo en fonction de critères d'optimisation différents. 2. Procédé de codage selon la revendication 1, caractérisé en ce qu'une information sur le choix d'un desdits modes de codage est connue d'un décodeur selon au moins une des techniques appartenant au groupe comprenant : choix prédéfini, connu au codage et au décodage ; information représentative du choix incluse dans un flux de données comprenant au moins certaines des données d'images codées ; information représentative du choix incluse dans un flux de données indépendant des données d'images codées ; détermination du choix de façon intrinsèque, par le décodeur. 3. Procédé de codage selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comprend une étape de sélection d'un mode de codage à appliquer à ladite image, parmi au moins : un premier codage optimisant sensiblement une représentation photométrique d'une image ; un second codage optimisant sensiblement une représentation du mouvement entre au moins deux images. 4. Procédé de codage selon la revendication 3, caractérisé en ce que ledit second codage tient compte d'au moins une image précédente et/ou au moins une image suivante codée à l'aide dudit premier codage. 5. Procédé de codage selon la revendication 4, caractérisé en ce que ledit second codage tient compte d'un champ de vecteurs mouvement calculé à partir de l'image immédiatement précédente codée à l'aide dudit premier codage et/ou d'un champ de vecteurs mouvement calculé à partir de l'image immédiatement suivante codée à l'aide dudit premier codage. 6. Procédé de codage selon la revendication 5, caractérisé en ce que lesdits champs de vecteurs mouvement sont utilisés pour déterminer un champ de vecteurs mouvement déduit, associé à une image codée à l'aide dudit second codage. 7. Procédé de codage selon l'une quelconque des revendications 3 à 6, caractérisé en ce que ladite étape de sélection repose sur la mise en oeuvre d'un sous-échantillonnage de facteur fixé N, une image sur N étant codée à l'aide dudit premier codage. 8. Procédé de codage selon la revendication 7, caractérisé en ce que N est supérieur à 2. 9. Procédé de codage selon l'une quelconque des revendications 7 et 8, caractérisé en ce que N est variable. 10. Procédé de codage selon l'une quelconque des revendications 3 à 9, caractérisé en ce que ledit premier codage met en oeuvre une transformation sur des blocs d'images et une prédiction temporelle par blocs. 11. Procédé de codage selon la revendication 10, caractérisé en ce que ledit premier codage est un codage MPEG-4. 12. Procédé de codage selon la revendication 11, caractérisé en ce que les images délivrées par ledit codage MPEG-4 comprennent des images de type 1 (intra) et/ou de type P (prédictif). 13. Procédé de codage selon l'une quelconque des revendications 3 à 12, caractérisé en ce que ledit second codage repose sur la mise en oeuvre d'un maillage. 14. Procédé de codage selon la revendication 13, caractérisé en ce que ledit maillage est triangulaire. 15. Procédé de codage selon l'une quelconque des revendications 13 et 14, caractérisé en ce qu'il comprend une étape de gestion des zones d'occlusions. 16. Procédé de codage selon l'une quelconque des revendications 1 à 15, caractérisé en ce qu'il produit au moins deux flux de données, pouvant être transmis sur des voies de transmission indépendantes. 17. Procédé de codage selon la revendication 16, caractérisé en ce que lesdits flux de données appartiennent au groupe comprenant : une entête globale ; des données d'image codées selon ledit premier codage ; des données d'image codées selon ledit second codage. 18. Procédé de décodage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 17. 20. Dispositif de codage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 17. 21. Dispositif de décodage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 17. 22. Dispositif de décodage selon la revendication 21, caractérisé en ce que il comprend des moyens de détermination d'au moins une partie d'un champ de vecteurs et/ou d'au moins une partie des zones d'occlusion, similaires à ceux mis en oeuvre lors du codage. 23. Dispositif de stockage d'au moins un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 17. 24. Système de codage, de transmission et/ou de décodage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 17. 25. Système selon la revendication 24, caractérisé en ce qu'une information sur le choix d'un desdits modes de codage est connue d'un décodeur selon au moins une des techniques appartenant au groupe comprenant : choix prédéfini, connu au codage et au décodage ; information représentative du choix incluse dans un flux de données comprenant au moins certaines des données d'images codées ; information représentative du choix incluse dans un flux de données indépendant des données d'images codées ; détermination du choix de façon intrinsèque, par le décodeur. 26. Produit programme d'ordinateur pour le codage et/ou le décodage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 17. 27. Support de données portant un Produit programme d'ordinateur pour le codage et/ou le décodage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 17. 28. Signal de données d'images, caractérisé en ce qu'il comprend des données codées selon le procédé de l'une quelconque des revendications 1 à 17. 29. Signal selon la revendication 28, caractérisé en ce qu'au moins un indicateur indiquant si le procédé selon l'une quelconque des revendications 1 à 14 est ou non activé. 30. Signal selon l'une quelconque des revendications 28 et 29, caractérisé en ce qu'il comprend une donnée précisant la structure des trames, en début de séquence vidéo et/ou dans chaque trame de signal. 31. Signal selon l'une quelconque des revendications 28 à 30, caractérisé en ce qu'une séquence codée à l'aide dudit second codage débute par une entête précisant le nombre de trames codées selon ce second codage. 32. Signal selon l'une quelconque des revendications 28 à 31, caractérisé en ce qu'il comprend au moins deux flux de données, pouvant être transmis sur des voies de transmission indépendantes. 33. Signal selon la revendication 32, caractérisé en ce que lesdits flux de données appartiennent au groupe comprenant : une entête globale ; des données d'image codées selon ledit premier codage ; des données d'image codées selon ledit second codage. 34. Application du procédé de codage selon l'une quelconque des revendications 1 à 17 à au moins un des domaines appartenant au groupe comprenant : la télévision numérique ; la vidéo temps réel sur réseau IP ; la vidéo temps réel sur réseau vers les mobiles ; le stockage de données d'images.