Compression des images et de la vidéo : principes

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Chap. 4 Recherche en Table
Architecture de machines Codage des informations
Licence pro MPCQ : Cours
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
______________________________________________________________________________________________________________________________________________________________________.
Analyse temps-fréquence
SÉCURISATION DE DOCUMENTS ÉLECTRONIQUES PAR TATOUAGE
PRINCIPE SIMPLIFIE DE LA COMPRESSION MP3
TRAITEMENT NUMERIQUE DES IMAGES
Du signal continu au numérique
Mesures dans le domaine fréquentiel
Les numéros 70 –
Problèmatique d'archivage et stockage d'images échographiques
Inférence statistique
INTRODUCTION 1. Une représentation du signal où le bruit est isolé
2. Echantillonnage et interpolation des signaux vidéo
Codage par transformées(1)
6. Quantification des signaux visuels. Codage prédictif (MICD)
3. Analyse et estimation du mouvement dans la vidéo
8. Transformées Orthogonales et Codage par transformées
Standard MPEG2 La structure fondamentale et les algorithmes de codage MPEG2 sont les mêmes que pour MPEG1 (*) - architecture I,B,P (**) - codage du.
H.264/MPEG4 AVC H.263/MPEG4 V1. H.264/MPEG4 AVC Principes clés : Codage intra-image et inter-image par des blocs de taille variable et par combinaison.

Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin Introduction 2. Sources discrètes & Entropie 3. Canaux discrets.
Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin Introduction 2. Vue densemble 3. Sources discrètes & Entropie.
Traitement du Signal Hugues BENOIT-CATTIN.

LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Introduction à limagerie numérique Acquisition, Caractéristiques, Espaces couleurs, Résolution.
Estimation du mouvement – 1
Application des algorithmes génétiques
Chapitre 6 : Restauration d’images
Cours de physique générale I Ph 11
ASI 3 Méthodes numériques pour l’ingénieur
Concepts avancés en mathématiques et informatique appliquées
3 - Compression des images.
Codage et Protection contre les Erreurs
Une visite guidée dans le monde des ondelettes
Les chiffres & les nombres
Un principe de compression d’image
Représentation des systèmes dynamiques dans l’espace d’état

Design dun système de vision embarqué. Application:
Introduction au calcul quantique
Institut Supérieur des Etudes Technologiques de Djerba Exposé du Traitement de Données Réalisé par: Khalifa Marwa Magroun Amira Jawadi Souad L2MDW.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Aire d’une figure par encadrement
La théorie de la communication de C. Shannon
ASI 3 Méthodes numériques pour l’ingénieur
Polytech'Orléans Filtrage Multicadence Filière ESI
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Théorie de l'Échantillonnage
Compression de données
Rappels de statistiques descriptives
Les Codes Spatio-Temporels Correcteurs d’Erreurs
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Images télés Format JPEG Format MPEG
Etude et test des algorithmes d'estimation de mouvement en MPEG
DU TRAITEMENT DU SIGNAL
Régulation de débit pour MPEG-4 SVC
Reconnaissance automatique de la parole
Chapitre 1 - Introduction.
SUJETS SPÉCIAUX EN INFORMATIQUE 1
Synthèse d’images et Rendu Réaliste Compression Progressive de Modèles 3D DOMENGET Bruno DUMAS Benjamin EISTI.
DU TRAITEMENT DU SIGNAL
MPEG : normalisation La vidéo est compressé en MPEG2 Une vidéo classique : (720x576) à 50 images entrelacées par seconde. Le Mpeg-2 travaille sur 1/4 de.
CHAPITRE 2 LES SITUATIONS FONCTIONNELLES
SSII, séance n°13, bilan du cours 15 décembre 2015 Dernière séance 2015 Résumé des chapitres et notions abordées en 2015.
Ondelettes Philippe RAVIER Laboratoire PRISME Université d’Orléans 5A EEO option AA.
Transcription de la présentation:

Compression des images et de la vidéo : principes Séverine Baudry s.baudry@nextamp.com Compression des images

Compression des images 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 Compression des images

Compression des images 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) Compression des images

Compression des images 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) Compression des images

Compression des images Espace des couleurs Cb B Y G R Cr Y : information de luminance Cb : information de chrominance bleue Cr : information de chrominance rouge* !!! Cb,Cr : pas d ’interprétation perceptuelle directe (Y : version « noir et blanc ») Compression des images

Compression des images 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 Compression des images

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 Compression des images

Compression des images 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 Compression des images

Entrelacement et mouvement Compression des images

Compression des images 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) Compression des images

Compression des images 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 Compression des images

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 Compression des images

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 Compression des images

