Compression des images et de la vidéo : principes

121
Compression des images 10/2003 SB – NEXTAMP 1 Compression des images et de la vidéo : principes Séverine Baudry [email protected]

description

Compression des images et de la vidéo : principes. Séverine Baudry [email protected]. Plan. 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 - PowerPoint PPT Presentation

Transcript of Compression des images et de la vidéo : principes

Page 1: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

1

Compression des images et de la vidéo : principes

Séverine Baudry

[email protected]

Page 2: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

2

Plan

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

Page 3: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

3

L ’image numérique

Une image numérique de taille NxM est représentée par un

tableau de pixels [I(x,y)]0 x<N;0 y<M

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 : R+G+B = blanc

Chaque composante est codé par un nombre de n bits (n : profondeur) n=8 en général (256 niveaux) images médicales, satellitaires : n 12 (meilleure précision) Convention : 0=noir ; 255=blanc (images 8 bits)

Page 4: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

4

Espace 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)

B

G

R

Cr

Cb

Y

0813.04187.05.0

5.03313.01687.0

114.0587.0299.0

Page 5: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

5

Espace des couleurs

R

G

B

Cr

Y

Cb

Y : information de luminanceCb : information de chrominance bleueCr : information de chrominance rouge*

!!! Cb,Cr : pas d ’interprétation perceptuelle directe (Y : version « noir et blanc »)

Page 6: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

6

Espace 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/255*Y+16 Cb ’=224/255*Cb+128 Cr ’=224/255*Cr+128

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

Page 7: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

7

Structures d ’échantillonnage

Information de chrominance moins importante -> décimation horizontale et/ou verticale de Cb, Cr 4:4:4 : pas de décimation 4:2:2 : décimation horizontale des chrominances 4:2:0 : décimation verticale des chrominances

4:4:4 4:2:2 4:2:0 (MPEG1)

Y Cb Cr

Page 8: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

8

Entrelacement

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

Page 9: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

9

Entrelacement et mouvement

Page 10: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

10

Tailles 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)

Formats nbre points x nbrelignes

16-CIF 1408x1152CCIR 601 720x576

4-CIF 704x576SIF 360x288

CIF 352x288QCIF 176x244

Sub-QCIF 128x96

Page 11: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

11

Fré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

Page 12: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

12

Quantités d ’information

Image fixe niveaux de gris, taille 512x512; chaque pixel codé sur 8 bits T = 29*29*23 = 221 bits = 256 ko

Image fixe en couleur, sans décimation de la chrominance (24 bits/pixel) T = 3*221bits = 768 ko

Débit TV couleur taille : 720x576 chrominance : 4:2:2 -> 2x8 bits par pixel fréquence: 25 im/s D = 720*576*16*25 166 Mbits/s pour 1 image TV : T 6.6 Mbits

Débit TV brut (video + infos de service, synchro…) : 216 Mbits/s

Page 13: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

13

Quantités d ’information

Pour stocker un film TV d ’1h30 sous format brut, il faudrait disposer de : T = 90*60*166 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 < D < 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

Page 14: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

14

Plan

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

Page 15: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

15

Principes 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 :comprimées données des taille

initiales données des taille :n compressio deTaux

Page 16: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

16

Principes de la compression

X : signal à coder(image)

Compression Y (signal compressé)

décompression X ’ (signal décompressé)

X=X ’ : codage sans perteXX ’ : 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

Page 17: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

17

Principes de la compression

Théorie de l’information : 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

Page 18: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

18

Qu ’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)

source canal destinataire

message

perturbations

Page 19: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

19

Qu ’est ce que l ’information ?

Mesure de la quantité d’information 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

ii xpxh

1log2

jiji xhxhxxh &

Unité : le bit ou Shannon

Rappels : logarithme à base 2 :

2ln

lnlog2

xx

12log2

Page 20: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

20

Entropie

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) <1/2 ) : entropie <1 incertitude sur le tirage plus faible Remarque : l ’entropie ne dépend que des probabilités des évènements (et pas de leur

« valeur ») -> on utilisera H(p1,..,pn) plutôt que H(X)

xpxpxp

xpXHxxxx

22 log1

log

1

2log

2

1log

2

1

2

1log

2

1

2

22

XH

Page 21: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

21

Entropie : quelques propriétés

L ’entropie est toujours positive : L ’entropie est maximale (incertitude maximale) lorsque tous les

évènements sont équiprobables :

in xpppH 0,...,1

nnn

HppH n 21 log1

