ondelettes (wavelets)

Introduction au codage des images en sous-bandes


par Jacques WEISS



Préambule

Il ne s'agit pas ici de détailler l'ensemble de la théorie et de la mise en oeuvre des ondelettes pour la compression d'images, il s'agit que d'une brève introduction. Par ailleurs, il existe image et image, c'est à dire qu'une image de télévision ne se traitera pas de la même manière qu'une image astronomique (propriétés du signal différentes et critères de performances propres à chaque domaine). L'introduction menée ici s'oriente vers des applications de type télévision, on ne connait donc pas les caractéristiques statistiques des images (paysages naturelles ..... images de synthèse) que l'on aura à traiter.

Il a été démontré qu'il n'est pas possible d'obtenir des taux de compression intéressants à partir du contenu de l'image (travail dans l'espace pixel) en raison de la faible corrélation spatiale des points.

Il faut transformer ce contenu soit pour éliminer la corrélation spatiale (cas de la DCT) soit pour l'augmenter par séparation en plusieurs espaces (cas des ondelettes).

Quelquesoit la transformation adoptée, le traitement est réciproque, c'est à dire que l'on peut revenir à l'espace d'origine (image de départ) sans altération (du moins en thérorie); le seul but de la transformation est de fournir des informations "facilement" comprimables : on peut suivant les cas effectuer une quantification scalaire ou vectorielle puis un codage entropique.

La présentation des ondelettes qui est faite ici ne concerne que la transformation, pour la phase de quantification, il n'y a pas de consensus qui se dégage, il semble toutefois que la quantification vectorielle donne des résultats prometteurs.

Pour finir avec ce préambule, il faut savoir que des études sont menées sur l'application 2D+t d'ondelettes sur des séquences d'images; si les résultats théoriques semblent encourageants, la mise en oeuvre de tels algorithmes reste encore très lourde à l'heure actuelle.

1 Principe de l'analyse espace - échelle ou analyse multirésolution

On utilise une gamme étendue d'échelles pour analyser l'image, opération que l'on peut comparer à une cartographie (figure 1); à échelle donnée, on remplace l'image que l'on avait à une échelle plus fine par l'approximation la plus adéquate possible : on voyage donc des échelles les plus fines vers les plus grossières et on accède à des représentations de plus en plus grossières de l'image donnée. L'analyse s'effectue en calculant se qui diffère d'une échelle à l'autre, c'est-à- dire les détails qui permettent, en corrigeant une approximation encore assez grossière, d'accéder à une représentation d'une qualité meilleure.


Fig. 1 : Contexte d'analyse multirésolution

2 Application à la compression vidéo

Le traitement de compression (figure 2) d'une image (espace V0) consiste à décomposer l'espace d'origine en 4 espaces : V1 ,v1xw1, w1xv1 et w1xw1 ; par action de la décimation, chacun de ces espaces occupe 1/4 de l'espace d'origine.


Fig 2 : Application d'ondelettes sur une image

Ainsi l'espace de sortie (réunion des 4 sous-espaces) est le même que l'espace d'origine mais l'organisation des données est différente :

  • V1 : les données sont issues de 2 filtres passe-bas, l'un horizontal et l'autre vertical, après décimation. Le contenu de l'espace correspond à l'image d'origine avec une résolution moindre ; pour simplifier les notations, nous appellerons cet espace : (S comme Smooth (adouci))
  • v1xw1 : cet espace est issu d'un filtrage passe-bas horizontal et d'un passe-haut vertical ; son contenu correspond donc à des détails horizontaux ; cet espace sera noté SD1 (Smooth and Detail).
  • w1xv1 : cet espace est comparable au précédent avec une rotation de 90° ; il sera noté DS1
  • w1xw1 : cet espace subit une filtrage passe-haut dans les 2 directions, il contient alors les informations de détail bi-dimensionnelles ; il sera noté D1
    On retrouve donc bien la décomposition de l'espace source V0 en un espace de résolution moindre V1 et un espace W1 (qui est égal à la réunion de v1xw1, w1xv1 et w1xw1) contenant le résidu d'information.

    Cela correspond à une première couche d'ondelettes. La deuxième couche consiste à prendre l'espace V1 pour obtenir les espaces S2, SD2, DS2 et D2, et ainsi de suite. à chaque couche, on va d'une image fine vers des images à des échelles de plus en plus grossières : V2, V3, ..., Vn ; le résultat du traitement est une image de même dimension que celle d'origine mais seule exploite toute la dynamique du signal d'entrée (codage sur B bits), les autres signaux de différence, sont centrés sur l'origine et le volume d'information propre est beaucoup plus faible (on pourra alors exploiter un codage entropique, par exemple).


    Fig. 3 : Exemple de traitement sur 2 couches

    La reconstruction consiste en une opération symétrique à celle de la transformation (figure 4); s'il n'y a pas eu de compression, il ne doit pas y avoir, au sens du traitement du signal, de perte d'information dans l'image ; dans la pratique, il apparaît des problèmes au niveau des frontières de l'image liés à la largeur des fenêtres de filtrage (symétriques), la visibilité de ce défaut se fait sous forme de vignettage (perte de luminosité et de contraste) sur les bords de l'image (figure 5) ; il n'existe pas de méthode miracle pour éliminer ce phénomène, la meilleure approche, semble-t'il consiste à effectuer un miroir aux frontières de l'image, de telle sorte que le filtrage soit correct.


    Fig 4 : Reconstruction de l'image

    ..........
    Image source ...............................................Image reconstruite

    Fig. 5 : Effet de vignettage sur les bords de l'image (5 couches d'ondelettes)

    Les ondelettes donnent de bons résultats en compression d'image, semble-t'il meilleurs qu'avec la DCT, mais leurs développements théoriques et pratiques ne sont pas assez avancés (ou trop récents) pour qu'elles soient intégrées dans des normes de compression pour les images informatiques ou télévisuelles.

    Les ondelettes excellent dans la compression d'images présentant des contours marqués mais elles donnent des résultats mitigés pour le traitement de textures ; à titre d'exemple, les ondelettes sont très performantes dans la compression d'images de type Bandes Dessinées.

    Les ondelettes excellent dans la compression d'images présentant des contours marqués mais elles donnent des résultats mitigés pour le traitement de textures ; à titre d'exemple, les ondelettes sont très performantes dans la compression d'images de type Bandes Dessinées.

    Un exemple d'utilisation des ondelettes pour la compression d'images est donné par la figure 4.22, il s'agit de l'archivage d'empreintes digitales par le FBI ; le système (WSQ : Wavelets, scalar quantization) exploite la quantification scalaire des espaces de différence ; le taux de compression exploité est de 15:1.


    Fig 6 :Système de compression d'empreintes digitales (FBI)



    En 1996, Analog Devices a mis sur le marché un composant de compression/décompression temps réel d'images de télévision à base d'ondelettes : il s'agit de l'ADV601,



    N'oubliez pas d'aller jeter un oeil sur le serveur www.wavelet.org, vous y trouverez bon nombre de choses intéressantes sur l'état de l'art dans le domaine.