1 / 31

3 - Compression des images

3 - Compression des images. Plan. Codage Luminance-Chrominance Compression non destructrice Par entropie Huffman RLE Compression avec perte DCT Norme JPEG Compression de séquences d’images Compression temporelle MPEG 1, 2 et 4. Compression : Codage luminance-chrominance.

Download Presentation

3 - Compression des images

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

  2. Plan • Codage Luminance-Chrominance • Compression non destructrice • Par entropie • Huffman • RLE • Compression avec perte • DCT • Norme JPEG • Compression de séquences d’images • Compression temporelle • MPEG 1, 2 et 4

  3. Compression : Codage luminance-chrominance

  4. Luminance-chrominance L’œil est plus sensible à la lumière qu’à la couleur, donc on conserve plus d’informations de luminance que de chrominance : On passe de R V B -> Y Cr Cb par des formules simples Y = 0,299 * Rouge + 0,587 * Vert + 0,114 * Bleu Cr = Rouge - Y Cb = Bleu - Y Puis on agrège les composantes couleurs Cr Cb voisines Souvent Y Cr Cb est codé en 4:2:2 (on ne garde la couleur que des lignes paires)

  5. Luminance-chrominance (2) Exemple ici codage en 4:1:1 On prend la moyenne de 4 valeurs Cr et Cb

  6. Compression non destructrice (sans perte)

  7. Compression par entropie Technique issue de la théorie de l’information développée dans les années 50 par Shannon, Fano puis plus tard Huffman et d’autres (Lempel-Ziv-Welsh..) L'entropie indique le nombre de bits minimum qu'il faut par pixel pour coder une image donnée (longueur moyenne minimale en bits d'un pixel) Si N est le nombre valeurs possibles des pixels et pi la probabilité de chacune, l’entropie se calcule ainsi Exemple si {A, B, C, D, E, F, G} sont les valeurs possibles avec les probabilités {0,4 0,2 0,15 0,1 0,05 0,05 0,05} l'entropie est : H = -0,4 log(0,4)-0,2*log(0,2)-….soit 2,3842 bits au lieu de log(7) = 2,81 bits arrondi à 3 (code de longueur fixe)

  8. Compression par entropie (2) Algorithme de codage de Shannon-Fano • On classe les symboles par ordre de probabilité décroissante • On divise l'ensemble des symboles en deux sous-ensembles de telle sorte que les probabilités cumulées des éléments constituant chacun des deux sous-ensembles soient les plus proches. On attribue l'élément binaire "1" et "0" à chaque sous-ensemble • On procède comme à la première étape sur tous les sous-ensembles comportant au moins deux éléments. On s'arrête lorsque tous les sous-ensembles ne comportent plus qu'un élément Remarque : On notera qu'à une étape donnée, il peut exister deux choix possibles de regroupement d'éléments en cas d’égalité des probabilités cumulées de deux regroupements possibles.

  9. Algorithme de Shannon-Fano (suite) Sur l’exemple précédent : l’algorithme donne ceci • En vert la longueur moyenne d'un mot code est • En rouge la longueur moyenne d'un mot code est

  10. Compression par entropie (3) Algorithme de codage de Huffman Contrairement au code de Shannon-Fano, la construction d'un code de Huffman s'effectue de façon ascendante (des feuilles vers la racine de l'arbre des codes)  • On classe (par exemple sur une ligne) les symboles source par ordre de probabilité croissante (par exemple de la gauche vers la droite). • On relie les deux symboles de probabilités les plus faibles à l'aide de deux arêtes. On obtient alors un nœud que l'on appelle "super-symbole" et dont le "poids" est obtenu en effectuant la somme des deux probabilités des deux symboles. Le super-symbole remplace les deux symboles qui sont maintenant éliminés de la liste. • On procède comme à l'étape précédente en considérant les super-symboles comme des symboles. On s'arrête lorsqu'on est arrivé à la racine de l'arbre.

  11. Algorithme de Huffman (suite) Application de l’algorithme sur l’exemple précédent Longueur moyenne d'un code

  12. Compression RLE(Run Length Encoding) Cette méthode très simple consiste à remplacer une répétition de pixels voisins par un facteur de répétition et une valeur à répéter. Le taux de compression est moyen dépendant beaucoup des images à compresser. Exemple de forte compression : Image compressée sur 684 octets en GIF

  13. Compression destructrice (avec perte)

  14. Codage DCT(Discrete Cosinus Transform) L’image est découpée en blocs fixes, par exemple 8x8 Chaque bloc est codé par les coefficients de sa décomposition à partir de toutes les valeurs possibles (blocs à gauche) D’où une combinaison linéaire avec un coeff de poids fort DC et d’autres notés AC

  15. Codage DCT (2) À gauche : image avec coeff DC seuls (blocs de niveaux de gris) À droite : image avec DC et 9 AC

  16. Codage DCT (3) • Quantification : beaucoup de coefficients presque nuls assimilés à 0; les autres sont « arrondis » • D’où compression par entropie efficace : beaucoup de valeurs répétées • Méthode de compression donne des ratios de 10 ou 20 avec des pertes acceptables

  17. Codage DCT (4) Formules de conversion en DCT F étant la matrice des coeff DC,AC…. Img celle bu bloc de NxN • Directe • Inverse Noter la symétrie des formules : temps de compression/décompression comparables Des algorithmes simplifient les calculs qui sont souvent directement exécutés par des instructions dites multimédia des processeurs

  18. Compression JPEG • Norme ISO définie par un groupe d’experts : « Joint Photographic Experts Group » • Image découpée en blocs souvent 8x8 codés séparément • Norme complexe avec beaucoup de variantes prévues ( y compris une compression sans perte)

  19. Compression JPEG (2) • Les coefficients DC, AC calculés sont ordonnés dans une table dite Zigzag • Les coefficients DC, AC sont arrondis suivant une table dite de quantification précisée dans la norme

  20. Compression JPEG (3) • Les coefficients DC et AC sont codés séparément • Les DC voisins étant souvent de niveaux comparables sont codés en différence avec le précédent • Beaucoup de 0 se répétant dans les AC, ceux-ci sont codés en RLE • Les valeurs finales sont codées par entropie et un algorithme de Huffman

  21. Compression JPEG (4) • Résultats : des compressions pouvant aller jusqu’à des ratios de 10 ou 20 suivant l’image • La compression (et donc la perte) est réglable suivant la quantification choisie, les coefficients AC gardés… • Défauts visibles : blocs 8x8, lignes doublées, artefacts Compression par 9 Compression par 15

  22. Compression de séquences d’images

  23. Image de « différences » • Beaucoup de valeurs inchangées entre deux images successives (valeurs grisées ici)

  24. Estimation du mouvement • Recherche dans les images successives de zones qui sont déformées géométriquement : translation, homothétie • Codage très compact des seuls vecteurs de déformation

  25. Estimation du mouvement (2) Champs de vecteurs de mouvement

  26. Compensation du mouvement • Estimation du mouvement entraine des erreurs : les différences entre les valeurs réelles et l’estimation sont codées en DPCM • Schéma d’un codeur vidéo (le « frame store » conserve l’image reconstituée précédente pour compenser exactement les différences) Codeur proche du H.261 utilisé en vidéo-conférence

  27. Norme MPEG-1 • Norme ISO définie par le « Motion Pictures Experts Group » • Estimation et compensation de mouvements bidirectionnels (vers l’avenir et aussi le passé) • Trois type d’images codées • I pour « Intra-pictures » : images complètes codage DCT voisin du JPEG • P pour « forward Predicted pictures » : images prédites à partir de la dernière image I ou P • B pour « Bidirectionnally predicted pictures »

  28. Norme MPEG-1 (2) • Schéma de compression d’images successives appelés « GOP » (Group Of Pictures) comme IBPBPBI….. • Le GOP doit s’adapter aux séquences à coder

  29. Norme MPEG-2 • Norme de codage de flux télévision (broadcast) • Compression/décompression hardware dans les « décodeurs » • Codage vidéo et audio (comme MPEG-1) • Nombreux paramètres permettant d’adapter le flux aux besoins (échelle, définition jusque HDTV, codage couleur 4:2:2 ou autres….)

  30. Nouvelles normes • MPEG-4 de l’ISO : intégration de contenus, réseaux interactifs… • H 26X de l’ITU norme de vidéoconférence très bonne en compression

  31. Démonstrations Essais Vidéos MPEG Essais Vidéoconférence

More Related