CHAPITRE III

IFS et Transformations Fractales

 

Table des Matieres :

III.1  GENERALITES SUR LES FRACTALES *

III.1.1 INTRODUCTION *

III.1.2  LES OUTILS MATHEMATIQUES *

III.1.3 QUELQUES DEFINITIONS DANS L’ESPACE *

III.1.4 TRANSFORMATION DES ESPACES METRIQUES *

III.1.4.1  TRANSFORMATION AFFINE *

III.1.4.2  TRANSFORMATION LIPSCHITZIENNE *

III.1.4.3  POINT FIXE *

III.1.4.4 TRANSFORMATION CONTRACTANTE SUR L’ESPACE H(IR2)

III.1.4.5  TRANSFORMATION FINALEMENT CONTRACTANTE  *

III.1.5  LES BASES THEORIQUES *

III.2  THEORIE DES IFS ET COMPRESSION PAR FRACTALES *

III.2.1 PRINCIPE DE LA COMPRESSION PAR IFS *

III.2.2 DEFINITION D’UN IFS *

III.2.3 ATTRACTEUR D’UN IFS *

III.2.4  THEOREME DE COLLAGE *

III.2.5  THEOREME DE COLLAGE GENERALISE *

III.2.6  PROBLEME INVERSE *

III.2.7  LA LIMITE DES IFS *

III.3  COMPRESSION D’IMAGES BASEE SUR LES PIFS *

III.3.1  AUTO-SIMILARITE DANS LES IMAGES *

III.3.2 POINT FIXE DU PIFS *

III.3.3 TRANSFORMATION DE L’IMAGE *

III.3.4 METHODE DE JACQUIN *

III.3.5  METHODE DE Y. FISHER *

III.3.6  EXTENSIONS *

III.3.7  CONCLUSION *

 

III.1  Generalites sur les fractales

III.1.1 Introduction 

L’homme a toujours été fasciné par la nature, ses objets, leurs diversités et leur complexité. A travers les siècles, il essaya de symboliser les objets qui l’avaient intrigués, puis extraire des fonctions modélisant les formes géométriques telle que l’ellipse, l’hyperbole,..., sans pour autant pouvoir modéliser les vues naturelles, paysages ou fleurs par exemple.

L’avènement de la géométrie des fractales a résolu ce problème, grâce à B.Mandelbrot en 1967, et ensuite à M.F.Barnsley qui, dans son livre " Fractals everywhere ", a réussi à simplifier et concrétiser les notions théoriques de cette géométrie et leur trouver même des applications (en outre la construction et compression d’image). Il a aussi présenté les mathématiques des systèmes de fonctions itérées (IFS) (basées sur l’utilisation de transformations affines contractantes). Mais vu leur insuffisance (compression d’image naturelle telle qu’un visage), il développa, un schéma modifié appelé PIFS (Partitionned Iterated Functions Systems), en mettant en évidence, un algorithme, qui peut automatiquement, convertir une image en un PIFS.

Plus tard, A.Jaquin a pu implémenter cet algorithme en software, sur lequel tous les programmes contemporains de compression d’images par fractales y sont basés.

On peut conclure par un récit de M.Barnsley, de son livre cité précédemment : " La géométrie des fractales va vous montrer n’importe qu’elle chose de manière différente. Vous risquez la perte de votre vision d’enfance sur les nuages, les forêts, les galaxies, les feuilles, les rochers, les montagnes, les chutes d’eau, les tapis, les briques et beaucoup d ‘autres choses. Votre interprétation sur les choses ne sera plus jamais la même "[BAR 93].

III.1.2  Les outils mathematiques 

Les outils mathématiques sur lesquels a été fondée la géométrie des fractales sont :

 la théorie de l’espace,

la théorie d’itérations,

ƒ les notions de topologie (géométrie de situation).

La nécessité d’évaluer quantitativement le rapprochement entre deux objets, est une raison d’introduire et d’utiliser les notions de l’espace, de métrique (distance) et des transformations.

 

III.1.3 Quelques definitions dans l’espace 

III.1.3.1  Notion d’un espace 

Dans la géométrie des fractals, nous sommes concernés par la structure des sous-ensembles des variétés d’espaces géométriques très simples. Un tel espace est dénoté par X. Il est l’espace sur lequel on veut dessiner nos fractales. Qu’est-ce qu’une fractale?, jusqu'à présent, c’est un sous ensemble de l’espace.

III.1.3.2  Metrique ou distance 

Definition [bar 93] :

Une fonction à valeurs réelles d définie sur XxX, est appelée une distance ou une métrique sur X si elle vérifie, pour tout a, b, c Î X, les axiomes suivants :

 d(a,b) ³ 0 et d(a,a) = 0

