Vous êtes sur la page 1sur 134

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

MINISTERE DE LENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE



UNIVERSITE MOULOUD MAMMERI, TIZI-OUZOU
FACULTE DE GENIE ELECTRIQUE ET DE LINFORMATIQUE
DEPARTEMENT DELECTRONIQUE












MEMOIRE DE MAGISTER EN ELECTRONIQUE

OPTION : Tldtection

Prsent par :

Mr OUAHIOUNE Mohand


THEME :

Compression dimages hyperspetrales par la transforme
en ondelettes 3D




Devant les membres du jury :

Prsident : Mr. LAGHROUCHE Mourad Matre de confrences UMMTO
Rapporteur : Mr. AMEUR Soltane Professeur UMMTO
Examinateurs: Mr. LAHDIR Mourad Matre de confrences (B) UMMTO
Mr. HADDAB Salah Matre de confrences UMMTO
Mme. AMEUR Zohra Matre de confrences UMMTO

Soutenu le : 29 / 09 / 2011










There, Ive done my best. If that wont do, I shall have to wait until I can do better.
Victor Heerman, crivain (1893-1977)

























ma mre, mon frre et ma sur.














Remerciements :

Ce travail a t ralis au Laboratoire d'Analyse et de Modlisation des Phnomnes
Alatoires (LAMPA) de LUMMTO. Je remercie son directeur, Monsieur AMEUR Soltane
pour son accueil.
Je tiens exprimer toute ma reconnaissance Monsieur AMEUR Soltane, Professeur
lUMMTO et directeur du laboratoire de recherche LAMPA, pour avoir accept dtre
rapporteur de ma thse.
Je remercie galement vivement Monsieur LAHDIR Mourad, Matre de confrences (B)
lUMMTO, pour avoir bien voulu tre Co-rapporteur de ma thse.
Un grand merci Monsieur LAGHROUCHE Mourad, Matre de confrences lUMMTO,
pour lhonneur quil me fait de prsider mon jury de thse.
Je suis galement trs reconnaissant Madame AMEUR Zohra, Matre de confrences
lUMMTO, pour lhonneur quelle me fait de participer mon jury de thse.
Je remercie galement vivement Monsieur HADDAB Salah, Matre de confrences
lUMMTO, pour lhonneur quil me fait de participer mon jury de thse.
Ce travail a t effectu sous la direction de Monsieur AMEUR Soltane et LAHDIR Mourad
Professeur et Matre de confrences luniversit de Tizi-Ouzou. Je tiens les remercier pour
leur encadrement et les prcieux conseils dont ils mont fait bnficier.
Je tiens remercier encore une fois LAHDIR Mourad pour sa disponibilit, sa simplicit, son
honntet intellectuelle et sa gentillesse.
Jadresse galement tous mes remerciements tous ceux qui ont contribu ltude et la
rdaction de ce mmoire.

Rsum:

Limagerie hyperspectrale est caractrise par une forte rsolution spectrale qui permet
dacqurir des informations prsentes dans lensemble du spectre, l o les systmes classiques de
tldtection ne proposent que quelques portions de ce spectre. Ce mode dacquisition apporte
une quantit considrable de donnes, qui peut rapidement saturer les systmes conventionnels de
transmission et de stockage.
La question fondamentale aborde dans ce mmoire est celle de llaboration dune
mthode de compression pour faciliter larchivage et la transmission des images hyperspectrales
avec de forts taux de compression et le minimum de distorsions. Nos travaux se sont dploys
autour dun schma de compression, utilisant une transforme en ondelettes, associe une
quantification par arbres de zros. Loriginalit de notre mthode rside dans lextension de
ces algorithmes la troisime dimension, afin dexploiter la nature 3D de ces images
hyperspectrales caractrises par une forte corrlation spectrale et amliorer ainsi la qualit de
compression obtenue pour ce type dimages. Cette nouvelle mthode de compression est base
sur une transforme en ondelettes 3D (TOD 3D) qui permet en effet dexploiter de manire
efficace la fois les corrlations existantes au sein dun canal (scne spatiale), mais galement
entre les canaux (scne spectrale) (dcorrlelation des trois dimensions du cube hyperspectrale) et
dun codeur arbres de zros 3D (SPIHT 3D) qui exploite les redondances inter-chelles dans les
diffrentes dimensions des coefficients ondelettes.
Lalgorithme ainsi dvelopp a t appliqu une squence dimages tests (AVIRIS) de
Yellowstone datant de 2006. Les rsultats montrent que la qualit du PSNR varie entre 35-55 dB
pour des rapports de compression allant de 100 10 en fonction de londelette utilise. Ces
rsultats montrent que lexploitation de la troisime dimension (dimension spectrale) amliore
sensiblement la qualit de compression. En effet, lalgorithme offre un gain bien suprieur
celui offert par sa version 2D, nos rsultats montrent ainsi un gain allant jusqu plus de 10 dB
pour tous les rapports de compression.


Mots-cls: Compression dimages hyperspectrales; Corrlation spectrale; TOD 3D; SPIHT 3D;
JPEG2000; Tldtection.

















Table des
matires

Introduction : ................ 1
Chapitre I : Imagerie Hyperspectrale
1. Introduction aux images hyperspectrales : ....................................................................................... 6
1.1. Notion de base de limagerie hyperspectrale: .............................................................................. 6
1.2. Capteurs aroports : ................................................................................................................ 10
1.3. Capteurs spatioports : ............................................................................................................. 11
1.4. Le capteur AVIRIS : .................................................................................................................. 12
2. Proprits des images hyperspectrales: ............................................................................................ 13
2.1. Rsolution spatiale : .................................................................................................................. 13
2.2. Rsolution spectrale : ................................................................................................................ 13
2.3. Rsolution radiomtrique : ........................................................................................................ 13
2.4. La couverture spectrale : ........................................................................................................... 14
2.5. Taille des images hyperspectrales : ........................................................................................... 14
2.6. Le concept de cube de donnes : ............................................................................................... 14
2.7. Des dimensions aux proprits diffrentes : .............................................................................. 15
3. Gnralits sur la compression dimage :..17
3.1. Notion de base de la compression :.17
la chane de compression sans perte (rversible) : .18
la chane de compression avec perte (non rversible) :......18
3.2. Les trois tapes classiques en compression:............... 19
3.2.1. Premire tape : Transformation des donnes:.19
3.2.2. Deuxime tape : Quantification:.19
3.2.3. Troisime tape : Codage: .................................................................................................. 20
3.3. Compression dimage : du JPEG JPEG 2000 : ..................................................................... 21
3.3.1. JPEG : ................................................................................................................................ 21
3.3.2. JPEG 2000 : ........................................................................................................................ 22
3.3.3. Performance de la TCD (JPEG) et de la TOD (JPEG2000) : .............................................. 23
3.3.4. Discussion:. 23
4. Dmarche gnrale du schma de compression propos : ................................................................ 24
4.1. Premier tape : Transformation TOD 3D: ............................................................................ 26
4.2. Deuxime tape : Codage SPIHT 3D : ................................................................................. 27

Chapitre II : Transforme en Ondelettes
1. Gnralits sur les ondelettes ........................................................................................................... 29
1.1. Pourquoi les ondelettes ? ........................................................................................................... 29
1.1.1 La transforme de Fourier : ................................................................................................ 30
1.1.2 Transforme de Fourier fentre glissante : ........................................................................ 31
1.1.2.1. Limites de la TF fentre glissante :....32
1.1.2.2. Principe dincertitude de Heisenberg :..32
1.1.2.3. Discussion :...34
1.1.3 Les ondelettes : .................................................................................................................... 35
1.1.3.1. La transforme en ondelettes :..... 35
1.1.2.3. Discussion: ...37
1.2. Ondelette analysante: ................................................................................................................ 38
1.3. Transforme en ondelettes continue: ......................................................................................... 39
2. Transforme en ondelettes discrte .................................................................................................. 41
2.1. Dveloppement de lalgorithme de la Transforme en Ondelettes Discrtes : ........................... 41
2.2. Extension de la TOD aux signaux plusieurs dimensions : ...... 48
3. Lalgorithme de la TOD 3D sous Matlab ........................................................................................ 51
3.1. Banc de filtres 1D : .................................................................................................................... 51
3.2. Banc de filtres 3D : .................................................................................................................... 54
3.3. Transform en ondelettes 3D : ................................................................................................... 56

Chapitre III : Quantification par Zerotree
1. Prambule :.....60
2. Lalgorithme EZW: (Embedded Zerotree Wavelet coding).......61
2.1. Introduction au codage EZW : ................................................................................................... 61
2.2. Comment marche lalgorithme ? ............................................................................................... 63
2.2.1. Codage : ............................................................................................................................. 63
2.2.1.1. Signification des coefficients de la TO :. .63
2.2.1.2. Codage de la carte de signification :... 64
2.2.1.3. Quantification par approximation successive :.65
2.2.2. Dcodage ............................................................................................................................ 67
2.3. Exemple : .................................................................................................................................. 67
3. Lalgorithme SPIHT: (Set Partitioning In Hierarchical Trees) ........................................................ 70
3.1. Fonctionnement du SPIHT: ....................................................................................................... 71
3.2. Algorithme SPIHT 2D: ............................................................................................................. 73
3.3 Exemple : ................................................................................................................................... 74
4. Extension aux images 3D du SPIHT : .............................................................................................. 77
5. Lalgorithme SPIHT 3D sous Matlab: ............................................................................................ 80


Chapitre IV : Tests & Rsultats

1. Prambule :.....89
2. Prsentation de linterface graphique :..90
2.1 Cette interface contient : ............................................................................................................ 91
2.2 Marche suivre pour la compression des images hyperspectrales : .......................................... 92
3. Critres dvaluation de la compression : ........................................................................................ 95
3.1 Critres de qualit :.................................................................................................................... 95
3.2 Dbit et taux de compression :................................................................................................... 97
4. Tests et rsultats de la compression : ............................................................................................ 98
4.1 Influence du type de filtre : : ................................................................................................... 100
4.2 Influence du nombre de dcomposition : ................................................................................. 104
4.3 Influence du contenu de l'image : ............................................................................................ 106
4.4 Influence de la taille de l'image : ............................................................................................. 107
4.5 Performance SPIHT 2D vs. SPIHT 3D :.........................108
5. Dscussion : .................................................................................................................................. 110

Conclusion : ........ 111
Annexe A : AVIRIS : ..... 116
Annexe B : ARBRE DE ZEROS : ......119
Bibliographie: ..... 122






















Introduction









I n t r o d u c t i o n P a g e | 2


Limagerie hyperspectrale est un domaine en plein essor du fait du dveloppement des
technologies numriques. Llment nouveau apport par les images hyperspectrales est la
signature spectrale. Nous pouvons dire quavec les images hyperspectrales, nous sommes
effectivement capables dacqurir des informations prsentes dans lensemble du spectre, l
o les systmes classiques de tldtection comme ceux dimagerie multispectrale ne
proposent que quelques portions de ce spectre. Limagerie hyperspectrale permet donc une
investigation de plus en plus fine. En revanche, elle apporte des difficults et de nouveaux
dfis pour les techniques danalyse, de traitement et de compression dimage.

La problmatique principale de ce type dimage, rside dans la quantit considrable de
donnes gnres, qui peut rapidement saturer les systmes conventionnels de transmission
et de stockage. En effet, observer la mme scne dans environ 200 longueurs dondes,
multiplie logiquement la taille des donnes par 200. Du fait de la taille importante de ces
images hyperspectrales, on comprend vite lintrt dune compression efficace pour ce type
dimages. Pour ce faire, nous allons exploiter leurs diffrentes proprits, notamment la forte
corrlation spectrale et la possibilit de les disposer sous forme dun cube de donnes et
proposer une mthode de compression adapte.

Dans ce mmoire nous proposons un schma de compression qui sinscrit dans le cadre
dune approche transforme en ondelettes (TO), qui est un outil largement utilis en
traitement du signal et dimage. Sa capacit compacter lnergie sur un petit nombre de
coefficients permet un codage efficace de limage. La forte corrlation spectrale en imagerie
hyperspectrale, nous a conduit tendre cette transforme la troisime dimension (), pour
dcorrler les trois dimensions. Cette transforme en ondelettes correspond la premire
tape de la chane de compression classique, elle sera suivie par des algorithmes de
quantification et de codage adapts aux images 3D et qui ont prouv leur efficacit dans le
cas des images 2D.

Pour ltude et la construction de ce schma de compression/dcompression pour images
hyperspectrales, nous aborderons particulirement les points suivants :

Thorie des images hyperspectrales ; Proposer et justifier notre schma de
compression;
I n t r o d u c t i o n P a g e | 3


Llaboration et la mise en place dune transforme en ondelettes 3D (TOD 3D) pour
dcomposer limage hyperspectrale ;
Lextension du codage SPIHT la troisime dimension afin de quantifier et coder les
coefficients ondelettes obtenus par la TOD 3D ;
La construction dune interface graphique sous MATLAB, afin de faciliter lutilisation
des algorithmes labors et tester la compression obtenue pour diffrents paramtres.


Ce mmoire sarticulera sur quatre chapitres : le premier chapitre est un tat de lart,
rappelant les proprits des images hyperspectrales et quelques standards de compression.
Aprs avoir fait le tour de la thorie sur les images hyperspectrale, nous allons proposer et
justifier notre mthode et nous allons dcrire brivement les concepts de base des deux
algorithmes qui la compose.

Dans le deuxime chapitre, nous dvelopperons une transforme en ondelettes 3D base
sur lalgorithme de Mallat, qui consiste en une dcomposition qui sappuie sur les filtres
passe-haut et passe-bas discrets dduits de londelette mre et de la fonction chelle
associe, puis nous implmenterons cette TO 3D sous Matlab. Pour la compression d'image,
la transforme reprsente le premier maillon de la chane, afin de compresser l'information, il
faut complter le cycle par une quantification et un codage.

Dans le troisime chapitre nous prsenterons les mthodes de codage des coefficients
ondelettes bass sur lhypothse des arbres de zros. Ces mthodes de codage, utilisent un
modle simple pour caractriser les dpendances parmi les coefficients ondelettes localises
dans les sous-bandes ayant la mme orientation. Nous choisirons dimplment la variante 3D
du codage SPIHT (Set Partitionning in Hierarehical Tree). SPIHT produit directement des
symboles binaires. Ainsi, nous pouvons choisir de ne pas implmenter un codage arithmtique
afin de ne pas augmenter la complexit de lalgorithme.

Dans le dernier chapitre de ce mmoire, nous allons prsenter linterface graphique
dveloppe sous MATLAB (GUI MATLAB) regroupant les algorithmes dcrit prcdemment
et dcrire son utilisation pour la compression dimages hyperspectrales. Nous ferons
lexprimentation de cet algorithme de compression pour diffrents paramtres. Nous
I n t r o d u c t i o n P a g e | 4

valuerons les rsultats obtenus et nous verrons notamment lapport de la mthode 3D
(compression de la dimension spectrale) par rapport la mthode 2D. Nous conclurons par
quelques perspectives pour dautres tudes ultrieures, afin damliorer lalgorithme de
compression labor.
Imagerie Hyperspectrale
CHAPITRE 1
C
h
a
p
i
t
r
e

1




Introduction aux images hyperspectrales.
Proprits des images hyperspectrales.
G n ralit s sur la compression dimages.
Dmarche gnrale du schma de compression propos.
C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 6

1. Introduction aux images hyperspectrales :
1.1. Notion de base de limagerie hyperspectrale :

La tldtection dsigne lensemble des techniques qui permettent dobtenir des
informations sur des objets ou des phnomnes, par lintermdiaire dinstruments de
mesures (un satellite par exemple), sans contact direct avec les cibles tudies, en utilisant
les proprits des ondes quils mettent ou rflchissent.
Quand les rayons du soleil frappent un objet, certaines longueurs donde du spectre
sont rflchies, dautres sont absorbes. Les diffrents objets nabsorbent et ne rflchissent
pas la mme partie du rayonnement spectral. En consquence, le spectre du rayonnement
mis diffre selon lobjet. La tldtection mesure le rayonnement rflchi par les objets et
permet donc de dterminer certaines proprits de ces objets. Elle utilise le mme principe
que la vision humaine : exploiter la couleur et parfois la texture, pour identifier les
objets, mais son champ danalyse est largi des parties du spectre lectromagntique
allant au-del du domaine de la lumire visible.

Par exemple, les capteurs utiliss par le satellite SPOT 5, peuvent mesurer le
rayonnement rflchi dans le domaine visible (de 0.50 a 0.68 m) et dans le domaine proche
et moyen infrarouge (0.78 a 0.89 m et de 1.58 a 1.75 m).

Bande 1 : Vert (0,50 - 0,59 m)
Bande 2 : Rouge (0,61 - 0,68 m)
Bande 3 : Proche infrarouge (0,78 - 0,89 m)
Bande 4 : Moyen infrarouge (MIR) (1,58 - 1,75 m)

Pour le satellite LANDSAT 7, ses capteurs peuvent mesurer le rayonnement dans le
domaine du visible, du proche et moyen infrarouge et le rayonnement dans linfrarouge
thermique.

Bande 1 : (0.45-0.52 m) Bleu
Bande 2 : (0.52-0.60 m) Vert
Bande 3 : (0.63-0.69 m) Rouge
Bande 4 : (0.76-0.90 m) Proche infrarouge
Bande 5 : (1.55-1.75 m) Moyen infrarouge
Bande 6 : (10.4-12.5 m) Infrarouge thermique
Bande 7 : (2.08-2.35 m) Moyen infrarouge


C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 7


Ces capteurs lectroniques permettent lobservation de la mme scne dans plusieurs
longueurs dondes. Ils sont appels capteurs multispectraux et les images quils fournissent
sont appeles images multispectrales. Un trs grand nombre de ces capteurs multispectraux
se sont ainsi dvelopps, le premier tant Landsat au dbut des annes 70.




Fig.I.1 Image LANDSAT 7 du nord de la wilaya de TIZI-OUZOU bande verte
(bande 2), rouge (bande 3), infrarouge (bande 4) et limage fausse couleur
obtenue laide des trois bandes verte, rouge et proche infrarouge sous le
logiciel ENVI 4.

C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 8


Lvolution naturelle des capteurs dimages a conduit lacquisition non pas dune, deux
ou trois bandes spectrales mais plutt de plusieurs centaines dimages spectrales, dont le
recouvrement spectral va du visible jusqu' linfrarouge. Lacquisition de telles donnes
est faite via des capteurs hyperspectraux et cette acquisition aboutit la formation dun
cube de donnes comme illustr la figure suivante, quon appelle le cube hyperspectral.
En effet, les donnes acquises ont trois dimensions : deux dimensions spatiales qui
reprsentent la scne et une troisime dimension qui reprsente le spectre de la scne dans
diffrentes longueurs dondes.


Fig.I.2 Du monochrome lhyperspectral.

Llment nouveau apport par les images hyperspectrales est la signature spectrale. La
signature spectrale comporte des informations uniques concernant les proprits physiques,
chimiques des matriaux et des objets analyss. Autrement dit, cette signature correspond la
raction des objets par rapport au rayonnement solaire (en fonction des longueurs donde de
ce rayonnement solaire). Nous pouvons dire quavec les images hyperspectrales, nous
sommes effectivement capables dacqurir des informations prsentes dans lensemble de la
signature spectrale, l o les systmes classiques de tldtection, comme ceux dimagerie
multispectrale, o on ne propose que quelques portions de ce spectre (voir figure I.3). Cette
nouvelle forme de tldtection permet de reconnaitre la plupart des objets dans limage.

C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 9

La rsolution spectrale est le paramtre le plus important des images hyperspectrales. Elle
permet dobtenir des chantillons dtaills des spectres. Pour ce paramtre, lessentiel tient
la continuit des canaux avec une largeur assez troite. Parfois les capteurs hyperspectraux,
comme CASI, ont une capacit de rsolution flexible qui permet de choisir la fois la largeur
et le positionnement des canaux spectraux. Cette capacit est trs pratique, selon
lexploitation que lon souhaite faire.

Cette technique dacquisition simultane des donnes dimagerie en quelques centaines
de canaux spectraux contigus, nous permet denregistrer la signature spectrale pour chaque
pixel de limage comme dans le laboratoire. La diffrence par rapport aux images
multispectrales tient donc au nombre important de bandes (100 200), leur largeur fine (10
20 nm) et au fait quelles soient contigus.
Fig.I.3 (A) Spectre fournis par le capteur multispectral ; (B) spectre hyperspectral.
C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 10

Une image hyperspectrale est obtenue grce un spectro-imageur. Lacquisition dune
mme scne est ralise dans plusieurs bandes spectrales. Le dveloppement de la technologie
hyperspectrale a permis en 1989, la NASA de raliser une avance majeure en mettant en
uvre le systme AVIRIS. LAVIRIS tait un capteur hyperspectral avanc, port par un U2.
Il a acquis des donnes dimagerie dans 224 canaux spectraux sur une gamme spectrale
de 400 2500 nm. Suite ce programme, dautres capteurs hyperspectraux ont t
dvelopps et rendus oprationnels [1].
Actuellement, deux technologies sont oprationnelles : aroportes et spatioportes.
1.2. Capteurs aroports :
Les capteurs aroports sont historiquement les premiers capteurs grce auxquels
limagerie hyperspectrale a t applique et dveloppe. Les capteurs aroports trouveront
toujours des applications, notamment lorsque de trs hautes rsolutions spatiales (De 1
4 m) sont ncessaires. Le tableau (I.1) recense les capteurs hyperspectraux aroports
les plus connus.

Capteur

Nom complet Oprateur/Pays

Bandes Gamme
Spectrale (m)
AVIRIS

Airborne Visible Infrared
Imaging Spectrometer
NASA/JPL
USA
224 0.4 - 2.5
HYDICE

Hyperspectral Digital
Imagery
Collection Experiment
USA

210 0.4 - 2.5
CASI

Compact Airborne
Spectrographic Imager
Itres Research
Canada
228 0.1 - 1.0
AISA

Airborne Imaging
Spectrometer
Specim Ltd.
Finland
228 0.43 - 1.0
MODIS

Moderate Resolution
Imaging Spectrometer

NASA
USA

36 0.41 - 14.24
Tableau.I.1 Capteurs hyperspectraux aroports.

C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 11

1.3. Capteurs spatioports :
Suite la russite des capteurs hyperspectraux aroports et grce lexprience de la
tldtection spatiale, lide de monter un capteur hyperspectral sur satellite a suscit
lattention des agences spatiales. Aujourdhui, plusieurs capteurs hyperspectraux spatiaux sont
actifs : Hyperion est bord du satellite Earth Observing-1 (EO-1), qui a t lanc dans le
cadre de programme millnaire de la NASA [EO1/NASA]. Plusieurs programmes non
gouvernementaux ont t galement dvelopps, parmi lesquels le capteur CASI (Compact
Airborne Spectrographic Imager) qui est lun des plus employ. Le tableau (I.2) prsente les
capteurs hyperspectraux ports par satellites.
Capteur

Nom Oprateur/Pays

Bandes Gamme
Spectrale (m)
HYPERION EO-1 NASA/ USA 220 0.4 - 2.5

FTHSI

MightySatII

Air Force
Research Lab
USA
256 0.475 - 1.05
Orbview-4

Airforce Warghter

Air Force
Research Lab
USA
200 0.4 - 2.5
SSTI HSI

Small Satellite
Technology Initiative
Hyperspectral Imager
TRW Inc.
NASA
USA
384 0.4 - 2.5
NEMO

Naval Earth
Map Observer

Oce of
Naval Research
USA
220 0.4 - 2.5
Tableau.I.2 Capteurs hyperspectraux ports par satellites.

Dans ce qui suit nous allons dcrire plus en dtails les caractristiques du capteur AVIRIS,
tant donn que cest les images issues de ce capteur que nous allons utiliser et essayer de
compresser en utilisant une transforme en ondelettes 3D.


C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 12

1.4. Le capteur AVIRIS :
AVIRIS (Airborne Visible / Infrared Imaging Spectrometer) est lun des tout premier
imageur spectromtre, il a t mis au point en 1987 par la NASA. Ce capteur est capable
dacqurir des images spectrales dans 224 bandes avec 512 pixels sur chaque ligne, en
utilisant un systme dimagerie numrique balayage whisk broom. La gamme spectrale
couverte par les 224 canaux varie entre 0.4 et 2.45 m. Cette largeur de gamme est large et
couvre le visible, le proche infrarouge et le moyen infrarouge. Le capteur AVIRIS est
aroport soit en haute altitude soit en basse altitude et sa rsolution spatiale dpend de
laltitude de lavion (entre 4m-20m). Le tableau (I.3) rsume les caractristiques du capteur :

Caractristiques dAVIRIS :
Nom
Plateforme
Constructeur
Airborne Visible / Infrared Imaging Spectrometer
Aroport
NASA/JPL
Nombre de bandes
Rsolution spectrale
Game spectrale
224
10 nm
0.4 et 2.45 m
Echantillonnage spatial 20 m 20 m ( 20 km)
4 m 4 m ( 4 km)
rsolution radiomtrique 12 bits
16 bits aprs corrections radiomtriques
Tableau.I.3 Caractristiques du capteur AVIRIS.

