Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Ondelettes et compression d’images
Marco Cagnazzo
Département Traitement du Signal et des Images
TELECOM ParisTech
30 Octobre 2012
M. Cagnazzo Ondelettes 1/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Plan
1 Introduction
2 Transformée en ondelettes discrète
Bancs de filtres
Analyse Multirésolution 1D et 2D
3 Principes de compression d’images
EZW
JPEG 2000
M. Cagnazzo Ondelettes 2/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Plan
1 Introduction
2 Transformée en ondelettes discrète
Bancs de filtres
Analyse Multirésolution 1D et 2D
3 Principes de compression d’images
EZW
JPEG 2000
M. Cagnazzo Ondelettes 3/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Représentation des images numériques
Signal discret, grille de
N × M “pixels”
Images en couleurs : trois
composantes, chacune
représentée comme une
matrice de N × M réels.
Chaque composante (R,
V, B) peut être visualisée
comme une image en
niveaux de gris
M. Cagnazzo Ondelettes 4/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Représentation des images numériques
Images couleurs : Format YCbCr
Changement de
coordonnées :
[R, V , B] → [Y , Cb , Cr ]
Luminance Y et
chrominance Cb , Cr
M. Cagnazzo Ondelettes 5/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Pourquoi comprimer ?
Photos : 5 Megapixel
Trois composantes couleur
Un octet par composant
Occupation mémoire : 15 Mo par photo
Vidéo, 25 images par second : 2 heures de film > 100 Go
M. Cagnazzo Ondelettes 6/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Comment comprimer ?
Redondance statistique des données
homogénéité des images
dépendance statistique entre les pixels
Redondance psychovisuel
sensibilité aux baisses fréquences
effets de masquage
importance des contours
autres limites du système visuel humain
Codage par transformée : on passe de NM valeurs de
luminance (tous importants) à n ≪ NM coefficients
significatifs de la transformée
M. Cagnazzo Ondelettes 7/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Algorithmes de compression
Types d’algorithme
Algorithmes sans perte (lossless)
Reconstruction parfaite
Basés sur la redondance statistique
Faible rapport de compression
Algorithmes avec perte (lossy)
Image reconstruite 6= image originale
Basés sur la quantification et transformée
Redondance psychovisuel : “visually lossless”
Rapport de compression élevé
M. Cagnazzo Ondelettes 8/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Ondelettes et images : Motivations
Modèle des images : trends + anomalies
M. Cagnazzo Ondelettes 9/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Ondelettes et images : Motivations
Modèle des images : trends + anomalies
M. Cagnazzo Ondelettes 9/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Ondelettes et images : Motivations
Modèle des images : trends + anomalies
M. Cagnazzo Ondelettes 9/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Ondelettes et images : Motivations
Anomalies :
Variations soudaines du signal, sur une courte durée
Contribution à haute fréquence
Contours des objets
Bonne résolution spatiale
Résolution en fréquence grossière
Trends :
Variations lentes du signal, sur une longue durée
Contribution à baisse fréquence
Intérieur des objets
Résolution spatiale grossière
Bonne résolution en fréquence
M. Cagnazzo Ondelettes 10/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Ondelettes et images : Motivations
Boîtes temps-fréquence des familles analysantes
Analyse dans le temps :
θγ (t) = δ(t − t0 )
Analyse en fréquence :
θγ (t) = e 2iπf0 t
F
Transformée de Fourier à fenêtre :
θγ (t) = g(t − t0 )e 2iπf0 t
T T
Analyse dans le temps Analyse en fréquence
σt , σξ indépendants de γ
Transformée en Ondelettes : F
F
1 t −b
θγ (t) = √ ψ
a a
T T
σt(a,b) = aσt,(1,0) σξ(a,b) = a−1 σξ,(1,0) Transformée de Fourier à Fenêtre Transformée en Ondelettes
M. Cagnazzo Ondelettes 11/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Ondelettes et images : Motivations
Modèle du signal : une ligne d’une image
M. Cagnazzo Ondelettes 12/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Ondelettes et images : Motivations
Modèle du signal : une ligne d’une image
M. Cagnazzo Ondelettes 12/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Ondelettes et images : Motivations
Modèle du signal : une ligne d’une image
M. Cagnazzo Ondelettes 12/96
Introduction
Transformée en ondelettes discrète
Principes de compression d’images
Ondelettes et analyse à résolutions multiples
Approximation : version à baisse résolution
“Détails” : zéros en correspondance d’un signal
polynomiale
60
x[k] = c0 [k]
40
20
−20
0 50 100 150 200 250 300 350 400 450 500
80
c−1 [k] d−1 [k]
60
40
20
−20
0 50 100 150 200 250 300 350 400 450 500
M. Cagnazzo Ondelettes 13/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Plan
1 Introduction
2 Transformée en ondelettes discrète
Bancs de filtres
Analyse Multirésolution 1D et 2D
3 Principes de compression d’images
EZW
JPEG 2000
M. Cagnazzo Ondelettes 14/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Bancs de filtres 1D
Décomposition
č[k] c[k]
h ↓2
x[k]
ď[k] d [k]
g ↓2
Banc de filtres d’analyse
2 ↓ : opérateur de décimation : c[k] = č[2k]
M. Cagnazzo Ondelettes 15/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Reconstruction
ĉ[k]
c[k] ↑2 h̃
x̃ [k]
d̂[k]
d [k] ↑2 g̃
Banc de filtres de synthèse
2 ↑ : opérateur d’interpolation, multiplie le nombre
d’échantillons par 2
(
c[k/2] si k est pair
ĉ[k] =
0 si k est impair
M. Cagnazzo Ondelettes 16/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Propriétés des filtres
Reconstruction parfaite
RIF
Orthogonalité
Moments nuls
Symétrie
M. Cagnazzo Ondelettes 17/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Conditions de reconstruction parfaite
En cascadant bancs de filtres d’analyse et de synthèse, on veut
la reconstruction parfaite (RP), c’est-à-dire que, pour tout
k ∈ Z,
e (z) = z −ℓ X (z)
xek = xk +ℓ ⇐⇒ X
č[k] c[k] ĉ[k]
h ↓2 ↑2 h
x[k] x̃ [k]
ď[k] d [k] d̂[k]
g ↓2 ↑2 g
M. Cagnazzo Ondelettes 18/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Relations dans le domaine Z
X
∞
filtre Č (z) = čn z −n = H (z) X (z)
n=−∞
1 h 1/2 i
décimateur C (z) = Č z + Č −z 1/2
2
interpolateur Ĉ (z) = C z 2
sortie e (z) = H
X e (z) D z 2
e (z) C z 2 + G
h i
e (z) = 1 H
X e (z) G (z) X (z)
e (z) H (z) + G
2
1 he i
e (z) G (−z) X (−z)
+ H (z) H (−z) + G
2
M. Cagnazzo Ondelettes 19/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Conditions de PR en Z
En cascadant bancs de filtres d’analyse et de synthèse, on veut
la reconstruction parfaite (RP), c’est-à-dire que, pour tout
k ∈ Z,
e (z) = z −ℓ X (z)
xek = xk +ℓ ⇐⇒ X
H e (z) G (z) = 2z −ℓ
e (z) H (z) + G Non distorsion
e (z) H (−z) + G
H e (z) G (−z) = 0 Non aliasing
M. Cagnazzo Ondelettes 20/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Conditions de reconstruction parfaite
Forme matricielle
Pour simplicité on ignore le retard, ℓ = 0
Si les filtres d’analyse sont assignés, les filtres de synthèse
sont univoquement déterminés :
"e #
H (z) G (z) H (z) 2
· e =
H (−z) G (−z) G (z) 0
On assume que la matrice de modulation soit inversible.
M. Cagnazzo Ondelettes 21/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Conditions de reconstruction parfaite
Filtres de synthèse
Déterminant de la matrice de modulation :
∆ (z) = H (z) G (−z) − G (z) H (−z)
e (z) = 2
H G (−z)
∆ (z)
e (z) = − 2 H (−z)
G
∆ (z)
M. Cagnazzo Ondelettes 22/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Reconstruction parfaite avec filtres RIF
Filtres à réponse impulsionnelle finie:
On peut montrer que dans ce cas la RP est équivalente à
imposer la condition de signes alternes pour les filtres.
Exemple:
h(k) = a b c e
h(k) = p -q r -s t
g(k) = p q r s t e(k) = -a
g b -c
M. Cagnazzo Ondelettes 23/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Orthogonalité
L’orthogonalité assure la conservation d’énergie :
X
∞
2
X
∞
2
X
∞
(xk ) = (ck ) + (dk )2
k =−∞ k =−∞ k =−∞
⇒ erreur de reconstruction = erreur de quantification sur les
coefficients d’ondelettes
M. Cagnazzo Ondelettes 24/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Moments nuls
Le moments nuls (MN) représentent la capacité du filtre de
reconstruire des polynôme
Un filtre avec p MN peut représenter des polynômes de
degré strictement inférieur à p
Si l’entrée du banc est un polynôme de grade au plus p − 1
la sortie du filtre passe haut est strictement nulle
Alors toute l’information est représentée avec la moitié des
échantillon (signal d’approximation)
Un filtre avec p MN a un support non inférieur à 2p
M. Cagnazzo Ondelettes 25/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Symétrie
Les propriétés des bancs de filtres telles qu’on les a vues
sont valables pour signaux de durée infinie
La symétrie du filtre est nécessaire pour étendre ces
résultats au cas fini
Des filtres non-symétriques perturbent la régularité du
signal (transitions brutales)
M. Cagnazzo Ondelettes 26/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Filtre de Haar
h(k) = 1 1 e
h(k) = 1 1
g(k) = 1 -1 e(k) = -1
g 1
Symétrique
Orthogonal (normalisation)
Nombre de moments nul = 1
Capable de représenter uniquement les signaux constants
par morceaux
M. Cagnazzo Ondelettes 27/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Orthogonalité et biorthogonalité
Reconstruction parfaite pour signaux de durée limitée
Problème de l’expansion des coefficients (convolution)
Solution : convolution circulaire
La convolution circulaire permet de reconstruire un signal
de N échantillons avec N coefficients d’ondelettes
Mais elle engendre des discontinuité aux bordes : “fausses”
fréquences qui demandent beaucoup de ressources mais
ne contiennent pas d’information
Solution : Périodisation symétrique
Pas de discontinuités introduites
Mais ça double le nombre de coefficients !
Sauf si le filtre est symétrique
Le seul filtre orthogonal, RIF et symétrique est celui de Haar !
M. Cagnazzo Ondelettes 28/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Filtres biorthogonaux
Filtres Cohen-Daubechies-Fauveau
eap
Pour les filtres biorthogonaux, si h a p MN et h e MN, le
support est au moins p + p e − 1.
Ils existent des filtres biorthogonaux (CDF) qui :
Sont symétriques (phase linéaire)
Ont le maximum de MN pour une durée fixée
Sont “quasi” orthogonaux (conservation de l’énergie) :
e similaires
filtres h et h
Ces filtres sont les plus communément utilisés dans le codage
d’image
M. Cagnazzo Ondelettes 29/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Filtres biorthogonaux 9/7
Coefficients du filtre :
n 0 ±1 ±2 ±3 ±4
h[l] 0.852699 0.377403 −0.110624 −0.023849 0.037828
e
h[l] 0.788486 0.418092 −0.040689 −0.064539
Réponses impulsionnelles des filtres passe-bas d’analyse et de
synthèse biorthogonaux 9/7. On a pour les filtres passe-haut :
l+1
g[l] = (−1) h e [l] = (−1)l−1 h [l + 1] .
e [l − 1] et g
M. Cagnazzo Ondelettes 30/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Analyse multirésolution 1D
Décomposition
h 2↓ c−3 [k]
h 2↓ c−2 [k]
g 2↓ d−3 [k]
h 2↓ c−1 [k]
g 2↓ d−2 [k]
c0 [k]
g 2↓ d−1 [k]
Structure de décomposition en ondelettes sur 3 niveaux de
résolution
M. Cagnazzo Ondelettes 31/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Reconstruction
c c−3 [k] 2↑ e
h
c−2 [k] 2↑ e
h
d−3 [k] 2↑ e
g
c−1 [k] 2↑ e
h
d−2 [k] 2↑ e
g c0 [k]
d−1 [k] 2↑ e
g
Reconstruction à partir des coefficients d’ondelettes
M. Cagnazzo Ondelettes 32/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
AMR 2D
Bancs de filtres 2D séparables
Pour 1 niveau de décomposition
h[ℓ] (1, 2) ↓ aj−1 [n, m]
h[k] (2, 1) ↓
H [n, m]
g[ℓ] (1, 2) ↓ dj−1
aj [n, m]
V [n, m]
dj−1
h[ℓ] (1, 2) ↓
g[k] (2, 1) ↓
D [n, m]
g[ℓ] (1, 2) ↓ dj−1
M. Cagnazzo Ondelettes 33/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Interprétation fréquentielle
fhor
(A) (V)
(H) (D)
fver
Les zones (A), (H), (V) et (D) correspondent effectivement aux
coefficients d’approximation, de détails horizontaux, verticaux
et diagonaux.
M. Cagnazzo Ondelettes 34/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
AMR 2D
a3
a2 d3H
d3V
a1 d2H
d3D
d2V
a0 d1H
d2D
d1V
d1D
Mise en oeuvre d’une AMR 2D séparable sur 3 niveaux de
résolution.
M. Cagnazzo Ondelettes 35/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
AMR 2D - interprétation fréquentielle
(A) (V3)
(H3) (D3)
(V2)
fhor
(V1)
(H2) (D2)
(H1) (D1)
fver
M. Cagnazzo Ondelettes 36/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Exemple
M. Cagnazzo Ondelettes 37/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Exemple
M. Cagnazzo Ondelettes 38/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Exemple
M. Cagnazzo Ondelettes 39/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Exemple
M. Cagnazzo Ondelettes 40/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Exemple
M. Cagnazzo Ondelettes 41/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Exemple
M. Cagnazzo Ondelettes 42/96
Introduction
Bancs de filtres
Transformée en ondelettes discrète
Analyse Multirésolution 1D et 2D
Principes de compression d’images
Exemple
M. Cagnazzo Ondelettes 43/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Plan
1 Introduction
2 Transformée en ondelettes discrète
Bancs de filtres
Analyse Multirésolution 1D et 2D
3 Principes de compression d’images
EZW
JPEG 2000
M. Cagnazzo Ondelettes 44/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Outils fondamentaux pour la compression
Transformée
Concentre l’information en peu de coefficients
Prédiction
Méthode alternative (et parfois complémentaire) à la transformée
pour concentrer l’information
Quantification
Réduction du débit : représentation grossière des coefficients
moins importants
Codage sans pertes (codes à longueur variable)
Réduction de la redondance résiduelle
Prédiction Transformée Quantification CLV
M. Cagnazzo Ondelettes 45/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Critères de performance
Débit
Rapport (taux) de compression
Bin Rin
T = Bout = Rout
Débit de codage
Bout
Image : R = NM [bpp]
Bout
Vidéo, son : R = T [bps]
M. Cagnazzo Ondelettes 46/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Critères de performance
Qualité et distorsion
Le seul débit n’est pas suffisant pour évaluer un algorithme avec
pertes
Il faut déterminer la qualité ou la distorsion de l’image reconstruite
Les Critères objectifs sont fonctions mathématiques de
fn,m : image d’origine ; et
efn,m : image reconstruite après compression
Critères objectifs non perceptuels
Erreur quadratique moyenne (MSE) :
PN PM
D = N1M n=1 m=1 (fn,m − efn,m )2
2552
Rapport signal sur bruit crête : PSNR = 10 log10 D
Critères objectifs perceptuels
On utilise des modèles du SVH pour prendre en compte la
sensibilité aux fréquences, les masquages, ...
M. Cagnazzo Ondelettes 47/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Critères de performance
Qualité et distorsion
Les Critères subjectifs sont basés sur l’évaluation de la
qualité des image faite par des humaines
Difficulté de créer un bon modèle du SVH
Analyse statistique des résultats
Évaluations longues, difficiles et coûteuses
En conclusion, souvent on se limite à utiliser les critères
objectifs non perceptuels :
Simplicité
Interprétation géométrique (norme euclidienne)
Optimisation analytique
Relation avec la qualité perçue ?
M. Cagnazzo Ondelettes 48/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Critères de performance
Complexité, retard et robustesse
La complexité d’un algorithme de codage peut être limitée
par :
contraintes liées à l’application (temps réel)
limités du matériel (hardware)
coût économique
Le retard est normalement mesuré au codeur
Lié à la complexité
Influencé par l’ordre de codage
Robustesse: sensibilité de l’algorithme de
compression/reconstruction à des petites altérations du
code comprimé (erreurs de transmission)
M. Cagnazzo Ondelettes 49/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Critères de performance
Bilan
Besoins contradictoire :
⇓ Débit
⇑ Qualité
⇓ Complexité
⇑ Robustesse
⇓ Retard
M. Cagnazzo Ondelettes 50/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Techniques de codage TO
Méthodes exploitant les dépendances inter-échelle:
EZW (Embedded Zerotrees of Wavelet coefficients),
SPIHT (Set Partitioning in Hierarchical Trees)
Basées sur une représentation par arbres des
dépendances entre les sous-bandes
Avantages : corrélations inter-bande bien exploitées, faible
complexité
Inconvénient : pas de scalabilité en résolution
Méthodes ne prenant pas en compte les spécificités de l’AMR
Allocation de bits entre les sous-bandes
Codage entropique (ex. : Huffmann), éventuellement
contextuel
Avantage : corrélations intra-bande bien exploitées
Inconvénient : on n’exploite pas les corrélations résiduelles
inter-bandes !
M. Cagnazzo Ondelettes 51/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Embedded Zerotrees of Wavelet coefficients
Caractéristiques principales
Scalabilité en qualité, c’est-à-dire représentation progressive
Codage lossy-to-lossless
Faible complexité
Performance de compression bien meilleure que JPEG :
Très évident aux faibles débits
M. Cagnazzo Ondelettes 52/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Représentation progressive des coefficients
d’ondelette
Chaque nouveau bit de codage donne le maximum
d’information
m
Chaque nouveau bit de codage réduit la distorsion de
l’image reconstruite le plus possible
On transmet d’abord les coefficients significatifs
Problème: overhead de localisation
M. Cagnazzo Ondelettes 53/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Exemple: un image et ses coefficients d’ondelette
LL HL Approximation Détails verticaux
Approximation Détails verticaux
T.O. 2 Niveaux
LH HH
Détails horizontaux Détails diagonaux Détails horizontaux Détails diagonaux
M. Cagnazzo Ondelettes 54/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Représentation progressive: ordre des sous-bandes
M. Cagnazzo Ondelettes 55/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Algorithme EZW
Le seule ordre de balayage des sous bandes n’est pas
suffisant pour garantir que les coefficients plus grands
soient envoyés en premiers
Il faut localiser les coefficients significatifs
Problème : Réduction de l’information de localisation
Idée : Exploiter la corrélation inter-bande pour prévoir les
coefficients non-significatifs
Si la prédiction est correcte, on économise la description
de beaucoup de coefficients
M. Cagnazzo Ondelettes 56/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Arbre de coefficients d’ondelette
M. Cagnazzo Ondelettes 57/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Idée de EZW
Auto-similarité : Quand un coefficients est petit (c.-à-d. sous
seuil), il est probable que ses descendants soient petits aussi
Alors on utilise un seul symbole de codage pour représenter un
coefficient c tel que :
c est “non significatif”
tous ses descendant sont “non significatifs”
En ce cas c est une racine d’arbre de zéros (zero-tree root)
Avec un seul symbole (ZT) on code (1 + 4 + 42 + . . . + 4N−n )
coefficients
Information de localisation implicite dans l’information de
significativité
M. Cagnazzo Ondelettes 58/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Schéma de l’algorithme EZW
1 k =0
2 n = ⌊log2 (|c|max )⌋
3 Tk = 2n
4 while (débit < débit disponible)
Pas dominant
Pas de raffinement
5 Tk +1 ← Tk /2
6 k ← k + 1 end
M. Cagnazzo Ondelettes 59/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Pas dominant
Pour tout coefficient c dans l’ordre de balayage
Si |c| > Tn : Coefficient significatif
Si c > 0 on encode SP (signifiant positive)
Si c < 0 on encode SN (signifiant négative)
sinon, on compare tous les descendants de c avec le seuil
si tous les descendants sont non-significatifs, c est codé
comme zero-tree root (ZT) et ses descendants ne seront
plut considérés à ce pas
sinon le coefficient est codé comme isolated zero (IZ)
M. Cagnazzo Ondelettes 60/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Pas de raffinement
On code un ultérieur bit pour tous les coefficients
significatifs
C’est équivalent à dire que on réduit de moitié la cellule de
quantification des coefficients significatifs
M. Cagnazzo Ondelettes 61/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Itération et terminaison
Le pas dominant k permet de coder le k-ème plan de bit
de la matrice des coefficients d’ondelette
un coefficient significatif est tel que 2n < |c| < 2n+1
On réduit le seuil de moitié : on passe au prochaine plan
de bit
L’algorithme termine quand :
on a épuisé le nombre de bit disponible ou
quand on a codé tous les plans de bit (transformée en
entière, codage sans perte)
M. Cagnazzo Ondelettes 62/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Algorithme EZW : bilan
Codage par plan de bits : Au pas k on code le bit plane
log2 Tk
Description progressive : Chaque nouveau plan de bit
permet de raffiner la quantification des coefficients
Codage entropique (Huffman ou arithmétique) des
symboles de significativité
Codage lossless-to-lossy : On utilise une transformée en
entiers (tous coefficients entiers). Quand on code tous les
plans de bit, on peut reconstruire parfaitement tous les
coefficients
M. Cagnazzo Ondelettes 63/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
JPEG2000
JPEG2000 vise des domaines où les standards courants ne donnent
pas les meilleures performances :
Compression bas débit : qualité faible pour JPEG en dessous de 0.25
bpp
Compression d’images synthétiques
Accès aléatoire
Transmission progressive en qualité et en résolution
M. Cagnazzo Ondelettes 64/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Nouvelles fonctionnalités
Codage des régions d’intérêt
Scalabilité en qualité et en résolution
Tiling
Capacité d’atteindre un débit donné
Du codage sans perte au codage avec perte dans un seul
système
M. Cagnazzo Ondelettes 65/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Algorithme
Algorithme divisé en deux parties appelées tiers
First tier
Transformation en ondelettes, quantification,
Codage sans pertes de chaque bloc
Second tier
Coupure des flux binaires/Allocation de débit (optimisation
RD) : EBCOT
Gestion de la scalabilité (qualité, résolution) et des régions
d’intérêt
M. Cagnazzo Ondelettes 66/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Quantification en JPEG2000
Les coefficients d’ondelettes sont quantifiés avec un pas
très fin
Dans le cas de codage sans perte, les coefficients
d’ondelettes sont des entiers, et ils ne sont pas quantifiés
(ou quantifiés avec un pas égal à 1)
Dans JPEG2000, ce n’est pas dans l’étape de
quantification qu’on écarte vraiment de l’information
La quantité d’information représentée est réduite dans
l’étape suivante d’allocation de débit
M. Cagnazzo Ondelettes 67/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
EBCOT
Embedded Block Coding with Optimized Truncation
Chaque sous-bande est repartie en plusieurs blocs de
même taille, appelés codeblock
Les codeblocks sont codés indépendamment, sans perte,
avec un codeur arithmétique : on génère n trains binaires
Codage par plan de bit, 3 passes par chaque plan
M. Cagnazzo Ondelettes 68/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Codage par plans de bit
Bitplane plus significatif
LL2 HL2
HL1
LH2 HH2
LH1 HH1
M. Cagnazzo Ondelettes 69/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Codage par plans de bit
Deuxième bitplane plus significatif
LL2 HL2
HL1
LH2 HH2
LH1 HH1
M. Cagnazzo Ondelettes 70/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Codage par plans de bit
Troisième bitplane plus significatif
LL2 HL2
HL1
LH2 HH2
LH1 HH1
M. Cagnazzo Ondelettes 71/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Codage par plans de bit
Quatrième bitplane plus significatif
LL2 HL2
HL1
LH2 HH2
LH1 HH1
M. Cagnazzo Ondelettes 72/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Codage par plans de bit
Cinquième bitplane plus significatif
LL2 HL2
HL1
LH2 HH2
LH1 HH1
M. Cagnazzo Ondelettes 73/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Exemple de flux binaires associes aux codeblocks
BP1
BP2
BP3
BP4
BP5
BP6
BP7
BP8
LL2 LH2 HL2 HH2 LH1 HL1 HH1
M. Cagnazzo Ondelettes 74/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
EBCOT
Optimisation
Si on garde tous les flux pour chaque bloc, on a un débit
énorme
On peut alors couper les flux pour atteindre le débit cible
Problème : tronquer les trains de bit en minimisant la
distorsion
X
min Di
i
X
Ri ≤ Rtot
i
Solution : Lagrange
!
X X
J= Di + λ Ri − R
i i
M. Cagnazzo Ondelettes 75/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
EBCOT
Courbe débit-distorsion pour chaque bloc
M. Cagnazzo Ondelettes 76/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
EBCOT
Courbe débit-distorsion pour chaque bloc
M. Cagnazzo Ondelettes 76/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
—————————————————
M. Cagnazzo Ondelettes 77/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
EBCOT
Embedded block coding with optimized truncation
Optimalité du point de coupure :
∂Di
= −λ
∂Ri
La valeur de lambda dépend du débit cible et peut être
trouvé avec un algorithme itératif.
On peut couper plusieurs fois pour des débits cibles
différents (scalalbilité en qualité)
M. Cagnazzo Ondelettes 77/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Exemple de allocation de débit avec EBCOT
Allocation pour qualité maximale et résolution minimale
BP1
BP2
BP3
BP4
BP5
BP6
BP7
BP8
LL2 LH2 HL2 HH2 LH1 HL1 HH1
M. Cagnazzo Ondelettes 78/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Exemple de allocation de débit avec EBCOT
Allocation pour qualité maximale et résolution moyenne
BP1
BP2
BP3
BP4
BP5
BP6
BP7
BP8
LL2 LH2 HL2 HH2 LH1 HL1 HH1
M. Cagnazzo Ondelettes 79/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Exemple de allocation de débit avec EBCOT
Allocation pour qualité maximale et résolution maximale
BP1
BP2
BP3
BP4
BP5
BP6
BP7
BP8
LL2 LH2 HL2 HH2 LH1 HL1 HH1
M. Cagnazzo Ondelettes 80/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Exemple de allocation de débit avec EBCOT
Allocation pour qualité perceptuelle et résolution maximale
BP1
BP2
BP3
BP4
BP5
BP6
BP7
BP8
LL2 LH2 HL2 HH2 LH1 HL1 HH1
M. Cagnazzo Ondelettes 81/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Exemple de allocation de débit avec EBCOT
Allocation pour un débit cible, qualité optimale et résolution maximale
BP1
BP2
BP3
BP4
BP5
BP6
BP7
BP8
LL2 LH2 HL2 HH2 LH1 HL1 HH1
M. Cagnazzo Ondelettes 82/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Exemple de allocation de débit avec EBCOT
Allocation pour plusieurs couches et résolution maximale
BP1
BP2
BP3
BP4
BP5
BP6
BP7
BP8
LL2 LH2 HL2 HH2 LH1 HL1 HH1
M. Cagnazzo Ondelettes 83/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Pourquoi un codage par bloc ?
Exploite les variations locales, d’un bloc à l’autre, des
caractéristiques statistiques de l’image
Facilite les applications nécessitant un accès aléatoire
dans l’image
Réduit l’utilisation mémoire dans l’implantation matérielle
du codeur ou décodeur
Permet une implantation parallèle
Permet le codage par région d’intérêt
M. Cagnazzo Ondelettes 84/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
JPEG
Comparaison JPEG / JPEG2000
Image Originale, 24 bpp
M. Cagnazzo Ondelettes 85/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Comparaison JPEG / JPEG2000
Débit: 1bpp
M. Cagnazzo Ondelettes 86/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Comparaison JPEG / JPEG2000
Débit: 0.75bpp
M. Cagnazzo Ondelettes 87/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Comparaison JPEG / JPEG2000
Débit: 0.5bpp
M. Cagnazzo Ondelettes 88/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Comparaison JPEG / JPEG2000
Débit: 0.3bpp
M. Cagnazzo Ondelettes 89/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Comparaison JPEG / JPEG2000
Débit: 0.2bpp
M. Cagnazzo Ondelettes 90/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Comparaison JPEG / JPEG2000
Débit: 0.2bpp pour JPEG, 0.1 pour JPEG2000
M. Cagnazzo Ondelettes 91/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Effet des erreurs : JPEG
JPEG, pE = 10−4 JPEG, pE = 10−4
M. Cagnazzo Ondelettes 92/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Effet des erreurs : JPEG et JPEG 2000
JPEG, pE = 10−4 JPEG 2000, pE = 10−4
M. Cagnazzo Ondelettes 93/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Effet des erreurs : JPEG et JPEG 2000
JPEG, pE = 10−3 JPEG 2000, pE = 10−3
M. Cagnazzo Ondelettes 94/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Robustesse dans le codage d’image
Insertion de markers
Périodicité des markers
Marker emulation prevention
Compromis entre robustesse et débit
M. Cagnazzo Ondelettes 95/96
Introduction
EZW
Transformée en ondelettes discrète
JPEG 2000
Principes de compression d’images
Robustesse de JPEG2000
Donnés avec importance différente
Pas d’interdépendance entre les blocs
Pas de propagation d’erreurs
Pas de transformée par blocs
Pas d’effet de blocking
M. Cagnazzo Ondelettes 96/96