d(a,b) = d(b,a) (symétrie)

ƒ d(a,c) £ d(a,b) + d(b,c) (Inégalité triangulaire)

Si a¹ b alors d(a,b) > 0.

Le nombre réel d(a,b) est appelé la distance de a à b.

 

Exemple : La métrique euclidienne dec définie sur IR:

dec(x,y) = |x-y|

 

Definition [bar 93] :

Tout espace X muni de la métrique d est appelé espace métrique et noté (X,d).

 

III.1.3.3 Espace metrique complet [BAR 93]

La géométrie des fractales est concernée par la description, la classification, l’analyse et l’observation des sous-ensembles des espaces métriques (X,d).

 

Définition 1 : Suite de Cauchy : Une suite {Xn}n=1,¥ de points dans l’espace métrique (X,d) est appelée une suite de Cauchy, si :

" e > 0 , $ N entier, N> 0 tel que d(xn, xm)<e , " n,m>N.

 

Définition 2 : Un espace métrique(X,d) est complet, si chaque suite de Cauchy dans X a une limite xÎ X. C’est à dire : {Xn}n=1,¥ converge vers x.

En d’autres termes, $ N> 0 tel que d(xn, xm)<e , " n>N.

 

III.1.3.4  L’espace metrique h(x) [bar 93]

C’est l’espace où l’on étudie la géométrie des fractals ; on travaille généralement dans quelques espaces métriques complets, (IR2,d). Mais pour traiter des images, des dessins ou des sous-ensembles noir et blanc de l’espace, il est nécessaire d’introduire l’espace H.

 

Définition 1 :Soit (X,d) un espace métrique complet. H(X) décrit l’espace dont les points sont les sous-ensembles compacts de X autres que l’ensemble vide.

Un sous-ensemble S est compact ssi il est fermé et borné.

La métrique utilisée dans l’espace H(X) est la distance de Haussdorf, notée h.

 

Définition 2 : La distance de Haussdorf entre deux ensembles A et B de H(X) est définie par : max(d(A,B),d(B,A))

où : d(A,B) = max {d(x,B), xÎ A}

et d(x,B) = min {d(x,y), yÎ B}

 

 III.1.4 Transformation des espaces metriques [BAR 93]

Soit X un espace. Une transformation (mapping on X) est une fonction

telle que :

 Si S Ì X alors f(S) ={f(x) :xÎ S}

Si f(x) = f(y) avec x,y Î X alors x = y

ƒ f(X) = X.

f est dite inversible si et seulement si il est possible de définir une transformation  , appelée la transformation inverse de f, telle que f -1(y) = x, où xÎ X est le point unique vérifiant y = f(x).

III.1.4.1  Transformation affine [bar 93]

III.1.4.1.1 Dans la ligne reelle (ir) 

Les transformations affines dans IR sont des transformations f : de la forme :

f(x) = ax + b " xÎ IR, a, b constantes réelles.

III.1.4.1.2 dans le plan eucledien (ir2) 

Les transformations affines dans IR2 sont des transformations de la forme :

f(x,y) = (ax+by+e, cx+dy+f) " (x,y)Î IR2.

Où a, b, c, d, e, et f sont des constantes réelles. F est dite transformation affine à deux dimensions.

 

III.1.4.2  Transformation lipschitzienne [dav95]

Soit : une transformation définie sur l’espace métrique (IR2,d), d représente la distance entre deux points de IR2. La transformation W est dite lipschitzienne, avec pour facteur de lipschitz le réel s strictement positif si :

 

d(W(x),W(y)) £ s.d(x,y) " (x,y)Î IR2.

La transformation W est dite contractante si : 0 < s < 1.

 

III.1.4.3  Point fixe [dav 95] 

Une transformation contractante W possède un unique point fixe xf Î IR2, tel que

W(xf) = xf. Pour tout point x élément de IR2, la séquence {W0n(x) :n=0,1,2,...}converge vers xf.

" x Î IR2.

 

III.1.4.4 Transformation contractante sur l’espace h(IR2) [dav 95]

Soit une transformation contractante   définie sur l’espace métrique (IR2,d) avec le réel s pour facteur de contraction. La transformation  :

définie par :

W(B) = {W (x) : x Î B}, " B Î H(IR2),

est contractante sur ( H(IR2),hd ), avec s pour facteur de contraction, hd désigne la distance de Haussdorf.

 

III.1.4.5  Transformation finalement contractante [dav 95]

Soit une transformation lipschitzienne W. S’il existe un entier n tel que la transformation W0n est contractante, alors W est dite finalement contractante. L’entier n est appelé exposant de contraction.

 