Les avantages :
Le capteur AVIRIS possde un certain nombre davantages par rapport dautres
technologies pour obtenir des informations sur la Terre. Par exemple :

1. La flexibilit de la rsolution spatiale grce au porteur aroport (entre 4m-20m).
2. le nombre et la largeur des canaux spectraux; grce la technologie spcifique du systme
optolectronique.
3. Une rsolution radiomtrique assez leve (12bits).
4. Le systme est calibr.
5. La possibilit de corrections gomtriques par les systmes GPS.
C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 13

2. Proprits des images hyperspectrales:
Les caractristiques principales sont bases sur les diffrentes capacits du systme
dimagerie. Il sagit des caractristiques spatiales, spectrales et radiomtriques des images [2].
2.1. Rsolution spatiale :
La caractristique spatiale dune image se dcrit par la rsolution spatiale. Elle a t
dfinie comme le pouvoir de discrimination de deux objets. En dautres termes, elle
correspond la taille du plus petit objet identifiable dans limage. Elle dpend de la taille du
dtecteur. La rsolution spatiale est trs variable en fonction de lapplication de limagerie :
elle peut aller de quelques dizaines de centimtres quelques centaines de mtres.
La rsolution spatiale permet de classer les capteurs en diverses classes telles que ultra
haut (moins dun mtre), trs haut (entre 1 et 4 m), haut (de 4 10m), moyen (de 10 50 m),
bas (de 50 250 m) et trs bas (plus de 250 m).
2.2. Rsolution spectrale :
La rsolution spectrale est dfinie comme la largeur minimal dun canal spectral. Dans
limagerie hyperspectrale, on insiste plutt sur cette caractristique du systme et dimage, ce
qui est lgrement diffrent de la dfinition donne pour limagerie multispectrale ou la
rsolution spectrale peut tre considre comme le nombre de canaux. Pour limagerie
hyperspectrale, la rsolution est donc le nombre de canaux spectraux troits et contigus. Dans
ce cas, la largeur de chaque bande est entre 10 et 14 nm.
Par cette mesure, les capteurs sont classs comme panchromatiques avec une seule bande,
multispectraux avec un nombre de bandes compris entre 2-20, hyperspectraux pour un
nombre de bandes compris entre 20-250 et enfin ultra spectraux avec plus de 250 bandes.
2.3. Rsolution radiomtrique :
Le flux de la radiance qui arrive sur chaque dtecteur, pour une longueur donde
spcifique est une valeur analogique qui dtermine les niveaux de gris de chaque pixel. La
rsolution radiomtrique se mesure en nombre de bits. Lquation suivante dfinit le nombre
du niveau de gris N par rapport au nombre de bits n :
N = 2
n

C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 14


Par exemple pour un capteur qui a une rsolution radiomtrique de 10 bits, nous avons des
pixels avec des valeurs de gris comprises entre 0 et 1023. Avec cette caractristique qui est
normalement leve dans le cas de limagerie hyperspectrale, il est probable que deux
matriaux trs similaires apparaissent avec des valeurs lgrement diffrentes.
Avec la rsolution radiomtrique, nous pouvons classer les capteurs en trs haut (plus de
12 bits), haut (entre 8 et 12 bits), moyen (entre 6 et 8 bits) et bas (moins de 6 bits).
2.4. La couverture spectrale :
Il sagit de ltendue du spectre lectromagntique qui est couverte par les capteurs, tels
que lultraviolet, le visible, linfrarouge rflchissant, linfrarouge thermique et les
microondes.
Pour lutilisation de limagerie hyperspectrale, nous insistons sur les critres les plus
importants tels que la gamme spectrale couverte par les capteurs, la rsolution spectrale ou le
nombre de bandes spectrales.

2.5. Taille des images hyperspectrales :
Les donnes hyperspectrales sont volumineuses. Observer la mme scne dans environ
200 longueurs donde multiplie logiquement la taille des donnes par 200.Le capteur spatial
AVIRIS acquiert une scne de 512 614 pixels dans chacune des 224 bandes spectrales.
Comme ces donnes sont quantifies sur 12 bits, cela reprsente environ 134.4 Mb pour une
rsolution spatiale de 20 mtres seulement.
Le tableau (I.4) prsente les spcifications typiques pour un capteur hyperspectral.
Spectre
Rsolution spatiale
Nombre de bandes
Rsolution spectrale
Quantification
400-2500 nm
20 m
20-250
10 nm
12 bits

Tableau.I.4 spcificits dun capteur hyperspectral.

C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 15

2.6. Le concept du cube de donnes :
Une image hyperspectrale peut tre dcrite comme un cube de donnes trois dimensions,
La face suprieure du cube correspond la scne spatiale, toutes les scnes pour les
diffrentes longueurs dondes sont ensuite empiles pour donner le cube hyperspectral [2] de
la manire suivante :
la largeur de ce cube, mesure en pixels, est lie la rsolution spatiale.
la longueur du cube mesure galement en pixels, est lie la rsolution spatiale.
enfin, la profondeur est le nombre de canaux spectraux et reprsente la rsolution spectrale
de limage.
La figure (I.4) montre un cube de donnes hyperspectrales, pour prciser la position des
pixels dans une image hyperspectrale. On notera I(x, y, ) la valeur sur la colonne x, la ligne y
et dans la bande spectrale .









Fig.I.4 Le cube hyperspectral.
Les images hyperspectrales constituent un flot de donnes considrables transmettre.
laborer des mthodes de compression efficaces est un enjeu majeur pour leur stockage et
leur transmission.
C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 16

2.7. Des dimensions aux proprits diffrentes :
Le cube hyperspectral est un cube avec des dimensions aux proprits diffrentes (axe
spectral ou spatial), ce qui va introduire des spcificits sur les donnes. Chaque valeur dun
pixel correspondant la luminance pour une longueur donde donne, les proprits de ces
valeurs sont diffrentes selon les directions spectrales et spatiales. Dans les directions
spatiales, la corrlation est forte faible distance et dcroit rapidement quand le dcalage
augmente. Au contraire, la corrlation spectrale est prsente pour tout le spectre. Les
proprits statistiques sont donc diffrentes selon la direction considre.


Le facteur de corrlation entre les diffrentes bandes spectrales peut tre calcul et une
matrice de corrlation spectrale peut tre ainsi obtenue. Le coefficient (i, j) de cette matrice de
corrlation reprsente la corrlation entre les bandes i et j. Il est dfini par lquation
suivante :


r(i, ]) =
Ic(x, y, z

)Ic(x, y, z
]
)
n
j
=1
n
x
x=1

Ic(x, y, z

)
2
x,

Ic(x, y, z
]
)
2
x,
- -(1)


Le coefficient de corrlation se situe dans lintervalle [1; 1], une valeur de 1 indiquant
une galit entre les deux bandes. Les valeurs tant en fait fortement corrles, il y a rarement
apparition de coefficients ngatifs en pratique.

Du fait de la taille importante des images hyperspectrales, on comprend vite lintrt
dune compression efficace de ces donnes, pour ce faire nous allons exploiter les diffrentes
proprits de ces images, notamment la forte corrlation spectrale et la possibilit de disposer
ces donnes sous forme dun cube de donnes et proposer une mthode de compression
adapte et exploitant ces proprits. Dans ce qui suit, nous allons dabord passer en revue les
notions de base de la compression, en suite nous proposerons notre mthode et la mettrons en
uvre dans les chapitres II et III.

C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 17

3. Gnralits sur la compression dimage :
3.1. Notion de base de la compression :
Nous dtaillons travers ce paragraphe les ides essentielles des mthodes de
compression. Les mthodes de compression varient suivant les types dimages (naturelles,
mdicales, satellitaires, etc.) et les applications vises (internet, stockage, etc.) [3]. De plus,
les exigences en termes de qualit sont diffrentes. Il existe deux principales chanes de
compression :

la chane de compression sans perte (rversible) : les valeurs de limage comprime ne
sont tributaires daucune modification par rapport aux valeurs de limage originale
(par exemple, pour les applications mdicales : aucune erreur de diagnostic ne peut
tre tolre). Lavantage de ce type de chane est davoir une image reconstruite
identique, mais linconvnient rside dans le faible taux de compression que lon peut
atteindre. En effet, celui-ci est limit par lentropie de la source.

Les mthodes sans pertes peuvent tre employes directement dans une chane de
compression. Cependant, certaines dentre elles sont bien souvent utilises aprs la phase de
quantification dune chane de compression avec perte, lors de la transmission ou du stockage
des index. Nous pouvons distinguer :

1. les mthodes prdictives : celles-ci exploitent la redondance spatiale qui existe entre la
valeur courante et les valeurs prcdentes ou suivantes ;
2. les codeurs entropiques : ceux-ci tentent de sapprocher le plus possible de lentropie
de la squence de valeurs coder, en affectant un nombre de bits le plus faible
possible aux valeurs les plus probables et vice versa. Le codage de Huffman et le
codage arithmtique sont les principaux codeurs entropiques utiliss dans le domaine
de la compression dimages.

C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 18

la chane de compression avec perte (non rversible) : lors de la phase de
quantification, des modifications sont apportes aux valeurs de limage. Lavantage de
ce type dapproche est quil est possible datteindre des taux de compression
importants, mais au dtriment de la qualit de limage reconstruite. Cependant, la
majorit des applications grand public sest oriente vers ce type de compression
(appareil photo numrique, images naturelles, transmission dimages sur les diffrents
rseaux, stockage dimages, etc.). La figure (I.5) montre les principales tapes dune
chane de compression avec perte.
Les mthodes de compression dimages avec pertes constituent la majorit des travaux de
recherche, en particulier lors de ltape de quantification. Nous pouvons distinguer :
1. les mthodes bases sur la Quantification Scalaire (QS) : elles consistent traiter les
valeurs (de pixels ou de coefficients) de manire individuelle. Diffrents types de
Quantification Scalaire existent, et sont encore utiliss, par exemple pour le standard
JPEG2000 ;
2. les mthodes bases sur la Quantification Vectorielle (QV) : elles traitent en mme
temps un groupement de pixels ou de coefficients, appels vecteurs. Elles permettent
thoriquement dtre toujours plus performantes que les mthodes bases sur la
Quantification Scalaire.

Fig.I.5 Les 3 tapes classiques de compression dimages.

C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 19

3.2. Les trois tapes classiques en compression:
Les mthodes de compression avec pertes dimages actuelles suivent les 3 tapes
classiques de compression dimages [3]. Elles dbutent pour la plupart par une rorganisation
du contenu de limage, afin de sparer les composantes importantes des composantes
contenant peu dinformations. Cette tche est remplie par une transformation mathmatique.
Cette tape est suivie par la quantification qui dgrade de manire irrversible le signal puis
vient la dernire tape; le codage (sans perte) qui produit un flux binaire.
3.2.1. Premire tape : Transformation des donnes:
Le but de la transforme dans un schma de compression est double. En effet, en plus de
rorganiser linformation, elle doit reprsenter les composantes importantes dun signal avec
le moins dlments possibles : cest ce quon appelle une reprsentation creuse du signal ou,
compacter lnergie.
Le but dune transformation est de projeter un signal sur une base de fonctions dont les
proprits sont adaptes la nature et aux caractristiques du signal que lon dsire analyser.
La projection est gnralement orthogonale. Soit X un signal et Tx le signal projet dans une
base de fonction (fw) w e R, on a :

Ix(w) =< X, w >= X
+
-
(t) w(t)Jt - -(2)
La premire transformation mathmatique employe pour analyser les signaux est la
transforme de Fourier (TF). Celle-ci occupe une place centrale, notamment dans le domaine
du traitement du signal, en raison de luniversalit lie au concept de frquence et de son
optimalit pour traiter les signaux stationnaires. En revanche, elle rend difficile lanalyse des
signaux dits transitoires car les fonctions sur lesquelles seffectuent la projection du signal
sont dfinies sur R. Il existe de nombreuses recherches lies la dtermination de diffrent
type de base de projection. Un des points culminants de ces travaux est la thorie des
ondelettes qui sera prsent dans le chapitre II.

C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 20


3.2.2. Deuxime tape : Quantification:
Dans le schma de compression, ltape de quantification est celle qui dgrade de manire
irrversible le signal. Elle est cependant dune importance capitale dans la rduction du dbit
binaire. La quantification est une opration qui transforme un signal continu en un signal
discret laide dun ensemble appel dictionnaire. Ce passage du continu au discret peut
seffectuer chantillon par chantillon, dans ce cas on parlera de quantification scalaire (QS),
ou bloc par bloc : cest ce quon appelle la quantification vectorielle (QV).

On dfinit la fonction de quantification Q applique un chantillon ou un bloc
dchantillons de la source X. Le quantificateur Q associe X le plus proche lment du
dictionnaire C. Lobjectif, lorsquon applique Q une reprsentation creuse du signal (cest--
dire aprs transformation du signal), est de diminuer le nombre de bits ncessaires pour coder
le signal.
3.2.3. Troisime tape : Codage:
Il y a deux grandes familles de codeurs sans perte : les codeurs entropiques et les codeurs
par plages. Ils sont utiliss dans une chane de compression sans perte, directement sur
limage de dpart et ils sont galement employs la dernire tape de la chane de
compression avec pertes (Fig.I.5) afin dexploiter les redondances prsentes la sortie du
quantificateur.
Les codes entropiques sont bass sur la gnration de mots dont la longueur dpend de la
probabilit dapparition des symboles de la source quil reprsente : un grand nombre de bits
sera utilis pour coder un symbole peu probable tandis quun symbole redondant sera cod sur
trs peu de bits.
Le codage par plages (ou run-length en anglais) consiste coder la longueur dune srie
dchantillons nuls plutt que de coder chaque chantillon indpendamment.


C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 21

Aprs avoir fait le tour de la thorie de la compression dimages nous allons maintenant
voir ce qui se fait en pratique, dans ce qui suit nous allons dcrire brivement les concepts de
base de deux des algorithmes de compression les plus utiliss dans la compression dimages
savoir : Le standard JPEG et son successeur le JPEG 2000.
Ltude de ces deux standard nous permettra de justifier le choix des mthodes et codes
proposs dans notre schma de compression pour images hyperspectrales.

3.3. Compression dimage : du JPEG JPEG 2000 :
JPEG a t tabli par lISO (International Standards Organization) et lIEC (International
Electro-Technical Commission). JPEG a rencontr un gros succs dans les applications de
compression dimages et de transfert dimages. Il utilise une transforme en cosinus discrte
2D (TCD 2D) qui fait passer l'information de l'image du domaine spatial en une
reprsentation identique dans le domaine frquentiel. Ainsi on parvient reprsenter
l'intgralit de l'information de l'image sur trs peu de coefficients. Rcemment, JPEG 2000 a
t propos pour fournir une nouvelle mthode de compression utilisant une transforme en
ondelette discrte 2D (TOD 2D). Cette dernire amliore de manire significative la qualit
de compression obtenue.

3.3.1. JPEG :
En 1992, JPEG tablit le premier standard international de compression dimage ou le
codage et le dcodage sont bass sur la TCD. La TCD transforme un signal dune
reprsentation spatiale une reprsentation frquentielle. Les basses frquences sont plus
importantes dans une image que les hautes frquences de ce fait lors dune TCD, sur une
image beaucoup de coefficients hauts frquences sont limins rduisant ainsi la quantit de
donnes ncessaires la description dune image sans trop sacrifier la qualit de limage.
Une vue simplifi de la compression TCD consiste :
Dcoupage de limage en block de 8x8 pixels.
Application de la TCD 2D sur chaque block de 8x8 pixels.

C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 22


limination des coefficients insignifiants pour rduire la taille de limage.
Codage des coefficients par un codage entropique comme le codage de Huffman.

Malgr les diffrents avantages de la compression JPEG qui sont la simplicit, des
performances satisfaisantes, il prsente de nombreuses limitations. Le besoin d'images
compresses de bonnes qualits est en constante augmentation et on a vu que la compression
JPEG, son poque avait fourni des taux records, qui ont permis par exemple le
dveloppement d'internet tel que nous le connaissons actuellement. Cependant, la mthode
TCD par bloc est dsormais un facteur limitant. A partir dune compression ''moyenne'', on
voit apparaitre des artfacts de compression, comme les blocs 8x8. Le successeur du standard
JPEG, prenant en compte ses limitations.

3.3.2. JPEG 2000 :
JPEG 2000 va reprendre certains lments du JPEG comme le prtraitement de l'image,
mais ensuite, la compression va se faire sur l'image entire, et non plus sur des blocs rguliers.
Cela permettra d'avoir une approche plus globale de la compression par l'usage d'ondelettes.
On remplace ainsi la TCD (Transforme en Cosinus Discrte) par la TOD (Transforme en
Ondelettes Discrte) [4].
Actuellement, JPEG2000 fournit une compression suprieure d'environ 20% JPEG
pour des faibles taux (peu de dtrioration de l'image originale). Pour des taux de
compression levs, JPEG2000 est trs largement meilleurs.
Le principe de l'algorithme consiste diviser en quatre l'image chaque itration : trois
blocs correspondent aux dtails de l'image, et le quatrime correspond aux informations les
plus importantes pour l'il (les basses frquences), qui sert de base pour la prochaine
itration. Pour dcomposer cette image, on utilise donc deux filtres issus du choix
d'ondelette : un filtre passe-haut et un filtre passe-bas.
Seules deux types de transformations s'appuyant sur deux types d'ondelettes ont t choisis
pour le format JPEG2000 :

C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 23

la transformation ``CDF 9/7'' pour Cohen-Daubechies-Fauvaue dans le cas d'une
transformation irrversible.
la transformation ``spline 5/3'' de Le Gall, beaucoup plus simple pour permettre une
transformation rversible.

3.3.3. Performance de la TCD et de la TOD :
Les performances de la compression JPEG (utilisant la TCD 2D) et de JPEG 2000
(utilisant la TOD 2D) appliques limage LENA 512x512 cod sur un octet (8 bits) [4]
montre que pour un rapport de compression inferieur 25 :1 la compression JPEG est
meilleure que celle du codeur ondelettes et que partir dun rapport de compression de
30 :1 la compression JPEG se dtriore rapidement pendant que celle avec ondelettes se
dgrade linairement jusqu un facteur de 100 :1. La figure suivante montre la qualit de
compression obtenue par JPEG (b) et JPEG 2000 (c) pour limage LENA (a) pour un rapport
de compression de 40 :1.

Fig.I.6 (a) Image LENA ; (b) compression par JPEG ; (c) compression par JPEG 2000.

3.3.4. Discussion :
Le codeur TCD donne de trs bons rsultats pour de faibles taux de compression, pour
des taux levs la qualit de limage se dgrade rapidement alors que le codeur TOD
augmente sensiblement la qualit des images pour ces taux levs de compression.
C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 24

4. Dmarche gnrale du schma de compression propos :

Notre schma de compression sinscrit dans le cadre dune approche transforme en
ondelettes (TO), qui est un outil largement utilis en traitement du signal et dimage. Sa
capacit compacter lnergie sur un petit nombre de coefficients permet un codage efficace
de limage. Elle correspond la premire tape de la chane de compression classique et elle
est couramment utilise dans le cas des images 2D par application de filtres sparables dans
les deux directions (axe x et y). La forte corrlation "frquentielle" en imagerie
hyperspectrale, nous a conduit tendre cette transforme la troisime dimension (axe z)
pour dcorrler les trois dimensions (x, y et z). Cette transforme qui se nomme transforme
en ondelettes 3D (TO 3D), est maintenant admise comme rfrence en compression dimages
volumiques [5].

Le premier objectif de ce mmoire est de prsenter les ondelettes, de dvelopper une
transforme en ondelettes [6] [7] et de faire lextension 3D de cette transforme ainsi que
son implmentation sous Matlab. Pour la compression d'images, la transforme reprsente le
premier maillon de la chane, afin de comprimer l'information, nous allons complter le cycle
par une quantification et un codage.
Le second objectif de ce mmoire est de prsenter les diffrentes faons de coder les
coefficients dondelettes. Les schmas de codage proposs ici, utilisent un modle simple
pour caractriser les dpendances parmi les coefficients dondelettes localises dans les
sous-bandes ayant la mme orientation. Les modles sont bass sur lhypothse des arbres de
zros [8] [9] [10], ces mthodes appliquent une quantification par approximation successive
pour amliorer la prcision de la reprsentation des coefficients dondelettes. Nous choisirons
en suite de faire lextension 3D et limplmentation de la variante la plus populaire de ce type
de codage qui est le SPIHT (Set Partitionning in Hierarehical Tree).
SPIHT [9] produit directement des symboles binaires. Ainsi, un codeur entropique nest
pas obligatoire mme sil est souvent implant. Limplmentation dun codeur entropique
namliore pas les rsultats de manire significative, nous avons donc dcid de ne pas
limplmenter afin de ne pas augmenter la complexit de lalgorithme labor.

La figure (I.7) prsente notre schma de compression/dcompression dvelopp pour les
images hyperspectrales 3D.
C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 25

Fig.I.7 Notre schma de compression pour images
hyperspectrales.













C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 26

Comme on vient de le voir, notre schma se compose de deux tapes : une transformation
(TOD 3D) et un codage (SPIHT 3D). Nous allons dcrire brivement chacun deux dans ce
qui suit :
4.1. Premier tape : Transformation TOD 3D :
Nous proposons de dvelopper une transforme en ondelettes 3D base sur
lalgorithme de Mallat [6], qui consiste en une dcomposition pyramidale et rversible
dune image en un jeu de huit sous-images. La dcomposition sappuie sur les filtres
passe-haut et passe-bas discrets dduits de londelette et de la fonction chelle associe.
Notons aussi que nous allons dfinir un large choix de filtres utilisables, tel que les filtres
de daubechies, les symlettes et dautres filtres qui peuvent tre utiliss par la transformation
dveloppe. Cependant lutilisation du filtre CDF 9/7 pour la transformation en x et y dans le
JPEG2000 a montr ses performances. Dautres auteurs ont test les performances de
compression en appliquant des filtres diffrents dans la direction z, leur tude montre que le
filtre CDF 9/7 est bien adapt quand la distance inter-canal est faible, ce qui est le cas dans les
images hyperspectrales (bandes contiges), alors que le filtre de Haar est mieux indiqu pour
une distance inter-canal plus importante. Pour ces raisons nous avons donc choisi dutiliser
le filtre CDF 9/7 pour tester les performances de notre algorithme.
De plus cette opration peut tre applique autant de fois que le nombre de
dcompositions souhaites. Dans la transforme dyadique, chaque nouvelle dcomposition
est obtenue partir dune nouvelle transforme en ondelettes 3D sur la sous-bande basse-
frquence LLL. La figure suivante illustre les blocs de donnes 3D obtenus par une
transforme dyadique sur 2 niveaux.



Fig.I.8 Blocs de donnes 3D obtenus
par une transforme sur 2 niveaux.


C h a p . I I m a g e r i e H y p e r s p e c t r a l e P a g e | 27

4.2. Deuxime tape : Codage SPIHT 3D :
La deuxime tape consiste convertir limage transforme en une srie de symboles
favorables un encodage de plus faible volume. Plusieurs techniques de conversion
existent. L'un des algorithmes les plus performants dans ce domaine est le SPIHT [9], il
exploite la structure pyramidale des coefficients ondelettes obtenus par la TO o il existe
dimportantes corrlations entre les diffrentes chelles. Nous avons donc choisi de
dvelopper une version 3D du SPIHT afin dexploiter les dpendances inter- chelles dans
trois dimensions au lieu de deux. Pour cela le SPIHT 3D utilise des arbres
tridimensionnels. On isole ainsi des zones vastes de coefficients non significatifs, cest ce
qui permet datteindre de bonnes performances de compression.




Fig.I.9 Arbres de zros du
SPIHT 3D.




Le codage SPIHT assigne un code binaire chaque symbole et gnre un flux
binaire la sortie de notre chaine de compression.
Transform e en Ondelettes

CHAPITRE 2
C
h
a
p
i
t
r
e
2





G n ralit s sur les ondelettes.
Transform e en ondelettes discr te.
Lalgorithme de la TOD 3D sous MATLAB.
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 29

1. Gnralits sur les ondelettes :
1.1. Pourquoi les ondelettes ?
Que sont les ondelettes ? Lorigine du mot ondelette nest, en soi, pas trs compliqu. Les
ondelettes utilises par Jean Morlet avaient, en effet, une allure de petites ondes. Do cette
appellation. Vers 1975, ce gophysicien, a cr des petites fonctions mathmatiques ayant
certaines proprits intressantes ; ceci afin de sonder les diffrentes couches gologiques.
Morlet est donc un des artisans majeurs des ondelettes. Cependant, dautres chercheurs
travaillant dans des domaines de recherches diffrents, utilisaient cette poque des outils
forts semblables aux petites ondes de Morlet. Seulement, ces mthodes taient souvent
exprimentales et ne possdaient aucun formalisme rigoureux.
Ce formalisme mergera durant les annes 80 des travaux de scientifiques tels que ceux
dYves Meyer, de Stphane Mallat, dIngrid Daubechies et de bien dautres [11] [12]. Les
ondelettes sont, avant tout, un puissant outil danalyse mathmatique, mais avant de parler
danalyse en ondelettes commenant par parler de lanalyse de Fourier.

Lanalyse de Fourier est un outil de base en traitement du signal, indispensable dans de
nombreux domaines de recherche, mais elle montre vite des limites justifies ds lors que lon
sort du cadre rigoureux de sa dfinition : le domaine des signaux stationnaires dnergie finie.
Dans lanalyse de Fourier tous les aspects temporels (dbut, fin, dure dun vnement), bien
que prsents dans la phase, deviennent illisibles dans le spectre. En particulier, la transforme
de Fourier (TF) dun morceau de musique qui ne permet pas de retrouver le rythme jou, mais
simplement les notes prsentes. Le spectre seul ne permet pas de dissocier deux partitions
diffrentes ayant les mmes notes. Or, on souhaiterait pourtant parfois raliser la fois une
analyse en temps et en frquence, pour retrouver la porte musicale associe ces signaux
non stationnaires.
Ltude des signaux non stationnaires ncessite donc le dveloppement de mthodes
spcifiques. La premire solution, mise en place intuitivement au milieu du sicle, correspond
aux analyses de Fourier fentre glissante (FFG) introduites ds 1945 par D. Gabor avec
lide dun plan temps-frquence o le temps deviendrait un paramtre complmentaire de la
frquence. ces approches, sest ajoute la transforme en ondelettes, existant ltat latent
aussi bien en mathmatiques quen traitement du signal, mais dont le vritable essor a
commenc au dbut des annes 1980.

C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 30


Dans ce chapitre nous allons exposer quelques notions de base sur la transforme en
ondelettes mais avant, nous allons commencer par des rappels sur la transforme de Fourier,
puis la transforme de Fourier fentre glissante montrant leurs limites sur des exemples
classiques (signaux musicaux) et nous introduirons ainsi le concept de lanalyse multi-
rsolution comme outil de construction des ondelettes.

1.1.1. La transforme de Fourier :
Cest une gnralisation de la dcomposition des sries de Fourier tous les signaux
dterministes. Elle permet dobtenir une reprsentation en frquence (reprsentation spectrale)
de ces signaux. Elle exprime la rpartition frquentielle de lamplitude, de la phase et de
lnergie (ou de la puissance) des signaux considrs.

Dfinition :
Soit (t), un signal dterministe. Sa transforme de Fourier est une fonction, gnralement
complexe, de la variable et qui est dfinie par :

() = c
-t
+
-
(t)Jt - -(1)

Du point de vue mathmatique, un signal est une fonction S(t) , reprsentant une
information dorigine varie (acoustique, optique, ...etc.). Lanalyse de ce signal consiste
mettre en vidence certains phnomnes (transitoires, priodiques, ...etc.) qui le composent :
Dans le cas de lanalyse par transforme de Fourier, les fonctions analysantes sont les ondes
pures (e
It
) de frquence . Projeter le signal sur ces fonctions (analyse spectrale) renseigne
sur son caractre frquentiel.
La transforme de Fourier peut tre vue comme une reprsentation base des sinusodes
qui sont bien localises en frquences, mais pas en temps (ou espace) car leur support est
infini (cest une consquence de leur priodicit). Donc les inconvnients de lanalyse par la
transforme de Fourier proviennent du fait que les fonctions analysantes sont support de
longueur infinie, ce qui ne correspond pas un signal physique qui est support temporel fini.


C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 31

On peut rsumer la limite majeur de la transforme de Fourier dans le point suivant :

Perte de localisation temporelle : Considrant un signal compos dune succession de deux
sinusodes de frquences diffrentes, la premire tant une sinusode dune frquence de 20Hz
et la deuxime de 85Hz ; (cest lexemple dun signal musical compos de deux notes joues
une aprs lautre). La transforme de Fourier indique les frquences, mais ne donne aucune
information concernant lordre dapparition des sinusodes, (voir Fig.II.1).


Fig.II.1 Signal de deux sinusodes et module de sa transforme de Fourier.

Lanalyse en frquence ne nous informe pas sur la localisation temporelle du changement
du rgime dans le signal.

1.1.2. Transforme de Fourier fentre glissante :
Pour rpondre au problme de localisation de la transforme de Fourier, D. Gabor a
introduit vers les annes 40 lapproche de la transforme de Fourier fentre glissante, il
sagit de dcouper le signal en petits morceaux et de calculer ensuite leurs transforme de
Fourier. Dans la pratique cette mthode consiste multiplier le signal S(t) par une fonction
(fentre) localise dans le temps ou lespace ( support compact ou dcroissance rapide)
g(t -) ; ainsi la transforme de Fourier fentre glissante est dfinie par :
I
]cn
S( , ) = S(t)
+
-
g(t -) c
-{(t-)
Jt --(2)
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 32

I
]cn
S(, ) renseigne sur la nature frquentielle du signal S au voisinage du point .

