FR 2784211 A1 20000407 FR 9812525 A 19981002 PROCEDE DE CODAGE D'IMAGES FIXES OU ANIMEES AVEC REDUCTION ET ADAPTATION DU DEBIT La présente invention se situe dans le domaine du codage d'images fixes ou animées à réduction de débit (compression). Les techniques de compression d'images sont de manière classique utilisées pour réduire le débit des signaux numériques vidéo en vue de leur transmission ou de leur stockage. Le procédé de codage proposé dans la présente demande est particulièrement adapté aux transmissions à faible débit ainsi qu'aux transmissions sans garantie de débit, telles que celles réalisées à protocole IP (internet Protocol). Il existe de nombreux procédés de codage d'images fixes ou animées à réduction de débit. Les plus connus sont ceux ayant donné lieu à une norme tels que ISO-JPEG ou ISO-MPEG. Ces procédés de codage font appel à des principes généraux de compression exploitant, dans les images fixes (JPEG), la redondance spatiale interne à une image, les corrélations entre points voisins et la moindre sensibilité de l'oeil aux détails fins, et la redondance temporelle entre images successives dans les images animées (MPEG). Dans ce type de procédé, l'image subit tout d'abord une transformation par application d'une Transformée en Cosinus Discrète (DCT) sur des blocs de l'image ou par application d'une Transformée par Ondelettes sur l'image entière. Le signal résultant est ensuite quantifié de manière à limiter le nombre de valeurs possibles du signal, puis codé au moyen d'un codage entropique utilisant les redondances statistiques du signal quantifié afin de réduire la quantité de données à transmettre ou à stocker. Ces procédés qui sont classiques, présentent cependant plusieurs limitations, dues notamment à l'utilisation de techniques ne tenant pas compte du contenu de l'image et à leur caractère purement numérique: - des sur-oscillations dues à des effets de bloc dans le cas de la transformée en cosinus discrète apparaissent au voisinage des contours de l'image ; sur-oscillations apparaissent également dans le cas d'ondelettes à bas débit; - ces techniques se prêtent mal aux manipulations géométriques (homothétie,...), lesquelles sont classiquement utilisées pour déterminer la compensation de mouvement entre deux images dans le cas d'images animées (MPEG) ou pour réaliser l'intégration d'images de synthèse dans des scènes naturelles. Il existe également des procédés agissant directement dans le domaine spatial de l'image et consistant à générer une surface photométrique caractérisant chaque composante chromatique de l'image en sélectionnant directement des pixels caractéristiques de l'image, l'obtention des autres pixels de l'image s'effectuant par interpolation des pixels caractéristiques. Bien qu'offrant de vastes possibilités en terme de manipulation géométrique, ces procédés se révèlent cependant très décevants en terme de compression. Par ailleurs, ils ne permettent pas d'obtenir un volume de données en fin de codage qui soit adapté à la complexité de l'image et à la qualité de représentation voulue, contrairement au codage par ondelettes. En particulier, ces procédés ne permettent pas d'obtenir une image de qualité acceptable surtout lorsque le débit est faible. Le procédé de l'invention a pour but de pallier les inconvénients de l'art antérieur de la technique cité précédemment. L'invention a pour objet un procédé de codage d'une image numérique visant à produire un train binaire représentatif de ladite image, la longueur du train binaire étant fonction de la qualité de représentation voulue, caractérisé en ce qu'il comporte les étapes suivantes : a) définir, sur le domaine de l'image à coder, un maillage hiérarchique comportant une pluralité de maillages emboîtés dont les sommets de mailles sont des pixels de ladite image; b) déterminer, pour chaque maille dudit maillage hiérarchique, un écart de luminance entre l'image à coder et une image interpolée obtenue à partir des sommets du maillage emboîté auquel appartient la maille considérée, et c) introduire dans le train binaire les valeurs de position, de luminance et de chrominance des sommets des mailles dont l'écart de luminance est supérieur à un écart seuil. Le maillage hiérarchique est de préférence obtenu par subdivisions régulières et successives des mailles d'un maillage de base grossier. Pour traiter plus facilement les valeurs de position, de luminance et de chrominance des sommets des mailles, le procédé de l'invention comporte avantageusement une étape de réalisation d'une structure en arbre associé audit maillage hiérarchique. Selon un mode un mode de réalisation particulier, l'étape c) est réitérée plusieurs fois avec des écarts seuils de plus en plus faibles de manière à générer à chaque itération un groupe de bits venant améliorer la qualité de représentation. Dans le souci de réduire la taille du train binaire, les valeurs à introduire dans le train binaire font l'objet d'une opération de quantification et de compression préalable. Enfin, selon un autre mode de réalisation particulier, on prévoit également d'optimiser la position des sommets du maillage multiple et les valeurs de luminance et de chrominance associées afin d'augmenter encore la qualité de représentation du train binaire. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit et qui est faite en référence aux figures annexées, parmi lesquelles: - la figure 1A montre un maillage multiple à trois niveaux ; - la figure 1B montre la subdivision d'un triangle t1 en quatre triangles de niveau inférieur; - la figure 2 représente la partie d'arbre associé au triangle Tl de la figure 1B; - la figure 3 montre la structure de l'arbre associé au maillage multiple; - la figure 4 montre la partie de l'arbre à introduire dans le train binaire; - la figure 5 illustre la détermination des valeurs différentielles à introduire dans le train binaire après quantification; - la figure 6 illustre une opération de compression arithmétique; - la figure 7 illustre une opération d'optimisation de la position des sommets d'un niveau de maillage et sa propagation au niveau de maillage supérieur; la figure 8A illustre un cas où une opération d'inversion de diagonale est exclus ; la figure 8B illustre un cas où une opération d'inversion de diagonale est possible. Nous considérerons dans la suite de l'exposé une image à coder dont les pixels sont repérés dans l'espace par une abscisse x et une ordonnée y. Une composante de luminance Y et deux composantes chromatiques U et V sont associées à chaque pixel. On aurait pu tout aussi bien utiliser à la place des composantes Y, U et V les composantes colorimétriques RVB, HSV. Selon une première étape a) du procédé de l'invention, on définit tout d'abord, sur le domaine de l'image à coder, un maillage hiérarchique comportant une pluralité de maillages emboîtés. Les sommets des mailles desdits maillages sont des pixels de l'image à coder. Ce maillage hiérarchique est obtenu par exemple par subdivisions régulières et successives des mailles d'un maillage de base grossier. A noter que le terme "noeud" de maillage n'est pas employé pour éviter toute confusion avec les noeuds de l'arbre qui sera associé audit maillage. Un exemple de maillage hiérarchique triangulaire comportant trois maillages emboîtés est illustré à la figure 1A. Il comporte un maillage de base comportant 10 mailles et 8 sommets de mailles. Le maillage de base, représenté en trait plein épais sur la figure 1A, présente une répartition régulière en quinconce de ses sommets de maille. Une topologie régulière permet d'obtenir une bonne répartition des triangles sur l'image. Cette topologie est la plus appropriée lorsque l'on ne connaît pas a priori le contenu de l'image à coder. Les triangles définis par ce maillage de base correspondent à des triangles de niveau 0. Dans l'exemple de maillage de la figure 1A, les triangles de niveau 0 sont subdivisés en quatre triangles identiques de niveau 1. Cette subdivision est indiquée en trait plein fin sur la figure. La subdivision d'un triangle père T1 en quatre triangles fils de niveau supérieur T11, T12, T13, T14 est illustrée à la figure 1B. Enfin, les triangles de niveau 1 sont subdivisés en quatre triangles de niveau 2. Cette nouvelle subdivision est représentée en traits pointillés sur la figure 1A. Ce maillage hiérarchique va permettre de représenter l'image avec une précision et donc une qualité proportionnellement croissante au nombre de maillages emboîtés. Chaque maillage emboîté correspond à un niveau de maillage du maillage hiérarchique. Certains sommets de mailles appartiennent à plusieurs niveaux de maillage, c'est le cas par exemple du pixel supérieur gauche de l'image qui constitue un sommet de triangle pour les trois niveaux de maillage. En revanche, chaque triangle est lié à un niveau de maillage unique (à un maillage emboîté unique). Chaque sommet du maillage possède une position dans le repère de l'image et est le siège d'une information de luminance Y et de chrominance U, V. Le maillage ainsi généré permet d'associer, dans un niveau de maillage, un triangle unique à chaque pixel de l'image. Une approximation des valeurs de luminance et de chrominance des pixels de l'image peut être obtenue par interpolation à partir des valeurs correspondantes des sommets du triangle associé. Le modèle d'interpolation utilisé dans le présent exposé est le modèle de Lagrange. Il comprend une fonction de base affine définie de la manière suivante: ##e1(x,y)=[alpha]1e+ss1ex+[gamma]1ey, [alpha]1e,ss1e,[gamma]1e # R si(x,y)ee . ##1e(x,y)=1 I=i,j,k ##1e (x,y)=0 sinon où e est un triangle de sommets i,j,k. Si on désigne par p le point de coordonnées (x,y) et par #(p)=(vY,vU,vV) le vecteur regroupant les valeurs interpolées de luminance vY et de chrominance Vu et vv du point p, le vecteur v(p) est alors défini de la manière suivante: # (p)= ##1e(p).#(1) I=i,j,k- Dans le cas présent (interpolation affine), les valeurs #ie(x,y), #je(x,y) et #ke(x,y) représentent les coordonnées barycentriques du point p dans le triangle e. Ces coordonnées s'expriment de la manière suivante: \|/, e, (x,y) v = #* (xjYk ~ xkYj) i + (yj i ~ Yk)x + (xk ~ *j)y i# XjYk -xkYj+xky1-xiyk +x1yj-xjy1 Les #je(x,y) et #ke(x,y) s'obtiennent par permutation circulaire des indices i, j,k dans les l'expression de #1e (x,y). Au terme de l'étape de maillage, on construit avantageusement une structure en arbre associé audit maillage hiérarchique pour manipuler les valeurs des sommets de mailles. L'arbre comporte un nombre de niveaux égal au nombre de niveaux de maillages (ou de maillages emboîtés). Chaque niveau de l'arbre présente un nombre de noeuds égal au nombre de triangles dans niveau de maillage correspondant. Chaque noeud de l'arbre se rapporte à un unique triangle du maillage hiérarchique. Ainsi, la partie de l'arbre se rapportant au triangle T1, et à ses quatre triangles fils T11, T12, T13. T14 est illustrée à la figure 2. Si le triangle T1 appartient au niveau n du maillage multiple, on crée un noeud correspondant au niveau n de l'arbre et quatre noeuds fils au niveau n+1 se rapportant chacun à un des triangles fils T11, T12, T13, T14. Les triangles T1, T11, T12, T13 et T14 ont respectivement pour sommets ABC, AEF, BEG, FGC et EFG. Le noeud se rapportant au triangle T1 partage les valeurs de position, de luminance et de chrominance des sommets A, B et C avec les autres triangles ayant pour sommet l'un des points A, B ou C de manière à éviter de stocker des valeurs redondantes. De même, les valeurs se des points E, F, G sont répartis dans les noeuds se rapportant aux triangles T11, T12, T13, T14. Si on crée de la même façon un noeud pour l'ensemble des triangles du maillage hiérarchique, on obtient alors un arbre tel qu'illustré à la figure 3, dont la racine comporte une pluralité de noeuds en nombre égal au nombre de triangles du maillage de base. Une fois l'arbre construit, il s'agit de déterminer les données de l'arbre à introduire dans le train binaire représentatif de l'image. Cette détermination dépend de la qualité de représentation voulue. Pour réaliser cette détermination, on prévoit selon une étape b) de calculer pour chaque triangle du maillage hiérarchique un écart de luminance entre l'image à coder et l'image interpolée obtenue à partir des sommets du maillage emboîté auquel appartient la maille considérée. Selon une étape c), cet écart est ensuite comparé à un écart seuil pour chaque triangle. La valeur de l'écart seuil est fonction de la qualité de représentation voulue. Puis on introduit dans le train binaire la partie de l'arbre se rapportant aux triangles dont l'écart de luminance est supérieur. En pratique, la détermination s'effectue de la manière suivante : on calcule pour chaque noeud de l'arbre l'écart de luminance du triangle associé, puis on leur adjoint une valeur, 0 ou 1, suivant que l'écart de luminance du triangle associé à ce noeud est inférieur ou supérieur à l'écart seuil. La figure 4 illustre cette étape. On introduit tout d'abord dans le train binaire une séquence permettant au décodeur de reconstruire la partie de l'arbre introduite dans le train binaire, c'est la séquence 11101110000000011 puis on introduit dans le train binaire les valeurs contenues dans les noeuds ayant un 1 dans la séquence précédente. Avantageusement, l'écart seuil diminue au cours du procédé pour permettre une échelonnabilité du codage. Ainsi, selon un mode réalisation préféré, l'étape de c) est réitérée plusieurs fois avec des écarts seuils de plus en plus faibles de manière à générer à chaque itération un groupe de bits supplémentaire venant améliorer la qualité de représentation. Pour construire un train binaire final sans redondances, on prévoit l'utilisation d'une table de référence dans laquelle à chaque noeud de l'arbre est associée une valeur 0 ou 1 indiquant si les valeurs du noeud en question ont déjà été introduites dans le train de bits. Les valeurs de la table sont mises à jour à mesure que les valeurs des noeuds sont introduites dans le train de bits. Ainsi, lorsque l'écart seuil diminue, on vérifie que les valeurs de noeud que l'on cherche à introduire dans le train de bits ne l'ont pas déjà été. Cela permet de n'introduire dans le train de bits que la partie de l'arbre supplémentaire correspondant à l'abaissement de l'écart seuil. On peut ainsi décider de n'exploiter que la première partie du train binaire obtenu avec l'écart seuil le plus élevé lorsque l'on n'a pas besoin d'une qualité de représentation élevée. Pour obtenir une qualité de représentation, il faudra exploiter une plus grande partie du train binaire. Selon un mode de réalisation amélioré, on peut prévoir de quantifier et de compresser les valeurs des sommets avant de les introduire dans le train binaire afin de limiter la taille de ce dernier. La quantification est choisie de préférence non uniforme. Elle peut par exemple s'appuyer sur la répartition statistique des valeurs de luminance (resp. de chrominance et de position). Pour ce faire, on modélise l'histogramme des valeurs de luminance (niveaux de gris) de l'image à traiter. Cet histogramme est généralement très peu étendu et peut être assimilé à une gaussienne généralisée. Après avoir calculé la moyenne et l'écart type et s'être fixé un nombre d'intervalles irréguliers, on calcule une valeur optimale de quantification Vi pour chaque intervalle Ii. Cette valeur est obtenue par minimisation d'un critère D. Le critère D est défini de la manière suivante : D = # #(x-V1)2p(x)dx i=1, ,Lx6l, où p(x) désigne la densité de probabilité marginale du point x obtenue par la gaussienne généralisée, L est le nombre d'intervalles irréguliers. Au terme de l'étape de quantification, les valeurs différentielles quantifiées sont soumises à une opération de compression de données visant à limiter la longueur du train binaire. Avantageusement, la compression est effectuée par un codeur arithmétique et adaptatif. C'est celui qui présente les meilleurs taux de compression dans le cas présent. Le principe général du codage arithmétique (ou de la compression arithmétique) est le suivant : message formé de symboles est représenté par un intervalle de réels compris entre 0 et 1. Plus la probabilité d'apparition d'un symbole est élevée, plus son intervalle de représentation sera grand. Le codage arithmétique est expliqué plus en détail dans l'ouvrage intitulé Compression de données de Pascal Plumé, Ed. Eyrolles, pp 111-168. Par ailleurs, le codage adaptatif consiste à adapter le codage d'un symbole en fonction de sa fréquence d'apparition, et cela, au fur et à mesure de l'étape de compression. Ainsi, si un symbole est codé sur 5 bits en début de compression, à un autre stade de la compression ce même symbole peut être codé sur 1 ou 9 bits suivant que sa fréquence d'apparition augmente ou diminue. A tout moment de la compression, le symbole le plus fréquent est codé sur le nombre de bits le plus faible. Bien entendu, cette technique nécessite que la partie du codeur chargée de la compression et celle du décodeur chargée de la décompression fonctionnent en parallèle et de façon homogène. Dans ce type de codage, le codeur et le décodeur commencent avec une même table statistique dans laquelle tous les symboles sont équiprobables. Au fur et à mesure de la compression, le codeur met à jour la table. Le décodeur en fait de même avec sa table lors de la décompression. Tant que l'algorithme de mise à jour est identique dans le codeur et le décodeur, ce type de codage fonctionne parfaitement sans avoir à transmettre de table statistique. Les distributions statistiques des valeurs de luminance, de chrominance et de position étant différentes les unes des autres, il est préférable de coder séparément ces valeurs. Aussi, le codeur arithmétique adaptatif est prévu pour traiter séparément ces trois types de valeur. Afin de réduire la taille du train binaire, on prévoit selon un perfectionnement de ne pas introduire dans le train binaire les valeurs exactes de luminance, de chrominance et de position des sommets de mailles des maillages emboîtés mais des valeurs différentielles, hormis pour le maillage de base. Chaque valeur différentielle représente la différence entre la valeur exacte associée de l'image à coder et une valeur interpolée obtenue à partir des valeurs exactes correspondantes des sommets voisins du maillage emboîté de niveau hiérarchique inférieur. Un exemple de détermination de valeurs différentielles est illustré à la figure 5.' On considère un triangle de niveau 0 dont les sommets A, B, C ont respectivement pour valeur de luminance 210,150 et 132. Ce triangle est subdivisé en quatre triangles identiques de niveau 1, faisant apparaître ainsi trois nouveaux sommets E, F et G localisés respectivement au milieu des cotés AB, AC et BC du triangle de niveau 0. Les valeurs de luminance des sommets E, F et G dans l'image à coder sont respectivement 182,170 et 143. Si on calcule les valeurs de luminance des sommets E, F, G par interpolation des valeurs des sommets adjacents, on obtient alors les valeurs 180,171 et 141. Les valeurs introduites dans le train binaire sont alors +2,-1 et +2 correspondant à la différence entre les valeurs exactes et les valeurs interpolées. Ces valeurs sont cependant préalablement quantifiées pour limiter le nombre de valeurs possibles et améliorer ainsi les performances de l'opération de compression de données à suivre. Par ailleurs, pour ne pas cumuler les erreurs de quantification, le calcul des valeurs différentielles est réalisé à partir des valeurs quantifiées du niveau inférieur. Selon une forme de réalisation préférée, on prévoit également d'adapter le maillage (position et valeurs Y,U,V des sommets) au contenu de l'image afin d'en exploiter au mieux le potentiel de codage. Cette adaptation peut se faire à trois niveaux: - optimisation de la position des sommets du maillage : la position des noeuds est modifiée en fonction de leur efficacité à représenter localement l'image; optimisation des valeurs de luminance et de chrominance des sommets du maillage : valeurs Y,U,V sont optimisées pour représenter au mieux l'image originale ; optimisation de la topologie du maillage : la topologie du maillage est modifiée au moyen d'une opération d'inversion de diagonale de manière à encore améliorer la capacité du maillage à représenter localement l'image. La structure de maillage choisie précédemment est par construction régulière. Elle peut donc parfois sembler inadaptée pour représenter une image comportant des disparités au niveau de son contenu et mêlant notamment des régions uniformes à des zones plus texturées nécessitant une plus forte densité de sommets. Une optimisation de la position des sommets du maillage va permettre de déplacer les concentrations de sommets du maillage vers les zones le nécessitant. L'effet visuel le plus immédiat d'une telle optimisation se manifeste par un rapprochement des sommets du maillage vers les contours physiques des objets de l'image. Cette opération est effectuée niveau par niveau, en commençant par le niveau correspondant au maillage de base (niveau 0). Le résultat de l'optimisation au niveau n est ensuite transmis au niveau n+l, et la position des sommets supplémentaires du niveau n+l est obtenue à partir de la nouvelle position des sommets de niveau n. Cette optimisation de la position à chaque niveau et sa propagation aux différents niveaux de l'arbre sont illustrées à la figure 7. L'optimisation de position est effectuée par minimisation d'un critère E correspondant à l'écart de luminance entre l' image à coder et l' image interpolée. Pour le calcul de E, on considère des points q de R3 de coordonnées x, y et z avec z=Y (composante de luminance). Le critère E est défini de la manière suivante E #R3 F(q)dq où F est une fonction indicatrice valant 1 si q est compris entre la surface formée des points q de l'image originale et la surface formée des points q de l'image interpolée, et 0 sinon. La minimisation de l'écart E est effectuée au moyen d'un algorithme de descente de gradient à pas adaptatif. Il s'agit en fait de trouver le vecteur X des points de R3 où E est minimal c'est-à-dire : VE(X)=0 Cela revient à résoudre le système d'équations non linéaires suivant: ##E/#x (X)=0 #E/#y (X)=0 #E/#z (X)=0 On peut résoudre ce système directement par la méthode de Newton, cependant il arrive que cette méthode ne converge pas lorsque le point de départ des itérations est trop éloigné de la solution. Aussi, est-il préférable d'utiliser des procédures itératives conduisant à produire une suite de positions intermédiaires ql, q2... convergeant vers un optimum local de E. Ce type de procédure itérative se déroule de la manière suivante : pour la détermination de la position optimale du sommet So, on part de sa position de départ qs , et on calcule le gradient de E en ce point. Comme #E(qs0) indique la direction de la plus grande augmentation de E, on déplace le sommet d'une quantité [alpha]0 dans la direction opposée, et le sommet So a pour nouvelle position q1=qs0-[alpha]0*#E(qs0)/#E(qs0) La procédure ainsi répétée engendre les positions intermédiaires q2, q3,....qk telles que =qk-[alpha]k*#E(qk) qk+l - IVE(qk)1 On choisit avantageusement un pas ak adaptatif de manière à accélérer la convergence. La méthode de descente de gradient à pas adaptatif consiste à diminuer (resp. augmenter) le pas ak lorsque l'écart E augmente (resp. diminue) tout en respectant une contrainte de taille sur le pas visant à ce que ak #[[alpha]min,[alpha]max] La position finale qn=qso est obtenue lorsque la différence entre deux écarts E successifs est inférieur à un écart seuil minimal. On calcule de façon analogue la position optimale des autres sommets du maillage. Comme on l'a vu précédemment, l'écart E est calculée par rapport à l'image réelle. Selon une version améliorée, l'écart E est calculée à chaque niveau de maillage par rapport à une image de référence I spécifique présentant des similarités en terme de contenu fréquentiel avec le niveau de maillage considéré. Ainsi, le maillage de base (niveau 0) ne représentant que l'aspect basse fréquence d'une image, l'image de référence utilisée pour l'optimisation de position des sommets de ce niveau de maillage possède également un contenu fréquentiel basse fréquence. Cette image de référence est obtenue par filtrage de l'image réelle. De façon analogue, on associe à chaque niveau de maillage une image de référence dont le contenu fréquentiel est adapté au maillage considéré. L'image de référence associé au niveau de maillage la plus élevé correspond à l'image réelle (sans filtrage). Pour générer ces images de référence, on utilise une approximation des filtres passe-bas demi-bande de réponse impulsionnelle infinie h(n) sin(xn/L) h(n)=###### , #n/L où L étant un facteur de sous-échantillonnage. On utilise ainsi une image de référence différente à chaque niveau de maillage pour calculer la valeur E. L'optimisation des valeurs de luminance et de chrominance associées aux sommets de maillage constitue un autre perfectionnement possible du procédé de l'invention. L'optimisation des valeurs Y,U,V est réalisée via une méthode des moindres carrés, et consiste à minimiser un critère E' défini sur le domaine de l'image # de la manière suivante: M E'=## I(x,y)-##sn(x,y).v(Sn) dxdy n=1 où Sn est un sommet d'indice n du maillage multiple, - M est le nombre total de sommets du maillage multiple, - I (x,y) la valeur de luminance (resp. la valeur de chrominance U ou V) du pixel de coordonnées (x,y) de l'image à coder, - \Ils est la fonction d'interpolation associée au sommet Sn, - v (Sn) la valeur optimisée de luminance (resp. de chrominance) associée au sommet Sn. Si on dérive cette expression, on obtient les valeurs optimisées en résolvant le système linéaire de M équations suivant : M L(Jo 'l'SI (x,y) Vs (x,y) dxdyj v(S, ) =fn 1(x,y) Ts, (>5 ) dvdy n=\ M.. E (10 ys. (x, y) Vsa(x.Y) dxdy) v(Sm) =IoI(X,y) 'l'sm (.....,)) d.....d) 1n=1 Grâce au support compact des fonctions #Sm, ce système d'équations peut également s'exprimer de la manière suivante : # # # #s1 (x,y)#sk(x,y)v(S1)= # #I(x,y) #s1(x,y) eesupp(S))(x.y)eeSt#ver( Résoudre le système d'équations précédent équivaut à résoudre un système matriciel du type: AX=B où - A est une matrice symétrique définie positive, - X est la matrice colonne des valeurs optimisées v(Sm) avec me[l..M], et - B est une matrice colonne des valeurs du terme de droite du système (1). La matrice A étant une matrice symétrique définie positive, elle possède une factorisation A=LDLT unique, L désignant une matrice triangulaire inférieure à diagonale unité et D une matrice diagonale dont tous les coefficients diagonaux sont strictement positifs. Le conditionnement de la matrice A avoisine par ailleurs la valeur unité. La détermination des coefficients de L et D peut se faire par identification des coefficients situés dans la partie triangulaire inférieure des matrices: AI,J = 1 Li@k *Dk *Lj,k = LI,k *Dk * Lj,k pour L1,j= (Au - ( #Li,k *Dk *Lj,k)/Dj) pour1 J=1 i-1 Selon un mode de réalisation améliorée, on pourra prévoir d'utiliser la technique profil pour résoudre le système AX=B de manière à limiter la taille mémoire lors de la factorisation de A. La technique profil remplace la représentation classique d'une matrice sous forme d'un tableau M X M par une représentation sous la forme de deux vecteurs. En effet, la matrice A étant creuse (elle comporte beaucoup de zéros), sa représentation sous forme classique n'est pas adéquate. Selon un dernier perfectionnement, on peut également prévoir d'améliorer la topologie du maillage. Il arrive en effet que la structure locale du maillage ne soit pas adaptée aux particularités de l'image. Bien qu'il serait possible d'affiner le maillage jusqu'à obtenir un maillage hiérarchique adapté, il se révèle parfois plus simple d'effectuer une opération d'inversion de diagonale. Cette opération d'inversion de diagonale est effectuée sur le dernier niveau de maillage et consiste à inverser la diagonale dans les quadrilatères convexes formés de deux triangles adjacents dudit niveau de maillage si le maillage ainsi modifié offre une meilleure qualité de reconstruction de l'image. Cette opération d'inversion de diagonale ne concerne que les quadrilatères convexes. La figure 8A illustre un exemple de quadrilatère non convexe pour lequel l'opération d'inversion de diagonale n'est pas autorisée. Une opération d'inversion de diagonale sur un quadrilatère convexe Q formé de deux triangles Tl et T2 est illustrée figure 8B. Cette opération consiste à inverser la diagonale représentant l'arête commune aux deux triangles Tl et T2. Le quadrilatère Q comprend alors après inversion deux nouveaux triangles T'1 et T'2. L'opération d'optimisation de la topologie comporte alors les étapes suivantes: on calcule l'écart de luminance E sur chaque quadrilatère convexe Q formé de deux triangles adjacents Tl, T2 du niveau de maillage le plus élevé, cet écart de luminance étant égal à la somme des sommes des écart de luminance de Tl et T2, E (Q)= E(T1)+E(T2), - on inverse la diagonale représentant l'arête commune aux deux triangles Tl et T2 de manière à former deux nouveaux triangles T'1 et T'2,, on calcule l'écart de luminance des nouveaux triangles T'1 et T'2 et on les additionne E(Q)=E(T'1)+E(T'2), et - on conserve dans le maillage les deux triangles dont la somme des écarts de luminance est la plus faible. REVENDICATIONS 1. Procédé de codage d'une image numérique visant à produire un train binaire représentatif de ladite image, la longueur du train binaire étant fonction de la qualité de représentation voulue, caractérisé en ce qu'il comporte les étapes suivantes: a) définir, sur le domaine de l'image à coder, un maillage hiérarchique comportant une pluralité de maillages emboîtés dont les sommets de mailles sont des pixels de ladite image; b) déterminer, pour chaque maille dudit maillage hiérarchique, un écart de luminance entre l'image à coder et une image interpolée obtenue à partir des sommets du maillage emboîté auquel appartient la maille considérée, et c) introduire dans le train binaire les valeurs de position, de luminance et de chrominance des sommets des mailles dont l'écart de luminance est supérieur à un écart seuil. 2. Procédé de codage selon la revendication 1, caractérisé en ce que ledit maillage hiérarchique est obtenu par subdivisions régulières et successives des mailles d'un maillage de base grossier. 3. Procédé de codage selon la revendication 2, caractérisé en ce que le maillage de base présente une répartition régulière en quinconce de ses sommets de maille. 4. Procédé de codage selon l'une des revendications 1 à 3, caractérisé en ce qu'il comporte en outre une étape de réalisation d'une structure en arbre associé audit maillage hiérarchique. 5. Procédé de codage selon l'une des revendications 1 à 4, caractérisé en ce que l'étape c) est réitérée plusieurs fois avec des écarts seuils de plus en plus faibles de manière à générer à chaque itération un groupe de bits venant améliorer la qualité de représentation. 6. Procédé de codage selon l'une des revendications 1 à 5, caractérisé en ce que les valeurs de position, de luminance et de chrominance des sommets de mailles à introduire dans le train binaire sont soumises à une opération préalable de quantification. 7. Procédé de codage selon la revendication 6, caractérisé en ce que ladite opération de quantification est non uniforme. 8. Procédé de codage selon la revendication 6 ou 7, caractérisé en ce que les valeurs quantifiées sont soumises à une opération de compression de données avant d'être introduite dans le train binaire. 9. Procédé de codage selon la revendication 8, caractérisé en ce que ladite opération de compression de données est effectuée par un codeur arithmétique adaptatif. 10. Procédé de codage selon l'une des revendications 2 à 5, caractérisé en ce que les valeurs de luminance, de chrominance et de position des sommets de mailles des maillages emboîtés, hormis les valeurs se rapportant au maillage de base, et qui sont introduites dans le train binaire, sont des valeurs différentielles représentant chacune la différence entre la valeur exacte correspondante de l'image à coder et une valeur interpolée obtenue à partir des valeurs exactes correspondantes des sommets voisins du maillage emboîté de niveau hiérarchique inférieur. 11. Procédé de codage selon l'une des revendications précédentes caractérisé en ce que, préalablement à l'étape b), pour chaque maillage emboîté dudit maillage hiérarchique, on optimise la position de ses sommets de mailles en minimisant l'écart de luminance entre l'image à coder et l'image interpolée obtenue à partir de ses sommets de mailles. 12. Procédé de codage selon l'une des revendications 1 à 11 caractérisé en ce que, préalablement à l'étape b), on associe à chaque maillage dudit maillage hiérarchique une image de référence et on optimise pour chaque maillage emboîté la position de ses sommets de mailles en minimisant l'écart de luminance entre l'image de référence qui lui est associée et l'image interpolée à partir de ses sommets de mailles. 13. Procédé de codage selon la revendication 12, caractérisé en ce que les images de référence associés aux différents maillages du maillage hiérarchique sont obtenues par filtrage de l'image à coder. 14. Procédé de codage selon l'une des revendications 11 à 13, caractérisé en ce que la minimisation de l'écart de luminance est effectuée par un algorithme de descente de gradient à pas adaptatif. 15. Procédé de codage selon l'une des revendication précédentes caractérisé en ce que, préalablement à l' étape b) , on optimise les valeurs de luminance et de chrominance des sommets des mailles des maillages emboîtés en minimisant le critère E' suivant M 2 E'= Jo I(x,y) - ?; 'l'sn (X,y).V(Sn1 dxdy n=l où Sn est un sommet d'indice n dudit maillage hiérarchique, - M est le nombre total de sommets dudit maillage hiérarchique, - I (x,y) la valeur de luminance (resp. la valeur de chrominance U ou V) du pixel de coordonnées (x, y) de l'image à coder, - #sn est une fonction d'interpolation associée au sommet Sn, et - v (Sn) la valeur optimisée de luminance (resp. de chrominance) associée au sommet Sn. 16. Procédé de codage selon la revendication 15 caractérisé en ce que la minimisation du critère E' est effectuée en résolvant le système linéaire de M équations suivant: E 1 1 vs1(x,y)vsk(x,y).v(s1)= 1(x, Y) Ys, (x, Y) e#sup p(S1,)(x,y)#eSkever(e) e#supp(S, )(x.y)ee (1) 'l'sm (x,y). 'l'Sk (x.y) v(Sm) I(x,Y)Wsm(x,Y) eESUp p(Sm)(x,y)#eSk #ver(e) eesup p(Sm)(x,y)#e où- supp(Sm) désigne les mailles ayant pour sommet le sommet Sm, et - ver(e) désigne les sommets de la maille e. 17. Procédé de codage selon la revendication 12 caractérisé en ce que ledit système linéaire à M équations est résolu par une méthode de décomposition LDLt profil. 18. Procédé de codage selon l'une des revendications précédentes caractérisé en ce que le maillage hiérarchique est un maillage triangulaire, et en ce que, préalablement à l'étape b), on effectue les étapes suivantes: - calculer, pour chaque quadrilatère convexe formé de deux triangles adjacents appartenant au maillage de niveau hiérarchique le plus élevé, la somme des écarts de luminance associés aux deux triangles, inverser la diagonale du quadrilatère représentant l'arête commune aux deux triangles, de manière à définir deux nouveaux triangles, - calculer l'écart de luminance de chacun des deux nouveaux triangles, et les additionner, et - conserver dans ledit maillage les deux triangles dont la somme des écarts de luminance est la plus faible.