Vous êtes sur la page 1sur 27

17/12/2016

Chapitre V

Techniques de compression avec perte (lossy)


 Les méthodes avec perte (ou irréversibles) sont des méthodes, qui exploitent la
corrélation (ou redondance) dans le message source,
 L'information perdue est due à l'élimination de la redondance.
 La limite acceptable est définie par le type d'application,
 La quantification est un des mécanismes, qui produit des pertes d'information,

Message Message
original Transformation Quantification Codage compressé

Le schéma général d’un système de compression avec perte consiste à:


 Transformer la source en groupe de coefficients,
 Quantifier (tronquer) les coefficients (perte irréversible),
 Coder les coefficients quantifiés par un codage entropique.
1

I. Quantification,
I.1 Quantification scalaire,
 diviser la dynamique de la grandeur physique en un nombre fini d’intervalles
∆, et d’attribuer à toutes les valeurs du même intervalle une seule valeur (soit
par l’arrondi supérieur, l’arrondi inférieur, ou l’arrondi le plus proche), dite
valeur quantifiée.

Si ∆ est constant, on parle


d’une quantification uniforme.
Sinon elle est dite non-uniforme

Trois questions se posent :


i. Trouver la dynamique ;
ii. Choisir le nombre d’intervalles ;
iii. Répartir ces intervalles.
En imagerie, ces questions renvoient à des considérations physiques liées :
 Aux propriétés photométriques du support sur lequel on reproduit
l’image quantifiée
2
 Au système visuel humain.

1
17/12/2016

a) Dynamique (en imagerie) ,


On traitera ici le cas fréquent de la Luminance (ℓ):
ℓ = Intensité lumineuse
Unité de surface
Le support photométrique est caractérisé par sa réflectance ρ (ou facteur de réflexion):
ρ = flux lumineux réfléchi
flux lumineux incident

La Dynamique = ρ2-ρ1
Où ρ1 et ρ2 sont les réflectances maximale et minimale
(sans exposition/ exposé à saturation à la lumière).
En pratique, on exprime cette dynamique en Densité optique :

D = log( ρ 2 ) − log( ρ1 )

b) Nombre d’intervalles,
Le nombre doit dépendre de la sensibilité du système visuel (pas de différence entre
l’image originale et l’image quantifiée). On s’appuy sur l’expérience de Weber–Fechner
qui conclut à :

i. En dessous d’un certain seuil ∆ℓ (variation de luminance)  Absence de la


perception visuelle;
∆l
ii. Le rapport Variation Relative Perceptible est constant: = Cw
l
iii. Cw (échelon liminaire de luminance) varie d’un observateur à un autre dans
un intervalle de valeurs [0.01 ; 0.02]; c’est la plus petite différence relative de
luminance perçue par l’œil.
Le nombre de niveaux de quantification optimal pour un observateur donné est :

D log ρ 2 − log ρ1
Nq = =
log(1 + Cw ) log(1 + Cw )
4

2
17/12/2016

Exemple,
Film photographique, D=2, et observateur « moyen », Cw=0.015.
2
Nq = = 309.3
log(1.015)
en nombre entier, 309 ou 310.
Codage en mots binaires : on recherche la puissance de deux la plus proche de Nq par
valeurs supérieures : Bq=log2512=9 bits (si Cw=0.02, 8 bits suffiront).
c) Quantification et compression,
 Opération irréversible
 Introduit une distorsion.
 Il faut minimiser la distorsion, lors de la conception d’un quantificateur.
 Le taux de compression augmente lorsque le nombre d’intervalles de quantification
diminue.
 Opération non linéaire est utilisée dans la compression pour extraire l’information
pertinente.

d) Quantification scalaire uniforme,