Les fentres g
,{
(t) = g(t - )e
I{t
sont appeles les atomes de Gabor. Elles sont
construites en translatant une fentre de base g en temps et en frquences. Lanalyse par cette
transforme permet de retrouver la fois les frquences (les notes) et linformation temporelle
(lordre dans lequel elles sont joues).

1.1.2.1. Limites de la TF fentre glissante :
Considrons par exemple le signal S2 = S1 +0.6 + 0.7. Ce signal est dfini par deux
phnomnes diffrents : Deux sinusodes successives (dfini prcdemment) et deux pics de
Dirac qui reprsentent des dfauts locaux denregistrement (perturbations).
Lanalyse par transforme de Fourier fentre glissante ne permet pas de mettre en
vidence simultanment les deux phnomnes et ceci est d la taille de la fentre qui est
fixe, ce qui implique quon aura une rsolution temporel et frquentiel fixe.

1.1.2.2. Principe dincertitude de Heisenberg :
Il joue un rle important dans la thorie du traitement du signal car il donne une limite la
prcision de la localisation des diffrentes reprsentations dun signal. Ainsi le principe nous
dit que lnergie dun signal et celle de sa transforme de Fourier ne peuvent tre localises
avec une prcision arbitraire la fois en temps et en frquence.
Thorme d'incertitude de Heisenberg.
Si est dans L
2
, alors on peut dfinir son cart-type en temps o
t
et l'cart-type (en
frquence) de sa transforme de Fourier o
w
. Alors on a:
o
w
- o
t
14
On est donc contraint un compromis entre rsolution temporelle et frquentielle.

Autrement dit, il est impossible de trouver en pratique une fentre g qui soit bien localise
la fois en temps et en frquence. Ceci est justifi par le principe dincertitude dHeisenberg,
qui interdit un signal donn davoir une localisation arbitraire prcise en temps et en
frquence.
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 33


La localisation dans le plan temps-frquence de la transformation peut tre estime par les
variances de la fonction analysante dans lespace temporel et dans lespace frquentiel, elle
est reprsente sous forme d'une bote de Heisenberg.



Fig.II.2 Bote dHeisenberg

Dans notre cas o on analyse un signal par une fentre, on peut estimer la rsolution
temporelle et frquentielle comme ceci :

Soit g
,
(t) les fonctions (fentres) que lon utilise pour analyser le signal dans le plan temps
frquences; ces fentres sont appeles des atomes de Gabor :

g
,{
(t) = g(t -)c
{t
--(S)

Lnergie de g
,
(t) est localise au voisinage de sur une largeur propre la fonction g et
qui est donn par o
t
.
De mme pour valuer la translation en frquences, on peut prendre la transforme de Fourier
de g
,
(t) comme suite :

g
,{
() = g( -) c
-(o-{)
--(4)

Lnergie de g
,
(w) est donc localise au voisinage de la frquence sur un intervalle de
largeur o
w
.


C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 34






Fig.II.3 Atome fixe de la Transforme de Fourier fentre.

On voit bien que dans le cas o on analyse un signal par une fentre que lon dplacerait
le long de laxe du temps, on a une consquence immdiate qui est alors une rsolution fixe
en temps et en frquences, en dautres termes, la largeur de la fentre en temps o
t
et en
frquence o
w
seraient fixes et bornes infrieurement par lquation Heisenberg.

La meilleure localisation possible sera obtenue quand la surface des rectangles sera
minimum, cest dire quand on aura lgalit dans lquation. On peut montrer
qualors g est ncessairement une gaussienne et les atomes g
,
sont alors appels
fonctions de Gabor.


1.1.2.3. Discussion :
La taille constante de la fentre, fixe la largeur de bande du filtre dans lespace des
frquences et par consquence la rsolution frquentielle de lanalyse. Le principe
dincertitude impose ensuite leur prcision temporelle. Quels que soient les frquences aux
instants scruts, la prcision de notre outil demeure constante, les basses et hautes frquences
sont vues de la mme manire.


C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 35

1.1.3. Les ondelettes :
La transforme en ondelettes, est comme celle de Fourier, un passage dune reprsentation
une autre ; mais comme la transforme fentres, elle permet aussi de mesurer les variations
dans le temps des composantes frquentielles (spectrales) dun signal. Nanmoins, la
rsolution temps-frquence de la transforme en ondelettes est diffrente. En effet, dans la
transforme de Fourier fentre, la largeur en temps et en frquences des atomes avec
lesquels on analyse le signal est fixe et dpend de latome utilis.
Lide de londelette est de pouvoir faire varier les largeurs en temps et en frquences
dune fonction tout en la translatant le long du signal, comme dans la transforme de Fourier
fentre. La transforme en ondelette dune fonction f en un point (t,) du plan temps-
frquences ne dpend donc que des valeurs de (t) et

() dans le rectangle de Heisenberg


centr en (t,). Lavantage de faire varier ces largeurs devient alors vident : on minimise le
nombre de translations en temps et en frquences de la fentre en optimisant la largeur de
celle-ci. Ainsi dans les basses frquences, une grande largeur en frquences nest pas
ncessaire, on peut donc utiliser des rectangles plus larges en temps. Aux hautes frquences,
on va utiliser des rectangles plus larges en frquences et plus localises en temps. On peut voir
cela comme une adaptation de londelette lchelle quon lui impose : plus la fentre est
petite dans le temps, plus londelette va tre compresse et osciller rapidement. Le contraire
se produira lorsque la fentre est dilate. Ainsi, les petites et grandes fentres enregistreront
respectivement les variations rapides et moyennes du signal.

1.1.3.1. La transforme en ondelettes :
Une ondelette mre est une fonction de base, que lon va translater et dilater pour
recouvrir le plan temps-frquences et analyser le signal [12]. Londelette doit tre une
fonction de moyenne nulle ; En dautres termes, doit tre une onde ! Ce qui scrit
mathmatiquement par :

(t)
+
-
Jt = u --(S)
On introduit alors les facteurs de translation et dchelle s :

u,s
(t) =
1

s
_
t -u
s
] --(6)
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 36

OU :
Le paramtre est un paramtre de position de londelette.
Le paramtre s est un paramtre dchelle qui nest pas proportionnel la frquence mais
son inverse :
Si s > 1 (grand) londelette sera plus tale et correspondra une frquence plus
faible, la rsolution devient alors bonne en frquence et mauvaise en temps.

Quand s < 1 (petit), londelette sera plus contracte et correspondra une frquence
plus leve que celle de londelette mre. (Voir Fig.II.4).



Fig.II.4 Ondelettes pour plusieurs facteurs dchelle et leur transforme de Fourier.

On se dplace sur le plan temps-frquence en faisant varier s et u. La valeur que lon
obtient est alors la dcomposition spectrale locale de . Lnergie de
u,s
est concentre
autour de u sur une largeur s - o
t
ou o
t
est la largeur du rectangle de londelette mre. Pour
sa transforme de Fourier

u,s
son nergie est concentre autour dune frquence centrale n
et son intervalle est dune largeur de o
w
s .

C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 37



En conclusion, les rectangles de Heisenberg sont pour lanalyse en ondelette, de largeur
temporelle s - o
t
et de largeur frquentielle o
w
s. Ou o
t
et o
w
correspondent aux
largeurs du rectangle de Heisenberg de londelette mre.



Fig.II.5 Atome de la Transforme en ondelettes.

La rsolution en frquence de la transforme en ondelettes dpend du facteur de dilatation
s. Par le principe dHeisenberg, on peut donc choisir arbitrairement celle-ci suivant ce que
lon dsire analyser.


1.1.3.2. Discussion :
Pour lanalyse de Fourier, o
w
est fix lchantillonnage, o
t
est gal la dure du
signal (aucune localisation temporelle). Quant lanalyse de Gabor, les valeurs de o
w
et o
t

sont constantes, imposes par la taille de la fentre et pour les ondelettes, ces valeurs
voluent suivant les frquences en gardant une nergie constante. La surface o
w
* o
t
est
limite
1
4
par le principe dincertitude.


C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 38


Apres avoir introduit l'ide qui a conduit la transforme en ondelettes, nous allons
prsenter ce qu'est une ondelette ainsi que ses principales proprits. La transforme elle-
mme et ses proprits seront prsentes dans la prochaine section.

1.2. Ondelette analysante:
Nous avons vu en introduction qu'une ondelette doit tre une fonction localise aussi bien
en temps qu'en frquence. Ceci se traduit dans le domaine frquentiel par la condition
d'admissibilit suivante :

1.2.1. Dfinition 1 :
Une fonction e I
1
(R) r I
2
(R) est une ondelette si elle vrifie la condition
dadmissibilit :
C

=
|

()|
2

+
-
J < - -(7)
On dit que est admissible ou est une ondelette analysante.

1.2.2. Dfinition 2 :
Une ondelette est dite de classe C
m
, m e N si elle satisfait les proprits suivantes :
(a) si m 0, e I

(R) avec , ainsi que toutes ses drives jusqu lordre m


appartiennent I

(R).
(b) , ainsi que toutes ses drives, jusqu lordre m, sont dcroissance rapide linfini.
(c) t
k
+
-
(t) Jt = u pour 0 k m.

Les conditions (a), (b) et (c) expriment respectivement la rgularit, la localisation et
le caractre oscillant de londelette. Aussi impose-t-on souvent des contraintes
supplmentaires de rgularit, de dcroissance rapide ou de compacit suivant le besoin.
La condition dadmissibilit est relativement souple, un assez grand nombre de
fonctions peuvent convenir et la proprit suivante simplifie normment cette condition
dans certains cas :


C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 39

1.2.3. Dfinition 3:
Soit e I
1
(R) :
1- Si est admissible, alors

(u) = (t)Jt = u
+
-
.
2- Si

(u) = u, e I
2
(R) et si la drive de

est borne, alors est admissible.



On considre la famille (, s) s > u, eR obtenue par translation et dilatation de
londelette analysante et on dfinit
u,s
par :


u,s
(t) =
1
s
[
t-u
s

-Le facteur
1
s
est un facteur de normalisation qui assure que
u,s
a une norme I
2
gale 1.
-La fonction est appele ondelette mre et les
u,s
sont les ondelettes.

On peut classer les transformes en ondelettes selon la famille laquelle appartiennent les
fonctions analysantes choisies. Les transformes obtenues sont suivant les cas discrtes ou
continues, redondantes ou non.

1.3. Transforme en ondelettes continue:
La transforme en ondelettes d'une fonction est une reprsentation de cette fonction sur la
base d'ondelettes dfinie prcdemment. Ainsi, de mme que la TF continue qui est une
dcomposition atomique d'atomes c
wt
, la TO continue (ou TOC) est une dcomposition
d'atomes
u,s
comme l'exprime la dfinition suivante :
I
ond
( , s) =
1

s
(t)
+
-
_
t -u
s
] Jt --(8)

Les transformes continues sont obtenues en prenant le facteur dchelle s et le pas de
translation dans lensemble des nombres rels.
On peut interprter cette expression comme une projection du signal sur la famille de
fonctions analysantes
u,s
construite partir dune fonction mre. I
ond
(, s) reprsente
donc la corrlation (produit scalaire) de avec
u,s
et qui est appel coefficient
dondelettes.
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 40

Le facteur dchelle s et le pas de translation sont des rels et la transformation en
ondelettes est continue et donc redondante. Le plan temps frquence est sur-analys.
Il est donc vident quune discrtisation de la transforme doit tre envisage si on
souhaite obtenir une transformation non redondante. Le pavage temps-frquence obtenu par la
transformation en ondelettes (voir Fig.II.5) suggre une mthode de discrtisation
exponentielle pour les chelles et pour le temps. On posera donc :
s = s
0
m
ct = n
0
s
0
m
o:cc s
0
,
0
e Z --(9)

Lexpression de la transforme en ondelettes discrte est donne par :
I
ond
( m, n) = s
0
-
m
2
(t)
+
-
(s
0
-m
t -nu
0
)Jt --(1u)
Dans le cas o on choisit s
0
= 2 et
0
= 1, alors on parle de transforme dyadique.


Lapproche discrte a le mrite de traiter le problme de lchantillonnage de lespace
temps-frquence avec rigueur et elle fournit une mesure de lventuelle redondance de la
transformation obtenue. De plus, dans ce cas, les algorithmes de calcul conduisent souvent
des rsultats exacts sur des intervalles donns de lespace temps-frquence. Nous tudierons
plus en dtail le cas des transformes discrtes qui sont dailleurs pratiquement les seules
utilises en traitement dimages.
Parmi les transformes discrtes on distingue les transformes redondantes, dont les trames
dondelettes et les transformes non redondantes parmi les plus utilises, il y a les bases
orthogonales et biorthogonales. Les paquets dondelettes peuvent appartenir suivant le cas
lune ou lautre famille.

Pour rsumer, on peut donner le classement sommaire suivant des diffrents types
dondelettes [12] :
Transformes redondantes : Transformes non redondantes :
Transforme continue, Analyse multirsolution : base orthonorme,
Trame dondelettes, Analyse multirsolution : base biorthogonale,
Paquet dondelettes. Paquet dondelettes.

C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 41

2. Transforme en ondelettes discrte :
2.1. Dveloppement de lalgorithme de la Transforme en Ondelettes Discrtes :
On a vu que la transforme de Fourier permet dextraire la composante spectrale dun
signal continu mais elle est incapable didentifier la dpendance temps-frquence du signal.
La transforme de Fourier fentre glissante a t dveloppe pour extraire la composante
spectrale dun signal dans un certain intervalle de temps dtermin par une fentre; Cependant
elle est limite dans la gamme de frquence quelle peut analyser en raison de la taille fixe des
fentres utilises. La fentre doit tre variable avec la frquence, de tel sorte quelle puisse
zoomer en avant pour mesurer les hautes frquences et zoomer en arrire pour mesurer les
basses frquences.
Cest dans cette optique qua t dvelopp la transforme en ondelettes ainsi que les
fonctions ondelettes gnres par dilatation et translation dune fonction unique (ondelette
mre) [6] [7] selon lquation suivante :

u,b
(t) = o
-12
[
t - b
u
o e R
+
, b e R - - -(11)
Le dveloppement de ces fonctions sert de base de fonctions pour la transforme en
ondelettes continue (TOC) donne par :
w
u,b
(t) = I0C
]

u,b
(t) = (t)
+
-

u,b
(t) Jt --(12)
Afin de dvelopper la transforme en ondelette discrte (TOD), les fonctions ondelettes
doivent tre discrtises; les fonctions ondelettes de lquation (11) seront modifies avec les
relations suivantes :
o = o
0
]
, b = n b
0
o
0
]
; ], n e Z, o
0
> 1, b
0
= u --(1S)
Les valeurs de o
0
et b
0
sont fixes arbitrairement 2 et 1 ; dans ce cas on parle de
transforme dyadique. i.e.: o = 2
]
ct b = n 2
]
- -(14)
Les fonctions ondelettes de lquation (11) deviennent :

],n
(t) = 2
-]
(2
-]
t - n ) -- - (1S)

C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 42

La transforme en ondelettes discrte est alors donne par :
I0
]
(], n) = (t)
+
-

2
-]
(2
-]
t -n ) Jt e I
2
--(16)
Lanalyse multirsolution se base sur la capacit reconstruire (t) en partie et non au
complet. Quand (t) est reprsente dans diffrentes rsolutions, le signal reconstruit contient
diffrentes bandes de frquences du signal original (t). La reprsentation basse rsolution
de (t) est construite avec la fonction chelle (t). Cette reprsentation de (t) contient tout
le spectre de frquences allant jusqu une certaine frquence de coupure, ce qui est similaire
un filtrage passe bas de (t).
Un espace vectoriel basse rsolution I
]
c I
2
(R) est cr pour contenir toutes les
fonctions avec la rsolution j, ] e Z. Plus j augmente, plus lespace vectoriel basse rsolution
I
]
contient plus de dtails. En dautre mots plus j augmente plus I
]
contient des fonctions dont
la composante spectrale est de frquence leve.
En consquence, des sous-espaces concentriques se forment avec le sous espace I


contenant tous les sous-espaces I
]
de telle sorte que i < ].
i.e.: v ] e Z, I
]
c I
]-1
- -(17)
Egalement, I
]
ont la proprit que pour chaque fonction (t) e I
]
, une version contracte
est contenue dans le sous espace I
]-1

v] e Z, (t) e I
]
_
t
2
] e I
]-1
--(18)
Une fonction chelle unique (t) e I
u
est cre, ces translations (t - n), n e Z ,
forment la base orthonorme pour I
0
, en consquence la base orthonorme pour I
]
est :

],n
(t) = 2
-]
(2
-]
t -n), n e Z - -(19)
Que A
]
soit un oprateur dans (t) e I
2
(R), qui cre une projection orthonorme de
(t) sur le sous espace I
]
:
A
]
(t) =
+
n=-
< (u)
],n
(u) >
],n
(t) - -(2u)
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 43

Ou : < (u),
],n
(u) (u)
+
-

],n
(u)Ju --(21)
Cette projection est similaire la projection dun vecteur 3 dimensions sur un plan 2
dimensions ; le vecteur 2 dimensions rsultant de la projection devient la reprsentation la
plus proche du vecteur 3 dimensions. De mme A
]
(t) est la plus proche reprsentation de
(t) dans les sous espaces I
]
.
Que A
]
d
soit un oprateur sur (t) qui donne le produit scalaire discret de lquation (20)
A
]
d
(n) =< (t),
],n
(t) >=

2
-]
< (t)(2
-]
(t -2
+]
n)) > n e Z --(22)
Le produit de convolution est dfini par :

-
g(x) = ((t)
-
g(t))(x) = (t)
+
-
g(x -t)Jt - -(2S)
Lquation (22) peut tre crite comme :
A
]
d
(n) =

2
-]
(t)
+
-
[2
-]
(t - 2
]
n) Jt - -(24)
A
]
d
(n) = _(t) -

2
-]
(-2
-]
t)] (2
]
n), n e Z - -(2S)
A
]
d
(n) peut tre vu comme une convolution de (t) avec (t) chantillonne
uniformment intervalles de 2
-]
n. Plus la fonction chelle devient contracte, ce qui
correspond aux hautes frquences, plus le taux dchantillonnage dcroit.
Lquation (25) reprsente la discrtisation du filtrage passe bas de (t) qui correspond
une approximation discrte de (t).
La premire discrtisation de lapproximation de (t) qui contient la plus part des
informations est donne par A
0
d
(n) (i.e. rsolution 0) pour des buts de normalisation. Les
rsolutions suprieures de la version discrte de (t) c..d. ( A
-1
d
(n), A
-2
d
(n), )
contient plus dinformation de (t).
On peut passer dune fonction haute rsolution une fonction basse rsolution puisque

],n
(t) est un membre des fonctions de I
]-1
.
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 44

i. e. :
],n
(t) e I
]
c I
]-1
- -(26)
En consquence, on peut construire
],n
(t) avec la base orthonormale de I
]-1
:

],n
(t) =
+
n=-
<
],n
(u),
]-1,k
(u) >
]-1,k
(t) - -(27)
Le produit scalaire de (55) peut tre crit comme ceci :
<
],n
(u),
]-1,k
(u) > = 2
-]
2 (2
-]
u -n) (2
-]+1
u - k)
+
-
Ju --(28)
On faisant le changement de variable suivant : [
t
2
= 2
-]
u -n dans lquation
prcdente, on obtient :

2
-]
2
2
-]
2
(t2) [
2
-]+1
2
-]+1
(t +2n) -k Jt
+
-
= 2
-1
(2
-1
t) (t -(k -2n)
+
-
Jt
= <
-1,0
(t),
0,k-2n
(t) >

2
-1
(2
-1
t) (t -(k -2n)
+
-
Jt =<
-1,0
(t),
0,k-2n
(t) > --(29)
On multiplie en suite (t) aux deux extrmits de lquation (27), on obtient :
< (t),
],n
(t) > =
+
n=-
<
-1,0
(u),
0,k-2n
(u) >< (t),
]-1,k
(t) > -(Su)
On dfinit la rponse impulsionnelle dun filtre discret E() :
v n e Z, b(n) = <
-1,0
(u),
0,n
(u) > - --(S1)
Et E

() est le filtre miroir dont la rponse impulsionnelle b

(n) = b(-n) ; Lquation (30)


