Ondelettes et compression d images

Documents pareils
Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Technique de compression des images médicales 4D

Echantillonnage Non uniforme

ISO/CEI NORME INTERNATIONALE

Projet de Traitement du Signal Segmentation d images SAR

Transmission d informations sur le réseau électrique

Intérêt du découpage en sous-bandes pour l analyse spectrale

DEVANT L UNIVERSITE DE RENNES 1

Approche par marquage pour l évaluation de la qualité d image dans les applications multimédias

Quantification Scalaire et Prédictive

Chap17 - CORRECTİON DES EXERCİCES

TP Modulation Démodulation BPSK

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

TD1 Signaux, énergie et puissance, signaux aléatoires

Systèmes de transmission

Chaine de transmission

Quelques tests de primalité

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Data first, ou comment piloter l analyse par les données

Un schéma de compression avec pertes efficace pour les images médicales volumiques

ASR1 TD7 : Un microprocesseur RISC 16 bits

Chapitre 13 Numérisation de l information

Enregistrement et transformation du son. S. Natkin Novembre 2001

Compression scalable d'images vidéo par ondelettes 2D+t

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Livrable 2.1 Rapport d analyse et de restructuration de code monothread des modules P, T, Q et F de l encodage MPEG-4 AVC

Représentation d un entier en base b

Représentation des Nombres

Licence Sciences et Technologies Examen janvier 2010

Le signal GPS. Les horloges atomiques à bord des satellites GPS produisent une fréquence fondamentale f o = Mhz

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

10ème Congrès Français d'acoustique Lyon, Avril 2010

Traitement bas-niveau

Chapitre 10 Arithmétique réelle

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Continuité et dérivabilité d une fonction

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Transmission de données. A) Principaux éléments intervenant dans la transmission

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Bandes Critiques et Masquage

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Introduction à l étude des Corps Finis

Chapitre I La fonction transmission

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Informatique Générale

Table des matières. I Mise à niveau 11. Préface

Chapitre 2 : communications numériques.

Formats d images. 1 Introduction

Cours de Master Recherche

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Fonctions de plusieurs variables

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Programmation linéaire

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Object Removal by Exemplar-Based Inpainting

Systèmes de communications numériques 2

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Programmation C. Apprendre à développer des programmes simples dans le langage C

I- Définitions des signaux.

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Optimisation, traitement d image et éclipse de Soleil

La couche physique de l ADSL (voie descendante)

de calibration Master 2: Calibration de modèles: présentation et simulation d

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Hiver 2013 IMN 259. Introduction à l analyse d images. Par Pierre-Marc Jodoin

Optimisation de la compression fractale D images basée sur les réseaux de neurones

1 Recherche en table par balayage

Communications immersives : Enjeux et perspectives

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

I. TRANSMISSION DE DONNEES

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Initiation à linfographie

Conversion d un entier. Méthode par soustraction

Géométrie discrète Chapitre V

LA COUCHE PHYSIQUE EST LA COUCHE par laquelle l information est effectivemnt transmise.

Polynômes à plusieurs variables. Résultant

Les algorithmes de base du graphisme

Initiation à LabView : Les exemples d applications :

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Les techniques de multiplexage

Bases de programmation. Cours 5. Structurer les données

Partie 1: Gestion de l interférence entre symboles

CHAPITRE V. Théorie de l échantillonnage et de la quantification

Analyse de la bande passante

Rapport de stage. Implantation en virgule fixe d un codeur audio. Romain Serizel

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques


Texte Agrégation limitée par diffusion interne

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Analyse des bruits de clavier d ordinateur

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Transcription:

Ondelettes et compression d images Marco Cagnazzo Département Traitement du Signal et des Images TELECOM ParisTech 30 Octobre 2012 M. Cagnazzo Ondelettes 1/98

Plan Introduction 1 Introduction 2 Bancs de filtres Analyse Multirésolution 1D et 2D 3 M. Cagnazzo Ondelettes 2/98

Plan Introduction 1 Introduction 2 Bancs de filtres Analyse Multirésolution 1D et 2D 3 M. Cagnazzo Ondelettes 3/98

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/98