III.1.5  Les bases theoriques 

III.1.5.1  Definition des fractales 

Une fractale est un sous-ensemble A d’un espace métrique X, tel que A est extrêmement compliqué géométriquement. Le terme " fractal " est issu du latin " fractus " qui signifie brisé, irrégulier. Un objet fractal est une structure géométrique qui se reproduit sans fin à toutes les échelles [MAS 92].

Un objet fractal se caractérise par les propriétés suivantes [FAQ 96] :

 Ses parties ont la même forme ou structure que l’objet global à la différence quelles sont à une échelle réduite et peuvent être légèrement déformées.

Sa forme est soit extrêmement irrégulière, soit extrêmement interrompue ou fragmentée, et ce quelle que soit l’échelle d’examen ;

ƒ Il contient des éléments distinctifs dont les échelles sont très variées et couvrent une très large gamme.

 

III.1.5.2  L’auto-similarite 

Un objet fractal est dit self-similaire ou auto-similaire s’il est composé de N copies de lui même, chacune étant une réduction d’un facteur r selon toutes les coordonnées de l’objet global [MAS 92] (auxquelles des transformations affines, comme les translations ou rotations peuvent ou non être impliquées). On cite comme exemple la poupée russe qui renferme en elle une poupée plus petite, qui à son tour renferme une troisième poupée similaire et ainsi de suite.

La notion d’auto-similarité revient dans plusieurs contextes car les objets naturelles sont auto-similaires (ou presque) : " les montagnes sont formés de piques qui sont à leurs tours formés de pics plus petits ....[MAN 83] ".

Exemple :

Le triangle de Sierpinski : Ce triangle est constitué de trois triangles qui sont une réduction d’un facteur d’échelle de l’ensemble, et chacun des trois triangles est lui même constitué de trois autres triangles qui sont une réduction d’un facteur ...etc.

 

Figure III.1 : Triangle de Sierpinski.

 

En prenant en considération l’auto-similarité, on peut représenter les images (les formes redondantes) par un nombre restreint de paramètres, plutôt que de stocker les images de chaque feuille de chaque arbre, ou de chaque pic de chaque montagne, il est possible et préférable de faire appel à une fonction relativement simple qui génère n’importe quel niveau de détails. C’est le théorème de M.F.Barnsley appelé IFS (Iterated Functions System)

[BAR 93].

III.1.5.3  La dimension fractale 

La dimension fractale d’un objet traduit la manière dont il occupe l’espace, c’est un concept métrique, qui mesure le degrés d’irrégularité ou de brisure de l’objet fractal.

L’expression mathématique de la dimension fractale d’un objet A est donnée par :

 

D =

Où : N(A, e ) = couverture de A = plus petit entier M tel que AÌ

B(xn,e ) :Boule centrée en xn et de rayon e . AÎ H(X).

 

III.2  Theorie des ifs et compression par fractales

La compression d’images basée sur les fractales, est une méthode de compression dans laquelle les similarités au sein de la même image à différentes échelles, seront utilisées pour la compression.

La théorie des IFS est une extension de la géométrie classique. Elle utilise un ensemble de transformations affines pour exprimer des relations entre les parties d’une même image. En utilisant seulement ces relations, on peut exprimer et définir des images complexes (nuages, feuilles, arbres,...etc.).

Avec la théorie des IFS, on peut décrire aussi clairement des nuages qu’un architecte puisse décrire une maison. [BAR 93].

 

III.2.1 Principe de la compression par ifs 

Le principe de la méthode de compression dite par IFS ou fractale est l’exploitation des auto-similarités des images naturelles.

L’auto-similarité  désigne la propriété qui fait que certains objets peuvent être construits à partir de parties d’eux même moyennant des transformations spécifiques. Les auto-similarités dans une image peuvent être considérées comme un type particulier de redondances.

En effet, au lieu de rechercher la corrélation entre les pixels adjacents, on s’intéresse à des corrélations entre parties plus au moins espacées dans l’image.

III.2.2 Definition d’un ifs [bar 93][bar 93a]

Un IFS (Système de Fonctions Iterées) W de facteur de contraction S est un ensemble de n transformations contractantes linéaires : w1 , w2 , ..., wn définies dans un espace métrique

(X,d) avec :

S = Max ( Si , i =1,..., n)

Où :

X : espace des images ; d : une mesure de distance .

On le note :{X ; wi, i=1,2,...,n}.

Les transformations wi composants un IFS sont des transformations affines.

Soit A un sous ensemble d’un plan, considérons A comme une image, le collage obtenu par l’application de N contractions à A et l’assemblage du résultat peut être exprimé par :