devient :

A
]
d
(n) = b

(2n - k) A
]-1
d
(k) -- - (S2)
+
n=-
A
]
d
(n) = b

(k) - A
]-1
d
(k)(2n) -- - (SS)

C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 45

Lapproximation discrte A
]
d
(n) la rsolution ] peut tre calcule partir de
lapproximation discrte de haute rsolution suivante en faisant la convolution A
]-1
d
(n) par
un filtre miroir E

(). Le filtre E() est lunique caractristique de la fonction chelle.


w
]
, dfinit la diffrence entre deux espaces vectoriels basse rsolution I
]
et I
]-1
, en dautre
termes, lunion de w
]
et I
]
donne I
]-1
. Lespace w
]
a la proprit intressante dtre
orthogonale I
]
c..d. w
]
- I
]
. Comme consquence de cette orthogonalit, toute fonction de
I
]-1
peut tre crite uniquement comme somme dune fonction de I
]
et dune fonction de w
]
.
I
]-1
= I
]
w
]
-- - (S4)
Lespace I
]
contient les fonctions de basse rsolution et w
]
contient les fonctions de la
gamme voisine. Les fonctions chelles sont utilises pour construire une base orthogonale de
I
]
et les fonctions ondelettes sont utilises pour construire une base orthogonale de w
]
.
c..d.:

],n
(t) = 2
-]
(2
-]
t -n), vn e Z ormc unc bosc ortbogonolc Jons I
]

],n
(t) = 2
-]
(2
-]
t -n), vn e Z ormc unc bosc ortbogonolc Jons w
]

Les fonctions ondelettes et les fonctions chelles sont de prs lies, tel que des relations
restrictives peuvent tre calcules et qui peuvent aider aux dveloppements de diffrentes
fonctions chelles et ondelettes.
De lquation (27), on peut crire :

],n
(t) =
+
n=-
<
-1,u
(u),
u,k-2n
(u) >
]-1,k
(t)
=
],n
(t) = b(k - 2n)
]-1,k
(t)
+
n=-
--(SS)
On dfinit g(n) comme la rponse impulsionnelle du filtre discret 0() :
v n e Z, g(n) = <
-1,0
(u),
0,n
(u) > - --(S6)
Une relation similaire (27) peut tre crite pour ondelette
],n
(t) e I
]-1
.
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 46

i.e.:
],n
(t) =
+
n=-
<
-1,0
(u),
0,k-2n
(u) >
]-1,k
(t)
=
],n
(t) = g(k -2n)
]-1,k
(t)
+
n=-
- -(S7)
Les filtres E() et 0() peuvent tre dtermins partir des fonctions chelles et
ondelettes et vice versa. Cependant les filtres discrets et les fonctions ondelettes doivent
satisfaire les relations contraignantes mentionnes dans [Malt89]. Ces relations permettent
aux mathmaticiens le dveloppement des diffrentes ondelettes.
La TOD est bas sur la dcomposition de A
]-1
d
(n) en deux squences A
]
d
(n)
et
]
d
(n). La premire squence a t dveloppe prcdemment, la deuxime squence va
tre tudie maintenant.
Multipliant les deux extrmits de lquation prcdente par (t), on obtient alors :
< (t),
],n
(t) > =
+
n=-
g(k - 2n) < (t),
]-1,k
(t) >

]
d
(n) = g(2n - k) A
]-1
d
(k) - -- (S8)
+
n=-

]
d
(n) = g(k) - A
]-1
d
(k)(2n) - -- (S9)

Ces relations sont comparables aux quations (32) et (33), cette squence peut aussi
scrire sous forme de lquation (25) :

]
d
(n) =

2
-]
(t)
+
-
[2
-]
(t - 2
]
n) Jt

]
d
(n) = _(t) -

2
-]
(-2
-]
t)] (2
]
n), n e Z - -(4u)

]
d
(n) peut-tre aussi vu comme une version de (n) filtr par un filtre passe haut et
chantillonn intervalle de 2
]
n.
A
]
d
(n) fait rfrence lapproximation de (t) et
]
d
(n) fait reference aux dtails de
(t).
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 47

De lquation (33) et (39) on peut reprsenter graphiquement la dcomposition de
A
]-1
d
(n) avec les bancs de filtres comme le montre la figure (II.6) :






Fig.II.6 Transforme en Ondelettes Discrte.

Une fois la squence A
0
d
(n) t dcompose en ] squences dtails et ] squences
lisses (approximation) ; le signal original peut tre reconstruit partir des squences obtenues
par dcomposition.
I
]-1
peut tre crit uniquement comme la somme des fonctions de I
]
et des fonctions de
w
]
:

]-1,n
(t) =
+
n=-
<
],k
(u),
]-1,n
(u) >
],k
(t)
+ <
+
n=-

],k
(u),
]-1,n
(u) >
],k
(t)
=
]-1,n
(t) =
+
n=-
b(n -2k)
],k
(t) +
+
n=-
g(n - 2k)
],k
(t)
On multiplie en suite les deux extrmits de cette quation par (t) et on obtient :
A
]-1
d
(n) = b(n - 2k) A
]
d
(k) + g(n -2k)
]
d
(k) - (41)
+
n=-
+
n=-


C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 48

On insrant des zros entre chaque chantillons de A
]
d
(k) et de
]
d
(k) , on sur-
chantillonne ces deux squences :
A
]
du
(2k) = A
]
d
(k) ;
]
du
(2k) =
]
d
(k)
On pose m=2k et on obtient :
A
]-1
d
(n) = b(m) - A
]
du
(m)(n) + g(m) -
]
du
(m)(n) -(42)
A
]-1
d
(n) est reconstruit partir des squences A
]
d
(n) et
]
d
(n) sur-chantillonne
qui on fait une convolution avec les filtres E() et 0() puis sont additionns comme le
montre la figure (II.7).

Fig.II.7 Transforme en Ondelettes Discrte Inverse.

Nous venons de voir le dveloppement thorique de la TOD 1D (algorithme de Mallat)
[6]; et nous avons vu que la TOD 1D revient appliquer un filtre passe bas et un filtre passe
haut au signal. Dans ce qui suit nous allons faire lextension de la TOD aux donnes trois
dimensions afin de pouvoir lappliquer aux cubes hyperspectraux.
2.2. Extension de la TOD aux signaux plusieurs dimensions :
Signaux deux dimensions :
Afin que la TOD puisse tre exploit sur les images, on doit ltendre deux dimensions ;
Comme discuter auparavant lespace vectoriel I
]
est une approximation multirsolution
de I
2
(R) . De mme, on dfinit lespace vectoriel I
]
2
comme une approximation
multirsolution de I
2
(R
2
). En plus, on dfinit I
]
2
comme approximation sparable
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 49

de I
2
(R
2
), ou I
]
2
peut tre dcompos en un produit de deux espaces vectoriels I
]
2
= I
]

I
]
. Chaque espace vectoriel unidimensionnel est une approximation multirsolution
de I
2
(R) . La fonction chelle de I
]
2
peut tre spare en deux fonctions chelles
unidimensionnelles.
(x, y) = (x) (y) - - - -(4S)
Ou : (x) est la fonction chelle unidimensionnelle de I
]
.
Lespace vectoriel qui lie entre diffrente rsolution deux dimensions est dfini en tant
que w
]
2
. Une base orthogonale pour w
]
2
peut tre construite en utilisant trois versions de
fonctions ondelettes :

1
(x, y) ;
2
(x, y) ;
3
(x, y) ----(44)
Ces fonctions ondelettes peuvent tre spares en des fonctions chelles et des fonctions
ondelettes unidimensionnelles comme suit :

1
(x, y) = (x) (y) ;
2
(x, y) = (x) (y) ;
3
(x, y) = (x) (y)
Mme dveloppement que le cas 1D, on note A
]
d
loperateur de la fonction chelle et

]
d1
,
]
d2
,
]
d3
les operateurs des trois fonctions ondelettes.
Ces operateurs effectuent une discrtisation du filtrage de (x, y) , le long des axes X et
Y. Avec le mme dveloppement que le cas 1D, ces oprateurs peuvent tre cris comme une
dcomposition de A
]-1
d
(n, m) en quatre squences deux dimensions (quatre sous images).
A
]
d
(n, m) = [ b

(k) b

(l) - A
]-1
d
(k, l) (2n, 2m) - (4S)

]
d1
(n, m) = [ b

(k) g(l) - A
]-1
d
(k, l) (2n, 2m) -(46)

]
d2
(n, m) = [ g(k) b

(l) - A
]-1
d
(k, l) (2n, 2m) -(47)

]
d3
(n, m) = [ g(k) g(l) - A
]-1
d
(k, l) (2n, 2m) -(48)


Quand la transforme 2D est sparable alors A
]-1
d
(n, m) est sparable dans les directions n
et m ; la transforme 2D peut alors tre crite comme une cascade de deux transformes
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 50

unidimensionnel (1D) dans les deux directions qui sont perpendiculaires lune lautre. Par
consquent, la TOD 2D dune image digitale finie peut tre dfinie comme une cascade
dune TOD 1D sur les lignes et dune TOD 1D sur les colonnes de limage.
Quand une image est dcompose en un niveau, les quatre squences (sous-images)
obtenues contiennent diffrents types dinformations sur les frquences des lignes et des
colonnes. La sous-image basse rsolution apparait comme une version sous chantillonne
reconnaissable de limage originale ; Les autres sous-images sont moins reconnaissables avec
des informations hautes frquences soit des lignes, soit des colonnes, soit des deux.


Fig.II.8 Transforme en Ondelettes 2D.


Comme on vient de le voir la TOD peut tre tendue plusieurs dimensions en utilisant
des filtres sparables, ou chaque dimension est filtre et chantillonne sparment. Par
consquent, la TOD peut tre applique une image 3D en utilisant des filtres sparables
comme dans le cas des images 2D. Nous allons dans ce qui suit prsenter limplmentation de
la TOD 3D sous Matlab en utilisant des filtres sparables.


C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 51

3. Lalgorithme de la TOD 3D sous Matlab :

La TOD peut tre tendue plusieurs dimensions en utilisant des filtres sparables, ou
chaque dimension est filtre et chantillonne sparment. Pour la TOD 3D cela revient
effectuer une cascade de TOD 1D sur les trois axes x, y et z, puis rpter lopration sur le
signal approximation obtenu pour obtenir la TOD plusieurs niveaux (chelles). Aprs une
TOD 3D nous obtenons 8 blocs de donnes, le bloc LLL concentre la plus grande partie des
donnes de dpart, les 7 autres blocs contiennent les blocs dtails.
Dans ce qui suit nous allons implmenter la TOD 3D sous Matlab, pour ce, nous allons
commencer par implmenter les bancs de filtres.

3.1. Banc de filtres 1D :
Lanalyse en banc de filtres dcompose le signal d'entre x (n) en deux signaux c (n) et
d (n). Le signal c (n) reprsente lapproximation (basses frquences) de x (n), alors que le
signal d (n) reprsente les dtails (hautes frquences) de x (n). Lanalyse en banc de filtres,
filtre x (n) en utilisant un filtre passe-bas et un filtre passe-haut. On note le filtre passe-bas par
AF1 (filtre d'analyse 1) et le filtre passe-haut par AF2 (filtre d'analyse 2). Comme le montre la
figure (II.9), la sortie de chaque filtre est ensuite sous-chantillonn par 2 pour obtenir les
deux signaux sous-bandes, c (n) et d (n).




Fig.II.9 Analyse en banc de filtres 1D.

Nous allons implmenter lanalyse en banc de filtres 1D sous Matlab dans le script
(abf1D.m). Le programme utilise la fonction Matlab upfirdn (dans la bote outils Signal
Processing), pour mettre en uvre le filtrage et le sous-chantillonnage :
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 52

Table 1: fonction abf1D.m
function [lo, hi] = abf1D(x, af)
% x vecteur (pair)
% af : filtres danalyse
% af(:, 1): filtre passe-bas
% af(:, 2): filtre passe-haut
%
% lo: signal basse frquence
% hi: signal Haute frquence

N = length(x);
L = length(af)/2;

% filter passe-bas
lo = upfirdn(x, af(:,1), 1, 2);
lo(1:L) = lo(N/2+[1:L]) + lo(1:L);
lo = lo(1:N/2);

% filter passe-haut
hi = upfirdn(x, af(:,2), 1, 2);
hi(1:L) = hi(N/2+[1:L]) + hi(1:L);
hi = hi(1:N/2);

A laide de la fonction upfirdn, on convolue le signal dentre x(n) avec chacun des filtres,
puis on sous-chantillonne le signal obtenu (c..d. on prend un chantillon sur deux). De plus,
le signal d'entre x (n) est de longueur N. Alors, pour plus de commodit, il faut avoir les
deux signaux sous-bande c (n) et d (n) chacun de longueur N / 2. Cependant, ces deux
signaux vont dpasser cette longueur par L / 2 o L est la longueur des filtres d'analyse.
Pour liminer cette dure excessive, les dernier chantillons (L / 2) de chaque sous-bande
sont ajouts aux premiers (L / 2) chantillons. Cette procdure (extension priodique) peut
crer des artefacts indsirables au dbut et la fin des signaux sous-bandes. Cependant, cest
la solution la plus commode.
Lorsque les filtres d'analyse et les filtres de synthse sont exactement symtriques, une
procdure diffrente (extension symtrique) peut tre utilise, qui vite les artefacts lis
l'extension priodique.
La synthse en banc de filtres combine les deux signaux sous-bande c (n) et d (n) pour
obtenir un seul signal y (n). Les filtres de synthse en premier sur-chantillonnent chacun des
deux signaux sous-bandes. Les signaux sont ensuite filtrs par un filtre passe-bas et un filtre
passe-haut. On note le filtre passe-bas par SF1 (filtre de synthse 1) et le filtre passe-haut par
SF2 (filtre de synthse 2). Les signaux sont additionns pour obtenir le signal y (n).
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 53





Fig.II.10 synthse en banc de filtres 1D.
La synthse en banc de filtres 1D est implment dans le script (sbf1D.m) suivant:
Table 2: fonction sbf1D.m
function y = sbf1D(lo, hi, sf)
% lo signal basse frquence
% hi signal Haute frquence
% sf - filtres de synthses
% sf(:, 1) - filtre passe-bas
% sf(:, 2) - filtre passe-haut
%
% y Sortie

N = 2*length(lo);
L = length(sf);

lo = upfirdn(lo, sf(:,1), 2, 1);
hi = upfirdn(hi, sf(:,2), 2, 1);
y = lo + hi;
y(1:L-2) = y(1:L-2) + y(N+[1:L-2]);
y = y(1:N);


Il existe de nombreux ensembles de filtres qui peuvent tre utiliss, nous allons citer ici
comme exemple Debauchies 8 :

g (af1) h (af2) rg (sf1) rh (sf1)
-0,230377813308897
0,714846570552916
-0,630880767929860
-0,027983769416859
0,187034811719093
0,030841381835560
-0,032883011666885
-0,010597401785069

-0,010597401785069
0,032883011666885
0,030841381835560
-0,187034811719093
-0,027983769416859
0,630880767929860
0,714846570552916
0,230377813308897
-0,010597401785069
0,032883011666885
0,030841381835560
-0,187034811719093
-0,027983769416859
0,630880767929860
0,714846570552916
0,230377813308897
0,230377813308897
0,714846570552916
0,630880767929860
-0,027983769416859
-0,187034811719093
0,030841381835560
0,032883011666885
-0,010597401785069
Tableau.II.1 Filtres de Debauchies 8.

C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 54

Pour utiliser la transforme en ondelettes pour les donnes 3D, nous devons mettre en
uvre une version 3D du banc de filtres.

3.2. Banc de filtres 3D :
Dans le cas 3D, l'analyse en Banc filtre 1D est applique tour de rle chacune des trois
dimensions (c..d. pour les trois axe x, y et z). Si les donnes sont de taille N1*N2*N3, nous
devons appliquer l'analyse 1D la premire dimension. Nous obtenons deux ensembles de
donnes, chacun de taille N1/2 par N2 par N3. Ensuite, appliquer l'analyse 1D la deuxime
dimension, nous obtenons quatre ensembles de donnes, chacun de taille N1/2 par N2/2 par
N3. Pour finir, lapplication de l'analyse 1D la troisime dimension donne huit ensembles de
donnes, chacun de taille N1/2 par N2/2 par N3/2. Ceci est illustr dans le schma ci-dessous.















Fig.II.11 Analyse en Banc filtre 3D.
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 55

L'analyse en banc de filtre 3D est implmente avec la fonction (abf3D.m). Cette
fonction fait appel une sous-fonction (abf1D-M.m), qui applique une analyse en banc
filtre 1D le long d'une seule dimension. Cette sous fonction est en fait la fonction (abf1D.m)
quon a vu prcdemment, mais modifie de tel sorte quelle prenne en compte la dimension
laquelle elle est applique, comme on va le voir dans le script suivant :
Table 3: fonction abf1D-M.m
function [lo, hi] = abf1D-M(x, af, d)
% Entre:
% x - matrice N1xN2xN3, ou: min(N1,N2,N3) > 2*length(filtre)
% (Ni sont pair)
% af - filtres danalyses pour les colonnes
% af(:, 1) - filtre passe-bas
% af(:, 2) - filtre passe-haut
% d - dimension filtre (d = 1, 2 or 3)
% Sortie:
% lo, hi signal passe-bas, passe-haut

lpf = af(:, 1); % filtre passe-bas
hpf = af(:, 2); % filtre passe-haut

%Permuter les dimensions de x tel que la dimension d est la premire
p = mod(d-1+[0:2], 3) + 1;
x = permute(x, p);

% filtrage le long de la dimension 1
[N1, N2, N3] = size(x);
L = size(af, 1)/2;

for k = 1:N3
lo(:, :, k) = upfirdn(x(:, :, k), lpf, 1, 2);
end
lo(1:L, :, :) = lo(1:L, :, :) + lo([1:L]+N1/2, :, :);
lo = lo(1:N1/2, :, :);

for k = 1:N3
hi(:, :, k) = upfirdn(x(:, :, k), hpf, 1, 2);
end
hi(1:L, :, :) = hi(1:L, :, :) + hi([1:L]+N1/2, :, :);
hi = hi(1:N1/2, :, :);

% permutation inverse de x
lo = ipermute(lo, p);
hi = ipermute(hi, p);

La fonction (abf3D.m) suit le schma de dcomposition donne dans la figure prcdente,
elle utilise la fonction (abf1D-M.m) dans les trois directions x, y et z pour obtenir les deux
variables : lo qui est lapproximation de la donne 3D et hi qui est un tableau de cellules
contenant les sept autres dtails de la donne 3D.
C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 56


Table 4: fonction abf3D.m
function [lo, hi] = abf3D(x, af)
% Entre:
% x - matrice N1xN2xN3, ou: min(N1,N2,N3) > 2*length(filtre)
% (Ni sont pair)
% af - filtres danalyses
% af(:, 1) - filtre passe-bas
% af(:, 2) - filtre passe-haut
% Sortie:
% lo, hi signal passe-bas, passe-haut

% filtrage le long de la dimension 1
[L, H] = abf1D_M(x, af, 1);

% filtrage le long de la dimension 2
[LL LH] = abf1D_M (L, af, 2);
[HL HH] = abf1D_M (H, af, 2);

% filtrage le long de la dimension 3
[LLL LLH] = abf1D_M (LL, af, 3);
[LHL LHH] = abf1D_M (LH, af, 3);
[HLL HLH] = abf1D_M (HL, af, 3);
[HHL HHH] = abf1D_M (HH, af, 3);

lo = LLL;
hi{1} = LLH;
hi{2} = LHL;
hi{3} = LHH;
hi{4} = HLL;
hi{5} = HLH;
hi{6} = HHL;
hi{7} = HHH;

3.3. Transform en ondelettes 3D :
La transforme en ondelettes 3D d'une donne 3D, est mise en uvre par l'itration de
l'analyse en banc de filtre 3D sur lapproximation de la donne 3D (c..d. sur LLL). Dans ce
cas, chaque chelle, il y a sept sous-bandes dtails. La fonction suivante (TOD3D.m),
calcule la TOD 3D d'un cube de donnes, en appelant plusieurs reprises la fonction
(abf3D.m), applique chaque fois la sous bande approximation (LLL) obtenue dans le
passage prcdant.


C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 57

Table 5: fonction TOD3D.m
function w = TOD3D(x, J, af)
% Entre:
% x - matrice N1xN2xN3,
% af - filtres danalyses
% J niveau de dcomposition
% Sortie:
% w coefficients dondelettes

for k = 1:J
[x w{k}] = abf3D(x, af);
end
w{J+1} = x;
W est un tableau de cellules de Matlab, pour j = 1... J, d = 1... 7, w (j) (d) est l'un des sept
ensembles de donnes produits l'tape j. w (J +1) est la sous-bande passe-bas du cube de
donnes produits la dernire tape.
Pour la transforme en odelette inverse TODI 3D nous allons suivre la mme dmarche
que pour la TOD 3D et faire appel trois fonctions, qui sont (sbf1D-M.m), (sbf3D.m) et
(TODI3D.m). Elles sont donnes dans ce qui suit :
Table 6: fonction sbf1D-M.m
function y = sbf1D_M(lo, hi, sf, d)
% sf - filtres de synthses
% d - dimension filtre (d = 1, 2 or 3)

lpf = sf(:, 1); % filtre passe-bas
hpf = sf(:, 2); % filtre passe-haut

Permuter les dimensions de x tel que la dimension d est la premire
p = mod(d-1+[0:2], 3) + 1;
lo = permute(lo, p);
hi = permute(hi, p);

[N1, N2, N3] = size(lo);
N = 2*N1;
L = length(sf);

for k = 1:N3
y(:, :, k) = upfirdn(lo(:, :, k), lpf, 2, 1) + upfirdn(hi(:, :,
k), hpf, 2, 1);
end
y(1:L-2, :, :) = y(1:L-2, :, :) + y(N+[1:L-2], :, :);
y = y(1:N, :, :);

% permutation inverse de x
y = ipermute(y, p)

C h a p . I I T r a n s f o r m e e n o n d e l e t t e s P a g e | 58

Table 7: fonction sbf3D.m
function y = sbf3D(lo, hi, sf )
% Ente:
% lo, hi signal passe-bas, passe-haut
% sf - filtres de synthses
% Sortie:
% y - sortie

LLL = lo;
LLH = hi{1};
LHL = hi{2};
LHH = hi{3};
HLL = hi{4};
HLH = hi{5};
HHL = hi{6};
HHH = hi{7};

% filtrage le long de la dimension 3
LL = sbf1D_M (LLL, LLH, sf, 3);
LH = sbf1D_M (LHL, LHH, sf, 3);
HL = sbf1D_M (HLL, HLH, sf, 3);
HH = sbf1D_M (HHL, HHH, sf, 3);

% filtrage le long de la dimension 2
L = sbf1D_M (LL, LH, sf, 2);
H = sbf1D_M (HL, HH, sf, 2);

% filtrage le long de la dimension 1
y = sbf1D_M (L, H, sf1,1);

Table 8: fonction TODI3D.m
function y = TODI3D(w, J, sf)

% Entre:
% w coefficients dondelettes
% J niveau de dcomposition
% sf - filtres de synthses
% Sorie:
% y - sortie

y = w{J+1};
for k = J:-1:1
y = sbf3D (y, w{k}, sf);
end


Quantification par Zerotree
CHAPITRE 3
C
h
a
p
i
t
r
e

3





Pr ambule.
Lalgorithme EZW.
Lalgorithme SPIHT.
Extension aux images 3D du SPIHT.
Lalgorithme SPIHT 3D sous MATLAB.

C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 6 0

1. Prambule :
La transforme en ondelette permet comme dcrit dans le chapitre prcdent, de
reprsenter les images sous forme de coefficients ordonns en bandes de frquences. Pour la
compression d'images, la transforme reprsente le premier maillon de la chane, afin de
comprimer l'information, il faut complter le cycle par la quantification et le codage.

Aprs la premire tape de la transforme, les coefficients produits par limplantation de
la TO 3D peuvent tre cods avec ou sans perte. Nous distinguons deux types dapproches
pour les standards de compression actuels bass sur la TO : lapproche inter-bandes qui utilise
les redondances inter-chelles entre les sous-bandes pour coder les coefficients dondelettes et
celle intra-bandes dans laquelle les sous-bandes sont codes de faon indpendante.
Lapproche inter-bandes exploite compltement la notion de multi-rsolution associe
aux ondelettes. Leur schma de codage utilise un modle simple pour caractriser les
dpendances inter-bandes parmi les coefficients dondelettes localiss dans les sous-bandes
ayant la mme orientation. Le modle est bas sur lhypothse des arbres de zros, ces
mthodes appliquent une quantification par approximation successive pour amliorer la
prcision de la reprsentation des coefficients dondelettes. En effet, les bits les plus
significatifs sont transmis en premier. Ainsi, pour augmenter la qualit de limage
reconstruite, il suffira dajouter de la prcision en utilisant des bits supplmentaires.