Il s’agit de définir un ensemble:
de niveaux de transition ou de décision (tj, j=1,…,L+1),
de niveaux de reconstruction ou quantifiés rj∈[tj, tj+1[.
Principe: Soit x une variable réelle à quantifier. Il faut trouver
l’indice j tel que x∈[tj,tj+1[; x est ensuite remplacé par rj ,
qui est sa valeur quantifiée.
les intervalles [tj, tj+1[ sont de même
largeur
correspond à l’optimalité vis-à-vis
de variables à quantifier ayant une
répartition uniforme,
une densité de probabilité
constante sur la gamme dynamique.

3
17/12/2016

e) Quantification scalaire non uniforme,


Idée: Proportionner la densité des niveaux de quantification à la densité de probabilité
p (x) du signal. On recherche le Quantificateur optimal xq au sens du minimum
d’écart quadratique moyenne.
 L’erreur quadratique moyenne est:
Nq −1
ε = E [( x − xq )2 ] = ∫ ( x − xq )2 p( x )dx
∑∫
t k +1
Soit ε = ( x − rk ) 2 p ( x )dx avec ∫ p( x )dx =D1
tk
k =0 D
ε peut être minimisée par dérivation partielle par rapport à tk et rk et on trouve:
 rk + rk −1
t k = 2
(condition du plus proche voisin)
 t k +1
 ∫ xp( x )dx (condition du centroide)
rk = t k
 t k +1
 ∫tk p( x )dx
Ces équations peuvent être résolues récursivement pour une densité de probabilité p(x)
donnée. Il existe des tables donnant les niveaux optimaux comme pour les distributions
de Gauss, de Rayleigh, exponentielle,....
Remarque: Lorsqu'on a des données statistiques, l‘Espérance (E) correspond à la
7 moyenne de ces données.

f) Variante de quantification,
On transforme les données, lors d’un prétraitement, de telle sorte que
leur répartition soit plus uniforme, à l’aide d’une fonction de
répartition f (de type look up table). Une quantification uniforme est
appliquée sur ces données modifiées, et, finalement, on applique la
fonction de répartition inverse g=f-1 après quantification.

q7 q6 q5 q4 q3 q2 q1

Distribution de Gauss
8

4
17/12/2016

g) Quantification psycho-visuelle,
Un quantificateur conçu en utilisant la limitation en terme de différence relative de
luminance perçue par l’œil (échelon liminaire de luminance Cw=∆ℓ/ℓ ).  r = 0
0
 La loi de quantification se fait selon les relations suivantes : ti = ri −1 + ∆l(ti −1 )
Exemple: La codification IGS (Improved Gray Scale) , r = t + ∆l(t )
i i i

Principe: Le codage à 256 niveaux de gris s'effectue sur 8 bits séparables en poids forts
(4 bits) et poids faibles (4 bits); pour des pixels successifs, le codage IGS à 16
niveaux (4 bits) s'obtient en tenant compte du codage sur 8 bits des pixels
précédents et en ne retenant que les bits de poids forts.
Algorithme: Codage IGS d’un pixel de rang i:
Si poids forts de niveau(i)=1111 alors somme(i)=niveau(i)+0000
sinon somme(i)=poids faibles de somme(i-1)+niveau(i)
Codage IGS=poids forts de somme(i)
Exemple: (initialisation: somme(0)=0)
Pixel 1 de niveau 10000111 codage IGS=1000
Pixel 2 de niveau 11110100 codage IGS=1111
9
Pixel 3 de niveau 01101100 codage IGS=0111

I.2 Quantification vectorielle,


a) Principe,
Définir une application Q associant à chaque vecteur d’entrée
Xi=(xij,j=1,…,k) un vecteur Yi=Q(Xi)=(yij, j=1,…,k) choisi parmi un
ensemble fini C=(X̂ n, n=1,…,NC). C représente un catalogue (ou
dictionnaire) des formes présentes dans l’ensemble des données à
quantifier.
Le quantificateur est décrit par :
i. Dictionnaire C (codebook),
ii. Partitionnement S=(Si,
i=1,…, NC) qui divise l’espace
d’entrée en NC vecteurs Xi, et
qui leur fait correspondre un
vecteur Q(Xi)=X̂ i,

10

5
17/12/2016

b) Algorithme,
La quantification vectorielle consiste à:
 Engendrer un ensemble de vecteurs de référence (code book) en
utilisant un algorithme d’apprentissage appliqué à un ensemble
d’images.
 Décomposer l’image en vecteurs de taille identique à ceux du
dictionnaire,
 Rechercher pour chaque vecteur Xi de l’image le plus proche
dans le dictionnaire,
 Le remplacer par l’indice dans le dictionnaire du vecteur associé
(codage),
Le décodeur reçoit l’indice et génère le vecteur X̂ i correspondant
du dictionnaire qui constitue une approximation du vecteur
initial
Remarque: la quantification vectorielle donne souvent de meilleurs
résultats que la quantification scalaire.
11

c) Exemple,
Le débit de codage Bit-rate Br est donné par Br=log2(NC)/k
bit/pixel, où k est la dimension des vecteurs à coder et NC la taille du
dictionnaire. En général, NC=2L, et L est la longueur du mot
correspondant à l’indice transmis.
Taille du Débit Longueur Taille
bloc k Br indice L dictionnaire NC

 Pour Br=1bit/pixel et des 2×3=6 1


1.5
6
9
64
512
vecteurs correspondant à des 2 12 4096
blocs carrés d’image de taille 3×4=12 0.5 6 64
2×2, le dictionnaire doit 0.75 9 512
contenir 24=16 vecteurs. 1 12 4096
4×4=16 3/8 6 64
9/16 9 512
…. 3/4 12 4096
4×6=24 1/4 6 64
3/8 9 512
1/2 12 4096
Relation entre les paramètres de
12
base de la quantification vectorielle