Compression des images 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 Compression des images

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 : Compression des images

Principes de la compression X : signal à coder (image) Compression Y (signal compressé) décompression X ’ (signal décompressé) X=X ’ : codage sans perte XX ’ : codage à perte Comparaison de performances des méthodes de compression : Taux de compression Distorsion visuelle introduite Complexité, temps de calcul (compression et décompression) Sensibilité des données codées aux erreurs Compression des images

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 Compression des images

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 Compression des images

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 Unité : le bit ou Shannon Rappels : logarithme à base 2 : Compression des images

Compression des images 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) Compression des images

Entropie : quelques propriétés L ’entropie est toujours positive : L ’entropie est maximale (incertitude maximale) lorsque tous les évènements sont équiprobables : Compression des images

Entropie d ’une variable binaire Compression des images

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) : Compression des images

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. d il existe un code tel que : Compression des images

Compression des images 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 Compression des images

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 Compression des images

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 : Codage à longeur fixe : sur 3 bits Codage à longeur variable (de 1 à 5 bits): Compression des images

Intérêt des codes à longueur variable Codage à longeur fixe Longueur moyenne : Codage à longeur variable : Longueur moyenne : Gain en codage : Application : coder la chaîne : a a b a b f b a a b b a code à longueur fixe ; L = ? code à longueur variable : L= ? Entropie de la source ? Compression des images

Compression des images 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 : 1 0 0 1 0 0 0 0 1 1 0 1 0 n4 n2 n1 n5 n2 Compression des images

Compression des images 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 ’ Compression des images

Codage de Huffman : exemple 0.45 1 0.55 0.3 Compression des images

Codage de Huffman : exemple 1 0.55 0.45 0.3 0.25 0.25 0.2 0.15 0.15 Compression des images

Codage de Huffman : exemple 1 1 0.55 1 0.45 1 0.3 1 0.25 0.25 0.2 0.15 0.15 10 00 01 110 111 n1 n2 n3 n4 n5 Compression des images

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 ? Compression des images

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) Compression des images

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. Compression des images

Compression des images 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) Compression des images

Compression des images 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 bi dans la table de traduction ? => concaténation bibi+1 bibi+1 dans la table de traduction ? Si oui, concaténation bibi+1bi+2 aller en 2 Si 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 Compression des images

Compression des images 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 Compression des images

Compression des images LZW : exemple A coder : 1 0 0 0 1 1 0 1 1 Table de traduction : adresses sur 4 bits initialisation : Compression des images

Compression des images LZW : exemple A coder : 1 0 0 0 1 1 0 1 1 code Table de traduction 0001 Compression des images

Compression des images LZW : exemple A coder : 1 0 0 0 1 1 0 1 1 code Table de traduction 0001 0000 Compression des images

Compression des images LZW : exemple A coder : 1 0 0 0 1 1 0 1 1 code Table de traduction 0001 0000 0011 Compression des images

Compression des images LZW : exemple A coder : 1 0 0 0 1 1 0 1 1 code Table de traduction 0001 0000 0011 0001 Compression des images

Compression des images LZW : exemple A coder : 1 0 0 0 1 1 0 1 1 code Table de traduction 0001 0000 0011 0001 0010 0010 Compression des images

Compression des images LZW : exemple A coder : 1 0 0 0 1 1 0 1 1 code Table de traduction 0001 0000 0011 0001 0010 0010 0101 Compression des images

Compression des images 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 Compression des images

Compression des images 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 Compression des images

Méthodes irréversibles : motivation Compression sans perte : taux de compression faible (R2.5) L ’œil est peu sensible à certaines modifications de l ’image Compression à perte : introduction d ’une distorsion dans l ’image codée ex : JPEG : R20 pour une distorsion quasi-invisible. Fonction débit/distorsion : extension de l ’entropie pour les méthodes irréversibles Compression des images

Fonction débit-distorsion Le débit R est atteignable pour une distorsion D ssi il existe une suite de codes (2nR,n) tels que : Codeur de source décodeur de source X Y X ’ d(X;X ’)<D R (Y)<R(X) Compression des images

Fonction débit-distorsion Compression sans perte Débit R H(X) Codage possible R=0 (on ne transmet pas l ’image !) Codage impossible Distorsion D Compression des images

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) Mesure de la distorsion Compression des images

Compression des images Mesures de distorsion Rapport Signal à Bruit Crête (PSNR : Peak Signal to Noise Ratio)(en dB) Compression des images

Distorsion : ordres de grandeur Exemple : image JPEG, niveaux de gris Compression des images

Exemple : distorsion après codage JPEG Compression des images