;...;1

,...,

Page 22: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

22

Entropie d ’une variable binaire

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

0 0,2 0,4 0,6 0,8 1

Page 23: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

23

Extension à 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) :

possibles ... symboles de suites les toutesde ensemble :

log,...

1

21

n

Cn

XXC

ppXXH

c

cc

ni

in XHXXH1

1,...

nn

XXHn

H ,...,1

lim 1

Page 24: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

24

Thé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. il existe un code tel que :

ii

i

Siiimoy

xl

x

S

lxpl

messageau associé code demot du longueur :

message:

messages des ensemble :

HlH moy

Page 25: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

25

Plan

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

Page 26: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

26

Mé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

n

iii

n

i ii

moy

lnpnp

np

lXH

112

1log

ii

ii

npl

npl

2

2

log

1log

Page 27: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

27

Pourquoi 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 :

N a b c d e f g hP(ni) 0.4 0.3 0.05 0.05 0.05 0.05 0.05 0.05

Codage à longeur fixe : sur 3 bits

N a b c d e f g hcode 000 001 010 011 100 101 110 111

Codage à longeur variable (de 1 à 5 bits):

N a b c d e f g hcode 1 01 0011 0010 00011 00010 00001 00000

Page 28: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

28

Intérêt des codes à longueur variable

Codage à longeur fixe N a b c d e f g hcode 000 001 010 011 100 101 110 111

3

i iimoy npllLongueur moyenne :

Codage à longeur variable :

N a b c d e f g hcode 1 01 0011 0010 00011 00010 00001 00000

4,2

05,0.5555443,0.24,0.1

i iimoy npll

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= ?

Gain en codage :

Longueur moyenne :

%20

3

4.23

G

l

llG

f

fv

Entropie de la source ?

Page 29: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

29

Codes préfixés

Code préfixé : un mot de code quelconque n’est 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 :

ni n1 n2 n3 n4 n5

code 000 010 011 10 11

1 0 0 1 0 0 0 0 1 1 0 1 0

n4 n2 n1 n2n5

Page 30: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

30

Codage 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 ’

Page 31: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

31

Codage de Huffman : exemple

Ni N1 N2 N3 N4 N5

P(ni) 0.25 0.25 0.2 0.15 0.15

n1 0.25

n2 0.25

n3 0.2

n4 0.15

n5 0.15

0.3

0.45

0.55

1

Page 32: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

32

Codage de Huffman : exemple

0.25 0.25 0.2 0.150.15

0.3

1

0.55

0.45

Ni N1 N2 N3 N4 N5

P(ni) 0.25 0.25 0.2 0.15 0.15

Page 33: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

33

Codage de Huffman : exemple

0.25 0.25 0.2 0.150.15

0.3

1

0.55

0.45

0 1

0 1

0 1

0 1

10 00 01 110 111n1 n2 n3 n4 n5

Page 34: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

34

Codage de Huffman : exemple

Entropie de la source : H(m)2.29 Longueur moyenne : lm=2.3 > H(m) Un exemple avec H(m)=lm :

Comparaison avec un code de taille fixe ?

Ni N1 N2 N3 N4

P(ni) 1/2 1/4 1/8 1/8

Page 35: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

35

Codage 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)

Page 36: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

36

Codage 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.

Page 37: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

37

LZW : 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 (-> compression)

Page 38: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

38

LZW : codage

A coder : chaîne de bits b1b2…bn

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 (0…0 et 0…1)

Régime établi : on a codé la chaîne b1…bi-1 1 bi dans la table de traduction ? => concaténation bibi+1

2 bibi+1 dans la table de traduction ?Si oui, concaténation bibi+1bi+2 aller en 2Si non

stocker bibi+1 dans la table de traduction à la première adresse disponible

coder bi par son adresse dans la table, recommencer en 1 avec bi+1

Page 39: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

39

LZW : 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 a1…ak-1

lire l ’adresse ak, le mot décodé est la chaîne bk,1…bk,i de la table de traduction

décoder ak+1 (chaîne bk+1,1…bk+1,j) stocker bk,1…bk,i,bk+1,1 à la première adresse libre

Page 40: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

40

LZW : exemple

A coder : 1 0 0 0 1 1 0 1 1 Table de traduction : adresses sur 4 bits initialisation :

Adresse Chaîne codée0000 00001 100100011…

Page 41: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

41

LZW : exemple

A coder : 1 0 0 0 1 1 0 1 1

