Title: Compression des images et de la vid
1Compression des images et de la vidéo principes
- Séverine Baudry
- s.baudry_at_nextamp.com
2Plan
- L image numérique
- Principes de la compression
- Notions de théorie de l information
- Le théorème du codage de source
- Compression sans perte
- Codage de Huffman
- Codage par plage
- Codage LZW
- Compression avec perte
- Quantification
- Prédiction linéaire
- Transformations linéaire
- Compensation de mouvement
3L image numérique
- Une image numérique de taille NxM est représentée
par un tableau de pixels I(x,y)0 ? xltN0 ? yltM - Image à niveaux de gris I(x,y) scalaire (1
seule composante) - Image couleur I(x,y) vectoriel (3 composantes)
IR(x,y), IG(x,y), IB(x,y) - Rappel synthèse additive RGB blanc
- Chaque composante est codé par un nombre de n
bits (n profondeur) - n8 en général (256 niveaux)
- images médicales, satellitaires n ?12
(meilleure précision) - Convention 0noir 255blanc (images 8 bits)
4Espace des couleurs
- Pixel (R,G,B) représenté par un point dans
l espace des couleurs (3 dimensions) - L espace RGB ne reflète pas l importance
visuelle des composantes décomposition en
luminance et chrominance plus adaptée - luminance très importante pour l œil (photos
noir et blanc) - chrominance moins importante
- Nouvel espace couleur, (Y,Cb,Cr) obtenu par
transformation linéaire de (R,G,B)
5Espace des couleurs
Cb
B
Y
G
R
Cr
Y information de luminance Cb information de
chrominance bleue Cr information de chrominance
rouge !!! Cb,Cr pas d interprétation
perceptuelle directe (?Y version noir et
blanc )
6Espace des couleurs
- (Y,Cb,Cr) utilisé pour la représentation des
signaux numériques - (Y,U,V) employé en analogique (TV PAL ou SECAM)
- Y identique
- U,V identiques à Cb,Cr à un facteur d échelle
près - Pour certaines normes de video (H261, MPEG), on
utilise une version décalée réduite - Y 219/255Y16
- Cb 224/255Cb128
- Cr 224/255Cr128
- Intérêt de la représentation (Y,Cb,Cr)
- Décorrélation des composantes ? codage
indépendant de chaque composante efficace - Y importante, Cb et Cr accessoires compression
de l information de chrominance
7Structures d échantillonnage
- Information de chrominance moins importante -gt
décimation horizontale et/ou verticale de Cb, Cr - 444 pas de décimation
- 422 décimation horizontale des chrominances
- 420 décimation verticale des chrominances
444
422
420 (MPEG1)
Y
Cb
Cr
8Entrelacement
- Image TV analogique 25 images / seconde
(Europe) - Acquisition 1/2 image à une fréquence de 50 Hz
- Images entrelacées
- Amélioration de la résolution temporelle, avec
une résolution spatiale correcte - Une image numérique (picture) entrelacée est
constituée de 2 trames (field) (demi-images) - trame haute (top field)
- trame basse (bottom field)
- 2 combinaisons possibles pour une image complète
- top field first trame supérieure acquise en
premier - bottom field first trame inférieure acquise en
premier
9Entrelacement et mouvement
10Tailles d images
- Image TV classique format CCIR 601
- Nombre de pixels de luminance
- 720 points sur 576 lignes (format européen)
- 720 points sur 480 lignes (format US)
- Autres formats couramment employés
- CIF chaque dimension est divisée par 2 (image
4x petite) - QCIF chaque dimension est divisée par 4 (image
16x petite)
11Fréquences vidéo
- TV
- Européen 25 images / seconde
- Américain 30 images / seconde
- Autres fréquences video utilisées
(visioconférence.) - 15 im/s, 10 im/s, 7.5 im/s
12Quantités d information
- Image fixe niveaux de gris, taille 512x512
chaque pixel codé sur 8 bits - T 292923 221 bits 256 ko
- Image fixe en couleur, sans décimation de la
chrominance (24 bits/pixel) - T 3221bits 768 ko
- Débit TV couleur
- taille 720x576
- chrominance 422 -gt 2x8 bits par pixel
- fréquence 25 im/s
- D 7205761625 ? 166 Mbits/s
- pour 1 image TV T ? 6.6 Mbits
- Débit TV brut (video infos de service,
synchro) 216 Mbits/s
13Quantités d information
- Pour stocker un film TV d 1h30 sous format brut,
il faudrait disposer de - T 9060166 ? 896 Tbits !!!
- Nécessité de compresser les données pour les
applications réalistes . - En pratique
- débit MPEG 2 pour TV (satellite...) 1Mb/s lt D lt
4Mbs - Débits MPEG 2 professionnels (chaînes,
post-production) ? 20Mb/s - Video bas débit (visioconférence) 64 kb/s, 128
kb/s, 384 kb/s
14Plan
- L image numérique
- Principes de la compression
- Notions de théorie de l information
- Le théorème du codage de source
- Compression sans perte
- Codage de Huffman
- Codage par plage
- Codage LZW
- Compression avec perte
- Quantification
- Prédiction linéaire
- Transformations linéaire
- Compensation de mouvement
15Principes de la compression
- Images et video fortement redondantes
- zones homogènes dans les images
- faible variation d une image à l autre dans une
séquence - Réduction de la redondance par un codage sans
perte (entropique) - Toute l information de l image n est pas
pertinente - exemple modification d un pixel non
perceptible - Augmentation du taux de compression en
introduisant des artefacts (distorsion) peu
perceptibles dans le signal - Codage à perte
Définition
16Principes de la compression
X signal à coder (image)
Compression
Y (signal compressé)
décompression
X (signal décompressé)
XX codage sans perte X?X codage à perte
- Comparaison de performances des méthodes de
compression - Taux de compression
- Distorsion visuelle introduite
- Complexité, temps de calcul (compression et
décompression) - Sensibilité des données codées aux erreurs
17Principes de la compression
- Théorie de linformation cadre théorique
général, indépendant du type de données (image,
son, texte, données ) - Adaptation au type de données
- Mesures de distorsion (modèles psycho-visuels,
psycho-acoustiques, robustesse aux erreurs ) - Statistiques sur les données
18Qu est ce que l information ?
- Information levée de l incertitude sur un
événement - Source générateur d évènements aléatoires
- Destinataire détermine avec le plus de
précision possible ( le moins d erreurs) les
évènements émis par la source, à partir de
l observation (éventuellement bruitée) des
évènements - Paradigme de Shannon (modèle générique de
communication)
destinataire
source
canal
message
perturbations
19Qu est ce que l information ?
- Mesure de la quantité dinformation apportée par
un événement aléatoire - Conséquences
- un événement rare apporte beaucoup
d information - un événement fréquent apporte peu
d information (cas extrême p(x)1 aucune
information) - L information apportée par 2 évènements
successifs indépendants est la somme des
informations individuelles
Unité le bit ou Shannon
Rappels logarithme à base 2
20Entropie
- Entropie mesure de l information moyenne
d une source aléatoire - Entropie d une variable aléatoire discrète x, à
valeurs dans x, de loi de probabilité p(x) - Exemple pile ou face, pièce non truquée
- P(pile)P(face)1/2
- Pièce truquée (P(pile) ou P(face) lt1/2 )
entropie lt1 ? incertitude sur le tirage plus
faible - Remarque l entropie ne dépend que des
probabilités des évènements (et pas de leur
valeur ) -gt on utilisera H(p1,..,pn) plutôt
que H(X)
21Entropie quelques propriétés
- L entropie est toujours positive
- L entropie est maximale (incertitude maximale)
lorsque tous les évènements sont équiprobables
22Entropie d une variable binaire
23Extension à des variables multidimensionnelles
- Entropie d une suite de variables X1,Xn
- Cas particulier symboles indépendants (source
sans mémoire) - Entropie moyenne (entropie par symbole)
24Théorème du codage de source
- Codage remplacement d un message par un autre
message (mot de code) - code ensemble de tous les mots de code
- Longueur moyenne d un code
- Soit une source d entropie moyenne par symbole
H. ?d il existe un code tel que
25Plan
- L image numérique
- Principes de la compression
- Notions de théorie de l information
- Le théorème du codage de source
- Compression sans perte
- Codage de Huffman
- Codage par plage
- Codage LZW
- Compression avec perte
- Quantification
- Prédiction linéaire
- Transformations linéaire
- Compensation de mouvement
26Méthodes de compression réversibles
- Minimiser lmoy sous la contrainte
d invertibilité (message décodé message
originel) - Théorème du codage de source
- L égalité est atteinte ssi
- plus un événement est rare et plus son code est
long code à longueur variable - En général, l égalité n est pas atteinte car
log2(p(ni)) n est pas nécessairement entier
27Pourquoi des codes à longueur variable ?
- Événement fréquent représenté par un code court
- exemple abréviations, raccourcis clavier
- Évènement rare représenté par un code long
- surcoût momentané, mais rare .
- Un exemple
Codage à longeur fixe sur 3 bits
Codage à longeur variable (de 1 à 5 bits)
28Intérêt des codes à longueur variable
Codage à longeur fixe
Longueur moyenne
Codage à longeur variable
Longueur moyenne
Gain en codage
Application coder la chaîne a a b a b f b a
a b b a code à longueur fixe L ? code à
longueur variable L ?
Entropie de la source ?
29Codes préfixés
- Code préfixé un mot de code quelconque nest le
début d aucun autre mot de code. - Permet les codes à longueur variable sans besoin
de synchronisation - exemple
- décodage d un train binaire
1 0 0 1 0 0 0 0 1 1 0 1 0
n4
n2
n1
n2
n5
30Codage de Huffman
- Soit Pm une source de taille m, dont les
probabilités sont connues - Principes
- On concatène les 2 symboles ni et nj de proba les
plus faibles on obtient une nouvelles source
réduite Pm-1 de taille m-1. On montre qu il
existe un code pour Pm-1 identique à celui de Pm
(hormis ni et nj) - Les codes de ni et nj sont obtenus à partir de
leur code dans Pm-1, auquel on concatène 0
(ni) et 1 (nj) - Pour obtenir les codes de Pm-1, on réitère le
processus en prenant les 2 symboles de plus
faible proba dans Pm-1. - Une source à 2 symboles est codés par 0 et
1
31Codage de Huffman exemple
0.45
1
0.55
0.3
32Codage de Huffman exemple
1
0.55
0.45
0.3
0.25
0.25
0.2
0.15
0.15
33Codage de Huffman exemple
1
0
1
0.55
1
0
0.45
0
1
0.3
0
1
0.25
0.25
0.2
0.15
0.15
10
00
01
110
111
n1
n2
n3
n4
n5
34Codage de Huffman exemple
- Entropie de la source H(m)?2.29
- Longueur moyenne lm2.3 gt H(m)
- Un exemple avec H(m)lm
- Comparaison avec un code de taille fixe ?
35Codage par plage (RLC Run Length Coding)
- Adapté au codage de zones homogènes (images
binaires, DCT quantifiées ) - Principe
- rassembler les échantillons de même valeur n
échantillons - code (n,valeur)
- Exemple (niveaux de gris)
- 12 12 5 23 23 23 30 30 30 30 28
- code (2,12) (1,5) (3,23) (4,30) (1,28)
36Codage Lempel Ziv Welch (LZW)
- Codage des images GIF (réversible)
- Compression des fichiers (.zip, .gz )
- Efficace pour les images synthétiques (plages
uniformes), dessins, graphiques, images NB - Pour les images naturelles, bruitées
compression à perte (JPEG) plus efficace.
37LZW principes
- Codage des chaîne de caractères par leur adresse
dans une table de traduction - Construction dynamique de la table de traduction,
en fonction du contenu à coder - Adresse de taille fixe, codant des chaînes de
taille variable - L algorithme tend à chercher les chaînes les
plus longues possibles (-gt compression)
38LZW codage
- A coder chaîne de bits b1b2bn
- Table de traduction taille 2m (adresse sur m
bits) - Initialisation
- stockage des chaînes 0 et 1 aux 2
premières adresses de la table (00 et 01) - Régime établi on a codé la chaîne b1bi-1
- bi dans la table de traduction ? gt concaténation
bibi1 - bibi1 dans la table de traduction ?
- Si oui, concaténation bibi1bi2 aller en 2
- Si non
- stocker bibi1 dans la table de traduction à la
première adresse disponible - coder bi par son adresse dans la table,
recommencer en 1 avec bi1
39LZW décodage
- La table de traduction n est pas transmise, mais
reconstituée au fur et à mesure du décodage - Initialisation similaire au codage
- Régime établi on a décodé les adresses a1ak-1
- lire l adresse ak, le mot décodé est la chaîne
bk,1bk,i de la table de traduction - décoder ak1 (chaîne bk1,1bk1,j)
- stocker bk,1bk,i,bk1,1 à la première adresse
libre
40LZW exemple
- A coder 1 0 0 0 1 1 0 1 1
- Table de traduction adresses sur 4 bits
- initialisation
41LZW exemple
- A coder 1 0 0 0 1 1 0 1 1
code
Table de traduction
0001
42LZW exemple
- A coder 1 0 0 0 1 1 0 1 1
code
Table de traduction
0001 0000
43LZW exemple
- A coder 1 0 0 0 1 1 0 1 1
code
Table de traduction
0001 0000 0011
44LZW exemple
- A coder 1 0 0 0 1 1 0 1 1
code
Table de traduction
0001 0000 0011 0001
45LZW exemple
- A coder 1 0 0 0 1 1 0 1 1
code
Table de traduction
0001 0000 0011 0001 0010 0010
46LZW exemple
- A coder 1 0 0 0 1 1 0 1 1
code
Table de traduction
0001 0000 0011 0001 0010 0010 0101
47LZW mise en œuvre
- Dimensionnement de la table de traduction en
fonction de la taille du fichier à coder - Nombre d adresses fixé à l avance -gt
débordement possible - remise à zéro de la table de traduction
48Plan
- L image numérique
- Principes de la compression
- Notions de théorie de l information
- Le théorème du codage de source
- Compression sans perte
- Codage de Huffman
- Codage par plage
- Codage LZW
- Compression avec perte
- Quantification
- Prédiction linéaire
- Transformations linéaire
- Compensation de mouvement
49Méthodes irréversibles motivation
- Compression sans perte taux de compression
faible (R?2.5) - L œil est peu sensible à certaines modifications
de l image - Compression à perte introduction d une
distorsion dans l image codée - ex JPEG R?20 pour une distorsion
quasi-invisible. - Fonction débit/distorsion extension de
l entropie pour les méthodes irréversibles
50Fonction débit-distorsion
- Le débit R est atteignable pour une distorsion D
ssi il existe une suite de codes (2nR,n) tels que
Codeur de source
décodeur de source
Y
X
X
d(XX )ltD R (Y)ltR(X)
51Fonction débit-distorsion
Compression sans perte
Débit R
H(X)
Codage possible
R0 (on ne transmet pas l image !)
Codage impossible
0
Distorsion D
52Mesure de la distorsion
- Mesure de la distorsion très complexe sur les
images - sensibilité de l œil variable suivant les
fréquences spatiales - phénomènes de masquage
-
- Mesure simplifiée EQM (Erreur Quadratique
Moyenne) - Rapport Signal à Bruit (SNR Signal to Noise
Ratio)(en dB)
53Mesures de distorsion
- Rapport Signal à Bruit Crête (PSNR Peak Signal
to Noise Ratio)(en dB)
54Distorsion ordres de grandeur
Exemple image JPEG, niveaux de gris
55Exemple distorsion après codage JPEG
56 Caractéristiques du système visuel humain (SVH)
- Caractéristiques du SVH
- perception de la luminance l œil est plus
sensible aux faibles intensités - sélectivité spatio-fréquentielle l acuité
varie suivant l orientation et la fréquence
spatiale - acuité forte aux basses et moyennes fréquences,
faible aux hautes fréquences - sensibilité au contraste l œil est plus
sensible aux contrastes qu à la luminance
absolue (modèle logarithmique) - Effet de masquage la présence de signaux de
forte amplitude peut masquer la présence des
signaux voisins plus faibles - Prise en compte des caractéristiques du SVH
suppression des informations auxquelles l œil
est peu sensible -gt compression
57Méthodes irréversibles ingrédients
- Tous les systèmes de codage d image/video sont
des systèmes hybrides utilisent plusieurs
techniques de réduction de l information - Ingrédients
- Prédiction (spatiale, temporelle)
- Décorrélation à l aide d une transformée
linéaire - Quantification étape irréversible du codage
- Codage entropique (voir méthodes réversibles)
58Quantification
- Quantification étape irréversible
- passage d une information continue à une
information discrète - Exemple représentation de nombres réels (nombre
de décimales infinies) par des rationnels
(représentation finie) - quantification scalaire appliquée sur une
variable monodimensionnelle - Quantification vectorielle appliquée sur une
variable multi-dimensionnelle
59Quantification scalaire
- Niveaux de quantification yi représentent un
intervalle de R - Seuils de quantification xi délimitent les
intervalles de quantification - Quantification uniforme xi-xi-1 constant ? i
- Quantification non uniforme .
Seuils de quantification
niveaux de quantification
60Quantification scalaire représentation graphique
Signal reconstruit
y6
y5
Q(x)y5
y4
y3
y2
y1
Signal original
x1
x2
x3
x4
x5
x
61Bruit de quantification
Q(x)-x
y2
y3
y4
y5
y6
y1
x
x2
x3
x4
x5
x6
x1
62Bruit de quantification
63Bruit de quantification
Hypothèse yi milieu du segment xi,xi1
64Bruit de quantification quantificateur uniforme
65Optimisation des quantificateurs
- But minimiser l EQM du quantificateur (ou une
autre mesure SNR ), pour un nombre de niveaux
de quantification n fixé - Optimisation en fonction de la probabilité du
signal p(x) - Intuitivement intervalle de quantification plus
petit pour les valeurs les plus probables du
signal. - Application à la compression d images
quantificateurs avec ou sans dead-zone
P(x)
66Choix des quantificateurs
- Algorithmes de calcul de quantificateurs optimaux
- Max
- Lloyd
-
- Codage du signal quantifié
- N niveaux de quantifications ? codage sur log2(N)
bits
67Quantification vectorielle
- Signal à quantifier vecteur
- exemple bloc mxn de l image
- Pixel couleur (R,G,B) vecteur 3 composantes
- Niveaux de quantification blocs d un
dictionnaire (codebook) - Quantification du vecteur w
- pour tous les vecteurs vi du dictionnaire, calcul
de la distance (EQM) à w w-vi2 - sélection du vi minimisant l EQM
- dictionnaire de N vecteurs ? codage sur log2(N)
bits
À coder avec
68Quantification vectorielle représentation
graphique
Vecteur à 2 dimensions (x1,x2)
seuils de quantification Régions de Voronoï
x2
x1
69Quantification vectorielle dans l espace des
couleurs
- Images palette remplacement d une couleur
par une autre proche dans le dictionnaire
(palette) - couleur vraie (true color) 16 millions
(28. 28. 28) - palette de 65000 ou 256 couleurs
- vecteur (R,V,B) espace à 3 dimensions
B
G
R
70Plan
- L image numérique
- Principes de la compression
- Notions de théorie de l information
- Le théorème du codage de source
- Compression sans perte
- Codage de Huffman
- Codage par plage
- Codage LZW
- Compression avec perte
- Quantification
- Prédiction linéaire
- Transformations linéaire
- Compensation de mouvement
71Prédiction linéaire
- Idée un pixel (i,j) est souvent de teinte
proche de celle des pixels voisins. - Fonction d autocorrélation de l image fortement
décroissante loin de l origine - Prédiction f(xi-1,j, xi-1,j-1, xi,j-1,...)
- Erreur de prédiction (ou innovation)
exi,j-f(xi-1,j,)
d
72Fonction d autocorrélation à 2 dimensions
t
d
73Exemple signal AR(1)
un bruit blanc gaussien, centré, variance su2,
indépendant de xn-1
- Prédiction optimale f(xn)axn
- Erreur de prédiction e(n)xn-axn-1un
- Décorrélation de l erreur de prédiction
74Prédiction linéaire intérêts
- Intérêts
- Mise en œuvre très simple, complexité très
réduite - Bonne qualité
- Inconvénients
- taux de compression généralement faible
- évolution des statistiques du signal
(autocorrélation) ? nécessité dune mise à jour
du prédicteur, méthode adapative - Exemple d utilisation
- DPCM f(xn)xn (simplicité)
- MPEG 2 coefficients DC codés par prédiction
75Plan
- L image numérique
- Principes de la compression
- Notions de théorie de l information
- Le théorème du codage de source
- Compression sans perte
- Codage de Huffman
- Codage par plage
- Codage LZW
- Compression avec perte
- Quantification
- Prédiction linéaire
- Transformations linéaire
- Compensation de mouvement
76Transformations linéraires pourquoi ?
- Définition
- Au,vx,y coefficients de transformation
- A matrice de transformation
- coefficients transformés
- Décorrélation du signal compaction
- Energie du signal concentrée sur quelques
coefficients - beaucoup de coefficients nuls -gt quantifiés à
0
77Transformations linéaires particulières
- Transformations orthogonales (unitaires)
- Inversibles, inverse facile à calculer
- Conservation de lénergie dans le domaine
transformé (EQM spatiale EQM transformée) - Transformations séparables
- calcul des coefficients par 2 transformations
successives monodimensionnelles
78Transformée de Karhunen-Loève
- But décorréler totalement les coefficients
- Rappel matrice dautocovariance
- Propriétés
- C hermitienne
- C diagonalisable,? matrice de passage A unitaire
- D matrice diagonales des valeurs propres de C
- A matrice des vecteurs propres de C
- C diagonale ? (XiXj) décorrélés ? (i,j)
79Transformée de Karhunen-Loève
- Matrice de transformation A (transfo inverse
AT ) - Propriétés des coefficients transformés
- E(X2) diagonal coefficients décorrélés
80Transformée de Karhunen-Loève
- Coefficients transformés décorrélés
- Energie du signal concentrée dans quelques
coefficients (forte disparité des valeurs propres
de D) - beaucoup de coefficients très faibles -gt
quantifiés à 0 - Transformation linéaire optimale mais
- Nécessite de connaître a priori la matrice
dautocorrélation -gt non universel - A nest généralement pas séparable -gt pas
dalgorithme rapide pour la transformation - Problèmes de calcul numérique (précision lors de
la diagonalisation de C) - Non utilisée dans la pratique
81Transformée de Fourier discrète (TFD)
- Matrice de transformation
- Propriétés
- transformation unitaire, donc inversible
- transformation séparable
- interprétation physique fréquences spatiales
(périodicités dans limage ) - Bonne décorrélation des composantes (proche de
Karhunen-Loève)
82Transformée de Fourier discrète
- Inconvénients
- Complexité n log(n) (FFT) augmente plus vite
que la taille de l image - Image à support fini TFD sur l image
périodisée -gt introduction de discontinuités aux
bords de l image - spectre symétrique hautes fréquences (basses
fréquences) de forte énergie, fréquences moyennes
de faible énergie - compression suppression des fréquences de
faible énergie - Or, sensibilité du SVH décroissante avec la
fréquence -gt introduction d artefacts visibles
83Énergie des coefficients de Fourier
Sensibilité de l œil
fréquence
Quantification des coeff. Moyenne fréquence ? EQM
faible ? distorsion visuelle forte
84Transformée en cosinus discrets(DCT Discrete
Cosine Transform)
- Idée utiliser les avantages de la TFD
(décorrélation) sans les inconvénients (hautes
fréquences fortes, inadéquation avec le SVH) - Principe TFD sur l image symétrisée et
périodisée - symétrisation pas de discontinuité sur les
bords de l image
85DCT interprétation graphique
86DCT
- Matrice de transformation
- Matrice de la transformation inverse
- Propriétés
- coefficients transformés réels (symétrie ? signal
pair) - séparable
87Codage des coefficients DCT
- Energie concentrée dans les coefficients
basse-fréquence - Œil peu sensible aux hautes fréquences
- Pas de quantification variable suivant les
fréquences spatiales matrice de quantification - Inconvénients
- la quantification introduit des discontinuités
sur les bords des blocs effets de blocs - Complexité de calcul
- En pratique calcul de la DCT sur des blocs 8x8
- Complexité pour 1 bloc n.log(n) (avec n64)
- sur une image C NMlog(64) 6NM
88Transformation en ondelettes
- Limite des transformations de type Fourier
- Domaine fréquentiel perte de l information de
localisation - Domaine spatial perte de l information
fréquentielle - Analyse de signaux transitoires
- Analyseur à large bande bonne décomposition
fréquentielle, mais incertitude sur la
localisation - Analyseur à bande étroite bonne localisation de
l événement mais analyse fréquentielle
approximative - Image
- information fréquentielle importante (variation
de sensibilité de l œil) - information spatiale importante (localisation
d évènements contours) - Approche mixte spatio-fréquentielle plus
adaptée à la nature du signal image (et du SVH)
89Transformation continue en ondelettes (1D)
Transformation en ondelettes
Famille d ondelettes
b facteur de localisation ? (a(t-b)) centré
autour de b a facteur d échelle a grand
? (a(t-b)) plus étroit, localisé en temps (plus
étalé en fréquence, fréquences hautes) a petit
? (a(t-b)) plus large, étalé en temps (localisé
en fréquence, fréquences basses)
90Exemple chapeau mexicain
Ondelette mère a1, b0
a0.25, b1
a2, b-4
91Représentation temps fréquence
y(t) d énergie finie ? y(t) tend vers 0 quand t
tend vers ? ? Y(f) tend vers 0 quand f tend vers ?
- ? On peut déterminer les intervalles -DtDt et
-DfDf tels que - -DtDt contienne 90 de l énergie de la
fonction - -DfDf contienne 90 de l énergie de la
fonction - -DtDt et -DfDf représentent un pavé dans
l espace temps fréquence
f
a0f
a0Df
Dt/a1
a1f
a1Df
Dt/a0
t
b0
b1
92Reconstruction (transformée inverse)
Représentation redondante signal réel 1D -gt
coefficients réels 2D ?non adapté à la
compression représentation compacte du signal
analyse multi-résolution
93Analyse Multi-résolution (AMR)
- But représenter le signal (image) par des
approximations successives - exemple série de zoom progressifs sur une image
- On cherche à représenter les signaux de L2(R)
espace vectoriel des signaux à énergie finie - AMR suite de sous-espaces vectoriels Vi (i?Z)
de L2(R) telle que
i niveau de résolution
f(t) ondelette père
94Propriétés de l AMR
Propriétés
Équation à 2 échelles (niveau 0 et niveau 1)
Équation à 2 échelles (niveau i et niveau i1)
h0 filtre passe-bas
95Base orthonormale d ondelettes
approximation
détails
Propriétés
Équation à 2 échelles (niveau i et niveau i1)
H1 filtre passe-haut
96Décomposition en ondelettes
- But on veut connaître, à un niveau de
résolution i, l approximation du signal s(t)
ainsi que ses détails
Approximation
Détails
97Décomposition en ondelettes
- L équation à 2 échelles nous permet de connaître
la décomposition (approximation, détail) à un
niveau de résolution i directement à partir de la
décomposition du niveau i-1. - On peut montrer que
?Les coefficients d approximation et de détail
au niveau i sont obtenus directement à partir du
coefficient d approximation du niveau i-1.
98Décomposition en ondelettes mise en œuvre
- Calcul de aik filtrage de ai-1 par h0,
puis décimation par 2 - Calcul de cik filtrage de ai-1 par h1,
puis décimation par 2
2?
h0
a3k
a2k
2?
h0
2?
h1
c3k
a1k
2?
h0
2?
h1
c2k
a0k
2?
h1
c1k
99Synthèse
- Transmission coefficient d approximation an et
coeff. de détails c1,cn - Opération duale
- interpolation d un facteur 2 (insertion de 0)
- filtrage par h0 (pour l approximation a) ou h1
(pour l approximation c)
2?
h0
a3k
a2k
2?
h0
2?
h1
c3k
a1k
2?
h0
2?
h1
c2k
a0k
2?
h1
c1k
100Exemple ondelettes de Haar
h0
h1
101Bases d ondelettes à 2 dimensions
Construction d une base d ondelettes 2D
séparable à partir d une base d ondelette 1D
détails horizontaux
détails diagonaux
détails verticaux
Fonctions de base associées
Filtrage passe-bas dans les 2 directions
passe-bas dans dir. horizontale, passe-haut dans
dir. verticale
passe-bas dans dir. verticale, passe-haut dans
dir. horizontale
Filtrage passe-haut dans les 2 directions
102Décomposition en ondelettes 2D
- Ondelettes séparables traitement successif des
2 dimensions - Même principe que ondelettes 1D filtrage,
décimation
1,2?
h0
a1x,y
2,1?
h0
1,2?
h1
c1Hx,y
a0x,y
1,2?
h0
c1Vx,y
2,1?
h1
1,2?
h1
c1Dx,y
103Exemple décomposition en ondelettes d une image
104Application au codage d image
- Meilleure concentration de l énergie compression
plus efficace - choix de la base d ondelette
- h0 long (régions homogènes)
- h1 court (localisation des contours)
- Effets de blocs atténués
- Décomposition multi-résolution scalabilité
spatiale - Prise en compte des corrélations entre
coefficients de bandes différentes algorithme
EZW
105Algorithme EZW (Embedded Zero-Tree Coding)
Définitions Coi(x,y) parent de
Coik(x,y) Coik(x,y) descendant de Coi(x,y) ?
arbre de coefficients
Si un coefficient d ondelette donné est non
significatif (d énergie faible), alors, ses
descendants sont le plus souvent non
significatifs (zero-tree) ? on ne code pas les
coefficients non significatifs ? gain en
compression
106Algorithme EZW
- Aglorithme itératif, avec un ensemble de pas de
quantification q0,qn décroissants - A l itération k
- Quantification des coefficients Ck(x,y) par qk
- Codage des coefficients quantifiés par zero-tree
- Nouveaux coefficients Ck1(x,y)
Ck(x,y)-Q(Ck(x,y)) - Codage par zero-tree du coefficient Ci(x,y)
- code P si Ci(x,y) est significatif et positif
- code N si Ci(x,y) est significatif et négatif
- code AZ (arbre de zéros) si Ci(x,y) est non
significatif et tous ses descendants sont non
significatifs - code ZI (zéro isolé) si Ci(x,y) est non
significatif et s il a au moins un descendant
significatif
107Algorithme EZW avantages
- Compression efficace
- Scalabilité de qualité on transmet d abord une
approximation grossière des coefficients (forte
quantification), puis des raffinements - Permet d obtenir un code enfoui (embedded code)
- lorsque une image est codée à un débit D, le code
contient de façon ordonnée tous les codes
correspondant aux débits inférieurs - Ex. codage par plan de bits
- Utilisation dans les normes JPEG 2000 et MPEG 4.
108Plan
- L image numérique
- Principes de la compression
- Notions de théorie de l information
- Le théorème du codage de source
- Compression sans perte
- Codage de Huffman
- Codage par plage
- Codage LZW
- Compression avec perte
- Quantification
- Prédiction linéaire
- Transformations linéaire
- Compensation de mouvement
109Codage du mouvement
- Idée prendre en compte la redondance entre
images successives de la vidéo. - Extension des méthodes de transformation linéaire
- 3 dimensions (x,y,t)
- Transformation 3D Îu,v,wA.Ix,y,t
- Ex transformée de Fourier 3D
- interprétation basses fréquences temporelles ?
éléments statiques de la vidéo - hautes fréquences ? objets en mouvement
- En pratique les transformations linéaires ne sont
pas efficaces pour décorréler la vidéo - vidéo projection sur un plan d une scène 3D
- objets en mouvement pas d interprétation
directe fréquentielle
110Compensation de mouvement
- Principe prédire limage courante à partir de
linformation de(s) image(s) antérieure(s) - Ex scène avec fond statique (caméra immobile),
objets se déplaçant dans un plan parallèle au
plan de la caméra (translation pure) - codage du fond image fixe
- codage de la texture de chaque objet
- pour chaque image, transmission uniquement du
déplacement de chaque objet par rapport à
l image précédente - Prédiction non linéaire pas de combinaison
linéaire des pixels de Ij pour obtenir ceux de
Ij1
111Compensation de mouvement
- Problèmes
- déplacements complexes (rotation, zoom )
- objets déformables
- occlusion, recouvrement
- variation d éclairage
-
- A résoudre
- Détermination du contour des objets
(segmentation) - Calcul du vecteur de mouvement pour chaque objet
et du mouvement interne de l objet (rotation
autour de son axe ) - Codage de l information d erreur objet prédit
- objet réel (variation d éclairage)
112Compensation de mouvement
- En pratique
- Segmentation de l image en blocs de taille fixe
ou variant en fonction du contenu (ex H26L). Le
plus souvent, blocs 8x8 ou 16x16 - Calcul d un vecteur de mouvement par bloc
(différentes méthodes) - Codage du vecteur de mouvement et de l erreur de
prédiction - Calcul du mouvement
- Appariement de blocs (block matching)
- Gradient spatio-temporel
- Segmentation spatio-temporelle
113Calcul du vecteur de mouvement par block matching
- Principe
- découpage de l image à coder en blocs Bi,j
- Pour chaque bloc Bi,j, recherche dans l image de
référence du bloc B i ,j le plus
ressemblant - vecteur de mouvement (i-i ,j-j )
V(i-i ,j-j )
B i ,j
B i ,j
Bloc d erreur Bi,j-B i ,j
It
It-1
114Mesure de ressemblance entre blocs
- EQM rappel
- EAM Erreur Absolue Moyenne
- plus rapide à calculer que EQM (pas d élévation
au carré) - ressemblance forte ? EQM, EAM faible
- Coefficient d intercorrélation
- coûteux en calcul
- ressemblance forte ?FCN élevé
115Méthode de recherche des blocs
- Recherche exhaustive calcul de l EQM avec tous
les blocs de l image de référence - sélection de bloc optimale
- très coûteux en temps de calcul !
- Recherche limitée
- en pratique, le déplacement d un objet d une
image sur l autre est relativement faible - zone de recherche autour du bloc courant
limitation de l amplitude du vecteur de
mouvement - Minimisation du temps de calcul
- sélectionner dans la zone de recherche des blocs
ne se recouvrant pas quantification des
vecteurs de mouvement - ordonner la recherche vecteur de faible
amplitude -gt vecteur de forte amplitude
116Détails sur la recherche de blocs
- Certaines normes vidéo (MPEG 2,4, H26L)
autorisent des coordonnées non-entières pour les
vecteurs de mouvement - appariement sub-pixellique sur l image de
référence interpolée - erreur plus faible mais temps de calcul important
! - Dans les implémentations, la compensation de
mouvement est généralement l étape la plus
gourmande en temps de calcul (gt50 du temps)
117Codage de l information de mouvement
- Information (vecteur de mouvement bloc
d erreur) à transmettre - Corrélation entre vecteurs de blocs proches
- codage différentiel (prédiction linéaire)
- codage entropique
- Blocs d erreur normalement d énergie faible
- transformation DCT
- quantification (pas de quantification grand)
- codage entropique
- Lorsque la taille de linformation à coder est
trop importante (EQM forte) - codage du bloc sans compensation de mouvement
(bloc Intra)
118Exemple la compensation de mouvement dans MPEG
- 3 types d images codées
- images Intra (I) codées de façon autonome (sans
compensation de mouvement) - peuvent servir d image de référence pour les
images P ou B - images prédites (P) blocs codés par
compensation de mouvement à partir de l image de
référence précédente - peuvent servir d image de référence pour les
images P ou B - images bidirectionnelles (B) blocs prédits par
- compensation de mouvement simple avant, à partir
de l image de référence précédente (I ou P) - compensation de mouvement simple arrière, à
partir de l image de référence suivante (I ou P) - double compensation de mouvement à partir de
l image de référence précédente et suivante le
bloc sera obtenu par moyennage des 2 prédictions - ne sont pas des images de référence
119Images B double compensation de mouvement
d21
d01
120La compensation de mouvement dans MPEG
- Répartition des différents types d image libre
(non fixé par la norme) - GOP (Group Of Picture) groupe d images
commençant obligatoirement par une image I - décodable de façon autonome
121Intérêts et inconvénients de la compensation de
mouvement
- Intérêt
- compression efficace de l information vidéo
- Inconvénients
- vidéo en continu (TV) nécessité d attendre une
image I pour commencer à décoder -gt latence - Equilibrage de la taille du GOP en pratique,
GOP de taille 12 le plus souvent (1/2 seconde) - sensibilité aux erreurs une erreur sur une
image de référence est répercutée sur les images
suivantes l utilisant comme prédiction - ex vidéoconférence sur mobile canal fortement
bruité - protection inégale derreurs code correcteur
fortement redondant sur les images de référence,
faiblement redondant sur les images prédites - error resilience marqueurs de synchronisation
- Inadéquation lorsque la dissimilarité entre
images est trop forte (changement de plan) - codage Intra (par bloc ou par image)