Vous êtes sur la page 1sur 118

Sécurisation et codage des données

multimédia

Codage d’images fixes 2D

Azza OULED ZAID

Ecole Nationale d’Ingénieurs de Tunis


Laboratoire Systèmes de Communications

A. OULED ZAID Mastère de recherche : SYSCOM 1


Plan

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

A. OULED ZAID Mastère de recherche : SYSCOM 2


Cadre général
L’image numérique : un monde en pleine évolution

Nouvelles sources/supports digitaux


radiographie numérique, IRM 3D, angiographie par rayon x
ordinateurs et terminaux plus puissants, écrans 3D

Environnements de communication hétérogènes


Internet, téléphone RTC, GSM, ADSL, WIFI, UMTS, fibre optique

Explosion des applications et services multimédia


communications sous la contrainte du best-effort, vidéo à la demande
transmission point-à-point, applications de stockage et consultation
A. OULED ZAID Mastère de recherche : SYSCOM 3
Cadre général
Nouvelles orientations du codage d’images :
compression ET fonctionnalités additionnelles

Fonctionnalités pour les réseaux


adaptation entre compression-médias de transmission/archivage
compression robuste aux erreurs de transmission

Fonctionnalités pour la sécurité et les applications autonomes


besoin de protection, authentification et IDC
emploi du tatouage, stéganographie, brouillage, analyse
forensique

A. OULED ZAID Mastère de recherche : SYSCOM 4


Codage des images et de la vidéo
Pourquoi le codage (compression)?
Parce que les constructeurs pensent que la mémoire est couteuse!
Parce que nous sommes impatients!
Parce que nous sommes des collectionneurs!
Cacher les limitations du hardware actuel.

A. OULED ZAID Mastère de recherche : SYSCOM 5


Objectif de la compression

Augmenter l’efficacité du stockage sur support dédié (DVD,…) ou sur


mémoires (clés USB, IPod, ...)
Exemples de codecs :
• Vidéo : DVD MPEG-2 (1 vidéo de 720*576 sur 4; 7 Go) ! DivX (1 vidéo sur 700
Mo)
• Radiographie : SPIHT-3D, JP3D

Augmenter l’efficacité de la transmission sur canal de diffusion ou de


communications (visiophonie sur réseaux RTC,RNIS, IP)
Exemples (Parole sur réseau GSM)
• Débit source (après échantillonnage à 8kHz) : 8:103 16 1 = 128
kbits/s
• Débit canal “radio mobile” GSM : 13:2 kbits/s

A. OULED ZAID Mastère de recherche : SYSCOM 6


Définition de la compression
Comment?
changement de format avec suppression de la redondance
(répétition)
conservation de l’information pertinente (perçue)

Compresser c’est
Rechercher l’efficacité maximum (de moindre redondance)
dans la représentation de l’information utile portée par les
signaux

Coder : Convertir le signal en une représentation numérique


efficace (séquence binaire la plus économique possible), le flux
codé (bitstream)

⇒ Un problème d’optimisation sous contraintes qui aboutit à un


système de compression
A. OULED ZAID Mastère de recherche : SYSCOM 7
Système de codage

Vocabulaire :
Flux codé (bitstream) = Représentation de l’image compressée
Codec = (encodeur + décodeur)

A. OULED ZAID Mastère de recherche : SYSCOM 8


Classification des techniques de
compression
Compression sans perte : lossless coding
compression réversible (permettant la reconstruction du
signal original à l’identique)
• Exemple : imagerie médicale pour diagnostic

Compression avec perte : lossy coding


compression irréversible avec élimination de l’information «
inutile » au prix de l’introduction de dégradations
ne permettant pas de reconstruire le signal d’origine à
l’identique

A. OULED ZAID Mastère de recherche : SYSCOM 9


Critères de performance
Débit et Taux de compression
Débit : Ressource binaire (nombre de bits) utilisée pour coder 1
symbole (pixel, voxel, vertex) de l’image
Taux de compression : rapport de débits sans et avec
compression

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)

Pour décider sur la transparence du codec et sur le confort de


l’utilisateur.

A. OULED ZAID Mastère de recherche : SYSCOM 10


Critères de performance (suite)
Complexité :
Sophistication de l’algorithme, incluant :
• la charge de calcul par unité de temps : faisabilité du temps-
réel, puissance du microprocesseur

• l’occupation des mémoires du système : capacité des


mémoires

• retard algorithmique ou délai de restitution dû aux calculs :


faisabilité du temps-réel

A. OULED ZAID Mastère de recherche : SYSCOM 11


Compromis en compression

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

A. OULED ZAID Mastère de recherche : SYSCOM 12


Normalisation

Norme (industriel) : référentiel commun et documenté destiné


à harmoniser l’activité d’un secteur, ayant un nombre suffisant
d’applications potentielles

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

A. OULED ZAID Mastère de recherche : SYSCOM 13


Normalisation
Dans le cas de la compression, la norme inclut :
La syntaxe du bitstream (en-tête, format des frames)

