Table des Matieres :
V.1 INTRODUCTION *
* * **
V.4 ACCELERATION DU CODEC (CODAGE / DECODAGE)
* *
Le travail de Jacquin tel quil a été présenté dans le chapitre III a démontré lintérêt de sinspirer de la théorie des IFS pour coder des images naturelles mais nont cependant pas permis datteindre des taux de compression élevés. Cette limitation est due au fait que la partition R proposée est carrée régulière et donc composée dun nombre trop important de blocs ri doù un temps énorme lors du la recherche des similarités et codage des transformations locales. Différentes recherches ont prouvé que ce problème peut être contourné en calculant la transformation fractale sur un partitionnement carré ou rectangulaire adapté au contenu de limage (quadtree, H-V).
Nous décrivons dans ce chapitre, notre étude qui consiste à calculer la transformation fractale de limage sur un partitionnement triangulaire adapté au contenu de limage. Ce partitionnement étant souple (calculé sur un ensemble de points pouvant être positionnés nimporte où sur le support de limage), va permettre de minimiser le nombre de blocs destinations et de là le nombre de comparaisons inter-blocs.
Nous verrons que cette méthode de codage diffère du schéma de base dans le sens où les contraintes imposées sur les tailles des blocs source et destination sont plus souples que celles imposées dans les schémas classiques puisque les formes respectives des triangles peuvent être quelconques.
La compression dune image A par fractales consiste à calculer la transformation finalement contractante W qui permet de vérifier la relation suivante :
W(A) =
wi(di)
= ![]()
![]()
Où les n blocs ri sont appelés blocs destination, et les blocs di sont appelés blocs source. Nous rappelons quun bloc source di peut être associé à plusieurs blocs destination.
La transformation wi a pour effet de ramener le bloc source di sur le bloc destination ri en déformant son support (isométrie, translation) et en modifiant sa fonction de luminance, de manière à ce que le bloc transformé approxime le bloc destination ri.
Soient N le nombre de blocs destination ri de la triangulation R (adaptée au contenu de limage), et Q le nombre de blocs source di de la triangulation D (régulière).
Lalgorithme consiste à associer à chacun des blocs ri le bloc di qui minimise la distorsion d entre les niveaux de gris du bloc ri et ceux du bloc di transformé par wi.
La transformation massique qui réalise le collage du bloc source di sur le bloc destination ri est la même que celle utilisée par Jacquin (section III.3.4) et Fisher (section III.3.5). Elle nest composée que de deux coefficients : le coefficient de décalage b 1(i) et le coefficient déchelle b 2(i).
![]() |
![]() |
Figure V.1 :Partitions D et R. |
|
V.2.2 Calcul des Triangulations
Construction des blocs source
Cest une triangulation régulière (triangles de même taille et forme géométrique, et ne se recouvrent pas) appelée triangulation D. Lorsque le nombre des triangles est élevé, limage transformée W(A) peut être très proche de limage originale A. Cependant, cela est fait au détriment du temps de codage, qui devient élevé dû au nombre de comparaisons inter-blocs (N*Q comparaisons), où N est le nombre de blocs destination et Q est le nombre de blocs source.
Construction des blocs destination
La triangulation des blocs destination appelée partition R est une collection de triangles adaptés au contenu de limage. Divers algorithmes permettant de calculer une telle triangulation ont été étudiés dans le chapitre IV.
V.2.3 Calcul de la Transformation Fractale
La transformation élémentaire w transformant un bloc source d en un bloc destination r sécrit :
W(d) º w (xi ,yi ,f (xi ,yi))
= (xi, yi, f (xi, yi))
= (v (xi ,yi), b 2 f (xi ,yi) + b 1 ),
où f (xi ,yi) est la luminance du pixel de coordonnées (xi ,yi) à lintérieur du bloc source d,
f (xi, yi) est la luminance du pixel de coordonnées (xi, yi) à lintérieur du bloc destination r, et v dénote la transformation spatiale dun triangle d sur un triangle r. les coefficients b 2 et b 1 contrôlent respectivement le contraste et la luminosité des pixels de limage.
Rappelons quune transformation fractale est la combinaison de deux transformations : spatiale et massique.
Dans le cas du partitionnement en blocs carrés, la comparaison inter bloc est facile à mettre en uvre, elle est obtenue en calculant lerreur entre la valeur de chaque pixel rij du bloc destination r avec la valeur f (xi, yi) obtenue en moyennant les 2*2 pixels connexes dans le bloc source d.
Dans lapproche adoptée, où les blocs source et destination sont triangulaires, la comparaison inter-blocs nécessite lutilisation de transformations spatiales pour comparer le contenu des triangles. Ceci est dù au fait que les triangles sont à priori de forme et dorientation quelconques sur le support de limage. Pour cela, la transformation affine 2D utilisée est de la forme :
= Lx + t
où les coefficients a, b, c, d, e et f sont des réels, et v :
.
La transformation L est une combinaison de rotation et de changement déchelle et t est une translation.
La transformation v préserve les lignes parallèles et les distances relatives entre les points.
Pour calculer les six coefficients de la transformation v, il suffit de fixer trois points de départ (pour le triangle source) et trois autres points de lespace darrivée (pour le triangle destination).
Soient Pi
un point de départ et
un point darrivée alors :
![]()
En généralisant la même équation sur les trois sommets du triangle source, on obtient un système de six équations à six inconnues sous la forme matricielle suivante :