6
17/12/2016

d) Conception (cas image),


La conception d’un quantificateur vectoriel dépend de:
Entité vectorielle:
Niveaux de gris d’un ensemble de pixels voisins (QV
dite spatiale),
Coefficients issus d’une transformation d’un bloc
d’image (QV transformée),
Mesure de distorsion permet de mesurer la ressemblance
entre vecteurs;
Dictionnaire optimal à partir du dictionnaire initial à
construire ;
Organisation du dictionnaire pour faciliter la recherche des
vecteurs lors de la quantification.
13

e) Mesure de distorsion,
 Mesure idéale: évaluer la qualité subjective de l’image
reconstruite.
 Mesure pratique: la plus utilisée est l’Erreur quadratique
moyenne,
f) Génération du dictionnaire,
On cherche à construire un dictionnaire optimal de NC vecteurs au
sens où il minimise une distorsion moyenne donnée par :
NC
1
D( X , Q ( X )) =
NC
∑ d ( X , Xˆ )
i =1
i i

g) Exemples d’algorithmes de classification,


Les dictionnaires sont générés en utilisant des algorithmes
d’apprentissage tels que:
 LBG (Linde Buzo et Gray) .
 Cartes topologiques de Kohonen,
14  Techniques d’optimisation stochastiques.

7
17/12/2016

I.3 Quantification: Approche Quadtree


Découpage récursif en carrés homogènes
Critère de split : variance, ...

15

Quantification: Approche Quadtree


 Codage de l'arbre,

règle de
parcours

Codage: 1 | 1001 | 0000 | 0100 | 0001 | 0000

 Codage des régions homogènes : moyenne, interpolation ...

16

8
17/12/2016

II. Codage par prédiction,


Dans le cas d’une image, on prédit:
i. La valeur Ĩ(i,j) d’un échantillon I(i,j) en fonction des
échantillons voisins.
ii. Les valeurs des pixels de l’image ou des échantillons de la
transformée.
iii. La différence e(i,j)=I(i,j)-Ĩ(i,j) (appelée erreur de prédiction)
est quantifié, codé et transmis à la place du signal original.
iv. Les valeurs Ĩ(i,j) sont très proches des I(i,j), étant donné que les
pixels voisins d’une image sont corrélés,

☺ Dynamique faible,
Moins de niveaux de quantification

Histogramme des niveaux de gris de l’image originale


(gauche) et de l’erreur de prédiction (droite).
17 Balayage par ligne d’une image.

Diagramme fonctionnel d'un système de codage prédictif sans perte,


Image Ii ei =Ii- Ĩi Image
- Codage
Source compressée
i correspond au rang du pixel
Prédicteur Ĩi

Ii ei
Image Image
décompressée + Décodage compressée

Prédicteur Ĩi

Ĩ(x,y) est donnée usuellement par une expression de la forme:


 n −1 n −1 
I (x, y ) = Int  ∑∑ aij I (x − i, y − j )
~
 i =1 j =1 
aij : coefficients réels des poids statistiques affectés aux pixels précédents.
18

9
17/12/2016

Diagramme fonctionnel d'un système de codage prédictif avec perte


Les méthodes de compression avec pertes incluent une quantification
par rapport aux méthodes de compression sans pertes.
ei εi
Image Ii - Image
Quantification Codage compressée
Source
Ĩi Ki ei=Ii- Ĩi
Prédicteur + Ki=εi+ Ĩi

Image Ki εi
+ Image
décompressée Décodage compressée

Prédicteur Ĩi

La quantification s'applique à la différence entre le niveau réel


et le niveau prédit.
19

Exemple: modulation Delta, + ξ si ei > 0


~ εi = 
I i = αK i −1  − ξ si ei ≤ 0
Si l'on applique cet algorithme avec α=1 et ξ=3.5 à la suite de
pixels de niveaux 21 25 21 24 22 22 on aura successivement
pixel 0 : niveau I0=21; initialisation à K0=21
pixel 1 : niveau I1=25 Ĩ1=K0=21 e1=I1-Ĩ1=4>0 e1=3.5 K1=Ĩ1+e1=24.5
pixel 2 : niveau I2=21 Ĩ2=K1=24.5 e2=I2-Ĩ2=-3.5<0 e2=-3.5 K2=Ĩ2+e2=21
pixel 3 : niveau I3=24 Ĩ3=K2=21 e3=I3-Ĩ3=3>0 e3=3.5 K3=Ĩ3+e3=24.5
pixel 4 : niveau I4=22 Ĩ4=K3=24.5 e4=I4- Ĩ4=-2.5<0 e4=-3.5 K4= Ĩ4+e4=21
pixel 5 : niveau I5=22 Ĩ5=K4=21 e5=I5- Ĩ5=1>0 e5=3.5 K5= Ĩ5+e5=24.5
La suite 21 3.5 -3.5 3.5 -3.5 3.5 sera envoyée dans le codeur
réduisant la redondance de codage.
Remarque: On peut trouver des prédicteurs " optimaux "
minimisant la différence ei.