Les wi peuvent être décrites comme une combinaison de rotation, de réduction d’échelle et de translation de coordonnées des axes dans un espace à n-dimension(s).


Où : a, b, c, d, e, et f représentent des nombres réels ( paramètres de transformation ) .

On peut générer les valeurs des transformations comme suit :

a = r cosq , b = -s sinj , c = r sinq , d = s cosj

Où : r : est le facteur de réduction sur x

s : est le facteur de réduction sur y

q : est l’angle de rotation sur x

j : est l’angle de rotation sur y

e : est la translation en x

f : est la translation en y

 

Comment peut-on trouver une transformation affine W qui produit un effet désiré ? .

Voyons comment trouver la transformation affine qui transforme une grande feuille en une petite (voir figure III.2), i.e. trouver les paramètres a, b, c, d, e et f pour lesquels la transformation W a la propriété suivante :[BAR 93A]

W(grande feuille) » petite feuille.

 

Figure III.2 :transformation d’une grande feuille en une petite feuille.

 

La procédure à suivre est :

 Introduire des axes x et y.

Marquer trois points sur la grande feuille et déterminer leurs coordonnées (x1,y1), (x2,y2), (x3,y3).

Marquer les trois points correspondants sur la petite feuille et déterminer leurs coordonnées (a 1,b 1), (a 2,b 2), (a 3,b 3) respectivement.

ƒ Déterminer les valeurs des coefficients a, b et e par la résolution du système des trois équations suivant :

Déterminer c, d, et f de la même manière par le système des trois équations suivant :

Chacune des transformations wi doit avoir une probabilité Pi, avec une importance relative aux autres transformations.

La somme des probabilités est égale à 1.

Association des probabilites [bar93]

On associe à chaque transformation affine wi d’une image A une probabilité Pi calculée par l’expression suivante :

 

Pi(wi) » Où :

Pour i = 1,2,...,n.

 

Remarque : Si un des nombres Pi est nul, il faudra le remplacer par une petite valeur positive (0.001 par exemple) et ajuster les autres probabilités de façon à ce que leur somme soit égale 1.

 

Exemple :[DAV95]

Soit un IFS {IR;w1,w2,w3 }composé des transformations affines suivantes :

Son facteur de contraction est égal à 1/4.

Toutes les transformations réduisent l’objet initial par 0.5 (dans chaque direction). Le point fixe de cet IFS est appelé " triangle de Sierpinski " (Figure III.3)

 

Figure III.3 :construction de triangle de Sierpinski.

Le carré initial centré à l’origine et de cotés de longueur 2x0, 2y0 est transformé en trois carrés homothétiques par les transformations w1,w2,w3. Ce processus est en suite itéré.

III.2.3 Attracteur d’un ifs [dav95]

Soit un IFS {IR;wi, i=1,2,...,n}. L’opérateur W : défini par :

W(B) = wi(B), " BÎ H(IR2)

est contractant et a pour facteur de contraction celui de l’IFS. L’opérateur W possède un unique point fixe At donné par :

 

At = W(At) = won(x), " xÎ H(IR2).

L’objet At est appelé attracteur de l’IFS et il est égal à l’union de n copies de lui même transformées par w1,w2,...,wn.

 

III.2.4  Theoreme de collage [bar 93a]

Soit l’espace métrique complet (X , d). Soit un point A Î H(X) et un IFS

{X ;wi, i=1,2,...,n} avec le réel s, 0 £ s < 1 pour facteur de contraction.

On vérifie la relation :