Représentation des images numériques Images couleurs : Format YCbCr Changement de coordonnées : [R, V, B] [Y, C b, C r ] Luminance Y et chrominance C b, C r M. Cagnazzo Ondelettes 5/98

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/98

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/98

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 image originale Basés sur la quantification et transformée Redondance psychovisuel : visually lossless Rapport de compression élevé M. Cagnazzo Ondelettes 8/98

Ondelettes et images : Motivations Modèle des images : trends + anomalies M. Cagnazzo Ondelettes 9/98

Ondelettes et images : Motivations Modèle des images : trends + anomalies M. Cagnazzo Ondelettes 9/98

Ondelettes et images : Motivations Modèle des images : trends + anomalies M. Cagnazzo Ondelettes 9/98

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/98

Ondelettes et images : Motivations Boîtes temps-fréquence des familles analysantes Analyse dans le temps : θ γ(t) = δ(t t 0 ) Analyse en fréquence : θ γ(t) = e 2iπf 0t Transformée de Fourier à fenêtre : F F θ γ(t) = g(t t 0 )e 2iπf 0t σ t,σ ξ indépendants de γ T Analyse dans le temps T Analyse en fréquence Transformée en Ondelettes : θ γ(t) = 1 ( ) t b ψ a a F F σ t(a,b) = aσ t,(1,0) σ ξ(a,b) = a 1 σ ξ,(1,0) T Transformée de Fourier à Fenêtre T Transformée en Ondelettes M. Cagnazzo Ondelettes 11/98

Ondelettes et images : Motivations Modèle du signal : une ligne d une image M. Cagnazzo Ondelettes 12/98

Ondelettes et images : Motivations Modèle du signal : une ligne d une image M. Cagnazzo Ondelettes 12/98

Ondelettes et images : Motivations Modèle du signal : une ligne d une image M. Cagnazzo Ondelettes 12/98

Ondelettes et analyse à résolutions multiples Approximation : version à baisse résolution Détails : zéros en correspondance d un signal polynomiale 60 40 x[k] = c 0 [k] 20 0 20 0 50 100 150 200 250 300 350 400 450 500 80 60 c 1 [k] d 1 [k] 40 20 0 20 0 50 100 150 200 250 300 350 400 450 500 M. Cagnazzo Ondelettes 13/98

Plan Introduction Bancs de filtres Analyse Multirésolution 1D et 2D 1 Introduction 2 Bancs de filtres Analyse Multirésolution 1D et 2D 3 M. Cagnazzo Ondelettes 14/98

Bancs de filtres Analyse Multirésolution 1D et 2D Transformée en ondelettes discrete La T.O.D. peut être calculé par l algorithme pyramidal : c 1 [k] = n d 1 [k] = n h[n 2k]c 0 [n] g[n 2k]c 0 [n] Cela est équivalent à calculer : č[k] = n ď[k] = n h[n k]c 0 [n] g[n k]c 0 [n] c 1 [k] = č[2k] d 1 [k] = ď[2k] Implémentation par banc de filtres M. Cagnazzo Ondelettes 15/98

Bancs de filtres 1D Décomposition Bancs de filtres Analyse Multirésolution 1D et 2D č[k] h 2 c[k] x[k] g ď[k] 2 d[k] Banc de filtres d analyse 2 : opérateur de décimation : c[k] = č[2k] M. Cagnazzo Ondelettes 16/98

Reconstruction Introduction Bancs de filtres Analyse Multirésolution 1D et 2D c[k] 2 ĉ[k] h x[k] d[k] 2 ˆd[k] 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 17/98

Propriétés des filtres Bancs de filtres Analyse Multirésolution 1D et 2D Reconstruction parfaite RIF Orthogonalité Moments nuls Symétrie M. Cagnazzo Ondelettes 18/98

Bancs de filtres Analyse Multirésolution 1D et 2D 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, x k = x k+l X (z) = z l X (z) h č[k] 2 c[k] 2 ĉ[k] h x[k] x[k] g ď[k] 2 d[k] 2 ˆd[k] g M. Cagnazzo Ondelettes 19/98

