Académique Documents
Professionnel Documents
Culture Documents
multimédia
Introduction
Cadre général
Définition de la compression
Normalisation
Techniques de codage d’images
Techniques de codage sans pertes
Techniques de codage avec pertes
Compresser c’est
Rechercher l’efficacité maximum (de moindre redondance)
dans la représentation de l’information utile portée par les
signaux
Vocabulaire :
Flux codé (bitstream) = Représentation de l’image compressée
Codec = (encodeur + décodeur)
Qualité (distorsion)
Qualité perçue du signal restitué par rapport au signal original,
évaluée par des mesures :
• des distorsions/dégradations
• du "bruit de codage" (différence entre l’image originale et
l’image compressée)
Système de compression
optimal :
s’il maximise la qualité pour un
débit donné
s’il minimise le débit pour une
qualité donnée
Complexité au 3ème plan
Processus de normalisation
1. Groupe de travail, experts de la recherche et de l’industrie
2. Identification des besoins
3. Propositions avec sélection de la plus prometteuse
(performante, consensuelle) qui est implémentée puis
distribuée librement
4. Critique et amélioration progressive
5. Rédaction du standard
ISO/IEC JTC1 SC 29
AG AG(ISO/IE WG 11
WG1 (ISO/IEC(IE
AGM(Manag
C
AG(ISO/IEC
ement)(Man (92819281-- (MPEG)
JPEG C144961449 agement) (13522135 2)
6--1 IPMP) 22--4)
JPEG-LS MPEG 21
ITU-T ISO-IEC
H.263+ 2000
SVC
H.264/MPEG-4 AVC 2003
H.264+/SVC 2006
H.265 2010
X prend ses valeurs dans un alphabet A = {x0; x1; x2; ….; xS-1} de S
symboles et suit une certaine loi de probabilité imposant
{pi = pX (xi ) = Prob(X = xi ); ∀i = 0,…,S -1}.
A → C
xi → ci
Contrainte :
un code uniquement décodable vérifiant la condition du préfixe
aucun mot du code ne doit être un préfixe d’un autre mot du
code
xi x1 x2 x3 x4 x5 x6 x7 x8
b0b1b2 000 001 010 011 100 101 110 111
Performances
Lmoy = log2(S)
Codage optimal lorsque S est une puissance de 2 (Lmoy = log2(S))
et la loi de probabilité de X est uniforme (symboles équiprobables)
Code 1 x1 x2 x3 x4 x1 x2 x3 x4
Code 2
00 01 10 11 0 10 110 111
Message x1 x2 x3 x4 x5 …
Message codé avec code 1 00 10 00 00 11 …
Message codé avec code 2 0 110 0 0 100 …
Définition
Soit Ω, un ensemble fini de symboles possibles, la quantité
d’information d’un symbole xi
I ( xi ) = −log 2 ( p( xi )) bit/symbole
H (X ) = ∑ p I (x ) = − ∑ p log
i i i 2 pi
i =1,L, n i =1,L, n
H ( X ) = − plog 2 p − (1 − p )log 2 (1 − p ) = H 2 ( p ),
H (X ) ≤ n ≤ H (X ) +1
Principe
Remplacer chaque suite de symbole xi par le couple (ni ; xi ) où ni est
le nombre d’occurrence du symbole
Le couple peut être codé en ASCII ou avec un codage de Huffman
après recensement de tous les couples possibles
0
1 1 (0,1)
2 0 (0,0)
3 11 (1,1)
4 01 (2,1)
5 010 (4,0)
6 0101 (5,1)
Interprétation géométrique
Une transformée linaire peut décorreler une variable aléatoire
Une transformée orthonormée est une rotation du vecteur
(signal) par rapport à l’origine
Théorème de Parseval est valable pour les transformées
orthonormées
Transformée directe
U=Tu
u=T-1U=T-tU
Quantification
Transformée T Codage entropique Transformée inverse T-1
Bloc de l’image Transmission Coefficients Transformés
transformée et quantifié
[ ]
E U (m, n )U * (m′, n′) = λmnδ mm′nn′
DCT, ondelettes,…
Séparabilité en 2-D
q = x − Q( x ) = x − xi avec xi = Q( x )
Où d(,) est une distance (euclidienne, perceptuelle,…) mesurant la distorsion locale entre
x et Q(x)
−∞ −∞
x −δ
Q(x ) = ∆ +δ
∆
Avec l’opérateur d’arrondi, ∆= 2A/N et un paramètre de décalage
des représentants sur l’axe
Simplicité
Dynamique du quantifieur A
Pas de quantification : ∆= 2A/N
minimiser EQM
sous contrainte RT ≤ Rcible
QV = technique optimale
Mise en pratique récente dans de nombreuses applications :
sur vecteurs composés d’échantillons successifs du signal
sur des jeux de paramètres modélisant x
Principe :
prédire le niveau de gris x̂ du pixel à partir de ses voisins
quantifier l’erreur de prédiction e = x − xˆ
Intérêt :
La dynamique de l’erreur est plus petite que la dynamique du signal
donc elle peut être quantifiée avec moins de bit que le signal tout en
induisant une même distorsion
Elle peut avoir une DDP plus propice à la quantification (plus plate → Q
optimal)
P
xˆ (n ) = ∑ a i x(n − i )
i =1
Erreur de prédiction
P
e(n ) = x(n ) − xˆ (n ) = x(n ) − ∑ a i x(n − i )
i =1
Decodeur JPEG
3 catégories de codage
1. Intra-bande : JPEG2000, QT-L
2. Inter-bande : EZW, SPIHT
3. Intra et inter-bande : SPECK
Transformée réversible
Filtres (5,3) de Le Gal (coefficients entiers)
Banc de filtres d'analyse en ondelettes Itération du banc de filtres sur la sous bande
Passe-bas.
Annulation de repliement si :
Aliasing = repliement
A. OULED ZAID Mastère de recherche : SYSCOM 89
Implémentation de la DWT par des
scémas lifting
Problème : l’implémentation de la DWT directe necessite le
stockage en mémoire de l’image entiére
… une autre alternative d’implémentation : les schémas lifting
Mémoire
Calcul
Principe :
si0 siN-1 siN Low frequencies
+ ... + K0
xi Lazy
P1(z) U1(z) ... PN(z) UN(z)
Transform
Low-pass output
s01 s11 s21 s31
En général :
1
(
d i1 = d i0 − s i0 + s i0+1 )
2 d in = d in −1 + ∑ Pn (k ) skn −1 , n ∈ [1,2,..., N ]
s i1 = si0 + (d i1−1 + d i1 )
k
1
4 sin = sin −1 + ∑ U n (k )d kn , n ∈ [1,2,..., N ]
k
LL HL2
HL1
LL HL1 LH2 HH2
Les détails sont presque nuls pour des images suffisamment régulières. Ils peuvent
être négligés en dessous d’un certain seuil
A. OULED ZAID Mastère de recherche : SYSCOM 93
Codage par sous-bande
Signal transmis
Codage entropique
(EBCOT) code une fois, les
troncations peuvent être effectués
à n’importe quel endroit
Optimisation du compromis
débit/distorsion
Estimation des probabilité par des
modèles de contexte
Codeblocks
Découpage en code-blocks
Mots de code
Plans de bits
binaire
Codeur
Estimation arithmétique
des probabilités
d v d
h h
MQ-codeur
Estimation des probabilités
d v d
⇒ modèle de contexte
Voisinage de pixels utilisé pour
le modèle de contexte
Troncation optimale
Le bit-stream associé à chaque bloc peut être tronquer à
des longueurs variables avec la distorsion associée
Une étape de post-traitement après la compression de
touts les blocs détermine le point de troncation de chaque
bloc
T2
Formation des paquets
troncation
Flux binaires +
informations auxiliaires
T1
Codage par plans
de bits
Codage arithmétique
Partitionnement en codeblocks
distortion
minimiser D + λR
Principle=
Pour λ fixé
⇒ pour chaque code-block, trouver le
Pente = -λ
point de troncation ni qui minimise
n n
Di i + λRi i
Courbe "tangente"
rate
D avec R ≤ Rmax
A. OULED ZAID Mastère de recherche : SYSCOM 109
Optimisation du compromis débit/distorsion
distorsion
Point de truncation ni
n
Distorsion Di i
n
Quantité de donnée Ri i Operational-RD curve
Distortion de l’image :D
Truncation point ni
Taille maximale: Rmax
n
Di i
L’image est divisée en code-blocks: débit
n n n
R = ∑ Ri i et D = ∑ Di i Ri i
i i
Plus de bits
Plus de bits
Plus de bits