20

10
17/12/2016

Codage par prédiction: Exemple

Prédicteur : Ĩi,j=½ Ii-1,j + ½ Ii,j-1

21

III. Codage par transformation,


 Le codage par transformation effectue une transformation de
l'image dans un autre domaine (en un ensemble de coefficients).
 On divise l'image (NxN pixels) en (N/n)2 sous-images de taille nxn
 Sur chacune de ces sous-images I, on applique une transformation
linéaire T qui fournit une série de coefficients C(u,v)
n −1 n −1
C (u , v ) = ∑∑ I ( x, y ) × T
x =0 y =0
 Pour supprimer les images à faible contribution, on introduit un
masque w(u,v) égal à 0 si le coefficient C(u,v) satisfait un critère de
troncature et égal à 1 sinon.  On obtient alors l'approximation
n −1 n −1
~
I ( x, y ) = ∑∑ C (u, v) w(u, v)T −1
u =0 v =0
Les transformations T utilisées sont principalement la transformation
de Karhunen-Loeve, la transformation de Fourier discrète, la
22 transformation en cosinus discrète (DCT).

11
17/12/2016

III.1 Rappels et définitions,


 Description de données quantitatives,
Variable: un vecteur I de taille n. Chaque coordonnée Ii
correspond à des valeurs numériques.
Poids: Chaque entité peut avoir un poids pi, tel que
p1+…+pn=1.On a souvent pi=1/n.
Représentation: histogramme en découpant les valeurs de la
variable en classes;
 Moyenne arithmétique,Variance et Ecart-type,
 La moyenne arithmétique est une mesure de tendance centrale
qui dépend de toutes les valeurs. Elle est noté: n
(Données pondérés) I = ∑ pi I i
Sensible aux valeurs extrêmes. i =1

Très utilisée à cause de ses bonnes propriétés mathématiques


La Variance de I est le carré de l’Ecart-type σI: n
σ I2 = ∑ pi (I i − I )
2
23
i =1

 Mesure de liaison entre deux variables,


La Covariance entre deux variables I et J est:
CovIJ = σ IJ = ∑ pi (I i − I )(J i − J ) = ∑ pi I i J i − I J
n n

σ IJ
Le coefficient dei =1Corrélation est donnéi =1 par: CorIJ =
 Propriétés du coefficient de Corrélation, σ Iσ J
−1 ≤ CorIJ ≤ 1 (inégalité de Cauchy-Schwarz)
Si |CorIJ|=1  I et J sont linéairement liées (aIi + bJi = c)
Si CorIJ=0  variables décorrélées (sans dire indépendantes!)
 Valeurs propres et vecteurs propres,
Un vecteur V≠0 de taille n est un vecteur propre d’une matrice I
de taille n×n  ∃ λ∈₵ telle que: I×V=λ×V (λ: valeur propre de I
associée à V).  5 1 −1  0 1 1
       
Exemple: La matrice 2 4 − 2 a pour vecteurs propres V1 = 1 V2 =0 V3 =1
 1 −1 3  1 1 0
       
On vérifie facilement que les valeurs propres
24 associées sont: λ1=2, λ2=4, λ3=6.

12
17/12/2016

III.2 Transformée de Fourier,


Le domaine fréquentiel est une répartition du contenu informationnel
du signal selon les fréquences spatiales (on utilisant la
Transformation de Fourier Discrète: TFD). Cela se traduit par :
M −1 N −1
1
C (u , v) =
MN
∑∑ I ( x, y)e
x = 0 y =0
− 2 jπux / M
e − 2 jπvy / N
(u=(0,1,…, M-1) et v=(0,1,…, N-1))
En général, M=N, et cette valeur est souvent une puissance entière de
2, ce qui conduit à une matrice transformée de 2N×2N coefficients.
Ces coefficients sont liés à l’énergie du signal, qui est invariante d’un
domaine à l’autre. Cette propriété de conservation est donné par la
théorème de Parseval : N −1 N −1 N −1 N −1

∑∑ I ( x, y) = ∑∑ C (u , v)
2 2

x =0 y =0 u =0 v =0
N −1 N −1
1
La transformation inverse : I ( x, y ) =
N
∑∑ C (u, v)e
u =0 v =0
2 jπux / N
e 2 jπvy / N