Relations dans le domaine Z Bancs de filtres Analyse Multirésolution 1D et 2D filtre Č(z) = n= č n z n = H(z) X (z) ( z 1/2)] décimateur C(z) = 1 [Č( z 1/2) + 2 Č interpolateur Ĉ(z) = C (z 2) sortie X (z) = H(z) C (z 2) + G(z) D (z 2) X (z) = 1 ] [ H(z) H(z)+ G(z) G(z) X (z) 2 + 1 ] [ H(z) H( z)+ G(z) G( z) X ( z) 2 M. Cagnazzo Ondelettes 20/98

Conditions de PR en Z Bancs de filtres Analyse Multirésolution 1D et 2D 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, x k = x k+l X (z) = z l X (z) H(z) H(z)+ G(z) G(z) = 2z l H(z) H( z)+ G(z) G( z) = 0 Non distorsion Non aliasing M. Cagnazzo Ondelettes 21/98

Bancs de filtres Analyse Multirésolution 1D et 2D Conditions de reconstruction parfaite Forme matricielle Pour simplicité on ignore le retard, l = 0 Si les filtres d analyse sont assignés, les filtres de synthèse sont univoquement déterminés : [ ] H(z) G(z) H( z) G( z) ] [ H(z) = G(z) [ ] 2 0 On assume que la matrice de modulation soit inversible. M. Cagnazzo Ondelettes 22/98

Bancs de filtres Analyse Multirésolution 1D et 2D Conditions de reconstruction parfaite Filtres de synthèse Déterminant de la matrice de modulation : (z) = H(z) G( z) G(z) H( z) H(z) = 2 (z) G( z) G(z) = 2 (z) H( z) M. Cagnazzo Ondelettes 23/98

Bancs de filtres Analyse Multirésolution 1D et 2D 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 h(k) = p -q r -s t g(k) = p q r s t g(k) = -a b -c M. Cagnazzo Ondelettes 24/98

Orthogonalité Introduction Bancs de filtres Analyse Multirésolution 1D et 2D L orthogonalité assure la conservation d énergie : k= (x k ) 2 = k= (c k ) 2 + k= (d k ) 2 erreur de reconstruction = erreur de quantification sur les coefficients d ondelettes M. Cagnazzo Ondelettes 25/98

Moments nuls Introduction Bancs de filtres Analyse Multirésolution 1D et 2D 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 26/98

Symétrie Introduction Bancs de filtres Analyse Multirésolution 1D et 2D 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 27/98

Filtre de Haar Introduction Bancs de filtres Analyse Multirésolution 1D et 2D h(k) = 1 1 h(k) = 1 1 g(k) = 1-1 g(k) = -1 1 Symétrique Orthogonal (normalisation) Nombre de moments nul = 1 Capable de représenter uniquement les signaux constants par morceaux M. Cagnazzo Ondelettes 28/98

Orthogonalité et biorthogonalité Reconstruction parfaite pour signaux de durée limitée Bancs de filtres Analyse Multirésolution 1D et 2D 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 29/98

Filtres biorthogonaux Filtres Cohen-Daubechies-Fauveau Bancs de filtres Analyse Multirésolution 1D et 2D Pour les filtres biorthogonaux, si h a p MN et h a p MN, le support est au moins p+ p 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) : filtres h et h similaires Ces filtres sont les plus communément utilisés dans le codage d image M. Cagnazzo Ondelettes 30/98

Filtres biorthogonaux 9/7 Bancs de filtres Analyse Multirésolution 1D et 2D Coefficients du filtre : n 0 ±1 ±2 ±3 ±4 h[l] 0.852699 0.377403 0.110624 0.023849 0.037828 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 : g[l] = ( 1) l+1 h[l 1] et g[l] = ( 1) l 1 h[l + 1]. M. Cagnazzo Ondelettes 31/98

Bancs de filtre et fonctions ψ,φ Bancs de filtres Analyse Multirésolution 1D et 2D Les fonctions d ondelette et d échelle sont liées au bancs de filtres par les relations suivantes : φ(t) = 2 k ψ(t) = 2 k h(k)φ(2t k) avec h[k] = g(k)φ(2t k) avec g[k] = φ(t)φ(2t k)dt φ(t)ψ(2t k)dt Trouver la fonction φ qui satisfait la première équation n est pas en général facile. Dans le cas Haar on a : φ(t) = φ(2t) +φ(2t 1) φ(t) = Π(t 1/2) ψ(t) = φ(2t) φ(2t 1) = Π(2t 1/2) Π(2t 3/2) M. Cagnazzo Ondelettes 32/98