Adresse Chaîne codée0000 00001 10010 100011…

Table de traduction code

0001

Page 42: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

42

LZW : exemple

A coder : 1 0 0 0 1 1 0 1 1

Adresse Chaîne codée0000 00001 10010 100011 00…

Table de traduction code

0001 0000

Page 43: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

43

LZW : exemple

A coder : 1 0 0 0 1 1 0 1 1

Adresse Chaîne codée0000 00001 10010 100011 000100 001

Table de traduction code

0001 0000 0011

Page 44: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

44

LZW : exemple

A coder : 1 0 0 0 1 1 0 1 1

Adresse Chaîne codée0000 00001 10010 100011 000100 0010101 11

Table de traduction code

0001 0000 0011 0001

Page 45: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

45

LZW : exemple

A coder : 1 0 0 0 1 1 0 1 1

Adresse Chaîne codée0000 00001 10010 100011 000100 0010101 110110 101

Table de traduction code

0001 0000 0011 0001 0010 0010

Page 46: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

46

LZW : exemple

A coder : 1 0 0 0 1 1 0 1 1

Adresse Chaîne codée0000 00001 10010 100011 000100 0010101 110110 101

Table de traduction code

0001 0000 0011 0001 0010 0010 0101

Page 47: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

47

LZW : mise en œuvre

Dimensionnement de la table de traduction : en fonction de la taille du fichier à coder

Nombre d ’adresses fixé à l ’avance -> débordement possible remise à zéro de la table de traduction

Page 48: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

48

Plan

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

Page 49: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

49

Méthodes irréversibles : motivation

Compression sans perte : taux de compression faible (R2.5) L ’œil est peu sensible à certaines modifications de l ’image Compression à perte : introduction d ’une distorsion dans

l ’image codée ex : JPEG : R20 pour une distorsion quasi-invisible. Fonction débit/distorsion : extension de l ’entropie pour les

méthodes irréversibles

Page 50: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

50

Fonction débit-distorsion

Codeur de source

Y

Le débit R est atteignable pour une distorsion D ssi il existe une suite de codes (2nR,n) tels que :

X

d(X;X ’)<DR (Y)<R(X)

RXXdEnn

n

';lim

décodeur de source

X ’

Page 51: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

51

Fonction débit-distorsion

Distorsion D

Débit R

Codageimpossible

Codagepossible

R=0(on ne transmet pas l ’image !)

0

H(X)

Compressionsans perte

Page 52: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

52

Mesure 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)

N

iii xx

NEQM

1

2'1

N

iii

N

ii

xx

x

SNR

1

2

1

2

10

'

log10

Page 53: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

53

Mesures de distorsion

Rapport Signal à Bruit Crête (PSNR : Peak Signal to Noise Ratio)(en dB)

N

iii

Max

xx

xNPSNR

1

2

2

10

'

.log.10

Page 54: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

54

Distorsion : ordres de grandeur

Qualité visuelle REQM(EQM)

PSNR (dB) Bits/pixel Taux decompression

Pas de distorsionvisible

2.6 40 1.5 5.3

Excellente 3.2 38 1 8

Moyenne 3.8 36.5 0.75 10.7

Médiocre 4.7 34.7 0.5 16

mauvaise 7.3 31 0.25 32

Exemple : image JPEG, niveaux de gris

Page 55: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

55

Exemple : distorsion après codage JPEG

Page 56: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

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 spatialeacuité 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 -> compression

Page 57: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

57

Mé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)

Page 58: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

58

Quantification

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

Page 59: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

59

Quantification scalaire

Seuils de quantification

niveaux de quantification

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 : ….

Page 60: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

60

Quantification scalaire : représentation graphique

x1 x2 x3 x4 x5Signal original

Signal reconstruit

y1

y2

y3

y4

y5

y6

x

Q(x)=y5

Page 61: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

61

Bruit de quantification

Q(x)-x

x1 x2 x3 x4 x5 x6

y1 y2 y3 y4 y5 y6

x

nx

x

dxxpxxQEQM0

2

Page 62: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

62

Bruit de quantification

1

0

331

1

0

3

1

0

2

1

0

2

2

3

1

3

1

3

1 1

1

1

0

n

iiiiii

x

x

n

iii

n

i

x

x ii

n

i

x

x i

x

x

xyxyyp

xyyp

dxxyyp

dxxpxy

dxxpxxQEQM

i

i

i

i

i

i

n

abbaba

babababa

2

2233

1

01

21

1

01

211

3

1

3

