25/05/2022 3
Compression - Types
Compression - Types
Objectif de la compression : Réduction de la taille des données mesurée par
le taux de compression
On peut utiliser le bpp qui est une mesure absolue et représente le nombre moyen de
bits nécessaires pour coder chaque information de pixel d'image.
25/05/2022 6
Compression avec perte
• Quantification
• Prediction et interpolation
• Codage Fractal
• Discrete cosine transform (DCT)
• Discrete wavelet transform (DWT)
• ...etc
25/05/2022 7
Compression avec perte
Les méthodes de compression des images fixes, basées sur des
transformations linéaires orthogonales, utilisent souvent trois étapes
similaires:
• Transformation linéaire (DCT, DFT, KLT, DWT, …et),
• Quantification: C’est la seule étape ou il y’a perte
Image • Codage entropique
Codage
Transformation Quantification
entropique
111010010010…..
25/05/2022 8
Schéma générale de compression d’image par transformée
Compression avec perte
Les schéma de principe complet d’un codeur/décodeur utilisant les méthodes de
compression basées sur des transformations est décrit ci-dessous:
Changement d’espace Compression
de représentation sans pertes
Codeur
Stockage ou
transmission
Décodeur
25/05/2022 9
Compression avec perte
• DCT
• DFT
• KLT
• DWT
• …ETC
Compression avec perte
Exemple de l’effet d’une transformation orthogonale sur une image:
Dans l’exemple ci-dessous on a appliqué une simple FFT 2 D sur l’image de gauche. Le
spectre 2 D représenté à droite montrent que peut de coefficients (en blanc) sont
significatives (amplitudes importantes) et le reste (la majorité) des coefficients sont
d’amplitudes relativement faibles.
Organismes de Normalisation
Depuis les années 80 du siècle dernier, des méthodes et des standards de compression
de données notamment des images sont proposées et adoptées. La standardisation de
tels codec (codage/décodage) de sources sont surtout assurées par des organismes
mondiaux reconnus comme UIT et ISO. Ci-dessous quelques uns de ces organismes
connus dans le domaine des télécommunications:
Il faut surtout retenir que c’est l’observateur qui est seul juge, soit une
appréciation SUBJECTIVE !
Evaluation de la qualité des images
reconstruites
Il faut distinguer :
• Les tests comparatifs, par rapport à une référence (image ou zone d’image)
• Les tests d’agrément de la qualité perçue (statistiquement ou par sondage)
Il s'agit de tests globaux des systèmes de traitement d’images faits par sondage
auprès d’un public. L'évaluation est donc subjective et gérée statistiquement.
Note Signification
5 Défauts imperceptibles
4 Défauts tout juste perceptibles
3 Défauts perceptibles mais pas gênants
2 Défauts perceptibles et un peu gênants
1 Défauts perceptibles et gênants
0 Défauts perceptibles et très gênants
Evaluation de la qualité des images
reconstruites
M N
1 2
RMSE
MN
I i, j Iˆ i, j
i 1 j 1
Evaluation de la qualité des images
reconstruites
u 0,1,..., N 1 x 0,1,..., N 1
Transformée de Fourier 1D: TF 1D
TF 1D : Continue
real(g(x)) imag(g(x))
F u f x exp 2jxu
=0
x : variable continue du domaine direct
u : variable continue du domaine transformé
1 N 1
2jxu
f ( x)
N
u 0
F (u ) exp
N
x 0,1,..., N 1
Base de fonctions ou noyau de la
transformations: Exponentielles Complexes
2jux
u , x exp u=7
N
n n
TFD 1 D sous forme matricielle
N 1
2jxu
F (u ) f ( x ) exp
x 0 N
u 0,1,..., N 1
x : indice discret du domaine direct real(A) imag(A)
u : indice discret du domaine transformé
u=0
F W . f N=8
f W .F
1* TFD inverse
matricielle n n
TFD 1 D sous forme matricielle
• { f(x) } { F(u) }
u, x = 0, 1, …, N-1
WN = exp{ - j2 / N }
N 1
F (u ) f ( x ) WN
ux
x 0
f ( x) 1 N 1
N u 0
ux
F (u ) WN
Propriétés de la TFD 1 D
•Compactage énergétique
De nombreuses transformées unitaires communes ont tendance à regrouper une grande partie
de l'énergie du signal en seulement quelques coefficients de transformation.
•Décorrélation
N=8
N=16
N=64
TFD de 1D à 2D : Propriété de séparabilité
TFD 1D TFD 2D
f x f x , y
u, x u, v, x, y
ux ux vy
j 2 j 2
e N
e N
N 1 N 1
F (u, v) f ( x, y ) u , v, x, y
x 0 y 0
N 1 N 1
2jxu
F (u ) f ( x) u , x f ( x) exp N 1 N 1
2j ( xu yv)
x 0 x 0 N
x 0 y 0
f ( x, y ) exp
N
F . f ?
TFD de 1D à 2D : Propriété de séparabilité
TFD 2D
N 1 N 1
2j ( xu yv)
F (u , v) f ( x, y ) exp u , v 0,..., N 1
x 0 y 0 N
N 1 N 1
2jxu 2jyv u , v 0,..., N 1
F (u , v) f ( x, y ) exp exp
x 0 y 0 N N
N 1 N 1
2jxu 2jyv
F (u , v) f ( x, y ) exp exp v 0,..., N 1
x 0 y 0 N N
u 0,..., N 1
N 1
2jyv
F (u , v) F u, y exp v 0,..., N 1
x 0 N
Pour calculer une TFD 2 D de taille N×N on doit calculer N TFD 1D pour
chaque ligne , puis on calcule N TFD 1D pour chaque colonne
TFD de 1D à 2D : Propriété de séparabilité
TFD 2D
f x , y :
est une image F u, y :
Calcul des TFD F u,v :
Calcul des TFD
1D de chaque ligne de
f x, y
numérique supposée 1D de chaque ligne de
carrée N×N
F u, y
Calcul TFD 2D
N 1 N 1
2j ( xu yv)
TFD 2D F (u , v )
x 0 y 0
f ( x , y ) exp
N
u , v 0,..., N 1
1 N 1 N 1
2j ( xu yv) x, y 0,..., N 1
ITFD 2D f ( x, y )
NN
u 0 v 0
F (u , v) exp
N
real( ) imag( )
Implementation rapide de la TFD 2D
• TFD 2 D est séparable
1-D DFT
of f(m,n)
w.r.t n
1-D DFT
of F(m,v)
w.r.t m
1D FFT: O(N¢log2N)
2D DFT naïve implementation: O(N4)
2D DFT est une 1D FFT for chaque ligne ensuite
pour chaque colonne
Implementation de la IDFT comme DFT
DFT2
IDFT2
Propriétés de la 2D-DFT
Les avantages pour une transformation d’image
• Theorie DFT ???
– Transformation inverse disponible X
– Conservation d’énergie (Parsevell) X
– Bon compactage de l’énergie
–
?
Orthonormal,
– invariant par décalage et rotation X
• Implémentation X
– Valeurs réelles x
– Séparable
–
X
Algorithme Rapide
– Même implementation for la transformée directe X
et inverse X
• Application
– Utile pour l'amélioration de l'image
– Capture des structures perceptuelles
X
significatives dans les images X
DFT vs. DCT
1D-DCT 1D-DFT
a real(a) imag(a)
u=0 u=0
u=7 u=7
n=7
1-D Discrete Cosine Transform (DCT)
N 1
( 2n 1) k
Z ( k )
n 0
z ( n ) ( k ) cos 2N
z ( n)
N 1
( 2n 1) k
k 0
Z ( k ) ( k ) cos
2N
1 2
(0) , (k )
N N
• Matrice transformée A
– a(k,n) = (0) for k=0
– a(k,n) = (k) cos[(2n+1)/2N] for k>0
0.0 0.0 0 0
n 0.0 0.0 0 0
0.0 0.0 0 0
k 0.0 0.0 0 0
1D-DCT 1D-DFT
u=7
n=7
La TFD et la DCT introduisent une périodicité au niveau signal 1D, mais pas de la
même manière.
La TFD périodise le signal discret (1D) tel qu’il est. Ceci peut créer des
discontinuité
La DCT symétrise d’abord le signal avant le périodiser. Ceci, éliminé toute
DFT et DCT de l’image Lena
DFT2 DCT2
Centrer les BF au
centre
Il existe quatre types de DCT, notés I, II, III et IV, où chaque type est classé
comme impair ou pair.
1 2
Avec A0 si k=0 et Ak pour k quelconque
N N
X 1 N C NII N x1N
Où X 1 N et x1 N sont les vecteurs de sortie et d'entrée de taille 1 × N.
C est une transformée 1D DCT-II sous forme matricielle, donnée par:
II
N N
C
II
N N n,k Ak cos n
1
k où k , n 0,1,....N 1
N 2
LA DCT REELLE
7
1 1 1
X k Ak xn cos n k Où A0 et Ak
8
n0 8 2 4
pour N = 8, la matrice C II
88
prend donc alors la forme suivante:
la matrice dépend essentiellement de 7 valeurs différentes avec des signes + ou - que nous
noterons c0 = 0,35355, c1 = 0,49039, c2 = 0,41573, c3 = 0,277779, c4 = 0,09755, c5 = 0,46194
et c6 = 0,19134 .
LA DCT REELLE
II
C
88
LA DCT REELLE
En utilisant ces notations, c0 = 0,35355, c1 = 0,49039, c2 = 0,41573, c3 = 0,277779, c4 =
0,09755, c5 = 0,46194 et c6 = 0,19134 ,la matrice prend alors la forme suivante:
c0 c0 c0 c0 c0 c0 c0 c0
c c2 c3 c4 c4 c3 c2 c1
1
c5 c6 c6 c5 c5 c6 c6 c5
II c2 c4 c1 c3 c3 c1 c4 c2
C88
c0 c0 c0 c0 c0 c0 c0 c0
c3 c1 c4 c2 c2 c4 c1 c3
c c5 c5 c6 c6 c5 c5 c6
6
c4 c3 c2 c1 c1 c2 c3 c4
LA DCT 2D REELLE
Alors que le 2D DCT-II, X (k1, k2) d'un bloc d'image 8 × 8 pixels, x (n1, n2) est donné
par l'expression suivante:
7 7
1 1
X k1 , k 2 Ak1 Ak2 xn1 , n2 cos n1 k1 cos n2 k 2
n10 n 2 0 8 2 8 2
Avec k1 et k2 = 0,1,…, 7
Vladimir Britanak et al
‘’Discrete cosine and sine
transforms: general
properties, fast algorithms and
integer approximations.’’
1er exemple de graphe de flux généralisé pour le calcul d’une DCT-II 1 D pour N = 2, 4 et 8
EXEMPLES DU DIAGRAMME DE CALCUL DE LA DCT REELLE
Vladimir Britanak et al
‘’Discrete cosine and sine
transforms: general
properties, fast algorithms and
integer approximations.’’
Vladimir Britanak et al
‘’Discrete cosine and sine
transforms: general
properties, fast algorithms and
integer approximations.’’
Graphe du flux pour le calcul DCT-II via DFT de données à valeur réelle pour N = 8.
DCT ENTIERE
LA DCT ENTIERE
D'autres travaux ont ensuite proposé de convertir cette matrice à valeurs réelles
en une matrice entière.
En effet, cela doit permettre de représenter les valeurs de cette nouvelle matrice
entière par un nombre fini de bits et conduit alors à une réduction du coût de
calcul.
I0 I0 I0 I0 I0 I0 I0 I0
I I2 I3 I4 I4 I3 I 2 I1
1
I5 I6 I6 I5 I5 I6 I6 I5
II I2 I 4 I1 I3 I3 I1 I4 I2
IC88 D
I0 I0 I0 I0 I0 I0 I0 I0
I3 I1 I 4 I2 I2 I 4 I1 I3
I I5 I5 I6 I6 I5 I5 I6
6
I 4 I3 I2 I1 I1 I 2 I3 I 4
Comme nous pouvons le remarquer cette matrice de la DCT entière a besoin
uniquement des valeurs entières I0, I1, I2, I3, I4, I5 et I6 pour être identifiée. C’est
pourquoi on peut la définir comme suit
IC8II8 I 1 , I 2 , I 3 , I 4 , I 5 , I 6 , I 0
LA DCT REELLE
IC8II8 5,3,2,1,3,1,1
IC8II8 55,51,34,11,3,1,1
IC8II8 250,219,146,50,3,1,1
Afin de réduire encore plus le coût de calcul d'une telle transformation, utilisé
par exemple dans une chaîne de compression d'image, nous utilisons souvent
des approximations DCT.
En effet, les valeurs c0, c1 ... c6 de la matrice, au lieu d'être remplacées par des
entiers, sont alors remplacées uniquement par des 0 et des 1.
Une transformée en onde carrée efficace appelée DCT-II signée (SignDCT-II) a été
proposé.
Sgn[DCT - II]
APPROXIMATION DCT
Transformation d'onde carrée DCT signée
Exemple d’un diagramme de flux rapide sans multilication d’une SignDCT-II à 8 points
APPROXIMATION DCT
Autre exemple d’approximation DCT
APPROXIMATION DCT
Autre exemple d’approximation DCT
APPROXIMATION DCT
Autre exemple d’approximation DCT
COMPLEXITE CALCULATOIRE 1D
Calcul du nombre d’opérations nécessaires à quelques exemples d’approximations DCT
dans le cas 1D
Ry = E[ y yH ] = E[ (Ax) (Ax)H ] = E[ A x xH AH ]
= A E[ x xH ] AH = A Rx AH
• Optimalité
– Décorrélation et MMSE pour le même nombre de coefficients partiels.
• Applications
– compression (non universelle)
– reconnaissance de formes: par exemple, faces propres
– analyser les principales composantes («dominantes»)
Compactage d’énergie de la DCT vs. KLT
• Le DCT a un excellent compactage énergétique
pour les données hautement corrélées
• DCT est un bon remplacement pour K-L
– Presque optimal pour des données hautement
corrélées
– Ne dépend pas de données spécifiques comme le
fait K-L
– Algorithme rapide disponible
– Covariance matrix R of 1st-order stationary Markov sequence with has an inverse in the
form of symmetric tri-diagonal matrix
• DCT is close to KLT on 1st-order stationary Markov
– For highly correlated sequence, a scaled version of R-1 approx.
Qc
LA QUANTIFICATION
QUANTIFICATION
Nous pouvons quantifier directement une image ou quantifier les résultats d'une
transformation comme décrite plus haut. Il s’agit d’une opération non linéaire.
Lorsqu'un nombre x est quantifié en niveaux L, nous voulons dire que sa valeur est
remplacée par (ou quantifiée en) le membre le plus proche d'un ensemble de niveaux
de quantification. Ici, nous considérons la quantification uniforme.
Débit : R=log2N
Evidemment, il faut définir le type de prédicteur à utiliser et dont les exemples sont
nombreux
Encodeur Décodeur
La matrice de quantification dans le cas de la norme JPEG est de taille 8×8, car
l’image est d’abord découpée en blocs 8x8, ensuite on applique la DCT 2D à
chaque bloc. Les coefficients de la DCT de tailles 8×8 sont enfin quantifiés à
partir de la matrice de quantification suivante