1.58k likes | 1.75k Vues
Traitement d'images 4TC - Option « Télécoms » Hugues BENOIT-CATTIN. Plan. I. Compression II. Segmentation III. Indexation IV. Tatouage. Remerciements à A. Baskurt, C. Odet pour la partie II. I. Compression. 1. Introduction 2. Approches directes (Vectorielle, Quadtree, Fractale)
 
                
                E N D
Traitement d'images 4TC - Option « Télécoms » Hugues BENOIT-CATTIN
Plan • I. Compression • II. Segmentation • III. Indexation • IV. Tatouage Remerciements à A. Baskurt, C. Odet pour la partie II
I. Compression • 1. Introduction • 2. Approches directes (Vectorielle, Quadtree, Fractale) • 3. Approches par transformation (SPIHT, JPEG2000) • 4. Compression de séquences d'images (MPEG4)
1 Introduction • Objectifs Réduction du volume occupé par les images numériques pour faciliter leur transfert et/ou leur stockage • Historique • 1952 : Codeur entropique (Huffman) • 1978 : DCT (Pratt) • 1980 : Vectoriel (Linde-Buzo-Gray) • 1986 : Sous-bandes (Woods) • 1986 : Vectoriel sur treillis (Fisher) • 1989 : JPEG • 1989 : MPEG-2 • 1989 : Ondelettes (Mallat, Daubechies) • 1990 : Fractales (Jacquin) • 1996 : SPIHT • 1996 : MPEG-4 • 1997 : MPEG-7 • 1998 : JPEG2000
Sans pertes / avec pertes contrôlées bits image Transformation Quantification Codage • Sans pertes (Huffman, Quadtree) • image originale = image comprimée  TC limité (#3) • Avec pertes contrôlées • On perd l'information qui se voit peu  TC augmente • Recherche d'un compromis Tc / Qualité • Directe / Transformation • Directe Quantification & codage des pixels de l'image • Transformation  Quantification & codage des coeff. transformés • Classification des méthodes de compression
Evaluation d'une méthode compression • Dépend de l'application • Taux de compression (Tc) Ex : image (512x512x8bpp) avec Tc=10  512x512x8/10=26215 bits  0.8 bpp • Qualité • Critère mathématique (RSB) Avec • Critères subjectifs • - Courbes ROC (médecine) • - Notations subjectives (TV)
Autres critères • Vitesse d'exécution : codeur /décodeur • Complexité • - Additions / multiplications • - Soft / Hard • Résistance au bruit de transmission • Intégration de post-traitements • - Prise en compte du récepteur (homme / machine) • Coût financier • Scalability
2 Approches directes • Codage Huffman • Codage arithmétique • Codage par longueur de plage • Codage type dictionnaire • Quantification scalaire • Quantification vectorielle • Méthodes prédictives • Approche quadtree • Codage fractale Codeurs de source (Th. Information)
Quantification scalaire • Traitement pixel à pixel •  Diminuer le nombre de niveaux de gris utilisés : Nnq < Nnp • Problèmes • - Comment choisir les seuils de quantification (si) ? • - Comment choisir les niveaux de quantification (qi) ?
Seuils répartis de façon uniforme • Niveaux = milieux des seuils • C'est un quantificateur linéaire • Quantification scalaire uniforme linéaire avec
Seuils répartis de façon uniforme • Quantification scalaire uniforme optimale • Niveaux = Barycentre (histogramme) • Quantification optimale(Loyd-Max : 1960) • Minimise l'erreur de quantification • Algorithme itératif très long pour des distributions inconnues • Tables pour des dist. gaussiennes, laplaciennes, ... • Fait le travail du codeur !
Quantification vectorielle • Extension de la quantification scalaire •  Pixel  Vecteur = bloc de pixels contigus • Vecteur de taille et forme variable • Approche optimale : LindeBuzoGray (1980) • Phase d'apprentissage : dictionnaire de vecteurs • Vecteur = représentant d'une région de Voronoï de taille variable • Dictionnaire connu du codeur /décodeur • Phase d'apprentissage délicate • Temps de recherche dans le dictionnaire • Approche treillis
Approche Treillis : Fisher, Conway, Sloane (1986) • Extension de la quantification linéaire uniforme • Treillis = vecteurs régulièrement répartis dans Rn • Dictionnaire pré-défini  Pas d'apprentissage • Algorithme de quantification rapide • Algorithme de quantification vectorielle sur treillis  - Choix de la norme : L1  Laplacien  Pyramide L2  Gaussien  Sphère - Choix de la taille des vecteurs - Choix du treillis : Zn, An, Dn (4), En(8), n(16)  Taux (B)  K rayon du dictionnaire contenant 2nB vecteurs  Procédure de dénombrement
 Bornage des vecteurs par le facteur d'échelle A = Es/K  Ramène les vecteurs à l'intérieur du dictionnaire - Traitement spécial pour les vecteurs d'énergie > Es  Quantification - Vecteur  vecteur du dictionnaire le plus proche  Codage des vecteurs : code produit - Rayon : code Huffman - Index : code de longueur fixe
Illustration de la quantification vectorielle sur treillis Vecteurs 2x1
Approche Quadtree • Découpage récursif en carrés homogènes •  Critère de split : variance, ...
Codage de l'arbre : règle de parcours (Peano) • Codage des régions homogènes : moyenne, interpolation ...
Compression par fractale • Les Fractales (B. Mandelbrott) • - Observations naturelles : nuages, plantes ... • - Auto-similarité à toutes les échelles  redondance dans l'image • Les 'Iterated Functions Systems' (IFS) • - Wi : Transformation affine contractante rotations, réflexions position déplacement niveau de gris scaling variance offset moyenne
Recherche d'un IFS pour générer une image •  très fort taux de compression mais image spéciale • Approche directe •  Transformation de l'image = morceau de l'image • image # w1(image)  w2 (image)  ...  wn (image)  Fougère : 4 transformations = 192 bits 512² : Tc = 1365 • Utilisation de bibliothèque d'IFS •  image segmentée en un ensemble d'IFS connus
Compression par IFS local (Jacquin 1990) • - Approche valable sur des images quelconques • Codage
 Mettre les Dj à la taille de R : Sous-échantillonnage +- moyennage  Définir la zone de recherche - toute l'image - limitée  (ei,fi)  Recherche du (WiDj) le plus proche de Ri - Mesure de distance  L1, L2, L Ex : pour L2 - - - ai, bi, ci, di = (0,-1,1)  4 rotations (-90, 90,180,0)  4 réflexions(_ | / \)  Codage de longueur fixe ou variable  code = Swi
Variantes - formes des blocs - recherche des wi - codage des wi • Codage très long • Décodage instantané
Point de départ It n° 1 RSB = 23,8 dB It n° 2 RSB = 27,33 dB It n° 3 RSB = 32,16 dB Tc = 10
Représentation différente de l'image •  Décorrélation  Gain en performances • Temps de calcul supplémentaire • Une Transformation •  Réversible (sans perte) •  Orthogonale (énergie conservée) •  Rapide • DCT  JPEG • Ondelettes  SPIHT, JPEG2000
Décomposition en sous-bandes / ondelettes • Esteban/Galland 1977 - Woods/O ’Neil 1986 - … - Mallat (1989) • Filtres FIR 1D, 2D • Filtres IIR 1D, 2D Une Décomposition
Une reconstruction • Décomposition / Reconstruction sans pertes  cascades
Pyramidale (itérée en octave) Adaptative
Réversible • Concentration d ’énergie • Spatio - fréquentiel • Analyse & Compression
Décompositionpyramidale en sous-bandes •  banc de filtres FIR 1D : bi-orthogonaux 9-7 • - phase linéaire, rec. parfaite, pas orthogonaux, réguliers •  Concentration d'énergie dans la BB
Allocation des bits aux sous bandes par modèle • - Min(D) avec B<Bf  Optimisation • - Théorie de la distorsion : bruit de quantification  D=f(B) • -  très rapide  sous-optimal (modèle  réalité) • Quantification séparée des sous-bandes (Woods 86) •  Sous-bande BF : histogramme  • - DPCM + scalaire + codeur entropique •  Sous-bandes HF : histogramme laplacien • - QV treillis, ...
Exemples Originale Sous-bandes Tc=32
Sous-bandes Tc=32 RSB = 30.1 dB JPEG Tc=32 RSB -3%
Originale Sous-bandes Tc=60 !!
Quantification globale des sous-bandes (shapiro 93)  SPIHT •  Algorithme très rapide, RSB élevé, 'embedded' • Basé sur : • - Transmission progressive par plan de bits = Q. scalaire • - Exploite l'auto-similarité inter-sous-bandes : arbres de coeffs http:\\ipl.rpi.edu/research/SPIHT
SPIHT (Set Partitionning In Hierarchical Trees) Said & Pearlman 96 • Décomposition en ondelettes (9-7) • Partition des coeffs en arbres signifiants • Transmission progressive par plan de bits • +- Codeur arithmétique
Transmission progressive par plan de bits Minimiser l'erreur de quantification D
Partitionning Tree • Relation de parenté inter sous-bandes
|ci,j|  2n • Règles de signification • Définition des ensembles
Règles de division • Listes de signifiants ! SPIHT ne fait que de la gestion de liste de coordonnées et du masquage binaire
La stratégie de parcourt est connue du décodeur  les coordonnées ne sont plus codées !
Exemples JPEG Tc=32 RSB : 30.25 SPIHT Tc=32 RSB : 32.45
SPIHT , TC=30 SPIHT , TC=240 !