EZW est le premier algorithme inter-bande dvelopp pour les images 2D, il a t
propos en 1993 par Jrme Shapiro. Il permet de transmettre les coefficients sous forme
d'une suite de bits, obtenue par enchssement progressif des bits des coefficients les plus
significatifs. En commenant par les bits les plus importants, lalgorithme EZW permet de
faire de la transmission progressive d'images, puisque le dcodeur peut s'arrter n'importe o
dans la suite de bits transmise et produire la meilleure image reconstruite possible
avec cette suite de bits.
Dans ce qui suit, nous allons faire une description assez simple du codage EZW
(Embedded Zerotree Wavelet coding) [6] propose par SHAPIRO, ainsi que de la variante la
plus populaire de ce codage, qui est le SPIHT (Set Partitionning in Hierarehical Tree) [7]
ralis par A.SAID et W.PEARLMAN. Ensuite, nous allons faire lextension du SPIHT aux
images 3D, afin de lutiliser avec la TOD 3D dyadique dveloppe prcdemment.

C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 6 1

2. Lalgorithme EZW: (Embedded Zerotree Wavelet coding)
2.1. Introduction au codage EZW :

Dans une reprsentation d'image par coefficients d'ondelettes, l'image obtenue est
organise de faon reprsenter les principaux traits de l'image dans les bandes de basses
frquences, puis les dtails dans les bandes de hautes frquences. Le principe de l'EZW
s'appuie sur cette reprsentation pour coder les coefficients d'une manire progressive, ainsi,
on commence par coder les basses frquences (approximation), ensuite on code les hautes
frquences (les dtails). Lavantage de cet algorithme est que l'on a en tout temps un niveau
de compression et que l'on peut arrter tout moment le codage.

Le codage EZW exploite compltement la notion de multi-rsolution associe aux
ondelettes. Quand une image est transforme par ondelettes, l'nergie dans les sous-bandes
diminue pendant que l'chelle diminue (haut rsolution). Ainsi les coefficients d'ondelettes
seront plus petits en moyenne dans les sous-bandes plus hautes que dans les sous-bandes
infrieures. De plus les grands coefficients d'ondelettes sont plus importants que les plus
petits.

Son schma de codage utilise un modle simple pour caractriser ces dpendances inter-
bandes en codant les coefficients d'ondelettes par ordre dcroissant, dans plusieurs passages.
Pour chaque passage on choisit un seuil par rapport auquel tous les coefficients d'ondelettes
sont compars. Si un coefficient d'ondelette est suprieur au seuil, il est cod et retir de
l'image, sinon, il est laiss pour le prochain passage. Quand tous les coefficients d'ondelettes
ont t examins, le seuil est abaiss et l'image est rebalaye pour ajouter plus de dtails
l'image dj code. Ce processus est rpt jusqu' ce que tous les coefficients
d'ondelettes soient encods compltement ou qu'un autre critre soit satisfait.

Dans la reprsentation de l'image dans le domaine ondelettes, chaque coefficient peut
tre considr en tant qu'ayant quatre descendants dans la prochaine plus haute sous-bande
(voir figure (III.1)). Ainsi que pour les quatre descendants, chacun a galement quatre fils
dans la prochaine plus haute sous-bande et nous voyons un arbre quatre descendants
merger; chaque racine a quatre branches, ce processus se poursuit jusqu'aux frquences les
plus hautes. Cela est vrai sauf pour le nud racine qui a seulement 3 enfants, alors que tous
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 6 2

les autres nuds lexception des extrmits en possdent 4. Le lien parent enfant 2D est le
suivant :

O (i, j) =_
(2i, 2j), (2i, 2j +1),
(2i +1, 2j),
(2i + 1, 2j + 1)
_ --(1)


O O (i, j) reprsente lensemble de coordonnes de tous les enfants du nud (i, j).












Fig.III.1 Reprsentation de l'organisation en arbre des coefficients d'ondelettes.

Cest ici qu'intervient le Zerotree ; travers diffrentes chelles pour coder efficacement les
grandes parties de l'image qui sont au-dessous du seuil actuel.

Dfinition du Zerotree :
Un Zerotree est un quadruple arbre, dont tous les nuds enfants sont gaux ou plus
petits que les nuds parents. L'arbre est cod avec un symbole unique et reconstruit par le
dcodeur comme quadruple-arbre rempli de zros. Nous devons insister sur le fait que la
racine doit tre plus petite que le seuil par rapport auquel les coefficients d'ondelettes sont
compars. Sinon, ce coefficient ne serait pas considre comme base de Zerotree.

Le codeur EZW exploite le fait qu'il y a une probabilit trs leve, que tous les
coefficients dans un arbre quadruple soient plus petits qu'un certain seuil, si la racine de cet
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 6 3

arbre est plus petite que ce seuil. Ceci entraine alors un seul code Zerotree pour tout l'arbre.
Ceci dit, en balayant toute la reprsentation des coefficients d'ondelettes, des basses aux
hautes frquences, on aura automatiquement beaucoup de Zerotree, ce qui constituera un
gain considrable au niveau de la compression.

2.2. Comment marche lalgorithme ?
2.2.1. Codage :

2.2.1.1. Signification des coefficients de la TO :
Avant que nous puissions exploiter le concept de relation sous-bande que nous venons de
voir pour une compression efficace des coefficients ondelettes, il est ncessaire d'introduire le
concept de signification. On dit qu'un coefficient ondelettes de grandeur |X| est significatif
par rapport un seuil donn Tn, si |X| > Tn autrement on dit quil est non significatif.
Dans EZW, la signification des coefficients ondelettes sont d'abord examins avec la
plus grande valeur du seuil dans la premire passe, puis progressivement, le seuil est abaiss
d'un facteur 2 dans les passages suivants. Avant de commencer, tous les coefficients sont
considrs comme non significatifs et progressivement, les coefficients significatifs seront
dtects. A chaque passage, il y aura une carte qui indique la signification des coefficients
ondelettes et cette carte a besoin d'tre code de manire efficace. La carte de signification
pour chaque seuil a une entre "0" si le coefficient est non significatif et une entre "1"
sil est significatif. Il convient de noter que la signification est dcide qu'en ce qui concerne
lamplitude du coefficient par consquent, le signe (positif ou ngatif) doit tre inclus dans le
processus d'encodage.
Les coefficients sont analyss pour dterminer la signification de la manire illustre dans
la figure (III.2) ; La matrice de coefficients est parcourue par l'une des mthodes suivantes :
'Raster scan' ou 'Morton scan'. Ces mthodes de parcours ont t choisies de manire
prserver l'ordre d'importance des coefficients traits. Ainsi, pour les deux types, on
commence par parcourir les coefficients de basse frquence et on avance graduellement
vers les dtails (hautes frquences). La diffrence entre elles, est la faon avec laquelle est
parcourue une mme sous bande.

C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 6 4


Fig.III.2 Mthodes de parcours raster scan gauche et morton scan droite.
2.2.1.2. Codage de la carte de signification :
Nous allons maintenant voir comment coder efficacement pour chaque passe la carte
de signification. Pour cela, la relation hirarchique des coefficients prsents dans la
figure (III.1) est utilise. Comme vu prcdemment la structure de donnes, appel
'Zerotree' est dfinie comme coefficient non significatif, dont tous les descendants sont
galement ngligeables. Le concept du 'Zerotree' repose sur l'hypothse que si un coefficient
de la TO une chelle grossire est insignifiant par rapport un seuil donn, alors tous ses
descendants de frquences plus leves sont susceptibles d'tre ngligeables en regard de ce
mme seuil. Bien, que cela peut ne pas tre toujours vrai. Il convient donc de noter que tous
les coefficients non significatifs peuvent ne pas tre des 'Zerotree'. Il est possible quun
coefficient soit non significatif, mais a des descendants significatifs, ces coefficients sont
appels 'Zero isole'.
Ainsi, quatre symboles sont utiliss pour coder la carte de signification, chacun des
coefficients parcourus est compar (en valeur absolue) au seuil Tn, si le coefficient est
suprieur au seuil il est cod 'Positif ' ou 'Ngatif ', sinon il est soit 'Zero isole' ou bien
'Zerotree', on part ainsi de X symboles coder a un dictionnaire de quatre symboles :

Positif (P) : indique que la valeur absolue du coefficient trait est suprieure au
seuil et que son signe est positif.
Ngatif (N) : indique que la valeur absolue du coefficient trait est suprieure
au seuil et que son signe est ngatif.
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 6 5

Zro isol (T) : indique que la valeur absolue du coefficient trait est infrieure
au seuil et qu'il existe parmi ses descendants ceux qui sont signifiants.
Zerotree (Z) : indique que la valeur absolue du coefficient trait est insignifiante
par rapport au seuil considr ainsi que tous les coefficients qui lui succdent
dans l'arbre de descendance.

Le codage Zerotree rduit le cot du codage de la carte de signification l'aide de
similitude prsente dans les diffrentes sous-bands. On isole ainsi des zones vastes de
coefficients non significatifs, cest ce qui permet datteindre de bonnes performances de
compression.

2.2.1.3. Quantification par approximation successive :
La quantification par approximation successive effectue un codage des coefficients TO
par tapes successives. Un seuil initial pour examiner la signification est d'abord mis en place
tels que :

T0 = 2
|Iog
2
max(Im(x,y)|
- -(2)

O im(x,y) dsigne les coefficients d'ondelettes, x et y tant leur position dans l'espace. Le
symbole 'max' correspond la valeur maximale de tous les coefficients de la
reprsentation en ondelettes de l'image.
Puis pour chaque tape de codage, le seuil est rduit de moiti et on examine la
signification une fois de plus. La squence des seuils qui sont appliqus pour chaque tape
successive sont : T0, T1, T2,. Tn-1 o n est le nombre de ltape.
La description qui vient dtre faite de lEZW fait partie de la passe dominante, elle est
utilise pour coder les coefficients qui n'ont pas encore t jugs significatifs par rapport un
seuil Tn. Cette passe dominante est suivie d'une passe secondaire, dans laquelle les
coefficients jugs significatifs sont scanns et leurs amplitudes sont raffines avec plus de
prcision. Ces coefficients subissent cette autre comparaison sur un autre seuil Ts qui est
proportionnel au seuil du passage dominant.
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 6 6

Ts= 3*2
n-1
- -(S)
O n est la puissance du seuil du passage dominant.
Ce passage secondaire permet au dcodeur dans le cas d'une compression avec pertes
d'informations, d'avoir plus de prcision sur la valeur du coefficient cod. La reconstruction
ne sera pas parfaite mais, elle sera de loin meilleure que si on ne code qu'avec le passage
dominant. Pour cela on attribue le bit "1" si le coefficient est suprieur Ts et le bit "0" si le
coefficient est infrieur Ts.
Le processus de codage alterne entre passe dominante et passe secondaire et le seuil est
rduit de moiti aprs chaque passage dominant. Le codage s'arrte lorsquun certain taux de
compression est atteint.
Le codage peut tre rsume dans lorganigramme suivant :















Fig.III.3 Principe du codage EZW.
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 6 7

2.2.2. Dcodage :
En premier lieu, le dcodeur cre une matrice de dimension gale l'image traite
partir du nombre du niveaux de dcomposition. Ensuite, comme le codeur, il calcule le
premier seuil dont la puissance lui a t transmise. Le parcours de la matrice 'image'
commence alors et selon les symboles lus par le dcodeur un traitement est effectu :
Si le symbole est 'Positif (P), la valeur du seuil est additionne au contenu de la
case en cours.
Si le symbole est 'Ngatif (N), Le seuil est retranch du coefficient parcouru.
Si le symbole est 'Zerotree' (R), tout l'arbre associ ce coefficient sera
ignor par rapport au seuil courant.
Si le symbole est 'Zero isol' (Z) : Alors il existe au moins un coefficient
appartenant l'arborescence du coefficient tudi qui est signifiant par rapport au
seuil courant d'o, aucun coefficient ne sera ignor dans cette arborescence.
A la fin du parcours, le seuil est divis par 2 et l'algorithme reprend. Si le seuil atteint la
valeur 1, la reconstruction sera parfaite sans aucune perte, mais au cas o l'on dsire arrter
avant le dcodage idal, on peut avoir recours au traitement secondaire qui permettra plus
de prcision au niveau de la compression avec pertes d'informations.
2.3. Exemple :
La mthode EZW est illustre par l'exemple ci-dessous donn par SHAPIRO, le codage
a t appliqu sur la matrice de coefficients trois niveaux de dcomposition suivante [6] :






Fig.III.4 Exemple de matrice de coefficients.
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 6 8

Maintenant on va voir comment fonctionne le codeur :
Scan 1:
Etape 1 : Dterminer To = 2
|Iog
2
(63)|
=32 ; ce seuil est envoy au rcepteur comme un en-tte
avant que tout bit de donnes soit envoy.
Etape 2 : Balayage de tous les coefficients et comparer leurs valeurs avec (32).
Etape 3 : Attribuer chaque coefficient un symbole (c..d. construire le passage dominant) et
placer les symboles dans une liste appele D1. Quand le symbole T est attribu un
coefficient alors tous ses descendants ne sont pas analyss. Le rsultat est montr dans le
tableau (III.1). Le tableau indique les coefficients qui sont scanns et l'ordre dans lequel ces
coefficients ont t scanns. Si le symbole T est attribu un coefficient alors on attribue
(X) tous ses descendants pour indiquer quils ne seront pas analyss.

Valeurs du coefficient Symbole
63 (0,0)
-34 (1,0)
-31 (0,1)
23 (1,1)
49 (2,0)
10 (3,0)
14 (2,1)
-13 (3,1)
15 (0,2)
14 (1,2)
-9 (0,3)
-7 (1,3)
7 (4,0)
13 (5,0)
3 (4,1)
4 (5,1)
-1 (2,4)
47 (3,4)
-3 (2,5)
2 (3,5)
POS
NEG
IZ
ZTR
POS
ZTR
ZTR
ZTR
ZTR
IZ
ZTR
ZTR
Z
Z
Z
Z
Z
POS
Z
Z
Tableau.III.1 Rsultat du premier passage dominant.

C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 6 9

Premier passage dominant est D1: PNZTPTTTTZTTTTTTTPTT
Etape 4 : Maintenant, la deuxime partie de l'algorithme pour ce scan est de quantifier les
coefficients ayant les symboles P ou N. Ts = 3*2
4
= 48, Ce seuil secondaire permet d'avoir
plus de prcision sur la valeur du coefficient cod. On assignant le bit "1" si le coefficient est
suprieur Ts (l'intervalle [48,64]) et le bit "0" si le coefficient est infrieure Ts
(l'intervalle de [32,48]).
Premier passage subalterne est S1: 1 0 1 0
Pour les autres scans on aura :
D2: ZTNPTTTTTTTT
S2: 100110

D3:ZZZZZPPNPPNTTNNPTPTTNTTTTTTTTPTTTPTTTTTTTTTPTTTTTTTTTTTT
S3: 10011101111011011000

D4: ZZZZZZZTZTZNZZZZPTTPTPPTPNPTNTTTTTPTPNPPPPTTTTTPTPTTTPNP
S4: 11011111011001000001110110100010010101100

D5: ZZZZZTZZZZZTPZZZTTPTTTTNPTPPTTPTTTNPPNTTTTPNNPTTPTTPPTTT
S5: 10111100110100010111110101101100100000000110110110011000111

D6: ZZZTTZTTTZTTTTTNNTTT

On remarque que pour Tn=l, on a effectu juste le passage dominant, ceci
s'explique par le fait que si on arrive ce stade, c'est que la reconstruction est parfaite, donc
on n'a pas besoin de raffinement, d'o la non utilisation du passage secondaire.


C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 70

3. Lalgorithme SPIHT: (Set Partitioning In Hierarchical Trees)

Lalgorithme SPIHT a t propos par Sad et Pearlman en 1996 pour la compression
dimage 2D avec et sans perte. Cet algorithme repose sur la mme ide que celle de Shapiro
(EZW) pour caractriser les dpendances entre les coefficients dondelettes. Cependant, il
utilise les trois principes de base suivant : un rangement partiel par amplitude des coefficients
dondelettes de la TO 2D (rsultant de la quantification par approximations successives), un
partitionnement dans des arbres hirarchiques ( chaque seuil appliqu les arbres sont tris sur
la base de leur signification en deux catgories darbre) et un ordonnancement de la
transmission des bits de raffinement (lamplitude de chaque coefficient significatif est
progressivement raffine).
La diffrence essentielle entre EZW et SPIHT est la faon dont les coefficients des
arbres sont construits, tris et dcoups. Ainsi la structure mme des arbres de zros est
diffrente. Dans lEZW, un arbre de zros est dfini par un coefficient racine et ses
descendants ont tous la valeur zro lintrieur dun plan de bits. SPIHT utilise lui deux
types darbres de zros. Le premier (type A) consiste en une simple racine ayant tous ses
descendants 0 pour un plan de bits donn. Cela diffre un peu des arbres de zros de
lEZW du fait que la racine elle-mme na pas besoin dtre non significative. En fait,
bien que larbre de zros soit spcifi par les coordonnes de la racine, la racine nest
pas incluse dans larbre. Le second type darbre (type B) est similaire mais exclut les
quatre enfants de la racine. Les arbres de type B contiennent uniquement les petits-enfants,
arrires petits-enfants, ...... de la racine.
Une autre diffrence est lordre de traitement des coefficients qui est dpendante
des donnes. Alors que les coefficients sont traits en zigzag dans chaque sous-bande pour
lEZW. Le systme de liste du SPIHT laisse lordre entirement dpendant des donnes.
Les coefficients sont traits selon leur position dans les listes. La dfinition des arbres de
zros comme on vient de le voir est sensiblement diffrente car SPIHT considre deux
types darbres de zros : le type A (arbre de degr 1) et le type B (arbre de degr 2). Il
est noter que dans les deux cas, rien nest dit sur la valeur du coefficient la racine
qui peut tre significatif.
Pour caractriser les relations parent enfant dans les sous bandes. Les ensembles
suivants de coordonnes sont utiliss :
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 71

O(i, j) : Ensemble des coordonnes de tous les enfants du nud (i, j).Il sexprime de la
mme faon que celui de lEZW.
D(i, j) : Ensemble des cordonnes de tous les descendants du nud (i, j) (type A
darbres de zros).
L(i, j)=D(i, j) O(i, j) : Lensemble des descendants lexception des enfants (type B
darbre de zros).






















Fig.III.5 Terminologie SPIHT pour les descendants.


3.1. Fonctionnement du SPIHT:
Pour raliser pratiquement le codage, SPIHT stocke linformation de signification dans 3
listes ordonnes :
La Liste des Coefficients Significatifs (LCS),
La Liste des Coefficients Non significatifs (LCN),
La Liste des Ensembles Non significatifs (LEN).

C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 72

Ce sont des listes de coordonnes (i,j), dans la LCN et LCS ils reprsentent des
coefficients, et dans la LEN ils reprsentent soit l'ensemble D(i,j) (une entre de type A )
ou l'ensemble L(i,j) (une entre de type B).

La LCN contient les coordonnes de coefficients qui taient insignifiants dans la
prcdente passe. Dans le passage de la passe courante, ils sont tests, et ceux qui sont
significatifs sont dplacs vers la LCS.

Similairement, les ensembles de LEN sont valus dans leur ordre dentre, et quand un
ensemble est trouv significatif, il est supprim de cette liste puis est partitionn. Les
nouveaux ensembles avec plus dun lment sont ajouts la fin de LEN avec le type (A ou
B), alors que les simples coefficients sont ajouts la fin de LCS ou LCN suivant leur
signification. La liste LCS contient les coordonnes des coefficients qui seront visits dans la
prochaine passe de raffinement. La passe de raffinement transmet le n
teme
bit le plus
significatif des entres de LCS.

Nous allons donner maintenant lalgorithme de base du SPIHT 2D. Pour cela, nous
dfinissons loprateur de signification Tn qui value la signification dun sous-ensemble E
pour un seuil donn Tn :

Tn (E)=_
1 si +w e E |w| Tn
u si vw e E |w| < In
- - (4)

Le seuil Tn pour le premier plan de bit est gale 2
n
ou n = |log2(wmax)|.
Tous les coefficients d'ondelettes sont scanns afin de trouver le maximum de w(i,j) aprs
l'excution de la transforme en ondelettes discrte. Pour le passage suivant on divise
le seuil Tn par 2.


C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 73

3.2. Algorithme SPIHT 2D:
1. Initialisation :
Sortie n = |log2(wmax)| Tn =2
|Iog2(wmax)|
; LCS = ; LCN = {(i, j) eLL}. LEN
contient les mmes coefficients que LCN except ceux qui nont pas de descendants.
2. Passe de signification :
2.1. Pour chaque (i, j) e LCN faire :
2.1.1. Sortie Tn (i, j)
2.1.2. si Tn (i, j)=1 alors mettre (i, j) dans LCS et coder le signe de w(i, j)
2.2. Pour chaque (i, j) e LEN faire :
2.2.1. Si lentre est de type A
a) Sortie Tn (D(i, j))
b) si Tn (D(i, j)) = 1 alors :
Pour chaque (l,m) e O(i, j) faire :
Sortie Tn (l,m)
si Tn (l,m)=1 alors mettre (l,m) dans LCS et coder le signe de
w(l,m)
si Tn (l,m)=0 alors mettre (l,m) la fin de LCN
Si L(i, j) alors mettre (i, j) la fin de LEN comme une entre de
type B et aller 2.2.2 sinon supprimer (i,j) de LEN
2.2.2. Si lentre est de type B
a) Sortie Tn (L(i, j))
b) si Tn (L(i, j)) = 1 alors :
Mettre chaque (l,m) e O(i, j) la fin de LEN comme une entre
de type A
supprimer (i, j) de LEN.
3. Passe de raffinement :
Pour chaque coefficient (i, j) e LCS lexception de ceux ajouts au cours de la dernire
passe. Ecrire le nime bit le plus significatif de |w(i, j)|.
4. Modification du pas de quantification : Tn Tn/2 et aller ltape 2.
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 74

Pour obtenir lalgorithme de dcodage, il suffit simplement de remplacer le mot Sortie
par Entre dans lalgorithme prcdent. De plus, le dcodeur excute une tche
supplmentaire en modifiant limage reconstruite. Pour un seuil Tn donn, quand un
coefficient est dplac dans la LCS, il est vident que Tn < w(i, j) < 2Tn =2
n+1
. Ainsi, le
dcodeur utilise cette information plus le bit de signe juste aprs linsertion dans la LCS pour
mettre w(i, j)= 1.5 Tn. De manire identique, pendant la passe de raffinement le dcodeur
ajoute ou soustrait Tn/ 2 w(i, j) quand on reoit les bits de la reprsentation binaire de
|w(i,j)|. De cette manire, la distorsion baisse la fois pendant les 2 passes.

Enfin, on notera que contrairement lEZW, SPIHT produit directement des symboles
binaires. Ainsi, un codeur arithmtique nest pas obligatoire mme sil est souvent implant
pour amliorer les performances de codage. Lensemble des amliorations proposes dans
SPIHT par rapport lEZW, en fait la rfrence des mthodes de codage inter-bande (c..d.
celles qui utilisent les redondances inter-chelles entre les sous-bandes pour coder les
coefficients dondelettes).

3.3. Exemple :
Nous allons maintenant voir le droulement du SPIHT sur la mme matrice de
dcomposition en TO 2D donne par SHAPIRO :







Fig.III.6 Exemple de SHAPIRO.
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 75

Comme on la vu prcdemment lalgorithme SPIHT maintient trois listes de coefficients :
la liste des coefficients significatifs LCS, la liste des coefficients non significatifs LCN et la
liste des ensembles non significatifs LEN. La fonction Tn (i, j) est gale 0 si tous les
descendants de (i, j) sont en dessous du seuil Tn (arbre de zros) et 1 dans le cas contraire.
SPIHT considre deux types darbres de zros : le type A ou tous les descendants ne sont pas
significatifs et le type B ou tous les descendants, lexception dau moins un des enfants,
nest pas significatif.

Le droulement de lalgorithme SPIHT sur les donnes de la figure (III.6) est dcrit dans
le tableau (III.2). Quelques prcisions sont donnes pour diffrentes tapes :

1. Initialisation des listes : la LCS est vide, la LCN contient les 4 coefficients de plus basse
frquence et la LEN contient la mme chose que la LCN part le coefficient (0,0) (valeur 63)
qui na pas de descendants, le seuil de dpart est Tn=32.

2. (0,0) qui a la valeur 63 est significatif, il est mis dans la LCS. Le signe de cette valeur est
galement mis, et not +. De mme pour (1,0) (valeur-34) qui est significatif et son signe est
not -. Pour (0,1) et (1,1) ils ne sont pas significatifs donc on les laisse dans LCN.

3. et 4. Un des descendants de (1,0) est significatif (49) on teste donc les 4 enfants de (1,0) et
on classe chaquun soit dans LCS ou dans LCN et on mit leur signes. Comme un des enfants
de (1,0) est significatif, il change de type (B) et mis la fin de la LEN. On fait de mme pour
(0,1).

5. Tous les descendants de (1,1) sont en dessous du seuil, on ne fait donc rien de particulier,
on passe llment suivant dans la LEN.

6. (1,0) est de type B, on regarde donc L(1,0) qui nest pas significatif, on ne fait rien et on
passe llment suivant dans la LEN.

7. (0,1) est de type B, on regarde donc L(0,1) qui est significatif (prsence de la valeur 47), on
partage lensemble et on ajoute (0,2), (1,2), (0,3), (1,3) la fin de la LIS comme lment de
type A et on enlve (0,1) de la LIS.

C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 76

8. On teste donc les 4 ensembles type A obtenus. Pour (1,2) il a un des descendants qui est
significatif on teste alors les 4 enfants de (1,2) et on classe chaquun soit dans LCS ou dans
LCN et on mit son signe. Il na pas de petits-enfants, alors on le retire de la LIS.

9. Au final on obtient les listes LCN, LCS et LEN et ces listes constituent les listes dentres
pour le passage suivant ou le seuil sera de 16.

Coeff.
test
Sortie Action Liste
LIS = {(1,0)A,(0,1)A, (1,1)A}
LIP= {(0,0),(1,0),(0,1),(1,1)}
LSP =
(1)
(0,0) 1+ (0,0) dans LSP LIP = {(1,0),(0,1),(1,1)}
LSP = {(0,0)}
(2)
(1,0) 1- (1,0) dans LSP LIP = {(0,1),(1,1)}
LSP = {(0,0),(1,0)}
(2)
(0,1) 0 Rien (2)
(1,1) 0 Rien (2)
D(1,0)
(2,0)
(3,0)
(2,1)
(3,1)
1
1+
0
0
0
Tester descendants
(2,0) dans LSP
(3,0) dans LIP
(2,1) dans LIP
(3,1) dans LIP
Change de type

LSP = {(0,0),(1,0),(2,0)}
LIP = {(0,1),(1,1),(3,0)}
LIP = {(0,1),(1,1),(3,0),(2,1)}
LIP ={(0,1),(1,1),(3,0),(2,1),(3,1)}
LIS = {(0,1)A, (1,1)A, (1,0)B}

(3)

(4)
D(0,1)
(0,2)
(1,2)
(0,3)
(1,3)
1
0
0
0
0
Tester descendant
(0,2) dans LIP
(1,2) dans LIP
(0,3) dans LIP
(1,3) dans LIP
Change de type

LIP = {(0,1),(1,1),(3,0),(2,1),(3,1),(0,2)}
LIP = {(0,1),(1,1),(3,0),(2,1),(3,1),(0,2),(1,2)}
LIP={(0,1),(1,1),(3,0),(2,1),(3,1),(0,2),(1,2),(0,3)}
LIP={(0,1),(1,1),(3,0),(2,1),(3,1),(0,2),(1,2),(0,3),(1,3)}
LIS = {(1,1)A, (1,0)B, (0,1)B}

D(1,1) 0 Rien (5)
L(1,0) 0 Rien (6)
L(0,1)

1 Ajouter des
ensembles
LIS = {(1,1)A, (1,0)B, (0,2)A, (1,2)A, (0,3)A, (1,3)A} (7)
D(0,2) 0 Rien (8)
D(1,2)
(2,4)
(3,4)
(2,5)
(3,5)
L(1,2)=
1
0
1+
0
0
tester descendant
(2,4) dans LIP
(3,4) dans LSP
(2,5) dans LIP
(3,5) dans LIP
enlever (1,2)

LIP={(0,1),(1,1),(3,0),(2,1),(3,1),(0,2),(1,2),(0,3),(1,3),(2,4)}
LSP = {(0,0),(1,0),(2,0),(3,4)}
LIP={(0,1),(1,1),(3,0),(2,1),(3,1),(0,2),(1,2),(0,3),(1,3),(2,4),(2,5)}
LIP={(0,1),(1,1),(3,0),(2,1),(3,1),(0,2),(1,2),(0,3),(1,3),(2,4),(2,5),(3,5)}
LIS = {(1,1)A, (1,0)B, (0,2)A, (0,3)A, (1,3)A}

(8)
D(0,3)
D(1,3)
0
0
Rien
Rien
(8)
LIS = {(1,1)A, (1,0)B, (0,2)A, (0,3)A, (1,3)A}
LIP = {(0,1),(1,1),(3,0),(2,1),(3,1),(0,2),(1,2),(0,3),(1,3),(2,4),(2,5),(3,5)}
LSP = {(0,0),(1,0),(2,0),(3,4)}

(9)
Tableau.III.2 Tableau montrant tape par tape le droulement du premier passage de
lalgorithme SPIHT 2D.
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 77

4. Extension aux images 3D du SPIHT :
Limplmentation de la version 2D du SPIHT qui vient dtre prsent, peut tre
applique sparment sur chacun des diffrents canaux de limage 3D, aprs que ces
dernires aient subi une transformation en ondelettes 2D. Dans notre tude nous essayons
de tirer partie de la nature 3D des images compresser, il est donc indispensable
dtendre le SPIHT trois dimensions, afin quil puisse sadapter la TO 3D dveloppe
prcdemment et donc dexploiter la redondance quil y a dans cette troisime dimension.
Lextension aux images 3D volumiques dEZW et du SPIHT sappuie sur des relations
parents/enfants dans trois dimensions au lieu de deux [2] [13]. Ceci est li lutilisation de la
TO 3D dyadique prsente prcdemment.
Dans le cas 3D le nud racine de larbre (correspondant aux coefficients de la sous-
bande LLLd pour une TO 3D d niveaux de dcomposition) a seulement 7 enfants, alors
que tous les autres nuds lexception des extrmits en possdent 8. En dautres
termes, lexception du nud racine et des extrmits de larbre le lien parent enfant 3D
est le suivant :

O (i, j, k) =_
(2i, 2j, 2k), (2i, 2j +1, 2k), (2i +1, 2j, 2k),
(2i + 1, 2j + 1, 2k), (2i, 2j, 2k + 1), (2i + 1, 2j, 2k + 1),
(2i, 2j + 1, 2k + 1), (2i + 1, 2j + 1, 2k + 1)
_ --(S)

O O (i, j, k) reprsente un ensemble de coordonnes de tous les enfants du nud (i, j, k).Ceci
est illustr par la figure (III.7) :



Fig.III.7 Le nud racine de larbre 3D
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 78


Lalgorithme SPIHT 3D utilise aussi les ensembles suivants de coordonnes (tendu
3D) dans la mthode de codage qui sera prsente par la suite :

O (i, j, k) : Ensemble des coordonnes de tous les enfants du nud (i, j, k).
D (i, j, k) : Ensemble des cordonnes de tous les descendants du nud (i, j, k) (type
A darbres de zros)
L (i, j, k) = D (i, j, k) O (i, j, k) Ensemble des descendants lexception des
enfants (type B darbre de zros).
















Fig.III.8 Les relations parents-enfants SPIHT 3D.

Limplmentation du SPIHT 3D est trs similaire au SPIHT 2D, le tri des pixels est le
mme que dans le SPIHT 2D, sauf que les arbres de zros sont trois dimensions. La passe
principale et de raffinement sont identiques et le rsultat est un flux de bits. Avant de
prsenter lalgorithme crit sous MATLAB, nous allons dabord dcrire les grandes tapes
afin de faciliter la comprhension de lalgorithme du SPIHT 3D.

C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 79

