« Compression de données/Le format JPEG 2000 » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 62 :
En [[:w:1909|1909]], [[:w:Alfred Haar|Alfred Haar]] propose ce que l'on considère comme la première ondelette même si ce terme apparaît bien plus tard. L'ondelette de Haar est la plus simple à comprendre et à implémenter.
 
Prenons un signal S comportant 4 valeurs : <math>S = [1, 23, 9, 5]</math>. Nous pouvons appliquer une première décomposition en isolant les éléments deux par deux et en calculant leur moyenne. Avec notre signal, nous trouvons : <math>\frac{(1+23}{)/2} = 12</math> et
<math>\frac{(9+5}{)/2} = 7</math>. Nous avons ainsi réduit la résolution du signal original, cette moyenne agit en fait comme un filtre passe-bas, le signal se retrouve lissé.
 
Comment retrouver les détails ? Il suffit de regarder la différence entre les moyennes obtenues et les valeurs originales du signal. Le premier couple d'éléments (1,23) a une moyenne de 12. La différence entre 1 et 12 est de -11, entre 12 et 23, elle se monte à 11. Bien entendu, les différences sont simplement opposées et il n'est pas nécessaire de conserver les deux valeurs car l'une est négative, l'autre positive, on ne conserve ainsi que la première valeur. En répétant cette opération avec le deuxième couple (9,5), nous obtenons une différence de <math>(9-7) = +2</math>. Il ne nous reste plus qu'à créer un nouveau signal commençant avec les moyennes suivies par les différences : <math>S1 = [12, 7, -11, 2]</math>, il est essentiel ici de conserver le signe des coefficients.
Ligne 71 :
Quel est l'intéret d'une telle transformation ? Un signal transformé se compressera mieux que le signal brut, on parle de compression d'énergie. Les coefficients de détails ont souvent une magnitude inférieure aux échantillons du signal original. On a donc besoin de moins de bits pour coder ces informations et nous pouvons réduire leur précision. Si nous reconstruisons le signal comme nous l'avons fait précédemment à partir de <math>[12,7, -8, 0]</math>, nous obtenons <math>[4, 20, 7, 7]</math>. Le signal est dégradé mais encore fidèle à l'original.
 
Nous venons d'effectuer une première passe de l'algorithme. Nous allons maintenant affiner l'analyse en diminuant l'échelle. Nous reprenons la séquence issue de la première transformation, soit <math>S1 = [12, 7, -11, 2]</math>. Nous avons vu que la première partie correspond aux coefficients "basses fréquences" et la deuxième partie aux coefficients de détails. Nous allons maintenant appliquer l'algorithme récursivement sur la partie de gauche (basse fréquence). A partir de S1, nous prenons <math>[12, 7]</math> et trouvons la moyenne suivante : <math>\frac{(12+7}{)/2} = 9.5</math>. Le coefficient de détail pour cette partie correspond à <math>(12-9.5) = 2.5</math>. Nous remplaçons les termes présents dans la partie gauche de S1 par ceux que nous venons de calculer. On obtient ainsi <math>S2 = [9.5, 2.5, -11, 2]</math> constitué d'un coefficient d'approximation et de 3 coefficients de détails. Nous ne pouvons pas décomposer plus en avant la partie basse fréquence car elle se réduit maintenant à un seul terme.
 
Tentons une reconstitution du signal S depuis S2. Nous commençons à partir du coefficient d'approximation qui vaut 9.5. Grâce aux informations de détails qui suivent ce coefficient, nous pouvons aisément retrouver les éléments de S1 : <math>(9.5+2.5)</math> et <math>(9.5-2.5)</math>. Nous avons bien <math>[12, 7]</math>. En appliquant la transformation pour passer de S1 à S comme décrit précédemment, on retrouve le signal sans dégradation.
 
Il s'agit d'une transformation de Haar qui n'est pas normalisée. Pour améliorer la qualité et pour des critères mathématiques qui dépassent le cadre de cet article, on cherche à avoir des ondelettes normalisées. Avec une Haar normalisée, tous les coefficients sont divisés par racine de 2 au lieu de 2.
 
== La transformation de Haar sur une image ==
163

modifications