hd(A,At) £ hd(A, ,   " AÎ H(X).

Ce théorème fournit une borne supérieure à la distance de Hausdorff hd entre un point A inclus dans H(X) et l’attracteur At d’un IFS.

Il indique que s’il est possible de transformer un objet A de manière à vérifier

 

A» W(A)

tout en s’assurant que W est contractante, alors le point fixe At de l’opérateur W est proche de A.

 

III.2.5  Theoreme de collage generalise [dav95]

Considérons l’opérateur W finalement contractant, avec pour exposant de contraction l’entier n ; il existe alors un unique point fixe xf Î X, tel que :

xf = W(xf) = won(x), " xÎ H(X).

Dans ce cas :

hd(A,At) £ hd(A, ,

a est le facteur de Lipschitz de W et s est le facteur de contraction de W.

III.2.6  Probleme inverse 

Jusqu’ici, on a vu que les IFS permettent la génération d’images totalement auto-similaires en utilisant un nombre restreint de transformations. Seulement, dans le cadre de l’application de la géométrie fractale pour la compression d’images et étant donnée une image initiale (image fractale), il est important de trouver le bon IFS de telle sorte que l’attracteur de l’IFS est l’image à coder. La recherche de cet IFS permettant d’approximer une image donnée est un problème inverse difficile à résoudre. Barnsley montre qu’à l’aide du théorème de collage on peut résoudre ce problème. Toutefois, ce théorème ne fournit aucune méthode pour trouver l’IFS. Cette image approximée reste quasiment invariante et on obtient des taux de compression trop élevés, puisque la mémorisation des coefficients de la transformation fractale W nécessite " moins d’informations " que la mémorisation de l’image originale. Dans ce cas, on dit que la compression d’image par fractale est une méthode de compression avec perte du fait que l’attracteur ne constitue qu’une approximation de l’image originale.

L’approximation de l’image à partir d’elle même n’est pas facile à réaliser lorsque celle- ci n’est pas auto-similaire.

 

III.2.7  La limite des ifs 

Les IFS ont montré leur bonne performance en compression (des taux très élevés), ce qui est très important, cependant, deux aspects montrent leur insuffisance :

 les images compressées sont des figures typiquement fractales (similarité à tous les niveaux), alors que les images du monde réel tel que le visage d’un homme ou une maison ne sont pas tout à fait fractals (auto-similarité par régions).

Ce sont des images à deux niveaux : noir et blanc, alors qu’on veut coder les images à plusieurs niveaux de gris.

Pour surmonter ce problème, on fait appel aux PIFS (Partitionned Iterated Function System) qui constituent une extension des IFS et qui peuvent donc coder n’importe quelle image.

 

III.3  Compression d’images basee sur les pifs

Pour pouvoir exploiter la similarité entre les régions d’une image quelconque, on va utiliser une méthode qui complémente la méthode des IFS et qui introduit le partitionnement et la génération des niveaux de gris, c’est la méthode des PIFS.

On introduira les méthodes de base permettant d’associer à une image naturelle une transformation finalement contractante W ayant pour attracteur une approximation de l’image elle-même.

 

III.3.1  Auto-similarite dans les images 

les images réelles ne contiennent pas le même type d’auto-similarité que celui des fractales tel que le triangle de Sierpinski ou la fougère de Barnsley, où l’image est constituée de l’union des répliques réduites de l’image entière. En effet, l’image réelle est formée de copies des parties d’elle-même. On le voit clairement sur l’image de LENA (Fig.III.4), où un échantillon de régions sont similaires à différentes échelles : une portion de son épaule chevauche (ou repose sur ) une région qui lui est presque identique, et la portion de reflet du chapeau dans le miroir est similaire(après transformations) à une partie de son chapeau. On devra alors, tolérer quelques erreurs, lors du codage de l’image comme un ensemble de transformations. L’image codée ne sera pas donc une copie identique de l’image originale mais plutôt une approximation d’elle-même.

l’image de LENA

Figure III.4 Les parties auto-similaires dans l'image Lena.

 

III.3.2 Point fixe du pifs [fis94][pei92]

Dans ce cas, le théorème du point fixe reste valable. Ainsi, pour toute image initiale f0, la séquence :

converge vers une image f qui vérifie

L’image f, notée |W|, est appelée le point fixe ou l’attracteur de la transformation W.

 

III.3.3 Transformation de l’image 

La compression d’une image par fractales repose sur une transformation que nous appelons transformation fractale et qui consiste à transformer l’image à l’aide d’un opérateur finalement contractant, de manière à ce que son aspect visuel reste quasiment inchangé. Pour cela, la transformation de l’image est composée de n sous-transformations élémentaires, chacune opérant sur un bloc de l’image, de la manière suivante (voir Figure III.5) :

L’image A (du départ) est partitionnée en n blocs rn appelés blocs destination (ou blocs range). Elle s’ecrit : A=

Cette partiton du support de l’image en blocs destination est appelée partition R.

Chap3Img1.JPG (18063 octets)

figure III.5 : Blocs destination ri et blocs source di

Chaque bloc destination est ensuite mis en correspondance avec un autre bloc transformé wi(di) lui " ressemblant " au sens d’une mesure d’erreur sur les niveaux de gris. Le bloc di, appelé bloc source est recherché au travers d’une librairie composée de Q blocs appartenant à l’image. Les Q blocs ne forment pas nécessairement une partition de l’image mais sont représentatifs de toute l’image. La géométrie de la région di doit être proche de celle de bloc ri , de façon à limiter les temps de calcul lors des comparaisons inter-blocs, puisque ceux-ci sont liés à la complexité de la transformation spatiale utilisée.

Une seconde contrainte impose que les blocs source soient en moyenne de surface supérieure à celle des blocs destination.

La transformation W de l’image A est formulée à l’aide de l’équation suivante :

W(A) = wi(di) =

est l’approximation du bloc destination ri obtenue en transformant le bloc source di par wi (l’opération permettant d’obtenir le bloc à partir du bloc di est appelée opération de collage).

Chaque transformation wi s’écrit sous la forme :

Où i = 1,...,n.

On peut l’écrire aussi :

 

wi(A) = wi( x,y,f(x,y)), f(x,y) = niveau de gris.

Le niveau de gris constitue ici la troisième dimension, si contrôle le contraste et li la luminance.

Pour que le codage par fractales soit efficace, il doit y avoir suffisamment de similarités locales à diverses échelles entre les blocs de la partition R et les blocs source di . Lorsque ceux-ci sont recherchés dans toute l’image, la condition est généralement vérifiée. Si la recherche se fait dans une partition contenant un nombre restreint de blocs, le codage n’est plus optimale, mais plus rapide. Le but est de trouver le meilleur compromis entre le nombre de blocs source disponibles pour les recherches de similarités, et la ressemblance entre les blocs de la partition R et les blocs di .

Bien que dans la pratique, il est plus facile d’utiliser des blocs carrés, il est toujours possible d’utiliser d’autres formes telles que les rectangles, triangles, polygones,...etc.

Les conditions de base pour la conception d’un système de codage d’image digital basé sur les fractales sont :

 Le choix de partitionnement de l’image ;

Le choix de la mesure de distorsion ;

ƒ Le choix des transformations fractales.

III.3.3.1 Partitionnement de l’image [dav 96][tab 96]

Pour minimiser le nombre de blocs à coder et de là, le nombre de transformations locales, différents modèles de partitionnement d’images pour la compression par fractales ont été étudiés, nous citerons :

Partitionnement carré : uniforme ou à deux niveaux, très utilisé de fait qu’il est facile à réaliser, il a été adopté dans la méthode de Jacquin.

Partitionnement quadtree : Vu l’utilisation de blocs de taille fixe dans le partitionnement carré, ce qui constitue un lourd inconvénient (existence de régions contenants beaucoup de détails), une généralisation de ce dernier est l’utilisation d’un partitionnement quadtree.

Réalisé par un découpage récursif en blocs carrés (quatre quadrants de même dimension), ce processus est représenté par un arbre de degré quatre (à chaque noeud interne, correspond quatre fils), la racine correspond à l’image entière.

Partitionnement rectangulaire : Il est semi-rigide dans le sens où les arêtes des blocs demeurent obligatoirement soit horizontales, soit verticales : la géométrie des blocs est à orientation définie.

Partitionnement HV (Horizontal Vertical) : L’image est partitionnée horizontalement et verticalement avec récursivité pour former deux nouveaux rectangles. Il est flexible car la position de la partition est variable.

Partitionnement à base de polygones : L’image est partitionnée adaptativement en polygones (processus récursif). Cette technique permet une meilleure représentation des objets formant l’image. Il est flexible car la position de la partition est variable et permet de représenter les régions avec beaucoup de détails.

Partitionnement triangulaire : Il est souple car il est calculé sur un ensemble de points pouvant être positionnés à peu prés n’importe où sur le support de l’image.

III.3.3.2 La mesure de distorsion 

On a vu précédemment la métrique de Haussdorf, qui est une mesure de distance entre deux sous-ensembles de IRn. Dans le cas des images, on définit la distance comme une mesure de degré de proximité ou de ressemblance entre deux images. Plusieurs métriques existent dans l’espace des images, on site :

 La métrique SUP définie par :

d(f,g) = SUP | f(x,y) - g(x,y) |

(x,y)Î I2

f(x,y)Î [0,n] = I ; g(x,y)Î [0,n] = I. (En considérant les images f et g comme des images carrées de taille nÎ n).

Cette métrique recherche la position (x,y) où les deux images f et g diffèrent le plus, et considère cette différence comme étant la différence entre elles. Elle est plus utilisée en théorie. [KOM 95].

En pratique, on a :

L2 DISTANCE (distance quadratique moyenne) :

dL2 (f,g) = L2 distance (f,g) =

ƒ L1 DISTANCE :

 

dL1 (f,g) = L1 distance (f,g) =

La distance RMS (Root Mean Squared) :

 

Ces trois distances sont très utilisées car elles sont faciles à calculer et donnent une bonne indication sur le degré de ressemblance entre deux images.

 

iii.3.4 methode de jacquin [dav 95]

L’approche de A. Jacquin [JAC 92] est fondée sur une partition R à géométrie carrée. L’image est partitionnée en blocs destination (ou blocs parents) carrées de taille fixe égale à B*B pixels (B = 8). L’algorithme recherche, pour chacun des blocs destination ri ,le bloc source di de taille D*D (D = 2B) qui minimise l’erreur d(ri,), où est l’approximation de ri calculée à partir du bloc source di. La mesure d’erreur d est donnée par :

d(ri , ) =

et sont respectivement les valeurs des pixels d’indice j à l’intérieur du bloc original ri et du bloc collé .

 

Collage d’un bloc source sur un bloc destination :

L’opération de collage d’un bloc source di sur un bloc destination ri, réalisée par la transformation wi, se décompose en deux parties :

 

La transformation spatiale (géométrique) : Elle ramène le bloc source di de taille D*D à l’échelle et au-dessus du bloc destination ri de taille B*B. Le bloc ainsi transformé, noté b2(i), est obtenu par décimation des pixels du bloc source : un pixel de coordonnées (xi , yj) dans b2(i) est donné par l’équation suivante :

b2(i)(xi , yj) =

dans laquelle (xk , yl) sont les coordonnées d’un pixel de niveau de gris noté ti à l’interieur du bloc di.

Chap3Img2.JPG (21456 octets)

Figure III.6 : Trasformation spatiale d'un bloc "source"

 

La transformation massique :

Elle agit sur la luminance des pixels du bloc b2(i) pour approximer le bloc destination ri.

Les transformations massiques utilisées appartiennent à deux classes :

 

1ere classe : Elles agissent seulement sur les valeurs des pixels :

 Absorption par g: La valeur du pixel (i , j) est affectée (forcée) par la valeur de g0.

M0(b2(i))i,j = g0, g0 Î {0,...,255}.

 

Translation de luminance : On ajoute à la valeur de pixel (i , j) une constante D g.

M1(b2(i))i,j = b2(i)i,j + D g, D g Î {-255,...,0,...,255}

 

ƒ Echelonnage par a ou modification de contraste (contrast scaling) :

M2(b2(i))i,j = a b2(i)i,j , a Î [0,1].

 

Inverse de couleurs : On inverse la couleur du pixel (i , j) en la substituant à la valeur maximale des niveaux de gris gmax [TAB 96].

M3(b2(i))i,j = gmax – b2(i)i,j

Où Mk (b2(i))i,j  est la transformation massique numéro k.

 

 

2eme classe : Elles ne modifient pas les valeurs des pixels, mais les mélangent ou les déplacent  dans les blocs, elles sont appelées les isométries, elles sont au nombre de huit :

1°) Identité :

ISO0(b2(i))i,j = b2(i)i,j.

2°) Réflexion orthogonale par rapport à l’axe de symétrie horizontal (i =(B-1)/2) :

