Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR COMPRESSING AND ENCODING THREE-DIMENSIONAL MESHED NETWORK
Document Type and Number:
WIPO Patent Application WO/2000/021035
Kind Code:
A1
Abstract:
The invention concerns a method for encoding a digital image for producing a bit stream representing said image, the bit stream length depending on the quality of the desired representation, characterised in that it consists in: a) defining, on the domain of the image to be encoded, a hierarchical meshing comprising a plurality of nested meshes whereof the mesh peaks are said image pixels; b) determining, for each mesh of said hierarchical meshing, a brightness variation between the image to be encoded and an interpolated image obtained from the nested meshing peaks whereto pertains the mesh concerned; and c) inserting in the bit stream position, brightness and chrominance values of the peaks of meshes whereof the brightness variation is higher than a threshold variation. The invention is useful for encoding fixed or animated images with speed reduction (compression).

Inventors:
LAURENT NATHALIE (FR)
LECHAT PATRICK (FR)
SANSON HENRI (FR)
Application Number:
PCT/FR1999/002323
Publication Date:
April 13, 2000
Filing Date:
September 30, 1999
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (FR)
TELEDIFFUSION FSE (FR)
LAURENT NATHALIE (FR)
LECHAT PATRICK (FR)
SANSON HENRI (FR)
International Classes:
G06T9/00; H04N11/04; H04N1/41; H04N7/26; H04N7/36; (IPC1-7): G06T9/00
Other References:
JIANKUN LI ET AL: "Progressive coding of 3-D graphic models", PROCEEDINGS OF THE IEEE, JUNE 1998, IEEE, USA, vol. 86, no. 6, ISSN 0018-9219, pages 1052 - 1063, XP002106798
SALEMBIER P ET AL: "VERY LOW BIT RATE VIDEO CODING USING ACTIVE TRIANGULAR MESH", 1996 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING - PROCEEDINGS. (ICASSP), ATLANTA, MAY 7 - 10, 1996, vol. 4, no. CONF. 21, 7 May 1996 (1996-05-07), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 2060 - 2063, XP000681654
YAO WANG ET AL: "Use of two-dimensional deformable mesh structures for video coding. II. The analysis problem and a region-based coder employing an active mesh representation", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, DEC. 1996, IEEE, USA, vol. 6, no. 6, ISSN 1051-8215, pages 647 - 659, XP002106799
LEE O ET AL: "Non-uniform image sampling and interpolation over deformed meshes and its hierarchical extension", VISUAL COMMUNICATIONS AND IMAGE PROCESSING '95, TAIPEI, TAIWAN, 24-26 MAY 1995, vol. 2501, pt.1, ISSN 0277-786X, Proceedings of the SPIE - The International Society for Optical Engineering, 1995, USA, pages 389 - 400, XP002106800
LECHAT P ET AL: "Image approximation by minimization of a geometric distance applied to a 3D finite elements based model", PROCEEDINGS OF INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, SANTA BARBARA, CA, USA, 26-29 OCT. 1997, ISBN 0-8186-8183-7, 1997, Los Alamitos, CA, USA, IEEE Comput. Soc, USA, pages 724 - 727 vol.2, XP002106801
LABELLE L ET AL: "Computation of image representation based on active triangular meshes through geometrical surface evolution", VISUAL COMMUNICATIONS AND IMAGE PROCESSING '97, SAN JOSE, CA, USA, 12-14 FEB. 1997, vol. 3024, pt.2, ISSN 0277-786X, Proceedings of the SPIE - The International Society for Optical Engineering, 1997, USA, pages 843 - 854, XP002106817
LEE W -F ET AL: "Two-dimensional split and merge algorithm for image coding", VISUAL COMMUNICATIONS AND IMAGE PROCESSING '95, TAIPEI, TAIWAN, 24-26 MAY 1995, vol. 2501, pt.1, ISSN 0277-786X, Proceedings of the SPIE - The International Society for Optical Engineering, 1995, USA, pages 694 - 704, XP002106802
Attorney, Agent or Firm:
Beaufils, Yves (rue Général Hoche Lorient, FR)
Download PDF:
Claims:
REVENDICATIONS t
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 t 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 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) représente la valeur de luminance (resp. la valeur de chrominance U ou V) du pixel de coordonnées (x, y) de l'image à coder, ~ vs est une fonction d'interpolation associée au sommet Sn, et v (Sn) est 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 : 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.
Description:
COMPRESSION ET CODAGE DE RESEAU MAILLE TRIDIMENSIONNEL

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 ; ces 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 <BR> <BR> <BR> <BR> des mailles dont l'écart de luminance est supérieur a 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 T en quatre triangles de niveau inférieur ; -la figure 2 représente la partie d'arbre associé au triangle T1 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 ; et -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 1'image-a _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. t La subdivision d'un triangle père T1 en quatre triangles fils de niveau supérieur Tell, 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 : 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 v (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 : Dans le cas présent (interpolation affine), les valeurs v*¢ (x, y), J (x, y) et Vk (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 : #ie(x,y) = (xjyk - xkyj) + (yj - yk)x + (xk - xj)y XjYk-XkYj + XkY.-x. yk + XiYj-XjYi Les wj (x, y) et vk (x, y) s'obtiennent par permutation circulaire des indices i, j, k dans les l'expression de vj (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 T1l, 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 Tll, T12, T13, T14.

Les triangles T1, Tll, 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 Tll, 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 à un écart seuil.

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 1'image a 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 : 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 : chaque 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 : les 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+1, et la position des sommets supplémentaires du niveau n+1 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 S3 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 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 <BR> <BR> <BR> <BR> d'un algorithme de descente de gradient à pas adaptatif. Il s'agit en fait de trouver le vecteur X des points de 91 3 oa E est minimal c'est-à-dire : VE (X) = 0 Cela revient à résoudre le système d'équations non linéaires suivant : 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 qso, et on calcule le gradient de E en ce point. Comme VE (qso) indique la direction de la plus grande augmentation de E, on déplace le sommet d'une quantité ao dans la direction opposée, et le sommet So a pour nouvelle position

La procédure ainsi répétée engendre les positions intermédiaires q2, q3,.... qk telles que 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 s amin, amax 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 t é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 sin(xn/L) xn/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 1 1 image 92 de la manière suivante : où-Su est un sommet d'indice n du maillage multiple, -M est le nombre total de sommets du maillage multiple, -I (x, y) représente la valeur de luminance (resp. la valeur de chrominance U ou V) du pixel de coordonnées (x, y) de l'image à coder,

~ vs est la fonction d'interpolation associée au sommetSn, -v (Sn) est 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 :

Grâce au support compact des fonctions Vs, ce système d'équations peut également s'exprimer de la manière suivante :

où-supp (Sm) désigne les triangles ou mailles ayant pour sommet le sommet Sm, et -ver (e) désigne les sommets du triangle e.

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 : Par ailleurs, on a : Les termes de la matrice X des valeurs optimisées sont alors déterminées par la formule : 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 T1 et T2 est illustrée figure 8B. Cette opération consiste à inverser la diagonale représentant l'arête commune aux

deux triangles T1 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 T1, T2 du niveau de maillage le plus élevé, cet écart de luminance étant égal à la somme des sommes des écart de luminance de T1 et T2, E (Q) = E (T1) +E (T2), -on inverse la diagonale représentant l'arête commune aux deux triangles T1 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.