25 avec x et y∈{0,1,…,N-1}

 Généralisation, 1
 Si on remplace e − 2 jπux / N par T(u,x) dans la formule C
N uv
La transformation linéaire généralisée est:
Cuv=Tu × Ixy × Tvt
 Si T est une matrice orthonormale (ce qui est le cas de la TFD
lorsque M=N), alors T-1=T*t et on peut généraliser la
transformée inverse : Ixy=Tx*t × Cuv × Ty*
 L’objectif de ces transformations est de:
1. Décorréler les données, c’est-à-dire d’obtenir des coefficients
transformés moins corrélés que les pixels de l’image;
2. Concentrer l’énergie sur un nombre réduit de coefficient, les
coefficients ayant une valeur plus importante aux basses
fréquences qu’aux hautes fréquences.
La compression effective est obtenue en codant finement les
coefficients des basses fréquences et grossièrement (voire
26 supprimer) les coefficients hautes fréquences.

13
17/12/2016

Remarques:
1. L’efficacité d’une transformation peut être mesurée par la prise en
compte de trois facteurs :
 L’efficacité de décorrélation (plus les coefficients sont
décorrélés, plus le procédé est efficace ;
 La concentration de l’énergie, pour coder de manière
privilégiée un nombre réduit de coefficients ;
 L’existence d’algorithmes rapides pour calculer les
transformations.
2. Etant donné que la matrice T est orthonormale; elle peut être
considérée comme le résultats des vecteurs
Tu = (t(u,0), t(u,1),…, t(u, N - 1) ) avec u∈{0,1,…,N-1}
t

3. La transformée inverse directe devient :


N −1 N −1
I xy = ∑∑ C (u , v)T avec T = Tuv = TuTvt
27 u = 0 v =0

III.3 Transformation de Karhunen-Loeve,


L’étalement des valeurs statistiques sur un axe rassemblant le
maximum d’informations en terme de variance contribue à accentuer
la capacité de discrimination des objets géographiques.
Principe: concentrer le maximum d’informations statiques en terme
de variance sur un même axe.
x2

x1
On veut passer de 2 On cherche la direction qui différencie
variables à 1 seule. le plus les points entre eux.
Les informations statistiques contenues sur les autres axes de la transformée
de Karhunen-Loeve constituent de nouvelles informations statistiques.
28

14
17/12/2016

Méthode:
 σ 12 σ 12 K σ 1n 
Soient un bloc I de n valeurs (vecteur).  
 On modélise la corrélation entre les  σ 21 
CovI =  
valeurs par la matrice de Covariance:
 M O 
CovI=E[(I-I̅ ) ×(I-I̅ )t] σ σ 2 
 n1 n 
L’élément (i,j) de la matrice est la
covariance des valeurs Ii et Ij (note σij )  1 r12 K r1n 
 
 Si on suppose que la covariance σij ne  r21 1 
dépend que de la distance entre variables
CorIJ =  
M O
 
I et J normalisée; la Matrice de r 1 
Corrélation se met sous la forme:  n1 
 λ1 0
 Les vecteurs propres de la matrice Cov forment une  
 λ2 
base de fonctions de décomposition. Cov J =  
O
On cherche les vecteurs propres de cette matrice, et  
0 λn 
on note T la matrice de transformation  J=I×T 
La matrice de covariance de J est: CovJ=CovI×T
29
Matrice diagonale

Exemple: Transformée de Karhunen-Loève,


Question 1: Est-ce que les composantes R, G, B sont corrélées?

Plans R, G et B respectivement de l’image de Lena.


Remarques:
Les niveaux d’intensité diffèrent dans les 3 images (en tons de gris)
On perçoit une corrélation entre les images (paraissent semblables)
Les zones plus claires dans l’une des image sont aussi plus
claires dans les 2 autres.
Preuve: Corrélation R-G: 0.877,
Corrélation R-B: 0.676,
30 Corrélation B-G: 0.911

15
17/12/2016

Question 2: Est-ce que l’énergie est similaire dans chacune des


images?
 L’énergie d’une image est la variance de ces pixels,
 Les niveaux d’intensité diffèrent pour une région commune des
trois plans et aussi à l’intérieur de chaque image.
 L’image R est très saturée (beaucoup de valeurs très blanches)
 La composante G est très contrastée (tons de gris) allant du très
noir au très blanc,
 La composante B est probablement celle qui a la moins grande
variance, tout semble gris et non blanc ou noir.
L’énergie contenue dans chacun des trois plans R, G et B ne
sont pas pareils, mais sont dans le même ordre de grandeur.
Données vérifiant l’hypothèse: Variance R = 2405.8 (37.82 %)
Variance G = 2796 (43.95 %)
Variance B = 1159.9 (18.23 %)
31 Variance Totale = 6361.7 (100 %)

Question 3: Calcul de la transformation de K-L.


1e étape : trouver la matrice de transformation K-L,
T : matrice de transformation K-L
Cov : matrice de covariance
Commande Matlab
>> T=eigenvectors(Cov); % chaque vecteur propre est sur une rangée de T

2405.8 2278.8 1129.9 − 0.33915 0.67466 − 0.6556 



Cov = 2278.8 2796  
1640  T =  0.7197 − 0.26271 − 0.64266
1129.9 1640 1159.9  0.60581 0.6898 0.39645 
2e étape : appliquer la transformation aux données,
I : vecteurs de données RGB, ( 3 vecteurs de dimensions M×N )
C : vecteurs de données transformés R’G’B’
Ī : vecteur de la moyenne (premier moment) des plans de l’image
originale.
La transformée K-L peut s’exprimer par l’équation:
32 >> C=T ×(I- Ī)

16
17/12/2016

Plans R’, G’ et B’ respectivement de l’image de Léna transformée (y)


Question 4: Est-ce que les composantes transformées R’, G’, B’ sont
corrélées?
 Il est un peu difficile de voir l’information contenue dans les images
R’ et G’,
 Les images sont décorrélées: les parties noires et blanches ne sont
pas au même endroit dans les trois images (aucune information des
yeux en G’ et R’, alors qu’en B’ on voit le blanc de l’œil),
 L’image G’ ressemble un peu à une image « inverse vidéo » de B’
Données vérifiant l’hypothèse: Corrélation R’-G’ =-5.9369e-011~0
Corrélation R’-B’ =-3.7374e-012~0
33
Corrélation B’-G’ =-1.1642e-012~0

Question 5: Est-ce que l’énergie est semblable dans chacune des images?
Les niveaux d’énergie sont très différents, puisque l’on distingue très peu de
variations dans les plans R’ et G’ et une très grande plage de valeur en B’
Données vérifiant l’hypothèse : Variance R’ = 56.795 (0.9 %),
Variance G’ = 565.04 (8.88 %),
Variance B’ = 5739.9 (90.22 %),
Variance Totale = 6361.7 (100 %)
Question 6: Comparaison avant et après la transformation de l’énergie dans les
canaux
On constate à partir de la table que l’énergie totale est conservée mais que les
proportion de chacun des canaux a changé.
Variance

Répartition de l'énergie dans


les canaux de l'image avant
et après la transformation de
Karhunen-Loève.

Variance R Variance G Variance B Variance Totale


34 Originale 2405.8 2796 1159.9 6361.7
Transformée 56.795 565.005 5739.9 6361.7

17
17/12/2016

Question 7: Calcul de la transformation inverse,


 La transformée K-L inverse peut s’exprimer par l’équation :
I = T-1 × C+ Ī
 Cependant lorsque nous enlevons une composante, l’expression
devient: Î = Tk-1 × C + Ī
où Î est le vecteur de l’image reconstituée approximée et Tk-1 la
transformée inverse avec k vecteurs. appliqué à l’image de Léna
Question 8: Transformation inverse avec 1 canal en moins (k=2),
 On supprime la composante avec la variance la plus petite, soit R’
qui comprend environ seulement 1% de l’énergie totale.
Question 9: Transformation inverse avec 2 canaux en moins (k=1)
 On supprime les composantes avec la variance la plus petite,
soient R’ et G’ qui comprennent environ seulement respectivement
1 % de et 9 % de l’énergie totale, soit environ 10%
35

(a) (b) (c)


(a) Image de Léna originale, (b) Image de Léna après transformée
inverse de Karhunen-Loève où l’on n’a conservé que 2 composantes,
(c) où l’on n’a conservé qu’une composante.
Question 10: Erreur quadratique moyenne sur les image reconstituées
 N
( ) 2
ε = E  ∑ I ( i ) − Î ( i ) 
 i =0 
 Sur l’image où l’on n’a conservé que 2 composantes (b) : 19.221
 Sur l’image où l’on n’a conservé qu’une composante (c) : 202.55
36

18
17/12/2016

Remarques,
Il est très difficile de déterminer les vecteurs propres de la
matrice de covariance.
Il n'existe pas d’algorithmes rapides pour le calcul de la
transformée de Karhunen-Loève.
 En pratique on utilise des transformées sous-optimales qui
convergent asymptotiquement vers la transformée de Karhunen-
Loève mais peuvent être calculées à l'aide des algorithmes
rapides
On peut mentionner parmi ces transformées:
La transformée de Walsh-Hadamard,
La transformée en cosinus discrète, DCT,
La transformée en ondelettes discrète.
37

III.4 Transformée en cosinus discrète bidimensionnelle,


La DCT transforme un signal discret en information fréquences
Transformée DCT directe:
N −1 N −1
2  ( x + 0.5 )u   ( y + 0.5 )v 
C( u , v ) = α uv
N
∑∑ I ( x , y ) cos π
x =0 y =0 N
. cos π
  N


avec αuv=1/2 si u=0 ou v=0 et αuv =1 ailleurs (sert à normaliser)
Transformée DCTN −1inverse:
N −1
2  ( x + 0.5 )u   ( y + 0.5 )v 
I ( x, y ) =
N
∑∑ α uv C( u ,v ) cos π
 N
.cos π
  N


Le calcul de la DCT ne peut pas se faire sur une image entière car:
u = 0 v =0

Ça fait trop de calculs,


L'image doit être représentée par une matrice carrée (N=M)
La norme de compression JPEG utilise une représentation des
images sous forme DCT.
JPEG impose la décomposition de l'image en blocs de 8x8 pixels.
Les plus petits blocs en bordure sont traités par une autre méthode.
38

19
17/12/2016

III.4 Transformée en cosinus discrète bidimensionnelle,


La DCT transforme un signal discret en information fréquences
Transformée DCT directe: 2  ( x + 0.5 )u 
Cuv=αuvTu × Ixy × Tvt où T ( u , x ) = cos π 
N  N 
avec αuv=1/2 si u=0 ou v=0 et αuv =1 ailleurs (sert à normaliser)
Transformée DCT inverse:
Ixy=αuvTxt × Cuv × Ty où Tx*=Tx
Le calcul de la DCT ne peut pas se faire sur une image entière car:
Ça fait trop de calculs,
L'image doit être représentée par une matrice carrée
La norme de compression JPEG utilise une représentation des
images sous forme DCT.
JPEG impose la décomposition de l'image en blocs de 8x8 pixels.
Les plus petits blocs en bordure sont traités par une autre méthode.
39

a) Calcul de la DCT,
 Le calcul est effectué sur chaque matrice (8x8), et elle donne une