1

n

iiiiiiiiiii

n

iiiiiiiiiiiiii

xyxyxyxyyp

xyxyxyxyxyxyypEQM

iii xx 1

Page 63: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

63

Bruit de quantification

1

0

3

1

0

21

1

01

21

12

1

43

1

3

1

n

iii

n

i

iiii

n

iiiiiiiiiii

yp

xxyp

xyxyxyxyypEQM

21

iii

xxy

Hypothèse : yi milieu du segment [xi,xi+1] :

Page 64: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

64

Bruit de quantification : quantificateur uniforme

ii

1

0

3

12

1 n

iiypEQM

1

0

1n

iiyp

12

2EQM

Page 65: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

65

Optimisation 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)

Page 66: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

66

Choix des quantificateurs

Algorithmes de calcul de quantificateurs optimaux Max Lloyd …

Codage du signal quantifié N niveaux de quantifications codage sur log2(N) bits

Page 67: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

67

Quantification 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-vi|2

sélection du vi minimisant l ’EQM dictionnaire de N vecteurs codage sur log2(N) bits

À coder avec :

Page 68: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

68

Quantification vectorielle : représentation graphique

Vecteur à 2 dimensions (x1,x2)

x1

x2« seuils de quantification » =Régions de Voronoï

Page 69: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

69

Quantification 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

R

G

B

Page 70: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

70

Plan

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

Page 71: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

71

Pré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) : e=xi,j-f(xi-1,j,…)

ii xxE .

Page 72: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

72

Fonction d ’autocorrélation à 2 dimensions

jiji xxE ,, .

Page 73: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

73

Exemple : signal AR(1)

Prédiction optimale : f(xn)=axn

Erreur de prédiction : e(n)=xn-axn-1=un

Décorrélation de l ’erreur de prédiction :

nnn uaxx 1

un : bruit blanc gaussien, centré, variance u

2, indépendant de xn-1

)(.2 unneeE

Page 74: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

74

Pré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é

d’une 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

Page 75: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

75

Plan

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

Page 76: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

76

Transformations linéraires : pourquoi ?

Définition :

Au,v;x,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 -> quantifiés à 0

yx

yxyxvuvu XAX,

,,;,,ˆ

yxvuA ,;,A

0)ˆˆ( ',', vuvu XXE

Page 77: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

77

Transformations 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

TTAAIAA

1.

vRyxCuyxvu AAA ,;,;,

x yvRyyxxCu

yxyxvRyxCu

yxyxyxvuyxvu

AXA

XAA

XAX

;,;

,,;;

,,,;,,;,

ˆ

Page 78: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

78

Transformée de Karhunen-Loève

But : décorréler totalement les coefficients Rappel : matrice d’autocovariance :

Propriétés : C hermitienne : C diagonalisable, matrice de passage A unitaire

D : matrice diagonales des valeurs propres de CA : matrice des vecteurs propres de C

C diagonale (Xi;Xj) décorrélés (i,j)

centrées) (variables

;cov22,

ji

ji

XiX

jiji

XEXE

XXEXXC

j

TCC

IAA

DAACT

T

Page 79: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

79

Transformée de Karhunen-Loève

Matrice de transformation : A (transfo inverse : ĀT ) Propriétés des coefficients transformés :

E(X2) diagonal : coefficients décorrélés

D

ADAAA

AAC

AXX.A

AXAX.

XXX

AXX

TT

T

TT

TT

T

E

E

EE ˆ.ˆˆ

ˆ

2

Page 80: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

80

Transformé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 -> quantifiés à 0

Transformation linéaire optimale mais … Nécessite de connaître a priori la matrice d’autocorrélation -> non

universel A n’est généralement pas séparable -> pas d’algorithme rapide pour

la transformation Problèmes de calcul numérique (précision lors de la diagonalisation

de C) Non utilisée dans la pratique

Page 81: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

81

Transformé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 l’image …)

Bonne décorrélation des composantes (proche de Karhunen-Loève)

Nvj

Mui

i

jivu eMN

A2

,;,1

Njv

Miu

i

vuji eMN

A2

,;,1 1

N

e

M

eA

Njv

iMiu

i

jivu

22

,;, .

Page 82: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

82

Transformé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 -> introduction de

discontinuités aux bords de l ’imagespectre symétrique : hautes fréquences (=basses fréquences) de forte

énergie, fréquences moyennes de faible énergiecompression : suppression des fréquences de faible énergieOr, sensibilité du SVH décroissante avec la fréquence -> introduction

