Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Compression par ondelettes

Un article de Wikipédia, l'encyclopédie libre.

Lacompression par ondelettes est unetechnique decompression de données, bien adaptée à lacompression d'images.

Introduction aux ondelettes

[modifier |modifier le code]

Grande rivale de laDCT, la technique de compression à base d’ondelettes offre une plus grande finesse au niveau de l’analyse du signal et permet de mieux s’adapter aux propriétés locales de l’image. Il s’agit d’une voie de recherche assez prometteuse. Les codeursJPEG 2000 etSPIHT utilisent tous deux une transformée en ondelettes dans leur schéma de compression. En revanche, seulJPEG 2000 est une norme. La compression en ondelettes étant elle-même sans pertes, c'est l'introduction facultative d'une quantification ou d'un seuillage qui entraine la perte irréversible d'informations.

La première transformation par ondelettes est une technique inventée parAlfréd Haar en 1909, avec l'ondelette du même nom. De manière assez indépendante, les ondelettes sont utilisées sporadiquement pendant leXXe siècle. En 1984,Jean Morlet, un ingénieur français, les utilise pour la prospection pétrolière et introduit le terme même d'ondelette qui fut traduit enanglais parwavelet, à partir des termeswave (onde) et le diminutiflet (petite).Yves Meyer[1] (prix Abel 2017), reconnu comme un des fondateurs de la théorie des ondelettes, rassembla en1986 toutes les découvertes précédentes (il en dénombra 16) puis définit lesondelettes orthogonales. La même année,Stéphane Mallat fit le lien entre les ondelettes et l'analyse multirésolution. Enfin,Ingrid Daubechies mit au point en1987 des ondelettes orthogonales appeléesondelettes de Daubechies, faciles à mettre en œuvre, et utilisées dans le standardJPEG 2000.

L'utilisation de cette transformation en imagerie consiste à décomposer une image en une myriade de sous-bandes, c’est-à-dire des images de résolution inférieure. La transformation en ondelettes provient d'une analysemultirésolution de l'image. On considère des espaces d'approximations de plus en plus grossiers notésVj{\displaystyle V_{j}} et des espaces "capturant" les détails perdus entre chaque niveau d'approximation notésWj{\displaystyle W_{j}} avecjZ{\displaystyle j\in \mathbb {Z} }. Les bases ondelettes se situent sur lesWj{\displaystyle W_{j}}, c'est là qu'est le cœur de la compression sans perte.

Les coefficients d'ondelettes dans lesWj{\displaystyle W_{j}} mettent en évidence des informations sur les contours, les textures, leur localisation et leur orientation. Le choix de l’ondelette mère est très important et fait toujours l’objet d’expérimentations pour adapter l’analyse du signal image au système de perception visuelle du lecteur humain.

Algorithme ondelettes

[modifier |modifier le code]
Figure 1 : schéma de compression

La compression se compose donc des étapes suivantes :

  1. Transformations par ondelettes.
  2. Quantification : les valeurs des images de détails inférieures à un certain niveau sont éliminées, en fonction de l’efficacité recherchée. C’est cette étape qui introduit des pertes.
  3. Codage des valeurs restantes.

Transformée ondelettes

[modifier |modifier le code]

Pour commencer, nous allons expliquer la transformée à une dimension.

Nous avons donc comme donnée originale :

Niveau 4 :s04s14s24s34s44s54s64s74s84s94s104s114s124s134s144s154=S4{\displaystyle s_{0}^{4}s_{1}^{4}s_{2}^{4}s_{3}^{4}s_{4}^{4}s_{5}^{4}s_{6}^{4}s_{7}^{4}s_{8}^{4}s_{9}^{4}s_{10}^{4}s_{11}^{4}s_{12}^{4}s_{13}^{4}s_{14}^{4}s_{15}^{4}=S^{4}}

Étape après étape, nous obtenons :

Niveau 3 :s03s13s23s33s43s53s63s73d03d13d23d33d43d53d63d73=S3,D3{\displaystyle s_{0}^{3}s_{1}^{3}s_{2}^{3}s_{3}^{3}s_{4}^{3}s_{5}^{3}s_{6}^{3}s_{7}^{3}d_{0}^{3}d_{1}^{3}d_{2}^{3}d_{3}^{3}d_{4}^{3}d_{5}^{3}d_{6}^{3}d_{7}^{3}=S^{3},D^{3}}

Niveau 2 :s02s12s22s32d02d12d22d32d03d13d23d33d43d53d63d73=S2,D2,D3{\displaystyle s_{0}^{2}s_{1}^{2}s_{2}^{2}s_{3}^{2}d_{0}^{2}d_{1}^{2}d_{2}^{2}d_{3}^{2}d_{0}^{3}d_{1}^{3}d_{2}^{3}d_{3}^{3}d_{4}^{3}d_{5}^{3}d_{6}^{3}d_{7}^{3}=S^{2},D^{2},D^{3}}

Niveau 1 :s01s11d01d11d02d12d22d32d03d13d23d33d43d53d63d73=S1,D1,D2,D3{\displaystyle s_{0}^{1}s_{1}^{1}d_{0}^{1}d_{1}^{1}d_{0}^{2}d_{1}^{2}d_{2}^{2}d_{3}^{2}d_{0}^{3}d_{1}^{3}d_{2}^{3}d_{3}^{3}d_{4}^{3}d_{5}^{3}d_{6}^{3}d_{7}^{3}=S^{1},D^{1},D^{2},D^{3}}

