Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Compression par ondelettes - Wikipédia

Compression par ondelettes

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

Sommaire

[modifier] Introduction aux ondelettes

Grande rivale de la DCT, la technologie 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, mais passée relativement sous silence à cause du succès des normes utilisant la DCT : JPEG pour l'image fixe et les différents MPEG (1, 2, 4, et AVC) pour la vidéo. Les codeurs JPEG 2000 et SPIHT utilisent tous deux une transformée en ondelettes dans leur schéma de compression. En revanche, seule JPEG 2000 est une norme.

La transformation par ondelettes est une technique inventée par Jean Morlet, un ingénieur français, pour la prospection pétrolière. Cette technique consiste à décomposer une image en une myriade de sous-bandes, c’est-à-dire des images de résolution inférieure.

La transformée en ondelettes d'une image de résolution 2k donne trois « sous-images » de résolution 2k − 1 : celles des coefficients d'ondelettes, dont la nature particulière met en évidence de l'information 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 de l'homme.

[modifier] Algorithme ondelettes

Image:Ondelette schema de compression.png
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.

[modifier] Transformée ondelettes

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

Nous avons donc comme donnée originale :

Niveau 4 : s^4_0 s^4_1 s^4_2 s^4_3 s^4_4 s^4_5 s^4_6 s^4_7 s^4_8 s^4_9 s^4_{10} s^4_{11} s^4_{12} s^4_{13} s^4_{14} s^4_{15} = S^4

Étape après étape, nous obtenons :

Niveau 3 : s^3_0 s^3_1 s^3_2 s^3_3 s^3_4 s^3_5 s^3_6 s^3_7 d^3_0 d^3_1 d^3_2 d^3_3 d^3_4 d^3_5 d^3_6 d^3_7 = S^3, D^3

Niveau 2 : s^2_0 s^2_1 s^2_2 s^2_3 d^2_0 d^2_1 d^2_2 d^2_3 d^3_0 d^3_1 d^3_2 d^3_3 d^3_4 d^3_5 d^3_6 d^3_7 = S^2, D^2, D^3

Niveau 1 : s^1_0 s^1_1 d^1_0 d^1_1 d^2_0 d^2_1 d^2_2 d^2_3 d^3_0 d^3_1 d^3_2 d^3_3 d^3_4 d^3_5 d^3_6 d^3_7 = S^1, D^1, D^2, D^3

Nous obtenons finalement :

Niveau 0 : s^0_0 d^0_0 d^1_0 d^1_1 d^2_0 d^2_1 d^2_2 d^2_3 d^3_0 d^3_1 d^3_2 d^3_3 d^3_4 d^3_5 d^3_6 d^3_7 = S^0, D^0, D^1, D^2, D^3

Le passage d'un niveau à l'autre s'effectue, avec une ondelette de Haar, à l'aide des formules suivantes :

s_i^{k-1} = {s_{2i}^k + s_{2i + 1}^k \over 2}
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 deux pixels 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, la transformée en ondelettes donne l'amplitude de la fréquence à un endroit donné. Ce qui est 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ère logarithmique ; ce qui est également plus proche de notre perception.

[modifier] Transformée ondelettes à deux dimensions

On distingue 4 étapes différentes pour procéder à la transformation :

  1. Moyenner les pixels de l'image originale deux à deux suivant l'axe horizontal ; par exemple : 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) = {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) = {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) = {Y_n -Y_{n+1} \over 2}

Ce qui donne graphiquement :

Image:Ondelette par niveaux.png
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 :

Image:Ondelette à deux dimentions.png
Figure 3 : transformée en ondelettes niveau après niveau

[modifier] Décompression ondelettes

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é.

[modifier] Comparaison des algorithmes

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.

[modifier] Bibliographie

[modifier] Français

[modifier] Anglais

[modifier] Voir aussi

Série JPEG
Groupe JPEG JFIF JPEG-LS Compression JPEG JPEG 2000 Compression par ondelettes
Portail de l'informatique – Accédez aux articles de Wikipédia concernant l’informatique.
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu