Documente Academic
Documente Profesional
Documente Cultură
PROGRAMME 4
Robotique,
image
et vision
ISSN 0249-6399
apport
de recherche
Resume : Notre objectif est de construire un quanticateur a structure arborescente descendante
elaguee pour le codage d'images xes.
La quantication vectorielle est realisee sur une image representee non pas dans le domaine des luminances mais dans celui des frequences (Une transformee DCT ou MLT est donc appliquee a l'image
originale au prealable). Le changement d'espace de representation a pour but de supprimer certaines
redondances d'information presentes dans le domaine des luminances et de concentrer l'information
sur quelques coecients. Dans une premiere partie, nous presentons un quanticateur vectoriel (QV)
a recherche exhaustive (c.a.d aucune contrainte de nature geometrique ou topologique n'est appliquee sur le dictionnaire des vecteurs representants). L'algorithme de construction des dictionnaires
utilise est l'algorithme classique LBG (extension de l'algorithme de Lloyd-Max au cas vectoriel). Ce
quanticateur a notamment pour but de comparer la quantication par blocs de pixels appartenant a
une m^eme bande frequentielle (intra-bande) a la quantication ou les blocs consideres correspondent
spatialement aux blocs de l'image d'origine (inter-bande). Un des autres objectifs de ce quanticateur
est de comparer l'ecacite des transformations MLT et DCT dans le cadre de la quantication vectorielle. Une etude porte egalement sur l'utilite de l'introduction d'une ponderation psychovisuelle pour
la reconstruction.
La complexite des QV a recherche exhaustive est co^uteuse en termes operatoires (calculs de distorsion), ceci conduit a concevoir des quanticateurs a recherche arborescente. Un quanticateur de ce
type a donc ete realise et ses performances, bien que legerement inferieures a celles du QV a recherche
exhaustive (distorsion superieure pour un m^eme debit), demeurent acceptables vis a vis du gain de
complexite (temps de calcul) realise. Enn nous presentons la realisation d'une structure arborescente
elaguee permettant de construire des arbres non equilibres an de diminuer la distorsion pour un
m^eme debit.
(Abstract: pto)
Cette etude a ete menee dans le cadre d'une cooperation entre les laboratoires I3S (Sophia-Antipolis), L2S (ESE/Gif
sur Yvette) et l'IRISA. Cette action, nancee par le CNET/GDR TdSI "Traitement du Signal et de l'Image", vise a
comparer dierentes methodes de compression d'images utilisant la quantication vectorielle.
Ce rapport presente particulierement le travail de stage de n d'etudes de Patrick Fiche realise en 1993 dans le
cadre de la formation INSA (Institut National des Sciences Appliquees) de Rennes.
IRISA
IRISA
e-mail ricordel@irisa.fr
e-mail labit@irisa.fr
Abstract: The purpose of this study is to design a pruned tree-structured vector quantizer for still
images compression.
In order to exploit the intra-image redundancies and to obtain a frequency-based representation of the
image information, a Discrete Cosine Transform (DCT) or a Modulated Lapped Transform (MLT) is
rst performed ; then a VQ-based scheme is used to code the coecients.
In a rst step, two vector design strategies are comparatively explored : vectors are composed by
coecients intraband or interband. The generalized Lloyd algorithm coupled with the \splitting"
technique are applied to obtain the codebooks of a full search vector quantizer.
Experimental results show best performances for MLT transform in intraband case. Furthermore, we
have tested a reconstruction scheme coding including psychovisual weighting.
The operating complexity presents a limitation on the applicability of an exhaustive codebook search.
Hence, tree-structured VQ schemes are implemented; suboptimal results are obtained but the degradation is quite reasonable compared to the complexity of an ordinary full search VQ. Finally a pruned
tree structure is tested ; it provides better performances for a given low bitrate.
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes
4
4
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
: 7
: 8
: 8
: 9
: 13
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
3 Elaboration du dictionnaire
4 QV a recherche arborescente
6 Experimentations et resultats
7 Conclusion
RR n2241
:
:
:
:
:
4
4
5
5
5
5
13
14
15
15
17
21
21
21
22
23
23
24
25
25
27
28
29
30
30
33
34
1 Introduction
La quantication vectorielle, methode de compression de donnees, a pris une place tres importante
dans le domaine de la communication, que ce soit dans un but de transmission ou d'archivage d'informations.
Cette methode s'applique essentiellement dans les deux domaines que sont l'image et la parole, ces
deux formes de signaux contenant des informations redondantes.
La quantication vectorielle est un processus d'approximation d'un signal d'amplitude continue par
un signal d'amplitude discrete. Le but de la compression etant d'extraire une information maximale
tout en ne creant qu'un minimum de distorsion par rapport au signal original, notre objectif sera de
creer une distorsion minimale pour un taux de compression donne ou autrement dit, de maximiser le
taux de compression pour une qualite desiree.
Notre etude porte uniquement sur la compression d'images xes (c-a-d sans tenir compte des redondances temporelles apparaissant dans une sequence).
Un des resultats fondamentaux des travaux de Shannon concernant la relation debit/distorsion montre
que l'on obtient de meilleures performances en codant des vecteurs plut^ot que des scalaires m^eme
dans le cas ou la source vectorielle a k composantes statistiquement independantes [1] [2]. Aussi, nous
n'avons traite que le cas de la quantication vectorielle tout en nous ramenant dans certains cas a de
la quantication scalaire.
2 Presentation generale
La Quantication Vectorielle (QV) dans son sens le plus general est l'approximation d'un signal d'amplitude continue par un signal d'amplitude discrete.
Dans le cadre de notre application, elle consiste a representer tout vecteur x de dimension k par un
vecteur y de m^eme dimension appartenant a un ensemble ni appele dictionnaire.
D'un point de vue mathematique, nous pouvons denir notre quanticateur vectoriel de cette maniere:
Soit I l'ensemble des indices correspondant au dictionnaire Y et yi;i2I l'ensemble des vecteurs de Y .
I = f1; . . .; N g
Le processus de codage est deni par :
C : IR ! I
x ! C(x)
Le processus de decodage etant quant a lui deni par :
D : I ! Y
i ! yi
Cette operation, en comprimant les donnees perd de l'information et le signal original ne pourra plus
^etre restitue. La quantication vectorielle est donc une operation irreversible.
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes
2.2.1 Le codeur
Le r^ole du codeur consiste, pour tout vecteur x du signal en entree (bloc de l'image), a rechercher
dans le dictionnaire Y le code-vecteur y le plus "proche" du vecteur source x. La notion de proximite
a ete modelisee dans notre mise en oeuvre par la distance euclidienne entre vecteurs.
C'est uniquement l'adresse du code-vecteur y ainsi selectionne qui sera transmise, c'est donc a ce
niveau que s'eectue la compression.
Dans le cadre de notre etude, le dictionnaire est tout simplement represente par un tableau et l'adresse
du code-vecteur correspond a son indice dans le tableau.
2.2.2 Le decodeur
Le decodeur dispose d'une replique du dictionnaire et consulte celui-ci pour fournir le code-vecteur
d'indice correspondant a l'adresse recue. Le decodeur realise donc l'operation de decompression.
Codage
C(.)
C(x)
Canal
C(x)
Dictionnaire
Y
Decodage
D(.)
D[C(x)] = Q(x)
Dictionnaire
Y
A travers ce schema d'un QV, il est aise de se rendre compte de l'importance primordiale du dictionnaire utilise lors des operations de codage et de decodage.
Ces deux parametres apparaissent etroitement lies et c'est en essayant d'ajuster au mieux la valeur
de ces parametres qu'il sera possible de construire un bon dictionnaire.
Avant de chercher quelle para^t ^etre la meilleure composition de ces parametres, il appara^t primordial
de se xer un ordre de grandeur quant a leur taille.
La taille des vecteurs du dictionnaire a ete xee entre 1 et 16. En eet, en xant une taille
superieure a 16, les eets de blocs deviennent trop importants et le dictionnaire est completement
conditionne par l'image a partir de laquelle il a ete construit. Dans un cas extr^eme, on pourrait
en arriver a prendre un vecteur de la taille de la sequence d'apprentissage avec donc un seul
representant, situation qui appara^t bien s^ur non-envisageable.
Le nombre de representants du dictionnaire est quant a lui limite par deux contraintes bien
distinctes :
{ Comme nous le verrons par la suite, le debit d'un QV est egal a logk2 N bits/pixel ou N est
le nombre de representants du dictionnaire et k la taille des vecteurs.
Pour que le quanticateur ait un inter^et quelconque, il faut bien s^ur que le debit soit
inferieur au debit du signal original (en pratique, on se xera un debit maximum bien
inferieur au debit original).
Aussi, si on fait de la quantication scalaire (k = 1), en appliquant la formule precedente
et en prenant comme debit initial 8 bits/pixel, le nombre maximum de representants est
256 ; par contre si on a utilise des blocs de taille 16, le nombre maximum de representants
est 2168 = 2128.
On voit deja appara^tre la nature du deuxieme probleme qui est l'espace occupe par le
dictionnaire.
{ On essaiera donc, selon les applications, de limiter la taille des dictionnaires, il appara^t
de plus inconcevable que les dictionnaires contiennent plus de blocs que l'image originale.
Ainsi, pour une image 512 512, le nombre de representants du dictionnaire doit ^etre majore
par 16384 dans le cas de blocs de taille 16.
Il appara^t que pour les parties de l'image exigeant une restitution du signal de haute qualite ou
contenant une energie importante (c-a-d necessitant un debit important), on sera oblige d'utiliser de
la quantication scalaire ou du moins des blocs de petite taille an de ne pas construire un dictionnaire de taille gigantesque. Par contre, pour les parties de l'image n'exigeant pas une grande qualite de
restitution ou recelant une faible energie, il sera possible d'utiliser des blocs de plus grande taille sans
conna^tre une explosion du nombre de representants et en utilisant le fait que pour un debit donne,
la quantication vectorielle est superieure a la quantication scalaire.
Cette remarque nous montre immediatement l'inter^et d'un systeme a debit variable et par la m^eme
occasion, l'inter^et de regrouper les informations importantes ou recelant un haut niveau d'energie.
Ceci justiera la notion de changement d'espace de representation introduite ulterieurement.
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes
3 Elaboration du dictionnaire
L'elaboration du dictionnaire se fait a partir d'une sequence d'apprentissage. Les vecteurs constituant
cette sequence correspondent a des blocs de l'image ou a un ensemble de coecients si l'on se situe
dans un espace transforme comme nous le verrons par la suite.
Cet algorithme propose par Linde, Buzo et Gray [3] correspond a une extension de l'algorithme de
Lloyd-Max [4] utilise pour l'elaboration de dictionnaires dans le cas de la quantication scalaire. Son
r^ole est pour un dictionnaire initial donne d'essayer d'optimiser le codeur et le decodeur.
etape 0 : initialisation
Fixer
{ un dictionnaire initial Y (0) de taille N
{ un seuil > 0
{ un nombre maximum d'iterations p
{ une source de vecteurs x de distribution connue
Initialiser
{ D( 1) = 1
{ m=0
etape 1 :
Pour le dictionnaire courant Y (m) = fyi(m) gfi=1;...;N g , trouver la partition optimale R(m) =
fRi(m) gfi=1;...;N g qui minimise la distorsion moyenne soit :
x 2 Ri(m) si d(x; yi(m) ) < d(x; yj(m) ); 8j 6= i
RR n2241
N
X
i=1
etape 2 :
Si ( D(m D1)(m)D(m) ou m = p)
{ stopper : le QV nal est decrit par R(m) et Y (m) .
Sinon
{ continuer
etape 3 :
Pour la partition R(m) , calculer le dictionnaire optimal Y (m+1) = yi(m+1) fi=1;...;N g , avec yi(m+1) =
cent(Ri(m) ).
Incrementer m.
Retourner a l'etape 1.
L'abreviation cent utilisee dans l'algorithme correspond au centrode. Le centrode yi d'une region
Ri est dans le cas de la distance euclidienne deni par :
yi = cent(Ri) = E[xjx 2 Ri ].
Cet algorithme d'optimisation iteratif travaille a partir d'un dictionnaire initial. Le probleme est donc
reporte sur le choix de ce dictionnaire initial dont l'experience a prouve qu'il contribuait fortement aux
performances de l'algorithme LBG. En eet, chaque iteration ne provoquant qu'un changement local
du dictionnaire, l'algorithme converge vers le minimum local le plus proche du dictionnaire initial.
Le nombre d'iterations maximum a ete introduit lors de la mise en oeuvre du QV an de reduire le
temps de conception des dictionnaires, cependant, le nombre maximum d'iterations ayant ete xe a
20, celui-ci n'intervient que dans de rares cas et n'entra^ne pas de hausse signiante de la distorsion.
Le probleme est donc reporte sur la construction du dictionnaire initial.
Le dictionnaire le plus simple est celui qui contient les N premiers vecteurs de la suite d'apprentissage
ou N vecteurs extraits aleatoirement de cette suite. Ces vecteurs peuvent bien s^ur ne pas ^etre du tout
representatifs de la suite d'apprentissage et on aboutit a des resultats tres mediocres.
Au lieu de prendre N vecteurs aleatoirement, on xe une distance minimale entre les elements du
dictionnaire initial. Cette methode permet d'obtenir une meilleure representativite que dans le cas
precedent mais n'est toujours pas satisfaisante, le seuil etant souvent dicile a determiner puisque
dependant de la complexite de la sequence d'apprentissage.
Cette methode necessite de quantier scalairement les k composantes des vecteurs de la sequence
d'apprentissage sur Pk niveaux (avec P1:P2 . . .PK = N) et d'eectuer un produit cartesien entre les
dictionnaires de base pour obtenir les N representants initiaux. Le traitement des composantes de
maniere independante ne permet pas d'obtenir a coup s^ur un dictionnaire optimal. On peut m^eme,
si l'on n'y prend pas garde, obtenir des representants initiaux ne representant aucun vecteur de la
sequence d'apprentissage.
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes
etape 0 : initialisation
Initialiser le dictionnaire Y en prenant Y [0] = y0 ou y0 est le centrode de la sequence d'apprentissage prise dans son ensemble.
etape 1 :
Perturber le dictionnaire courant Y = fyi gfi=0;...;2r
1g
selon :
+ 1] = Y [i] "u
8i = 0; . . .; 2r 1 YY [2i
[2i]
= Y [i] + "u
Incrementer r
etape 2 :
Considerer le nouveau dictionnaire Y = fyigfi=0;...;2r 1g .
Executer l'algorithme de LBG sur le dictionnaire Y .
Si ( kr = R ou D(r) < )
{ Arr^eter en retenant Y (r) .
Sinon
{ Retourner a l'etape 1.
Cet algorithme a ete mis en oeuvre lors de la conception de notre QV.
Un organigramme simple de cet algorithme est donne par la Figure 2. Un exemple d'execution de cet
algorithme est represente par les Figures 3, 4, 5, 6, 7.
La charge en calculs engendree par la construction du dictionnaire est tres importante [5] mais n'est
pas consideree comme un handicap preponderant etant donne qu'un dictionnaire est construit une fois
pour toutes.
RR n2241
10
Dictionnaire
initial
Splitting
Sequence
d'
Apprentissage
Optimisation
algo de LBG
Calcul de
Distorsion
Test de n
Fin
Figure 2 : organigramme de l'algorithme de LBG + methode de splitting
y(0)
1
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 11
y(0)
1
y(0)
2
Figure 4 : perturbation 1
y(1)
1
y(1)
2
Figure 5 : optimisation 1
RR n2241
12
y(1)
1
y(1)
2
y(1)
3
y(1)
4
Figure 6 : perturbation 2
y(2)
3
y(2)
2
y(2)
1
y(2)
4
Figure 7 : optimisation 2
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 13
Comme nous l'avons vu precedemment, le codeur peut ^etre vu comme un emetteur delivrant un code
qui n'est autre que l'indice du code-vecteur le plus proche du vecteur source.
Le taux d'information du QV est donne par le debit r correspondant au nombre de bits par composante
requis pour representer le vecteur source.
Pour un dictionnaire de N representants et avec des vecteurs a k composantes, le debit s'exprime par
r = log2k(N )
Pour une taille de dictionnaire donnee N , et en utilisant pour calculer la distorsion la
distance euclidienne, il est facile d'etablir que la complexite est de l'ordre de 2rk.
Or des performances elevees ne sont atteignables qu'aux debits eleves mais l'operation de codage
devient alors tres co^uteuse en calculs.
Il a donc ete necessaire d'envisager de nouvelles techniques permettant d'atteindre des resultats d'une
precision acceptable tout en gardant une complexite en calculs au codage raisonnable. Des techniques
permettant d'atteindre ce compromis sont les methodes arborescentes.
4 QV a recherche arborescente
Une fois le dictionnaire construit, il faut donc mettre en place une technique de recherche rapide. La
recherche exhaustive etant comme nous l'avons vu tres co^uteuse, des methodes de recherche arborescente sont couramment utilisees.
Il convient de signaler que si ces techniques ne donnent pas necessairement le plus proche representant
mais un representant en moyenne proche, elles permettent de reduire considerablement le temps de
codage et apparaissent comme un bon compromis entre la precision atteinte lors de la restitution de
l'image et la vitesse de codage de celle-ci.
On distingue 2 grandes methodes de QV arborescente :
Une premiere solution consiste a integrer la construction de l'arbre a celle du dictionnaire. Cette
approche est une approche descendante et est la plus couramment utilisee.
Une deuxieme solution est de construire l'arborescence une fois le dictionnaire forme, c'est a dire
a partir des codes-vecteurs obtenus par l'algorithme de LBG (feuilles de l'arbre) ne presentant
a priori aucune structure et en eectuant une arborescence ascendante.
Il convient de noter que le decodeur ne dispose generalement pas de l'ensemble des noeuds intermediaires de l'arbre mais seulement des noeuds terminaux puisque le codeur lui transmet directement
l'indice du code-vecteur qui representera le vecteur source.
Cependant dans le cas particulier de la reconstruction progressive, le decodeur utilise les noeuds intermediaires. Au lieu d'attendre que le vecteur source ait ete completement specie par le codeur, la
RR n2241
14
transmission se fait a chaque niveau de l'arbre. Au fur et a mesure que le codeur progresse dans sa recherche, le code-vecteur representatif du vecteur source devient de plus en plus precis et est interprete
par le decodeur.
Ce type d'arborescence n'ayant pas ete mis en oeuvre lors de cette etude, seul le principe general sera
decrit.
La construction de l'arborescence se fait donc une fois le dictionnaire existant. Ce dictionnaire ayant ete
construit de maniere tout a fait classique (algorithme de LBG par exemple) ne presente a priori aucune
structure particuliere. L'edication d'une classication hierarchique ascendante consiste a former a
partir de petites classes tres homogenes des classes de moins en moins homogenes jusqu'a l'obtention
d'une classe unique. Pour cela, il nous faut denir 2 fonctions qui sont :
Une fonction de distance d(:; :) calculant la distance entre deux vecteurs.
Une fonction de dissimilarite (:; :) mesurant la dissimilarite entre deux classes de vecteurs.
La distance d utilisee est celle qui a ete utilisee lors de la construction du dictionnaire.
Pour la strategie de fusion, plusieurs fonctions de dissimilarite peuvent ^etre utilisees [13], en voici deux
exemples :
indice du lien minimum
1 (Ri; Rj ) = xl 2Rmin
d(xli ; xlj )
i ;xl 2Rj
i
d(xli ; xlj )
etape 0 : initialisation
A partir de N classes disjointes Ri, calculer les paires (Ri; Rj )
etape 1 :
Determiner dans la hierarchie courante, le couple le plus similaire (Ri ; Rj ) au sens de la dissimilarite (:; :)
Si necessaire, calculer le centrode de Ri [ Rj
etape 2 :
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 15
(Rk ; Ri [ Rj ); 8k 6= i; k 6= j
etape 3 :
S'il reste une seule classe, arr^eter.
Sinon aller a l'etape 1.
Ce type d'arborescence a ete mis en oeuvre dans le developpement de cette etude et va donc ^etre
developpe plus completement dans ce rapport.
Les noeud terminaux sont situes sur une m^eme couche et leur hauteur H est donnee par la relation:
H = log2 (N)
Il a fallu stocker non plus simplement les code-vecteurs mais toute l'arborescence du dictionnaire. Le
nombre de noeuds non terminaux est egal a 2H 1, il faut bien s^ur rajouter le nombre de noeuds
terminaux qui est 2H . Le nombre de noeuds a stocker est donc 2H 1+2H = 2H +1 1, soit environ un
facteur 2 par rapport au cas exhaustif. Toutefois, etant donne le co^ut tres peu eleve de la memoire dans
les technologies actuelles, cet espace supplementaire ne peut pas ^etre considere comme un handicap
serieux.
La construction du dictionnaire repose sur le principe de la dichotomie vectorielle introduit precedemment. Lorsque l'on travaillera a une hauteur h, chaque noeud sera divise en 2 noeuds qui constitueront
l'arbre de hauteur h + 1.
En sortie, l'algorithme de construction du dictionnaire va fournir 2 dictionnaires :
Un dictionnaire des noeuds terminaux.
Un dictionnaire des noeuds intermediaires.
RR n2241
16
Lors de la realisation de ce QV, nous avons choisi comme structure pour ces dictionnaires des tableaux.
Dans le tableau des noeuds intermediaires, un noeud d'indice i aura pour ls les noeuds d'indices 2i+1
et 2i + 2. Les noeuds de la derniere couche des noeuds intermediaires ont leur indice compris entre
2H 1 1 et 2H 2. Pour un de ces noeuds d'indice i = 2H 1 1 + j les ls se situent dans le
dictionnaire des noeuds terminaux aux indices 2j et 2j + 1.
L'algorithme de construction du dictionnaire est le suivant :
etape 0 : initialisation
Noter Y le dictionnaire des noeuds terminaux.
Fixer Z[0] = z0 ou z0 est le centrode de la sequence d'apprentissage prise dans son ensemble, Z
etape 1 :
Perturber le dictionnaire courant Y selon
:
= Z[indice + i] "u
8i = 0; . . .; 2r 1 YY [2i]
[2i + 1] = Z[indice + i] + "u
Calculer indice = indice + 2(r)
Incrementer r
etape 2 :
Considerer le dictionnaire Y = fyi gfi=1;...;2r g .
Executer l'algorithme de LBG sur le dictionnaire Y .
Si ( kr = R ou D(r) < )
{ arr^eter en retenant Y .
Sinon
{ recopier les noeuds du dictionnaire Y dans le dictionnaire Z selon :
8i = 0; . . .; 2r 1 : Z[indice + i] = Y [i]
{ retourner a l'etape 1
Cependant, la QV par methode arborescente equilibree est sous-optimale par rapport a la QV exhaustive et ceci pour deux raisons qu'il convient de distinguer :
sous-optimalite du dictionnaire: Celui-ci contient moins de representants pertinents que dans le
cas exhaustif du fait de la contrainte a laquelle il est soumis lors de sa construction.
sous-optimalite du codage : Du fait du procede de recherche dans l'arbre, le code-vecteur trouve
n'est pas obligatoirement le code-vecteur le plus proche du vecteur source.
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 17
Le fait d'avoir un debit variable presente l'avantage de distribuer ecacement les bits selon l'activite
des vecteurs. Le codeur aecte plus de bits aux regions actives et peut gagner un nombre de bits
non-negligeable pour coder les regions homogenes.
Dans la construction d'un QV arborescent, il sut pour avoir un debit variable de construire une
arborescence non-equilibree, c'est a dire que tous les noeuds terminaux ne se situent pas sur la m^eme
couche. La longueur du mot de code associee a chaque feuille est egale a la profondeur de la feuille
dans l'arbre.
Les techniques de construction d'arborescences descendantes non-equilibres peuvent ^etre divisees en
deux parties :
Algorithmes par decoupage ! La construction de l'arbre non-equilibre se fait lors de la construction du dictionnaire gr^ace a une application non-systematique de la methode de splitting.
Algorithmes par elaguage ! On construit tout d'abord un arbre equilibre par une methode
classique, cet arbre est ensuite elague an d'assurer le meilleur compromis entre la hausse de
distorsion et la baisse de debit.
Les algorithmes de creation d'arbre utilisent des sequences d'apprentissage. A l'issue du codage de la
sequence, supposee de longueur L, on denit Rn comme la cellule de codage associee a un noeud n
quelconque. Plus precisement, Rn designe l'ensemble des vecteurs de la sequence d'apprentissage dont
le chemin de codage passe par le noeud n.
On denit alors :
La probabilite p(n) du noeud n comme le taux de vecteurs de la sequence d'apprentissage dans
Rn donne par :
n]
p(n) = card[R
L
X
1
(n) = card[R
kx yn k2
n] x2Rn
A la dierence de la construction d'un arbre equilibre, au lieu de diviser chaque noeud de la couche
h courante en ses deux ls, on eclate seulement le noeud qui semble a priori le plus interessant selon
un critere qui va ^etre deni par la suite. Ce noeud n'appartient pas a une couche particuliere mais
presente comme unique contrainte d'^etre temporairement un noeud terminal.
Plusieurs criteres ont ete denis pour determiner quel noeud est le plus interessant :
Le critere le plus naturel est de prendre le noeud qui presente la plus grande baisse de distorsion.
Un deuxieme critere paraissant tout aussi concevable d'un point de vue logique serait de diviser
le noeud contribuant le plus a la distorsion globale. De plus, ce critere para^t moins lourd en
charge de calculs que le premier puisqu'il n'est plus necessaire de calculer la distorsion que
provoquerait l'eclatement de chacun des noeuds terminaux (ce qui revient a construire un arbre
de profondeur moyenne h0 = h + 1 ou h est la profondeur moyenne de l'arbre courant).
Un troisieme critere consiste a choisir le noeud qui assure le meilleur compromis "baisse de la
RR n2241
18
Cette methode a ete mise en oeuvre lors de cette etude. L'algorithme utilise est l'algorithme de BFOS
du nom de ses auteurs Breiman, Friedman, Olshen et Stone [9].
La premiere etape, avant m^eme l'application de cet algorithme consiste a construire un dictionnaire
de taille importante, ce dictionnaire etant elague par la suite. Le but de l'elaguage est de supprimer les
parties de l'arbre n'ayant pas une contribution importante dans la baisse de la distorsion par rapport
a leur contribution dans l'augmentation du debit. Plus concretement, cela revient a supprimer les
decoupages de zones homogenes qui ont ete eectues lors de la construction de l'arbre. Il est a noter
que comme dans le cas de l'algorithme de decoupage, l'algorithme de BFOS est base sur le principe
du retour marginal.
Le principe de l'algorithme de BFOS est en fait relativement simple. Pour chaque noeud n non-terminal
de l'arbre, on calcule le rapport marginal (n). On elague alors l'arbre a partir du noeud ni ayant le
plus petit rapport marginal, c'est a dire que l'on remplace dans l'arbre la sous-branche Sni issue du
noeud ni (Sni ) par le noeud ni . On met alors a jour le rapport (n) associe a tous les ascendants de ni
(pour les autres noeuds de l'arbre, ce rapport est inchange) et on reitere ce procede jusqu'a l'obtention
d'un debit donne ou d'une distorsion maximum xee.
Nous allons tout d'abord decrire la structure de donnees qui a ete utilisee lors de la mise en oeuvre
pour stocker les informations relatives a chaque noeud de l'arbre. En plus du tableau contenant
le dictionnaire, nous avons construit un tableau contenant l'ensemble des noeuds de l'arborescence,
chaque element du tableau etant une structure de type :
l(St ) ! baisse de debit occasionnee par le remplacement de la sous-branche d'origine t par le
noeud t.
(St ) ! hausse de distorsion occasionnee par le remplacement de la sous-branche d'origine t
par le noeud t.
(t) = l((tt)) ! valeur de retour marginal pour le noeud t.
L'algorithme de BFOS est precede d'une phase d'initialisation au cours de laquelle les champs de la
structure sont initialises par rapport a l'arbre initial [10].
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 19
Phase d'initialisation
Pour chaque feuille t de l'arbre :
{ l(St ) = 0
{ (St ) = 0
{ min (t) = 1
Pour chaque noeud t non-terminal de l'arbre :
{ l(St) = l(St) l(t)
{ (St) = (St ) (t)
{ (t) = l((SStt))
{ min (t) = minf(t); min (tL ); min(tR )g ou tL et tR sont respectivement les ls gauche et
droit de t
Fin
Algorithme de BFOS
L'algorithme mis en oeuvre dans le cadre de notre etude est tres proche de l'algorithme propose a
l'origine [10]. Toutefois, la condition d'arr^et a ete modiee puisque dans la version originale, on construit l'ensemble des arbres elagues jusqu'a ne plus avoir que la racine alors que nous nous contenterons
RR n2241
20
de construire les sous-arbres elagues ayant un debit superieur a un debit xe fourni comme parametre
d'entree au programme.
La version de l'algorithme de BFOS utilisee est donc la suivante:
etape 0 :
l-arbre = l(t0 ) + l(St0 )
-arbre = (t0 ) + (St0 )
Les variables l-arbre et -arbre contiennent respectivement la profondeur moyenne de l'arbre et la
distorsion engendree par le codage de la sequence d'apprentissage par les noeuds terminaux de cet
arbre. Ces valeurs seront mises a jour apres chaque operation d'elaguage.
etape 1 :
Si (debit debit-xe)
{ i = 0 /* On prend la racine de l'arbre comme noeud courant. */
Sinon
{ arr^eter
etape 2 :
Tant que (ti ) > min (t0 )
{ Si min(t2i+1) = min (t0)
i = 2i + 1
{ Sinon
i = 2i + 2
/* On cherche dans l'arborescence, le noeud ayant le minimum. */
etape 3 :
etape 4 :
Tant que i 6= 0
{ i = i 2 1 /* On se positionne sur le pere de ti */
{ l(Sti ) = l(Sti ) l-arbre
{ (Sti ) = (Sti ) -arbre
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 21
{ (ti) = l((SSttii))
{ min (ti ) = minf(ti); min(t2i+1 ); min(t2i+2)g
etape 5 :
l-arbre = l-arbre l-arbre
-arbre = -arbre -arbre
Le sous-arbre elague a ete construit, et la distorsion et profondeur moyenne de l'arbre ont ete calculees.
retourner a l'etape 1
Cet algorithme est dit optimal car il a ete prouve [14] qu'il ne generait que des sous-arbres optimaux
au sens du rapport debit/distorsion.
Une image est habituellement representee sous la forme d'une matrice de pixels, l'espace de representation etant generalement celui des luminances. A l'interieur de cet espace, il existe souvent des
redondances d'ordre statistique, la luminance d'un pixel etant fortement correlee par avec celle de ses
voisins.
Aussi, avant d'appliquer de la QV sur une image, il s'est avere performant de changer d'espace de
representation ; aussi l'image n'est plus representee dans le domaine des luminances mais dans un domaine proche de celui des frequences spatiales. Chaque coecient de l'image ne correspond alors plus
a une luminance mais est associe a une activite frequentielle determinee dans le contexte du codage
en sous-bandes ou par transformee .
Ce changement d'espace vectoriel a pour eets :
Une concentration de l'energie des blocs sur quelques coecients (typiquement associes aux
basses frequences).
L'elimination de certaines redondances statistiques presentes dans les blocs originaux.
Au cours de notre etude, deux transformees ont ete testees [11] [12]. Ces transformees sont des transformees lineaires par blocs bidimensionnels separables :
Une transformee par bloc : la DCT.
Dans le cas monodimensionnel, l'operation pour passer du domaine des luminances au domaine
transforme est la suivante : X = AT x si x est le bloc original et X le bloc transforme.
La matrice de transformation A est la suivante:
r
(n + 1 ):k:
2
A = [ank ] = c(k): N2 :cos
N
n; k = 0,.
( .q.,N-1 , k indice de frequence, n indice temporel/spatial.
1 si k = 0
2
c(k) =
1 sinon
ou N est la taille des blocs de la transformee.
RR n2241
22
Dans le cas de la MLT, on projette le signal sur des bases de fonctions de taille 2N ou N est la
taille des blocs. Ces fonctions sont constituees d'une fonction "fen^etre" reguliere h(n) modulee
par une fonction trigonometrique ici en cosinus.
r
N + 1 1
2
fk (n) = h(n): N :cos n + 2 : k + 2 : N
h
i
avec h(n) = sin 2:(n:
N 1)
k = 0; . . .; N 1; n = 0; . . .; 2N 1
Du point de vue du ltrage/transformation, les fonctions de base sont les reponses impulsionnelles des ltres de synthese. Les ltres d'analyse sont des versions "time-reversed" des ltres
de synthese.
Pour cette transformee, le signal de taille N est projete sur une fonction de base de largeur
2N, ceci ayant comme eet de diminuer les eets de bloc par rapport a la DCT [19]. Du fait de
l'etendue nie du signal image, pour ne pas modier la dimension du signal, il est donc necessaire
d'etendre le signal aux bords (de N2 coecients de chaque c^ote).
Les dierences quant aux performances de ces deux transformations sont a l'avantage de la MLT [19]
[12], en eet par rapport a l'algorithme de DCT utilise, on peut noter :
Une diminution des eets de blocs.
Une concentration plus importante de l'energie sur les composantes continues (ecacite globale
de codage superieure).
On peut estimer a priori que la MLT sera plus adaptee que la DCT dans le cadre de la QV.
Dans les deux cas, la transformee se fait par blocs, elle est representee sur la Figure 8 ou Fia represente
l'activite frequentielle du bloc A dans la bande frequentielle i (ici une decomposition 2 2 bandes).
A1
A2
B1
B2
A3
A4
B3
B4
C1
C2
C3
C4
Fa1
a
F3
c
F1
Fc3
Fa2
a
F4
c
F2
Fc4
Fb1
b
F3
Fb2
b
F4
Lorsque l'on travaille dans le domaine frequentiel, il est possible d'organiser la matrice transformee
de deux manieres distinctes de facon a prendre des blocs de nature dierente.
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 23
Ainsi, on peut decomposer l'image en sous-bandes, c'est a dire en regroupant les coecients d'une
m^eme sous-bande frequentielle et en eectuant la QV sur chacune de ces sous-bandes (intra-bande)
ou en gardant une correspondance spatiale entre les blocs de l'image originale et ceux de l'espace
transforme (inter-bande).
5.3.1 QV intra-bande
A2
B1
B2 D1
D2 E1
E2
A3
A4
B3
B4 D3
D4 E3
E4
C1
C2
C3
C4
F d1
Fe1 F a2 Fb2 F d2 F e2
F c2
Fb3 F d3
Fe3 F a4 Fb4 F d4 F e4
c
F4
F a1 F b1
F c1
F a3
c
F3
5.3.2 QV inter-bande
Les blocs consideres lors de la quantication correspondent aux blocs qui ont ete utilises lors de la
transformation an de tirer benece des eventuelles dependances entre bandes de m^eme localisation.
Toutefois, les composantes continues ont ete enlevees et il sera fait de la quantication intra-bande
sur ces coecients. La disposition des blocs peut donc ^etre representee par la Figure 10.
RR n2241
24
A1
A2
B1
B2
A3
A4
B3
B4
C1
C2
C3
C4
a
F2
b
F2
a
F3
a
F4
b
F3
b
F4
c
F2
c
F4
c
F3
F a1 F b1
c
F1
6 Experimentations et resultats
La base de donnees utilisee pour tester nos algorithmes est formee de 4 images "classiques" xes. Ces
images ont ete choisies car possedant des structures diverses et doivent donc permettre de tester notre
QV sur des images de complexite dierente (cf Annexe B).
Lena (512 512) pixels.
Barbara (512 512) pixels.
Interview (536 674) pixels.
Cornouaille (576 720) pixels.
Avant d'appliquer la QV sur ces images, nous donnons un bref rappel des outils methodologiques
employes :
Algorithme de construction des dictionnaires : LBG associe a la methode de Splitting.
Algorithme d'elaguage: BFOS.
Les tests sont eectues sur des images dans un espace transforme. La taille des blocs pour passer dans
l'espace transforme est de 16 pixels (4 4).
Tous les QV implantes ont ete compares lors de ces tests.
Les denitions des valeurs utilisees pour comparer les resultats de nos tests sont rappelees en Annexe
A.
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 25
La serie de tests vise a comparer dierents QV mis en oeuvre au cours de cette etude. Ces tests doivent
permettre de retrouver des resultats que l'on suppose deja d'un point de vue theorique :
La non-optimalite au sens debit/distorsion d'un QV a recherche arborescente par rapport a un
QV a recherche exhaustive.
La superiorite de la transformation MLT par rapport a la DCT dans le cadre de la QV.
Le gain de la quantication intra-bande par rapport a la quantication inter-bande.
L'importance de l'introduction d'un facteur psychovisuel.
Les congurations utilisees pour la construction des dictionnaires dans le cas d'une quantication
intra-bande sont representees sur la Figure 11. Ce sont ces congurations qui seront utilisees tout au
long de ces tests sauf specication contraire. Il est facile de s'apercevoir que la troisieme conguration
n'est en fait pas realiste, comprenant uniquement pour les composantes continues un dictionnaire de
16384 representants, chaque representant etant un vecteur de taille 16. On a ainsi largement depasse la
taille de la sous-bande. Cette conguration a ete envisagee juste dans le but de voir le comportement
des dierents QV dans les bas-debits.
Cette serie de tests est eectuee sur les dierentes images de notre base de donnees.
Pour ces comparaisons des QV a recherche exhaustive ont ete construits, le dictionnaire respectif d'une
image est concu a partir de cette m^eme image, la transformee utilisee est la DCT.
intra
inter
intra
inter
23.13
31.35
24.53
111.62
34.49
33.17
34.23
27.65
0.853
0.833
0.348
0.438
intra
inter
intra
inter
51.13
50.32
62.11
231.10
31.04
31.11
30.20
24.49
0.816
0.837
0.335
0.388
intra
inter
intra
inter
23.68
28,70
24.94
123.58
34.39
33.55
34.16
27.21
0.849
0.837
0.359
0.347
0.969
0.969
0.438
0.438
RR n2241
intra
inter
intra
inter
18.87
23.91
23.99
109.95
35.37
34.34
34.33
27.72
0.809
0.791
0.406
0.354
26
Debit = 0.969
128
(scalaire)
256
(2*2)
256
(2*2)
256
(4*4)
256
(4*4)
256
(4*4)
256
(4*4)
256
(4*4)
256
(4*4)
256
(4*4)
256
(4*4)
256
(4*4)
Debit = 0.438
0
4096
(2*2)
4096
(4*4)
256
(4*4)
4096
(4*4)
256
(4*4)
256
(4*4)
256
(4*4)
256
(4*4)
Debit = 0.215
16384
(4*4)
1024
(4*4)
128
(4*4)
1024
(4*4)
128
(4*4)
128
(4*4)
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 27
La superiorite de l'intra-bande existe des les hauts-debits mais devient
agrante essentiellement dans
les bas-debits. En eet, le facteur preponderant est la possibilite d'accentuer la quantication (accorder
un debit plus important) dans les zones de l'image ou est concentree l'information. Aussi, dans le cas
de la QV intra-bande a bas debit, il est possible de coder correctement les basses frequences et de
ne pas coder les hautes frequences contenant un minimum d'informations. Par contre, dans le cas
de la quantication inter-bande, le debit est uniformement reparti et est donc insusant pour coder
certains coecients de l'image
Il s'agit de comparer ici deux types de decompositions de type bloc, l'une classiquement utilisee dans les
applications de type codage (DCT), l'autre entre transformee et decomposition en sous-bandes presentant des performances de codage theoriquement superieures (MLT), au niveau du codage, l'avantage
de la MLT etant surtout la reduction des "eets de bloc" constates pour la DCT dans les faibles
debits. A priori, selon les proprietes de ces deux transformees, la MLT semble plus appropriee a la
QV. On a teste les performances d'un QV apres l'une ou l'autre de ces deux transformees.
La serie de tests a ete realisee a nouveau a partir des images de notre base de donnees avec un QV a
recherche exhaustive, le mode de quantication choisi est l'intra-bande.
DCT
MLT
DCT
MLT
DCT
MLT
23.13
18.26
24.53
19.61
37.50
29.99
34.49
35.51
34.23
35.21
32.39
33.36
0.853
0.861
0.348
0.355
0.151
0.155
DCT
MLT
DCT
MLT
DCT
MLT
51.13
35.93
62.11
41.89
105.24
79.86
31.04
32.58
30.20
31.91
27.91
29.11
0.816
0.819
0.335
0.330
0.145
0.145
RR n2241
DCT
MLT
DCT
MLT
DCT
MLT
23.68
18.55
24.94
19.33
40.68
33.05
34.39
35.45
34.16
35.27
32.04
32.94
0.849
0.860
0.359
0.365
0.157
0.161
28
DCT
MLT
DCT
MLT
DCT
MLT
18.87
14.28
23.99
16.61
34.43
24.23
35.37
36.58
34.33
35.93
32.76
34.29
0.809
0.828
0.406
0.345
0.145
0.148
Les tests tendent a conrmer les idees qui avaient ete enoncees. La MLT serait superieure a la DCT
du point de vue de la QV :
De maniere objective, l'energie est plus concentree dans les composantes continues.
De maniere subjective, il y a moins d'eets de bloc.
exhaustive
arborescente
exhaustive
arborescente
exhaustive
arborescente
18.26
24.14
19.61
25.75
29.99
35.44
35.51
34.30
35.21
34.00
33.36
32.64
0.861
0.812
0.355
0.332
0.155
0.143
exhaustive
arborescente
exhaustive
arborescente
exhaustive
arborescente
35.93
52.26
41.89
59.15
79.86
95.67
32.58
30.95
31.91
30.41
29.11
28.32
0.819
0.744
0.330
0.301
0.145
0.130
exhaustive
arborescente
exhaustive
arborescente
exhaustive
arborescente
18.55
25.75
19.33
28.29
33.05
41.86
35.45
34.02
35.27
33.61
32.94
31.91
0.860
0.800
0.365
0.341
0.161
0.143
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 29
exhaustive
arborescente
exhaustive
arborescente
exhaustive
arborescente
0.438
0.215
14.28
19.61
16.61
24.76
24.23
33.15
36.58
35.21
35.93
34.19
34.29
32.93
0.828
0.755
0.345
0.305
0.148
0.129
Nous considerons, a present, le temps de calcul CPU pour la realisation des dictionnaires et des encodages, nous exprimons les resultats sous la forme de rapports entre temps de facon a ^etre independant
du calculateur utilise, le debit est de 0.438 bpp.
Image
Lena
Barbara
Interview
Cornouaille
Construction du dictionnaire
Encodage
Temps exhaustif/arborescent Temps exhaustif/arborescent
6.46
6.48
7.28
7.42
29.35
30.40
34.97
37.46
Comme nous nous y attendions la distorsion est plus elevee dans le cas d'un QV a recherche arborescente. Neanmoins cette hausse de distorsion apparait susamment peu elevee eu egard a la diminution
de la charge en calculs qui a ete realisee lors de l'operation de codage. Par ailleurs l'entropie est inferieure dans le cas d'une recherche arborescente et la superiorite du QV exhaustif doit ^etre moderee
dans le cas d'un codage entropique des indexs transmis.
Debit Psycho Dist visuelle PSNR visuel Dist reelle PSNR reel Entropie
0.922
0.922
0.766
0.766
oui
non
oui
non
60.46
65.04
95.67
102.05
28.79
27.32
19.61
18.32
45.29
46.36
66.95
67.75
31.57
31.47
29.87
29.82
0.726
0.716
0.619
0.601
Du point de vue des resultas objectifs, il para^t dicile de tirer des conclusions au vu de ces resultats
m^eme si a priori, pour une m^eme distorsion reelle, il semble que la distorsion visuelle soit moins
importante dans le cas ou l'on utilise la matrice de coecients psychovisuels. D'un point de vue
visuel, il para^t aussi dicile a ce niveau de distorsion de pouvoir statuer sur l'inter^et d'introduire le
RR n2241
30
facteur psychovisuel.
Ces resultats mitiges peuvent s'expliquer par le fait que la matrice de coecients n'est pas adaptee a
notre schema de quantication.
Comme nous l'avons precedemment exprime, un dictionnaire ideal serait un dictionnaire pouvant
servir a compresser et decompresser n'importe quelle image. Dans la premiere serie de tests, nous
nous sommes contentes de construire des dictionnaires a partir d'une certaine image puis de tester
notre QV sur cette m^eme image. Le but de cette deuxieme serie de tests est d'evaluer les performances d'un dictionnaire par rapport a un nombre plus important d'images. On distinguera deux
types d'experiences :
Le dictionnaire a ete construit a partir de plusieurs images et ses performances sont evaluees
Le but de cette serie de tests est d'evaluer les performances d'un dictionnaire construit a partir de
plusieurs images. Ce test vise a determiner si dans le cas d'une base de donnees statique, il est possible
de construire un dictionnaire unique pour coder l'ensemble des images de la base ou du moins plusieurs
images de cette base.
Pour ce faire, nous avons construit un dictionnaire a partir des 4 images enumerees auparavant et avons
teste les performances de ce dictionnaire par rapport aux 4 images. En parallele, nous avons construit
un dictionnaire ayant exactement la m^eme conguration mais uniquement a partir de l'image Lena.
Nous avons p^u ainsi comparer l'ecacite de ces deux dictionnaires par rapport a la base de donnees.
Ces dictionnaires ont ete construits dans l'espace DCT de maniere arborescente. La conguration des
dictionnaires est donnee par la Figure 12.
Les resultats obtenus sont les suivants :
44.25
75.43
32.03
40.21
31.67
29.35
33.07
32.08
0.754
0.799
0.698
0.755
25.69
157.90
59.37
74.61
34.03
26.15
30.39
29.40
0.831
0.833
0.739
0.772
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 31
Debit = 1
128
512
256
256
(scalaire)
(2*2)
(4*4)
(4*4)
512
256
256
256
(2*2)
(4*4)
(4*4)
(4*4)
256
256
(4*4)
(4*4)
256
256
(4*4)
(4*4)
RR n2241
32
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 33
On peut constater que les distorsions engendrees pour chaque image en les codant par le dictionnaire construit a partir de ces images sont tout a fait acceptables pour la plupart des applications.
On a donc a peu pres resolu le probleme des bases de donnees statiques m^eme s'il faut ^etre conscient
que plus le nombre d'images est important, moins bonne sera la reconstruction de ces images a partir
d'un dictionnaire construit sur l'ensemble des images. Il faudra donc envisager de construire plusieurs
dictionnaires si la base de donnees est importante. Dans ce cas, il sera possible de classer les images
an de construire chaque dictionnaire sur un m^eme type d'images et ameliorer ainsi les performances.
6.3 Elaguage
Les tests de notre algorithme d'elaguage ont ete eectues a partir de l'image Lena. Dans un premier temps, nous avons construit des dictionnaires contenant deux fois plus de representants que les
dictionnaires que l'on desire obtenir apres elaguage. Il faut bien prendre conscience que les resultats
seraient ameliores si l'on partait d'un dictionnaire plus grand avant l'elaguage.
Ces tests d'elaguage ont ete realises sur une matrice MLT, avec une conguration intra-bande.
elaguage
arborescent
elaguage
arborescent
18.65
23.35
20.40
25.37
35.42
34.39
35.03
34.08
0.820
0.812
0.345
0.333
Les resultats obtenus montrent une assez nette baisse de distorsion pour un m^eme debit par rapport
a un dictionnaire ayant une structure arborescente equilibree.
De plus, la methode d'elaguage semble orir des perspectives tres interessantes pour la construction
d'un dictionnaire "global". Il semble en eet possible de construire un dictionnaire de tres grande
taille a partir d'un grand nombre d'images puis d'elaguer cet arbre pour chaque image que l'on veut
coder. On pourrait ainsi, a partir d'un dictionnaire tres vaste, extraire la partie de l'arbre specique a
chaque image que l'on code. Cette technique pourrait ^etre utilisee autant dans un but de transmission
que dans un but d'archivage de donnees.
RR n2241
34
7 Conclusion
Dans le cadre de cette etude, nous avons teste dierentes methodes de QV appliquee au codage
d'images xes.
Un des premiers resultats a montre qu'il n'etait pas envisageable d'eectuer une recherche exhaustive
dans un dictionnaire ne comportant aucune structure geometrique ou topologique particuliere. Nos
recherches se sont donc vite orientees vers des QV arborescents entra^nant une charge de calculs
au codage nettement moins importante. Toutefois, dans le cas d'un debit constant (arborescence
equilibree), il s'est avere que beaucoup d'elements du dictionnaire etaient peu representatifs et nous
avons donc decide de construire, par elaguage, un QV arborescent a structure variable.
Pour regrouper l'energie de l'image sur quelques coecients et an d'allouer le debit dans les zones
importantes de l'image, il semble interessant de travailler dans un espace transforme. Dans ce cadre
de transformations frequentielles, nous avons compare l'approche intra-bande et celle inter-bande.
Il s'avere que pour vectoriser et quantier au mieux les coecients transformes, l'approche intrabande est plus ecace. Nous etant places dans ces conditions, nous avons implemente un QV a
structure variable. La methode utilisee pour arriver a ce QV a ete l'elaguage. Cette methode necessite
la construction d'un arbre de taille importante dans un premier temps mais ceci n'est pas penalisant, la
construction du dictionnaire n'entrant pas dans le processus de quantication. Le processus d'elaguage
a fourni des resultats tres interessants et est retenu comme etant la methode assurant le meilleur
rapport qualite/complexite parmi tous les QV testes.
Pour chacune des images testees, il a ete possible d'obtenir une bonne qualite de restitution a de faibles
debits. Neanmoins, un probleme auquel nous nous sommes heurtes a ete l'elaboration d'un dictionnaire
universel pouvant servir a coder toute image. Ce probleme est jusqu'a aujourd'hui reste sans reponse
et devrait susciter encore des recherches. Toutefois, une demarche pouvant sembler interessante a
explorer serait la construction d'un dictionnaire arborescent de tres grande taille construit a partir
de plusieurs images de types dierents. Ce dictionnaire etant ensuite elague relativement a l'image
a coder (c'est a dire que l'on selectionnerait la partie de l'arbre pouvant coder le type de l'image en
entree).
Dans ce rapport, les resultats des tests ont ete presentes pour la plupart sous forme de tableaux ; il
eut ete sans doute plus juste de montrer des resultats visuels (images resultats) mais la qualite de
reconstruction etait souvent trop bonne pour que la dierence avec l'image originale soit evidente. Il
ne faut pas pour autant oublier que le but de la QV appliquee au codage d'images est de pouvoir
restituer un signal visuellement de bonne qualite.
Il convient de moderer notre choix sur un QV a structure arborescente dans le cas d'une architecture
multi-processeurs. En eet, si l'on peut associer un processeur a chaque element du dictionnaire, le
codage pour chaque bloc de l'image se fait en calculant en parallele la distorsion engendree par chaque
representant du dictionnaire. Dans ce cas, il est avantageux d'utiliser une structure exhaustive car une
structure arborescente ne permet pas ce parallelisme.
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 35
Annexe A
Ponderation psychovisuelle
Elle est basee sur une mesure de distorsion de type EQM ponderee.
Dans le cas ou la transformation est unitaire, on rappelle que la distorsion des bandes est additive :
EQM = Pi Di
EQMponderee = Pi !iDi ou !i est le coecient psychovisuel associe a la sous-bande i.
Sous certaines conditions de modelisation des caracteristiques debit-distorsion du quanticateur utilise
et des densites de probabilite des sources considerees (ici les sous-bandes), l'allocation en distorsion
optimale est du type :
Di = !D au facteur de normalisation pres
i
2
32:81 31:07 23:61
66 32:06 26:57 19:85
! = 4 25:84 10:96 15:76
16:87 13:83 10:65
3
14:18
12:07 77
9:81 5
6:88
Concernant le traitement d'images, la distance euclidienne est la plus repandue des mesures de distorsion.
k
X
d(x; y) = (xj yj )2
j =1
La distorsion correspond a l'erreur quadratique moyenne qui a ete introduite lors des operations de
codage-decodage.
En traitement d'images, il est d'usage d'associer a cette distorsion le rapport signal sur distorsion
PSNR deni par :
2552
PSNR = 10log10 D (dB)
L'entropie qui est calculee est fonction de la distribution des representants du dictionnaire a l'interieur
de l'image codee. L'entropie correspond au debit qui pourrait ^etre atteint si posterieurement au QV,
on mettait en place un codage de Human ou codage entropique [18].
Soit p la fonction de densite de probabilite de l'image codee, p(a) = p(X = a) ou a est un element
du dictionnaire A et X un vecteur de l'image codee. Soit l(a) la longueur du code du representant a,
alors :
X
entropie = p(a)l(a)
a2A
RR n2241
36
Annexe B
Figure 15 : Lena
Figure 16 : Barbara
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 37
Figure 17 : Interview
Figure 18 : Cornouaille
RR n2241
38
Bibliographie
[1] C.E. Shannon, "A mathematical theory of communication", Bell Systems Technical Journal 27,
pp. 379-423, pp. 623-656, 1948.
[2] C.E. Shannon, "Coding theorems for a discrete source with a delity criterion", IRE National
Convention Record, Part 4, pp. 142-163, 1959.
[3] Y. Linde, A. Buzo, R.M. Gray, "An algorithm for vector quantizer design", IEEE Trans. on
Communic., Vol. COM-28, No. 1, pp. 84-95, Jan. 1980.
[4] S.P. Lloyd, "Least squares quantization in PCM", IEEE Trans. Inform. Theory, Vol. IT-28, No.
2, pp. 129-137, March 1982.
[5] A. Benazza, Quantication vectorielle en codage d'images, These de l'Universite de Paris-Sud,
centre d'Orsay, p. 36.
[6] A. Benazza, Quantication vectorielle en codage d'images, These de l'Universite de Paris-Sud,
centre d'Orsay, pp. 52-63.
[7] E.A. Riskin, Variable rate vector quantization of images, PhD thesis, Stanford University, Stanford,
Ca., June 1988.
[8] E.A. Riskin, "A greedy tree growing algorithm for the design of variable rate vector quantizers",
IEEE Trans. Signal Process., Vol. 39, No. 11, pp. 2500-2507, Nov. 1991
[9] L. Breiman, J.H. Friedman, R.A. Olshen, C.J.Stone, Classication and regression trees, The Wadsworth Statistics/Probability Series, Belmont, California: Wadsworth, 1984.
[10] A. Gersho, R.M. Gray, Vector quantization and signal compression, Kluwer academic publishers,
pp. 645-652, 1992.
[11] K.R. Rao, P. Yip, Discrete Cosinus Transform : Algorithms, Advantages, Applications, Academic
Press, Chap. 2, p. 7, 1990.
[12] E. Nguyen Phuc, Bases Trigonometriques Locales. Application au Codage d'Images, DEA, Institut
National Polytechnique de Toulouse, Sept. 92.
[13] A. Benazza, Quantication vectorielle en codage d'images, These de l'Universite de Paris-Sud,
centre d'Orsay, pp. 57-60.
[14] P.A. Chou, T. Lookabaugh, R.M. Gray, "Optimal pruning with applications to tree-structured
source coding and modeling", IEEE Trans. Inform. Theory, pp. 299-315, March 1989.
[15] H.S. Malvar, Signal Processing with Lapped Transforms, Universidade de Brasilia, Brazil, Artech
House, Boston, London, 1992.
[16] B. Macq, Perceptual Transforms and Universal Entropy Coding for an Integrated Approach to
Picture Coding, These de l'Universite Catholique de Louvain, Spt. 1989.
[17] J. Mannos, D. Sakrison, "The eect of a visual delity criterion on the encoding of images", IEEE
Trans. Inform. Theory, July 1974.
[18] A. Gersho, R.M. Gray, Vector quantization and signal compression, Kluwer academic publishers,
pp. 271-277, 1992.
[19] H.S. Malvar, "Lapped transform for ecient transform/subband coding", IEEE Transactions on
acoustics, Speech and Signal Processing, Vol. 38, No. 6, Juin 1990.
[20] J.P. Marescq, Etude de schemas de quantication vectorielle adaptative multiclasses. Application
au codage de sequences d'images televisuelles, These de l'Universite de Rennes1, 1986.
Inria
Etude d'algorithmes de quantication vectorielle arborescente pour la compression d'images xes 39
[21] M. Antonini, Transformees en ondelettes et Compression numeriques des images, These de l'Universite de Nice Sophia-Antipolis, 1991.
[22] P. Monet, C.labit, \ Codebook Replenishment in Classied Pruned Tree-Structured Vector Quantization of Image Sequences", ICASSP, pp. 2285-2288, 1990.
RR n2241
Editeur
INRIA, Domaine de Voluceau, Rocquencourt, BP 105, 78153 LE CHESNAY Cedex (France)
ISSN 0249-6399