Nous obtenons finalement :

Niveau 0 :s00d00d01d11d02d12d22d32d03d13d23d33d43d53d63d73=S0,D0,D1,D2,D3{\displaystyle s_{0}^{0}d_{0}^{0}d_{0}^{1}d_{1}^{1}d_{0}^{2}d_{1}^{2}d_{2}^{2}d_{3}^{2}d_{0}^{3}d_{1}^{3}d_{2}^{3}d_{3}^{3}d_{4}^{3}d_{5}^{3}d_{6}^{3}d_{7}^{3}=S^{0},D^{0},D^{1},D^{2},D^{3}}

Le passage d’un niveau à l’autre s’effectue, avec uneondelette de Haar, à l’aide des formules suivantes :

sik1=s2ik+s2i+1k2{\displaystyle s_{i}^{k-1}={s_{2i}^{k}+s_{2i+1}^{k} \over 2}}
dik1=s2iks2i+1k2{\displaystyle d_{i}^{k-1}={s_{2i}^{k}-s_{2i+1}^{k} \over 2}}
Équation 1 : Transformée ondelettes

Le premier calcul est la moyenne de deuxpixels ce qui va permettre de calculer les fréquences deux fois plus basses. Le deuxième calcul est la différence entre deux pixels, ce qui correspond à l’amplitude de la fréquence à l’endroit donné. On remarque donc que la transformée DCT donne des informations sur l’amplitude des fréquences, alors que la transformée en ondelettes donne l’amplitude de la fréquence à un endroit donné. Cette dernière donne donc un rendu plus proche de la perception humaine car pour le son par exemple, on remarque s’il y a des basses ou des aigus à un instant donné. On peut également remarquer que dans le cas de la DCT, les fréquences varient de façon linéaire tandis que dans le cas de la transformée par ondelettes les fréquences varient de manièrelogarithmique. Ceci est également plus proche de notre perception.

Transformée ondelettes à deux dimensions

[modifier |modifier le code]

On distingue 4 étapes différentes pour procéder à la transformation dans le cas très particulier de l'ondelette de Haar :

  1. Moyenner les pixels de l’image originale deux à deux suivant l’axe horizontal ; par exemple :H(x)=Xn+Xn+12{\displaystyle H(x)={X_{n}+X_{n+1} \over 2}}
  2. Calculer l’erreur entre l’image originale et l’image sous-échantillonnées dans le sens horizontal ; par exemple :G(x)=XnXn+12{\displaystyle G(x)={X_{n}-X_{n+1} \over 2}}
  3. Pour chacune des deux images intermédiaires, moyenner les pixels deux à deux suivant l’axe vertical ; par exemple :H(y)=Yn+Yn+12{\displaystyle H(y)={Y_{n}+Y_{n+1} \over 2}}
  4. Pour chacune des deux images intermédiaires, calculer l’erreur suivant l’axe vertical ; par exemple :G(y)=YnYn+12{\displaystyle G(y)={Y_{n}-Y_{n+1} \over 2}}

Ce qui donne graphiquement :

Figure 2 : schéma de transformation d’un niveau à l’autre

Le résultat est une image d’approximation qui a une résolution divisée par deux et trois images de détails qui donnent les hautes fréquences de l’image originale. Cette transformation est répétée autant de fois que nécessaire pour obtenir le nombre voulu de sous-bandes.

Niveaux après niveaux nous obtenons :

Figure 3 : transformée en ondelettes niveau après niveau

Décompression ondelettes

[modifier |modifier le code]

La transformation inverse par ondelettes reconstruit une image originale. La construction de l’image à partir des sous-bandes restitue l’image en mode progressif. L’affichage de l’image peut s’effectuer en deux modes :

  • Soit la taille de l’image augmente au fur et à mesure de la lecture du fichier compressé.
  • Soit la résolution de l’image augmente au fur et à mesure de la lecture du fichier compressé.

Comparaison des algorithmes

[modifier |modifier le code]

Les principaux avantages par rapport à JPEG sont :

  • Le fait que l’algorithme s’adapte mieux aux propriétés locales de l’image.
  • On peut atteindre des taux de compression d’environ 50 contre 15 pour JPEG tout en ayant une qualité d’image raisonnable subjective.

Applications

[modifier |modifier le code]

Bibliographie

[modifier |modifier le code]

Français

[modifier |modifier le code]

Anglais

[modifier |modifier le code]

Notes et références

[modifier |modifier le code]
  1. http://smf4.emath.fr/Publications/Gazette/2011/130/smf_gazette_130_19-36.pdf
  2. La première détection des ondes gravitationnelles a par exemple été réalisée avec l'algorithme deSergey Klimenko, le 14 septembre 2015, basé sur l'analyse temps-fréquence.
  3. La première projection de cinéma numérique en Europe a par exemple été réalisée parPhilippe Binant, le 2 février 2000, avec pour le traitement de l'image l'analyse par ondelettes.
  4. Prix Abel 2017.

Voir aussi

[modifier |modifier le code]
v ·m
Sans perte
Codage entropique
Dictionnaire
Modélisation de contextes
Techniques hybrides
AutresCodage par plages
Transformations
Formats de fichiers
Avec pertes
Codage par transformationCompression par ondelettes
Autres
Transformations
v ·m
Série JPEG
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Compression_par_ondelettes&oldid=233191506 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp