You are on page 1of 7

Pourquoi comprimer ?

Traitement dimages
Indispensable pour le stockage et la transmission dans de nombreuses situations !

Partie 5: Approximation et compression des images


Exemples de signaux numriques et leur taille :
Thomas Oberlin I Photographie : 10 Megapixel sur 8 bits couleur = 30 Mo
I Image hyperspectrale, 256x660, 242 bandes spectrales, 12 bits = 61 Mo
Signaux et Communications, IRIT/ENSEEIHT
I Vido : 2 heures de film, 800x600, 25 images/sec = 260 Go
thomas.oberlin@enseeiht.fr
I Audio : 10 min de musique en stro 44.1 kHz sur 16 bits : 105 Mo

problmatique commune tous les signaux numriques


http://oberlin.perso.enseeiht.fr/teaching.html

1 / 34 2 / 34

Comment comprimer ? Critres de performance

I Taux de compression
I Redondance statistique (pour toute classe de signaux) : rptitions, motifs volume final
rcurrents, etc T=
volume initial
I Autres redondances : zones homognes, zones rgulires (basse frquence), I Dbit de codage
faible dynamique, etc volume final
R= bpp
nombre de pixels

Spcificits de limage
I Erreur quadratique moyenne

Prendre en compte le systme visuel humain, comme la moindre sensibilit aux 1 X


MSE = (fn,m fn,m )2
hautes frquences des composantes de chrominance. NM n,m

I Rapport signal sur bruit crte :


Avec ou sans perte ?
2552
 
I Sans : faible compression, souvent pas suffisant PSNR = 10 log10
MSE
I Avec : compromis entre qualit et compression
I Mesures de qualit perceptuelles : SSIM, analyse exprimentale, etc

3 / 34 4 / 34
Critres de performance (suite) Outils pour la compression

Compression sans pertes


Codeur Dcodeur
Image f Image xomprime f Image f I Codage des rptitions
I Codage entropique
I Algos dictionnaire adaptable (type LZW)
I Complexit algorithmique codeur/dcodeur : cot algorithmique (nombre
thorie de linformation et codage
doprations, mmoire), paralllisation et allocation de ressources
I Retard
Compression par transforme (avec pertes)
I Robustesse : sensibilit de petites erreurs (possibles durant la transmission)
1. Changer lespace de reprsentation : Fourier, DCT, ondelettes
2. Quantification
En pratique 3. Codage (entropique)

Trouver un compromis entre la performance de la compression (taux et qualit) et Souvent : rduction des couleurs, sous-chantillonnage de la chrominance
les contraintes logicielles (ex : temps-rel) et matrielles.
Autre mthode de compression destructrice : codage par prdiction

5 / 34 10 / 34

Plan de la sance Transforme, bases de reprsentation

1 Introduction I Transformation linaire T : f 7 g = T (f )


I Cas particulier : changement de base orthonorme, T unitaire
2 Transformes pour la compression I Bonne base de reprsentation pour une image : peu de coefficients
Transforme en cosinus discrte importants, on peut ngliger les autres
TCD par blocs I Un autre objectif : dcorrler les donnes
Transformations multi-chelles

3 Approximation
Bases de Hilbert Exemples
Notion dapproximation I Base (discrte) de Fourier (TFD)
I Transforme en cosinus discrte (TCD)
4 Un exemple de compression : le format JPEG I Transforme de Hadamard, base de Haar, bases dondelettes...

11 / 34 12 / 34
Transforme en cosinus discrte (DCT) TCD - fonctions de base (N = M = 8)

Soit une image relle f : [[0, M 1]] [[0, N 1]] R, sa DCT


f : [[0, M 1]] [[0, N 1]] R est dfinie par :

M1 N 1    
u v X X (2m + 1)u (2n + 1)v
f [u, v] = f [m, n] cos cos ,
M N m=0 n=0 2M 2N

avec u = 1 si u = 0, 2 sinon.

Exercice : quel est le lien entre la TCD et la TFD ?


I On pourra commencer par le cas 1D
I Indice : symtriser le signal

13 / 34 14 / 34

TCD Illustration Inversion de la TCD

La TCD inverse reconstruit limage f part :


M1
X NX 1    
1 (2m + 1)u (2n + 1)v
f [n, m] = u v f [u, v] cos cos ,
MN u=0 v=0 2M 2N

Proprits
Similaires la TFD :
I transformation sparable
I calcul rapide en O(NM log(NM ))
Image originale Image symtrise TCD (valeur absolue, log) I interprtation frquentielle
En plus : transformation relle, meilleure concentration de lnergie

15 / 34 16 / 34
Transforme en cosinus locaux Base de Haar (1d)
N
Problme de la non-stationnarit On considre un signal s R2 . On pose m0 = s, et on dfinit j = 0 N 1,
On a dj vu que les images sont fortement non-stationnaires : les proprits t 0 2N J 1 :
statistiques ne peuvent pas tre supposes constantes en espace.
besoin de reprsentations/transformations locales dj+1 [t] = 1 (mj [2t + 1] mj [2t]) (dtails lchelle j)

2

mj+1 [t] = 12 (mj [2t + 1] + mj [2t]) (approximation lchelle j)



DCT par blocs
I Dcoupage de limage en blocs (souvent : 8x8) (d1 , , dJ , mJ ) est une dcomposition complte (inversible) et multi-chelle de s.
I DCT 2D sur chaque bloc
niveau 0 [3 8 1 0 7 2 12 11]
1 1
niveau 1 2 [5 1 5 1] 2 [11 1 9 23]
1 1 1
niveau 2 2 [5 1 5 1] 4 [10 14] 4 [12 32]
1 1 1 1
[5 1 5 1] [10 14] [20] [44]
niveau 3 |2 {z } |4 {z } |8 {z } |8 {z }
d1 d2 d3 m3

17 / 34 18 / 34

Base de Haar (2D) Plan de la sance

On gnralise en 2D :

moyenne m1 dtails horiz. md1 1 Introduction


f
dtails vert. dm1 dtails diag. dd1
2 Transformes pour la compression

Wavelet coefficients Wavelet coefficients


3 Approximation
Bases de Hilbert
Notion dapproximation

4 Un exemple de compression : le format JPEG

19 / 34 22 / 34
Reprsenter pour quoi faire ? Approximation linaire dans une base

Changer de reprsentation pour structurer linformation


Approximation linaire :
I discriminer le signal et le bruit
Consiste approcher un signal/une image en utilisant seulement certains
I concenter linformation dans peu de coefficients coefficients prdfinis :
M1
approximation X
fM = hf , gm i gm .
m=0

Cadre gnral de lapproximation


Exemple pour la TCD :
tant donn un signal/une image f dun espace de Hilbert H , et B = (gm )mN    
une base hilbertienne de H . Tout f H se reprsente dans la base B : 1 X (2m + 1)u (2n + 1)v
fR [n, m] = u v f [u, v] cos cos ,
MN 2M 2N
u+v<R
X
f = hf , gm i gm .
m=0
Exercice :
Question : que se passe-t-il quand on tronque cette somme ? I Reprsentez le support des coefficients slectionns dans cette reconstruction
I Quel est le principal inconvnient de cette reconstruction ?
Exemples : base de Fourier continue (H = L2 (0, 1)), discrte (H = RN ), DCT...
23 / 34 24 / 34

Approximation non linaire Quantifier lerreur dapproximation


Consiste approximer un signal/une image en utilisant seulement les plus grands
coefficients. Non linaire, car le choix des coefficients dpend de limage.
En pratique : Erreur dapproximation :
I On slectionne les R plus grands (en valeur absolue) :
I linaire :

X
2
X E(M ) = kf fM k = | hf , gm i |2
fM = hf , gm i gm . m=M
mIM
I non-linaire : X
2
I ou bien on slectionne ceux qui sont au-dessus dun certain seuil : E(M ) = kf fM k | hf , gm i |2
m6IM

hf , gm i si | hf , gm i | >

S (fm ) =
0

sinon But : dcroissance rapide de lerreur dapproximation. Comment faire ?
I rsultats thoriques/analyse fonctionnelle. But : dcroissance rapide des
Lapproximation de f au seuil scrit : coefficients hf , gm i. Exemple : dcroissance des coefficients de Fourier pour
des fonctions rgulires

approche exprimentale voir en TP
X I
f = S (fm )gm
m=0

25 / 34 26 / 34
Illustration de diffrentes approximations Plan de la sance

1 Introduction

2 Transformes pour la compression

Image originale Approx. linaire, taux = 8 Approx. non linaire, taux = 8 3 Approximation

4 Un exemple de compression : le format JPEG

Image originale Approx. linaire, taux = 32 Approx. non linaire, taux = 32


27 / 34 28 / 34

Principe gnral Pr-traitements et transformation

1. Dcomposition luminance-chrominances YCbCr


2. Sous-chantillonnage des composantes de chrominance (souvent, facteur 2)
3. Dcoupage en blocs 8x8 pour chaque composante
4. DCT sur chaque bloc, exemple :


"Compression JPEG" par Stphane Brunner via Wikimedia Commons

29 / 34 30 / 34
Quantification Codage

tape cruciale de la compression. But : compresser tout en ne perdant pas trop


dinformation. Quantification uniforme, adaptative ?
JPEG : quantification non uniforme
Parcours du bloc F en Z :
On utilise une matrice de quantification Q, et la quantification suivante :
 
F [u, v]
F [u, v] =
Q[u, v]
Dans notre exemple : 79, 0, -2, -1, -1, -1, 0, 0, -1, EOB.

Codage (sans pertes) :


I RLE (Run-length encoding) sur 0, pour coder les rptitions de 0
I Codage entropique : Huffman ou arithmtique

31 / 34 32 / 34

Conclusion Quelques exercices

1. Pourquoi nutilise-t-on pas la quantification uniforme dans le format JPEG ?


Et pourquoi pas une quantification optimale ?
I Besoin de compresser taux levs pour la transmission et le stockage
2. Un des avantages de la TCD par rapport la TFD est la suppression des
I Compression par transformation : trouver une reprsentation o les hautes frquences artificielles des aux bords de limage. Expliquer pourquoi.
coefficients dcroissent rapidement Quel est lintrt lorsquon fait du sur-chantillonnage par zro-padding, par
I JPEG : bas sur la dcroissance de la DCT (en 1D, MP3) exemple ?
I Plus limage est rgulire, plus la dcroissance est rapide 3. On explicite ici le lien entre la dcroissance des coefficients et celle de lerreur
I Ltape de compression proprement dite : la quantification, mise 0 de dapproximation linaire.
coefficients Soit s > 1/2. Montrer que si les coefficients de f vrifient
I Utilisation de proprits perceptuelles : moindre sensibilit aux hautes
X
frquences m 2s | hf , gm i |2 < +,
m=0

alors E(M ) = o(M 2s ).

33 / 34 34 / 34