Structure du codec pour une application donnée (blocs


fonctionnels et spécifications) : Fonctionnement du décodeur +
Une proposition d’encodeur (non figé, pouvant être modifié tant
qu’il respecte la syntaxe du bitstream)

Structure du système réalisant la mise en forme complète,


l’accès et le transport des données (synchronisation,
multiplexage de flux audio et vidéo, correction d’erreurs...)

Protocoles de tests des systèmes

Software / code source

A. OULED ZAID Mastère de recherche : SYSCOM 14


Nécessités de la normalisation
Commercialement : Assurer l’interopérabilité entre une
multitude de produits propriétaires
Incompatibilités entre produits & décodeurs propriétaires
(spécifiques à l’application)
Recours au transcodage, mais au prix d’une complexité
supplémentaire et de dégradations de qualité

Exemples de streaming : Real Networks - Microsoft, Windows


media

Spécifiquement : classifier et valider les algorithmes


performants
• Repères pour les industriels et la recherche
• Consensus entre industriels

Transcodage : transformation d’un bitstream en un autre sans décodage/reencodage


A. OULED ZAID Mastère de recherche : SYSCOM 15
Organismes de standardisation
ITU-R Radiocommunications (www.itu.int/ITU-R)
SG 6 -Broadcasting Service (terrestrial and satellite)
Standard pour les télévisions numériques haute définition.
Les paramètres de la qualité objective des images et les mesures qui leur
sont associées

ITU-T Telecommunication Standardization (www.itu.int/ITU-T)


SG 9-Integrated broadband cable networks and television and sound
transmission
Méthodes objectives et subjectives pour l’évaluation de la qualité
audiovisuelle conversationnelle dans les services multimédia
Transmission numérique des signaux télévisés

SG 16–Multimedia services, systems and terminals


Visio conference basée sur les services Internet
Advanced video coding

ISO/IEC JTC1 SC29 Coding of audio, picture, multimedia and


hypermedia information(www.iso.ch/meme/JTC1SC29.html)
WG 1 –Compression et codage des images fixes (JPEG)
WG 11 –Codage générique des images dynamiques et l’information audio qui
lui est associée (MPEG)

A. OULED ZAID Mastère de recherche : SYSCOM 16


L’existant en codage d’image

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 JPEG2000 MPEG 1 MPEG 4

JBIG-1/-2 JPSearch MPEG 2 MPEG 7

JPEG-LS MPEG 21

A. OULED ZAID Mastère de recherche : SYSCOM 17


L’existant en codage vidéo

ITU-T ISO-IEC

H.261 1993 H.262 = MPEG-2 1995 MPEG-1 1991

H.263 1998 MPEG-4 1999

H.263+ 2000

SVC
H.264/MPEG-4 AVC 2003

H.264+/SVC 2006

H.265 2010

A. OULED ZAID Mastère de recherche : SYSCOM 18


Architecture globale d’un système de compression

A. OULED ZAID Mastère de recherche : SYSCOM 19


Codage d’images sans perte
Objectif : Trouver le code binaire le plus efficace possible pour
représenter un signal discrétisé sans perte de qualité

Éléments de théorie de l’information


Codage à longueur fixe
Mesure de l’information : l’entropie
Codage à longueur variable
• Méthodes statistiques
– Shannon - Fano
– Algorithme de Huffman
• Méthodes arithmétiques : codage arithmétique
• Méthodes canoniques : RLE
• Méthodes avec dictionnaire : LZW

A. OULED ZAID Mastère de recherche : SYSCOM 20


Rappel de théorie de l’information

Définition : (Source d’information simple, alphabet)


On suppose qu’un signal est la suite de N réalisations d’une variable
aléatoire discrète X, appelée source d’information simple (sans
mémoire).

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

Remarque : La loi de probabilité indique la fréquence d’apparition du


symbole xi dans le signal, i.e. le rapport entre le nombre d’occurrences
de xi dans le signal et le nombre N de symboles dans le signal.

A. OULED ZAID Mastère de recherche : SYSCOM 21


Codage sans perte ou entropique
Définition (Codage sans perte ou entropique d’une source X) Le
codage d’une source X est une application (bijective) qui, à chaque
symbole xi pris par X dans l’alphabet A, associe un mot de code
binaire a ci de longueur li :

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

A. OULED ZAID Mastère de recherche : SYSCOM 22


Codage à longueur fixe
Definition (Binary coded decimal (BCD))
Chaque symbole xi est codé (indépendamment de la loi de
probabilité de X) par la représentation bJ-1…b0 de son indice
L −1
i en base 2 sur L=log2(S) bits, avec : i = ∑ b j 2 j
j =0

Exemple (Alphabet à S = 8 symboles)

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)

A. OULED ZAID Mastère de recherche : SYSCOM 23


Exemple de codes

Code 1 x1 x2 x3 x4 x1 x2 x3 x4
Code 2
00 01 10 11 0 10 110 111

Exemple (X : Loi non uniforme avec p0 =3/4 et p1,2,3 =1/12)

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 …

Plus un symbole est probable, plus il y a d’intérêt à le coder


avec peu de bits ⇒ il apporte peu d’information

A. OULED ZAID Mastère de recherche : SYSCOM 24