Echantillonnage du bloc source
Le calcul de lerreur d(r,w(d)) considère lensemble des pixels inclus dans le triangle r et léchantillonnage du triangle d par la transformation spatiale v-1 (chaque pixel ri de r est comparé au pixel le plus proche de son antécédent par la transformation spatiale v ). Si le bloc r contient M pixels, lerreur d est donnée par la relation:
d(r,w(d)) =![]()
Où (xi ,yi) sont les coordonnées dun pixel dindice i dans le bloc r.

Figure V.2 :Echantillonnage du bloc source.
Soit le vecteur
, égal à lapproximation du
vecteur destination r, donné par :
= b 2b2
+ b 1b1
appartient au sous-espace vectoriel engendré par les
vecteurs b1,et b2 ,où b1 est un vecteur de base unitaire
(b1 = [1, 1,
,1]T), et b2 est un vecteur extrait de
limage à coder. Chacun des vecteurs
, r, b1,et
b2 est de dimension M .
Le calcul des coefficients b 2 et b 1 soulève des problèmes théoriques et pratiques délicats concernant :
lassurance de la convergence du décodeur vers une image proche de limage originale ,
le maintien des valeurs de luminance des images reconstruites au fur et à mesure des itérations de décodage à lintérieur de la plage :[lummin = 0, ,lummax = 255].
Les coefficients b 2 et b
1 optimaux sont classiquement calculés de manière à obtenir la meilleure
approximation
du bloc r, au sens de la norme L2.
Celle-ci sécrit :
![]()
Lorsque le calcul nest pas contraint, le coefficient déchelle b 2 peut atteindre des valeurs élevées largement supérieures à 1, pouvant entraîner une divergence lors du décodage itératif. Pour pallier à ce problème, les auteurs simposent expérimentalement de borner tous les modules des coefficients déchelle b 2 par une valeur b 2max égale à 1.6 [BOS 92]. Cette limite supérieure, tout en étant nécessaire, rend les approximations sous-optimales, et influe sur la rapidité de convergence du décodeur. Si b 2max est trop petite (inférieure à 0.5), le décodage est rapide, mais ne converge pas vers le point fixe désiré puisque les collages sont de mauvaise qualité. Si au contraire b 2max est supérieure à 1.6, la convergence nest plus assurée.
Le deuxième point cité ci-dessus vise à réduire la propagation des erreurs au cours du décodage itératif. Il est important de noter que la reconstruction à litération n dun pixel met généralement à contribution n autres pixels répartis sur limage entière. Lerreur de reconstruction dune partie de limage influe donc sur le reste de limage.
Les coefficients b 2 et b 1 sont calculés pendant la phase de codage pour approximer un bloc dont les valeurs de luminance sont incluses dans [0, ,255], et sont dépendants lun de lautre : par exemple, lorsque le coefficient déchelle est égale à 1, le coefficient de décalage peut être de forte valeur pour ramener la luminance des pixels intérieurs au bloc dans la plage autorisée.
Lors du décodage, les mêmes coefficients b 2 et
b 1 sont appliqués sur les pixels dune image
quelconque servant à initialiser le décodeur. Ils peuvent donc retourner à la première
itération des valeurs de luminance sortant largement de lintervalle permis. Ces
erreurs sont en pratique ramenées dans lintervalle [0,
,255] par troncature,
mais elle se propage à la deuxième itération sur des zones quelconques de limage.
Elles tendent ensuite à sestomper puisque le coefficient déchelle b 2 est en module inférieur à 1. Un bloc erroné
(dont les luminances sortent largement de lintervalle
[0,
,255]), de grande taille, reste cependant longtemps visible au cours des
itérations, et impose à lutilisateur ditérer plus longtemps la
transformation fractale pour obtenir un résultat correct.
Une fois les coefficients calculés, ils sont quantifiés séparément à laide dun quantificateur scalaire uniforme, avant dêtre réintroduits dans lexpression de la distorsion. Ceci permet de prendre en compte les erreurs de quantification lors du calcul des similarités entre blocs. Ils sont quantifiés sur nb 2 et nb 1 bits. Il est vérifié expérimentalement que la combinaison : nb 2 = nb 1 = 6 bits est dans la plupart des cas la plus optimale.
La compression dimage par la méthode développée se traduit par :
la mémorisation de linformation nécessaire au codage des N transformations w composant lopérateur W ;
la mémorisation de la partition R adaptée au contenu de limage originale.
Codage des transformations locales
Le codage des transformations wi comprend :
lindice du bloc di à transformer (associé au bloc ri ). Lorsque le nombre de triangles source dans la partition régulière D est inférieur à 1024, lindice est codé sur ni = 10 bits ;
la manière de coller un bloc sur un autre bloc (il existe 6 solutions pour coller un triangle d sur un triangle r. La combinaison est codée sur nc = 3 bits.
le facteur déchelle b 2 quantifié uniformément sur nb 2 = 6 bits ;
le facteur de décalage b 1 quantifié uniformément sur nb 1 = 6 bits .
Une transformation wi est donc codée sur 10 + 3 + 6 + 6 = 25 bits.
Remarque
Les coefficients ai, bi, ci, di, ei et fi des transformations wi ne sont pas mémorisés car ils peuvent être calculés par le décodeur. La forme des blocs source et destination étant transmis par le codeur.
Codage des partitions
Précédemment, on a vu que la partition D est une partition régulière qui ne dépend pas du contenu de limage. donc, il suffit, pour la coder, de mémoriser le pas de partitionnement sur un seul octet.
Les techniques de codage de la partition R sont variées. Elles dépendent des algorithmes utilisés pour sa construction :
- Lorsque la partition est contrainte par les contours de limage (les triangles sappuient contre les contours), il est nécessaire de mémoriser les coordonnées des trois sommets de chaque bloc (triangle), cela signifie que le codage de la partition représente une grande portion dinformation totale à mémoriser.
- Lorsque la partition est réalisée à partir de la procédure de division seule ou de la division-fusion, au lieu de mémoriser les sommets de chaque triangle, la procédure consiste à ne mémoriser que les étapes de division et/ou de fusion, en partant dun partitionnement régulier connu du codeur et du décodeur. Lors des étapes de division, lajout dun point sur le barycentre dun triangle non-homogène est codé sur un bit. Lors de létape de fusion, la suppression dun sommet est de la même façon codée sur un bit.
Lalgorithme suivant résume les étapes du codage expliquées précédemment :
Calculer la triangulation D
mémoriser : Beta_2 et Beta_1 si erreur_iso < erreur_min alors {
num_iso (combinaison du collage de d_j sur r_i) |
Le processus du décodage commence par lallocation dune image initiale quelconque. Ensuite, le processus reconstruit les triangles source et destination en utilisant les paramètres nécessaires pour les deux partitionnements (le pas de la triangulation source ainsi que la manière de subdiviser les triangles destination qui sont récupérés à partir du fichier de limage
lopérateur W est donnée par :
![]()
le résultat converge en pratique au terme de 5 à 10 itérations vers limage reconstruite, attracteur de la transformation fractale.
Au cours des itérations, on applique pour chaque bloc destination la transformation locale nécessaire sur le bloc source correspondant.
Lalgorithme de décodage est résumé dans ce qui suit :
Reconstruire la triangulation D
lindice j du triangle d_j associé à r_i
} |
V.4 Acceleration du Codec (codage / decodage)
Orthogonalisation de lespace de collage
Oien [OIE 94] a proposé une solution permettant daccélérer la phase de décompression en effectuant une orthogonalisation des vecteurs de base b1 et b2 engendrant le sous-espace vectoriel de collage.
Le deuxième avantage de cette approche est de ne pas imposer de contraintes aux coefficients b 1 et b 2.
Lorthogonalisation de bloc b2 par rapport au vecteur constant unitaire b1 est faite à laide de la procédure de Gram-Shmidt. La procédure revient à multiplier le vecteur b2 par la matrice orthogonalisante O donnée par :
O = I - b1 b1T
Où I est la matrice didentité de dimension MxM (M est la dimension de b1).
Le vecteur orthogonalisé b 2 est donné par :
b 2 = Ob2
Ceci revient en pratique à enlever les composantes de b2 appartenant au sous-espace engendré par le vecteur b1, et donc à annuler les valeurs moyennes du bloc b2.
La transformation massique utilisée dans le nouveau sous-espace engendré par b1 et b2 est donnée par :
= a 2 b 2 + a 1 b1
Les coefficients a i sont dans ce cas indépendants les uns des autres.
G.Oien et S.Lepsoy [LEP 94] ont donné une solution pratique et rapide permettant dorthogonaliser explicitement les vecteurs b1et b2 pour calculer les valeurs de a 1 et a 2 en utilisant les deux relations :

dans lesquelles rj (resp. bj) sont les pixels intérieurs au bloc r (resp. b2).
Les coefficients b 1 et b 2 sont obtenus à partir des nouveaux coefficients a 1 et a 2 par les relations :

Nous avons vu que la durée importante de la phase de codage par fractales est essentiellement due au grand nombre de comparaisons entre les blocs destination de la partition R et les blocs source de la partition D. Notre but est daccélérer le codage en réduisant le nombre de comparaisons inter-blocs.
En effet, dés 1989, de nombreuses recherches ont débuté visant toutes à accélérer la phase de compression / décompression, et /ou répondre au compromis taux de compression / distorsion.
Dans ce paragraphe, on présente deux techniques permettant daccélérer la phase de codage : la classification des triangles et la quantification des blocs source. Dans notre logiciel, nous avons implémenté la deuxième technique.
A / Classification des triangles
Une méthode simple nous permet de regrouper les triangles de la partition D dans trois classes distinctes :
classe des triangles homogènes ;
classe des triangles avec contours ;
classe des triangles texturés.
Ceci est dans le but de réduire le nombre de comparaisons entre les blocs destination et les blocs source, en se basant sur le fait quun triangle destination ne sera comparé quavec les triangles source de même classe que le premier.
Lalgorithme de classification consiste à :
calculer le gradient de limage dentrée ;
séparer les triangles incluant des contours contrastés aux autres triangles ;
les autres triangles (nincluant pas de contours) seront regroupés dans deux autres classes (triangles homogènes, triangles texturés) en appliquant un seuil sur la variance du gradient.
B / Quantification des blocs source
Dans cette technique, on se propose de quantifier les triangles sources à laide dun quantificateur vectoriel (voir section II.6.1) de façon à ne conserver dans la partition D quun nombre réduit de triangles " représentatifs " de limage. Létude montre en outre quil nest pas nécessaire dutiliser toutes les parties de limage pour calculer lopérateur W définissant la transformation fractale et que quelques régions représentatives peuvent suffire (les collages se font bien sûr toujours sur le partitionnement complet R du support de limage) [DAV 96].
Notons que le fait dutiliser une triangulation D composée de blocs source qui ne se recouvre pas est une première simplification par rapport à lapproche optimale qui consiste à rechercher les blocs source parmi tous les blocs possibles de limage.
La solution consiste à calculer lhistogramme centré et normalisé des niveaux de gris de chaque triangle source de façon à quantifier des vecteurs de longueur constante et indépendants de la forme spatiale des blocs.
La réduction du nombre de triangles source dans la partition D est effectuée par quantification vectorielle de leurs histogrammes, en utilisant une version modifiée de lalgorithme de Linde, Buzo et Gray (LBG) [LIN 80], détaillé dans ce qui suit. Le critère de distorsion utilisé lors de la classification des vecteurs histogramme est celui de lerreur quadratique, donné par léquation suivante :
![]()
dans laquelle lh est la longueur des vecteurs et hdi(k), hdj(k) sont les amplitudes dindice k des histogrammes des triangles di et dj.
Lalgorithme LBG est modifié de manière à ce quil génère un dictionnaire constitué de vecteurs appartenant à la séquence dapprentissage (partition D). Pour cela, au lieu de retenir le vecteur " centroïde "de chacune des partitions du dictionnaire en cours délaboration, on retient plutôt le vecteur histogramme hd le plus proche du centroïde, au sens de lerreur quadratique.
Lalgorithme du codage est le même que celui décrit précédemment (section V.2.1) mis à part le fait quil ne considère quun nombre restreint de triangles source au sein de la partition régulière D.
Caractéristiques dun dictionnaire
A travers le schéma dun QV (section II.6.1), il est aisé de se rendre compte de limportance primordiale du dictionnaire utilisé lors des opérations de codage et de décodage.
Un dictionnaire, indépendamment de son mode de construction et du système de recherche employé, est défini par deux paramètres principaux :
son nombre de vecteurs représentants N ;
la dimension de lespace vectoriel : dimension des vecteurs représentants k.
Ces deux paramètres apparaissent étroitement liés et cest en essayant dajuster au mieux la valeur de ces paramètres quil sera possible de construire un bon dictionnaire.
Algorithme de Linde-Buzo-Gray
Cet algorithme connu sous le nom de LBG est une généralisation de la méthode proposée par Llyod [LLO 82] en 1960, pour la quantification scalaire. Il a pour but de générer une partition sur une image (séquence dapprentissage), partant dun dictionnaire initial composé de vecteurs les plus " éloignés " possibles. Ces vecteurs doivent être représentatifs des vecteurs rencontrés parmi les images à coder. Lalgorithme itératif converge vers un dictionnaire localement optimal.
Détail de lalgorithme
on se donne un dictionnaire initial C0 composé de Nc vecteurs Yi(i =1 Nc), une mesure de distorsion d, un seuil e ³ 0, un compteur ditération l = 0, une distorsion moyenne Dl-1 initialisée avec une très grande valeur et une séquence dapprentissage composée de n vecteurs (Xj , j = 1 n), D-1 = valeur_maximale, p : nombre maximum ditérations.
partant de dictionnaire Cl = (Yi , i = 1 Nc), trouver la partition Sl = (Si, i = 1 Nc) de la séquence dapprentissage minimisant la distorsion :
Xj Î Si si d(Xj , Yi) £ d(Xj , Ym), " m. Autrement dit :
La recherche de la distorsion minimale définit une région de décision Si pour chaque vecteur Yi du dictionnaire. Chaque vecteur Xj de la séquence dapprentissage inclus dans la région de décision Si est approximé par le vecteur Yi associé.
calculer la distorsion moyenne :
![]()
Cette expression permet de calculer la moyenne des distorsions minimales entre les n vecteurs Xj de la séquence dapprentissage et les vecteurs dapproximation Y correspondant (à ce niveau ditération de lalgorithme).
si
, le dictionnaire Cl est conservé. La procédure
sarrête. Sinon, continuer.
rechercher lensemble optimal des vecteurs dapproximation Y(Sl) = Y(Si),
(i = 1 Nc).
est le barycentre (centroïde) de la partition Si :
le nouveau vecteur dapproximation de chaque partition est le barycentre de tous les
vecteurs de la séquence dapprentissage appartenant à la partition. ||Si||
est le nombre de vecteurs dapprentissage Xj inclus dans la cellule Si.
Lutilisation de lerreur quadratique moyenne pour le calcul des vecteurs Y(Si)
reviendrait à calculer la moyenne des vecteurs de la séquence dapprentissage à
lintérieur des régions Si.
actualiser le dictionnaire : Cl+1 = Y(Sl), incrémenter l et aller à létape (2).
Cet algorithme doptimisation itératif travaille à partir dun dictionnaire initial. Le problème est donc reporté sur le choix de ce dictionnaire initial dont lexpérience a prouvé quil contribuait fortement aux performances de lalgorithme LBG. En effet, chaque itération ne provoquant quun changement local du dictionnaire, lalgorithme converge vers le minimum local le plus proche du dictionnaire initial.
Le nombre ditérations maximum a été introduit lors de la mise en uvre du QV afin de réduire le temps de conception des dictionnaires, cependant, le nombre maximum ditérations ayant été fixé à 20, celui-ci nintervient que dans de rares cas et nentraîne pas de hausse signifiante de la distorsion. Le problème est donc reporté sur la construction du dictionnaire initial.
Choix du dictionnaire initial
Différentes solutions permettent la généralisation du dictionnaire initial nécessaire à lalgorithme LBG. Nous nen citerons que deux :
Méthodes aléatoires
Les Nc vecteurs sont regroupés aléatoirement pour former le dictionnaire initial. Une solution est de prendre Nc vecteurs dans la séquence dapprentissage, ou dans différentes images. Les vecteurs doivent être le plus " éloignés " possible. Ce choix de vecteurs amène souvent dans un minimum local loin du minimum global.
Méthodes des divisions successives (algorithme de Splitting):
Linde, Buzo et Gray ont proposé de partir de la séquence dapprentissage. Le centroïde de celle-ci (moyenne de tous les vecteurs de la séquence) est calculé. Le vecteur résultant est divisé en deux (la division est réalisée en ajoutant une quantité +j et -j au vecteur). Lalgorithme LBG est ensuite exécuté pour retourner un dictionnaire optimal de taille deux. Le processus est itéré pour retourner un dictionnaire optimal de taille 22, 23, ,et enfin Nc.
Le procédé de construction est le suivant:
Etape 0: initialisation
initialiser le dictionnaire Y en prenant Y[0] = y0 où y0 est le centroïde de la séquence d'apprentissage prise dans son ensemble.
Noter u le vecteur de IRk ayant toutes ses composantes égales à 1.
Fixer une perturbation scalaire e .
Fixer le débit R.
Fixer un seuil de distorsion D .
Prendre r = 0.
Etape 1:
Perturber le dictionnaire courant
selon:

Incrémenter r.
Etape 2:
Considérer le nouveau dictionnaire
.
Exécuter l'algorithme de LBG sur le dictionnaire Y.
Si
Sinon
Cet algorithme a été mis en uvre lors de la conception de notre QV.
Avantages de la QV
Lavantage de la méthode est double puisquelle permet :
de diminuer très sensiblement la durée du codage (qui est dans ce cas sous-optimale) ;
daugmenter le taux de compression.
Nous donnons ci-dessous les expressions permettant de calculer le taux de compression lorsque lensemble des triangles de la partition D sont considérés (eq.V.1) et lorsque les triangles source sont quantifiés (eq.V.2) :

Où n est le nombre de bits nécessaires au codage de la largeur de limage supposée carrée, N est le nombre de triangles destination, 1 désigne le nombre de blocs source retenus après quantification de la partition D, X le nombre de bits codant les partitions D et R, et X est le nombre de bits codant la partition D seulement.
Les notations ni (ni = [log2 (M)]), nc, nb 2 et nb 1 sont les mêmes que celles utilisées dans la section V.3.1. Létape de quantification permet donc daugmenter le taux de compression si elle vérifie lexpression 1 (3*2*n)+X < N*ni+X.
Temps de calcul
Les temps de calculs sont importants pour le codage dune image. Ils dépendent directement du nombre N de triangles dans la partition R ainsi que le nombre Q de blocs considérés dans la partition D, puisque N*D comparaisons inter-blocs sont réalisés. La version actuelle de notre algorithme de compression est plus coûteuse en temps de calcul que la même version basée sur un partitionnement carré ou rectangulaire [FIS 95].
Ceci sexplique par le fait que la comparaison des triangles implique le calcul dune transformation affine pour chaque pixel du triangle destination. Des améliorations de lalgorithme consistaient à intégrer la QV lors du codage, des gains importants en temps de calcul et taux de compression ont été observé.
Mesure de la qualite visuelle de limage reconstruite
La mesure de la performance dun codeur en terme de qualité visuelle de limage reconstruite se fait généralement en mesurant le rapport signal à bruit ou le rapport signal à bruit de crête dont les expressions sont données ci-dessous :
Le rapport signal à bruit, noté SNR, entre limage originale composée de pixel f(x,y) et limage décodée composée de pixels F(x,y) est donnée par :

Le rapport signal à bruit de crête, noté PSNR, (plus souvent utilisé en compression) est donné par :

Nous avons décrit dans ce chapitre lapproche développée, à savoir, la compression des images fixes par lapproximation fractale fondée sur la triangulation de Delaunay. Le partitionnement, calculé sur un ensemble initial de points, est adapté au contenu de limage. Ce partitionnement est souple et permet davoir des blocs de petites tailles sur les régions contenant beaucoup de détails et inversement. Nous avons montré comment coder efficacement une telle triangulation, et comment lutiliser pour le calcul de la transformation fractale. Cette dernière diffère des schémas classiques pour la principale raison suivante : le rapport de taille entre les blocs source et les blocs destination nest pas constant. Nous avons présenté aussi une amélioration de la phase de décodage qui consiste à orthogonaliser lespace de collage, ceci permet de diminuer le nombre ditérations pour la reconstruction de limage codée. Cependant, la grande amélioration est celle du temps du codage et du taux de compression. En effet, en réduisant le nombre de triangles source à prendre en considération lors du calcul de la transformation, nous avons réduit largement le nombre de comparaisons inter-blocs. Lalgorithme proposé utilise un dictionnaire statique construit à partir dune base de donnée de 14 images de types différents, et de tailles égales. Cet algorithme nest donc pas itératif, vu quil utilise le même dictionnaire déjà utilisé lors du codage, pour une reconstruction rapide de limage dentrée, avec une qualité de reconstruction acceptable. |

© 1999, KADDOUR Chakib
| Réactions ? Commentaires ? Suggestions ?
Cliquez Ici
|