d ’artefacts visibles

Page 83: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

83

fréquence

Sensibilité de l ’œil

Énergie des coefficients de Fourier

Quantification des coeff. Moyenne fréquence EQM faible distorsion visuelle forte

Page 84: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

84

Transformé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

Page 85: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

85

DCT : interprétation graphique

Page 86: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

86

DCT

Matrice de transformation :

Matrice de la transformation inverse :

Propriétés : coefficients transformés réels (symétrie signal pair) séparable

2

1cos

2

1cos

2,;, jv

Miu

MvCuC

MA jivu

2

10 C 10 xC

2

1cos

2

1cos

2ˆ,;, jv

Miu

MvCuC

MA jivu

Page 87: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

87

Codage 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 n=64) sur une image : C = N*M*log(64) = 6*N*M

Page 88: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

88

Transformation 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)

Page 89: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

89

Transformation continue en ondelettes (1D)

tba dtbttxX 2/1, )(

) quand 0 (donc finie énergied'

,

ttt

bt b

Famille d ’ondelettes :

b : facteur de localisation :  ((t-b)) centré autour de b : facteur d ’échelle

grand :  ((t-b)) plus étroit, localisé en temps (plus étalé en fréquence, fréquences hautes) petit :  ((t-b)) plus large, étalé en temps (localisé en fréquence, fréquences basses)

Transformation en ondelettes :

Page 90: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

90

Exemple : chapeau mexicain

-1

-0,5

0

0,5

1

1,5

2

-8 -6 -4 -2 0 2 4 6 8

Ondelette mère : =1, b=0

=2, b=-4 =0.25, b=1

-0,5

0

0,5

1

1,5

2

-8 -6 -4 -2 0 2 4 6 8

-1

-0,5

0

0,5

1

1,5

2

-8 -6 -4 -2 0

2

2

22

4/11

3

2

t

ett

Page 91: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

91

Représentation temps fréquence

(t) d ’énergie finie (t) tend vers 0 quand t tend vers (f) tend vers 0 quand f tend vers

On peut déterminer les intervalles [-t;t] et [-f;f] tels que : [-t;t] contienne 90% de l ’énergie de la fonction [-f;f] contienne 90 % de l ’énergie de la fonction

[-t;t] et [-f;f] représentent un pavé dans l ’espace temps fréquence

t

f

b0 b1

1f

0f

t1

1f

0f

t0

Page 92: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

92

Reconstruction (transformée inverse)

dadbbttX

Ktx ba

2/1, )(

1)(

Représentation redondante : signal réel 1D -> coefficients réels 2Dnon adapté à la compressionreprésentation compacte du signal : analyse multi-résolution

Page 93: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

93

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} (iZ) de L2(R) telle que :

Analyse Multi-résolution (AMR)

0

1

2

1

de leorthonorma base unesoit ,k-t que tel

2/

lim

0lim

Vkt

VtsVts

LV

V

VVi

ii

ii

ii

ii

Z

R

(t) : ondelette père

i : niveau de résolution

Page 94: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

94

Propriétés de l ’AMR

Propriétés :

iii

Vkkti de leorthonorma base uneest ,2/22/

Z

l

ktlhtllh 00 2/2

1 : que telle, Z Équation à 2 échelles

(niveau 0 et niveau 1)

liiii

lt

klhkt

22

2

1

22

1 02/1

21

Équation à 2 échelles(niveau i et niveau i+1)

h0 : filtre passe-bas

Page 95: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

95

Base orthonormale d ’ondelettes

111 : que tel iiiiii WVVWVV

approximation

détails

Propriétés :

iii

Wkkti de leorthonorma base uneest ,2/22/

Z

0 de leorthonorma base uneest , : que telle Wkktt Z

liiii

lt

klhkt

ll2

22

1

22

