Vous êtes sur la page 1sur 20

Département d’informatique et de génie logiciel

Compression de données
IFT-4003/IFT-7023

Notes de cours
Codage par transformation
Édition Hiver 2012

Mohamed Haj Taieb


Local: PLT 2113
Courriel: mohamed.haj-taieb.1@ulaval.ca
Faculté des sciences et de génie
Département de génie électrique et de
génie informatique
Plan de la présentation
Codage par transformation:
 Exemple de motivation
 Processus de transformation
 Transformation KLT
 Transformation DCT
 Quantification des coefficients de la
transformation
 Codage des coefficients

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de motivation (1)
 Exemple
 Soit un ensemble de mesures de la longueur X (en pouces)
et du poids Y (en livres).
 X et Y sont fortement corrélés: y=2.5 x.

200
Mesures
180 Modèle y=2.5 x

160

Poids (livres)
140

120

100

80

0 20 40 60 80
longueur (pouces)

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de motivation (2)
 Rotation
Transformation :   Ax
 x0 longueur 
Vecteur source: x   
 1
x poids 
cos  sin  
Matrice de rotation: A   
  sin  cos  
 angle entre l'axe des x et la ligne y  2.5 x
 0 
Résultat de la rotation    
1 
0.37139 0.92848
A 
 0.92848 0.37139 

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de motivation (3)
 Résultat de la rotation
 Toute l’énergie est concentrée autour la première
coordonnée.
250

200

150

100

50

-50
0 50 100 150 200 250

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de motivation (4)
 Compression
 On peut éliminer la seconde coordonnée en mettant toute
les valeurs à zéro.
 Ceci réduit de moitié les valeurs à encoder.
 Mais aussi il y a un certaine distorsion qui résulte suite à
cette compression.
 Reconstruction
 On applique la transformation inverse (rotation dans le
sens inverse).

1cos   sin  
Matrice de rotation inverse: A  
sin  cos  

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de motivation (5)

Rotation inverse Comparaison entre les données


250
originales et reconstruites
200
200

150
150

100
100

50 50

0 0
0 50 100 150 200 250 0 10 20 30 40 50 60 70 80

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de motivation (6)
Données originales Données reconstruites

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de motivation (7)
 Erreur de reconstruction
 L’erreur de reconstruction est la même que l’erreur induite
par l’élimination de la seconde coordonnée de θ.
250

200

150

100

50

-50
0 50 100 150 200 250

N 1 N 1
MSE   ( xi  xˆi )   (i  ˆi ) 2
2

i 0 i 0

MSE  32  22  42  12  42  62  ...
MSE  662.17
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Karhuen-Loéve Transform (KLT) [1]
 Transformation Hotelling
 Cette transformation considère les vecteurs propres de la
matrice d’autrocorrélation: [ R ] i , j  E [ X n X n  |i  j | ]
 Cette transformation minimise l’erreur géométrique
moyenne : G  n x1 x 2  x n
 Elle assure le gain de codage par transformation maximal
 transformation optimale.
 Cependant, cette transformation dépend des données.
 La transformation (la matrice d’autocorrélation) doit être
envoyée au récepteur pour procéder à la reconstruction.
 Le gain de compression peut être supprimée lors de l’envoi
de la transformation.
 La transformation est étudiée pour connaitre les limites.
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Karhuen-Loéve Transform (KLT) [2]
 Exemple KLT de taille 2
 Matrice d’autrocorrélation de la source:
 R xx ( 0 ) R x x (1) 
R   
 R x x (1) R xx ( 0 ) 
 Détermination des valeurs propres revient à résoudre cette
équation: d e t(  I  R )  0
  0   R x x ( 0 ) R x x (1) 
d e t(     ) 0
 0    R x x (1) R x x ( 0 ) 
   R x x ( 0 ) R x x (1) 
d e t(  )  0
 R x x (1)   R x x ( 0 ) 
(   R x x ( 0 )) 2  ( R x x (1)) 2  0
 1  R x x ( 0 )  R x x (1) e t  2  R x x ( 0 )   R x x (1)
 1  R x x ( 0 )  R x x (1) e t  2  R x x ( 0 )  R x x (1)
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Karhuen-Loéve Transform (KLT) [3]
 Exemple KLT de taille 2 (suite)
 Détermination des vecteurs propres:
R V 1   1V 1
R V 2   2V 2
 1  R x x ( 0 )  R x x (1) e t  2  R x x ( 0 )  R x x (1)
 R x x ( 0 ) R x x (1)   V 1 ( 0 )  V1 ( 0 ) 
 R (1) R ( 0 )   V (1)    1  V (1) 
 xx xx  1   1 
 R x x ( 0 )V 1 ( 0 )  R x x (1)V 1 (1)   R x x ( 0 )V 1 ( 0 )  R x x (1)V 1 ( 0 ) 
 R (1)V ( 0 )  R ( 0 )V (1)    R ( 0 )V (1)  R (1)V (1) 
 xx 1 xx 1   xx 1 xx 1 