Caractéristiques du système visuel humain (SVH) Caractéristiques du SVH perception de la luminance : l ’œil est plus sensible aux faibles intensités sélectivité spatio-fréquentielle : l ’acuité varie suivant l ’orientation et la fréquence spatiale acuité forte aux basses et moyennes fréquences, faible aux hautes fréquences sensibilité au contraste : l ’œil est plus sensible aux contrastes qu ’à la luminance absolue (modèle logarithmique) Effet de masquage : la présence de signaux de forte amplitude peut masquer la présence des signaux voisins plus faibles Prise en compte des caractéristiques du SVH : suppression des informations auxquelles l ’œil est peu sensible -> compression Compression des images

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) Compression des images

Compression des images 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 Compression des images

Quantification scalaire Niveaux de quantification {yi} : représentent un intervalle de R Seuils de quantification {xi} : délimitent les intervalles de quantification Quantification uniforme : |xi-xi-1| constant  i Quantification non uniforme : …. Seuils de quantification niveaux de quantification Compression des images

Quantification scalaire : représentation graphique Signal reconstruit y6 Q(x)=y5 y5 y4 y3 y2 y1 Signal original x1 x2 x3 x4 x x5 Compression des images

Bruit de quantification Q(x)-x y1 y2 y3 y4 y5 y6 x x1 x2 x3 x4 x5 x6 Compression des images

Bruit de quantification Compression des images

Bruit de quantification Hypothèse : yi milieu du segment [xi,xi+1] : Compression des images

Bruit de quantification : quantificateur uniforme Compression des images

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) Compression des images

Choix des quantificateurs Algorithmes de calcul de quantificateurs optimaux Max Lloyd … Codage du signal quantifié N niveaux de quantifications  codage sur log2(N) bits Compression des images

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 Quantification vectorielle À coder avec : Compression des images

Quantification vectorielle : représentation graphique Vecteur à 2 dimensions (x1,x2) « seuils de quantification » = Régions de Voronoï x2 x1 Compression des images

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 B G R Compression des images

Compression des images 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 Compression des images

Compression des images 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,…) d Compression des images

Fonction d ’autocorrélation à 2 dimensions Compression des images

Compression des images Exemple : signal AR(1) un : bruit blanc gaussien, centré, variance su2, indépendant de xn-1 Prédiction optimale : f(xn)=axn Erreur de prédiction : e(n)=xn-axn-1=un Décorrélation de l ’erreur de prédiction : Compression des images

Prédiction linéaire : 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 Compression des images

Compression des images 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 Compression des images

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 Compression des images

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 Compression des images

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 C A : matrice des vecteurs propres de C C diagonale  (Xi;Xj) décorrélés  (i,j) Compression des images

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 Compression des images

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 Compression des images

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) Compression des images

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 ’image spectre symétrique : hautes fréquences (=basses fréquences) de forte énergie, fréquences moyennes de faible énergie compression : suppression des fréquences de faible énergie Or, sensibilité du SVH décroissante avec la fréquence -> introduction d ’artefacts visibles Compression des images

Compression des images Énergie des coefficients de Fourier Sensibilité de l ’œil fréquence Quantification des coeff. Moyenne fréquence  EQM faible  distorsion visuelle forte Compression des images

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 Compression des images

DCT : interprétation graphique Compression des images

Compression des images DCT Matrice de transformation : Matrice de la transformation inverse : Propriétés : coefficients transformés réels (symétrie  signal pair) séparable Compression des images

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 Compression des images

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) Compression des images

Transformation continue en ondelettes (1D) Transformation en ondelettes : Famille d ’ondelettes : b : facteur de localisation :  (a(t-b)) centré autour de b a : facteur d ’échelle a grand :  (a(t-b)) plus étroit, localisé en temps (plus étalé en fréquence, fréquences hautes) a petit :  (a(t-b)) plus large, étalé en temps (localisé en fréquence, fréquences basses) Compression des images

Exemple : chapeau mexicain Ondelette mère : a=1, b=0 a=0.25, b=1 a=2, b=-4 Compression des images

Représentation temps fréquence y(t) d ’énergie finie  y(t) tend vers 0 quand t tend vers   Y(f) tend vers 0 quand f tend vers   On peut déterminer les intervalles [-Dt;Dt] et [-Df;Df] tels que : [-Dt;Dt] contienne 90% de l ’énergie de la fonction [-Df;Df] contienne 90 % de l ’énergie de la fonction [-Dt;Dt] et [-Df;Df] représentent un pavé dans l ’espace temps fréquence f a0f a0Df Dt/a1 a1f Dt/a0 a1Df b0 b1 t Compression des images