Information propre

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

L’observation d’un symbole xi apporte une information propre


égale à I(xi) .

Plus un symbole est probable, moins il amène d’information, ⇒


plus le nombre de bit qui l’encode peut être petit

A. OULED ZAID Mastère de recherche : SYSCOM 25


Entropie
Définition :
la quantité d’information moyenne associée à chaque symbole de la
source sans mémoire X est définie par :

H (X ) = ∑ p I (x ) = − ∑ p log
i i i 2 pi
i =1,L, n i =1,L, n

H(X) = Limite inférieure du nombre moyen de bits nécessaires


au codage d’un signal, appelée OPTA

OPTA : Optimum Performance Theoretically Attainable


A. OULED ZAID Mastère de recherche : SYSCOM 26
Source binaire sans mémoire
Dans le cas d’une source binaire, X={x1,x2}, on a :

H ( X ) = − plog 2 p − (1 − p )log 2 (1 − p ) = H 2 ( p ),

A. OULED ZAID Mastère de recherche : SYSCOM 27


Codage à longueur variable
Objectif :
Répartir judicieusement la ressource binaire pour coder la source X
en prenant en compte de la loi de probabilité des symboles xi
en autorisant des mots de code de longueur variable
S −1
en minimisant la longueur moyenne des mots du code : n = ∑pn
i =0
=0
i i

voire en atteignant la limite donnée par l’entropie : n → nopt = H ( X )


et en assurant la réversibilité du codage (condition du préfixe)

Théorème (Codage d’une source discrète sans mémoire)


Un tel code existe et

H (X ) ≤ n ≤ H (X ) +1

A. OULED ZAID Mastère de recherche : SYSCOM 28


Exemple : Algorithme de Huffman
Principe :
Construction progressive d’un arbre en partant des nœuds terminaux

1. Partant de la liste de symboles {x0; …; xS-1} et de la liste de leur


probabilité d’apparition {p0; …; pS-1}
2. on sélectionne les deux symboles les moins probables pour créer
deux branches dans l’arbre que l’on étiquette par les bits « 0 » et
« 1 ».
3. On actualise les deux listes en rassemblant les deux symboles
utilisés en un super-symbole dont on calcule la probabilité
d’apparition cumulée (somme des probabilités des deux symboles
sélectionnés).
4. On recommence les deux étapes précédentes tant qu’il reste plus
d’un symbole dans la liste.
5. Les mots de code sont lus en parcourant l’arbre en sens inverse

A. OULED ZAID Mastère de recherche : SYSCOM 29


Exemple de codage de Huffman
Exemple : coder les éléments avec les probabilités suivantes :

Principe de la construction de l’arbre


1. Les feuilles sont des nœuds libres
2. choisir les deux nœuds libres de probabilités les plus faibles
3. créer avec un nœud père de poids somme des poids des
nœuds fils.
4. Associer ’0’ la branche gauche et ’1’ à la branche droite.
5. Le père est un nœud libre et les fils ne le sont plus.
6. Tant qu’il y a plus d’un nœud libre, répéter 2–5
A. OULED ZAID Mastère de recherche : SYSCOM 30
Exemple de codage de Huffman

On peut augmenter la compression en travaillant sur des suites de caractères.


NB : nécessite la connaissance ou l’envoi de la table au décodeur.
A. OULED ZAID Mastère de recherche : SYSCOM 31
Codage arithmétique
Ces méthodes évitent la contrainte du codage par un nombre
de bits entier.
Pour coder un intervalle de taille s = ∑ i =1 pi, il faut b bits avec
n

A. OULED ZAID Mastère de recherche : SYSCOM 32


Codage arithmétique

A. OULED ZAID Mastère de recherche : SYSCOM 33


Codage par plage / Run-length encoding (RLE)

Adéquate pour de longues suites de symboles de même valeur

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

Exemple : On fixe un seuil de répétition à 2


AAAAARRRRRROLLLBBTTTTT : 22 caractères
@5A@6RO@3LBB@5T : 15 caractères
TC= 1.46 (très faible)

A. OULED ZAID Mastère de recherche : SYSCOM 34


Codage par plage

─ Basé sur l’existence d’une répétition de la même valeur.


─ On code alors une fois la valeur et le nombre de répétitions (run-
length encoding).

─ Marche bien si le nombre de valeurs possible est faible.

Exemple : format fax G3 (CCITT RFC 804)


─ Permet d’envoyer des images binaires par fax.

─ Un code de Huffman optimisé sur des documents types a été défini


pour les pixels blancs et noirs.
─ Des codes particuliers permettent de traiter les cas de plages de
longueur > 63.
─ Des codes permettent également de finir une ligne, une page, la
transmission, etc.
A. OULED ZAID Mastère de recherche : SYSCOM 35
Codage par plage

Ce principe est également utilisé pour certains dessins bitmap (format


MacPaint).
Il marche très mal pour des images réelles en niveaux de gris.

A. OULED ZAID Mastère de recherche : SYSCOM 36


Performances

Performances correctes pour des sources binaires ;

Dans le cas des images, il est appliqué par plans de bits