Analyse multirésolution 1D Décomposition Bancs de filtres Analyse Multirésolution 1D et 2D h 2 c 3[k] h 2 c 2[k] h 2 c 1[k] g 2 d 3[k] c0[k] g 2 d 2[k] g 2 d 1[k] Structure de décomposition en ondelettes sur 3 niveaux de résolution M. Cagnazzo Ondelettes 33/98

Reconstruction Introduction Bancs de filtres Analyse Multirésolution 1D et 2D c 3[k] 2 h c 2[k] 2 h d 3[k] 2 g c 1[k] 2 h d 2[k] 2 g c0[k] d 1[k] 2 g Reconstruction à partir des coefficients d ondelettes M. Cagnazzo Ondelettes 34/98

AMR 2D Bancs de filtres 2D séparables Bancs de filtres Analyse Multirésolution 1D et 2D Pour 1 niveau de décomposition h[l] (1, 2) a j 1 [n, m] h[k] (2, 1) a j [n, m] g[l] (1, 2) dj 1 H [n, m] h[l] (1, 2) dj 1 V [n, m] g[k] (2, 1) g[l] (1, 2) dj 1 D [n, m] M. Cagnazzo Ondelettes 35/98

Interprétation fréquentielle Bancs de filtres Analyse Multirésolution 1D et 2D (A) (V) f hor (H) (D) f ver Les zones (A), (H), (V) et (D) correspondent effectivement aux coefficients d approximation, de détails horizontaux, verticaux et diagonaux. M. Cagnazzo Ondelettes 36/98

AMR 2D Introduction Bancs de filtres Analyse Multirésolution 1D et 2D a 0 a 1 d H 1 d V 1 d D 1 a 2 d H 2 d V 2 d D 2 a 3 d H 3 d V 3 d D 3 Mise en oeuvre d une AMR 2D séparable sur 3 niveaux de résolution. M. Cagnazzo Ondelettes 37/98

Bancs de filtres Analyse Multirésolution 1D et 2D AMR 2D - interprétation fréquentielle (A) (V3) (H3) (D3) (V2) (V1) f hor (H2) (D2) (H1) (D1) f ver M. Cagnazzo Ondelettes 38/98

Exemple Introduction Bancs de filtres Analyse Multirésolution 1D et 2D M. Cagnazzo Ondelettes 39/98

Exemple Introduction Bancs de filtres Analyse Multirésolution 1D et 2D M. Cagnazzo Ondelettes 40/98

Exemple Introduction Bancs de filtres Analyse Multirésolution 1D et 2D M. Cagnazzo Ondelettes 41/98

Exemple Introduction Bancs de filtres Analyse Multirésolution 1D et 2D M. Cagnazzo Ondelettes 42/98

Exemple Introduction Bancs de filtres Analyse Multirésolution 1D et 2D M. Cagnazzo Ondelettes 43/98

Exemple Introduction Bancs de filtres Analyse Multirésolution 1D et 2D M. Cagnazzo Ondelettes 44/98

Exemple Introduction Bancs de filtres Analyse Multirésolution 1D et 2D M. Cagnazzo Ondelettes 45/98

Plan Introduction 1 Introduction 2 Bancs de filtres Analyse Multirésolution 1D et 2D 3 M. Cagnazzo Ondelettes 46/98

Outils fondamentaux pour la compression Transformée Prédiction Concentre l information en peu de coefficients 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 47/98

Critères de performance Débit Rapport (taux) de compression T = B in B out Débit de codage = R in R out Image : R = Bout NM [bpp] Vidéo, son : R = Bout T [bps] M. Cagnazzo Ondelettes 48/98

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 f n,m : image d origine ; et fn,m : image reconstruite après compression Critères objectifs non perceptuels Erreur quadratique moyenne (MSE) : D = 1 N M N M n=1 m=1 (f n,m f n,m ) 2 ( Rapport signal sur bruit crête : PSNR = 10 log 10 Critères objectifs perceptuels ) 255 2 D On utilise des modèles du SVH pour prendre en compte la sensibilité aux fréquences, les masquages,... M. Cagnazzo Ondelettes 49/98

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 50/98

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 51/98

Critères de performance Bilan Besoins contradictoire : Débit Qualité Complexité Robustesse Retard M. Cagnazzo Ondelettes 52/98