Etape 1 : Calcul du seuil de dpart Tn, donne par : Tn = 2
|Iog
2
max (Im(x,y,\)|
.
Etape 2 : Dfinition des listes de coordonnes (x,y,i) de LCN, LCS et LEN.
Etape 3 : Comparer la valeur des pixels de la LCN au seuil Tn :
Si cest positif alors il sera cod 11.
Si cest ngatif alors il sera cod 10.
Sinon, il sera code 0.
Etape 4 : Pour chaque ensemble de LEN comparer au seuil Tn le descendant ayant la plus
grande valeur absolue.
Si type A : Sil y a des descendants suprieur Tn sortie 1 et tester les huit enfants du
nud (x,y, i) ; pour chacun deux :
Sil est positif, il sera cod 11.
Sil est ngatif, il sera cod 10.
Sinon il sera code 0.
Si les enfants ont des descendants, mettre le nud la fin de la LEN en tant que type B.
Si type B : Sil y a des ceoficients qui sont suprieurs Tn sortie 1 et mettre chaquun des
huit enfants du nud (x,y, i) comme entre type A.
Si non signifiant, sortie 0.
Etape 5 : Passe de raffinement.
Etape 6 : Dcrmenter n et retourner ltape 3.
Dans ce qui suit nous allons prsenter et commenter lalgorithme SPIHT 3D crit
sous MATLAB, ce code est une adaptation au cas 3D de lalgorithme SPIHT 2D crit
par JING TIAN.
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 8 0

5. Lalgorithme SPIHT 3D sous Matlab:
function out = func_SPIHT_Enc(M, max_bits, level)
%
% input: M : Donne 3D dans le domaine ondelettes
% max_bits: Nombre de bits max
% level: niveaux de dcomposition
%
% output: out: flux de bits
%
%----------- Initialization ------------------
bitctr = 0;
out = 2*ones(1,max_bits);
n_max = floor(log2(abs(max(max(max(M))))));
Bits_Header = 0;
Bits_LSP = 0;
Bits_LIP = 0;
Bits_LIS = 0;
---------------------------------------------------------------------------
Initialisation des conteurs qui seront utiliss dans le code et calcul du seuil de dpart Tn,
donne par cette quation : Tn = 2
|Iog
2
max (Im(x,y,)|
.
O : n_max = |log
2
max (im(x, y, )|.
---------------------------------------------------------------------------

%----------- output bit stream header ----------------
out(1,[1 2 3 4 5]) = [size(M,1) n_max level size(M,2) size(M,3) ];
bitctr = bitctr + 40;
index = 6;
Bits_Header = Bits_Header + 40;
---------------------------------------------------------------------------

Dfinition de lentte ncessaire pour permettre le dcodage. (Taille image, niveaux de
dcomposition, max bits).
Prendre en compte la taille de lentte dans les conteurs.
---------------------------------------------------------------------------

%----------- Initialize LIP, LSP, LIS ----------------
temp = [];
bandsize1 = round (2.^(log2(size(M, 1)) - level + 1));
bandsize2 = round (2.^(log2(size(M, 2)) - level + 1));
bandsize3 = round (2.^(log2(size(M, 3)) - level + 1));

temp1 = 1 : bandsize1;
for i = 1 : bandsize2
temp = [temp; temp1];
end
LIP(:, 1) = temp(:);
temp = [];

temp1 = 1 : bandsize2;
for i = 1 : bandsize1
temp = [temp; temp1];
end
temp = temp';
LIP(:, 2) = temp(:);
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 8 1

len = size(LIP,1);
LIP(:,3) = ones(len,1);
LIS = LIP;

pstart = 1;
pend = bandsize2 / 2;
for i = 1 : bandsize1 / 2
LIS(pstart : pend, :) = [];
pdel = pend - pstart + 1;
pstart = pstart + bandsize2 - pdel;
pend = pend + bandsize2 - pdel;
end

len2 = size(LIS,1);
tLIP=LIP;
tLIS=LIS;
for i=1:bandsize3-1
LIP=[LIP;tLIP];
LIP(i*len+1:(i+1)*len,3) = (i+1)*ones(len,1);
End

for i=1:bandsize3/2-1
LIS=[LIS;tLIS];
LIS(i*len2+1:(i+1)*len2,3) = (i+1)*ones(len2,1);
End

lenT = size(LIS,1);
for i=bandsize3/2:bandsize3-1
LIS=[LIS;tLIP];
LIS(lenT+1:lenT+len,3) = (i+1)*ones(len,1);
lenT=lenT+len;
end

LIS(:, 4) = zeros((bandsize3/2*len2 + bandsize3/2*len), 1);
LSP = [];
n = n_max;
---------------------------------------------------------------------------

Dfinition des listes de coordonnes (i,j,) de LCN, LCS et LEN.

---------------------------------------------------------------------------
%----------- CODING -------------------------------------
while(bitctr < max_bits)

% Sorting Pass
LIPtemp = LIP;temp = 0;
for i = 1:size(LIPtemp,1)
temp = temp+1;
if (bitctr + 1) >= max_bits
if (bitctr < max_bits)
out(length(out))=[];
end
return
end
if abs(M(LIPtemp(i,1),LIPtemp(i,2),LIPtemp(i,3))) >= 2^n
out(index) = 1; bitctr = bitctr + 1;
index = index +1; Bits_LIP = Bits_LIP + 1;
sgn = M(LIPtemp(i,1),LIPtemp(i,2),LIPtemp(i,3))>=0;
out(index) = sgn; bitctr = bitctr + 1;
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 8 2

index = index +1; Bits_LIP = Bits_LIP + 1;
LSP = [LSP; LIPtemp(i,:)];
LIP(temp,:) = []; temp = temp - 1;
else
out(index) = 0; bitctr = bitctr + 1;
index = index +1;
Bits_LIP = Bits_LIP + 1;
end
end
---------------------------------------------------------------------------

Vrifiez la signification de tous les coefficients de LCN
Signifiant : sortie 1, sortie un bit de signe, et dplacer le coefficient affect la LCS.
Non Signifiant : sortie 0.

---------------------------------------------------------------------------
LIStemp = LIS; temp = 0; i = 1;
while ( i <= size(LIStemp,1))
temp = temp + 1;
if LIStemp(i,4) == 0
if bitctr >= max_bits
return
end
max_d = func_Descendant(LIStemp(i,1),LIStemp(i,2),
LIStemp(i,3,LIStemp(i,4),M);
---------------------------------------------------------------------------

Fonction qui permet de trouver le descendant ayant la plus grande valeur absolue du pixel
(i,j,). (Voir code de la fonction).

---------------------------------------------------------------------------

if max_d >= 2^n
out(index) = 1; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
x = LIStemp(i,1); y = LIStemp(i,2); z = LIStemp(i,3);

if (bitctr + 1) >= max_bits
if (bitctr < max_bits)
out(length(out))=[];
end
return
end

if abs(M(2*x-1,2*y-1,2*z-1)) >= 2^n
LSP = [LSP; 2*x-1 2*y-1 2*z-1];
out(index) = 1; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
sgn = M(2*x-1,2*y-1,2*z-1)>=0;
out(index) = sgn; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
else
out(index) = 0; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
LIP = [LIP; 2*x-1 2*y-1 2*z-1];
end
if (bitctr + 1) >= max_bits
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 8 3

if (bitctr < max_bits)
out(length(out))=[];
end
return
end
if abs(M(2*x-1,2*y,2*z-1)) >= 2^n
LSP = [LSP; 2*x-1 2*y 2*z-1];
out(index) = 1; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
sgn = M(2*x-1,2*y,2*z-1)>=0;
out(index) = sgn; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
else
out(index) = 0; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
LIP = [LIP; 2*x-1 2*y 2*z-1];
End



if (bitctr + 1) >= max_bits
if (bitctr < max_bits)
out(length(out))=[];
end
return
end
if abs(M(2*x,2*y-1,2*z-1)) >= 2^n
LSP = [LSP; 2*x 2*y-1 2*z-1];
out(index) = 1; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
sgn = M(2*x,2*y-1,2*z-1)>=0;
out(index) = sgn; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
else
out(index) = 0; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
LIP = [LIP; 2*x 2*y-1 2*z-1];
end
if (bitctr + 1) >= max_bits
if (bitctr < max_bits)
out(length(out))=[];
end
return
end
if abs(M(2*x,2*y,2*z-1)) >= 2^n
LSP = [LSP; 2*x 2*y 2*z-1];
out(index) = 1; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
sgn = M(2*x,2*y,2*z-1)>=0;
out(index) = sgn; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
else
out(index) = 0; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
LIP = [LIP; 2*x 2*y 2*z-1];
end
if (bitctr + 1) >= max_bits
if (bitctr < max_bits)
out(length(out))=[];
end
return
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 8 4

end
if abs(M(2*x-1,2*y-1,2*z)) >= 2^n
LSP = [LSP; 2*x-1 2*y-1 2*z];
out(index) = 1; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
sgn = M(2*x-1,2*y-1,2*z)>=0;
out(index) = sgn; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
else
out(index) = 0; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
LIP = [LIP; 2*x-1 2*y-1 2*z];
end
if (bitctr + 1) >= max_bits
if (bitctr < max_bits)
out(length(out))=[];
end
return
end
if abs(M(2*x-1,2*y,2*z)) >= 2^n
LSP = [LSP; 2*x-1 2*y 2*z];
out(index) = 1; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
sgn = M(2*x-1,2*y,2*z)>=0;
out(index) = sgn; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
else
out(index) = 0; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
LIP = [LIP; 2*x-1 2*y 2*z];
end
if (bitctr + 1) >= max_bits
if (bitctr < max_bits)
out(length(out))=[];
end
return
end
if abs(M(2*x,2*y-1,2*z)) >= 2^n
LSP = [LSP; 2*x 2*y-1 2*z];
out(index) = 1; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
sgn = M(2*x,2*y-1,2*z)>=0;
out(index) = sgn; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
else
out(index) = 0; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
LIP = [LIP; 2*x 2*y-1 2*z];
end
if (bitctr + 1) >= max_bits
if (bitctr < max_bits)
out(length(out))=[];
end
return
end
if abs(M(2*x,2*y,2*z)) >= 2^n
LSP = [LSP; 2*x 2*y 2*z];
out(index) = 1; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
sgn = M(2*x,2*y,2*z)>=0;
out(index) = sgn; bitctr = bitctr + 1;
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 8 5

index = index +1; Bits_LIS = Bits_LIS + 1;
else
out(index) = 0; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
LIP = [LIP; 2*x 2*y 2*z];
End



---------------------------------------------------------------------------
Si type A :
Si significatif, sortie 1 et coder ses enfants (8 enfants):
* Si un enfant est significatif, sortie 1, puis un bit de signe et l'ajouter la LCS.
*Si un enfant est non signifiant, sortie 0 et ajouter l'enfant la fin de LCN.
Si non signifiant, sortie 0.

---------------------------------------------------------------------------


if ((2*(2*x)-1) < size(M,1) & (2*(2*y)-1) < size(M,2) &
(2*(2*z)-1) < size(M,3))
LIS = [LIS; LIStemp(i,1) LIStemp(i,2) LIStemp(i,3) 1];
LIStemp = [LIStemp; LIStemp(i,1) LIStemp(i,2)
LIStemp(i,3) 1];

end
LIS(temp,:) = []; temp = temp-1;
---------------------------------------------------------------------------

Si les enfants ont des descendants, dplacer (i,j,) la fin de la LEN en tant que type B et le
retirer de LEN.

---------------------------------------------------------------------------

else
out(index) = 0; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
end
else
if bitctr >= max_bits
return
end
max_d = func_Descendant(LIStemp(i,1),LIStemp(i,2),LIStemp(i,3),

LIStemp(i,4),M);
if max_d >= 2^n
out(index) = 1; bitctr = bitctr + 1;
index = index +1;
x = LIStemp(i,1); y = LIStemp(i,2); z = LIStemp(i,3);

LIS = [LIS; 2*x-1 2*y-1 2*z-1 0; 2*x-1 2*y 2*z-1 0;
2*x 2*y-1 2*z-1 0; 2*x 2*y 2*z-1 0;2*x-1 2*y-1 2*z 0;
2*x-1 2*y 2*z 0; 2*x 2*y-1 2*z 0; 2*x 2*y 2*z 0];

LIStemp = [LIStemp; 2*x-1 2*y-1 2*z-1 0; 2*x-1 2*y 2*z-1 0;
C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 8 6

2*x 2*y-1 2*z-1 0; 2*x 2*y 2*z-1 0;2*x-1 2*y-1 2*z 0;
2*x-1 2*y 2*z 0; 2*x 2*y-1 2*z 0; 2*x 2*y 2*z 0];

LIS(temp,:) = []; temp = temp - 1;

else
out(index) = 0; bitctr = bitctr + 1;
index = index +1; Bits_LIS = Bits_LIS + 1;
end


---------------------------------------------------------------------------

Si type B:
Si signifiant, sortie 1, ajouter chacun des descendant (8 enfants) la fin de LEN comme
entre de type A et enlever le nud parent (i,j,) de la LEN.
Si non signifiant, sortie 0
---------------------------------------------------------------------------

end
i = i+1;
end

% Refinement Pass
temp = 1;
value = floor(abs(2^(n_max-n+1)*M(LSP(temp,1),LSP(temp,2),
LSP(temp,3))));
while (value >= 2^(n_max+2) & (temp <= size(LSP,1)))
if bitctr >= max_bits
return
end
s = bitget(value,n_max+2);
out(index) = s; bitctr = bitctr + 1;
index = index +1; Bits_LSP = Bits_LSP + 1;
temp = temp + 1;
if temp <= size(LSP,1)
value = floor(abs(2^(n_max-n+1)*M(LSP(temp,1),LSP(temp,2),
LSP(temp,3))));
end
end
n = n - 1;
end
---------------------------------------------------------------------------
Excuter la passe de raffinement
Dcrmenter n et retourne la passe de signification.
---------------------------------------------------------------------------


Pour finir nous allons voir maintenant la fonction associe au code qui vient dtre prsent
et qui permet de trouver le descendant ayant la plus grande valeur absolue du pixel (i,j,) .



C h a p . I I I Q u a n t i f i c a t i o n p a r Z e r o t r e e P a g e | 8 7

function value = func_Descendant(i, j, k, type, M)
%
% trouvez le descendant ayant la plus grande valeur absolue de la racine
% (i,j,) .
%
% input: i : lignes.
% j : colonnes.
% k : frquences.
% type : type de descendant ( A ou B ).
% M : Donne 3D .
%
% output: value : descendant ayant la plus grande valeur.

[s1,s2,s3] = size(M);
S = [];
index = 0; a = 0; b = 0; c = 0;
while ((2*i-1)<s1 & (2*j-1)<s2 & (2*k-1)<s3)
a = i-1; b = j-1; c = k-1;

mind = [2*(a+1)-1:2*(a+2^index)];
nind = [2*(b+1)-1:2*(b+2^index)];
zind = [2*(c+1)-1:2*(c+2^index)];

chk = mind <= s1;
len = sum(chk);
if len < length(mind)
mind(len+1:length(mind)) = [];
end

chk = nind <= s2;
len = sum(chk);
if len < length(nind)
nind(len+1:length(nind)) = [];
end

chk = zind <= s3;
len = sum(chk);
if len < length(zind)
zind(len+1:length(zind)) = [];
end

S = [S reshape(M(mind,nind,zind),1,[])];
index = index + 1;
i = 2*a+1; j = 2*b+1; k = 2*c+1;
end
if type == 1
S(:,1:4) = [];;
end
value = max(abs(S));
Tests & R sultats
CHAPITRE 4
C
h
a
p
i
t
r
e

4







Pr ambule.
Pr sentation de linterface graphique.
Crit res dvaluation de la compression.
Tests et r sultats de la compression.
Discussion.
C h a p . I V T e s t s & R s u l t a t s P a g e | 8 9


1. Prambule :
Ce chapitre prsente lexprimentation et les rsultats des codes introduits aux chapitres
prcdent. Rappelons que notre travail consiste dvelopper un algorithme de
compression dimages hyperspectrales utilisant une transforme en Ondelettes 3D (TOD
3D) et une quantification par arbre de zros (SPIHT 3D) afin datteindre de bons taux de
compression pour ce type dimages sans trop altrer la qualit. Nous valuerons ici les
rsultats obtenus pour diffrents paramtres de prcision et nous verrons linfluence de
ces paramtres sur la qualit de compression obtenue.
Lorsquon utilise des techniques de compression avec perte, lutilisation de mesure de
qualit est indispensable pour lvaluation des performances. Le problme majeur dans
lvaluation des techniques de compressions avec pertes rside dans la difficult
dcrire la nature et limportance des dgradations sur limage reconstruite. La notion de
critre qualit en adquation avec les applications en aval, est donc particulirement
intressante pour valuer limpact dun procde de compression sur lexploitation de
limage finale. Pour ce faire, nous allons dfinir certains critres tels que le PSNR, ainsi
que le MSE ou le SNR, pour permettre lvaluation de la qualit de compression de
lalgorithme labore pour les images hyperspectrales.
Afin de faciliter lutilisation des algorithmes labores pour la compression des images
hyperspectrales et de manipuler les diffrents paramtres nous avons regroup ces
algorithmes dans un GUI (Graphical User Interface) sous MATLAB. Cette interface
graphique permettra de slectionner limage 3D ou chaque canal de limage 3D sparment
laide dun explorateur et dappliquer soit la chaine de compression 2D ou 3D tant
donn que les deux chaines de compression ont t implmentes afin de voir
lamlioration apporte par la version 3D de lalgorithme.
Cette interface permettra de tester les performances de compression de plusieurs
filtres pour diffrents niveaux de dcomposition ; elle permettra aussi de calculer le
PSNR et dafficher limage compresse et non compresse afin de faire une
comparaison visuelle des rsultats. Nous allons prsenter dans ce qui suit cette
interface plus en dtail et dcrire son utilisation.

C h a p . I V T e s t s & R s u l t a t s P a g e | 90

2. Prsentation de linterface graphique :
Le GUI (Graphical User Interface) de MATLAB permet de crer des interfaces o le
programmeur choisit plusieurs types d'objets (boutons, edit box, listbox.....) appels
handles. Ensuite, il ralise la programmation pour obtenir linteraction quil souhaite entre ces
diffrents objets.
Linterface ralise permet la compression des images hyperspctrales laide dun large
choix de filtres ondelettes et pour diffrents niveaux de dcomposition. La compression peut
tre faite sur chaque canal sparment ou sur le cube hyperspctral 3D en entier. Une capture
de linterface est donne dans la figure suivante.















Fig. IV.1 Linterface graphique de compression des images hyperspectrales.

C h a p . I V T e s t s & R s u l t a t s P a g e | 91

2.1 Cette interface contient :
Deux Pushbutton pour slectionner une image 2D ou 3D.
Deux Edit boxes pour dfinir le niveau de dcomposition (J) et le rapport de compression (RC).
Un Pop-up Menu dans lequel se trouvent les diffrents filtres ondelettes (filtres danalyses (af) et
filtres de synthses (sf)).














Fig. IV.2 Les diffrents filtres ondelettes disponibles dans le GUI.
Deux autres panels (un 2D (en vert) et lautre 3D (en jaune)) regroupant chacun deux Pushbutton
permettent dexcuter la compression et la dcompression pour les deux cas 2D et 3D.
Un dernier panel Output nous permet dafficher limage avant et aprs compression et nous
permet de calculer le PSNR pour les deux cas 2D et 3D (voir Fig. IV.5).
C h a p . I V T e s t s & R s u l t a t s P a g e | 92

2.2 Dmarche suivre pour la compression des images hyperspectrales :
1. Pour slectionner une image, il faut cliquer sur le bouton slectionner une image 3D,
qui ouvre une fentre permettant de parcourir le disque et de choisir n'importe quelle
image hyperspectrale.
Une fentre apparait pour nous informer que limage a t charge et le nombre de canaux de
limage 3D chargs (par dfaut nous avons choisi de charger 32 canaux).


2. Puis, par action d'un clic sur Pop-up Menu, permet de drouler le menu contenant les
diffrents filtres ondelettes et de choisir un par un clic dessus.
3. Ensuite laide du clavier numrique nous saisissons le nombre de dcomposition (J)
et le rapport de compression (RC) dsir.
4. Une fois que tous ces paramtres sont dfinis il ne reste plus qu compresser limage
3D par un clic sur le Botton DWT3D et SPIHTco3D; la compression 3D sexcute.











Fig. IV.3 Compression 3D par clic sur le Botton DWT3D et SPIHTco3D.

C h a p . I V T e s t s & R s u l t a t s P a g e | 93


Une fois la compression 3D termine la fentre suivante apparait :


5. En suite un clic sur le Botton iDWT3D et SPIHTd3D permet de dcompresser
limage 3D. Lorsque lopration se termine, une fentre avec le message
dcompression termine apparait.











Fig. IV.4 Dcompression 3D par clic sur le Botton iDWT3D et SPIHTd3D.

Une fois la dcompression 3D termine on aura la fentre suivante :


C h a p . I V T e s t s & R s u l t a t s P a g e | 94

Lajout du panel output dans notre interface graphique (GUI de MATLAB) nous
permet de rcuprer les deux images (pour les deux cas 2D et 3D) lune avant
compression (originale) et lautre aprs compression (compresse) et de les visualiser
dans une fentre sur notre cran.




Fig. IV.5 Panel output dans linterface graphique permet dafficher limage compresse
et de calculer le PSNR.
Deux Pushbutton (PSNR 2D et PSNR 3D) nous permettent de calculer le PSNR de
limage compresse. La figure suivante nous donne un exemple des rsultats obtenus
avec notre algorithme.
Fig. IV.6 Image originale (gauche) (canal numro 32 du cube 3D) et image compresse par
un RC = 60 (droite).

Afin de permettre lvaluation de la qualit de compression de lalgorithme labor, nous
allons dfinir les critres de qualit suivants :
C h a p . I V T e s t s & R s u l t a t s P a g e | 95


3. Critres dvaluation de la compression :
3.1 Critres de qualit :
Les mthodes que nous allons utiliser sont bases sur des critres de distances entre
limage originale et limage aprs passage dans la chane de compression. Dans notre cas, il
sagit de limage originale sans compression, note I et de limage obtenue aprs
compression/dcompression dont on veut valuer les distorsions, note I

.
Les images hyperspectrales sont reprsentes sous la forme dune matrice
tridimensionnelle : I(x, y, ), x est la position du pixel dans la ligne, y est le numro de la
ligne et la bande spectrale considre. nx, ny et n sont respectivement le nombre de pixels
par ligne, le nombre de lignes et le nombre de bandes spectrales. On notera galement
I(x, y, z)
nx
x
n

nx
x
par I(x, y, z)
x,,x
. Ces notations seront conserves par la suite.
A lorigine, ces traitements sont adapts des donnes une seule dimension. Ils ont t
ensuite tendus avec succs aux images classiques deux dimensions. Pour les images
hyperspectrales, des extensions une troisime dimension ont t ralises. Dans ce cas, on
considre les critres traitant les 3 dimensions (2 spatiales et une spectrale) de la mme
manire. La spcificit des images hyperspectrales nest donc pas prise en compte.
Dans le cas hyperspectral, les images peuvent tre values avec des critres plus adapts
mais qui sont plus complexes [2], nous utiliserons ici des outils tels que le PSNR ou le
SNR, ainsi que le MSE et le MAE, que nous implmenterons sous Matlab et intgrerons dans
linterface graphique labore.

Mean Absolute Error (MAE) : Cest la moyenne de la diffrence en valeurs absolues
entre les pixels de limage originale et compresse.

HAE =
1
n
x
n
j
n
Z
(I(
x,,x
x, y, z) - I

(x, y, z) ------------(1)


C h a p . I V T e s t s & R s u l t a t s P a g e | 96

Erreur Quadratique Moyenne (EQM) ou Mean Square Error (MSE):
Elle reprsente lerreur quadratique moyenne entre limage compresse et limage
originale. Cette mesure va permettre dvaluer linfluence des dgradations de la
compression sur limage compresse. Elle est dfinit comme suit :
HSE =
1
n
x
n
j
n
Z
(I(
x,,x
x, y, z) - I

(x, y, z))
2
------------(2)
Pour une meilleure interprtation, cette mesure peut tre relie des notions de moyenne et
variance. En notant la moyenne et o
2
sa variance.
HSE = o
I-I

2
+ p
I-I

2
------------(3)

Rapport Signal sur Bruit (RSB) ou Signal to Noise Ratio (SNR). Cest le rapport
entre la puissance de lerreur avec la puissance du signal original (PS).
SNR
(db)
= 1u log
10

PS
HSE
- - -- - -(4)

Lorsque le signal est de moyenne nulle, on a PS = o
I
2
. En revanche, quand ce nest pas le
cas, une ambigut existe sur la dfinition de la puissance du signal, certains gardent la
variance pour exprimer la puissance du signal et dautres choisissent la puissance relle du
signal.

Le PSNR (Peak SNR) : Cest la mesure de la distorsion entre limage originale et
compresse. Il s'agit de quantifier la performance des codeurs en mesurant la qualit
de reconstruction de l'image compresse par rapport l'image originale. Les valeurs
typiques du PSNR pour des images de bonne qualit varient entre 30 et 40 dB.
PSNR
(db)
= 1ulog
10
PcukSgnuI
2
MSL
------------(5)
Ou : PeakSignal =2
q
, q tant le nombre de bits utiliss pour coder les valeurs.
Cette quation du PSNR sera utilise pour nos calculs, elle traite les 3 dimensions de limage.
C h a p . I V T e s t s & R s u l t a t s P a g e | 97

3.2 Dbit (D) et rapport de compression (RC):
Le dbit permet destimer le nombre de bits moyens utiliss pour coder un lment. Cet
lment peut tre un pixel ou un groupement de pixels. Suivant les mthodes de codage, le
dbit nest pas toujours un entier. Lobjectif est dobtenir un dbit cible Dc, tel que : Dc < Do
(par exemple, pour une mme qualit visuelle de limage). Pour dterminer le degr de
compression obtenu, on dfinit galement : le rapport de compression (RC) :
RC =
Nombc dc bts dc I'mugc ognuIc
Nombc dc bts dc I'mugc compmc
=
c
o
---------(6)

Lorsque lon souhaite prserver intgralement la qualit de limage (compression sans
perte), le calcul du dbit entropique De, permet de connatre le dbit minimal que lon peut
atteindre sans dgrader linformation. Il est dfini par :
c = E
0
= - p(x
m
) log
2
(p(x
m
))
M-1
m=1
------------(7)
O : p(x
m
) correspond la probabilit dapparition du niveau de gris x
m
dans limage.

Une manire de donner un ordre de grandeur de lentropie (ou au moins une borne
suprieure) des images hyperspectrales est de tester les mthodes de codage sans pertes sans
tenir compte de la nature de limage. On a utilis les utilitaires suivant :
gzip : algorithme LZ77;
bzip2 : algorithme de Burrows-Wheeler, suivi de Human.
Original gzip bzip2
Taille (Mb) bpp
134.4Mb 16
Taille (Mb) bpp
82.9Mb 9.86
RC obtenu =1.61
Taille (Mb) bpp
69.6 Mb 8.23
RC obtenu =1.92
Tableau.IV.1 Estimation de lentropie des images hyperspectrales.
Ceci nous permet seulement de comprendre que lentropie des images hyperspectrales est
infrieure 8.23 bits (dbit minimum en bits/pixel obtenu laide dun des algorithmes de
compression sans perte standard).
C h a p . I V T e s t s & R s u l t a t s P a g e | 98

4. Testes et Rsultats de la compression :
Les algorithmes mentionns ont t mis en uvre sous Matlab R2009a et les
performances ont t values pour diffrents : niveaux de dcomposition, de fonctions
d'ondelettes, dordre du filtre et de taille de l'image. Le comportement des diffrentes
fonctions ondelettes et leurs caractristiques ont t tudies. Trois types de familles
d'ondelettes sont utiliss: Daubechies (DbN), Symlettes (symN) et biorthogonales (biorN).
Chaque famille d'ondelettes peut tre paramtre par un entier qui dtermine l'ordre du
filtre (N). La liste de toutes les ondelettes utilises est :
Tableau.IV.2 Table des filtres utiliss dans les tests.
Famille :
Abrviation :
Ordre du filtre utilis:
Daubechies.
DbN.
N = 4, 6, 8, 10, 12, 14.
Famille :
Abrviation :
Ordre du filtre utilis:
Symlettes.
SymN.
N = 4, 6, 8, 10, 12, 14.
Famille :
Abrviation :
Ordre du filtre utilis:
Biorthogonales.
BiorN.
N = 2.2 (LeGaLL5/3) et 4.4 (CDF9/7).

Dans chaque famille d'ondelettes, nous pouvons trouver une fonction ondelette qui donne
la solution optimale associe l'ordre du filtre, mais cette solution dpend de l'image. Le
nombre optimal de dcomposition pour chaque ordre de filtre dans chaque famille
d'ondelettes sera trouv. Ce nombre optimal de dcomposition donne les PSNR les plus
leves.
Les images 3D utilises sont produites en combinant plusieurs canaux 2D. Il est possible
de coder ces images 2D de manire indpendante canal par canal (ce que nous pouvons aussi
faire avec lapplication dvelopper). Les canaux 2D des images hyperspectrales que nous
avons utiliss pour lalgorithme de compression sont de taille 256 256 1 chacun, Chaque
image est code sur 16 bits (aprs corrections radiomtriques) ; Nous utiliserons pour nos
tests une squence qui contient 32 images qui sont prises du canal 1 jusquau canal 32 mais
nous pouvons utiliser nimporte quelle squence, comme nous pouvons faire varier la taille de
C h a p . I V T e s t s & R s u l t a t s P a g e | 99

toute la squence (dimension de la scne spatiale et dimension de la scne spectrale ). Nous
rappelons que la taille des images AVRIS est de 512 x 614 x 224 code sur 16 bit ce qui
correspond 134.32 Mb. La taille de l'ensemble de la squence que nous avons utilise est
de 256 x 256 x 32 ce qui correspond 4 Mb ; Lapplication dveloppe peut tre applique
sur toute la squence, nous avons choisi de rduire la taille de la squence utilise afin de
rduire le temps de calcul ncessaire lexcution de lalgorithme. La squence choisie est
illustre dans la figure (IV.7).









Fig. IV.7 (A) Canal 30 de limage AVRIS Yellowstone ; (B) et (C) canal 35 et canal 50 de
la squence utilise pour les tests.
A
B C
C h a p . I V T e s t s & R s u l t a t s P a g e | 100

4.1 Influence du type de filtre :
Les tableaux (IV.3, IV.4 et IV.5) montrent les performances de notre algorithme pour le
niveau de dcomposition J = 3 et pour diffrentes familles d'ondelettes. Le PSNR change avec
les diffrentes familles dondelettes. La faon dont chaque ondelette compacte l'nergie de
limage dpend beaucoup de limage elle-mme (contenu spectral de limage) de plus
chacune delles diffre dans la faon de caractrise ce contenu spectral.
Rapport de compression (20---100)
Filtres 20 30 40 50 6 0 70 8 0 90 100
DB4 47.4115 44.3444 42.46 07 40.6 042 39.4439 38 .36 6 8 37.1447 35.7136 35.1316
DB6 47.6 6 17 44.1923 42.4199 40.56 23 39.0322 37.4338 36 .38 03 34.996 6 34.7703
DB8 48 .0391 45.3517 43.3142 41.4310 40.2712 38 .8 902 37.8 8 40 36 .128 9 35.36 09
DB10 42.18 22 41.2011 40.1793 39.0097 38 .098 7 36 .7174 35.596 7 34.2446 33.6 912
DB12 25.5736 25.5438 25.5059 25.4316 25.36 6 6 25.2371 25.1204 24.98 33 24.8 6 49
DB14 23.48 93 23.4517 23.3092 23.36 78 23.4009 23.36 78 23.3092 23.4517 23.38 37
Tableau.IV.3 PSNR (dB) en fonction du rapport de compression pour diffrentes ondelettes (DbN).

Rapport de compression (20---100)
Filtres 20 30 40 50 6 0 70 8 0 90 100
Sym4 47.318 9 43.7494 41.8 8 17 40.2533 39.16 72 37.7722 37.1442 35.9901 34.8 440
Sym6 47.6 6 16 44.1923 42.4199 40.56 23 39.0322 37.4337 36 .38 02 34.996 5 34.7703
Sym8 47.978 4 45.3517 43.3142 41.4310 40.2712 38 .8 902 37.8 8 40 36 .128 9 34.9093
Sym10 48 .1206 45.708 0 43.7246 42.18 09 41.2420 39.5591 38 .48 52 37.2597 36 .0977
Sym12 44.9920 43.1220 41.8 191 40.5554 39.6 314 38 .1708 36 .9220 36 .06 70 34.98 25
Sym14 37.18 91 36 .9051 36 .7235 36 .2135 35.798 2 35.2958 34.8 48 4 34.3721 33.18 32
Tableau.IV.4 PSNR (dB) en fonction du rapport de compression pour diffrentes ondelettes (SymN).

C h a p . I V T e s t s & R s u l t a t s P a g e | 101


Rapport de compression (10---100)
Filtres 10 20 30 40 50 6 0 70 8 0 90 100
CDF
9/7
51.718 3 47.9307 45.4117 43.36 6 6 41.406 0 40.0950 38 .56 6 7 37.2918 36 .408 6 35.38 07
LeGaLL
5/3
52.8 18 6 48 .1745 45.3076 42.8 423 41.1709 39.3908 38 .048 4 36 .5127 35.5526 34.78 16
Tableau.IV.5 PSNR (dB) en fonction du rapport de compression pour diffrentes ondelettes (biorN).

Nous rappelons que pour des images de bonne qualit, le PSNR varie entre 30 et 40 dB.
Comme nous le voyons sur les tableaux, les PSNR obtenus dpassent les 30 dB mme pour
des rapports de compression levs (RC = 100- 0.16 bpp) sauf pour lordre N=12 et N=14
pour la famille dondelette de Daubechies; Pour des rapports de compression peu levs, nous
obtenons un PSNR trs bon, dpassant les 40 dB allant jusquau-del des 50 dB (RC = 10-
1.6 bpp) pour certain ordre de filtre.
La solution optimale obtenue pour chaque famille (solution optimale par rapport l'ordre
du filtre dans chaque famille) est mentionne par le rouge dans les tableaux et sont les
suivantes :
o Pour les ondelettes de Daubechies ; la DB8 donne les meilleurs rsultats avec un
PSNR allant de 35.35- 48.03dB.
o Pour les ondelettes Symlettes ; la sym10 avec un PSNR allant de 36.09-48.12dB.
o Pour les ondelettes Biorthogonales ; les deux ondelettes testes obtiennent de bons
rsultats, avec la Bior2.2 (LeGaLL5/3) allant de 34.78-48.17 dB et la Bior4.4
(CDF9/7) allant de 35.38-47.93 dB.


Les figures (IV.8.a, IV.8.b et IV.8.c) montrent lvolution du PSNR en fonctions du
rapport de compression pour les trois familles dondelettes (Symlettes, Daubechies et
biorthogonales) et pour diffrents ordres.

C h a p . I V T e s t s & R s u l t a t s P a g e | 102

Fig.IV.8 (a, b et c) PSNR en fonctions du RC pour (Symlettes, Daubechies et biorthogonales).
C h a p . I V T e s t s & R s u l t a t s P a g e | 103

Tel que mentionn prcdemment, l'un des avantages du SPIHT est quil fait un codage
progressif en commenant par les bits les plus significatifs vers les moins significatifs. Ceci
permet lalgorithme de faire de la transmission progressive d'images, puisque le dcodeur
peut s'arrter n'importe o dans la suite de bits transmise et produire la meilleure image
reconstruite. Au niveau du rcepteur, on peut choisir la qualit de l'image ; quand on
augmente le dbit, nous obtenons des informations plus dtailles et bien sr la
qualit de l'image est meilleure. La figure (IV.9) montre la qualit de compression obtenue
pour diffrents rapports de compression. Vous pouvez observer clairement un effet de bloc
dans les rapports de compression levs, cela est d la faible quantit dinformation
contenue dans les images (grand rapport de compression), puis quand on ajoute de
linformation, la qualit de limage augmente (faible rapport de compression).



Fig. IV.9 (A) : Image originale ; (B) : RC=100 ; (C) : RC=80 ; (D) : RC=60 ; (E) RC=40 ;
(F) RC=20.
A
B
C
F
D
D E
C h a p . I V T e s t s & R s u l t a t s P a g e | 104

4.2 Influence du nombre de dcomposition :
Les tableaux (IV.6, IV.7, IV.8 et IV.9) montrent l'effet du niveau de dcomposition du
filtre pour diffrentes familles d'ondelettes. Nous observons une nette amlioration du PSNR,
lorsque le niveau de dcomposition augmente pour tous les filtres et pour toutes les mthodes,
que ce soit les mthodes 2D ou 3D. Les valeurs max de PSNR sont obtenues pour le niveau
de dcomposition J = 3 (Note : Le niveau de dcomposition max utilisable pour notre
squence est J = 4 parce que laxe z = 32). A partir du niveau de dcomposition J = 3, il n'y a
pas damlioration du PSNR obtenu. Ceci sexplique par le fait que, quand le niveau de
dcomposition augmente de plus amples dtails sont ajouts, mais plus d'nergie est perdue et
les erreurs de reconstruction augmentent. C'est ce qui cause un effet ngatif aprs un certain
niveau et cest le cas pour le niveau J = 4.


PSNR (dB) pour diff rents niveaux de la DB8
RC 20 30 40 50 6 0 70 8 0 90 100
J=4 22.2376 22.2308 22.2243 22.2176 22.2176 22.2055 22.198 1 22.18 8 2 22.18 47
J=3 48 .0391 45.3517 43.3142 41.4310 40.2712 38 .8 902 37.8 8 40 36 .128 9 35.36 09
J=2 33.0147 27.9174 22.5751 22.5228 20.7357 19.8 972 19.8 972 19.8 972 19.8 972
Tableau.IV.6 PSNR (dB) pour diffrents fonction du niveau de dcomposition.



PSNR (dB) pour diff rents niveaux de la Sym10
RC 20 30 40 50 6 0 70 8 0 90 100
J=4 25.36 6 4 25.3541 25.3439 25.3326 25.3251 25.3154 25.3057 25.2945 25.2755
J=3 48 .1206 45.708 0 43.7246 42.18 09 41.2420 39.5591 38 .48 52 37.2597 36 .0977
J=2 34.6 8 28 28 .958 3 23.1423 23.0407 21.48 40 19.9059 19.9059 19.9059 19.9059
Tableau.IV.7 PSNR (dB) pour diffrents fonction du niveau de dcomposition.

C h a p . I V T e s t s & R s u l t a t s P a g e | 105



PSNR (dB) pour diff rents niveaux de LeGaLL 5/3
RC 20 30 40 50 6 0 70 8 0 90 100
J=4 41.1019 40.7454 40.26 3 40.055 39.591 39.1542 38 .7594 38 .6 001 38 .404
J=3 48 .1745 45.3076 42.8 423 41.1709 39.3908 38 .048 4 36 .5127 35.5526 34.78 16
J=2 34.56 19 30.3925 24.08 02 24.0758 21.8 547 20.335 20.335 20.335 20.335
Tableau.IV.8 PSNR (dB) pour diffrents fonction du niveau de dcomposition.



PSNR (dB) pour diff rents niveaux de la CDF9/7
RC 20 30 40 50 6 0 70 8 0 90 100
J=4 27.6 249 27.6 099 27.5906 27.56 08 27.546 6 27.5216 27.4955 27.46 74 27.4429
J=3 47.9307 45.4117 43.36 6 6 41.406 0 40.0950 38 .56 6 7 37.2918 36 .408 6 35.38 07
J=2 33.0145 28 .1296 22.198 8 22.198 8 20.7078 19.9099 19.9099 19.9099 19.9099
Tableau.IV.9 PSNR (dB) pour diffrents fonction du niveau de dcomposition.

Les rsultats obtenus montrent quen augmentant le nombre de niveaux de
dcomposition, on obtient une nette amlioration des rsultats et cela est d la notion
des arbres de zro sur laquelle se basent les mthodes EZW et SPIHT avec leurs deux
versions 2D et 3D. En fait, en augmentant le nombre de dcompositions, cela
permet une meilleure concentration de linformation utile dans un nombre rduit de
coefficients dans les sous-bandes basses frquences. Ainsi, le nombre de coefficients
dans larbre de zro sera plus grand, but de la notion des arbres de zro, qui est de
regrouper le plus de coefficients dans un seul arbre. Ce qui permet un meilleur codage
de la carte de signification.


C h a p . I V T e s t s & R s u l t a t s P a g e | 106

4.3 Influence du contenu de l'image :
Une image satellitaire se compose d'un tableau de pixels contenant les valeurs de
l'intensit de la rflectance. Cette intensit dtermine les coefficients bas frquences
(approximation) et les coefficients hauts frquences (dtails), ce qui affecte la faon dont est
compact l'nergie et donc la compression. La taille de limage AVIRIS est de 512x614x224.
Nous avons utilis pour ce test, quatre squences dimages issues de notre image
Yallowstone. Au fait, nous avons divis notre scne AVIRIS en quatre parties, chaque partie
contient des informations spcifiques de limage et chacune correspond une taille de
256x256x32. Les squences choisies sont illustres dans la figure suivante et le tableau donne
les rsultats montrant l'effet du contenu de chaque squence en utilisant londelette CDF9/7.








Fig. IV.10 Effet du contenu de chaquune des quatre squences en utilisant londelette CDF9/7.

PSNR (dB) pour diffrents squences.
Squence A
RC = 50 : 41.4061 dB
RC = 100 : 35.3807 dB
Squence B
RC = 50 : 36.0969 dB
RC = 100 : 30.8403 dB
Squence C
RC = 50 : 42.2167 dB
RC = 100 : 35.3834 dB
Squence D
RC = 50 : 43.7122 dB
RC = 100 : 36.7033 dB

Tableau.IV.10 PSNR (dB) obtenu pour les quatre squences avec londelette CDF9/7 et J=3.
A
B
D
C
C h a p . I V T e s t s & R s u l t a t s P a g e | 107

Nous constatons bien quavec la mme ondelette et le mme niveau de dcomposition
appliqu pour les quatre squences, nous avons obtenu des rsultats diffrents, notamment
pour la squence B, ou on a obtenu lcart le plus important par rapport aux autres squences.
4.4 Influence de la taille de l'image :
Lalgorithme peut tre mis en uvre pour toute taille d'image, mais quand la taille de
limage augmente le temps ncessaire la compression et la reconstruction de l'image
augmente aussi. Le tableau (IV.11) montre l'effet de la taille de l'image sur le temps de
calcul et sur qualit de compression en utilisant londelette CDF9/7 pour un RC =100.

Influence de la taille de l'image.
128x128x32
J : 3 PSNR : 35.4339 T=5 sec
256x256x32
J : 3 PSNR : 35.3807 T=1 min

128x128x64
J : 3 PSNR : 32.5385 T=10 sec
J : 4 PSNR : 36.9398 T=30 sec
256x256x64
J : 3 PSNR : 32.8579 T=3 min
J : 4 PSNR : 36.0967 T=10 min
128x128x128
J : 3 PSNR : 34.9114 T=20 sec
J : 4 PSNR : 39.5542 T= 2min,30sec
J : 5 PSNR : 39.3759 T= 2min,40sec
256x256x128
J : 3 PSNR : 33.1755 T=3 min
J : 4 PSNR : 39.3307 T=30 min
J : 5 PSNR : 39.6357 T=40 min
Tableau.IV.11 PSNR (dB) obtenu pour des squences de diffrentes tailles ; RC=100.

Nous pouvons constater effectivement que plus la taille de la squence augmente que
ce soit celle de la scne spatiale (x,y) ou/et celle de la scne spectrale (z) le temps
dexcution de lalgorithme augmente. Deuximement nous constatons que, quand la
taille de la scne augmente, nous obtenons de meilleurs rsultats, en particulier quand la
scne spectrale augmente, les rsultats sont trs bons du fait de la forte corrlation spectrale,
ainsi les arbres de zros regroupent plus de coefficients dans un seul arbre, ce qui permet un
meilleur codage.
Scne spatiale
Scne
spectrale
C h a p . I V T e s t s & R s u l t a t s P a g e | 108

Lamlioration des rsultats obtenus en augmentant la taille de la scne spectrale est
illustre dans la figure suivante :

Fig. IV.11 (A) : Scne 256x256x32 PSNR=35.38 ; (B) : Scne 256x256x64 PSNR=36.09;
(C) : Scne 256x256x128 PSNR=39.33 ; compression par CDF9/7 et pour un RC =100.

Nous pouvons dduire daprs ces rsultats, quil est plus intressant de concevoir
notre algorithme de faon traiter les images compresser par petit bloc, en rduisant la
taille de la scne spatiale et en privilgiant celle de la scne spectrale. Ceci permettra de
tirer profit pleinement de la forte corrlation spectrale sans sacrifier le cout calculatoire
de lexcution de lalgorithme (en rduisant la taille de la scne spatiale, nous rduisons
le temps dexcution sans sacrifier la qualit, car sur la scne spatiale, la corrlation est
faible distance).

4.5 Performance SPIHT 2D vs. SPIHT 3D :
Pour raliser cette comparaison, nous avons compress chacun des 32 canaux de
notre squence dimage sparment et calculer pour chaque canal le PSNR. La figure
(IV.12) montre ces rsultats pour londelette CDF9/7 et pour un dbit binaire allant de 0.1
1 bpp. Pour faire la comparaison, nous avons calcul le PSNR3D pour cette squence, c--d
une fois que tous les canaux ont t compresss sparment par la TOD 2D et SPIHT 2D,
nous les avons regroups pour former le cube 3D compress et nous avons calcul son
PSNR3D. Ensuite, nous avons compar les rsultats ceux (PSNR3D) trouvs avec la
C h a p . I V T e s t s & R s u l t a t s P a g e | 109

compression utilisant la TOD 3D et SPIHT 3D. La figure (IV.13) montre le PSNR3D pour les
deux cas de compression, celle impliquant une TOD 2D, et celle impliquant une TOD 3D.

Fig. IV.12 PSNR pour chacunun des 32 canaux de la squence compress.

Fig. IV.13 PSNR3D rsultants de la compression par SPIHT 2D et par SPIHT 3D.

C h a p . I V T e s t s & R s u l t a t s P a g e | 110

En comparant les courbes de distorsion du SPIHT 2D et du SPIHT 3D, nous pouvons
constater que la version 3D, garantie plus de 10 dB d'amlioration tous les rapports de
compression. Cela implique que les images hyperspectrales sont trs corrles et en utilisant
une TOD 3D, on peut exploiter pleinement ces corrlations inter-bandes et ainsi atteindre de
bien meilleures performances que les versions 2D qui codent les images sparment.

5. Discussion :
L'analyse par ondelettes est un outil trs puissant pour la compression d'image
hyperspectrale. Les rsultats se sont avrs utiles pour comprendre les effets des ondelettes,
du niveau de dcomposition, de l'ordre du filtre ondelettes et des images elles-mmes qui ont
un effet drastique sur la compression, Les bonnes performances obtenues par notre algorithme
ne sont pas seulement cause de la supriorit de la transforme en ondelettes, mais aussi
pour les caractristiques du codeur SPIHT. Sa structure en arbres de zros, permet
d'importants gains de codage des cartes de signification.
Les performances de notre algorithme ont t testes en utilisant une squence de 32
images hyperspectrales et le PSNR a t utilis comme mesure de qualit. Les rsultats ont
montrs que lextension la troisime dimension et que la compression de cette dimension
spectrale amliore la qualit de compression. Le codeur SPIHT 3D tire profit de la forte
corrlation spectrale et offre un gain de codage bien suprieur celui offert par le SPIHT 2D,
les rsultats ont montr un gain allant jusqu 10 dB pour tous les rapports de compression
(sur notre squence de 32 canaux).
















Conclusion


















C o n c l u s i o n P a g e | 112


Le schma de compression dimages hyperspectrales que nous avons labor et mis en
uvre, est base sur une transforme en ondelettes, associe une quantification par arbres
de zros. Loriginalit de notre technique, rside dans lextension de ces algorithmes la
troisime dimension afin dexploiter la nature 3D de ces images hyperspectrale et damliorer
la qualit des images reconstruites aprs dcompression.
Dans un premier temps, nous avons fait ltude thorique et prsent lintrt de la
transforme en ondelettes 3D (TOD 3D), qui peut compacter lnergie sur un petit nombre de
coefficients. En effet, elle permet dexploiter de manire efficace la fois les corrlations
existantes au sein dun canal (scne spatiale), mais galement entre les canaux (scne
spectrale), notamment entre les canaux (scne spectrale) caractrise par une forte corrlation
(do lintrt de faire lextension cette troisime dimension). Les images transformes
peuvent prsenter des proprits dautosimilarits diffrents niveaux dchelles, qui sont
prserves par la transforme en ondelettes. Cest ce quon appelle le zoom multichelle. Il
existe donc des dpendances entre les reprsentations de limage diffrentes chelles.
Cette proprit est la base des mthodes de codage de type arbres de zros, comme
lalgorithme EZW et SPIHT.
Ensuite nous avons propos un schma de codage inter-bandes pour caractriser les
dpendances des coefficients dondelettes localiss dans les sous-bandes ayant la mme
orientation. Ce schma de codage est bas sur lhypothse des arbres de zros. Nous avons
choisi dimplmenter lapproche inter-bandes : SPIHT avec ses deux variantes, celles
impliquant une TOD 2D (SPIHT 2D) et celles impliquant une TOD 3D (SPIHT 3D). Ces
approches utilisent les arbres de zros pour le codage des coefficients dondelettes et
exploitent les redondances inter-chelles dans les diffrentes dimensions. De plus cette
approche de type intra-bandes, nous permet une quantification progressive des coefficients en
commenant par les coefficients les plus significatifs (importants) vers les moins significatifs.
Ceci permet lalgorithme SPIHT de faire de la transmission progressive d'images.
Nos rsultats exprimentaux montrent que notre technique permet davoir un bon
compromis entre la qualit des images reconstruites et le taux de compression. En effet, nous
avons obtenu un PSNR qui varie entre 35-55 dB, pour des rapports de compression allant
de 10 100 en fonction de londelette utilise. Notre Algorithme bas sur la transforme
en ondelettes TOD 3D et le codeur SPIHT 3D, tire profit de la forte corrlation spectrale et
C o n c l u s i o n P a g e | 113

permet datteindre un gain de codage bien suprieur celui offert par le codeur SPIHT 2D.
En effet, nous avons pu obtenir un gain suprieur de plus de 10 dB par rapport au standard
deux dimensions (SPIHT 2D) pour tous les rapports de compression sur notre squence de
32 canaux. Notons quen augmentant le nombre de canaux de la squence ces rsultats
seraient encore meilleur).

Lensemble de ces rsultats, permettent de faire les observations suivantes :
Lutilisation dune transforme en ondelettes 3D en prsence dune pile dimages
augmente sensiblement les performances de compression. Les mthodes 3D sont
toujours meilleures que les mthodes 2D.
Lapproche inter-bande 3D pour le codage avec pertes, prsente de meilleurs rsultats
que pour le codage sans pertes. Lutilisation des mthodes 3D ne permet pas
datteindre de trs forts taux de compression lorsquil sagit de compression sans
pertes. La compression avec pertes matrise est donc une rponse cette limitation.

A travers nos rsultats et ceux publis dans la littrature, nous pouvons avancer quune
technique performante de compression pour images hyperspectrales, passe par une
transforme en Ondelettes 3D suivie dun codeur appropri. Pour permettre, en effet
dexploiter de manire efficace la fois les corrlations existantes au sein dun canal, mais
galement entre les canaux. Nous insistons cependant sur le fait que la thorie de
linformation imposant des limites la compression sans pertes, celle-ci noffre des taux que
trs modestes (par rapport aux enjeux), et ce malgr des codeurs de plus en plus sophistiqus.
La compression avec pertes condition bien entendu que celle-ci soit matrise et compatible
avec les applications hyperspectrales, apparat comme la rponse la plus approprie au
problme darchivage et de transmission des donnes hyperspectrales, dont les volumes
augmentent de faon exponentielle.
Nos rsultats prometteurs pour la compression dimages hyperspectrales, nous
encouragent poursuivre les recherches dans ce domaine. Nous pouvons tester notre
algorithme pour valuer lincidence de la compression avec pertes sur diffrents traitements
classiques sur limagerie hyperspectrale (Segmentation, Classification,.). Par ailleurs, nous
souhaitons amliorer notre algorithme en lui insrant des fonctionnalits nouvelles ; Pour ce
faire nous proposons quelques perspectives pour dautres tudes ultrieures dans le
C o n c l u s i o n P a g e | 114

domaine de la compression dimages hyperspectrales. Ces perspectives peuvent sarticuler
sur deux thmes majeurs qui sont :

Amlioration de lalgorithme de compression dimages hyperspectrales :

Dfinition dune transforme en ondelette optimale pour un bon compromis
performances/complexit. Des tudes ont montr lintrt dune dcomposition par
ondelettes anisotropique par rapport une dcomposition classique isotropique. Le
gain est de lordre de 8 dB en termes de PSNR par rapport une dcomposition
isotropique classique. On propose dexplorer et de rechercher une dcomposition
quasi-optimale par ondelettes anisotropique fixe, quelle que soit limage et le
dbit vis.

Utiliser un schma appel lifting pour calculer la TO discrte. Celui-ci permet de
rduire le cot calculatoire par rapport limplantation par convolution, car il utilise
les redondances mathmatiques entre le filtre passe-bas et le filtre passe-haut. Son
second avantage est sa capacit produire des coefficients dondelettes entiers. Cette
fonctionnalit est fondamentale pour pouvoir envisager des mthodes de compression
sans perte ou allant dun schma avec pertes vers du sans perte.

Utilisation dautres codeurs inter-bandes ou intra-bandes afin de trouver le codeur le
plus appropri, qui permet en effet dexploiter de manire efficace la fois les
corrlations existantes au sein dun canal, mais galement entre les canaux.

Dfinition de critres dvaluation de qualit de compression dimages hyperspectrales :

Le PSNR, ainsi que le MSE ou SNR, ne permettent pas de rendre compte de la
nature de la dgradation et donc ne permet pas de prvoir limpact sur les applications
des images hyperspectrales. Nous proposons donc de dfinir et de chercher des critres
de qualit complmentaires, qui permettent de qualifier le type de dgradation
applique limage et de donner un ordre dide des performances de lapplication sur
les images aprs compression [2].



















Annexe A :
AVIRIS



A n n e x e A : A V I R I S P a g e | 116

Le capteur AVIRIS :
AVIRIS (Airborne Visible / Infrared Imaging Spectrometer) est lun des tout premier
imageur spectromtre, il a t mis au point en 1987 par la NASA. Ce capteur est capable
dacqurir des images spectrales sur 224 bandes avec 512 pixels sur chaque ligne, en utilisant
un systme dimagerie numrique balayage whisk broom. La gamme spectrale couverte par
les 224 canaux varie entre 0.4 et 2.45 m. Cette largeur de gamme est large, elle couvre le
visible, le proche infrarouge et le moyen infrarouge. Le capteur AVIRIS est aroport soit en
haute altitude soit en basse altitude et sa rsolution spatiale dpend de laltitude de lavion
(entre 4m-20m). Le tableau suivant rsume les caractristiques du capteur :

Caractristiques dAVIRIS :
Nom
Plateforme
Constructeur
Airborne Visible / Infrared Imaging Spectrometer
Aroport
NASA/JPL
Nombre de bandes
Rsolution spectrale
Game spectrale
224
10 nm
0.4 et 2.45 m
Echantillonnage spatial 20 m 20 m ( 20 km)
4 m 4 m ( 4 km)
rsolution radiomtrique 12 bits
16 bits aprs corrections radiomtriques
Fig. A1 Caractristiques du capteur AVIRIS.

Les images AVIRIS :

Le "cube image" montre les donnes obtenues par l'instrument AVIRIS mont sur un
avion U-2 de la NASA une altitude variant entre 4.000 mtres 20.000 mtres au-dessus de
la scne photographier (voir Fig.A2.a). Ce "cube image" est produit en combinant plusieurs
canaux 2D. Le sommet du cube est une image en fausses couleurs ; Dans une image
satellitaire fausse couleur, le canal Vert est habituellement reprsent en nuance de bleu,
le Rouge en nuance de vert et lInfrarouge en rouge. Ainsi, sur limage satellitaire, la mer
apparait en bleu, les nuages en blanc. Le sol, les routes et les zones urbaines apparaissent
plutt en gris, plus ou moins clair selon leur composition. Les cts du cube sont les bords des
A n n e x e A : A V I R I S P a g e | 117

224 canaux spectraux dAVIRIS. Les hautes coupes sont dans la partie visible du spectre
(longueur d'onde de 400 nanomtres), et les basses coupes sont dans l'infrarouge (2.500
nanomtres). Les cts sont des pseudo-couleurs, allant du noir au bleu (faible rponse) et
rouge (rponse leve).


Fig. A2 : (a) Le cube image des donnes AVIRIS ; (b) Bandes spectrales contigus et continues.

La signature spectrale comporte des informations uniques concernant les proprits
physiques, chimiques des matriaux et objets analyss. La rsolution spectrale est le
paramtre le plus important des images hyperspectrales. Limagerie hyperspectrale permet
dobtenir des chantillons dtaills des spectres. Pour ce paramtre, lessentiel tient la
continuit des canaux avec une largeur assez troite (voir Fig.A2.b).
La possibilit des donnes hyperspectrales surmonter les contraintes et les limites des
images faible rsolution spectrale et spatiale font delle un outil trs puissant pour la
tldtection. Les images hyperspectrales fournissent des donnes haute rsolution
spectrale, avec des bandes spectrales contigus permettant ainsi des applications fines
comme : 1. Dtection de cibles,
2. Identification des matires,
3. La cartographie des matriaux,
Les capteurs hyperspectraux ont suffisamment de rsolution spectrale pour identifier,
mme de petites quantits de matriaux grce leurs signatures spectrales. Dans ces cas, les
informations complmentaires fournies par l'imagerie hyperspectrale fournissent souvent des
rsultats pas possibles avec d'autre systme dimagerie.

A n n e x e A : A V I R I S P a g e | 118

Limage AVIRIS Yellowstone :

Pour notre tude, nous avons utilis des squences hyperspectrales de la base de donnes
AVIRIS. En effet, nous avons utilis les donnes de la scne Yellowstone, acquise en 2006.
Cette image AVIRIS calibre peut tre tlcharge partir de : http://aviris.jpl.nasa.gov/html.
Les canaux 2D des images hyperspectrales que nous avons utiliss pour la compression
sont de taille 256 256 1 chacun et nous avons utilis une squence de 32 images. Nous
rappelons que la taille des images AVRIS est de 512 x 614 x 224 code sur 16 bit ce qui
correspond 134.32 Mb. La taille de l'ensemble de notre squence est de 256 x 256 x 32 ce
qui correspond 4 Mb. La squence choisie est illustre dans la figure suivante :












Fig. A3 : (A) Canal 10 de limage
AVRIS Yellowstone ; (B) le canal
10 de la squence utilise pour
tester de notre algorithme.


















Annexe B :
ARBRE DE ZEROS



A n n e x e B : A R B R E S D E Z E R O S P a g e | 120

ARBRES DE ZEROS :

Les arbres de zros pour les coefficients dondelettes ont t dvelopps pour exploiter
compltement la notion de multi-rsolution associe aux ondelettes. Aprs la transforme en
ondelettes, on observe que la localisation des coefficients significatifs est similaire entre les
diffrentes sous-bandes. La proprit lorigine des arbres de zros est que si un
coefficient nest pas significatif dans une sous-bande alors le coefficient la mme
position dans une sous-bande de plus haute frquence sera lui aussi probablement non
significatif. Cest cette ide qui a t exploite avec succs par J.Shapiro avec EZW
(Embedded Zerotree of Wavelet coefficients) et une amlioration remarquable a t apporte
quelques annes plus tard par A.Said et W.A.Pearlman avec SPIHT (Set Partitioning In
Hierarchical Trees).

La dfinition dun arbre de zros varie en fonction des algorithmes. Y. Cho a dvelopp
lide des arbres de zros de degr k. Un arbre de degr 0, est un arbre dont tous les
coefficients sont gaux zro. Un arbre de degr 1, est un arbre dont tous les coefficients sauf
la racine sont gaux zeros et un arbre de degr 2, est un arbre dont tous les coefficients sauf
la racine et ses enfants directs sont gaux zro. EZW utilise des arbres de degr 0, tandis que
SPIHT utilise des arbres de degr 1 et 2. (Voir figures suivantes).

Fig. B1 Arbres de zros de degr 0.

A n n e x e B : A R B R E S D E Z E R O S P a g e | 121


Fig. B2 Arbres de zros de degr 1.

Fig. B3 Arbres de zros de degr 2.

Mthodes bases sur les arbres de zros : prsentent les avantages suivants :
Corrlations inter-bandes bien exploites.
Reprsentation progressive de limage.
Codage avec perte vers codage sans perte.
Faible complexit.
Trs bonnes performances de compression.
















Bibliographie




B i b l i o g r a p h i e P a g e | 123


[1]. Said Homayouni (2005). Caractrisation des Scnes Urbaines par Analyse des
Images Hyperspectrales. Thse de Doctorat, INFORMATIQUE,
TELECOMMUNICATIONS ET ELECTRONIQUE, 175p.
[2]. Christophe Emmanuel (2006). Compression des Images Hyperspectrales et son
Impact sur la Qualit des Donnes. Thse de Doctorat, Spcialit: Signal et image,
universit de Toulouse, France. 210p.
[3]. David Salomon (2004). Data Compression. The Complete Reference. Springer,
920p.
[4]. Taubman, D. and Marcellin, MW. (2002). JPEG2000 image compression:
fundamentals, standards and practice. Dordrecht: Kluwer Academic Publishers.
[5]. Giovanni Motta, Francesco Rizzo, James A. Storer (2005). Hyperspectral Data
Compression. Springer, 420p.
[6]. S.G.Mallat. (1989). A Theory for Multiresolution Signal Decomposition : the
Wavelet Representation", IEEE PAMI, Vol.11(7), pp.674693.
[7]. Stephane.G Mallat. A Wavelet Tour of Signal Processing - The Sparse Way.
Academic Press, 810p.
[8]. Shapiro, J. (1993). Embedded image coding using Zerotree of Wavelet coefficients,
IEEE transactions on signal processing, vol. 41, no. 12, p. 3445-3462.
[9]. A. Said and W. A. Pearlman (1996). A new and efficient image codec based on set
partitioning in hierarchical trees, IEEE Transactions on Circuits and Systems for
Video Tech., vol. 6, pp. 243250.
[10]. Pearlman, W. A et B.J. Kim (1997). An Embedded Wavelet Video Coder Using
Three Dimensional Set Partitioning in Hierarchical Trees (SPIHT). In IEEE Data
Compression Conference DCC'97, p 221-260.
[11]. David F. Walnut (2001). An Introduction to Wavelet Analysis. Springer, 450p.
[12]. Frdric Truchetet (1998) Ondelettes pour le signal numrique. Editions Hermes.
[13]. Gaudeau, Y. (2006). Contributions en compression dimages mdicales 3D et
dimages naturelles 2D. Thse de doctorat de lUniversit Henri Poincar, Nancy 1,
Spcialit Automatique, Traitement du Signal et Gnie Informatique, France.160p.
[14]. Demaeyer Jonathan, Bebronne Michael et Forthomme Sebastien. Les Ondelettes.
Universit libre de Bruxelles.
B i b l i o g r a p h i e P a g e | 124


[15]. C.Sidney Burrus, Ramesh A. Gopinath, Haitao Guo Introduction to Wavelets and
Wavelet Transforms. Prentice hall, 270p.
[16]. Ingrid Daubechies (1992). Ten Lectures on Wavelets. Society for Industrial and
Applied Mathematics. 340p.
[17]. Vivien Chappelier (2005). Codage progressif dimages par ondelettes orientes.
Thse de Doctorat. Universit de Rennes 1.
[18]. Chui, C. 1992, Wavelets: a tutorial in theory and applications, Academic press inc.
[19]. Cohen, A. 1992, Ondelettes et traitement numrique du signal. Masson, Paris, 207p.
[20]. Cohen, A. Daubechies, I., Feauveau, J. C. (1992). Biorthogonal Bases of Compactly
Supported Wavelets, Comm. On Pure and Applied Mathematics, vol.XLV, p. 485-560.
[21]. C. Valens, (1999). Embedded Zerotree Wavelet Encoding. (rapport) 12p.
[22]. Asad Islam and William A. Pearlman (1998). An embedded and ecient low-
complexity hierarchical image coder, in Visual Communications and Image
Processing '99, San Jose, CA, USA, pp. 294-305.
[23]. Christophe Emmanuel, Corinne Mailhes and Pierre Duhamel, (2008). Hyperspectral
Image Compression: Adapting SPIHT and EZW to Anisotropic 3D Wavelet
Coding, IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 17, NO. 12.
[24]. Hans F. Grahn and Paul Geladi (2007). Techniques and Applications of
Hyperspectral Image Analysis. Wiley, 400p.
[25]. Xiaoli Tang, William A. Pearlman and James W. Modestino (2004). Hyperspectral
Image Compression Using Three-Dimensional Wavelet Coding, Rensselaer
Polytechnic Institute Troy, NY.
[26]. Xiaoli Tang, William A. Pearlman and James W. Modestino. (2004). Hyperspectral
Image Compression Using Three-Dimensional Wavelet Coding: A Lossy-to-
Lossless Solution, Rensselaer Polytechnic Institute Troy, NY, 22p.
[27]. Cziho, A. (1999). Quantification vectorielle et compression d'image, application
l'imagerie mdicale. Thse de doctorat, cole doctorale en informatique, traitement du
signal et tlcommunications, universit de Rennes 1, France, 160 p.
[28]. Lahdir, M. (2008). Nouvelle approche de compression dimages base sur les
ondelettes et les fractales : Application aux images Mtosat, Thse de doctotat de
lUniversit de Mouloud Mammeri de Tizi-Ouzou, Spcialit Electronique, Option
Tldtection, 128 p.
B i b l i o g r a p h i e P a g e | 125


[29]. Lahdir, M., Ameur, S. et Akrour, L (2005). Compression dimages numriques par
fractal dans le domaine DCT. Internationale Confrence: Sciences of Electronic,
Technologies of Information and Telecommunication SETIT2005, 27-31 Mars 2005,
Sousse, Tunisie.
[30]. Lahdir, M., Ameur, S. et Akrour, L. (2006). Compression dimages par un codage
fractal non itratif Implment dans le domaine DCT. 4me Confrence
Internationale JTEA 2006, 12-14 Mai 2006, Tunisie.
[31]. Savaton, G. (1999). Compression rversible et irrversible dimages mdicales
base dondelettes entires. Mmoire DEA. Universit dAngers.
[32]. Ziv, J. and Lempel, A. (1977). A universal algorithm for sequential data
compression, IEEE transactions on information theory, vol. 23, no. 3, p 337-343.
[33]. Rabbani, M. and Santa Cruz, D. (2001). JPEG2000 image coding standard. In Proc.
IEEE International Conference on Image Processing. ICIP '01, Thessaloniki, Greece.
[34]. Delaunay, X. (2008). Compression d'images satellite par post-transformes dans le
domaine ondelettes. Thse de doctorat, de luniversit de Toulouse, Discipline : Signal,
Image, Acoustique et Optimisation, France.