1 / 121

Compression des images et de la vidéo : principes

Compression des images et de la vidéo : principes. Séverine Baudry s.baudry@nextamp.com. 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

julie-avery
Télécharger la présentation

Compression des images et de la vidéo : principes

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. Compression des images et de la vidéo : principes Séverine Baudry s.baudry@nextamp.com Compression des images

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

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

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

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

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

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

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

  9. Entrelacement et mouvement Compression des images

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

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

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

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

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

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

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

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

  18. 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) destinataire source canal message perturbations Compression des images

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

  20. Entropie • Entropie : mesure de l ’information moyenne d ’une sourcealé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

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

  22. Entropie d ’une variable binaire Compression des images

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

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

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

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

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

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

  29. 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 n2 n1 n5 n2 n4 Compression des images

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

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

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

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

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

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

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

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

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

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

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

  41. LZW : exemple • A coder : 10 0 0 1 1 0 1 1 code Table de traduction 0001 Compression des images

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

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

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

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

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

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

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

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

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

More Related