1: que telle],[h 12/1

211 Z Équation à 2 échelles

(niveau i et niveau i+1)

H1 : filtre passe-haut

Page 96: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

96

Dé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 :

kiiiV kt

katsi

22

1proj

2/

k

ttska

iii22

1;

2/

Détails :

kiiiW kt

kctsi

22

1proj

2/

k

ttskc

iii22

1;

2/

Page 97: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

97

Dé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 :

l

lii klhlaka 201

l

lii klhlakc 211

Les coefficients d ’approximation et de détail au niveau i sont obtenus directementà partir du coefficient d ’approximation du niveau i-1.

Page 98: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

98

Décomposition en ondelettes : mise en œuvre

Calcul de ai[k] : filtrage de ai-1[] par h0[], puis décimation par 2 Calcul de ci[k] : filtrage de ai-1[] par h1[], puis décimation par 2

l

lii klhlaka 201

l

lii klhlakc 211

2

2h1

h0 a3[k]

c3[k]

a2[k]2

2h1

h0

a1[k]2

2h1

h0

a0[k] c2[k]

c1[k]

Page 99: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

99

Synthè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

2 h1

h0a3[k]

c3[k]

a2[k] 2

2 h1

h0

a1[k] 2

2 h1

h0

a0[k]c2[k]

c1[k]

Page 100: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

100

Exemple : ondelettes de Haar

sinon 0

1,0 si 2

1

][0

kkh

sinon 0

1 si 2

1

0 si 2

1

][0 k

k

kh

h0 h1

Page 101: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

101

Bases d ’ondelettes à 2 dimensions

Construction d ’une base d ’ondelettes 2D séparable à partir d ’une base d ’ondelette 1D

Di

Vi

Hiii WWWVV

221

détails verticaux

détails horizontaux détails diagonaux

Fonctions de base associées :

yxyxW

yxyxW

yxyxW

yxyxV

D

V

H

, :

, :

, :

, :

D

V

H

22 Filtrage passe-bas dans les 2 directions

passe-bas dans dir. verticale, passe-haut dans dir. horizontale

passe-bas dans dir. horizontale, passe-haut dans dir. verticale

Filtrage passe-haut dans les 2 directions

Page 102: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

102

Décomposition en ondelettes 2D

Ondelettes séparables : traitement successif des 2 dimensions Même principe que ondelettes 1D : filtrage, décimation

1,2

1,2h1

h0

2,1

2,1h1

h0

a0[x,y]

a1[x,y]

1,2

1,2h1

h0

c1H[x,y]

c1V[x,y]

c1D[x,y]

Page 103: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

103

Exemple : décomposition en ondelettes d ’une image

Page 104: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

104

Application 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

Page 105: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

105

Algorithme EZW (Embedded Zero-Tree Coding)

Définitions :Co

i(x,y) parent de Coi+k(x,y)

Coi+k(x,y) descendant de Co

i(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

Page 106: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

106

Algorithme 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 : Ck+1(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

Page 107: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

107

Algorithme 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.

Page 108: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

108

Plan

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

Page 109: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

109

Codage 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,w=A.{I}x,y,t

Ex : transformée de Fourier 3D :interprétation : basses fréquences temporelles éléments statiques de

la vidéohautes 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

T

e

N

e

M

eA

T

twi

N

yvi

M

xui

tyxwvu

222

,,;,, ..

Page 110: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

110

Compensation de mouvement

Principe : prédire l’image courante à partir de l’information 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 Ij+1

Page 111: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

111

Compensation 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…)

Page 112: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

112

Compensation 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

Page 113: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

113

Calcul 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 ’)

ItIt-1

B ’i ’,j ’B i ,j 

V=(i-i ’,j-j ’)

Bloc d ’erreur : Bi,j-B ’i ’,j ’

Page 114: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

114

Mesure 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é

N

i

N

jjiji xx

NEQM

1 1

2,,2

'1

N

i

N

jjiji xx

NEAM

1 1,,2

'1

2/1

1 1

2,

2/1

1 1

2,

1 1,,

'

.'

N

i

N

jji

N

i

N

jji

N

i

N

jjiji

CN

xx

xx

F

Page 115: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

115

Mé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 -> vecteur de forte amplitude

Page 116: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

116

Dé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 (>50% du temps)

Page 117: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

117

Codage 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 l’information à coder est trop importante (EQM forte) codage du bloc sans compensation de mouvement (bloc Intra)

Page 118: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

118

Exemple : 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 parcompensation 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

Page 119: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

119

Images B : double compensation de mouvement

2120101 2

1

),(

),(

dvdvv

d

v

III

dd

yx

yx

d01

d21

Page 120: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

120

La 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

Page 121: Compression des images et de la vidéo :  principes

Compression des images

10/2

003

SB

– N

EX

TA

MP

121

Inté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 -> latenceEquilibrage 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 d’erreurs : code correcteur fortement redondant sur les images

de référence, faiblement redondant sur les images préditeserror resilience : marqueurs de synchronisation …

Inadéquation lorsque la dissimilarité entre images est trop forte (changement de plan)codage Intra (par bloc ou par image)