ISO1(b2(i))i,j = b2(i)B-1-i,j.

3°) Réflexion orthogonale par rapport à l’axe de symétrie vertical (j =(B-1)/2) :

ISO2(b2(i))i,j = b2(i)i,B-1-j.

4°) Réflexion orthogonale par rapport à la première diagonale (i = j) :

ISO3(b2(i))i,j = b2(i)j,i.

5°) Réflexion orthogonale par rapport à la seconde diagonale (i+j =B-1) :

ISO4(b2(i))i,j = b2(i)B-1-j, B-1-i.

6°) Rotation à +90° :

ISO5(b2(i))i,j = b2(i)j, B-1-i.

7°) Rotation à +180° :

ISO6(b2(i))i,j = b2(i)B-1-i, B-1-j.

8°) Rotation à -90° :

ISO7(b2(i))i,j = b2(i)B-1-j, i.

 

Classification des blocs : La complexité de la transformation massique dépend de la nature du bloc ri considéré. Jacquin propose pour cela de classifier les blocs carrés à l’aide de la méthode développée par Ramamurthi et Gersho [RAM 86]: trois classes regroupent :

Les blocs homogènes (blocs shade) : blocs presque uniforme, qui présentent des variations de luminance négligeables ;

Les blocs texturés (blocs midrange) : se caractérisent par des gradients moyens, mais ne définissent aucun contour ;