matrice 8x8 de coefficients,
 L'élément (0,0) représente la valeur moyenne du bloc (DC), les
autres (AC) la puissance spectrale pour chaque fréquence spatiale
 Les axes x et y représentent les dimensions horizontales et
verticales de l'image, les axes u et v représentent les fréquences
du signal : Coefficient DC
Amplitude Transformation DCT Coefficients AC

y v

x u
Bloc-image de 8x8 pixels Coefficients DCT
On effectue un codage particulier pour le coefficient le plus
important (coefficient DC), puis un autre codage pour les
40
autres coefficients (coefficients AC)

20
17/12/2016

b) Exemple DCT (bloc 8×8),

Image I DCT(I)
La DCT Illustre l’irrégularité spatiale de la répartition de
l’information dans le domaine fréquentiel.
La compression exploite cette différence en supprimant les
fréquences les plus élevées de la DCT
41

c) Standards de compression d'image JPEG


JPEG (Joint Photographic Expert Group) correspond à la succession de 5 opérations:
 Application d'une transformation DCT;
 Quantification (suivant la méthode du codage à seuil),
 Transformer chaque bloc DCT quantifié en un vecteur ligne grâce à un parcours
en zig-zag (150,80,92,26,75,20,4,18,19,3,1,2,13,3,1,0,1,2,2,0,0,0,0,0, etc.),
 regrouper les nombreuses valeurs nulles par plages,