Adapté au contenu répétitif

A. OULED ZAID Mastère de recherche : SYSCOM 37


Lempel-Ziv-Welch (LZW)

Codage (non pas de symboles individuels) mais de suites de


caractères

Principe : Construction dynamique d’une table de traduction,


initialisée avec les caractères de l’alphabet

Chaque nouvelle chaine rencontrée est stockée dans le tableau à la


première adresse disponible a, et est codée par l’adresse a

A. OULED ZAID Mastère de recherche : SYSCOM 38


LZW : Encodeur

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)

Chaine : “ 1\n 1\n 1A” = `20 31 0A 20 31 0A 20 41’


A. OULED ZAID Mastère de recherche : SYSCOM 39
LZW : Performances

Mise en œuvre en pratique avec des adresses codées sur 12 bits et


avec un bouclage sur la table en cas de dépassement

Codec rapide à implémenter mais non optimal

Taux de compression d’autant plus faible que les séquences de


caractères répétées sont longues

Décodage avec 1 caractère de retard

A. OULED ZAID Mastère de recherche : SYSCOM 40


Fonction débit/distorsion
Sans perte d’information, on peut augmenter le taux de compression
(réduire le débit) jusqu’à l’entropie. Au delà, on va dégrader l’image
(augmenter la distorsion).

A. OULED ZAID Mastère de recherche : SYSCOM 41


Synthèse sur le codage sans perte

Pour une source x prenant un nombre fini de valeurs/symboles, un


code (sans perte) optimal peut être conçu pour la représenter

Le code est optimal (efficacité maximum dans l’utilisation des mots


de code et de la ressource binaire) lorsque la loi d’apparition des
symboles de la source est uniforme

A. OULED ZAID Mastère de recherche : SYSCOM 42


Codage avec perte appliqué aux
images fixes et dynamiques

A. OULED ZAID Mastère de recherche : SYSCOM 43


Rappel : système de compression

A. OULED ZAID Mastère de recherche : SYSCOM 44


Pourquoi utiliser une transformée?

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

A. OULED ZAID Mastère de recherche : SYSCOM 45


Propriétés des transformées orthonormées

Transformée directe

U=Tu

Transformée inverse (propriété de la transformée orthonormée)

u=T-1U=T-tU

Linéarité: u est représentée par une combinaison lineaire des


fonctions de base

A. OULED ZAID Mastère de recherche : SYSCOM 46


Codage par transformée
Exploiter les dépendances horizontales et verticales par blocs
Image originale Image reconstruite

Bloc de l’image Bloc de l’image


originale reconstruite

Quantification
Transformée T Codage entropique Transformée inverse T-1
Bloc de l’image Transmission Coefficients Transformés
transformée et quantifié

A. OULED ZAID Mastère de recherche : SYSCOM 47


Une transformée 2-D unitaire peut être mise sous la forme suivante
N −1 N −1
U (m, n ) = ∑∑ a(m; n, k , l )u (k , l )
k =0 l =0

où a(m,n,k,l) est l ’élément général du tenseur A[m,n,k,l] appelé le


noyau de la transformation. Le noyau de la plupart de
transformations utilisées en pratique est séparable et symétrique.
Pour la compression, la transformée idéale doit conduire à des
coefficients non-correlés :

[ ]
E U (m, n )U * (m′, n′) = λmnδ mm′nn′

où λmn est une constante et δmm’nn’ est le symbole de Kronecker


δmm’nn’ est le symbole de Kronecker δ=1 si m=m’ et n=n’, δ=0 sinon
A. OULED ZAID Mastère de recherche : SYSCOM 48
Transformées orthonormées séparables
Une transformée séparable 2-D est réalisée à partir de deux
transformées 1-D
à travers les lignes
à travers les colonnes

u Transformée sur Tu Transformée sur TuT-1


N N colonnes N lignes

Bloc NxN de pixels Bloc NxN de coefficients


Transformées

A. OULED ZAID Mastère de recherche : SYSCOM 49


Critère de sélection d’une transformée

Decorrelation, concentration de l’energie

DCT, ondelettes,…

Base de fonctions adaptées au système visuel humain

Faible complexité calculatoire

Séparabilité en 2-D

Simple quantification des coefficients transformés

A. OULED ZAID Mastère de recherche : SYSCOM 50


Quantification : approche basique

A. OULED ZAID Mastère de recherche : SYSCOM 51


Objectif de la quantification

Objectif : Partant d’une source x pouvant prendre une infinité de


valeur, l’arrondir à un nombre fini de valeurs formant les symboles
d’un code sans perte

Les symboles doivent permettre la mise en place d’un code sans


perte le plus efficace possible (idéalement un code optimal)

L’arrondi doit introduire le moins d’erreurs possibles

Le code (quel qu’il soit) étant sans perte, on pourra s’interèsser


uniquement au phénomène d’arrondi

Problématique : Quels représentants choisir, quel arrondi choisir


dès lors que la statistique de la source est prise en compte ?

A. OULED ZAID Mastère de recherche : SYSCOM 52


Principe de la quantification

A. OULED ZAID Mastère de recherche : SYSCOM 53


Définitions et vocabulaire

A. OULED ZAID Mastère de recherche : SYSCOM 54


Propriétés de la quantification

Q est une application surjective donc non inversible ; elle


introduit des erreurs de représentations du signal mais permet
la réduction de la ressource binaire (comme recherchée)

Q est une opération non linéaire, donc ses effets ne peuvent


être modélisés que statistiquement

A. OULED ZAID Mastère de recherche : SYSCOM 55


Erreur de quantification
Hypothèse : Le signal x est la réalisation d’un processus aléatoire
X de Densité de Probabilité (DDP) pX (estimée au besoin par un
histogramme)

L’erreur de quantification q est définie par :

q = x − Q( x ) = x − xi avec xi = Q( x )

⇒ La quantification étant non linéaire, l’erreur de quantification ne peut


être "caractérisée" qu’en moyenne.

Distorsion moyenne (au sens de DDP)


+∞
D = ∫ d ( x, Q( x ))p x ( x )dx
−∞

Où d(,) est une distance (euclidienne, perceptuelle,…) mesurant la distorsion locale entre
x et Q(x)

A. OULED ZAID Mastère de recherche : SYSCOM 56


EQM et RSB
Définition 1 : Erreur Quadratique Moyenne (EQM)
+∞ +∞
EQM = ∫ ( x − Q ( x ))2
p x ( x )dx = ∫ px (x )dx
q 2

−∞ −∞

C’est la variance statistique (puissance) de l’erreur de quantification σ q


2

Définition 2 : Rapport signal sur bruit (RSB)


 σ x2 
RSB = 10 log10  2 dB
σ 
 q
Avantages : simplicité, résultats analytiques, sens physique, estimation (en
pratique) aisée par moyennage sur M échantillons

Inconvénients : n’est pas forcément corrélé avec la perception mais sert de


fondement pour des mesures « perceptives » plus élaborées
RSB : en anglais SNR = Signal to Noise Ratio EQM : en anglais MSE = Mean Square Error
A. OULED ZAID Mastère de recherche : SYSCOM 57
Quantification Scalaire Uniforme (QSU)
Très souvent utilisée notamment dans les CAN
Dite uniforme car les représentants sont
équi-répartis sur une échelle linéaire
à une distance ∆ (constante), appelée pas de quantification, les
uns des autres
les centres de N = 2n intervalles de même longueur ∆

Définition (QSU dans la zone de linéarité)

 x −δ 
Q(x ) =   ∆ +δ
 ∆ 
Avec  l’opérateur d’arrondi, ∆= 2A/N et un paramètre de décalage
des représentants sur l’axe

A. OULED ZAID Mastère de recherche : SYSCOM 58


Performances

Simplicité
Dynamique du quantifieur A
Pas de quantification : ∆= 2A/N

Erreur de quantification occasionnée par la troncature du signal x


augmente linéairement avec x et s’active en fonction de A
très mal toléré d’un point de vue perceptif ! !

Des compromis à faire :


L’erreur de quantification est d’autant plus petite que est petit, mais
dans ce cas- que N (donc n) grand, à moins de diminuer A...

A. OULED ZAID Mastère de recherche : SYSCOM 59


Quantification Scalaire Non Uniforme (QSNU)

Hypothèse : X suit une loi non uniforme

Objectif : tenir compte de la répartition statistique des valeurs de x pour


rendre l’allocation de la ressource binaire plus efficace

Principes similaires au codage entropique : pour diminuer la distorsion D,


on alloue plus de précisions (plus de représentants) aux valeurs du signal
les plus fréquentes

Intervalles de quantification de longueur variable (d’autant plus petite que pX


(x) est grande)

Représentants pas forcément au centre des intervalles

A. OULED ZAID Mastère de recherche : SYSCOM 60


QSNU : exemple

A. OULED ZAID Mastère de recherche : SYSCOM 61


Quantificateur optimal pour la QSNU
Optimisation du compromis débit/distorsion

Objectif : déterminer les paramètres de quantification qui vont


maximiser la qualité de l’image reconstruite

 minimiser EQM

sous contrainte RT ≤ Rcible

A. OULED ZAID Mastère de recherche : SYSCOM 62


Synthèse sur la quantification scalaire

Diminution de la ressource binaire au prix de pertes, facilement


modélisables

Des précautions doivent être prises dans le réglage du quantifieur,


notamment adapté la dynamique du quantifieur à celle du signal
(pour éviter le dépassement)

Elle est optimale lorsque la source à quantifier à une DDP "‘plate"’


(QSU), sinon, des solutions sous-optimales existent

Pour un débit fixé, introduit d’autant moins d’erreurs que la


dynamique du signal est faible

Pour une dynamique fixée, introduit d’autant moins d’erreurs que la


ressource binaire est grande

A. OULED ZAID Mastère de recherche : SYSCOM 63


Quantification Vectorielle (QV)
D’après C. Shannon : “Le codage est globalement plus
performant s’il opère sur des groupes d’échantillons”

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

A. OULED ZAID Mastère de recherche : SYSCOM 64


Quantification Vectorielle (suite)

Utiliser des techniques de classification pour déterminer des


classes d’échantillons (techniques plus proches voisins).

Technique potentiellement très prometteuse, mais encore peu


exploitée sur des blocs de pixels
A. OULED ZAID Mastère de recherche : SYSCOM 65
Quantification Vectorielle (suite)

Principe du quantifieur identique à QS, en prenant :


Des vecteurs x = [x(0), x(1), x(2), …., x(k -1)] de taille k au lieu de scalaires
Un dictionnaire de N vecteurs xi (de taille k)
Une partition P = {xi }i = 0, L , N − 1 de l’espace des vecteurs de dimension k
Une distance vectorielle d(x; xi )

A. OULED ZAID Mastère de recherche : SYSCOM 66


Illustration de l’optimalité de la QV en 2D

QS dans la direction x et dans la direction y

A. OULED ZAID Mastère de recherche : SYSCOM 67


Performances de la QV
Dictionnaire localement optimal mais pas globalement optimal
(toujours à cause de la présence de minima locaux dans l’EQM)
; en général est très bon en pratique

Difficulté majeure : initialisation du dictionnaire délicate ; en


général,
Tirage aléatoire de N éléments de la base de données
QS sur chaque composant

A. OULED ZAID Mastère de recherche : SYSCOM 68


Codage basé sur la prédiction linéaire
Exemple (Composantes = pixels d’une image)
Le niveau de gris x d’un pixel donné est fortement lié au niveau de
gris de ses voisins
Si voisins ≈noirs, le pixel a de très forte chance d’être « très foncé »

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)

A. OULED ZAID Mastère de recherche : SYSCOM 69


Schéma de codage par prédiction linéaire

Suppose que le décodeur connaît la prédiction ŷ (n ) par codage du


signal x̂(n ) dans le bitstream
ou est capable de recalculer (sans trop d’erreur) yˆ (n ) ≈ xˆ (n )

A. OULED ZAID Mastère de recherche : SYSCOM 70


Prédiction linéaire

La valeur prédite x̂(n ) de x(n ) est une combinaison linéaire des


voisins.
Prédiction linéaire pour un modèle Auto-Regressif

P
xˆ (n ) = ∑ a i x(n − i )
i =1

avec ai les coefficients de la prédiction linéaire, P est l’ordre la


prédiction et x(n-i) les valeurs de signal précédents x(n)

Erreur de prédiction

P
e(n ) = x(n ) − xˆ (n ) = x(n ) − ∑ a i x(n − i )
i =1

A. OULED ZAID Mastère de recherche : SYSCOM 71


Compression JPEG
Codeur JPEG

Decodeur JPEG

A. OULED ZAID Mastère de recherche : SYSCOM 72


Transformée DCT

La transformée en cosinus est définie par :

Le coefficient (0,0) composante continue ou DC.


Les autres coefficients correspondent aux différentes fréquences
spatiales (AC).
A. OULED ZAID Mastère de recherche : SYSCOM 73
Transformée DCT inverse

La transformée inverse est définie par :

La transformée est séparable et peut s’effectuer comme deux


transformées suivant les deux composantes i et j.

A. OULED ZAID Mastère de recherche : SYSCOM 74


Compression JPEG

A. OULED ZAID Mastère de recherche : SYSCOM 75


JPEG: choix des pas de quantification

Différentes matrices de pondération ont été standardisées


Elles sont adaptées à la sensitivité au contraste du système visuel
humain

A. OULED ZAID Mastère de recherche : SYSCOM 76


Quantification des coefficients DCT
Codage differentiel des coefficients DC (DPCM)
Balayage en zig-zag des coefficients AC

A. OULED ZAID Mastère de recherche : SYSCOM 77


Codage entropique des coefficients transformés

A. OULED ZAID Mastère de recherche : SYSCOM 78


JPEG

Les fonctionnalités de « baseline JPEG »


Offre le minimum de fonctionnalités
Compression des images numériques avec une précision de 8 bits
Traitement séquentiel des blocs, partant du coin supérieur gauche
jusqu’au coin inférieur droit
Codage par transformée appliqué sur les blocs DCT 8x8
Quantification scalaire des coefficients
Balayage en zig-zag et codage entropique

Système basé sur la DCT étendu


Images numériques avec une précision de 8 et 12 bits
Mode séquentiel ou progressif
Codage de huffman ou arithmetique

A. OULED ZAID Mastère de recherche : SYSCOM 79


Evaluation du codeur JPEG

Image originale Image compressée à 1/150

A. OULED ZAID Mastère de recherche : SYSCOM 80


Evaluation du codeur JPEG

Image originale Image compressée à 1/150

A. OULED ZAID Mastère de recherche : SYSCOM 81


Effet d’artifact des techniques de codage par DCT

Pas de quantification : 25 Pas de quantification : 100 Pas de quantification : 200

A. OULED ZAID Mastère de recherche : SYSCOM 82


Evaluation du codeur JPEG
Image originale

Taille: 263224 octets Taille: 5728 octets Taille: 11956 octets


Débit = 0.175bpp Débit = 0.365bpp

JPEG fonctionne correctement au-dessus de 0.25 bpp, surtout 0.5 bpp


A partir de 0.75 bpp on ne distingue plus de compression

A. OULED ZAID Mastère de recherche : SYSCOM 83


Codage en sous-bandes basé ondelettes

A. OULED ZAID Mastère de recherche : SYSCOM 84


Codage scalable à base de transformée
en ondelettes
Décodage progressif selon la qualité ou la résolution

Implémentation de la transformée en ondelettes par des schémas


de lifting

Algorithmes hiérarchiques tolérant la progressivité du décodage

3 catégories de codage
1. Intra-bande : JPEG2000, QT-L
2. Inter-bande : EZW, SPIHT
3. Intra et inter-bande : SPECK

A. OULED ZAID Mastère de recherche : SYSCOM 85


Codage hiérarchique basé ondelettes
Codage par plans de bits

Règles de partitionnement récursif selon un test de signifiance

Test de signifiance pour les coefficients cij dans la sous-bande B

1 si max (i , j )∈B Cij ≥ T p = 2 p



S p (B ) = 
 0 sinon

A. OULED ZAID Mastère de recherche : SYSCOM 86


Transformation en ondelettes (DWT)
Transformée irréversible
Filtres (9/7) de Daubechies (coefficients réels)
Autres filtres définies par l’utilisateur (symétrique, bi-orthogonaux)

Transformée réversible
Filtres (5,3) de Le Gal (coefficients entiers)

A. OULED ZAID Mastère de recherche : SYSCOM 87


Analyse en sous-bandes
Un banc de filtres d'analyse en ondelette est constitué d'une paire
de filtres, l'un passe bas (H0), l'autre passe haut (H1).

La réponse impulsionnelle du filtre PH correspond à la fonction


d'ondelette mère tandis que celle du filtre PB correspond à la
fonction d'échelle associée.

Banc de filtres d'analyse en ondelettes Itération du banc de filtres sur la sous bande
Passe-bas.

PH : passe haut, PB : passe bas


A. OULED ZAID Mastère de recherche : SYSCOM 88
Bancs de filtre à deux canaux

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

di0 diN-1 diN High frequencies


+ ... + K0

P: prédiction, U : update (mise à jour)


A. OULED ZAID Mastère de recherche : SYSCOM 90
Exemple : filtre 5/3 de le Gall

s00 d00 s10 d10 s20 d20 s30


Input sequence
1 1 1

-1/2 -1/2 -1/2 -1/2 -1/2 -1/2


1 1 1 1 High-pass output
d01 d11 d21

1/4 1/4 1/4 1/4 1/4 1/4

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

A. OULED ZAID Mastère de recherche : SYSCOM 91


Bancs de filtre en cascade (analyse/synthèse)

A. OULED ZAID Mastère de recherche : SYSCOM 92


Décomposition dyadique DWT
2D-DWT

LL HL2
HL1
LL HL1 LH2 HH2

2D-DWT LH1 HH1


LH1 HH1

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

A. OULED ZAID Mastère de recherche : SYSCOM 94


SPIHT (Set Partitioning In Hierarchical Trees)
Codage par arbre de zéros.
Structure arborescente inter bande des coefficients transformés
Exploite l'auto-similarité inter-sous-bandes : arbres de coeffs

Relation de parenté inter sous-bandes


Algorithme de codage :
1. Décomposition en ondelettes (9-7)
2. Partition des coeffs en arbres signifiants
3. Transmission progressive par plan de bits
4. Codage arithmétique

A. OULED ZAID Mastère de recherche : SYSCOM 95


Comparaison du codeur SPIHT % à JPEG

Compression JPEG Compression SPIHT


Débit=0.25 bpp Débit=0.25 bpp
PSNR=30.25 dB PSNR=32.45 dB

A. OULED ZAID Mastère de recherche : SYSCOM 96


Pourquoi choisir JPEG2000 plutôt que
JPEG?

Très haute performance en compression


Performance supérieure à celle de JPEG dans le cas de très bas débit
Meilleure performance visuelle

Supporte plusieurs types d’images


Offre plusieurs fonctionnalités
Complexité raisonnable
Limitation de l’espace mémoire (codage par codeblock)
Implémentation des ondelettes par des schémas lifting, au fil de l’eau

A. OULED ZAID Mastère de recherche : SYSCOM 97


Fonctionnalités offertes par JPEG2000

Transformation Effet visuel


Différents filtres en ondelettes Masquage
Découpage en tuiles pondération
Implémentation par des schémas
lifting ou par convolution
Accès aux régions d’intérêt
Quantification Transformation couleur réversible
Scalaire (implicite ou explicite) Résiliation des erreurs
Codée en treillis

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

A. OULED ZAID Mastère de recherche : SYSCOM 98


Options de codage/decodage JPEG200

Options de codage Options de decodage


─ Codage avec ou sans pertes ─ résolution et qualité
─ Partitionnement ─ Région d’intérêt
─ Quantification ─ décodage partiel
─ pre-traitement

A. OULED ZAID Mastère de recherche : SYSCOM 99


Codage scalable

Codage emboité permettant le


decodage avec dégradation de la
qualité à partir de parties du flux binaire
complet

Scalabilité selon la resolution


Décomposition dyadique de la DWT
Les bits sont ordonnés de la sous-
bande la plus basse fréquence
jusqu’à la sous-bande la plus haute
fréquence

Scalabilité de la qualité Qualité


Quantification par approximations
successives
A. OULED ZAID Mastère de recherche : SYSCOM 100
Approche de codage JPEG2000
Transformation en ondelettes + EBCOT + codage arithmétique
adaptatif

Coefficients Codeur EBCOT Fichier


Image en ondelettes compressé
originale
Flux
DWT 2D T1 T2
…. emboîté

Codeblocks

Chaque sous-bande est divisée en blocs


Typiquement de taille 32x32 ou 64x64
chaque bloc est codé indépendamment

A. OULED ZAID Mastère de recherche : SYSCOM


Approche de codage JPEG2000
Découpage en tuiles

Découpage en code-blocks

128 -12 158 15 Bit-plane


7
MSB
-8 2 8 5 6
5
4
3
158 -7 -7 15
2
1
0
128 -12 158 15 LSB

A. OULED ZAID Mastère de recherche : SYSCOM 102


Codage entropique
Le codeur entropique encode les plans de bits

– Flux binaire peut-être tronquée et on aura quand même accès à une


qualité correcte

A. OULED ZAID Mastère de recherche : SYSCOM 103


Codage arithmétique adaptatif

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

A. OULED ZAID Mastère de recherche : SYSCOM 104


Codage EBCOT

Codage par bloc


Diviser chaque sous bande en code blocks qui seront codés
d’une manière indépendante
Pour chaque bloc, un bit-stream (flux binaire) est généré sans
utiliser d’information supplémentaire sur les autres blocs

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

A. OULED ZAID Mastère de recherche : SYSCOM 105


Codage EBCOT
Fonctionnement en deux étapes

Flux binaire structuré

T2
Formation des paquets
troncation

Flux binaires +
informations auxiliaires
T1
Codage par plans
de bits
Codage arithmétique

Blocs des coefficients

A. OULED ZAID Mastère de recherche : SYSCOM 106


Codage EBCOT

Partitionnement en codeblocks

Formation de différentes couches de qualité à partir de la contribution des codeblocks


Fractionnés
A. OULED ZAID Mastère de recherche : SYSCOM 107
Distribution de l’information dans le
bitstream

R in i = Taille du flux binaire au point de troncation ni


Dini = α b2 ∑ wi (u , v)[ yi (u , v) − yini (u , v)]2
u ,v

A. OULED ZAID Mastère de recherche : SYSCOM 108


Optimisation du compromis débit/distorsion

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

trouver la plus faible distorsion pour un débit fixé

trouver l’ensemble {ni } qui minimise

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

A. OULED ZAID Mastère de recherche : SYSCOM 110


Comparaison de JPEG200 % à JPEG

JPEG2000 Débit=0.25 bpp JPEG Débit=0.25 bpp

A. OULED ZAID Mastère de recherche : SYSCOM 111


Scalabilité selon la qualité

Plus de bits

A. OULED ZAID Mastère de recherche : SYSCOM 112


Scalabilité selon la résolution

Plus de bits

A. OULED ZAID Mastère de recherche : SYSCOM 113


Position dominante

Plus de bits

A. OULED ZAID Mastère de recherche : SYSCOM 114


Accès à une région d’intérêt

Extrait de David Taubman, UNSW


A. OULED ZAID Mastère de recherche : SYSCOM 115
Accès à une région d’intérêt

A. OULED ZAID Mastère de recherche : SYSCOM 116


JPEG 2000: Inconvénient
Nécessite plus de mémoire :
Taille : JP2: JPG = 40:1
Débit d’accès : JP2:JPG = 1.9:1
=> DWT nécessite 40% des ressources
DCT nécessite 25%

Plus de temps d’exécution :


Codeur : JP2:JPG = 34:1
Décodeur : JP2:JPG = 8:1

A. OULED ZAID Mastère de recherche : SYSCOM 117


Références bibliographiques

M. Antonini, M. Barlaud, P. Mathieu, and I. Daubechies. “Image Coding Using Wavelet


Transform”. IEEE Transactions on Image Processing, 1(2) :205–220, avril
1992.
Cesar and B. Gonzales. “Advances in Image Compression Techniques”. T.j, Watson
Research Center, San Jose, USA, IBM, 1988.
D. Taubman and K. Marcellin “JPEG2000: image compression fundamentals”, standards
and practice,” Kluwer, 2002.
E. Incerti, “ Compression d'image : Algorithmes et standards , Broché, 2003
M. Rabbani, P. W. Jones, “Digital Image Compression Techniques”, SPIE Press, 1 janv.
1991
A. Ouled Zaid, “Amélioration des performances des téchniques de codage JPEG et
JPEG2000”, Th7se de Doctorat, Université de Poitiers, France, 2002

A. OULED ZAID Mastère de recherche : SYSCOM

Vous aimerez peut-être aussi