Les blocs avec contours (blocs edge) : simples et divisés, ils présentent une brusque variation de niveau de gris le long de la limite d’un objet.

Selon la classe à laquelle appartient le bloc destination ri, une transformation massique plus ou moins complexe lui est associée. Celle-ci dépend du bloc décimé b2(i) et/ou d’un bloc constant b1(i) formé de pixels tous égaux à un. Au bloc b2(i) sera associé un coefficient d’échelle noté b 2(i) et au bloc b1(i) un coefficient de décalage noté b 1(i). Le choix de la transformation est fonction de la procédure suivante :

 

si le bloc ri est homogène : absorption des niveaux de gris de ri. Aucune recherche de blocs source di n’est effectuée. La transformation de ri, codée sur s bits, est donnée par :

= b 1(i) b1(i)

où l’entier b 1(i) est compris entre 0 et 255.

si le bloc ri est texturé : recherche de bloc source di, puis modification de contraste et décalage. La transformation de di , codée sur m bits, est donnée par :

= b 2(i) b2(i) +b 1(i) b1(i)

b 2(i) appartient à l’ensemble {0.7,0.8,0.9,1.0}et l’entier b 1(i) est compris entre -255 et 255.

si le bloc ri contient des contours : recherche du bloc source di , puis modification de contraste, décalage et isométrie discrète ISOi . La transformation de di , codé sur e bits est donnée par :