Codage de Huffman est réalisé.

42

21
17/12/2016

Standards de compression d'image JPEG

Schéma général

Bloc- Zig-Zag 01…01


image ITCD ×kM inverse Décodage 010…10
décodé

Remarques:
☺ JPEG très performant à taux faibles (#10)
43
 Effets de blocs à taux élevés

d) Comment localiser les fréquences?

Il faut de nouveaux outils qui observent les fréquences dans une zone
restreinte du signal. Par exemples:
La DFT fenêtrée,
Bancs de filtres,
La transformée en ondelettes : JPEG2000, MPEG4.
44
etc.

22
17/12/2016

III.5 Transformée en ondelettes,


La transformée en ondelettes est très intéressante, grâce à:
Sa représentation à deux paramètres (temps-échelle),
Son approche multirésolution,
a) Echelle,
La transformée en ondelettes peut être perçue comme une évolution
de la transformée de Fourier à fenêtre glissante. Le paramètre
échelle est une nouvelle notion de caractéristique «fréquentielle»,
dépendante du temps.
f f f f

t t t t
Représentation Transformée Transformée de Fourier Transformée en ondelettes
de Shannon de Fourier à fenêtre glissante (si continue scalogramme)

45

b) Analyse multirésolution,
Les études menées par S. Mallat ont prouvé une équivalence entre la théorie
mathématique des ondelettes et l’approche multirésolution par bancs de filtres.
 Bancs de filtres à reconstruction parfaite: L’idée est de représenter l’image
