1 / 83

IV. Compression

IV. Compression. 1. Introduction 2. Approches directes 3. Approches par transformation 4. Compression de séquences d'images. IV.1 Introduction. Objectifs. Réduction du volume occupé par les images numériques pour faciliter leur transfert et/ou leur stockage. Historique.

alaina
Télécharger la présentation

IV. Compression

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IV. Compression • 1. Introduction • 2. Approches directes • 3. Approches par transformation • 4. Compression de séquences d'images

  2. IV.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

  3. Applications • Imagerie médicale  Télémédecine • Imagerie spatiale • Imagerie sous-marine • Archivage divers (Musée, BNF, Empreintes ...) • Vidéo conférence / visiophone (64 kb/s) • Télésurveillance • Video On Demand • Télévision numérique (150 Mb/s) • ...

  4. Sans pertes / avec pertes contrôlées • 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 • Fonction de la zone élémentaire de traitement • Pixel, ligne, bloc, image entière ... • Classification des méthodes de compression

  5. 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)

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

  7. IV.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)

  8. CodageHuffman(1952) • Algorithme

  9. CodageArithmétique(1976) • JBIG  Codage des Fax type IV

  10. Exemple

  11. CCITT, Fax groupe III • JPEG • Codage par longueur de plage(Run length coding)

  12. Codage de type dictionnaire(1977)

  13. 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) ?

  14. Seuils répartis de façon uniforme • Niveaux = milieux des seuils • C'est un quantificateur linéaire • Quantification scalaire uniforme linéaire avec

  15. 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 !

  16. Exemple de comparaison (peppers : 512x512x8bpp) • Remarque Efficacité variable du codeur entropique !

  17. Image originale Q. uni. opt. : RSB 23,8 dB Q. Max : RSB 24,2 dB Q. uni. lin. : RSB 22,5 dB

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

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

  20.  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

  21. Illustration de la quantification vectorielle sur treillis Vecteurs 2x1

  22. Structure de fichier codé

  23. Méthodes prédictives(1974) • Exploitent la corrélation entre pixel voisin Modulation par Impulsions Codées Différentielles (MICD) DPCM • Propagation des erreurs • Prédicteurs non optimaux • Adaptation aux statistiques locales

  24. Approche Quadtree • Découpage récursif en carrés homogènes •  Critère de split : variance, ...

  25. Codage de l'arbre : règle de parcours (Peano) • Codage des régions homogènes : moyenne, interpolation ...

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

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

  28. Compression par IFS local (Jacquin 1990) • - Approche valable sur des images quelconques • Codage

  29.  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

  30. Variantes - formes des blocs - recherche des wi - codage des wi • Codage très long • Décodage instantané

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

  32. IV.3 Approches par transformation

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

  34. Compression DCT bloc : JPEG(1989) • DCT bloc 8x8 •  homogénéité locale de l'image •  l'erreur de quantification est localisée au bloc

  35. Schéma général

  36. Matrice de normalisation •  allocation des bits aux coeffs avant quantification par arrondi Matrice chrominance Matrice luminance

  37. Lecture zig-zag •  prise en compte de la répartition spatiale de l'énergie pour faire apparaître de longues plages de coeffs nuls • Codage du coeff DC •  DPCM d'ordre 1 + Huffman

  38. Codage des coeffs AC •  Codage hybride : runlength + ... + Huffman • - Huffman = Code (plage de 0 + catégorie) • 162 codes : 10catx16lp+2(EOB+16)

  39. Exemple • 0 -2 -1 02 -1 046  111001 0 0 / 00 0 / 11011 0 / 1010 • Extrait de la table d'Huffman des AC

  40. Remarques •  JPEG = méthode générale  à adapter ... •  Très performant à taux faibles (#10) •  Effets de blocs à taux élevés Tc = 10 / RSB = 30.1 dB Tc = 20 / RSB = 28.7 dB

  41. Compression sous-bandes / ondelettes

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

  43. 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, ...

  44. Exemples Originale Sous-bandes Tc=32

  45. Sous-bandes Tc=32 RSB = 30.1 dB JPEG Tc=32 RSB -3%

  46. Originale Sous-bandes Tc=60 !!

More Related