SUPÉRIEURE UNIVERSITE DU QUEBEC L'ÉCOLE DE TECHNOLOGIE … · 2004. 11. 28. · Mohamed Badr...
Transcript of SUPÉRIEURE UNIVERSITE DU QUEBEC L'ÉCOLE DE TECHNOLOGIE … · 2004. 11. 28. · Mohamed Badr...
ECOLE DE TECHNOLOGIE SUPÉRIEURE
UNIVERSITE DU QUEBEC
PROJET D'APPLICATION PRÉSENTÉ À
L'ÉCOLE DE TECHNOLOGIE SUPÉRIEURE
COMME EXIGENCE PARTIELLE
À L'OBTENTION DE LA
MA~TRISE EN TECHNOLOGIE DES SYSTÈMES
M.iNG.
PAR
MOHAMED BADR BOUZIANE
COMPRESSION PROGRESSIVE D'IMAGES BIOMÉDICALES
PAR LA TRANSFOME EN ONDELE'ITES
MONTRÉAL, AVRIL 2000
O droits réservés de Mohamed Badr Bouziane
National Library (*I of Canada Bibliolh&que nationale du Canada
Acquisitions and Acquisilions et Bibiiographic SeAces services bibliographiques 395 Wellington Street 385, nie Wdlng(on ûttawa ON K I A ON4 bt(arnsON K l A W Canada CaMda
The author has granted a non- exclusive licence allowing the National Library of Canada to ceproduce, loan, distribute or seU copies of this thesis in rnicroform, paper or electronic formats.
The author retains ownership of the copyright in this thesis. Neither the thesis nor substantial extracts fiom it may be printed or otherwise reproduced without the author's permission.
L'auteur a accordé une licence non exclusive permettant a la Bibliothèque nationale du Canada de reproduire, prêter, distribuer ou vendre des copies de cette thèse sous la fonne de microfictie/film, de reproduction sur papier ou sur format électronique.
L'auteur conserve la propriété du droit d'auteur qui protège cette thèse. Ni la thèse ni des extraits substantiels de celle-ci ne doivent être imprimés ou autrement reproduits sans son autorisation.
CE PROJET D'APPLICATION A ÉTÉ ÉVALUE
PAR UN JURY COMPOSÉ DE :
Mme Rita Noumeir, professeur-tuteur
Département de génie électrique à l'École de technologie supérieure
M. Christian Gargour, professeur-cotuteur
Département de génie électrique à l'École de technologie supérieure
M. Langis Gagnon, chercheur
Centre de recherche informatique de Montréal
M. Guy E.Mailloux, professeur associé à l'École de technologie supérieure et
chercheur à l'hôpital du Sacré-Cœur de Montréal
IL A FAIT L'OBJET D'UNE PRÉSENTATION DEVAIT CE JURY ET UN PUBLIC
LE 9 FÉVRIER 2000
À L'ÉCOLE DE TECHNOLOGIE SUPÉRIEURE
COMPRESSION PROGRESSIVE D'IMAGES BIOMÉDICALES
Mohamed Badr Bouziane
(sommaire)
La multiplication des modalités d'imagerie médicale génère un nombre sans cesse croissant d'images de grandes tailles de très hautes qualités qui contiennent donc beaucoup de détails. Comme, il faut manipuler, stocker, transmettre et diffiser ces images (par réseaux locaux etc..), il est devenu primordial sinon vital de développer des mithodes de compression, afin de diminuer de manière significative le temps de transmission et l'espace de stockage requis. Ces méthodes de compression ne doivent pas altérer du tout ces images biomédicales. Il ne faut pas donc qu'il y ait perte d'informations à cause de considérations légales et de considérations reliées à l'éthique médicale. Ceci doit être effectue en maintenant un taux de compression élevé.
Dans ce projet, nous proposons une méthode de compression progressive basée sur un codage en sous bandes à l'aide d'une structure en arborescence de filtres d'ondelettes. Nous l'avons associé à une quantification basée sur les caractéristiques du système visuel humain. Nous visons par cette méthode à optimiser chaque étape de cette compression progressive. Une analyse des performances de ce systeme de compression est aussi présentée.
PROGRESSNE COMPRESSION OF BIOMEDICAL IMAGES
USNG THE WAVELET TRANSFORM
The increasing popularity of medical imaging techniques implies the necessity to manipulate a great nurnber of large size, high quality images. It is required to process these images, store them, and transmit them over different types of networks. As a consequence, the development of effective compression method able to reduce the time andfor memory space required to perform these operations is highly needed. For legal and ethical reasons, these compression methods should not alter the biomedical images. High level of compression should then be achieved without information loss.
In this work, we propose a progressive compression scheme using a subband coding approach by wavelet filters. It is associated with a quantification method based on the human vision characteristics. We have attempted to optimize each step of the proposed compression scheme. An andysis of the performance of the described compression procedure is also given.
REMERCIEMENTS
Je tiens à remercier mes codirecteurs de recherche, tes professeurs Rita Noumeir
Ph.D. et Christian Gargour Ph.D. du département de génie électrique de qui j'ai reçu de
nombreux conseils et encouragements tout au long de ce projet. En autres, j'ai apprécié
Ieurs supervisions respectives et l'intérêt qu'ils ont manifesté a l'égard du projet.
Je remercie également mes parents, mes fréres et sœurs qui m'ont appuyé et
soutenu tout au long de ma vie. Ce mémoire leurs ai dédiés.
Merci également à toutes les personnes de l'École de Technologie Supérieure
(ÉTS) qui m'ont procuré toutes les ressources nécessaires pour réaliser ce projet.
TABLE DES MATIERES
SOMMAIRE ........................................................................................................................ i .. ABSTRACT ........................................................................................................................ 11
... REMERCIEMENTS ......................................................................................................... ILI
................................................................................................. TABLE DES MATIERES iv
LISTE DES TABLEAUX ............................................................................................... v
LISTE DES FIGURES ...................................................................................................... vi . . LISTE DES ABRÉVIATIONS ET SIGLES .................................................................. VU
CHAPITRE 1 - Introduction ............................................................................................... 1
1 . 1 Généralités .............................................................................................................. 1
1.2 Les redondances dans les images ..................................................................... 2
1.3 Qualité de i'image .............................................................................................. 4
1.4 Justification et motivation du projet ....................................................................... 5
CHAPITRE 2 - Méthodes de compression ...................................................................... 7
2.1 Introduction ........................................................................................................... 7
2.2 L'image a traiter injectée au système ..................................................................... 8
2.3 Le cartographe ........................ ., ............................................................................ 1 1
................................ Les techniques de cartographie dans le domaine spatial 1 1
1.1 Le codage prédictif .............................................................................. 1 1
1.2 La compression par segmentation .......................................................... 13
Les techniques de cartographie dans le domaine de transformation .............. 14
2.3.2.1 La transformée de Karhunen-Loéve ....................................................... 17 2.3.2.2 La transformé en cosinus discret ............................................................ 17
2.4 L e quantificateur ................................................................................................... 21
................................................................ 2.4.1 La quantification scalaire uniforme 22
2.4.2 La quantification scalaire non-uniforme ....................................................... 22
.......................................................................... 2.4.3 La quantification par vecteur 23
..................................................................................... 2.5 L'encodeur de symboles 24
................................................................................... 2.5.1 Le codage de Hufian 25
.................................................................................. 2.5.2 Le codage arithmétique 27
2.6 Lecanal ................................................................................................................. 31
............................................... 2.7 Le décodeur de symbole et le cartographe inverse 31
2.8 L'image reconstruite ............................................................................................. 31
......................................................................................... 2.9 L'évaluateur de qualité 3 1
......................................................................... 2.10 La norme de compression JPEG 32
2.10.1 Le codec JPEG sans perte "lossless " ........................................................... 33
2.10.2 Le codec JPEG avec perte "lossy" ........................................................ 3 5
2.10.3 La transformation en avant en cosinus discret (TACD) "forward discrete
......................................................................................... cosine transform" 36
.......................................................................................... 2.10.4 La quantification 37
............................................................................... 2.10.5 Le codeur d'entropie 3 9
........................................................................... 2.10.6 Autres modes d'opérations 41
CHAPITRE 3 - La théorie des ondelettes ..................................................................... 44
3.1 introduction ..................................................................................................... 44
3.1.1 Aperçu historique ......................................................................................... 4 4
3.1.2 Définition des ondelettes .............................................................................. 45
3.1.3 Notation .......................................................................................................... 46
3.1.4 Transformée de Fourier .................................................................................. 47
3.1.5 Transformée de Fourier a fenêtre glissante .................................................. 48
3.2 Transformée en ondelettes .................................................................................... 49
3.2.1 Transformation continue en ondelettes .......................................................... 50
3.2.2 Transfomation discrète en ondelettes: l'algorithme "a trous" ....................... 53
3.2.3 Transformation tapide en ondelettes .............................................................. 55
.......................................................................................... 3.3 Familles d'ondelettes 56
.............................................................................. 3.3.1 Ondefettes orthogondes 56
.............................................................................. 3.3 -2 Ondelettes biorthogonales 57
...................................... 3.3.3 Ondelettes semiorthogonales ................... ........... 58
................................................... ........................... 3.3.4 Ondelettes usuelles ... 58
............................................................................ 3.3.5 Ondelettes sur un intervalle 60
.................................................................... 3.3.6 Ondelettes multidimentionnel les 61
3.4 Bancs de filtres et ondelettes ......................................................................... 62
3.4.1 Notion des bancs de filtres ........................................................................... 62
....................................................... 3.4.2 Analogie avec l'analyse multirésolution 64
3.5 Réalisation d'un banc de filtres à base d'ondelettes ............................................. 66
...................................................... 3.5.1 Design d'un banc de fittres à deux étages 66
3 S.2 Ondelettes de Daubechies .............................................................................. 69
................................................................... 3.5.3 Génération du filtre de daubchies 71
3.6 Conclusion .............................. ... ............................. 72
........................................................ CHAPITRE 4 - Scheme de compression et résultats 74
........................................................................................................ 4.1 Introduction 7 4
4.2 Étape de la transformation ............................. .- ....... .- ....................................... 74
4.2.1 Sélection de la base d'ondelettes optimale ............................................... 75
......................................................... 4.2.2 Sc hème de la t r ans fode par ondeIette 77
4.3 Étape de la quantification ..................................................................................... 82
.............................................. 4.3.1 Les caractéristiques du système visuel humain 82
4.3.2 L'algorithme de quantification basé sur les caractéristiques du système visuel
humain ........................................................................................................... 84
.............................................................................. 4.4 Algoritlune de compression 9 5
........................... 4.5 Exemple d'exécution de l'algorithme de compression proposé 96
....................... ........... 4.6 Programmation de l'algorithme de compression proposé ., 98
vii
CHAPITRE 5 . Résultats et discussions ........................................................................ 103
5.1 Résultats ........................................................................................................... 103
5.2 Discussion ........................................................................................................... 115 CONCLUSION .............................................................................................................. 117
BIBLIOGRAPHIE .......................................................................................................... 120 ANNEXE
A : Programmes sources ............................................................................................ 125
LISTE DES TABLEAüX
Page
2.1 Modes de prédiction pour le JPEG sans perte ..................................................... 34
2.2 Table de quantification pour les données de luminance pour une image de format
CCiR601 ......................... .. ................................................................................... 38
2.3 Table de quantification pour les données chromatiques pour une image de format
CCIR601 ................................................................................................................. 39
4.1 Résultats du module de sélection ............................................................................. 76
LISTE DES FIGURES
Page
.................................. Digramme bloc du codec de la cornpressiondecompression 8
Exemple du code de Huffman .................................................. 27
Exemple d'un codage arithmétique non-adaptative ............................................ 30
Encodeur JPEG sans perte ...................................................................................... 33 Prévision à partir du voisinage pour un codec JPEG sans perte ............................. 34
Encodeur JPEG séquentiel de ligne de base à base de TCD ................................... 35 Balayage en zigzag utilisé dans le codeur d'entropie ............................................. 42
(a) Ondelette de rnorlet y . , de fréquence l/a centrée en b, (b) signal S(t), (c)
produit S(t) iy.,, . (d) mesure du coefficient Cqa représenté par l'intégrale « aire ))
................................................................................................... du signal produit 51
Cellule de Gibbs ...................................................................................................... 53
............... Filtrage avec un facteur décroissant de distance 2 entre les échantillons 54
.............................................. Banc de filtres (banc d'analyse/synthèse a un étage) 62
Subdivision idéale de l'espace de Fourier avec 0 (x) = sinc(x) . (a) Division en
sous-espaces Vi . Notons que Vi+* c V ~ . (b) Division en sous-espaces Wi . Notons
qu'on a bien Vi-* = Wi + Vi ..................................................................................... 65
Structure de base ................................... .. ....................................................... 66
Transformée de Fourier de filtres de Daubcbies Ih ............................................... 72
Banc de filtres d'ondelettes unidirectionnel à deux étages de décomposition ........ 78
Résultat de la décomposition d'une image originale en sous images par un banc de
filtres d'ondelettes unidirectio~el a deux étages .................................................. 79
Banc de filtres d'ondelettes muitidirectio~ei a deux étages de décomposition .... 80
Résultat de la décomposition d'une image originale en sous images par un banc de
filtres d'ondelettes muhidirectionnel à deux étages ...................................... 8 1
Fonction de transfert de modulation dans le cas une dimension (ID) .................... 89
Bandes de fréquences d'un banc de filtres unidirectionnel d'un signal a une
....................................................................................................... dimension (1 D) 90
Bandes de fréquences d'un banc de filtres mdtidirectio~el d'un signal à une
...................................................................................................... dimension (1 D) 9 0
Fonction de transfert de modulation et les bandes de fréquences d'un banc de fiItres
unidirectionnel dans le cas d'un signal à une dimension (1 D) ............................... 91 Bandes de fréquences dans le cas d'un banc de filtres unidirectionnel pour un
signal a deux dimensions (2D) ............................................................................... 93
Poids visuel humain pour certaines bandes de fréquences ..................................... 94
............................... Fonction de transfert de modulation en deux dimension (2D) 95
Exemple d'exécution de l'algorithme de compression proposé ............................. 99
......................................................................................... Image originale "Lena" 104
Image reconstruite a partir de tous les coefficients importants de la sous bande LL . .
sans utiliser les PVH ............................................................................................. 106
Image reconstruite a partir de tous les coefficients importants de toutes les sous
bandes sans utiliser les PVH .............................................................................. 107
Image reconstruite a partir de tous les coefficients importants de la sous bande LL
en utilisant les PVH ............................................................................................. 107
image reconstruite à partir de tous les coefficients importants de toutes les sous
bandes en utilisant les PVH .................................................................................. 108 image reconstruite avec les coefficients de la sous bande LL .............................. 109 Image reconstruite avec les coefficients de la sous bande LL et tous les coefficients
importants de toutes les autres sous bandes ......................................................... 109 Image originale "Cerveau" ................................................................................... 1 1 1 Image reconstruite avec les coefficients de la sous bande LL .............................. 1 1 1
5.10 Image reconstruite avec les coefficients de la sous bande LL et tous les coefficients
importants de toutes les autres sous bandes ......................................................... 1 12
5.1 1 Image reconstruite à partir de tous les coefficients importants de toutes les sous
bandes ................................................................................................................... 1 12 . .
5.12 Image onginale "Poumons" .................................................................................. 1 13
5.13 image reconstruite avec les coefficients de la sous bande LL ............................. 1 14
5.14 Image reconstruite avec les coefficients de la sous bande LL et tous les coefficients
importants de toutes les autres sous bandes ......................................................... 1 14
5.15 image reconstruite à partir de tous les coefficients importants de toutes les sous
bandes .................................................................................................................. 1 15
RSMB
TFD
TCD
NTCS
PAL
SECAM
QV
TFTD
EZW
JPEG
TACD
AC
DC
PVH
LISTE DES ABRÉVIATIONS ET SIGLES
Rapport du signal maximal sur bruit
Transformée de Fourier discrète
Transformée en cosinus discret
National Television Sys cornmittee
Phase alternative line
Séquentiel couleur avec mémoire
Quantification par vecteurs
Transformée de Fourier en temps discret
Zerotree wavelet
Space-frequency quantization
Joint photographique experts group
Transformée en avant en cosinus discret
Non continu
Continu
Poids visuel humain
CHAPITRE 1
INTRODUCTION
1.1 Généralités
L'utilisation d'images numériques est devenue de plus en plus répandue. les
programmes multimédias modernes qui sont développés de nos jours contiennent des
centaines sinon des milliers d'images, ceci exige des espaces mémoires plus importants.
La croissance explosive aussi du Web mondial a égaiement largement contribué à
l'utilisation des images numériques par un nombre toujours croissant d'utilisateurs.
Un grand nombre d'applications méàicdes exigent aussi l'utilisation d'images
numériques car depuis la découverte des rayons-X et leurs applications en radiologie,
l'imagerie biomédicale a connu une extraordinaire évolution avec le développement de
nouveaux domaines d'applications tel que :
- La tomographie axiale.
- L'ultrasonographie.
- La médecine nucléaire.
- La résonance magnétique nuciéaire ( IRM ).
- La radiologie (ex: les scanners,. . . .).
L'imagerie biomédicaie a bénéficié de l'évolution significative de la micro-
électronique et des super-ordinateurs. Les images biomédicales obtenues par les
diffërents systèmes d'imageries biomédicales se composent donc de centaines de milliers
de pixels puisque leur qualité s'améliore de plus en plus.
Par ailleurs, comme chaque pixel a besoin d'une certaine quantité d'espace mémoire
pour le sauvegarder, les données de l'image entière requièrent des quantités importantes
d'espace mémoire. L'espace mémoire requis par image peut dépasser le méga-octet.
Il faut donc manipuler, stocker, transmettre et diffuser par réseaux locaux ou autres
canau de transmission un nombre toujours croissant d'images contenant beaucoup de
détails donc de grandes tailles et de très hautes qualités. Il est devenu primordial sinon
vital de trouver des méthodes de compression permettant de transmettre ces images
rapidement et de les stocker dans un espace mémoire réduit. Ces méthodes de
compression doivent d'un coté ne pas altérer du tout les images biomédicale (c'est à dire
sans perte d'information) à cause de plusieurs considérations légales et d'étiques
médicale, et d'un autre coté nous fournir un très haut taux de compression.
1.2 Les redondances dans les images
Afin de réduire de manière significative la taille d'un fichier d'image, une méthode
de compression dans laquelle une partie de l'information est irréversiblement détruite est
nécessaire. Sans perte d'informations les techniques de compression existantes peuvent
réaliser approximativement des taux de compression de 2:l à 3:l [Il. Les méthodes qui
approximent l'image en détruisant quelques données peuvent réaliser un taux de
compression de 10: 1 à 30: 1 tout en gardant une bonne qualité d'image.
Dans certain cas, pour des considérations légales comme les images médicales, il
n'est pas acceptable de perdre de l'information même si l'image compressée semble être
parfaitement identique à L'originale. Cependant, la majorité des applications impliquant
des images numériques acceptent les images qui ne sont pas visiblement différentes de
l'image non compressée initiale.
Le principal problème dans la conception d'un système de compression d'images
est de trouver la meilleure façon pour décider qu'une donnée de l'image est visuelIement
moins significative et qu'une donnée de l'image est visuellement plus significative.
Heureusement, les images que nous rencontrons le plus souvent, contiennent
beaucoup d'information redondante. Traditionnellement, les redondances ont été
classifiées en trois types:
- La redondance interpixel: Les régions significatives d'une image peuvent
contenir des pixels d'intensité semblable. Par exemple, une partie de l'image peut avoir le
même ton de gris. Alors, il ne devrait pas être nécessaire d'enregistrer chaque pixel
individuel d'une telle région. Même sans grandes étendues d'intensités inchangées, la
phpart des images ont une corrélation significative entre les pixels. Numériser une image
en l'échantillonnant à la cadence minimale de Nyquist produit en moyenne de petits
changements interpixel, menant a une corrétation élevée.
- La redondance de codage: Dans des images non compressées, chaque pixel
est typiquement représenté par un code de longueur constante. La redondance inhérente a
cette représentation peut être enlevée en utilisant des codes plus courts pour des valeurs
pIus probables de pixels, ou d'intensités.
- La redondance ~svchovisuelle : L'œil humain n'est pas capable de discerner
tous les niveaux de gris possibles qui peuvent être produits par le matériel d'ordinateur
moderne. La quantité de niveaux de gris peut être réduite sans affecter de manière
significative la qualité visuelle d'une image.
Les deux premiers type de redondance ont dtds largement utilisds dans les méthodes
de compression. Plusieurs chercheurs conviennent que les aspects du système visuel
humain doivent être plus étudiés et incorporés aux méthodes de compression d'images.
Ces études peuvent mener a la découverte de beaucoup plus de redondances
psychovisuelles dans les images qu'avec des techniques traditionnelles. Les expériences
ont montrées que le système visuel humain est sensible 3 la variation du niveau de
luminance, à ia fréquence du signai de I'image et au contenu des images.
1.3 Qualité de I'imape
Puisque la compression d'images implique souvent la perte d'uiformation, chaque
technique de compression devrait être jugée sur la qualité des images qu'elle produit, par
rapport à I'image initiale.
L'utilisateur final, d m notre cas te personnel médical, de I'image compressée est le
meilleur juge de sa qualité. Mais le spécialiste n'est pas toujours disponible pour
commenter les résultats lors du développement de la méthode de compression. Par
ailleurs cette procédure augmente les coùts.
Traditionnellement, une analyse quantitative est utilisé pour calculer la quantité
d'erreur ou de distorsion dans l'image reconstruite. Mais un nombre qui représente la
qualité de l'image n'indique pas où la distorsion est produite ni le degré perceptible de
distorsion.
Les caractéristiques du système visuel humain peuvent aussi être incorporées pour
juger la qualité de L'image. Des mesures quantitatives peuvent être utilisées pour pondérer
les erreurs dans les différentes parties des images basées sur leurs contenus afin de
calculer des nombres plus représentatifs. De même, nous pouvons créer une carte de
distorsion qui montre exactement où sont les erreurs dans l'image. Si de telles cartes
impliquant les caractéristiques du systkme visuel humain sont développées, elles
pourraient mime indiquer si la distorsion est visible à un utilisateur ou non.
Dans notre cas nous nous baserons sur les caractéristiques du système visuel
humain et sur la mesure du rapport du signal maximal sur bruit (RSMB) pour juger de la
qualité de l'image reconstruite.
1.4 Justification et motivation du ~roiet
11 existe plusieurs transformations utilisées dans les schèmes de compression. La
plus répondue est la transformation en cosinus discret (DCT) qui est utilisé par la norme
de compression JPEG. Mais ces dernières années les ondelettes se sont avérées &es un
outil efficace p u r le développement de processus de compression de plus en plus
performants parce que la transformée par ondelettes se trouve étre mieux adaptée pour
une analyse multi-échelle. Toutefois l'étude de leurs applications a ce domaine comprend
encore de nombreux points à développer tel que le choix de I'ondeiette optimale pour la
compression et le type d'algorithmes pour la transformée en ondelette à utiliser. De
nombreux chercheurs ont effectué des travaux portant sur le meilleur choix possible de
I'ondelette à utiliser pour la compression citons ici : Ramachandran et Vetterli 1271 ont
utilisé les paquets d'ondelettes pour obtenir la base d'ondelettes la plus efficace en terme
de taux de distorsion pour une image donnée. Tewfik et autres [29] ont proposé une
méthode pour déterminer I'ondelette o p h a l e pour un signal d'entrie en utilisaikt
l'ondelette de Pollen [30] du fait qu'elle possède un certain nombre de degrés de liberté.
Antonini et autres [31] ont conçu un filtre biorthogonal spline pour la transformée en
ondetette qui donne de bon résultats pour des signaux courts. Plusieurs chercheurs ont
aussi utiliser différents algorithmes pour la transforrnde en ondelette, nous citerons ici,
Jerome M. Shapiro [39], Edward R. Vrscay [40j, 1-Rabinovitch et A.N.Venetsanopoulos
[33], Yongkyu Kim et autres [36]. Tous ces algorithmes de la transformée en ondelette
dépendent de la méthode de quantification des coefficients d'ondelettes utilisée afin
d'éliminer tes redondances psychovisuelles.
Plusieurs chercheurs ont incorporé les caractéristiques du système visuel humain
dans Leurs schèmes de compression a f i d'éliminer les redondances psychovisuelles.
Ainsi, Mannos et Sakrison [34] ont utilisé les caractéristiques du système visuel humain
et la transformée de Fourier discrète (TFD) pour le codage d'images. Nil1 [35] a
développé un mode1 du système visuel humain dans le domaine de la transformée en
cosinus discret (TCD), Knomles et autres [38] ont proposé un algorithme de compression
en structure d'arbres basé sur les caractéristiques du système visuel humain. Toutefois, vu
la complexité et la non linéarité du système visuel humain, il est très difficile de trouver
un modèle qui soit à la fois assez proche du système visuel humain et qui soit facile à
incorporer dans un schème de compression.
A la lumière de toutes ces considérations nous avons développé un schème de
compression d'images basé sur la transformé en ondelettes et les caractéristiques du
système visuel humain pour la compression progressive d'images biomédicales à niveaux
de gris. Ce schème de compression fait usage à chaque niveau de décomposition d'une
ondelette choisie de façon a être efficace. Par ailleurs, à l'algorithme de la transformé en
ondelette a été associé l'algorithme basé sur les caractéristiques du système visuel
humain pour la quantification des coefficients d'ondelettes afin d'éliminer les
redondances psychovisuelles. Eafin, nous avons tenté d'améliorer le modèle du système
visuel humain utilisé par quelques uns des chercheurs cités ci dessus en utilisant des
poids visuel humain (PVH). La reconstniction de l'image se fait de façon progressive en
utilisant les coefficients d'ondelettes classés selon leurs importances pour le système
visueI humain.
CHAPITRE 2
&THODES DE COMPRESSION
2.1 Introduction
A fin de diminuer au maximum voir idéalement d'éliminer tes redondances dans les
images, des systèmes complexes de compression-décompression ont été élaborés. Tout
ces systèmes peuvent être schématisés par la figure 2.1. Un codec de compression comme
représenté par la figure 2.1 est constitué en général de plusieurs blocs fonctions qui sont
décrits ci-dessous :
L'image à traiter : représente les données à traiter par le système de
compression-décompression.
Le cartographe : sert a effectuer la transformation de l'image à traiter.
Le quantificateur : sert à quantifier lc résultat du cartographe.
Le codeur : sert à coder le résultat de la quantification.
Le décodeur : sert à décoder les infornations codées par le codeur.
Le cartographe inverse : sert à effectuer la transformation inverse de la
transformation du cartographe aux données décodees par le décodeur.
L'image reconstruite : représente le résultat obtenu par le cartographe inverse.
Mesure de qualité : sert à comparer les données traités aux données
reconstruites par le système de compressiondécompression.
t
Image reconstruite > - . Cartographe inverse DCcodeur
compression avec perte (lossy)
Figure 2.1 Diagramme bloc du Codec de la compression-décompression
2.2 L'image à traiter iniectée au s~stème
Une image est une fonction dans le plan décrite par f(x,y), sa valeur à chaque point
représente la luminance de l'image. L'image numérique quant à elle est la version
échantillonnée de cette image. La valeur de la fonction n'y est spécifiée qu'à des points
discrets de l'image appelés pixels.
. :
La valeur de la luminance à chaque pixel est représenté à une précision prédéfinie
M. Dans les applications d'imagerie, la précision de luminance est généralement M=8bits
pour deux raisons, d'abord à cause du fait que les mémoires d'ordinateurs ont pour unité
1 bytes=8bits et ensuite à cause du fait que cela concorde avec l'intervalle dynamique de
l'œil humain.
Cartographe
- Codeur Image A traiter
1 - - -t
\I \I
Quantificakur
compression sans perte (lossless) stockage OU transmission
Mesure de qualité
. F
Dans le cas d'une image numérique de dimension NlxN2 pixels dont la valeur du
pixel est comprise entre O et 2M -1 ont a besoin de NlxN2xM bits pour représenter
l'image numérisée. Les images couleurs requièrent plus de bytes afin de représenter la
chrominance.
Les différents formats d'images existant [l] sont :
- Le NTCS « National Television Sys cornmittee ». C'est la norme
d'images utilisée en Amérique du nord et au Japon. Pour cette norme,
la résolution d'image est de 525 lignedtrarne à une vitesse de 59.94
zoneslsecondes. Une image est représentée par trois composantes
(YIQ), où "Y" représente la luminance et où "i" et "Q" représentent la
chrominance de la différence des couleurs. La luminance est
représentative de I'image en niveaux de gris et les chrominances
correspondent à la coloration de l'image.
- Le PAL ((Phase Alternative Line». C'est la norme d'images utilisée
en Europe de l'ouest. Pour cette norme , on a une résolution d'image de
625 lignedtrame à une vitesse de 50 zones/secondes. Une image est
représentée par trois composantes (YW), où "Y' représente la
luminance et où "U" et "V'' représentent la chrominance de la
différence des couleurs.
- Le SECAM ((Séquentiel Couleur Avec Mémoire)), est la norme
d'images utilisée en France, en Russie et dans la plus part des pays de
l'Europe de l'est. Cette norme est très similaire à la norme PAL.
Pour rendre la représentation numérique de l'image compatible avec NTSC, PAL et
SECAM : La nonne CCIR601 a été définie avec une résolution d'image de 720
pixelsfligne et la chrominance de l'image est divisée par deux dans la direction
horizontale. La composante de luminance et les deux composantes de chrominance
définis par cette norme sont les combinaisons linéaires de la correction gamma des
composantes primaires normalisées du NTSC. Elles sont notées R, G et B et elles
représentent les composantes rouges, verts et bleus respectivement.
Les composantes primaires (YIQ) sont normalisées par rapport au blanc de
référence de la norme NTSC, de même Les composantes primaires du PAL et du
SECAM sont normalisbs par rapport a leurs blancs de référence et sont dénotés - - R , G et B . La luminance numérique de l'image est définie par :
YD = 2l9Y + 16
avec
Y = 0.299R + 0.5878 + 0.1 14&
Elle est comprise entre 16 et 235. La différence de couleur numérique est définie
par :
Les deux différences de couleurs numériques sont comprises entre 16 et 240. La
valeur maximale et minimale de Ce correspond respectivement au bleu et au jaune alors
que la valeur maximale et minimale de CR correspond respectivement au rouge et au
'cyan'. Les trois composantes sont quantifiées sur 8 bits.
La majorité des processus de compression sont développés pour traiter des images
d'intensités. Ces processus peuvent être facilement modifiés pour compresser des images
couleurs en traitant séparément l'information de chrominance. Le processus de
grand nombre d'images contiennent des séquences semblables d'intensités
c.à.d une redondance inter-pixel.
Historiquement, l'image est balayée, transmise et affichée de la
gauche vers la droite et du haut vers le bas. Le codeur peut donc prévoir (ou
évaluer) la valeur du pixel actuel à partir des valeurs des pixels
précédemment balayés et situés dans le voisinage de gauche et du haut du
pixel en question. En générai, la valeur prévueS(i)du pixel actuel S(i) est
une combinaison lindaire pondérée des pixels précédents ou passés :
où n est l'ordre du prédicateur ou le compteur des pixels passés. La valeur
e(i) = S(i) - S(i) représentant l'erreur de prédiction est alors codée.
La probabilité de petites erreurs est habituellement élevée, ce qui
mène à une distribution des symboles ayant un grand nombre de maximums
locaux dont I'encodage nécessite un grand nombre de bits. C'est le but
précis du cartographe tel que décrit précédemment. Les erreurs peuvent
alors être quantifiées, ce qui constitue une compression avec perte (t lossy )).
Dans une image, il n'y a aucune vraie relation causale entre les
pixels précédemment vus et le pixel actuel. Quelques chercheurs [2] ont
étudié le codage prédictif non-causai, où les pixels voisins futurs et passés
sont utilisés pour prévoir le pixel actuel. L'utilisation des pixels futurs ajoute
de la complexité à la théorie et à la mise en œuvre, ils ne sont généralement
pas utilisés.
Le codage prédictif ne peut pas concurrencer les méthodes plus
modernes de compressions avec perte, qui donnent des résultats d'environ 2
bits par pixel (bpp). II demeure toutefois encore la technique standard pour
le codage sans perte « lossless D. Le format graphies-interchange (GIF) est
un standard pour le codage sans perte lancé par compuserve et basé sur le
codage prédictif. Le format GIF est souvent utilisé pour encoder de petites
icônes et de petites images sur le web.
2.3.1.2 La compression par sementaiion
Les images qui contiennent peu de détail, et pour lesquelles un
minimum de contraintes sont requises sur la qualité de l'image, peuvent être
mieux compressées que celles qui contiennent de grandes quantités de
changements d'intensité. Ce simple fait a déclenché de nouvelles
recherchent sur la compression [3]. Ces nouvelles approches tuent profit du
contenu et de la structure de l'image.
Ainsi l'image peut être segmentée en régions selon la quantité de
détails contenus. Cette étape peut être considérée en tant que cartographe
dans le modèle du codec puisque son but est de réduire les redondances
inter-pixel. La segmentation peut être extraite et enregistrée séparément.
Honnis la structure, l'information restante décrivant les détails fins de
chaque région, peut être compressée en utilisant les méthodes de
compression traditionnelles telles que le codage prédictif ou par
transformation.
Par ailleurs, afin de cendre l'enregistrement de la segmentation
d'image efficace, une structure de donnée, qui peut réduire au minimum
l'espace exigé et maximiser la quantité enregistrée de donnés contenues
dans l'image, est nécessaire. Il existe un grand nombre de techniques qui
sont utilisées pour décomposer ou segmenter une image en des régions
spatiales. A chaque méthode est associé une certaine quantité d'information
" supplémentaire " qui décrit la structure de l'image segmentée. Parmi ces
techniques ont peut citer5,6]:
La segmentation b4quadûee" : cette méthode [4] décompose
successivement une image en quatre sous images s'il n'y a pas
d'homogénéité entre le contenu de l'image.
0 La segmentation polygonde : cette méthode [ 5 ] utilise des
rectangles ou des polygones pour avoir une segmentation
adaptative
La segmentation irrégulière : cette méthode [6] se base sur
des opérations morphologiques pour segmenter une image.
Les schèmes de compression de deuxième génération exigent
qu'une image soit intelligemment segmentée et que ses segments soient
modelés avec une extrême exactitude et fiabilité. Les méthodes de la
deuxième génération seront probablement surpassées dans l'avenir par les
percés effectuées dans ce domaine par les nouvelles méthodes de
compression, notamment l'utilisation des ondeletîes.
2.3.2 Les techniaues de cartomphie dans le domaine de transformation
La quantité d'informations contenues dans un signal d'image peut être
mesurée par l'entropie. La longueur minimale théorique du mot-code peut être
estimée par une première approximation H de l'entropie en bits par pixel (bpp) :
où "i" est le pixel d'intensité et p(i) la probabilité d'intensité du pixel "i". Des
valeurs élevées de l'entropie sont associées avec des contenus élevés d'informations
et, donc, avec de basses redondances. Si l'on a une probabilité égale de trouver
chaque intensité dans une image à 256 niveaux de gris (c.à.d que l'intensité a une
distribution uniforme de probabilité), l'entropie est dors de 8 bpp.
Le but principal du cartographe est de modifier la distribution d'intensité
pour éliminer les maximums locaux, diminuant ainsi l'entropie du signai.
Le codage par transformée permet à des quantifkateun scalaires de se servir
d'une fraction substantielle des dépendances inter-pixel. Les codeurs par
transformée réalisent une étape linéaire de prétraiternent qui élimine la corrélation
croisée entre les échantillons. Le codage par transformée nous permet d'obtenir
certains des avantages de la quantification par vecteur avec une complexité
largement inférieure.
Jusqu'ici nous avons seulement discuté des cartographes qui traitent
directement les pixels d'image. II existe une autre architecture de cartographes qui
fait usage d'une transformation linéaire réversible. Celle-ci cartographie les pixels
des coefficients de la transformation afin de modifier la distribution des symboles.
Pour la plupart des images, les parties significatives des fréquences spatiales plus
élevées ont des coefficients très petits et peuvent être grossi4rement quantifiés ou
éliminées sans dégradation apparente de l'image. Une transformation représente le
signal comme une combinaison des fonctions de la base. La transformée de Fourier,
par exemple, utilise comme fonctions de la base, le sinus et le cosinus. Si le signai
d'entrée possède une seule fiéquence, la sortie est alors un coefficient simple de la
fonction de la base correspondant à cette fiéquence. Des signaux d'entrées ayant
des fréquences multiples produisent des coefficients multiples.
Dans le cas unidimensionnel, les coefficients de la transformation C sont
donnés par :
où Ti est la matrice de la base et X est le vecteur de données initial du signai.
L'image reconstruite peut être obtenue par la transformé inverse :
où Tz = TI". Afin d'étendre la transformation au cas des images (2D), les lignes
peuvent être transformées d'abord, puis les colonnes ensuite.
Deux aspects importants et nécessaires de la transformée à utiliser pour la
cartographie devraient être notés ici: l'orthogonalité et I'orthonormalité.
L'orthogonalité implique que chaque coefficient de la transformation peut être
calculé indépendamment de tous les autres. L'orthonormalité implique de plus que
l'énergie initiale du signal est égale à l'énergie des coefficients de la transformation,
Une remise en ordre des coeEcients permet en modifiant la distribution des
symboles une quantification et un codage plus efficaces.
Les deux transformations les plus populaires utilisées dans la compression
d'image sont la transformation par cosinus discrète (TCD) et la transformation par
ondelettes "wavelet ".
2.3.2.1 La transformée de Karhunen-Loéve
Nous pouvons éliminer la corrélation entre les pixels en utilisant
une transformée linéaire orthogonale appelée transformée de Karhunen-
Loéve, également connue sous le nom de transformée de Hotelling. Elle est
brièvement décrite cidessous:
Soit X un vecteur aléatoire que nous supposons à valeur moyenne
nulle et dont la matrice de corrélation est Rx. Notre but est de trouver une
matrice A représentant la transformation, telle que les composants de Y=AX
soient non-corrélés. La matrice d'autocorrélation RY de Y est diagonale et
est donnée par :
La matrice Rx est symétrique et semi-définie positive, par conséquent A est
la matrice dont les lignes sont les vecteurs propres de R,. Nous voulons que
les lignes de A soient telles que :
Le respect de cette condition nous garanti l'optimalitde de la transformé de
Karhunen-Loeve [7].
2.3.2.2 La transformé en cosinus discret
La transformé de Karhunen-Loeve possède des propriétés
théoriques intéressantes, mais plusieurs obstacles significatifs s'opposent à
son utilisation dans la pratique.
Dans le cas générale, il faudrait connaître la covariance pour toutes
les paires possibles de pixels des images considérées. Ceci exige une
estimation d'un très grand nombre de paramètres. Si nous supposons que les
pixels fonnants l'image sont stationnaires et qu'ils ont des propriétés de
corrélation, la transfomation devient alors dépendante de l'image. Il s'en
suit alors que la quantité d'information latérale exigée pour spécifier au
décodeur quelle transformation utiliser devient prohibitive.
De plus la mise en œuvre de la transformée de Karhunen-Loeve est
lente, elie requiert 0(N4) opérations lorsqu'elle est appliquée à une image de
dimension NxN.
11 est donc nécessaire de développer une transformation qui
reproduise approximativement les propriétés de la transformé de Karhunen-
Loeve pour une grande classe d'images d'intérêt. Cette transformation
devrait pouvoir être mise en œuvre en utilisant des algorithmes rapides.
La première étape pour construire une transformation
approximative de la transformé de Karhunen-Loeve est de noter la structure
de Toeplitz des matrices d'autocorrélation pour les processus stationnaires.
Asymptotiquement, à mesure que les dimensions d'une matrice de Toeplitz
augmentent, son vecteur de valeurs propres converge vers une exponentielle
complexe. En d'autres termes, indépendamment des propriétés du second
degré du processus aléatoire, la transformée de Fourier diagonalise la
fonction d'autocorrélation asymptotiquement. Par conséquent, pour des
dimensions finies, la transformée de Fourier discrète (TFD) peut servir
comme approximation de la transformé de Karhunen-Loeve. Dans la
pratique, une transformation ûès proche de la TFD : la transformation en
cosinus discrète (TCD), est utilisée pour diagonaliser R,. Elle est définie par
les coefficients:
La TCD a plusieurs avantages par rapport à la TFD. Premièrement,
à la différence de la TFD, la TCD est une transformation à valeurs réelles
qui produit des coefficients à valeurs réelles pour des données a valeurs
réelles; c'est a dire quelle n'utilise pas de nombres complexes. En second
lieu, la capacité de la TCD a représenter I'énergie d'un signal à l'aide d'un
nombre restreint de coefficients est meilleur que celle de la TFD.
La TFD est équivalente a une transformée de Fourier en temps
discret (TFTD) d'une version périodiquement répétée du bloc de données à
l'étude. Cette extension de bloc est en général la cause de la création de
discontinuités artificielles aux bornes du bloc. Elle réduit l'efficacité de la
TFD à représenter l'énergie réelle de l'image aux basses fréquences. En
revanche, la TCD est équivalente à la TFTD en ce qui concerne la répétition
symétrique des données, qui sont par définition continues. Le peu de
discontinuités artificielles aux bords donnent a la TCD de meilleures
propriétés de groupement d'énergie. Ces facteurs en font une bonne
approximation de la transformation de Karhunen-Loeve pour les signaux
considérés.
La TCD est la pierre angulaire de la norme de compression
d'images JPEG. Dans la version de base de cette norme, l'image est divisée
en un certain nombre de blocs 8 x 8 de pixels, et la TCD est appliquée a
chaque bloc de pixels. La matrice des coefficients de la TCD est alors
mesurée par une banque de quantificateurs scalaires uniformes. La norme
JPEG permet la spécification direct de ces quantificateurs par l'encodeur.
Elle fournit également une banque de quantificateurs par défaut, qui est
employée par la plupart des encodeurs. Cette banque de quantificateurs par
défaut est soigneusement conçue pour approcher le taux de distorsion
optimale pour une grande classe de signaux visuels. Une telle stratégie de
quantification est également compatible avec le système visuel humain,
parce qu'elle mesure les signaux à haute Mquence moins grossièrement, et
l'œil humain est p h sensibie aux erreurs dans les hautes Mquences.
Les coefficients mesurés sont dors balayés en zigzag . La syntaxe
du JPEG pour la transmission de coefficients codé par entropie utilise notre
connaissance a priori des valeurs probables de ces coefficients. Au lieu de
coder et de transmettre chaque coefficient séparément, l'encodeur transmet
une trame de zéros, conjointement avec la valeur du prochain coefficient
diflérent de zéro, avant le prochain coefficient non nul. Il a également un
symbole de " fin de bloc " qui indique qu'aucun coefficient différent de zéro
ne demeure dans le reste du balayage en zigzag. Puisque de grands passages
de zéros existent souvent dans les signaux visuels typiques, l'utilisation de
ces symboles diminue considérablement le taux de bits (( bit-rate )) requis.
Nous noterons que k codage de trames de zéros tout en étant simple et
pratique ne relève pas de la quantification scalaire.
En fait, le codage de trames de zéros peut être considéré comme un
cas spécial de la quantification par vecteur. Il capture des redondances au
delà de ce qui est possible même avec une transformation et une allocation
optimales du taux de bits. Cet façon de coder conjointement des zéros est
aussi utilisé dans le cas du codage {(zerotree)) des coefficients de
transformations mis en œuvre pour produire certains algorithmes très
puissants de codage.
Le codage de la TCD avec le balayage en zigzag et le codage
d'entropie est remarquablement efficace. Mais la popularité du JPEG est due
autant à l'efficacité théorique de l'usage de la TCD qu'à sa mise en oeuvre.
2.4 Le auantificateur
Le système visuel humain perçoit certains stimulus visuels comme étant moins
importants que d'autres. Pour réaliser une compression significative d'images,
l'information redondante psychovisuelle doit être éliminée par la quantification, c.$d, par
une représentation moins précise. La quantification devrait être accomplie avec une perte
minimale de la qualité perçue. Cette perte n'est pas réversible. Les codecs incorporant la
quantification de l'information sont donc des codeurs avec pertes « lossy )) puisque une
partie de l'information initiale est détruite de manière permanente.
Il est évidemment nécessaire que le signal continu initial de l'image ait son
amplitude et sa distribution spatiale numérisée en des valem discrètes. La numérisation
d'amplitude est connue sous le nom de quantification d'intensités et produit l'image
numérique f(x,y). Les images numériques peuvent être alors quantifiées lors de la
compression. Les images peuvent exiger de grandes quantités d'espace mémoire par
exemple une image de 512 x 512 pixels avec 2' intensités standard exige 256 kilo-octets
de mémoire. La même image avec 26 intensités utiliserait 192 kilo-octets. Notez qu'en
quantifiant simplement les intensités nous pouvons déjà réaliser une certaine
compression. Mais en utilisant un quantificateur comme partie intégrante du système de
compression d'image, il est possible de réaliser des résultats bien supérieurs.
La quantification est simplement une forme d'arrondissement. Elle peut ètre
appliquée à n'importe quel signal après qu'il ait traversé le cartographe. Plusieurs formes
de quantification sont utilisées pour la compression d'images. Elles vont de la
quantification scalaire uniforme simple à la quantification vectorielle.
2.4.1 La ~uantification scalaire uniforme
Le processus de quantification assigne aux valeurs dans l'intervalle entre Zk
et Zk+, une valeur de sortie qt. Cet intervalle est souvent nommé intervalle de
quantification. Soit une distribution de probabilité de valeurs ii quantifier, nous
pouvons choisir d'avoir tous les intervalles de quantification de même taille. Cette
stratégie de quantification s'appelle la quantification uniforme. Cette technique est
très populaire à cause de sa simplicité de calcul et d'exécution.
La quantification scalaire uniforme est utilisée par plusieurs méthodes de
compression comme l'algorithme zerotree wavelet » (EZW) [39], l'algorithme
« space-fiequency quantization )) (SFQ) [41], le standard de compression des
empreintes du FBI et par le standard REG [42].
L'inconvénient de cette méthode, cependant, c'est que la même erreur de
quantification se retrouve aux valeurs à haute probabilité et aux valeurs a basse
probabilité. Ce fait a mené à la quantification non-uniforme.
2.4.2 La quantification scalaire non-uniforme
Afin de réduire au minimum l'erreur moyenne carrée résultant du processus
de la quantification. Les tailles des intervalles devraient être calculées de façon
optimale en se basant sur la distribution de probabilité p(z) des valeurs d'entrée z.
Pour quantifier des niveaux de sortie qk de K éléments, les bornes de l'intervalle
z, peuvent être calculées par
z, = qx-i + qk pour k = 2.3 ,......., K 2
et les valeurs de sortie sont alors
Zk
4, = ,,, pour k = 1,2 ,......., K IP(W
:b
2.4.3 La auantification Dar vecteur
Le quantificateur peut être établi en utilisant une technique différente
appelée la quantification par vecteur (QV). Le processus peut être décrit par les
étapes suivantes :
1. Représentation des images transformées par un ensemble de vecteurs: les
images qu'on projette compresser sont représentées par des images échantillonnées.
2. Production d'un dictionnaire "codebook" du QV: Le dictionnaire peut être
construit à partir des vecteurs extraits en choisissant les vecteurs les plus
représentatifs des images transformées. Cette étape peut souvent être accomplie par
des techniques groupantes pour réduire au minimum la distorsion. Le dictionnaire
doit être enregistré à i'encodeur et au décodeur et contient habituellement de 26 à 2*
vecteurs de la taille 2 x 2 à la taille 8 x 8.
3. Quantifier l'image : Extraire les vecteurs a partir de l'image d'entrée.
Quantifier ces vecteurs (par exemple, au sens de l'erreur moyenne carrée) par le
plus proche vecteur-code dans le dictionnaire.
4. Transmettre les indices des vecteurs : Transmettre les indices des vecteurs
du dictionnaire par le canal. Cette étape réalise la compression puisque les vecteurs
eux-mêmes n'ont pas besoin d'être transmis.
5. Reconstruire l'image : Le décodeur utilise simplement les indices du
dictionnaire et reconstruit l'image par Vecteurs.
Plusieurs techniques différentes ont été proposées pour réduire la complexité
du procédé de génération de dictionnaire. Dans la plupart des cas les nouvelles
méthodes peuvent diminuer sensiblement la complexité de l'algorithme sans
augmenter la distorsion. Les techniques du trellis peuvent produire des dictionnaire
de QV algébriquement et n'exigent ni la mémorisation des dictionnaire ni des
procédures complexes pour sa génération; mais les dictionnaire conçus
spécifiquement pour un certain type d'images auront toujours de meilleurs résultats
que les trellis. D'une façon générale le procédé de génération du dictionnaire doit
être exécuté seulement une fois, ainsi la réduction du temps de génération peut ne
pas être significative.
2.5 L'encodeur de svmboles
Dans la plupart des images, les probabilités d'occurrence de différentes intensités
changent, particulièrement après être passé à travers le cartographe. Cette tendance peut
être employée avantageusement en appliquant un code de longueur variable c'est à dire
en assignant de plus longs codes a des symboles de basse probabilité et des codes plus
courts à des symboles de probabilité plus élevées. Ce processus réversible réduit la
redondance de codage et se nomme souvent codage d'entropie puisque le but est d'avoir
une longueur moyenne de code proche de l'entropie.
Les deux codages les plus populaire sont le codage par la technique de HuffÎnan et
le codage arithmétique. Huffinan a conçu une méthode qui assigne un code a longueur
variable pour chaque symbole. La longueur de ce code est directement basé sur la
probabilité du symbole. Le codage arithmétique représente une chaîne de caractères de
symboles par un mot-code indiquant un intervalle sur la ligne des nombres réels. Les
deux méthodes de codage peuvent approcher l'entropie d'une source. Le codage
arithmétique est souvent plus efficace et peut être rendu adaptatif avec des sources à
statistiques variables.
2.5.1 Le codage de Hu-
Le codage de HuffÎnan est la technique la plus connue et la plus largement
répandue des techniques de codage statistique d'entropie. Cette technique résulte
des théories de l'information et de la probabilité. L'idée générale du codage
statistique est basée sur l'observation du nombre de fois où des symboles
particuliers apparaissent. La compression peut être obtenue en assignant des mots-
code plus courts aux symboles fréquents et les plus probables et de plus longs mots-
code aux symboles les moins probables.
Cette technique, qui a été utilisée dans le code Morse, a été formalisée par le
travail de Shannon, de Fano, de Huffman et de beaucoup d'autres vers la fin de
1940 [8]. Le codage de Huiban assigne des mots-code de longueur variable aux
symboles selon leur probabilité individuelle d'occurrence. Si ces probabilités
s'avèrent justement être des puissances négatives de 2 (112 ,114 et ainsi de suite), le
codeur de Huffman est optimal dans le sens qu'il emploie la quantite minimum de
bits pour représenter L'information dans un message.
Un exemple simple du codage de Huffian est montré sur la figure 2.2. Le
code de Hufhan est construit en consûuisant un arbre binaire où les branches de
l'arbre sont les probabilités des symboles a coder. L'arbre est consûuit en
commencent par les branches puis en continuant vers la racine de l'arbre. four
commencer le processus, les symboles sont rangés suivant l'ordre de leur fréquence
d'occurrence. Ensuite, les deux symboles avec les plus petites probabilités sont
remplacés par un nœud intermédiaire représentant un sous-groupe dont la
probabilité est la somme des deux symboles. La prochaine paire de symboles ou de
sous-groupes la moins fréquente est située et remplacée par un nœud intermédiaire.
Le processus continue jusqu'a ce que tous les symboles soient combinés dans une
structure simple appelée l'arbre du code de H u h a n . L'étape fuiale est d'assigner
des mots-code aux symboles. Ceci est accompli en traçant I'arbre en commençant
par le nœud de la racine et en continuant au nœud de feuille pour chaque symbole.
Une séquence de symboles est encodée de la gauche vers la droite, symbole
par symbole. Une séquence encodé est décodé de la gauche vers la droite, bit par
bit. Les codes de Huffman ont la propriété d'avoir le bon préfixe de telle sorte
qu'aucun mots-code n'est le préfixe du mots-code d'un autre symbole. Cette
propridté est illustrée par le décodage du train binaire représenté sur la figure 2.2(b),
où le premier bit a encodd produit 1. Sur la figure 2.2(a), le symbole "A" est le seul
symbole dont le mots-code commence par 1, par consdquent le symbole "A" ne
peut que être décodé comme premier symbole sur la figure 2.2(b). La séquence
suivante de O décode clairement 'Et et ainsi de suite.
(a) Construction de l'arbre de codage
Symboles
Code de Hufban
Analysé
AECBD
1000000 1 O 1 O00 1
1~0000~001~01~0001
(b) Codage et décodage
Figure 2.2 Exemple du code de Huffinan
Le codage arithmétique est une technique de codage statistique d'entropie
plus récente que le codage de Huffinan. Cette technique m o n t e les limitations
principales du codage Huffman. Ainsi, si on considère un symbole iZ encoder de
grande fréquence d'occurrence, disons un symbole dont la probabilité est 0.95, le
mot-code le plus court que le codage de Huffman peut assigner est de 1 bit alors
que selon la théorie de l'information et le calcul d'entropie, seulement quelques
0,074 bits sont nécessaires pour I'encodage. Ceci est réalisé par le codage
arithmétique qui produit des rédbts presque optimaux pour cet exemple et pour
toutes autres probabilités de symboles. L'astuce qu'il utilise c'est qu'il fusionne des
séquences entières de symboles et les encode comme un nombre simple. Un autre
avantage du codage arithmétique c'est qu'il s'applique à une variété de données, pas
simplement des caractères ou un genre particulier d'images mais à n'importe quelle
information qui peut être représentée en tant qu'éléments binaires.
Un exemple du codage arithmétique non-adaptatif est montré sur la figure
2.3, où le message à coder est " COMPRESSOR. Pour commencer le processus
encodant, nous créons d'abord un modèle pour le message en assignant des
probabilités aux symboles dans le message telle que la somme des probabilités pour
tous les symboles soit 1. Dans cet exemple, les probabilités des symboles sont
déterminées à partir du message. Dans la pratique, les valeurs moyennes d'une
grande partie du texte seraient utilisées. L'étape suivante est d'arranger les
symboles et d'assigner à chaque un, un unique intervalle de symbole qui ne se
superpose pas dans l'intervalle [O 11. La largeur de chaque intervalle de symboles
est déterminée par la probabilité du symbole. Après ces deux étapes, ce qui a été
accompli jusqu'à maintenant, en fait, est de positionner tous les symboles du
message sur la ligne fractionnaire de nombres de O à 1 en vue de les encoder.
L'ordre des intervalles de symbole est sans importance; cependant, l'encodeur et le
décodeur doivent utiliser le même ordre et les mêmes intervalles de symboles.
Maintenant, le codage du message peut commencer.
Pour encoder le message on procède symbole par symbole. Le résultat de
I'encodage du message sera un nombre simple entre O et 1 (un nombre décimal dans
cet exemple) à haute précision. Pendant que I'encodage procède et que plus de
symboles sont traités, la largeur d'intervalle du message diminue et plus de bits (ou
chiffres) sont nécessaires pour le nombre de sortie; c'est-hiire au début, avant que
n'importe quel symbole ne soit encodé, l'intervalle possible des nombres
(l'intervalle du message) couvre toutes les valeurs entre O et 1. Pendant que chaque
symbole est encodé, l'intervalle du message se rétrécit et la sortie de l'encodeur est
limitée à un intervalle de plus en plus étroit de valeurs. Pour encoder chaque
nouveau symbole, nous calculons un nouvel intervalle du message en faisant ce qui
suit: d'abord, la largeur d'intervalle pour ce symbole est placée égale a la largeur
précédente de l'intervalle du message. Ensuite, im nouvel intervalle du message est
calculé par la multiplication de la largeur de l'intervalle par, respectivement, la
limite supérieure et Uiférieute de l'intervalle de symbole et d'ajouter a chaque
résultat la limite inférieure de l'intervalle du message précédent.
Dans cet exemple, parce que le premier symbole est " C ", le chifie le plus
significatif de la sortie de i'encodeur sera un nombre entre O et 0,l. Pendant que
l'encodeur progresse, l'intervalle du message continue a etre subdivisé jusqu'à ce
que tous les symboles aient été encodés. La sortie finale de I'encodeur arithmétique
peut être n'importe quelle valeur dans l'intervalle du message final, car tout nombre
dans cet intervalle d é f i t de façon unique le message au décodeur.
Après la réception du nombre encodé, le décodeur emploie les mêmes
probabilités et intervalles de symbole pour effectuer le processus encodant inverse.
Le décodage commence par le premier symbole du message. Dans cet exemple, le
premier chiffie du message encodé est 0, ce chi& permet au décodeur de décider
que "C" dont l'intervalle de symbole est [O 0.11, est le premier symbole du message.
Le décodeur emploie, la soustraction pour enlever la valeur appropride du symbole
du nombre encodé et la division par l'intervalle du symbole pour rééchelonner le
nombre encodé. Le décodeur continue d'extraire les symboles à partir du nombre
encodé dans l'ordre de gauche à droite.
Un symbole sp4cial de fin de message peut être ajouté au message encodé,
signalant au décodeur de s'arrêter, afin d'éliminer la valeur résiduelle qui peut être
présente quand tous les symboles du message soient décodés.
Message Modelqe
Codage
Nouvea synboli In- dur ymbde b e u r de l'ii~vdh L ' i d h du mug a p L l'uicadage & rymbob
Figure 2.3 Exemple d'un codage arithmétique non-adaptalive
Les codages par entropie ne seront pas examinés en plus de détail ici. Ce
sont des techniques éprouvées largement utilisées.
2.6 Le canal
Les images sont habituellement compressées afin de nécessiter moins d'espace
mémoire ou pour réduire la largeur de bande exigée pour la transmission, ou pour ces
deux raisons. Le canal dans le codec représente une mémoire ou un canai de
transmission.
2.7 Le décodeur de svmbole et le cartoma~he inverse
Une fois que l'image est compressée, elle doit être visualisée encore une fois, en la
recherchant dans la mémoire ou à travers le réseau. Le décodeur de symbole et le
cartographe inverse convertissent les codes en de nouveIles donnés visuelles. Le code par
entropie de longueur variable est traduit en symboles quantifiés par le décodeur de
symbole. Ces valeurs quantifiés sont alors transformées de nouveau en données pixels par
le cartographe inverse.
2.8 L'image reconstruite
L'image reconstruite est reproduite à partir des données maintenant décompressées.
Cette image est habituellement dénotée par j (x , y) pour montrer qu'elle n'est pas
identique à l'originale, c.à.d, une compression avec perte «lossyn.
2.9 L'évaluateur de aualité
La qualité de l'image reconstruite est souvent évaluée par l'utilisateur afin de
déterminer son acceptabilité pour une application particulière. L'evaluation de la qualité
de l'image est une composante imporîmte dans la recherche de méthodes de compression
d'images, parce que des mesures sont nécessaires pour déterminer si la nouvelle méthode
apporte des améliorations.
L'évaiuateur devrait prendre en compte le jugement qualitatif humain et un
jugement quantitatif par calcuI mathématique. Une mesure quantitative est préférable,
puisque Ies évaluations humaines qualitatives sont souvent cotteuses en temps et argent.
L'expérience impliquant l'humain peut aussi être affectée involontairement par les
facteurs environnementaux comme la lumière ambiante, la qualité d'affichage de l'écran,
l'exactitude de la vision humaine du sujet ou même l'état dmotif du sujet.
Malheureusement, il est trés difficile de développer une mesure quantitative qui reflète
vraiment la qualité de l'image pour une proportion de population reprkntative.
2.10 La norme de cornmession JPEG
JPEG ( Joint Photographique Experts Group ) est le nom d'un groupe d'experts en
normalisation dont le rôle est d'établir les normes de compression pour les images fixes.
Le nom officiel du groupe est ISO /IEC JTC SC29 WG10. L'algorithme de compression
utilise la TCD, la quantification scalaire et le codage de HufEÎnan mais il n'utilise que le
mode intra-image. D'autre part, en ce qui concerne la méthode de quantification, JPEG
n'utiiise pas le même quantificateur pour encoder tous les coefficients à l'intérieur d'un
même bloc. De cette manière, il est possible d'accorder plus de précisions aux
coefficients basse-fréquence des blocs. De plus, avec REG, l'utilisateur a la possibilité
de choisir ses propres tables de quantification.
JPEG a été ddfini pour des applications d'archivages d'images fixes. Cependant, il
est possible de l'utiliser pour encoder des images animdes en les considérant comme une
suite d'images fixes. L'inconvénient majeur est que l'on ne tient pas compte de la
redondance temporelle qui existe entre les images successives. Cependant, avec l'arrivé
des codecs JPEG câblés, on trouve plusieurs applications de vidéoconfërence qui utilisent
la compression JPEG pour tes images animées .
Cette norme est en faite deux systèmes séparés de codage. Le premier système
fowni une compression sans perte N lossless D avec un faible taux de compression tandis
que le second système se compose d'une famille de codecs avec perte (( lossy )) basé sur
la TCD mais avec un meilleur taux de compression.
2.10.1 Le codec JPEG sans perte "lossless"
Ce codec a été conçu pour foumir un système encodant sans pertes simple
mais néanmoins efficace. 11 se compose d'un ensemble simple de prédicateurs
spatiaux suivis d'un cudeur d'entropie comme le montre la figure 2.4.
Figure 2.4 Encodeur JPEG sans perte
La prévision est basé sur la région du support illustrée dans la figure 2.5.
La prévision de l'échantillon actuel, X , dérive d'une certaine combinaison des trois
échantillons voisins ( A, B et C ). L'ensemble des prévisions possibles est indiqué
dans le tableau 2.1.
Figure 2.5 Prévision à partir du voisinage pour un codec JPEG sans perte
Tableau 2.1 Modes de prédiction pour le REG sans perte
Valeur de sélection
O
1
2
3
4
5
6
7
Cette prévision est soustraite de la valeur réelle de l'échantillon X. La
valeur de sélection et cette différence sont encodées sans perte en utilisant soit le
codage arithmétique ou le codage de Hf f ian . Dans le mode de fonctionnement
Prévision
Pas de prévision
A
B
C
A+B-C
A+(@-C)R)
B+((A-C)/2)
(A+B)/2
sans perte, deux codecs différents sont indiqués, un pour chaque option de codage
d'entropie. La précision des données à l'entrée peuvent varier de 2 à 16
bitskchantillon. Cette approche produit un taux de compression approximatif de
2: 1 pour des images en couleurs de complexité modérée.
2.10.2 Le codec REG avec uerte "loss~"
Tous les codecs avec perte sont basés sur la TCD. Le plus simple de ces
codecs s'appelle le codec séquentiel de ligne de base ((the baseline sequential
codec o. Comme le montre la figure 2.6 l'encodeur se compose de trois étapes
majeures, la transformation en avant en cosinus discret (TACD), la quantification ,
et le codage d'entropie.
Figure 2.6 Encodeur JPEG séquentiel de ligne de base à base de TCD
La transformation en avant (TACD) est une transformation par cosinus
discret sur des sous images 8'8. L'objectif de la transformation est de réduire le
nombre d'échantillons qui doivent être transmis en exécutant un regroupement
d'énergie sur le signai. Et puisque la plupart des images ont un spectre passe-bas, la
transformation des données dans le domaine spatial en des données dans le
domaine fiéquenciel a comme conséquence de fournir peu d'échantillons qui soient
significatifs. En outre ces échantillons tendent à être groupés aux basses
fréquences.
Le but de l'étape de quantification est de prendre le produit de la
transformation en cosinus discret, et de réduire son entropie en quantifiant les
coefficients. Cette étape a comme conséquence une perte d'information, mais nous
permet une réduction des données du système pour représenter l'image. Cependant
en ajustant certains paramètres dans cette étape, il est possible de contrôler la
qualité de l'image compréssée a la sortie ainsi que le taux de compression.
Le codage d'entropie prend les coefficients quantifiés de la TCD de
longueur fixe et produit un ensemble de symboles de longueurs variables pour le
canal de transmission. Cette procédure a pour but de tenter de produire un flux de
données compressé dont la cadence est aussi proche que possible de l'entropie des
coefficients quantifiés de la TCD.
2.10.3 La transformation en avant en cosinus discret (TACDI "forward discrete
cosine transfom"
La première étape dans le processus de compression est d'extraire les blocs
8x8 de données B partir de l'enmk. Si I'entrée a plusieurs canaux de données, par
exemple des données RVB ou CCIR601, chaque canal de données est traité
identiquement. Si les dimensions des données d'entrée ne sont pas des multiples de
8, l'entrée est augmentée de zéros pour s'assurer que l'image puisse être
partitionnée en des blocs de données 8x8.
La transformation en cosinus discret bidimensionnel est définie par
l'équation (2.12) où X(u, v) est la représentation en fiéquence du bloc des données
d'entrée x(i, j). Pour un bloc d'entrée 8x8, N=8 dans I'équation (2.13) et X(0,O)
représente le terme continu du bloc d'entrés qui est la moyenne des 64
échantillons.
X-I N-I U R VR x(i, j ) = ~ ~ ~ ~ X ( u , v ) c o s [ ( l i + 1)-]cos[(2 j + 1)-1
U.O 2 Y-O 2 2'N 2 * N avec
pour u = O C M = JZ {$ ai/,eurs
C" = /$ pour v = O
[ 1 ailleurs
Les 64 coefficients de la TCD obtenues à la sortie de la transformation en
avant en cosinus discret sont ensuite uniformément quantifiés. La taille utilisée à
l'étape de quantification pour chaque coefficient est indiquée par une table de
quantification, cette table représente par rapport à l'application une entrée pour
l'encodeur. Les éléments de la table de quantification peuvent prendre n'importe
quelle valeur entière comprise entre 1 et 255.
Le processus de quantification est défini comme étant la division de
chaque coefficient de la TCD par l'entrée correspondante de la table de
quantification, suivie de l'arrondissement au nombre entier le plus proche.
X(u7 4) XQ (u, v ) = Integer Round(- Q(u, v )
où Q(u,v) représente le coefficient de la table de quantification.
Dans le décodeur, on exécute i'opération inverse qui fournit au décodeur
l'entrée appropriée pour la TCD inverse.
De cette discussion il est clair que la table de quantification fait partie de
l'information qui doit être transmise de l'encodew au décodeur. Si une entrée dans
la table de quantification est plus grande que l'unité, une perte d'information se
produit. Cette perte représente une grande partie de la réduction du taux de
données du codec. La matrice est choisie de façon a réaliser un bon compromis
entre un bon taux de compression et une qualité d'image subjective. Dans la norme
JPEG, i I existe un ensemble de tables de quantification pour le format d'image
CCIR6OI. Ces tables sont le résultat d'expériences psycho-visuelle [9] (Tableau
Tableau 2.2 Table de quantification pour les données de luminance pour une
image de format CCiR601
Tableau 2.3 Table de quantification pour les données chromatiques pour une
image de format CCiR601
2.10.5 Le codeur d'entro~ie
Avant le codage d'entropie, un traitement supplémentaire est appliqué au
coefficient continu X(0,O). Comme cité ci-dessus, ce coefficient DC représente la
valeur moyenne du bloc d'entrée. Ceci a comme conséquence un degré élevé de
corrélation entre les coefficients DC des blocs transformés adjacents. Alors, dm de
tirer profit de cette corrélation, la différence entre les coefficients DC quantifits
des blocs adjacents est calculée. Cette valeur est utilisée dans les étapes suivantes
au lieu du coefficient DC quantifié obtenu initialement. Tandis qu'aux hautes
Eréquences il y a peu de corrélation entre-bloc, ainsi on n'a pas besoin qu'un
traitement supplémentaire avant le codage d'entropie soit appliqué aux coefficients
non continus AC.
Par ailleurs, puisque les données d'image tendent à avoir un spectre passe-
bas, les coefficients quantifiés différents de zdro de la DCT tendront a se grouper a
de basses fréquences. Ceci signifie également que les coefficients aux hautes
fréquences sont susceptibles d'être nuls. Ainsi, une compression sans perte peut
être réalisée en utilisant cette propriété. Si les coefficients quantifiés sont transmis
suivant le balayage en zigzag comme montré sur la Figure 2.7, les coefficients
différents de zéro tendront à ètre transmis d'abord, puis suivra normalement un
grand passage de coefficients nuls. Cependant en utilisant un indicateur "fin de
bloc", il n'est plus nécessaire de transmettre ces zéros à haute fréquence.
A ce point du processus, il y a habituellement peu de coefficients de la
TCD différents de zéro et beaucoup de coefficients évalués être presque nuls. Le
codeur d'entropie encode ces données aussi efficacement que possible. Dans le
codec séquentiel de ligne de base, ce processus se produit en deux étapes. Les
coefficients de la TCD sont convertis en une représentation intermédiaire
constituée par des séquences de symboles, et des mots-codes sont assignés à ces
symboles.
Dans la représentation intermédiaire chaque coeficient AC est représenté
par sa valeur et par le nombre consécutif des coefficients nuls qui apparaissent
avant lui. Ce nombre est noté " runlength ". Chacune de ces combinaisons de
valeurs (runlength, coefficient non-nul) est représentée par une paire de symboles.
Symbole 1 : ( RüNLENGTH , TAILLE)
Symbole2 : ( AMPLITUDE )
Le symbole1 représente deux informations, RUNLENGTH qui est le
nombre de coefficients consécutifs évalués nuls précédant le coefficient différent
de zéro qui est actuellement encodé, et TAILLE qui est le nombre de bits employés
pour encoder l'information AMPLITUDE.
Le symbole2 représente une seule information, AMPLITUDE qui est
l'amplitude du coefficient quantifié non nul actuellement encodé. Ces symboles
sont encodés en utilisant les différentes tables de Huffman. La première table
génère un code de longueur variable représentant la paire ( RUNLENGHT , TAILLE ), et la deuxième table encode un nombre entier de longueur variable qui
encode l'information AMPLITUDE, et dont la traduction est définie par la partie
TAILLE du symbolel.
2.10.6 Autres modes d'opérations
Le codec séquentiel de ligne de base est le plus simple des codecs de la
compression avec perte. La norme JPEG définit plusieurs autre mode de
fonctionnement possible qui peuvent être utile dans certaines applications. Dans
tous les cas, le codeur d'entropie utilisé est soit le codeur arithmétique ou le codeur
de Huffman. Le mode de fonctionnement progressif maintient les étapes de
transformation et de quantification du mode de fonctionnement séquentiel de ligne
de base. La différence principale, c'est qu'au lieu d'envoyer tous les coefficients
quantifiés différents de zéro pour chaque bloc 8x8 en même temps, leurs
transmissions sont retardées par plusieurs balayages des données.
Le première balayage des données produit une mauvaise qualit6 d'image,
mais on obtient une version reconnaissable de l'image après la transmission de
reIativement peu de données. D'autres passages raffinent cette image jusqu'à la fin
du passage final où on obtient la pleine qualité de l'image reconstruite.
Figure 2.7 Balayage en zigzag utilisé dans le codeur d'entropie
Deux approches pour segmenter les données parmi les balayages sont
définies. La première s'appelle sélection spectrale « spectral selection D. Dans cette
approche, les coefficients de bandes de fiéquemes croissantes sont transmis avec
chaque balayage des données. Par exemple, le premier balayage a pu transmettre
seulement le coefficient continu DC de chaque bloc. Chacun des balayages
ultérieurs transmettraient un certain nombre de coefficients de Mquence plus
élevée. Ce processus continue jusqu'h ce que tous les coefficients différents de
zéro soient transmis.
L'autre approche utilise le fait que les coefficients différents de zéro n'ont
pas besoin d'être transmis à leur pleine exactitude sur un balayage donné. Par
exemple, durant le premier passage, on transmet la plupart des bits significatifs de
chaque coefficient et sur les passages ultérieurs, on transmet les bits restants. Cette
approche est désignée sous le nom de " l'approximation successive " (( successive
approximation 1).
Le dernier mode s'appelle le codeur hiérarchique. Les codeurs
hiérarchiques traitent une représentation pyramidale de l'image d'entrée. Chaque
couche dans la pyramide est une image qui est la moitié de la taille de la prochaine
couche. Le procédé encodant pour ce mode peut être résumé comme suit :
1 - Filtrer et décimer l'image par le nombre désiré "multiple de 2" dans
chaque dimension.
2- Encoder cette image en utilisant n'importe lequel des modes de
fonctionnement précédemment définis.
3- Décoder cette image puis l'interpoler par un facteur de 2 dans
chaque dimension.
4- Utiliser cette image interpolée en tant que prédicateur. Encodez à
cette résolution la différence entre cette prévision et I'irnage initide
en utilisant n'importe lequel des modes de fonctionnement
précédemment défuii.
5- Répéter les étapes (3) et (4) jusqu'a ce que la pleine résolution de
l'image soit encodée.
CHAPITRE 3
LA THEORE DES ONDELETTES
3.1 Introduction
Les ondelettes ont généré dans les dernières années un grand intérêt dans le
domaine théorique et kgalement dans le domaine pratique.
La théorie des ondelettes est issue de nombreux travaux en traitement du
signal et en compression d'images. En traitement du signal, la théorie des bancs de
filtres a donné le schéma de décomposition-reconstruction de Stephane Mallat f 101,
En compression d'images, l'algorithme de décomposition pyramidal d'une image a
servi de base pour l'analyse multirésolution.
L'analyse par ondelettes consiste à décomposer un signai sur une base de
fonctions d'un sous-espace ayant des propriétés bien déterminées. Ce type
d'analyse peut servir à titre d'exemple A localiser dans le temps les Urégularités du
signal (Le. les variations brusques dans le signal ou hautes fréquences).
Cette théorie s'est avérée être une approche très utile dans différents
domaines de traitement des signaux tels que : les techniques de filtrage en sous-
bande ~subband filtering techniques», les filtres miroirs quadratiques ((quadrature
rnirror filters)), les schémas pyramidaux qyramid schemesn. En mathématique
physique des concepts semblables sont étudiés dans le contexte de la théorie des
états cohérents.
Dans les années 70 quelques fonctions simples, appelées décompositions
atomiques ont été utilisées dans la théorie de l'espace robuste ((hardy space)) et la
notion des ondelettes a apparu par J.Morlet et A.Grossman [Il] dans sa version
continue sous la forme de translations et de dilatations dans le temps d'une fonction
Y -
Dans les années 80, Stromberg a découvert les premières ondelettes
crthogonales. Indépendamment Alex Grossmann et Jean Morlet [Il] étudient la
transformation en ondelettes dans sa forme continue.
Le nom "ondelette" a été suggéré par A. Grossmann et J. Morlet [Il] pour la
construction des blocs, de même Ia théorie ~Littlewood-Palep a commencée à être
appelée "théorie des ondelettes". Par ailleurs, Lemarié et Meyer [12,13] ont
construit des nouvelles expansions des ondelettes orthogonales. La notion d'analyse
rnultirésolution introduite par S. Mallat et Meyer [13,14] a aidé à développer un
cadre systématique pour les expansions orthogonales et a assurer leur connexion
avec le filtrage miroir "mirror filtering". Daubechies [15] a dond une construction
des ondelettes sur des intervalles finis.
3.1.2 Définition des ondelem
Les ondelettes sont des fonctions élémentaires très particulières; ce sont des
vibrations très courtes [ l q . Mathématiquement, le but essentiel de l'analyse par
ondelettes est de décomposer les espaces fonctionnels usuels sur des bases ayant
d'excellentes propriétés tel que l'orthogonalité et la régularité.
La transformée en ondelettes est une méthode de représentation temps-
fiéquence d'un signal qui consiste à le décomposer en une somme de fonctions
élémentaires qui dérivent toutes d'une même fonction appelée mère, par translation,
contraction et dilatation [16].
3.1.3 Notation
Dans i'espace des fonctions de carré sommable L ~ ( R , R) ( R est un ouvert
de R" noté L*(R) défini comme l'espace des fonctions mesurables de Leksgue on
note:
Si f,g E L~(R), alors leur produit scalaire est:
où g est le conjugué complexe de g.
car dans L~(K), si l'espace vectoriel K désigne R. alors [1 TJ
- V V E R ona V = V .
La transformé de Fourier d'une fonction f E L ~ ( R ) est définie par:
2 2 Soient 4 E L (R ) tel que 0 régulière et décroissante assez rapidement k = (k&)
E Z* et j E Z , dors on définit:
Oi @,y) = 9 0 ($x-ki, &- Ir2)
- l'adhérence de la famille est : V, = vect(@,, )kE,z
3.1.4 Transformée de Fourier
Les séries de Fourier sont utilisées pour l'analyse des signaux périodiques.
Pour les signaux non périodiques on a recours a une intégrale de Fourier. Cette
méthode consiste a représenter le signal étudié par une superposition d'ondes
sinusoïdales de toutes les fréquences possibles. Les amplitudes associées à chaque
fréquence représentent les importances respectives des diverses ondes sinusoïdales
dans le signal global. Ces amplitudes forment alors une fonction de la fréquence f
appelée "spectre continu des fréquences du signal": c'est la transformée de Fourier
du signal s(t), notée S(f):
(Le nombre complexe S(f) s'identifie; pour une fréquence f donnée, a un point du
plan).
L'analyse du signal consiste h dégager des informations contenues dans
celui-ci. Ceci en fonction d'une seule variable (temps) ou de deux variables (temps
et fréquence). Dans ce dernier cas, L'analyse de Fourier classique est inadéquate, car
la représentation d'un signal f par l'intermédiaire de sa transformée de Fourier S(f)
ne fournit qu'une information globale sur Ie signal. L'évolution dans le temps des
composantes fréquentielles du signai n'est pas directement accessible par cette
représentation. C'est pour atteindre cette information que la représentation temps
fréquence a été créée.
3.1.5 Transformée de Fourier à fenêtre alissante
La représentation temps-fréquence met en jeu deux opérations réciproques:
I'analyse et la synthèse. Pour effectuer l'analyse du signal, on le décompose en une
somme de fonctions élémentaires va,, (fonctions sinusoïdales pour I'analyse de
Fourier) où 'a' est lié à la fréquence et 'b' est lié au temps. Pour décomposer un
signai quelconque on affecte à chaque fonction élémentaire des coefficients Cab où
Ces coefficients donnent une information directe sur les propriétés
temporelles et fiéquentielle du signal. Les fonctions y , , doivent être bien
localisées dans le temps, de sorte que les coefficients ClSb dépendent seulement des
valeurs que prend le signal dans l'intervalle de temps sur lequel la fonction yu,,
n'est pas négligeable. La synthèse donne les règles permettant de reconstruire un
signal à partir des éléments Cab fournis par I'analyse.
En 1940 D, Gabor [14] découvre la première forme de représentation temps-
fréquence. Il obtient une analyse temporelle en découpant arbitrairement le signal
en des plages de longueur limitée. Chaque plage, centrée autour du paramétre 'b' de
localisation en temps, est alors étudiée séparément des autres par L'analyse
traditionnelles de Fourier, ce qui revient à décomposer le signal sur des fonctions
élémentaires y , , qui dérivent toutes d'une même "fonction fenêtre" y(t) par
translation et modulation en temps. C'est Ia transformation de Fourier a fenêtre
glissante.
L'inconvénient majeur de ce procédé est que la longueur de la plage est fixée
une fois pour toutes et que l'on ne peut pas analyser simultanément des phénomènes
dont les échelles de temps sont différentes. Ce problème est résolu par l'analyse
multi-échelle par ondelettes où il y a des familles d'ondelettes qui correspondent a
des décompositions différentes. Elles ont des propriétés différentes et permettent
ainsi des analyses différentes. L'analyse par ondelettes est une méthode
mathématique pour représenter le signal.
3.2 Transformée en ondelettes
J. Morlet [ I l ] a construit une famille d'ondelettes engendrée par une seule ondelette
y (11 dite analysante et définie par:
-f2 - y (t) = cos(5r) x u '
II a construit les ondelettes y,, a partir de rondelette analysante iy , non pas par
translation et modulation, comme pour la transformée de Fourier A fenêtre glissante, mais
par translation en temps (paramktre 'b') et contraction ou dilatation en temps selon que le
paramètre 'a' (fréquence) est plus petit ou plus grand que 1. il suffit donc de "jouer à
l'accordéon" avec I'ondelette analysante y pour obtenir la famille des ondelettes iy,,
(comme exemple: y,,(t) = y(& - b) x cos(2m) ).
La tmformée en ondelettes réalise une anaiyse à toutes Les échelles. Elle est une
fonction S(a,b) gui associe aux paramètres 'a' et 'b' la valeur du coefficient Cqb de
I'ondelette y,,, dans la décomposition du signai. La quantité 'b' est le paramètre de
localisation temporelle, tandis que Va' est le paramètre de fréquence. Cqb est une
intégrale qui mesure la mmme des aires algdbriques décrites par la courbe produit
S(t) yu,, comme montre la figure 3.1.
3.3.1 Transformation continue en ondelettes
La transformation continue en ondelette, ou transformation intégraie en
ondelette a la possibilité de faire un "zoom", c'est a dire que la dimension de la
cellule de Gibbs (voir la figure 3.2) peut s'adapter à la position du centre dans le
plan (t,w), et devient plus étroite si I'on se déplace vers les hautes fréquences, et
plus large vers les basses fréquences (181. Une expansion d'ondelette utilise des
transformations et des dilatations d'une fonction fixe, I'ondelette, y E L*(R). Dans
le cas de la transformation continue en ondelettes, les paramètres de translation et
de diIatation varient continueliement, et la transformation utilise les fonctions:
1 x - b ydb[x)=-y(-) où a , b ~ R, a $0. A a
Alors, la transformation continue en ondelettes d'une fonction f E ~~(Et)est définie
par:
En utilisant L'identité de Parseval, on peut écrire:
( d l
Figure 3.1 (a) Ondelette de morlet y , , de fréquence lia centrée en b, (b) signal S(t),
(c) produit S(t) y,,, (d) mesure du coefficient Ckb représenté par
l'intégrale « aire » du signal produit
Pour pouvoir définir correctement la transformation en ondelettes il faut que iy
possède Ies propriétés suivantes:
1.W est aussi une fonction fenètre, dont le centre est o, > O , pour localiser les
fréquences en utilisant l'effet de "zoom",
valeurs de la transformée en ondelette W(a,b)
On a en effet, pour f E L*(R).
La transformation continue en ondelettes nous permet d'utiliser des ondelettes plus
générales. Et elle est utilisée dans la ddtection de la singularité et dans
Ifinterprétation ( "caractérisation" ).
to
Figure 3.2 Cellule de Gibbs
3 2.2 Transfonnation discrète en ondelettes: l'alaorithme "à trous"
Cette approche [19] peut être utilisée pour traiter des images. Nous
supposons que les données {fi (O)} sont les produits scalaires en un pixel 'i' de la
fonction f(x) et d'une fonction diéchelIe "scaling function" donnée @ (x):
ou O (x) doit satisfaire l'équation de dilatation:
où h(n) est ia valeur de l'échantillon n.
Le premier processus effectué entre deux échelles conduit à i'ensemble de (fi ")}. La différence {fi ('))-{fi (')) contient l'information entre ces deux échelles F' et F".
C'est l'ensemble discret associé a la transformation en ondelettes correspondant à
O (x). L'ondelette associée y (x) est:
Figure 3.3 Filtrage avec un facteur décroissant de distance 2 entre les échantillons
La distance entre deux échantillons croit par un facteur de deux de l'échelle
(n- 1) à la suivante, fi est donné par (voir la figure 3.3):
et Ia transformation discrète en ondelettes w(i j) par:
L'algorithme qui permet de reconstruire le cadre des données est le suivant:
ajoutons le dernier tableau lissé f i (") à toutes les ciifferences w(iJc) de k = 1 à n.
3.2.3 Transformation rapide en ondelettes
Le SOUS espace Vj est kgde à Vj., @ Wj.i, Wjmi étant le sous espace
complémentaire de Vj.i (la définition de ces sous espaces est donnée en détaille au
paragraphe 3.4.2). Une fonction v j ~ Vj peut donc être écrite uniquement comme la
somme d'Une fonction Vj-i E Vj-1 et Une fonction Wj.1 E Wj.[ :
Alors, il existe deux représentations de la fonction vj , une comme un
élément dans Vj et associée avec les séries Ai,, et une autre comme la somme des
éléments dans Vj.1 et Wj-1 et associées avec les séries A,-,,, et y ,-,, .
Les relations suivantes montrent comment se réalise le passage entre ces
représentations en utilisant les fonctions duales définies dans le paragraphe 3.3.2:
La direction opposée, de A,-,, et y ,-, , a AJk, en utilisant
est:
Quand elles sont appliquées récursivement, ces formules définissent la
transformation rapide en ondelettes; les relations (3.22) et (3.23) définissent la
transformation en avant et (3.24) définit la transformation inverse [15].
3.3 Familles d'ondelettes
3.3.1 Ondelettes orthoeonales
Soit {V,, n e z ) une analyse multirésolution de L ~ , engendrée par une
fonction 0 , et soit une ondelette associée, qui engendre les sous espaces
complémentaires W, , ne Z.
L'ondelette y est orthogonale si et seulement si: pour n + k, et pour tout
j k z ,
dans ce cas W, , n e Z sont des espaces complémentaires orthogonaux. Cependant,
en général nous n'avons pas y , , orthogonal a y,, .
y est une ondelette orthonormale si et seulement si elle est orthogonde et
qu'en plus elle vérifie [kl[, = 1.
3.3.2 Ondelettes biorthogonales
Il existe une fonction d'échelle duale 5 "dual scaling function 6 " et une
ondelette duale W "dual wavelet ", qui génèrent une analyse multirésolution
duale avec les sous espaces Y, et %', tels que:
Y, LW, et V,I W,
%LW, , pourjtj '
Ce qui est équivalent à:
< 5 , ~ ( x - l ) > = < W , Q(x- / )>=O
En plus, les fonctions duales aussi doivent satisfaire
Par l'utilisation d'un argument d'échelle, nous avons des propriétés plus généraies
teiles que:
Les défuiitions de 6,/ et Yj,l sont semblables a celles de O et yr ,, . Le rôle de la
base ( CD et iy ) et de la base duale ( 6 e t Y) peuvent être interchangées [15].
3.3.3 Ondelettes semiorthogonales
Une fonction d'échelle et une ondelette biorthogonales sont
semiorthogonales si elles génèrent une analyse multirésolution (voir paragraphe
3.4.2). Si les sous espaces Wj sont mutuellement orthogonaux, alors:
Par conséquence, W, = implique V, = Y,. . Ainsi, les fonctions primaires et
duales génèrent la même analyse multirésolution (orthogonale) [15].
3.3.4 Ondelettes usuelles
Un exemple très simple mais très utile pour illustrer les meilleurs propriétés
des ondelettes, est l'ondelette de Haar "Haar wavelet", où l'on peut illustrer
facilement les propriétés de la fonction d'échelle et de I'ondelette. Cette ondelette a
aussi des utilisations pratiques.
- Fonction d'échelle, elle est définit par :
1 s i O l x c l @(x) =
O ailleurs
Le sous espace Vo est étendu par la fonction d'échelle ((scaling functiom
0 (x-k), qui est formée de translations entières de la même fonction. Le sous espace
VL est étendu par O(2x-k), qui est formée de translations de W2 de la fonction
d'échelle sur un intervalle de 112. En général, Vj est étendu par des translations de
~ 2 j de la fonction d'échelle sur un intervalle de II$. Les relations de double échelle
«two-scale relation)) de l'ondelette de Haar sont:
- L'ondelette : l'ondelette de Haar y (x) correspond à la fonction d'échelle
de Haar "Haar scaiing iünction" @(x) donnée par:
1 si 0 1 x < 1 1 2
s i l l 2 l x c l ailleurs
11 est facile de construire la relation de double échelle "two-sale relation"
de l'ondelette de Haar comme suit :
y (x) = O(2x) - O(2x - 1)
avec q ~ = 1 ql =-1.
- Relations de décomposition et de reconstruction: les relations de
reconstruction sont données par:
Les relations de décomposition sont l'inverse des celles de reconstruction et
il sont données par:
avec Q = 1/2, bo = 112, at= 112 et bl = - 1/2 (séries de décomposition non nulles).
II existe plusieurs autres ondelettes usuelles telles que: l'ondelette B-spline
"B-spline wavelets" et l'ondelette de Daubechies [20].
3.3.5 Ondelettes sur un intervalle
Les ondelettes définies sur un intervalle le sont sur un ensemble compact, tel
qu'un intervalle unidimensionnel ou bidimensionnel. Pour être spécifique, nous
pouvons considérer le cas d'une fonction f(x) définie sur un intervalle [a,b] et telle
que f(x) est nulle à l'extérieure de [gb]. Les ondelettes comportent des
discontinuités aux points d'extrémités a et b, et sont efficaces pour détecter les
singularités [ 1 51.
Pour consîruire des ondelettes bornées sur un intervalle, considérons un
ensemble fini de fonctions linéaires et indépendantes O O, ..., O ,i dé f i e s sur cet
intervalle et supposons Vo l'espace vectoriel étendu par ces fonctions, en observant
que pour une fonction d'échelle @ on considère un ensemble fini de fonctions
d'échelle.
Comme exemple des ondelettes sur un intervalle, citons parmi d'autres:
l'ondelette lineaire et quadratique de Legendre "linear and quadratic Legendre
wavelets", l'ondelette de premier ordre et de second ordre de Flatlet " k t and
second order Flatlet wave1ets"et l'ondelette borne de Meyer "Meyer's boundary
wavelets" [20].
3.3.6 Ondelettes multidimentio~elles
Une méthode simple pour obtenir des ondelettes multidimensionnelles est
d'utiliser le produit tensoriel.
considérons:
Si O(x-f)/l E Z est un ensemble orthonormal, alors @(x-k~ ,y-k2) forme
une base orthonormde de Vo. Par une échelie dyadique on obtient une analyse 2 2 muitirésolution de L (R ). Le complément WO de Vo dans VI est de façon semblable
généré par la translation des bois fonctions:
Par décomposition d'une seule dimension pour chaque variable, on obtient:
Les fonctions y ,, impliquent deux échelles, 2" et 2-', et chacune est
supportée sur un rectangle. Pour cela cette décomposition est appelée
décomposition rectangulaire d'ondelette "rectangular wavelet decomposition" [15].
3.4 Bancs de filtres et ondelettes
3.4.1 Notion des bancs de filtres
La théories des ondelettes trouve ses fondements dans la théorie des bancs
de filtres couramment utilisée en traitement du signal et en télécommunication.
L'idée est de séparer le signal original en plusieurs bandes de fréquence (basse
fréquence et haute fréquence) pour mieux le traiter et le transmettre. Au récepteur,
on reconstruit le signal en rassemblant ces diverses bandes (voir figure 3.5). Le
problème est de savoir comment on peut avoir un signal reconstruit X identique au
signal original Xo.
Banc d'andyse Banc de synthèse ha ga hr. gr
Figure 3.4 Banc de filtres (banc d'anaIyse/synthèse ti un étage)
En utilisant les notations de la figure 3.4, on rappelle qu'une décimation par M
implique (notation avec la transformée en z) :
et en suite une interpolation par M
On peut donc écrire le banc de filtres de la figure 3.4 sous la forme
D'après l'équation ci-dessus, pour éliminer la contribution de XO(-z) (qui représente
une version aliasée du signal) au signal reconstruit, il est nécessaire et suffisant que
les filtres soient tels que
si l'on définit :
il vient
det Hm@) = Ha(z)Ga(-2)-Ha(-z)Ga(z)=P(z)-P(-z)
Alors, pour avoir une reconstruction parfaite, avec des filtres à réponse
impulsio~elle finie (RF), il est nécessaire et suffisant que :
det Hm@)= c.z-~"' ou 1 E Z (3.49)
En pratique, on prend c = 2.
dans le cas de filtres orthogonaux, l'énergie des coefficients transmis est la
même que celle du signal original. Tandis que dans le cas ou les filtres sont
biorthogonaux, ce n'est pas le cas. Par contre, dans les deux cas, on reconstniit un
signal identique B l'originai mais avec une phase pouvant être différente. Il est bien
connu [2 1,221 que le seul banc de fiItres RIF réels ayant une phase linéaire est celui
avec des filtres de Haar.
3.4.2 Analogie avec l'analyse multirésolution
Du point de vue du traitement du signal, une ondelette est un filtre passe-
bande. De plus, dans le cas dyadique, il s'agit d'un filtre octave-bande. Alors, la
transformée ondelette peut être interprétée comme un filtrage à Q-constant avec un
ensemble de filtres octave-bande suivis d'un échantillonnage aux fréquences de
Nyquist respectives (correspondant à la bande passante d'une octave particulière). Il
est donc claire qu'en ajoutant des octaves dans des ftéquences plus hautes, on ajoute
plus de détails ou plus de résolution, au signal. Soit Vo l'espace de toutes les
fonctions à bandes limitées de fiéquences dans l'intervalle [-K,+K 1, dors
l'ensemble des fonctions { @ (x-k), k E 2) forme une base orthonormale de Vo.
Similairement, soit V.i l'ensemble des fonctions à bandes limitées de fréquences
dans l'intervalle [ - 2 ~ ,+k ] , alors l'ensemble des fonctions { 0 (2x-k), k E 2)
appartient a V-1. Or,
alors Wo est l'espace des fonctions à bandes limitées de fréquences dans l'intervalle
[-2n,-n ] u [r,2n]. En répétant le schéma de l'analyse résolution, Vi est l'espace
des fonctions à bandes limitées de fiequences dans l'intervalle 1-2' ~ , + 2 ' n ] et Wi
l'espace des fonctions à bandes limitées de fréquences dans l'intervalle
[ - 2 2 n ] u [2-'n,2-'+'1~]. La figure 3.5 illustre graphiquement ce concept:
Figure 3.5 Subdivision idéale de l'espace de Fourier avec O (x) = sinc(x). (a) Division
en sous-espaces Vi . Notons que Vi+i c V i . (b) Division en sous-espaces Wi.
Notons qu'on a bien Vi., = Wi + Vi
3.5 Réalisation d'un banc de filtres à base d'ondelettes
3.5.1 Desim d'un banc de filtres a deux étages
Un banc de filtres est un ensemble de filtres reliés entre eux par des
décirnateurs et des interpolateurs et parfois des ddlais. Pour un banc de filtres à deux
canaux , les filtres analysants sont normalement un passe-bas et un passe-haut.
La structure de base a la forme suivante (figure 3.6)
Figure 3.6 Stniçture de base
La question est comment choisir les fonctions de transfert Ha, Hs, Ga et Gs des
filtres pour avoir une reconstruction parfaite : X(n)=&(n-1). La relation entre X(z)
et &(z) est donnée par :
donc pour avoir une reconstruction parfaite il faut vérifier les deux conditions
suivantes :
- pas d'alias -+ Hs(z)Ha(-z)+Gs(z)Ga(-z)=0 - pas de distorsion + HS(~)H~(Z)+GS(Z)G~(~)=~Z*~
pour éliminer l'alias un choix qui paraît judicieux est le suivant :
avec ce choix on élimine automatiquement l'alias et l'équation de distorsion
devient :
En posant Hs(z)Ha(z)=Po(z) on obtient:
Po(+ Po(-z)= F(z) = -F(-z) + F(z) est une fonction impaire donc I doit être aussi
impaire
Po(z)- Po(-z)= 22 -ZN+ 1
En posant P(z) = z 2N"~o(z)
L'équation (3.57) devient :
Avec
Cette équation implique que :
- a, =O pour n pair et n# O
- =l.
ceci implique que P(z) est un filtre du type demi-bande «haIf band)). en résumé pour
faire le design d'un banc de filtre à deux canaux il faut :
- étape 1 : Construire le filtre passe bas P(z) qui satisfait l'équation (3.58) puis
déduire P&)
- étape 2 : Factoriser Po(@ en Ha(z)Hs(z) puis déterminer Ga et Gs par les équations
(3.54).
Choix de Ga:
Le premier choix était: Ga(z)=Ha(-z) le filtre résultant est appelé filtre
miroir en quadrature (quadrature mirror filtre QMF).
Le meilleur choix: Ga@) = - z .N Ha(-z ") ce choix mène A des bancs de
filtre orthogonaux en respectant les conditions que doit vérifier Ha(z). les filtres de
Daubechies sont de ce type .
Le choix générai: le produit Hs(z)Ha(z) doit être un filtre demi-bande
"halfband", ceci mène a la biorthogonalité quant la condition entre Hs(z) et Ga@) et
entre Gs(z) et Ha(z) pour é i i e r les alias est vérifiée :
3.5.2 Ondelettes de Daubechies
De nombreux chercheurs ont proposé des aigorithmes de synthèse de filtres
[23,24,25]. Daubechies [21] a proposé en 1988 une construction d'ondelettes
orthogonales à support compact tout comme les fonctions de Haar ( notez que
l'ondelette de Daubechies 1 ou Di n'est autre que rondelette de Haar).
Une ondelette de Daubechies +O
lyi(x)x'& = 0, pour 1 =0,1,2 ,...., M -1) -0
(@(x) = 2 x hi 0(2x - k)) k
ayant M moments nuls ( soit
vérifie l'équation de dilatation
et les coefficients hk et gk = ( - 1lk hk+, pour k = 1, 2, ..., 2M satisfont les
contraintes suivantes [26]:
- Consistance: une condition nécessaire et suffisante pour l'existence d'une solution 2M
à l'équation de dilatation est : hk = f i k-1
ce qui entraîne
- Orthogonalitk les translatées et Ies dilatées entières de @ et iy données par
forment une famille orthogonale si les coefficients d'échelle satisfont
Cela assure que les relations d'orthogonaiité
La relation
n'est pas une conséquence de cette condition mais plutôt une dét'nition des gk .
- Approximation: la contrainte
conduit au résultat que iy (x) a M moments
Cela signifie qu'il est possible d'approcher une fonction régulière avec une erreur
o (a "' ) par combinaisons linaires des ondelettes à l'échelle a .
- Régularité:
On fonction est dite régulière si elle est lisse c-à-d qu'elle contient peut de
variations brusques ou en d'autre terme elle est presque dérivable.
Le domaine de 0 (x) est [O, 2M - 11.
Le domaine de yl (x) est [-M + 1, Ml.
Notons que si l'on définit gk = (-1lkh,k où p est un entier impair, cela à pour effet de
changer le domaine de définition de @(x) et les indices non nuls gk . Choisir p =
2M + 1 peut être intéressant car dans ce cas le domaine de définition de y (x) est le
même que celui de @(x), ce qui peut s'avérer pratique en informatique vu que les
tableaux commencent aux indices supérieurs ou égaux à zdro.
3.5.3 Génération du filtre de daubchies
L'idéal dans le banc de filtres est d'avoir un filtre dont la transfomée de
Fourier est sinc(w) pour avoir un filtre demi-bande "half band" parfait.
Figure 3.7 Transformée de Fourier de filtres de Daubchies DN
Plus le nombre de moments est grand plus on tend à approcher le filtre passe bas
idéal sinc(w) (figure 3.7).
3.6 Conclusion
La transformée en ondelettes a été étudiée en ses débuts par des physiciens
théoriciens dans le domaine de mécanique quantique. Plus récemment elle a été utilisée
en théorie constructive des champs. La d o n n é e en ondelettes en mode continu
coïncide avec la notion d ' d y s e multi-résolution développée par les chercheurs en
vision.
La transformation en ondelettes constitue un puissant outil d'analyse. une de ses
premières applications a été séismologie. Cette transformation a été ensuite appliquée a
l'analyse des sons, des images, et de toutes sortes de signaux.
Du fait que les ondelettes servent à analyser des phénomènes qui se produisent
simultanément à des échelles différentes, elles constituent un outil naturel pour étudier les
objets de type fractal, où les objets qui demeurent semblables à eux-mêmes lorsqu'on les
considère à des échelles différentes [16].
L'analyse et la synthèse par ondelettes permettent d'analyser efficacement des
signaux où se combinent des phénomènes d'échelles très différentes.
L'idée de l'analyse par ondelette est de décomposer un signal sur une base de
fonctions d'un sous-espace ayant des propriétés bien déterminée. En particulier, on peut
chercher à analyser un signal en tentant de localiser dans le temps les irrégularités du
signal c.à.d les variations brusques dans le signal qui correspondent aux hautes
fréquences.
Schématiquement, la transformation en ondelettes revient à effectuer une série de
filtrage passe-bande dans l'espace réciproque (ou plan de Fourier de l'objet), et pour
chaque échelle, à reconstituer l'image de l'objet après filtrage [27l.
La mise en œuvre de la transformation en ondelettes sur ordinateur ne présente pas
de difficultés techniques importantes . Toutefois sa rapidité est fortement liée à [a
rbolution utilisée.
CHAPITRE 4
SCHEME DE COMPRESSION ET RÉSULTATS
4.1 introduction
Le but de la compression d'images est de réduire le plus possible le nombre de bits
nécessaires pour représenter une image tout en conservant une certaine qualité. Ceci est
d'autant plus important que les images numérisées ont le plus souvent des dimensions
importantes. Ainsi une image 512 x 512 codée sur 8 bits (c.a.d 256 niveaux de gris)
requiert pour la représenter 2 097152 bits. Par conséquent, il devient trés coûteux en
terme d'espace mémoire de sauvegarder ces images dans leurs tailles originales. Par
ailleurs, pour la même raison de taille, le temps de transmission de ces images est ûès
long.
Dans cet optique, nous proposons un codec de compression qui, pour l'étape de
transformation utilise la transformée en ondelette, et pour l'étape de quantification utilise
Ies caractéristiques du système visuel humain.
4.2 Étape de la transformation
La transformée en ondelette est une transformation linéaire du signal d'entrée
suivant une base qui permet la localisation de l'information dans le domaine du temps (ou
de l'espace) ainsi que dam celui de la ftéquence.
Il existe deux étapes essentielles lors de la conception d'un système efficace de
transformée en ondelette. La première étape est la sélection d'une base d'ondelettes
optimale par rapport au signai d'entrée. La deuxième étape est le développement de
l'algorithme requis pour la transformée en ondelette.
4.2.1 Sélection de la base d'ondelettes o~timale
Chaque image correspond à un filtre ondelette optimal, dans le sens qu'il
donne le plus petit nombre de coefficients d'ondelettes non nul. Ii est donc
important de bien choisir le filtre ondelette à utiliser.
Plusieurs travaux de recherche visant à déterminer la base d'ondelettes
idéale pour la compression d'images ont été effectués. Ramchamdran et Vetterli
[27] ont utilisé les paquets d'ondelettes pour obtenir la base d'ondelettes la plus
efficace en terme de taux de distorsion pour une image donnée. Tewfik et autres
[29] ont proposé une méthode pour déterminer I'ondelette optimale pour un signal
d'entrée en utilisant l'ondelette de Pollen [30] du fait qu'elle possède un certain
nombre de degrés de liberté. Antonini et autres [3 11 ont conçu un filtre biorthogonal
spline pour la transformée en ondelette qui donne de bon résultats pour des signaux
courts.
M.K. Mandal, S. Panchanathan et T. Aboulnasr [32] ont conclu dans une
étude que les ondelettes de Daubechies sont assez proches de l'optimum et que le
fait de chercher et d'utiliser l'ondelette optimale pour une image donnée ne
donnerait pas des résultats de beaucoup meilleurs à ceux de I'ondelette de
Daubechies. Par ailleurs, un ordre du filtre d'ondelettes ne dépassant pas 12 ou 18
selon la famille d'ondelettes utilisées, fournit en général la meilleure localisation
temps-fréquence [32]. Aussi, les ondelettes de Daubechies moins asymétriques
foumissent de meilleurs résultats à cause de leurs localisations temps-fréquence
supérieures et de la linéarité de leur phase. Par conséquent, elles peuvent être
utilisées comme point de départ pour un algorithme de recherche de l'ondelette
optimale pour la compression d'une image données.
LRabinovitch et A.N. Venetsanopoulos [33] utilisent un module pour
sélectionner le meilleur filtre ondelette au sens qu'il donne le plus petit nombre de
coefficients d'ondelettes non-nuls. Ce module de sélection utilise seulement des
filtres de Daubechies d'ordre inférieur ou égale a 12 à cause de la facilité
d'implémentation et des bons résultats donnés par ce type de filtres. Les filtres
d'ordres supérieurs à 12 ne sont pas utilisés à cause du fait que ces filtres donnent
de moins bons résultats que les filtres d'ordres inférieurs. Le tableau 4.1 regroupe
les résultats de ce module de sélection du filtre ondelette optimal sur différentes
images
I Graphe I Daub-2 I Daub-2 l
Filtre sélectionné par le
module de sélection
Images
Port Daub-2 Daub-2 1
Filtre optimal
Barbara 1 Daub- 12 Daub- 12
Bateau
Tableau 4.1 Résultats du module de sélection
I I
A la lumière de toutes ces études, nous avons alors décidé d'implanter dans
notre schème de compression un module qui identifie l'ordre du filtre d'ondelettes
de Daubechies qui do~e ra i t pour une image ou une sous image données, le plus
petit nombre de coefficients non-nul ( donnant ainsi un fort taux de compression).
Nous désignerons cette ondeIette dans ce qui suit par le terme ondelette optimale.
Daub-8 Daub-6
Daub- 12 Lenna Daub 1 2
4.2.2 Schème de la transformée Dar ondelette
À cause de ses caractéristique, la transformée en ondelette est une analyse
rnulti-résolution. L'idée de base de l'analyse multi-résolution est de diviser l'image
originale en plusieurs sous-images selon une échelle de bandes d'octaves puis de les
analyser séparément. Ce processus est similaire au processus de reconnaissance du
système visuel humain.
La façon la plus commune de diviser l'image originale en plusieurs sous
images selon une échelle de bandes d'octaves en se basant sur les ondelettes, est
d'utiliser un banc de filtres d'ondelettes unidirectionnel. La figure 4.1 représente un
tel banc de filtres d'ondelettes à deux étages et la figure 4.2 représente le résultat de
la décomposition d'une image originde qui en résulte.
Ce genre de bancs de filtres d'ondelettes est adapté aux codecs de
compression d'images qui utiIisent pour la quantification des algorithmes
semblables à l'algorithme d'arbres de zéros "zerotrees". Cependant, il n'est pas
adapté a notre schème de compression dans lequel un algorithme basé sur les
caractéristiques du système visuel humain pour quantifier chacun des coefficients
d'ondelettes de toutes les sous images est utilisé.
Il peut arriver que l'on ait une sous image qui n'est pas décomposée par le
banc de filtre unidirectionnel ( par exemple HH1) mais qui comporte un nombre
élevé de coefficients d'ondelettes qui sont important lors de la reconstruction pour
la vision humaine. Ces coefficients doivent par conséquent être quantifiés avec
beaucoup d'attention.
Figure 4.1 Banc de filtres d'ondelettes unidirectionnel à deux étages de
décomposition
La division de cette sous image ( par exemple HH1) en un ensemble de sous images
permettrait de mieux y localiser l'information dans le temps et dans la fréquence.
LHI
Figure 4.2 Résultat de la décomposition d'une image originale en sous images par
un banc de filtres d'ondelettes unidirectionnel à deux étages
Mieux localiser i'information dans le temps et dans la fréquences veut dire
avoir plus de coefficients d'ondelettes de faibles valeurs. Cela a pour résultat de
générer moins de coefficients d'ondelettes qui requièrent une quantification avec
beaucoup d'attention. C'est pour cette raison que l'on utilise un banc de filtres
d'ondelettes multidirectionnel. La figure 4.3 représente un banc de filtres
d'ondelettes multiduectio~el à deux étages de décomposition. La figure 4.4
représente le résultat de la décomposition d'une image originale en un ensemble de
sous images par ce banc de filtres d'ondelettes.
Figure 4.3 Banc de fiItres d'ondelettes mdtidirectionnel à deux étages de décomposition
Figure 4.4 Résultat de la décomposition d'une image originale en sous images par
un banc de filtres d'ondelettes multidirectio~el à deux étages
Un autre point important a considérer pour l'algorithme de la transformée en
ondelettes est le nombre de niveaux de ddcompositions à utiliser. II a été démontré
[33] que pour avoir des images de hautes qualités avec un bon taux de compression,
il faut que les sous images aient au minimum une résolution de 64 x 64. Donc, pour
une image initiale de 5 12 x 5 12, la prockdure de decomposition ne doit pas dépasser
le troisième niveau.
Nous utilisons dans notre schéme de compression un banc de filtres
d'ondelettes muhidirectionnel. Ce banc de filtres décompose toutes les sous images
sans tenir compte du fait qu'une sous image doit ou ne doit pas être divisée. Le
choix qu'une sous image doit ou ne doit pas être divisée est effectué selon le
nombre de coefficients d'ondelettes important visuellement qu'elle contient. Pour
que notre schème de décomposition par ondelette soit le plus efficace possible, nous
avons construit un module de décision de décomposition. Le principe de
fonctionnement de ce module est le suivant: avant de décider la décomposition
d'une sous image, le module calcule le rapport entre le nombre de coefficients
d'ondelettes de la sous image qui sont important à la vision humaine (voir
paragraphe 4.3.2) et la dimension de cette sous image. II compare ensuite se rapport
a un seuil. Si ce rapport est supérieur au seuil, la sous image sera décomposée.
4.3 Étape de la quantification
L'objectif principal de la compression d'images est la représentation d'une image
avec le minimum de données toute en maintenant la qualité requise de l'image. Comme
en général le contenu des images est perçu par des humains il paraît intéressant sinon
approprié d'utiliser plutôt les caractéristiques du système visuel humain pour atteindre
l'objectif de compression. C'est pour cette raison qu'on utilisera un rnodde basée sur les
caractéristiques du système visuel humain afm de quantifier de façon adaptative les
coefficients d'ondelettes.
4.3.1 Les caractéristiaues du système visuel humain
Les caractéristiques du système visuel humain ont été incorporé aux
algorithmes de codage d'images par plusieurs chercheurs.
Mannos et Sakrison (341 ont utilisé les caractéristiques du système visuel
humain et la transformée de fourier discrète (TFD) pour le codage d'images. Nil1
[35] a développé un mode1 du système visuel humain dans le domaine de la
transformée en cosinus discret (TCD). Wamn a montré comment utiliser d i r e n t s
effets de masquage pour une image donnée dans le domaine de la transformée en
cosinus discret. Il a étd ddmontrk [36] que la sensibilité de la vision humaine dans le
domaine de la fiequence peut être représenté par la fonction de transfert de
modulation "modulation transfer function ". De la transformée de Fourier de la
réponse impulsionnelle nous obtenons la réponse frérluentielle du système visuel
humain de laquelle la fonction de transfert de modulation peut être déduite.
Antonini et autres 1311 ont proposé un algorithme utilisant des vecteurs de
quantification (VQ) pour éliminer les redondances entre bandes. Cependant les
vecteurs de quantifications requièrent des calculs très lourds. Lewis et autres [37]
ainsi que Knomles et autres [38] ont proposé un algorithme de compression en
structure d'arbres basé sur les caractéristiques du système visuel humain. L'idée
principale de ces algorithmes est que l'arbre est encodé de façon récursive si la
valeur absolue d'un coefficient de la transformée en ondelette est supérieur à un
seuil sinon l'arbre est rejeté ce qui veut dire que le coeficient n'est pas important.
Nous aussi nous incorporons à notre schème de compression un module de
traitement dont le processus est b& sur les propriétés du systkme visuel humain
pour quantifier de façon efficace les coefficients d'ondelettes. Vu la complexité et
la non lindarité du système visuel humain, il est très d i f i i le de trouver un modile
qui soit A la fois assez proche de ce dernier et en même temps qui soit facile A
incorporer dans le schème de compression. Cependant, il est possible d'utiliser les
propriétés essentielles du système visuel humain pour faciliter le processus de
compression. Parmi les propriétés les plus importantes du système visuel humain
citons [33]:
Le système visuel humain possède une plus grande sensibiiité à la
présence de bord et de régions de grande texture c.à.d des régions qui possèdent
de grande irrégularités. De ce fait le sysîème visuel humain donne plus
d'importance aux régions de haute Mquwce (les bords et les régions de texture
constitue une information de haute fiéquence) qu'aux autres régions. Ce genre
d'informations est donc important pour la vision humaine et doit être quantifié
avec beaucoup d'importance.
Une autre propriété importante du système visuel humain est la variation
du degré de sensibilité du système visuel humain selon la fiéquence spatiale. En
particulier, le système visuel humain a une faible sensibilité de variation de
contraste pour les hautes frequences (tout ce qui est supérieur a 10
cyclesldegré), une haute sensibilité pour les fréquences moyennes (
généralement entre 5 et 9 cyclesidegré) et une sensibilité moyenne pour les
basses fiéquences ( O à 5 cycleddegré). Cette sensibilité est connue comme
étant la fonction de sensibilité de contraste tel qu'illustre la figure 4.5. Cette
propriété implique que les informations de hautes fiéquences doivent bénéficier
d'une quantifications plus importante que les informations de basses fréquences.
Les autres propriétés sont celles d'effets de masquage, il existe plusieurs
propriétés de masquage qui masquent de faibles variations dans une image.
Parmi ces effets de masquage, on cite le masquage de luminance, le masquage
de texture et le masquage de régions proches des cotés. Les caractéristiques de
l'image qui sont normalement masquées pourraient être quantifiées avec moins
d'importance.
4.3.2 L'al~orithme de auantifkation basé sur les caractéristiaues du svstèrne
visuel humain
Un des avantages de la transformée en ondelette est la facilité d'incorporer
les propriétés du système visuel humain lors de la réalisation d'un système de
traitement d'images. En effet, les propriétés du système visuel humain se retrouvent
dans le domaine du temps et dans celui de la fréquence comme la transformée en
ondelette. Malheureusement, l'application de la transformée en ondelette à une
image donne toujours beaucoup trop de coefficients non nuis pour avoir un bon taux
de compression. Alors pour avoir un bon taux de compression, il est nécessaire
d'essayer d'éliminer le maximum de coefficients non nuis sans dégrader la qualité
de perception de l'image.
L'idée principale du processus du module basé sur les caractéristiques du
système visuel humain est de quantifier les coefficients d'ondelettes selon leurs
importances par rapport B ce système. Ainsi, les coefficients d'ondelettes qui ont
une contribution moindre que les autres pour la qualité de perception de l'image
sont quantifiés avec une importance moindre que les autres.
On définit une valeur q qui représente le seuil utilisé pour qu'un
coefficient d'ondelettes soit considéré important ou non pour le système visuel
humain. La valeur de q varie selon la complexité de l'image. La complexité de
l'image est représentée par le nombre de coefficients non nul produit par la
transformée en ondelette.
L'expression de q a été déterminée de façon empirique après avoir
effectué un grand nombre d'essais sur différentes images [33]. Cette expression liée
au nombre de coefficients d'ondelettes non nui est la suivante :
avec cnn est le nombre de coefficients d'ondelettes non nuls.
Chaque coefficient d'ondelette est ensuite examint pour savoir si c'est un
coefficient important ou non. Cet examen se fait en comparant la valeur locale de la
taille du bord "edge height" qui est la variation de contraste dans la région ou se
trouve te coefficient en question au seuil noté q. La valeur locale de la taille du bord
"edge height" est calculée par [33]:
Avec
1 est la sous image constituée de coefficients d'ondelettes obtenus après la
transformation par ondelettes.
Si la quantité EH(x,y) est supérieure à q, le coefficient d'ondelette est
important pour la vision humaine sinon le coefficient d'ondelette n'est pas
important pour la vision humaine et peut être quantifie avec moins d'importance.
Cependant cet algorithme possède une faiblesse car il ne tient pas compte de
la bande de fréquences ou se trouve le coefficient d'ondelette. Le seuil q déterminé
par l'équation 4.1 ne prend pas en considération la sous bande où se trouve le
coefficient d'ondelette. Or Ies différentes sous bandes n'ont pas toutes la même
importance pour notre système visuel humain. Aussi, afin de remédier à cette
faiblesse nous essayerons par la suite de quantifier la différence d'importance entre
les différentes sous bandes en modélisant le fonction de transfert de modulation du
système visuel humain. Pour le moment, nous nous contenterons d'ajouter que pour
pondérer i'importance des diffdrentes sous bandes, le seuil q sera multiplié par un
poids qui sera déterminé par la suite et qu'on appellera poids visuel humain.
Pour déterminer le poids de la vision humaine (PVH) de chaque bande de
fréquences obtenue par subdivision de l'image en échelle de bande d'octaves par
transformée en ondeleite, il est nécessaire d'avoir la fonction de sensibilité du
système visuel humain sur toute la bande de fiéquences.
La fonction de transfert de modulation représente les propriétés de
perception de la vision humaine par rapport à la fréquence spatiale. Elle est définie
comme étant le taux de changement d'un échantillon sinusoïdal par rapport à
l'angle de vision en cycles par degré.
La fonction de transfert de modulation conventionnelle n'est pas définie en
terme de bandes de fréquences, Yong Kyu Kim et autres [36] ont proposé une
solution mathématique pour déterminer la sensibilité du système visuel humain
selon chaque bande de fiéquences.
La transformée en ondelette divise l'image originale en plusieurs sous
images suivant une échelle de bandes d'octaves. Ce processus est similaire au
système de reconnaissance de la vision humaine. La base de fonctions de la
transformée en ondelette se sont les ondelettes. Celles-ci sont les versions dilatées et
translatées de I'ondelette mère. Le résultat de cette échelle d'espace est que toutes
les ondelettes ont le même nombres de cycles où la fréquence de ces cycles varie en
échelle logarithmique.
La transformée en ondelette peut être considérée comme la décomposition
en sous bande d'un signal par un filtre miroir en quadrature (FMQ) en un ensemble
de bandes de fiéquences ayant la même largeur de bande en échelle logarithmique.
Le poids de chaque bande de fiéquences est déterminé par le rapport de la
réponse en fiéquence d'un filtre à ondelette idéal et de la fonction de transfert de
modulation de la bande correspondante. La fonction de transfert de modulation est
ensuite convertie au domaine de fréquences de l'image.
11 existe plusieurs modèles de !a fonction de transfert de modulation
proposés entre autre par Mannos et Sakrison 1341, par Nil1 [35] et par bien d'autres.
ces fonctions ont une valeur maximale de 3 à 10 cycles par degré puis diminuent de
façon exponentielle dans ta région des hautes fidquences. Ceci démontre l'effet
passe bande qui caractérise le systkme visuel humain. En général, l'expression de la
fonction de transfert de modulation est :
Où p, q, r, s et t sont des constantes ( selon [36], p = 2.6; q = 0.192; r = s = 0.1 14; t
= 1.1 ) et f, est la fréquence spatiale. La figure 4.5 représente la fonction de transfert
de modulation dans le cas unidimensiomeI (ID).
Pour obtenir les poids visuels humains, la fonction de transfert de
modulation définie en cycle par degré doit être transformée dans le domaine
fréquentiel d'images c.à,d en cycles par pixels. Ceci peut être réalisé par la
transformation selon l'équation 4.4 :
f, (cycleddegré) = fi (cycledpixels) * f, (pixelddegré)
= fi /sin-'(l/[l+ d2(h2 + v ~ ) ] ~ ' ~ )
fi représente la fréquence de l'image obtenue par la transformation de Fourier, le
facteur de normaiisation f, est le nombre de pixels à l'intérieur de 1 degré à une
distance d'observation de d fois la diagonale de l'image, h et v représentent les
dimensions horizontales et verticales de l'image en nombre de pixels.
Figure 4.5 Fonction de transfert de moduiation dans le cas une dimension ( 1 D)
La figure 4.6 reprdsente les bandes de fréquences obtenues par division
d'ondelettes dans le cas d'un banc de filtres unidiectio~el pow un signal à une
dimension (ID). La figure 4.7 représente les bandes de fiéquences obtenues par
division d70ndelettes dans le cas d'un banc de filtres multidiiectionnel pour un
signal à une dimension (1 D).
Figure 4.6 Bandes de fréquences d'un banc de filtres unidirectionnel d'un signai ii une
dimension (1 D)
fkécpeacer de Pimagt w(rdîarJ@xei)
Figure 4.7 Bandes de muences d'un banc de filtres m d t i d k c t i o ~ e l d'un signai a
une dimension (1 D)
La sensibilité d'une bande de fréquences est définie comme étant l'intégrale
de la fonction de transfert de modulation selon cette bande de fréquence. La figure
4.8 représente la fonction de transfert de modulation et les bandes de fréquences
obtenue pour un banc de filtres unidirectionnel dans le cas d'un signal a une
dimension (1 D).
Figure 4.8 Fonction de transfert de modulation et les bandes de fiéquences d'un banc de
filtres unidirectionnel dans le cas d'un signal à une dimension (ID)
Le poids visuel humain (PVH) pour une bande de fiéquences [a,b] est d é h i
par [36]:
Pour compenser l'anisotropie de la vision humaine, la fonction de transfert
de modulation est reformulée dans le domaine bidimensionnel (2D) en utilisant le
fait que la sensibilité dans la direction diagonale diminue. Cette diminution est
modéliste en prenant :
le facteur de normalisation angulaire k sera pris égale à 0.7 [36].
La figure 4.9 représente les bandes de fréquences obtenues par division
d'ondelettes dans le cas d'un banc de filtres unidirectionnel pour un signal à deux
dimensions (2D). La figure 4.10 représente des poids visuel humain (PMI) calcdés
pour certaines bandes de fréquences selon les équations 4.5 et 4.6 [36] pour une
image de dimension 5 12x5 12. Notons que f, et f, dans I'dquations 4.6 dépendent de
la dimension de l'image traitée. Par suite les poids visuel humain de la figure 4.10
dépendent aussi de la dimension de l'image. La figure 4.1 1 montre la fonction de
transfert de modulation en deux dimension (2D). La bande de fréquence ayant le
poids le plus petit est celle qui comporte le plus d'informations visuelles. Afin
d'incorporer les caractéristiques de la vision humaine à notre algorithme, chaque
coefficient de la transformée en ondelene sera divisé par son poids visuel humain
correspondant à sa bande de fréquences. Ou plus simplement, le seuil q sera
multiplié par le PVH.
Figure 4.9 Bandes de fréquences dans Ie cas d'un banc de filtres unidirectionnel pour
un signal a deux dimensions (2D)
Fr@mm & l'image ur, (radiaalpxd)
x/4 d2
Figure 4.10 Poids visuel humain pour certaines bandes de fréquences
Figure 4.1 1 Fonction de transfert de modulation en deux dimension (2D)
4.4 Algorithme - de compression
l'algorithme de compression proposé est le suivant :
1- Entrer au niveau actuel, une image originale A traiter. Au début de l'exécution
de l'algorithme c'est le niveau 1.
2- Vérifier si l'image originale doit être divisée ou non. Calculer le rapport du
nombre de coefficients d'ondelettes qui sont importants au système visuel
humain aux dimensions de l'image. Si ce rapport est supérieur à un seuil
l'image doit être divisée et on passe à l'étape 3. Si l'image ne doit pas être
divisée, les coefficients d'ondelettes de L'image sont arrangés selon leurs
importances au système visuel humain. Ces coefficients d'ondelettes classés
seront transmis ultérieurement de façon progressive selon leurs importances.
L'image originale est effacée de la mémoire, passer à l'étape 4.
3- L'image originale est divisée en quatre bandes de fréquences. Ceci est réalisé en
définissant d'abord par l'utilisation d'un module de sélection, le meilleur filtre
ondelette pour cette image. Ce filtre ondelette est optimal au sens du plus petit
nombre de coefficients d'ondelette non nuls. Il est utilisé par le banc de filtre
pour effectuer la division de l'image. L'image originale est ensuite éliminée de
la mémoire. les quatre images obtenues deviennent des images originales du
niveau suivant. Elles seront traitées après à partir de l'étapes 1.
4- Vérifier qu'au niveau actuel il n'y a plus d'images originales à traiter. Si il n'y a
plus d'image à traiter passer à l'étape 5 sinon passer à I'étape 1.
5- Fin de la partie analyse. A ce niveau, nous obtenons un ensemble de coefficients
d'ondelettes qui sont arrangés selon leurs importances pour le système visuel
humain. Ces coefficients pourront alors être codés par le codage de Huffman ou
le codage arithmétique puis transmis progressivement selon leurs importances.
De l'autre coté du canal de transmission, les coefficients d'ondelettes reçus
progressivement seront décodés, puis utilisés pour la reconstruction par le banc
de filtres.
4.5 Exemple d'exécution de l'algorithme de com~ression proposé
Niveau 1 :
- Nous entrons l'image originale à traiter.
- L'ordre du filtre d'ondelettes optimal est détermink.
- Le filtre d'ondelettes optimal est utilisé pour diviser l'image originale en quatre
sous images. Ces sous images constituent les images origuiales du niveau 2. - L'image originale est éliminée de la mémoire.
Niveau 2 :
Pour chaque image originale du niveau 2 : - Nous classons les coefficients d'ondekttes selon leurs importances pour le
système visuel humain.
- Nous calculons le rapport du nombre de coefficients d'ondelettes importants
pour le système visuel humain et du produit des dimensions de l'image originale
du niveau 2. - Si le rapport est supérieur à un seuil choisi :
L'ordre du filûe d'ondelettes optimal pour
l'image originale du niveau 2 est calculé.
Le filtre d'ondelettes optimal est utilisé pour
diviser l'image originale du niveau 2 en quatre
sous images. Ces sous images feront partie des
images originales du niveau 3.
rn L'image originale du niveau 2 est éliminée de la
mémoire.
- Si le rapport est inférieur au seuil choisi :
rn Les coefficients d'ondelettes classés selon leurs
importances pour le système visuel humain sont
gardé en mémoire.
L'image originale du niveau 2 est éliminé de la
mémoire.
Niveau 3 :
Nous répétons la même procédure du niveau 2 avec les images originales du niveau
3. La figure 4.12 schématise ce processus.
4.6 Promanunation de l'algorithme - de com~ression ~ r o w s é
Pour réaliser l'algorithme de compression que nous proposons, nous utilisons les
programmes suivants. Ces programmes ont été écrits en langage ~a t lab" et mis en a u n e
à l'aide de ce logiciel :
CALHVS : Ce programme sert à calculer les poids visuels humains (PVH) 'w,' pour
toutes les bandes de fréquences et b tous les niveaux de décomposition. Le choix du
niveau de décomposition maximum est défini et fixé selon l'image à traiter. La
valeur de 'm' défini le niveau de décomposition.
Ce programme est le premier programme qui doit être exécuté afin de calculer les
poids visuels humains qui seront utilisés après par les autres programmes.
Ce programme fait appel au sous programme iNTXY.
WTXY : Ce programme sert A calculer l'équation 4.7.
Ce programme fait appel au sous programme MTF.
fPIiS-mc I w- I Mwu 1 . I Non i m p m 1
I I -
Figure 4.12 Exemple d'exécution de l'algorithme de compression proposé
MTF : Ce programme sert à calculer l'équation 4.8.
ahvs = p*(q +r *f,)*exp(-s* f,)'
avec
fs = filsin-'(1/(1+ d2(h2 + v ~ ) ) " ~ )
et
PROGPRM : Ce programme sert à effectuer la décomposition de l'image originale en
un certain nombre de sous images. 11 a pour résultat un ensemble de coefficients
d'ondelettes représentant l'image originale. Ces coefficients d'ondelettes sont
arrangés selon leurs importances pour le système visuel humain. Ils sont alors prêts à
être transmis de façon progressive selon leurs importances pour le système visuel
humain, du coefficient d'ondelettes le plus important au moins important.
Ce programme fait appel aux sous programmes HVS, HVSFM et ANALYSE. A la
fin de l'exécution de ce programme, on obtient une matrice de coefficients
d'ondelettes classés selon leurs importances pour le système visuel humain. Ce
programme représente l'étape de iraitement de l'image avant la transmission
progressive des données représentant l'image.
HVS : Ce programme sert à déterminer les coefficients d'ondelettes
d'une sous image qui sont important pour le système visuel humain. Ces
coefficients d'ondelettes sont ensuite classés selon leurs importances. II
sert aussi à prendre la décision de deviser ou non la sous image.
8 HVSFIN : Ce programme sert à déterminer les coefficients
d'ondelettes d'une sous image qui sont important pour le système visuel
humain puis les classe selon leur importance. Il est utilisé dans le cas du
dernier niveau de décomposition.
ANALYSE : Ce programme sert a calculer l'ordre optimal du filtre
de Daubechies pour une sous image donnée. Il sert aussi à décomposer
cette sous image avec le filtre de Daubechie optimal.
Ce programme fait appel au sous programme WTSDBA.
r WT2DBA : Ce programme sert à effectuer la décomposition d'une
image par un banc de filtre d'ondelettes à un niveau de
décomposition.
Ce programme fait appel au sous programme WTBA.
O WTBA: Ce programme sert à effectuer la
décomposition d'un signal unidimensionnel par un banc de
filtres d'ondelettes à un niveau de décomposition.
Tout les programmes décrits ci-dessous sont utilisés dans l'étape du traitement de
l'image pour fournir un ensemble de coefficients d'ondelettes représentant l'image. Ces
coefficients d'ondelettes sont classés selon leurs importances pour le système visuel
humain afin qu'ils soient transmis de façon progressive. Les programmes qui suivent
servent à la reconstruction progressive de l'image à partir des coefficients d'ondelettes
transmis progressivement.
RECONS : Ce programme sert ih la reconstruction progressive de l'image à partir des
coefficients d'ondelettes reçus progressivement.
Ce programme fait appel au sous programme SYNTHESE.
a SYNTHESE : Ce programme sert à effectuer la reconstruction complète
d'une sous image.
Ce programme fait appel au sous programme IWT2DBAD.
O IWT2DBAD : Ce programme sert à effectuer la reconstruction
d'une sous image avec un banc de filtres d'ondelettes a un niveau de
décomposition.
Ce programme fait appel au sous programme IWTBAD,
oIWTBAD : Ce programme sert à effectuer la reconstruction d'un
signal unidimensionnel avec un banc de filtres d'ondelettes à un
niveau de décomposition.
CHAPITRE 5
RÉSULTATS ET DISCUSSIONS
5.1 Résultats
Afin d'évaluer les performances du schéma de compression que nous proposant,
nous avons utilisé l'algorithme de compression sur plusieurs images. Nous avons aussi
mesuré le taux de compression ainsi que le rapport du signal maximal sur bruit RSM8
"peak signal-to-noise ratio". L'expression du rapport du signal maximal sur bruit RSMB
est donnée par l'équation 5.1.
RSMB = 10log,,( E[{Ri,j) - f(Wl21 1
f(ij) est l'image originale et f (i j) est l'image reconstruite. Le rapport du signal
maximal sur bruit (RSMB) ne mesure pas de façon objective la qualit6 de l'image perçue
par l'humain cependant permet de comparer cette méthode à d'autre techniques de
compression.
Les résultats de notre méthode seront présentes d'abord avec l'image intitulée
"Lena" iilustrée a la figure 5.1. Cet image a ét6 choisie parce qu'elle est très cornue dans
le domaine du traitement et de compression des images.
L'image "Lena" a des dimensions de 256x256 pixels. Ces niveaux de gris sont
codés sur 8 bits.
Figure 5.1 Image originale "Lena"
La première étape de la méthode consiste à déterminer les poids visuel humain pour
une image de 256x256 pixels. Ces poids sont calculés pour toutes les bandes de
fréquences correspondants a un niveau de décomposition maximal de six. On suppose
qu'un niveau maximal de six est suffisant, mais la méthode peut accepter un autre niveau
maximal de décomposition.
Ces facteurs ne sont pas présentés ici car leur nombre est donné par la somme de la
suite suivante:
où i est le niveau de décomposition.
La figure 4.10 présente quelques poids visuel humain pour une image de dimension
5 12x5 12 pixels.
Notons que le calcul de ces PVH pourrait être effectué une seule fois et sauvegardé
pour une utilisation ultérieure.
Le filtre d'ondelettes utilisé pour obtenir tous les résultats présentés dans ce
document est le filtre de daubechies. Son ordre est déterminé par l'algorithme et peut
varier entre 2 et 12.
La deuxième étape de l'algorithme consiste à décomposer l'image en quatre sous
bandes. Notons qu'à chaque décomposition le filtre d'ondelettes optimal est utilisé en
déterminant l'ordre optimal fournissant le plus grand nombre de coefficients d'ondelettes
nuls. Le filtre ainsi utilisé pour cette première décomposition est le filtre de daubechies
d'ordre 2.
La troisième étape de l'algorithme consiste à séparer pour chaque sous bandes les
coefficients en deux groupes : importants ou non importants. Ceci est réalisé en
comparant chaque coefficient au seuil de la sous bande. Si le nombre de coefficients
importants est supérieur à 50%' la sous bande correspondante est décomposé encore une
fois.
Après analyse des coefficients imponants notre algorithme décide d'arrêter le
processus de décomposition. Avant d'analyser les images reconstruites nous aimerons
mettre en évidence l'effet de la pondération par le PVH du seuil des sous bandes. Nous
analysons deux paires d'images. Chaque paire d'images est constituée :
1. D'une image reconstruite avec les coefficients importants de la sous
bande LL de la premitre décomposition.
2. De tous les coefficients importants de toutes les sous bandes de la
première décompostion.
La première paire d'images est obtenue en trtilisant un seuil non pondéré.
La figure 5.2 montre l'image reconstruite a l'aide des coefficients importants de la
sous bande LL; ces coefficients sont obtenus à t'aide d'un seuil non pondéré; le taux de
compression de cette image est de 19.047 : 1 et le RSMB est de 6.3299 (dB).
La figure 5.3 montre l'image reconstruite à l'aide de tous les coefficients importants
de toutes les sous bandes; ces coefficients sont obtenus a l'aide d'un seuil non pondéré.
Le t a u de compression de cette image est de 10.627 :1 et le RSMB est de 6.3 178 (dB).
Étant donné que le nombre de coefficients a augmenté le taux de compression
augmente aussi mais le RSMB est reste sensiblement le même. Les deux images sont
visuellement pratiquement semblables.
Figure 5.2 Image reconstnllte Si partir de tous les coefficients importants de la
sous bande LL sans utiliser les PVH
Figure 5.3 Image reconstruite à partir de tous les coefficients importants de toutes
les sous bandes sans utiliser les PVH
Figure 5.4 Image reconstruite à partir de tous les coefficients importants de la
sous bande LL en utilisant les PVH
Figure 5.5 Image reconstruite a partir de tous les coenicients importants de
toutes les sous bandes en utilisant les PVH
Les figures 5.4 et 5.5 montrent L'image reconstruite à l'aide des coefficients
importants de la sous bande LL et de toutes les sous bandes respectivement. Ces
coefficients sont obtenues en utilisant un seuil pondéré par le PVH. Pour la figure 5.4
nous avons un taux de compression de 29.3255 :1 et un RSMB de 5.9137 (dB) alors que
pour la figure 5.5 nous avons un taux de compression de 18.9753 :1 et un RSMB de
5.9043 (dB}.
Le taux de compression de l'image de la figure 5.5 (tous les coefficients importants
pondérés) est proche de celui de l'image de la figure 5.2 (coeficients importants LL non
pondérés). Par contre la qualité visuelle de l'image de la figure 5.5 semble meilleure que
celle de l'image de la figure 5.2.
Figure 5.6 Image reconstruite avec les coefficients de la sous bande LL
Figure 5.7 image reconstruite avec les coefficients de la sous bande LL et tous
les coefficients importants de toutes les autres sous bandes
L'image reconstruite avec les coefficients de la sous bande LL est montrée à la
figure 5.6 son taux de compression est de 4 : 1 et son RSMB est de 23.6549 (dB). A cet
image on ajoute la contribution des coefficients importants des autres sous bandes pour
obtenir I'image illustrée à la figure 5.7. Son taux de compression est de 3.7244 :1 et son
RSMB est de 23.0806 (dB), La qualitd visuelle de cette dernière est certainement
meilleure que l'image de la figure 5.6. Les coefficients importants de toutes les sous
bandes sont montrés à la figure 5.5,
Image "Cerveau":
Les dimensions de l'image "Cerveau" illustré à la figure 5.8 sont de 512x512
pixels. Les niveaux de Ms sont codés sur 8 bits. L'algorithme a déterminé que l'ordre
optimal du filtre de daubechies à utiliser est de 2. L'algorithme s'est contenté de
décomposer une seule fois en quatre sous bandes.
L'image reconstruite avec les coefficients de la sous bande LL est montrée à la
figure 5.9 son taux de compression est de 9.7895 : 1 et son RSMB est de 16.21 19 (dB). A
cet image on ajoute la contribution des coefficients importants des autres sous bandes
pour obtenir l'image illustrie A la figure 5.10. Son taux de compression est de 9.414 1 : 1 et
son RSMB est de 12.7399 (dB). L'image reconstruite avec les coefficients importants de
toutes les sous bande est montrée à la figure 5.1 1 son taux de compression est de
3 1.9489: 1 et son RSMB est de 9.3277 (dB).
Figure 5.8 Image originale "Cerveau"
Figure 5.9 Image reconstruite avec les coefficients de la sous bande LL
Figure 5.10 Image reconstruite avec les coefficients de la sous bande LL et tous
les coefficients importants de toutes les autres sous bandes
Figure 5.1 1 Image reconstruite à partir de tous les coefficients importants de
toutes les sous bandes
image "Poumons":
Les dimensions de l'image "Poumons" illustré a la figure 5.12 sont de 512x512
pixels. Les niveaux de gris sont codés sur 8 bits.
Figure 5.12 image originale "Poumons"
L'algorithme a déterminé que l'ordre optimal du filtre de daubechies a utilisé est de
8. L'algorithme s'est contenté de décomposer une seule fois en quatre sous bandes.
L'image reconstruite avec les coefficients de la sous bande LL est montrée à la
figure 5.13 son taux de compression est de 4 : 1 et son RSMB est de 16.9977 (dB). A cet
image on ajoute la contribution des coefficients importants des autres sous bandes pour
obtenir l'image illustrée à la figure 5.14. Son taux de compression est de 3.9415: 1 et son
RSMB est de 16.9139 (dB). L'image reconstruite avec les coefficients importants de
toutes les sous bande est montrée à la figure 5.15 son taux de compression est de
47.8469 :1 et son RSMB est de 4.7223 (dB).
Figure 5.13 Image reconsiruite avec les coefficients de la sous bande LL
Figure 5.14 Image reconstruite avec les coefficients de la sous bande LL et tous
les coefficients importants de toutes les autres sous bandes
Figure 5.15 image reconstruite à partir de tous les coefficients importants de
toutes les sous bandes
5.2 Discussion
D'après les résultats visuels des figures 5.4, 5.5 , 5.1 1 et 5.15, nous remarquons
que l'on peut localiser les informations caractéristiques de l'image, telle que les
variations brusques comme les contours ou les bords, avec un taw de compression élevé.
Ceci peut être d'un grand intdrêt pour des images biomédicales : Un médecin peut A partir
d'une image reconstruite avec trés peu de coefficients d'ondelettes, localiser une zone
d'intérêt, par exemple une tumeur. Si le médecin a besoin de plus de détails pour
s'assurer de son diagnostic, il peut au fur et à mesure augmenter le nombre de
coefficients d'ondelettes utilids pour avoù une reconstruction progressive de l'image, tel
qu'illustré par les figures 5.4 et 5.5. 11 peut aussi, s'il le juge nécessaire reconstdre une
image qui est identique à l'originale en faisant appel à tous les coefficients d'ondelettes
reprisentant l'image d'origine.
Notons aussi que la séquence de transmission des coefficients d'ondelettes dépend
des résultats désiris. Si l'on désire avoir dés le début de la transmission une image
reconstruite qui ressemble grosso modo à l'image originale, il faut transmettre au début
des coefficients d'ondeletles importants pour le système visuel humain et des coefficients
d'ondelettes de moindre importance, par la suite tel qu'illustré par les figures 5.6, 5.9 et
5.13. Les coefficients d'ondelettes importants pour le système visuel humain conûibuent
a faire apparaître s u l'image reconstruite les idonnations de hautes fiéquences comme
ies bords, comme le montre la figure 5.5. Par contre, les coefficients d'ondelettes de
moindre importance pow le système visuel humain contribuent a faire apparaître sur
l'image reconstruite les informations de basses fiéquences comme des zones it niveaux de
gris constants. Après avoir obtenu au début une image reconstruite qui ressemble grosso
modo a l'image originale, nous pouvons ensuite transmettre les coefficients restants
d'ondelettes importants pour le système visuel humain suivis des coeficients restants
d'ondelettes de moindre importance, tel qu'illustré par les figures 5.6,5.7,5.9, 5.10,5.13
et 5.14. Si l'on désire localiser les informations caractéristiques de l'image, telles que les
variations brusques comme les contours ou les bords, dors il faut alors transmettre en
premier les coefficients d'ondelettes importants pur le système visuel humain. Puis les
coefficients d'ondelettes de moindre importance.
CONCLUSION
Nous avons développé une méthode de compression d'images basée sur
l'utilisation des ondelettes. Le sch&me de compression proposé fait usage à chaque
niveau de décomposition d'une ondelette choisie de façon à être efficace. Nous avons par
ailleurs utilisé une modélisation du système visuel humain pour classifier par ordre
d'importance visuelle les coefficients d'ondelettes des sous bandes. Ceci est réalisé par
l'utilisation d'un algorithme basé sur les caractéristiques du systéme visuel humain pour
la quantification des coefficients d'ondelettes afin d'éliminer les redondances
psychovisuelles.
Notre méthode a été appliquée et analysée sur l'image "Lena" et sur deux autres
images médicales. Nous avons pu démontrer que la modélisation du système visuel
humain permettait d'obtenir une première estimation de l'image reconstruite avec une
qualité visuelle acceptable. Cette qualité visuelle peut être améliorée en utilisant
progressivement plus de coefficients d'ondelettes. Ceci est possible car notre méthode
pemet de classifier ces coefficients par ordre décroissant d'importance pour notre
système visuel. Ainsi, d'après les résultats visuels, nous remarquons que I'on peut
localiser les informations caractéristiques de l'image, telle que les variations brusques
comme les contours ou les bords, avec un taux de compression élevé.
Notons aussi que la séquence de transmission des coefficients d'ondelettes dépend
des résultats désirés. Si I'on désire avoir dés le début de la transmission une image
reconstruite qui ressemble grosso modo a l'image originale, il faut transmettre au début
des coefficients d'ondelettes importants pour le système visuel humain et par la suite, des
coefficients d'ondelettes de moindre importance. Les coefficients d'ondelettes importants
pour le système visuel humain contribuent à faire apparaître sur l'image reconstruite les
informations de hautes fréquences comme les bords. Par contre, les coefficients
d'ondelettes de moindre importance pour le système visuel humain contribuent à faire
apparaître sur l'image reconstruite les informations de basses fréquences comme des
zones A niveaux de gris constants. Si l'on désire localiser les informations caractéristiques
de l'image, telles que les variations brusques comme les contours ou les bords, alors il
faut transmettre en premier les coefficients d'ondelettes importants pour le système visuel
humain. Puis les coefficients d'ondelettes de moindre importance.
Enfin, nous avons amélioré le modèle du système visuel humain en utilisant des
poids visuel humain (PVH). Les résultats obtenus par le schème de compression proposé
sont fort satisfaisants. Cependant nous pensons que les recommandations qui suivent,
rendraient le schème de compression plus efficace. Ainsi nous suggérons de:
Diminuer le temps d'exécutions du processus de compression-décompression.
Une mesure du temps nécessaire pour l'exécutions de cbaque étapes du
processus, nous informera sur les étapes qui prennent le plus de temps. Ceci
nous aidera à essayer d'améliorer la programmation de ces dtapes afin qu'elles
prennent moins de temps d'exécution.
D'utiliser un autre langage de programmation tel que le langage C. Parce que
la programmation du schème de compression utilise dnomément de structures
et la programmation par ~at lab" n'y est pas adaptée.
D'utiliser un meilleur modèle du système visuel humain pour avoir une
meilleure quantification des coefficients d'ondelettes.
Choisir une séquence optimale pour la transmission des coefficients
d'ondelettes selon leurs importances pour le systeme visuel humain. Cette
séquence de transmission nous permettrait d'avoir une reconstruction
progressive plus rapide de l'image reconstruite.
Faire l'étude du choix du filtre optimal selon un critère impliquant le système
visuel humain.
A. Netravali and B. Haskell, (1988). Digital Pictures. Representation and
Com~ression. New York : plenum.
R.J. Clarke, (1995). Digitai Com~ression of Still hages and Video. San Diego :
Academic Press.
M. Kunt, A.I. KonornopoIous and M. Kocher, (1985). Second Generation Image
Codine. Techniaues. Proceeding of the IEEE, Apd 1985.
R.Wilson, (1984). Ouad-tree Predictive Codin~ : A New class of Image Data
com~ression Akorithms. Proceeding of the 1984 IEEE Cod. On ASSP.
Y. Cohen, M.S. Landy and K. Pavel, (1985). Hierarchical Coding of Binary
Images. IEEE Transaction on Pattern Andvsis and Machine Intellinence, 1(3), pp.
284-298.
O.J. Kwon and R Chellappa, (1993). Segmentation-based Image Compression.
O~tical En~ineering. Society of Photo-opticai Instrumentation Engineers. July.
R.A. Hom and CR. Johson, (1990). Matrix Analvsis. New York : cambridge
University Press.
Gilbert Held and thornas R. Marshall, (1991). Techniaues and A~~iications,
Hardware and Software Consideratiom. New York : John Wiley and Sons, Inc.
H. Lohscheller, (1984). A Subjectively Adapted Image Communications System.
IEEE Trans. Commun., pp. 1316-1332.
S. Mallat, (1989). Multifrequency channel decomposition of images and wavelet
models. IEEE Transactions and Acoustics. Sueech and Siaanl Processing, 37(12),
pp. 2091-21 10
Grossmann, A., Morlet, J., (1987). Math. & Phrs., Lectures on recent results.
L.Streit, World Scientific.
Lemarié P.G, (1988). Ondelettes à localisation exponentielle. J. de math. Pures et
ADI-, 67(3), pp. 227-236.
Meyer Y, (1990). Ondelettes. in ondelettes et operateurs. Hermann.
S. Mallat, (1989). A theory for multiresolution signal decompostion : The wavelet
representation. IEEE Tram Pattern analvsis and machine Intellinence,ll, pp. 674-
693
Antonini M., Badaud M., Mathieu P. and Daubechies I., (1992). Image Coding
Using Wavelet Transfom. IEEE Transactions on h a n e Processinq, i(2), pp. 205-
220.
Alpert B.K., (1992). Wavelets and Other Bases for fast Numerical Linear alaebra.
Acadernic Press.
Bourges-Sévenier Mikael, (1994). Wavelib 1 .O User's mide. IRISA/INRIA,
Campus de Beaulieu, 35042 RENNES, France.
Beylkin G., Coifman R. and Rokhlin V., (1991). Fast Wavelet Transform and
Numericals Algorithms. Communications on Pure and Amlied Mathematics,
XLIV, pp. 141-183.
Battle G., (1987). ABlock Spin construction of Ondelettes. Comm. Math. Phvs.,
110, pp. 601-615. -
Belfiore J.C. and Vallet R., (1992). A ~ w r t des Modulation fractales mur les
Canaux à Évanouissements.
Chui C.K., (1992). An introduction to Wavelets. Academic Press.
Chui C.K., (1992). Wavelets : A Tutorial in the Theorv and Auulications.
Academic Press.
Coifman R.R., Meyer Y., Quaks S. and Wickerhauser M.V., (1990). Simd
Processinn and Com~ression wiîh Wave Packet. Num. Algo. Research Group,
Dept of Math. Yale University.
Coifman R.R and Wickerhauser MeV., (1990). Entropy-based Algorithms for Best
Basis Selection. IEEE Transaction on Information Theoq, 38(2), pp. 7 13-7 18.
Coihan R.R and Wickerhauser M.V., (1990). Best-ada~ted Wave Packed Bases.
Num. Algo. Research Group, Dept of Math. Yale University.
Bond D.M. and Vavasis S.A., (1994). Fast Wavelet Transfonns for Matrices
Arising from Boundarv Element Methods.
Alpea B.K., (1993). A Class of Banes in l2 for the Sparse Represenîation of
integrai Operators. SIAM J. Math. Ad., 3(1), pp. 246-262.
K.Ramchandran and M. Vetterli, (1994). Best wavelet Packed Bases in Rate-
distortion sense. EEE Trans. Image P m , 5 pp. 160- 175.
A.H. Tewfik, D. Sinha and P. Jorgensen, (1992). On the Optical Choise of a
Wavelet for signal Representation. IEEE Tram IT. 38, pp. 747-765.
D. Pollen, (1 990). SUi for F a Subfied of C. J. Am. Math. Soc., & pp. 61 1-624.
M. Antonini, M. Barlauâ, P. Mathieu and LDaubechies, (1992). Image Coding
Using Wavelet Transfom. IEEE Trans. Imaae Proc., 1(2), pp. 205-220.
M.K. Mandal, S. Panchanathan and T. aboulnasr, (1997). Choise of Wavelets for
Image Compression. Lecture Notes in Corn~uter science. 1 133, pp. 239-249.
1. Rabhovitch and AN. Venetsanopouios, (1998). HVS-based image
Compression using the Wavelet Transfom. Can. J. Elect. And Com~. Ena., 23-
pp. 1-2.
J.L. Mannos and D. J. Sakrison, (1974). The Effects of a Visual Fidelity Criterion
on the Encoding of Images. IEEE T m . IT., 20. pp. 525-536.
N. B. Nill, (1985). A Visud Mode1 Weighted cosine Tramsform for image
Compression and Qualit. Assessment. IEEE Trans. Commun., 33, pp. 55 1-557.
36. Yongkyu Kim, (19%). Wavelet Transfocm Image Compression Using Human
Visual Characteristics and a Tree Structure with a Height Attribute. Optical
Engineering, 35(1), pp. 204-2 12.
37. A. S. Lewis and G. Knowless, (1992). Image Compression Using the 2D Wavelet
Transform. IEEE Trans. Imane Process., u ( 2 ) , pp. 244-250.
38. 1. K. Eom, H. S. Kim, K. S. Son, Y. S. Kim and J. H. Kim, (1995). image Coding
Using Wavelet Transform and Human Visual System. Proc. SPIE. 2418, pp. 176-
183.
39. Jerome M. Shapiro, (1993). Embedded Image Coding Using Zerotrees of Wavelet
Coefficients. IEEE Transactions on S i d Processing, 41(12), pp. 3445-3456.
40. Edward R. Vrscay, (1998). A Generalized Class of Fractal-wavelet Transforms
for Image Representation and Compression. Can. J. Elect. And C o m ~ . Eng., 23-
pp. 69-82.
41. Z. Xiong, K. Ramchandran et M. T. Orchard, (1997). Space-Erequency
quantization for wavelet image coding. IEEE Transactions on image Processing,
6(5), Mai 1997. -
42. G. K. Wallace, (1992). The JPEG stil pichue compression standard.
Transactions on Consumer Electronics, 38(1), février 1992.
ANNEXE A
PROGRAMMES SOURCES
1 .< ceizte fonction calcule l'ordre ' a ' de l'ondelette de . ., dauhechies optimale pour l'image I,puis ensuite divise 8 F . - l'image 1 en qxitre sous images 11, lh, hl et hh suivant un ~. ' 5 canc da filtras d'ondalecces un 5tage de décomposition. i 4
6 '* . * . .. . -. . , voir aussi: p r o g p r i n . .
-2 5
,. . ! : auteur: Monamed Badr Bouziane ! I
'* 5
; . , -:; - . ; 'w$ ; ~ ~ ~ ; ~ ' b , ~ ; $ . a . ; ; j ' . i , g j 3 ' + , ' ~ 5 3 ? , ~ 5 3 3 + ~ ' 3 7 , ' & 5 j ~ + ; 3 y ~ ~ ~ 3 ~ ; & ~ 3 . t , + ~ ~ ~ + , ~ ~ ' $ ? $ ~ ~ ? , j ,
clear LLa;
[la, ha, ls, hs] =daub (a) ;
[LLa, HHa, LHa, HLa] =wt2dba (-a, ha) ;
;vhi le (a<=12 & r<=12) adéterminacion de l'ordre de l'ondeletre $de daubechies optimale
[Ir, hr, lsr, hsr] =daub (r) ;
[ LLr, HHr, LHr, HLr] =wt2dba (1, lr, hrJ ;
if sum(sum(LLac=O.l))<sm(sum(LLr<=O.l)), a=r ; LLa=LLr ; end
r=r+2; clear LLr; eaC
[la, ha, ls, hs] =daub ( a l ;
clear LLa;
[Il, hh, lh, hl] =wt2dba (I,la,ha) ; *décomposition de l'image 1
;initialisacion des variables
w(1, 112, l)=l; $cette variaBLe sert pour identifier la bands de %fréquences correspondante au poids visuel humain
?derniere bande de frSquences ipremiere bande de irgquences
+m est La vaziable qui f i x e le niveau de fdécomposition
%:aLcule des poids visuels hurnzins ce '3toutes les ibandes de fréquences seLon le niveau ide décomposition
'premiere zone ~(1,1,1,1+1)=w(1,1,1,j~; w(lt2, l,l+l)=w(l, l,l, j)+krn; ~ ( 2 , 1 , 1 , 1 + 1 ~ = w ( 2 , 1 , 1 , ~ ~ ~ ~(2,2,1,1+1)=~(2,1,1, j)+km; ~(1,1,2,1+1)=~(1,1,2, j)*5+l;
'ttroisieme zone ~(l,l,l,l+3)=w(l,l,l, j)+h; ~ ( 1 ~ 2 , 1,1+3)=w(l,l,l, j)+2*h; ~ ( 2 ~ 1 , 1,1+3)=w(2, 1,1, j ) + h ; w(2,2,1,1+3)=~(2,1,1, j)+2+h; w(l11,2,lt3)=w(1,1,2, j)+5+3;
we(w(l,l12,1+3) )=intxy(w(l11,1,1+3) ,w(l,2,1~1+3) ,w(2,1,1, l+3) 1 ~ ( 2 1 2 1 1, 1+3i ;
end di=i+l; i=l; end
f ~ n c t i c r [ R I L, Hl taux] =HVS (XI urwe)
i ~ ~ i ; 7 ? ' ~ ~ j ~ ~ i ~ ; ~ % ~ î ~ S ~ 3 ~ ~ > ~ ~ ~ ~ ~ ~ ? ~ j a d ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ % ! ~ ~ ~ % ~ ~ 3 % S ~ ~ ? , % ~ ~ ? , ~ ~ 3 % ~ ~ 3 ~ $ L * .. ., .'; EVS 'i . f .% s e ~ t e fonction détermine, classe les coefficients d'ondelectes . 'f - - sêlon leurs importances pour le systeme visuel humain et serr ? à prendre la décision de diviser ou non une sous image 'X'. ? <
" . - ,J : compteur. . - a . . - we: poids visuel humain correspondant à la bande de . . . . Erequences. C . S : sous image. L * . . - - . nombrs de coefficients d'ondelecces important , - t. 5 visuellement, servira pour calculer le taux de > e t % compression. < . , R: variable de décision, si R = l on effectuera une t * . - division de la sous image 'XI. . - L S. - . L: matrice contenant les coefficients d'ondelettes : * important visuellement. ,. ., Z: matrice contenant les coefficients d'ondelettes non I r . + important visuellement. , . - ,
i
I . - voir aussi: PROGPRIN 1 C . - . 1 ? auteur: Mohamed Sadr Bouzime 4 i
; . - * ;i; , - . * ~ i ; . 6 , t a ; ; ~ à ; ~ : $ ; î ; ~ $ $ ~ ~ $ ~ ~ $ $ > s J $ % r $ $ ~ $ $ $ ~ ~ : ~ $ î ; $ $ > ~ ~ $ ~ ~ ~ $ $ ~ : $ ; l ; ~ $ ~ î ; ~ +
coei-nonnul=sum(sum(X(:, :,l,u)>=O.l) ) ; Scalcul du nombre de 4coefficients non nul
q=(-1.1308+0.0013*coei~nonnul) *we(X(l,l, 3,u) 1 ; Ecalcul du seril de Sdécision
w=O ; i.initialisa:ion du nombre de coefficients qui sont limporrant visuellement
R=O ; ;initialisacion de la variable de décision
elsi if (i-=m) & ( j==n) vert=X(i, j, 1,u) ; hor=X(i, j,l,u)-X(i+l, j,l,u); diag=X(i, j,l,ul; EH(i1j)=0.37*vert+0.37+hort0.26+diag;
els,= if (i==m) & (j==n) vert=X(i, j, 1,u) ; hor=X(i, j,l,u); diag=X(i, j , 1, u) ; ~~(i,j)=0.37*vert+O.37+hortO.26fdiag;
~ L s e vert=~(i, j,l,u)-X(i, jtl,l,u); hor=X(i, j, 1,u) -X(i+l, j, 1 , u ) ; diag=X(i, j, 1,u) -X(itl, j+l, 1 , ~ ) ; EH(ilj)=0.37*vert+0.37*hor+O.26+diag;
end enc!
e n 3
. - ~t EH(i, j)>q, Eon classe les coefficients d'ondelettes
âselon leur w=wt 1 ; Gimporcances pour le systéme visuel
't hl-imain tl[i, j,I)=X(i, j,l,u); tl(i, j,Z)=X(i, j,2,u); tl(i, j13)=X(i, j,3,u); t2[i, j,l)=O; t2 [il j,2)=X(i, j,2,u) ; t2(i, j13)-X[i, j,3,u);
enci e n ci
end
clear tl;
clear t2;
30n calcule le rapport du nombre de %coefficients %d'ondelettes qui sont importants f visuellement aux 3dimensions de l'image, ce rapport %sert prendre bla décision de diviser ou non la 3sous image 'X'
£3: j=l:nD L(i, j,ll=tl~i,j,l~; L(i, j,2l=tl(i, j,2); L ( i , j,3l=tlIi1 j , 3 ) ; H ( i I j , l l = t 2 ~ i I j l ~ ~ ; ~(i,j,Sl=t2Ii, j , 2 ) ; ~ ( i , j,31=t2(iDj13);
end &XI
taux=w; c lear t 1 ; c lear t 2 ;
and
fxnstion [L, H, taux] =HVSfin ( X , u , we)
,. , cette fonction deternine et classe les coefficients < I . - d'ondelectes selon leurs inporcances pour Le systéme visuel A $ humain dans la cas du dernier niveau de d+5cornpositron.
îomptèur. poids visuel humain correspondant a la bande de irequenses. sous image. nonibre de coefficients d'ondelettes important visuellement, servira pour calculer le taux de compression.
matrice contenant les coefficients d'ondeletres important visueilement. marrice contenanL Les coefficients d'ondelettes non important visuellement.
clear L; clear H;
t r a k ~ l du nonbre de coefficients ncn nul
coef-nonnul=sum (sum ( X ( : , : ,l, u) >=O. 1 1 ) :
q= (-1.1308+0.0013*coef - nonnul) *we (X ( I l l , 3, u) ) ; %calcul du seuil de +décision
w=O ; iinitialisation du nombre de coefficients qui sont important :visuellement
R=O; Sinitialisation de la variable de decision
diag=X(i, j,l,u); EH(itj)=0.37*vert+0.37*hort0.26+diag;
else if (i-=m) & (j==n) vert=X(i, j, 1,u) ; hor=X(i, j, 1,~)-X(i+lI j1lIu) ; diag=X(i, j, 1,u); EH(i,j)=0.37*vert+O.37*hor+0.26+diag;
else if (i==m)&(j==n) vert=X(i, j,l,u); hor=X(i, j,l,u); diag=X(i, j, 1,u) ; EH(i1j)=0.37+vert+0.37*h~r+0.26+diag;
21s;. vert=X(i, j,l,u)-X(i, j+l,lIu); hor=X(i, j,l,u)-X(i+l, j1lIu); diag=X(i, j, 1,u) -X(i+l,j+l,i,u) ; EH(i1j)=0.37+vert+0.37Chor+0.26fdiag;
end 2nd
c? nd
if EH(i,j)>q, Son classe les coefficients d'ondelectes selon %leur importances paür le sys:éxe visüel +humain
w=w+ 1 ; L(1, j,l)=X(i, j,l,u); L(i, j,2)=X(i, j,2,u); L(i, j,3)=X(i, j,3,u); H(i, j, l)=O; H(i, jt2)=X(i, j,2,u); H(i, j,3)=X(i,j13,u);
fancrion intwe=intxy (ax, bx, ayrbyl
~ * e ; r z ~ j i t r ~ ? ~ % % i ? l 3 i ~ 5 % 3 % % S T i ~ I 5 3 % % 5 3 % C S 3 % % ~ ? ~ % 5 3 % % ~ 3 % % ~ 3 ? 5 % 3 ~ % ~ 3 ? i 5 3 ~ % ' * L s rr,twe 'i l
, , Cette ionccion réalise Les cpperations d'lntégratrons dans . I . - l'algorithme de calcul des poids visuels humains
result=dblquad( 'MTF' , ay, by, ax, bx) ; intwe=(by-ay) * (bx-ax) /result;
f x x c i c z yf=iwt2dbad (wx, rl, rh,ori)
= r : ; 1 arrange les filtres sous forme de vecteurs. rh=rh(:) ';
. - i r ori==l, $ c h o i x du filtre d e synchtise s e l o n l'imaoe
' ' .originale tx=iwtbad (wx' , rl) ' ; ipuis t r a n s f o r m é e en ondelectes yf=iwtbad (tx, rl) ;
eise i f 0ri==3, * - tx=iwtbad(wx',rl) '; yf=iwtbad (tx, rh) ;
else ; ori==2, A - tx=iwtbad (wx' , rh) ' ; yf=iwtbad (tx, rl) ;
else if ori==4, tx=iwtbad (wx' , rh) ' ; yfziwtbad (tx, rh) ;
end end
izd end
r=r(:)'; X arrancje 1s filtre sous la iorme d ' u n vecteur l i g n e .
[ l i y , l i x ] =s i ze (wx) ;
. . I: lix==l i s i l a matrice d ' e n t r e r 2s: un YS CE EU^ colonne
wx=wx ' ; 5 f a i r e l a rranspo~ition t r a s p = l ; i e c prendre note de Ca. [ l i y , l i x ] = s i z e (wx) ;
szd
l l p = l e n g t h ( r ) ; 1 longueur d u f i l ~ r e d ' o n d e l e c t e . l h p = l l p ;
suml = I lp+lhp-2 ; 5 c a l c u l du delai tocal du proces sus '5 analyse-synthése .
d l p = s u d ; ; cn c a l c u l l e d e l a i d e syn thése . dhp = s u d ;
L=max(lllp,lhp,dhp,dIpl); "ombre d'échantillons pour le wrapparound.
f o r i t = l : l i y , ? pour t o u t e s l e s co lonnes f a i r e ...
w=wx(it, : ) ; lw=length (w) ;
yl=w; yl=[yl;zeros (1,lengthIyl) ) 1 ; F interpolacion en yl=yl(:) '; Z ajoutant des '0'. l=length (yl) ;
pyl=yl; pl=length (pyl) ; while L>pl
pyl=[pyl, yll; pl=length (pyl) ;
end yl= [pyl (pl+l-L:pl) , yl, pyl ( l : L ) 1 ; 3 on ajoute le wrapparcund.
lx=length ( yl) ;
yl=conv(yl,r); ?, faire le f i l t r a g e de systnese ys=yl(dip+l+L:dlp+l+L); E puis enlever Le délai de filtre ec le
iwrapparound. m=length ( ys) ;
for i=l:m, YS (it, i) =ys (il ;
2nd
e:d ; fin si tour les vecteurs sont reconstrui:~.
i f trasp==l % si l'encrée ondelette est un vecteur colcnne YS=YS' ; * faire La transposition.
e n d
funstion ahvs=MTF(fy, fx)
teta=atan2 (£y, fx) ; p=2.6; q=O. 192; s=O. 114; r=0.114; t=l.l7; k=0.7; d=4 ; hu=512; 4i:i 11 f a u t specifier Les dimensions de l'image originale nu=512;
fi=2+sqrt (fx. ̂2+fy. "2) . / ( (cos (4*teta) (1-k) tltk) ; fs=fi/(2*180*asin(l/sqrt(ltdA2*(huA2tnuA2))));
' : Y . ..,% ; '& s .% - .... - * , . ~ ~ ~ ~ ~ ~ ~ ~ + ; ~ % ~ ; 3 a P ~ ~ ' % ~ 3 % % 3 3 ' a % " b 3 % ~ ~ ~ 3 % f 5 3 : % $ 3 3 % % S % ~ % % 3 ~ , % S % ~ $ ~ % u % % % . .. t l
* PROGPRIZI L I . +
'J. 5 Ce programme effectue la décomposition de l'image 7 L originale en un certain nombre de sous images et a pour <. .,< rssultats un ensemble de coefficients d'ondelettes . L . - représentant l'image originale. Ces coefficients L I d'ondelettes sont arrangés selon leurs importances pour le '; A système visuel numain et sont prés à être transmis de I I . u facon progressive selon leurs importances pour le système . I - - visuel humain, du coefficient d'ondelettes le plus . . ‘ 5 important au moins important pour 1s syszéme visnel numain
load lena; a i e cnarge i'imaye a traiter
. . l.: :'initialise tous les pzrametres
X(:,:,l,l)=lena(:,:); X(1,1,2,1)=1; %initi:ialisation de l'ordre de daub X(l,1,3,11=1; tinitialisation du type de l'image
cont=l; cont l=0; cont2=0; cont3=0; cont4=0; cont5=0; ¢ont 6=O; j l=O; j2=0; j3-O; j4=0; j 5=O;
%inicitialisation des comptsurs
!: boycles principales Je traitement
f?r b=1:3, ib sert à fixer le nombre de niveaux de d~cornposition ' = b==l - - 4 utilisation de la fonction basGe sur HVS pour savoir si l'image ! doit etre divisée. i si l'image ne doit pas etre divisé la rangé dans L et k! i L: inatrice des coêff non important + 5 : matrice des coeff important 5
i si l'image doit erre divisée lui apliquer la fonction analyse
u=l; c=l ; ? ! R I LI1,Hlhr K~~]=HVS(X,U,WB) ;
R-1; . - L f R==lr
clear 1; 1(:,:)=x(:,:,1~1); [LL, LH, HL, HH, a] =analyse (1) ; LI(:, :,1,c~=LL(:,:~; LI(:, :,l,ctl)=LH(:, : ] ; LI(:, :,l1c+2)=HL(:, : ) ; LI(:, :,l1c+3)=HH(:, : ) ; . . $';il i a u c rlxer les autres caracterisciques
. - . : : 2 f ~ x s 1è type de L'image originale
* j e fixe i'ordre du filtre utilisé
c=c+4 ; e l se
contl=contl+l; LL1( : , : , :, contl) = L U ( :, : , : ) ; HH1( : , : , :, contl) =Hlh(:, :, : 1 ; taux1 (cont) ~ t a l ; cont=conttl;
end j l=c-1;
5lse i: (b==2) & (j1>0) c=l; for u=l:jl
[RI L21, H2hr ta21 =HVS (Ll,u, we] ;
: & 6 R==l clear 1; I(:,:)=Ll(:, :,l,u); [LL, LH, HL, HH, a] =analyse (1) ; L2(:, :,1,c)=LL(:,:); L2(:, :,l,c+l)=LH(:,:); L2(:, :,l,c+2)=HL(:,:); L2(:, :,l1c+3)=HH(:,:); %*il faut fixer les autres caracteristiques
3 j e fixe 1s type de l'image originale
L2 (1,1,3,~)=5*L1(1,1,3,ul tl; L2 (1,1,3,c+1)=5*~1(1,1,3,u) t2; ~2 (III, 3,c+2)=5*Ll(l,1,3,u)+3; L2(1,1,3,c+3)=5*Ll(l,1,3,u)t4;
; j e fixe l'ordre du filtre utilisé
L2(1,1,2,~)=13*Ll(l,1,2,u)+a; L2 (1,1,2,c+l)=13*L1(1, 1,2,u) ta; L2 (1,1,2,~+2)=13*L1(1,1,2,~) ta; L2 (1,1,2,~+3)=13+Ll(l, 1,2,u)+a;
c=c+4 ; e i v e
cont2=cont2+1; LL2(:, :, :,cont2)=L21(:, :, : ) ;
HH2(:,:, :,cont2)=H2h(:,:,:); taux1 (cont) =ta2; cont=conttl;
enc! en2 j2=c-1;
3 ! . . --se L: (b==3)&(j2>0)
c=l; fcr u=l:j2 [R, L31,H3h, ta31-HVS (L2, u, we) ;
. . 1: R==l,
clear 1; I ( : , :)=L2(:, :,l,u); [LL, LH, HL, HH, a] =analyse (1) ; L3(:, :,l,c)=LL(:, : ) ; L3(:, :,l,c+l)=LH(:, : ) ; L3(:, :,l,c+2)=HL(:, : ) ; L3(:, :,lrc+3)=HH(:, : ) ; +&il faut fixer les autres caracteristiques
. . -
.*.le rixe Le type de l'image originale
~3(1,1,3,c)=S*L2(1,1,3,u) tl; ~3 (1,1,3, c+l) = 5 * ~ 2 (1,1,3, u) +2; L3 (1,1,3, ~+2)=5*~2 (1,1,3, u) +3; L3 (1,1,3,c+3)=5+~2(1,1,3,u)+4;
i je fixe l'ordre du filtre utilisé
e lçe cont3=cont3+1; LL3(:, :, :,cont3)=L31(:, :, : ) ; HH3(:,:, :,cont3)=H3h(:r:,:); tauxl (cont) =ta3; cont=cont+l;
enci er.3 j 3=c-1;
? ! s e if (b==4)h(j3>0) c=l ; f i ' r u=1: j3
[ R I L41, H4h, ta4]=HVS (L3,u, we) ;
. - r R== 1, - - clear 1; 1(:,:~=L3(:,:,1,u~; [LL, LH, HL, HH, a] =analyse(I) ; L4(:, :III~)=LL(:r : ) ; L4(:, :,~,c+~)=LH(:~:); L4(:, :lll~+2)=HL(:r:); L4(:, :,l,c+3)=HH(:,:); - . % * i l faut r u e r l e s autres carac~eristiques
: j e f i s e l'ordre du filtra utilisé
L4 (1,1,2,c)=13*L3 (1, 1121u1+a; L4 (1, 1,2,ctl)=13+L3(l1 1,2,u) ta; L4 (1,1,2, ct2) =l3*L3 (1, lI 2I U) +a; L4 (1,1,2, c+3) =l3+L3 (1, 1, 2, u) ta;
c=c+4 ; e lse
cont4=cont4+1; LL4(:, :,:,cont4)=L41(:,:, : ) ; HH4(:, :,:,cont4)=H4h(:,:, :, : ; tauxl (cont) =ta4; cont=cont+l;
end enci j4=c-1;
e15e if (b==5) & (j4>O) c=l ; f o r u=1: j4
[ R I LS1, H5h1 ta51 =HVS (L4, u, ne) ;
clear 1; I(:, :)=L4(:, :,l,u); [LL, LH, HL, HH, a] =analyse (1) ; L5(:,:,1,c)=LL(:,:); LS(:, :,l,c+l)=LH(:, : ) ; L5(:,:,11c+2)=HL(:,:); LS(:,:,l1c+3)=HH(:,:); ;-il faut fixer les autres caracteristiques
- . ':je zrne le type de l'image originale
L5 (111,3,c)=5*L4 (1,1,3,u) tl; L5 (1,1,3,ctl)=5*L4 (1, l13,u)t2; L5(1,1,3,~+2)=5*L4(1,1,3,u)t3; L5 (Ill, 3, ct3)=5+L4 (1,l, 3,u) t4;
: j e f i xe l'ordre du filtre ucilisé
L5 (Ill, 2,c)=13+L4 (1, 1,2,u) ta; L5(l11,2,c+l)=13*L4 (111121u)ta; L5 (1,1,2,ct2)=13+L4 (1, 1,2,u)ta; L5(l1l,2,c+3)=l3*L4 (l,l,Z,u)+a;
- ! s e cont5=cont5+1;
L L S ( : , :, :,cont5)=L51(:,:, : ) ; HHS(:, :, :,cont5)=HSh(:,:,:); tauxl (cont) =ta5; cont=conttl;
end j5=c-1;
if j5>0 for u=l: j5
[L61, H6h, ta6I=HVSfin(LS,u,wel ; cont6=cont6+1; LL6(:,:, :,cont6)=L61(:,:, : , ; HH6(:, :, :,cont6)=H6h(:,:, : ) ; tauxl (cont) =ta6; cont=conttl;
end end
end clear X; % a la fin éliminer X . -. t r l n ce le cnase analyse
end if cont6>0
fcr dd=l: cont6 Isr=synthese ( H H 6 , dd) ; Ifin=Ifin+Isr;
el--d end if cont5>0
- - .. - dd=l : cont5 ~sr=synthese ( H H S , ddl ; Ifin=Ifin+Isr;
end er.c ir: cont4>0
f u r dd=l:cont4 ~sr=synthese ( H H 4 , dd) ; Ifin=If intIsr;
end +nd If cont2>0
for dd=l : ~ 0 n t 2 Isr=synthese ( H H 2 , dd) ; Ifin=IfintIçr;
end snd if contl>O
tcr dd=l:contl ~srtsynthese ( H H l r d d l ; Ifin=Ifin+Isr;
end end
p = X ( l l l 1 2 , j ) ; :ordre du f i l t r e d ' a n a l y s e u c i l i s é . qzX(l , 1 , 3 , j ; ,+,sous image d ' o r i g i n e . I s ( : , : ) = X ( : , : , l , j ) ; :$hile q -=l ;tant qu 'on est pas ar r ive au niveau de
idecomposition '0' f a i r e . d = rem(p, 13); r = rem(q, 5 ) ; p=fix ( p / l 3 ) ; S o r ~ r e da filtre d ' a n a l y s e a:ilisé dans l e niveau
;suivant. q=fix (q/5) ; ?sous image d ' o r i g i n e du niveau sui van^. [ l a , ha, ls, h s ] =daub td) ; Ir=iwt2dbad(Is,ls,hs,r); +cransforïnee en s n d e l a t c e i n v e r s e 2D c l e a r 1s; I s = I r ; c l e a r Ir;
enci
f l n c t i o n [LL, HH, LH, HL] =wt2dba (x,L, H)
L=L(:) ' ; ; Lrranger les filtres de telle sorte qu'ils H=H(:) '; * soient des vecteurs colonnes.
,; :rarisEarn& suivant las iignes ?i*i
[YL, YH]=wtba ( x , LI Hl ;
:ransfsrniéa s u i v a n r l e s colonnes $il
[Ll, Lh] =wtba (YL1, L, H) ; [Hl, Hh] =wtba (YH' ,LI H) ; HH=Hhl ; HL=Hll ; LL=Lll ; LH=Lh ' ;
fazticn [YL, YH] =x tba (x , L, Hl
4 . , - t ; WB?. : r m s f o r a é e en o n d e l e t t e d i r e c t e une aimension. : *
i WTSA [:<, L, 21 c a l c u l e l a t r a n s f o r n é e en m d e l e t c e d i r e c t e +. L inr d i m n s l o n de l a mat r ice X par un ~ a n c de f i l t r e s @ 5 d ' e n d e l e r t s s B un niveau de décomposi t ion. . . L a à r l e i i l x e o n a e l e t t e d ' a n a l y s e passe bas.
L C . . 2 e s t l e i l l r r e sndeletca d ' a n a l y s e passe haur . . . . - - .: v o i r aussi:WTDLBAD
L=L(:) '; P a r r a n g e r l e s f i l t r e s de c e l l e s o r t e qu'ils H=H(:) '; 5 s o i e n t des v e c c e u r s co lonnes .
i f l e n g t h [ x ) c2 disp('1e niveau de décomposi t ion es t t r o p haut . l e maximum pour se
s i g n a l est: ' ) f l o o r (log2 ( l e n g t h (x) ) ) Tèf UT5
+7-.<:
[liy, l i x ] = s i z e ( x ) ;
i f lix==l a a r r a n g e r l e siqnal d ' e n t r é e sous forine d'un vec t eu r :colonze
X=X ' ; j si c e n ' e s t pas une m a t r i c e . t r a s p = l ; ? prendre c e c i en noce. [ l i y , Lix] = s i z e ( x ) ;
ezd
7 c a l c 2 L du wrapparound -*------------------------------ l l p = l e n g t h ( L ) ; i Long9~eur a~ pas se b a s . l hp= leng th (H) ; ? Longueur au pas se h a u t .
Lrnax=max([lhp, l lp]) ; inorobre d ' é c h a n t i l l o n s dü wrapparound dont on a xbesoin %pour a v o i r un v e c t e u r d ' o n d e l e t c e de s o r t i e donc :la phase e s t é g a l e à l a phase d u s i g n a l o r i g i n a l .
=, r -J, it=l : liy, t ?our chaque colonne de la matrice d'entrke ... tm=[J; t=x(it, : ) ; 5 Copier le vecteur a transformer.
lx=length(t); if rem(lx, 2) -=O V verifier que le nombre d'échantillons
t=[t, O]; E est paire à cause de la dkimation. lx=lx+l;
enà tp=t; 5 construira le wrapparound. lé signal d'encrée pl=length ( tp) ; i peuc 6tre plus petit que la longueur du
.i iilcre whi le Lmax>pl i il peur donc être necessaire de le repeter
?.plusieurs fois. tp=[tp,tl; pl=length (tp) ;
end
yl=conv(t,L); yh=conv (t, H ) ;
1 faire le filtrage passe 8as 9 puis le filtrage passe haut.
yl=yl( (l+Lmax) : 2: (Lmax+lx) ) ; t Décimer la sortie yh=yh( (l+Lmax):2:(Lmaxt1x)); * et éliminer le wrapparound
m=length(yl) ; for i=l:m,
YL(it, i)=yl(i) ; e cd n=length ( yh) ; for j=l:n,
YH(it, j)=yh(j); end
$ si l'entrée était un vecteur colonne 3 faire la transposition.