Reconstruction (transformée inverse) Représentation redondante : signal réel 1D -> coefficients réels 2D non adapté à la compression représentation compacte du signal : analyse multi-résolution Compression des images

Analyse Multi-résolution (AMR) But : représenter le signal (image) par des approximations successives exemple : série de zoom progressifs sur une image On cherche à représenter les signaux de L2(R) : espace vectoriel des signaux à énergie finie AMR : suite de sous-espaces vectoriels {Vi} (iZ) de L2(R) telle que : i : niveau de résolution f(t) : ondelette père Compression des images

Compression des images Propriétés de l ’AMR Propriétés : Équation à 2 échelles (niveau 0 et niveau 1) Équation à 2 échelles (niveau i et niveau i+1) h0 : filtre passe-bas Compression des images

Base orthonormale d ’ondelettes approximation détails Propriétés : Équation à 2 échelles (niveau i et niveau i+1) H1 : filtre passe-haut Compression des images

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 : Détails : Compression des images

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 : Les coefficients d ’approximation et de détail au niveau i sont obtenus directement à partir du coefficient d ’approximation du niveau i-1. Compression des images

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 h0 2 a3[k] h0 2 a2[k] h0 2 a1[k] h1 2 c3[k] h1 2 c2[k] a0[k] h1 2 c1[k] Compression des images

Compression des images 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) a3[k] 2 h0 a2[k] 2 h0 c3[k] 2 h1 a1[k] 2 h0 c2[k] 2 h1 a0[k] c1[k] 2 h1 Compression des images

Exemple : ondelettes de Haar Compression des images

Bases d ’ondelettes à 2 dimensions Construction d ’une base d ’ondelettes 2D séparable à partir d ’une base d ’ondelette 1D détails horizontaux détails diagonaux détails verticaux Fonctions de base associées : Filtrage passe-bas dans les 2 directions passe-bas dans dir. horizontale, passe-haut dans dir. verticale passe-bas dans dir. verticale, passe-haut dans dir. horizontale Filtrage passe-haut dans les 2 directions Compression des images

Décomposition en ondelettes 2D Ondelettes séparables : traitement successif des 2 dimensions Même principe que ondelettes 1D : filtrage, décimation h0 1,2 a1[x,y] h0 2,1 h1 1,2 c1H[x,y] a0[x,y] h0 1,2 c1V[x,y] h1 2,1 h1 1,2 c1D[x,y] Compression des images

Exemple : décomposition en ondelettes d ’une image Compression des images

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 Compression des images

Algorithme EZW (Embedded Zero-Tree Coding) Définitions : Coi(x,y) parent de Coi+k(x,y) Coi+k(x,y) descendant de Coi(x,y)  arbre de coefficients Si un coefficient d ’ondelette donné est non significatif (d ’énergie faible), alors, ses descendants sont le plus souvent non significatifs (zero-tree)  on ne code pas les coefficients non significatifs  gain en compression Compression des images

Compression des images 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 Compression des images

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. Compression des images

Compression des images 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 Compression des images

Compression des images 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éo hautes fréquences  objets en mouvement En pratique les transformations linéaires ne sont pas efficaces pour décorréler la vidéo vidéo = projection sur un plan d ’une scène 3D objets en mouvement : pas d ’interprétation directe fréquentielle Compression des images

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 Compression des images

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…) Compression des images

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 Compression des images

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 ’) V=(i-i ’,j-j ’) B ’i ’,j ’ B i ,j  Bloc d ’erreur : Bi,j-B ’i ’,j ’ It-1 It Compression des images

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é Compression des images

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 Compression des images

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) Compression des images

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

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 images bidirectionnelles (B) : blocs prédits par compensation de mouvement simple avant, à partir de l ’image de référence précédente (I ou P) compensation de mouvement simple arrière, à partir de l ’image de référence suivante (I ou P) double compensation de mouvement ; à partir de l ’image de référence précédente et suivante; le bloc sera obtenu par moyennage des 2 prédictions ne sont pas des images de référence Compression des images

Images B : double compensation de mouvement Compression des images

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 Compression des images

Intérêts et inconvénients de la compensation de mouvement 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 -> latence Equilibrage de la taille du GOP : en pratique, GOP de taille 12 le plus souvent (1/2 seconde) sensibilité aux erreurs : une erreur sur une image de référence est répercutée sur les images suivantes l ’utilisant comme prédiction ex : vidéoconférence sur mobile : canal fortement bruité protection inégale d’erreurs : code correcteur fortement redondant sur les images de référence, faiblement redondant sur les images prédites error resilience : marqueurs de synchronisation … Inadéquation lorsque la dissimilarité entre images est trop forte (changement de plan) codage Intra (par bloc ou par image) Compression des images