R x x (1)V 1 (1)  R x x (1)V 1 ( 0 )  V 1 ( 0 )  V 1 (1)  
d e la m ê m e fa ç o n : V 2 ( 0 )   V 2 (1)  
   
V e c te u rs p ro p re s : V 1    , V2   
    
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Karhuen-Loéve Transform (KLT) [4]
 Exemple KLT de taille 2 (suite)
 Supposons que les vecteurs propres sont orthonormales
(on sait déjà que les vecteurs propres sont orthogonales):
   
V e c te u rs p ro p re s : V 1    , V 2   

     
 1   1 
 2  2 
V1    , V2   
 1   1 
   
 2  2 
M a tric e d e tra n s fo rm a tio n K L T
1 1 1 
K  V 1 V 2   1
2   1 

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Karhuen-Loéve Transform (KLT) [5]
 Application pour la compression d’image
 On découpe l’image en blocs de 4x4.
 Chaque blocs, après redimensionnement, constitue un
vecteur 16x1.
 On détermine les vecteurs propres de ces matrices et on
les ordonne suivant les valeurs propres décroissantes.
 Ces vecteurs propres forme une matrice V 16x16.
 Transformation KLT
 On redimensionne chaque bloc 4x4 en un vecteur X 16x1.
 La transformation de ce vecteur: T=VX.
 On remarque que l’énergie est concentrée autour des
premiers coefficients.

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Karhuen-Loéve Transform (KLT) [6]
 Compression
 On garde les premiers coefficients et on élimine les autres.
 Ou bien on quantifie avec plus de précision les premiers
coefficients.
matrice 1 matrice 2 matrice 3 matrice 4

matrice 5 matrice 6 matrice 7 matrice 8

matrice 9 matrice 10 matrice 11 matrice 12

matrice 13 matrice 14 matrice 15 matrice 16

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Karhuen-Loéve Transform (KLT) [7]

matrice 1 matrice 2 matrice 3 matrice 4 matrice 1 matrice 2 matrice 3 matrice 4

matrice 5 matrice 6 matrice 7 matrice 8 matrice 5 matrice 6 matrice 7 matrice 8

matrice 9 matrice 10 matrice 11 matrice 12 matrice 9 matrice 10 matrice 11 matrice 12

matrice 13 matrice 14 matrice 15 matrice 16 matrice 13 matrice 14 matrice 15 matrice 16

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Karhuen-Loéve Transform (KLT) [8]
Élimination de 15 coefficients Élimination de 14 coefficients Élimination de 13 coefficients

Élimination de 15 coefficients Élimination de 14 coefficients Élimination de 13 coefficients

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Discrete Cosine Transform (DCT) [1]
 DCT
 Les coefficients de la matrice C de la transformation DCT
sont donnés par :  1 (2 j  1)i
 cos i  0, j  0,1, , N  1
 N 2N
Ci , j  
 2 cos (2 j  1)i i  1, 2, , N  1, j  0,1, , N  1
 N 2N

 Contrairement à la KLT, la DCT est indépendante des


données à encoder.
 Pas besoin de transmettre la base de la transformation au
récepteur.
 La DCT est efficace à la compaction d’énergie lorsqu’il y a
une corrélation significative entre les échantillons de la
source. Exemple: pixels d’une image.
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Discrete Cosine Transform (DCT) [2]
 (2 j  1)i
 Vecteurs de Bases de la DCT 
1
cos i  0, j  0,1, , N  1
 N 2N
Ci , j  
 2 (2 j  1)i
 cos i  1, 2, , N  1, j  0,1, , N  1
N 2N
i=0 i=1 i=2
0.4 0.5 0.5

0.2 0 0

0 -0.5 -0.5
0 5 10 0 5 10 0 5 10
i=3 i=4 i=5
0.5 0.5 0.5

0 0 0

-0.5 -0.5 -0.5


0 5 10 0 5 10 0 5 10
i=6 i=7
0.5 0.5

0 0

-0.5 -0.5
0 5 10 0 5 10

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Discrete Cosine Transform (DCT) [3]
u1 
 DCT
u  v  u2    v1 v2 v3 
 Le produit tensoriel des lignes de la matrice C u3 
u1v1 u1v2 u1v3 
u  v  u2 v1 u2 v2 u2 v3 
u3v1 u3v2 u3v3 

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique

Vous aimerez peut-être aussi