selon différentes bandes correspondant à des domaines fréquentiels donnés.

c1

c̃ 0
c0 Synthèse
Analyse
d1

↓2 signifie une décimation par 2 (on ne garde qu’un pixel sur 2),
↑2 un sur-échantillonnage (par entrelacement de zéros).
 La figure illustre un banc de filtres à deux sous-bandes et à reconstruction
parfaite où H désigne un filtre passe-bas et G un passe-haut.

46

23
17/12/2016

Analyse multirésolution
 Décomposition récursive en 2 moitiés
égales d’un signal: filtres passe-bas h et
passe-haut g.
Phase Analyse

Phase Synthèse

47

Exemple 1: Soit une fonction f appartenant à L1, discrétisée sur 8 valeurs: [ 1 3 5 8 11 15


16 20 ]. On peut représenter autrement la fonction moyennant d’abord les paires de valeurs
voisines pour obtenir: [2 6.5 13 18]. Afin de récupérer le signal initial nous devons
également enregistrer d’autres valeurs représentant la perte d’information [–1 –1.5 –2 –2].
En effet, 2+(-1)=1, 2-(-1)=3, …etc. En réitérant la même procédure sur la moyenne
obtenue à chaque fois, il en résulte: Résolution Moyenne Détail
signal 8 [ 1 3 5 8 11 15 16 20 ]
φ 3(t) 4 [2 6.5 13 18] [–1 –1.5 –2 –2]
V3 2 [4.25 15.5] [–2 .25 –2.5]
[ 1 3 5 8 11 15 16 20 ] 1 [9.875] [–5.625]
différence
V2
φ 2(t) ψ2(t)
moyenne

différence
V1 φ
1(t)
moyenne ψ1(t)

différence
φ (t)
V0 ψ (t)
moyenne
[9.875 –5.625 –2 .25 –2.5 –1 –1.5 –2 –2]
Décomposition en ondelettes par projection sur les dilatées, translatées de
48
l’ondelette mère ψ et de la fonction d’échelle φ de Haar (la base la plus simple)

24
17/12/2016

Exemple 2
La transformée en ondelettes de Haar :
Ses filtres numériques passe-bas et passe-haut :

49

Cas d’une image

50

25
17/12/2016

51

III.6 Application à la compression,


Il y a trois facteurs à déterminer pour appliquer la compression :
1. Dimension de la transformation,
 Transformation globale de l’image (inconvénients: complexité du calcul,
besoins de mémoire et images rarement homogènes ou stationnaires),
 Transformation par régions de l’image. La méthode repose sur une division
de l’image en blocs carrés (par exemple 16×16 pour une image de taille
256×256 ou 512×512) et de transformer chaque bloc séparément.
2. Stratégie d’exploitation de la concentration des coefficients à valeur importante
dans des régions spécifiques de l’espace transformé.
 Codage de zone : on utilise un masque qui couvre les régions précédentes, et
qui élimine les coefficients du reste du plan transformé.
 Avantage: indépendant des données et taux de compression de l’ordre 10.
 Inconvénient: provoque des distorsions gênantes pour des images et
52 élimine un grand nombre de coefficients.

26
17/12/2016

 Codage par seuil : On prend en compte, non plus la localisation dans le plan
transformé des coefficients, mais leur modules, pour ne retenir que les plus
importants (>seuil). Le taux de compression est de l’ordre de 12 au 13.
3. Quantification des coefficients repose sur la statistique de ces coefficients. On leur
assigne des mots binaires proportionnellement au logarithme de leur variance.
Remarques:
 La compression par transformation peut être rendue adaptative (le codeur varie
selon les propriétés statistiques locale de l’image). Le taux de compression
augmente de 20 à 30 %.
 La méthode, codage par transformation, résiste au bruit de transmission (Une
erreur, qui affecte la valeur d’un coefficient, sera lissée au décodage lors du calcul
de la transformation inverse).

53

IV. Méthodes hybrides,


On peut chercher à exploiter les avantages des méthodes spatiales et transformées dans
une approche hybride.
Exemple: Combiner la technique MICD (simplicité) et le codage par DCT
(robustesse) pour atteindre des taux de compression de l’ordre de 8.
Le tableau suivant récapitule les méthodes classiques de compression d’images fixes et
présente leurs caractéristiques principales.

54

27

Vous aimerez peut-être aussi