= ISOi(b 2 (i) b2(i) +b 1(i) b1(i))

b 2(i) appartient à l’ensemble {0.5,0.6,0.7,0.8,0.9,1.0}et l’entier b 1(i) est compris entre -255 et 255.

Lorsque le bloc destination est texturé ou recouvre des contours, le coefficient d’échelle b 2 est calculé de manière à rendre égaux les écarts types des deux blocs b2(i) et ri. Il est ensuite approximé par le coefficient appartenant à un ensemble de valeurs prédéfinies réelles positives, et inférieures à 1. Le coefficient de décalage b 1 est calculé de manière à ce que les moyennes des pixels des deux blocs et ri soient égales. Il n’est pas quantifié.

Génération d’un domaine pool :

La recherche exhaustive du bloc source di est effectuée en déplaçant sur le support de l’image d’une position un bloc carré (fenêtre) par un pas de h = v = 4 pixels horizontalement vers la droite ou verticalement vers le haut, de manière à ce qu’elle reste à l’intérieur du support. La fenêtre étant initialement située dans le coin gauche bas du support. Lorsque deux blocs sont comparés, les huit isométries discrètes sont considérées. Pour une image de taille 256* 256 pixels, une telle recherche est ainsi effectuée au travers d’une librairie composée de Q blocs source où :

 

Q = k

avec : k =8 isométries, m = coté de l’image en pixels (256), D = coté du bloc source (16),

h = 4

Nous aurons Q = 29768 blocs sources.

Dans le cas d’une image de taille 512*512 pixels, le nombre Q de blocs source s’élève à 125000.

Les blocs source dans le domaine pool sont classifiés selon leurs caractéristiques géométriques perceptuels, utilisant l’étude de la classification de bloc d’image donnée par Ramamurthi et Gersho [RAM 86] [TAB 96].

 

Taux de compression :

Le taux en bits par pixels est donné par l’expression suivante :

bits/pixels.

Où :Nm, Ns, Ne désignent le nombre total des blocs destination texturés, homogènes et avec contours dans l’image. B est le cote du bloc destination.

 

Optimisation :

Jacquin propose dans un deuxième temps de rediviser les blocs parents collés en quatre sous-blocs destination de taille 4*4 pixels appelés blocs enfants. Les blocs obtenus sont comparés à leurs correspondants dans l’image originale, au sens de la mesure d’erreur donnée précédemment (III.3.4), avec b = 4. Si l’erreur est inférieure à un seuil donné, le code de la transformation parent est sauvegardé, sinon, ils sont codés séparément en recherchant dans l’image le meilleur bloc source de taille 8*8. Le processus de collage est dans ce cas appelé collage enfant.

Si pour un bloc parent, trois ou quatre collages enfant sont nécessaires, seuls sont codés les quatre collages enfants. Si un ou deux collages enfant sont nécessaires, le bloc parent est codé par le collage parent complété des collages enfants. Douze configurations sont possibles :

Chap3Img6.JPG (3739 octets)

Une transformation parent, pas de transformation enfant (1 configuration).

Chap3Img4.JPG (3922 octets)

Une transformation parent, une transformation enfant (4 configuration).

Chap3Img5.JPG (4498 octets)

Une transformation parent, 2 transformations enfant (6 configuration).

Chap3Img7.JPG (4391 octets)

Pas de transformation parent, 4 transformations enfant (1 configuration).

 

Codage de l’opération de collage sur un bloc destination :

La mémorisation du collage d’un bloc source(parent ou enfant) di sur un bloc destination (parent ou enfant) ri comprend :

 l’indice du bloc source retenu parmi les Q blocs de la librairie à condition que ceux-ci soient rangés dans une liste de blocs et que leur organisation sur le support de l’image soit connue. Sinon, il est nécessaire de mémoriser les coordonnées (xk , yl) d’un pixel de référence dans le bloc di (par exemple, le coin supérieur gauche dans le cas d’un bloc carré).

l’isométrie utilisée lors du collage (une parmi huit).