Techniques de codage TO Méthodes exploitant les dépendances inter-échelle: (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 53/98

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 54/98

Représentation progressive des coefficients d ondelette Chaque nouveau bit de codage donne le maximum d information 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 55/98

Exemple: un image et ses coefficients d ondelette LL Approximation HL Détails verticaux Approximation Détails verticaux T.O. 2 Niveaux LH Détails horizontaux HH Détails diagonaux Détails horizontaux Détails diagonaux M. Cagnazzo Ondelettes 56/98

Représentation progressive: ordre des sous-bandes M. Cagnazzo Ondelettes 57/98

Algorithme Introduction 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 58/98

Arbre de coefficients d ondelette M. Cagnazzo Ondelettes 59/98

Idée de Introduction 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+4 2 +...+4 N n ) coefficients Information de localisation implicite dans l information de significativité M. Cagnazzo Ondelettes 60/98

Schéma de l algorithme 1 k = 0 2 n = log 2 ( c max ) 3 T k = 2 n 4 while (débit < débit disponible) Pas dominant Pas de raffinement 5 T k+1 T k /2 6 k k + 1 end M. Cagnazzo Ondelettes 61/98

Pas dominant Introduction Pour tout coefficient c dans l ordre de balayage Si c > T n : 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 62/98

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 63/98

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 2 n < c < 2 n+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 64/98

Algorithme : bilan Codage par plan de bits : Au pas k on code le bit plane log 2 T k 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 65/98

JPEG2000 Introduction 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 66/98

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 67/98

Algorithme Introduction 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 68/98

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 69/98

EBCOT Introduction 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 70/98

Codage par plans de bit Bitplane plus significatif LL2 HL2 HL1 LH2 HH2 LH1 HH1 M. Cagnazzo Ondelettes 71/98

Codage par plans de bit Deuxième bitplane plus significatif LL2 HL2 HL1 LH2 HH2 LH1 HH1 M. Cagnazzo Ondelettes 72/98

Codage par plans de bit Troisième bitplane plus significatif LL2 HL2 HL1 LH2 HH2 LH1 HH1 M. Cagnazzo Ondelettes 73/98

Codage par plans de bit Quatrième bitplane plus significatif LL2 HL2 HL1 LH2 HH2 LH1 HH1 M. Cagnazzo Ondelettes 74/98

Codage par plans de bit Cinquième bitplane plus significatif LL2 HL2 HL1 LH2 HH2 LH1 HH1 M. Cagnazzo Ondelettes 75/98

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 76/98

EBCOT Optimisation Introduction 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 Solution : Lagrange J = i min D i i R i R tot i ( ) D i +λ R i R i M. Cagnazzo Ondelettes 77/98

EBCOT Courbe débit-distorsion pour chaque bloc M. Cagnazzo Ondelettes 78/98

EBCOT Courbe débit-distorsion pour chaque bloc M. Cagnazzo Ondelettes 78/98

EBCOT Embedded block coding with optimized truncation Optimalité du point de coupure : D i R i = λ 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 79/98

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 80/98

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 81/98

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 82/98

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 83/98

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 84/98

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 85/98

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 86/98

JPEG Comparaison JPEG / JPEG2000 Image Originale, 24 bpp M. Cagnazzo Ondelettes 87/98

Comparaison JPEG / JPEG2000 Débit: 1bpp M. Cagnazzo Ondelettes 88/98

Comparaison JPEG / JPEG2000 Débit: 0.75bpp M. Cagnazzo Ondelettes 89/98

Comparaison JPEG / JPEG2000 Débit: 0.5bpp M. Cagnazzo Ondelettes 90/98

Comparaison JPEG / JPEG2000 Débit: 0.3bpp M. Cagnazzo Ondelettes 91/98

Comparaison JPEG / JPEG2000 Débit: 0.2bpp M. Cagnazzo Ondelettes 92/98

Comparaison JPEG / JPEG2000 Débit: 0.2bpp pour JPEG, 0.1 pour JPEG2000 M. Cagnazzo Ondelettes 93/98

Effet des erreurs : JPEG JPEG, p E = 10 4 JPEG, p E = 10 4 M. Cagnazzo Ondelettes 94/98

Effet des erreurs : JPEG et JPEG, p E = 10 4, p E = 10 4 M. Cagnazzo Ondelettes 95/98

Effet des erreurs : JPEG et JPEG, p E = 10 3, p E = 10 3 M. Cagnazzo Ondelettes 96/98

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 97/98

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 98/98