1 / 83

La compression MPEG

La compression MPEG. A. Quidelleur SRC2 Meaux 2008-2009 Culture Scientifique et Traitement de l’Information Numérisation des systèmes audio et vidéo. Plan. Rappels sur la vidéo numérique Enjeux et principes de la compression vidéo

didina
Download Presentation

La compression MPEG

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. La compression MPEG A. Quidelleur SRC2 Meaux 2008-2009 Culture Scientifique et Traitement de l’Information Numérisation des systèmes audio et vidéo MPEG

  2. Plan • Rappels sur la vidéo numérique • Enjeux et principes de la compression vidéo • Principes de la compression des images basée sur la DCT - Compression JPEG (rappels) • La compression MJPEG • La compression vidéo MPEG1 - 2 • Etapes de la compression • Caractéristiques de MPEG1 et MPEG2 • La compression audio MPEG1 - 2 • La compression MPEG4 MPEG

  3. Rappels sur la vidéo numérique MPEG

  4. Définition spatiale de la TV • Entrelacement : les images sont constituées de 2 trames, affichées successivement à l’écran. MPEG

  5. Les structures d’échantillonnage 4:4:4 4:2:2 4:2:0 4:1:1 • Exploitent la plus grande sensibilité de l’œil à la luminance qu’à la chrominance Mesure de Y, Cr et Cb Mesure de Y uniquement MPEG

  6. Les autres formats MPEG

  7. Profondeur de codage Quantification de la luminance (TV num) Quantification de la chrominance (TV num) MPEG

  8. Multiplexage du flux vidéo production (diffusion) MUX (8) 10 Y CAN (8) 10 R-Y CAN (8) 10 CAN B-Y Cb0, Y0, Cr0 – Y1 – Cb2, Y2, Cr2 – Y3 – Cb4, Y4, Cr4 1er prélèvement d’échantillon 2ème prélèvement d’échantillon 3ème prélèvement d’échantillon MPEG

  9. Enjeux et principes de la compression vidéo MPEG

  10. Enjeux • Occupation spectrale d’un signal numérique >> signal analogique  problèmes pour • Le stockage • La transmission • Le temps de traitement • Ex. : 1h vidéo non compressée = 1Go, 1h TVHD non compressée = 800 Go • Or l’information numérique est représentée par une succession de « signes ». Tous ces signes sont-ils indispensables ? • La théorie de l’information tente d’extraire les signes pertinents de l’information et d’abandonner la redondance pour réduire le débit ou la capacité de stockage d’un signal. MPEG

  11. Stratégie • Deux stratégies de réduction de débit • Sans perte : l’information compressée est intègre  données informatiques • Avec perte : après compression, on ne peut reconstituer intégralement l’information originale  suffisant pour l’audio et la vidéo. Meilleure réduction de volume en général. • La compression avec pertes fragilise l’information transmise. •  La redondance peut servir à retrouver l’information malgré les erreurs. Ex : répétition du même signe 10 fois  9 pertes de signes tolérées. • Après compression, les échantillons successifs ne sont plus liés, pas d’interpolation possible  Besoin un code correcteur d’erreurs. Cependant, le gain obtenu par compression est toujours supérieur à la redondance introduite par le code correcteur d’erreurs. MPEG

  12. Rapport de compression (ou taux de compression) • Noté :1, ce qui signifie réduction d’un facteur . MPEG

  13. Application à l’audio et la vidéo • Beaucoup de redondance dans les phénomènes naturels (sons et images non synthétisés). • Vidéo = son + image • Dans une vidéo, où se trouve la redondance ? • Dans le son, redondance temporelle. • Dans l’image, redondance • spatiale (deux pixels voisins sont généralement assez semblables) • temporelle (peu de différence entre l’image N et l’image N+1) • fréquentielle : l’énergie d’une image est concentrée essentiellement dans les basses fréquences, tandis que les hautes fréquences participent peu au sens. MPEG

  14. Application à l’audio et la vidéo • Comment compresser une vidéo ? • En exploitant la redondance de l’image TV • En utilisant des codages plus adaptés, utilisant moins de bits • Où compresser ? • En environnement studio : pour l’enregistrement et le stockage uniquement. Inutile pour les liaisons entre équipements (d’autant que compressions avec perte/décompression successives dégradent la qualité du signal). • En transmission et en diffusion. MPEG

  15. Comment compresser une vidéo ? • Corrélation spatiale : Dans une image, il y a beaucoup de plages uniformes  exploité par la Transformée en Cosinus Discrète. • Corrélation temporelle : D’une image à la suivante, il y a peu de changements ; on transmet uniquement la différence entre imagesCompensation de mouvement. • Redondance subjective : On tient compte de l’acuité visuelle. Les détails fins n’ont pas besoin d’être codés avec autant de précision que les parties essentielles Quantification. • Redondance statistique : Certains mots reviennent plus fréquemment que d’autres Codage entropique. MPEG

  16. Principes de la compression des images basée sur la DCT – Compression JPEG (rappels) MPEG

  17. La compression JPEG • Voir matière Les images informatiques et leurs traitements • JPEG (Joint Photographic Expert Group) est une norme ISO de compression d’images fixes avec pertes, standardisée en 1992. • JPEG prend en compte les failles du systèmes de perception humaine, de manière à réduire la quantité d’information de l’image qui sera codée. • L’algorithme de compression repose sur • Une transformation mathématique de l’image : la DCT (Discrete Cosine Transform) • Un codage à longueur variable : le codage de Huffman • Formats source • R, V, B en 4:4:4 • Y, R-Y et B-Y en 4:2:2 MPEG

  18. La notion de fréquences dans une image T • Si l’œil parcourt de gauche à droite cette image, sensation de variation cyclique de la luminance. Il existe une période spatiale horizontale. La fréquence spatiale représente le nombre de cycles par unité de longueur. • La période spatiale verticale par contre est nulle. Image • Une image peut présenter une fréquence spatiale horizontale et une fréquence spatiale verticale. • Pour les signaux temporels, on utilise la transformée de Fourier pour passer dans le domaine des fréquences. • Pour les images, on peut, entre autres, passer dans le domaine des fréquences par la Transformée en Cosinus Discrète (TCD, ou DCT – Discrete Cosin Transform) MPEG

  19. La Transformée en Cosinus Discrète dans la norme JPEG • La DCT porte sur des blocs de 88 pixels. Image INA Formation MPEG

  20. La Transformée en Cosinus Discrète dans la norme JPEG Fréquences H Coefficient DC HF DC Fréquences V Coefficients AC HF • La DCT fournit une représentation spectrale bidimensionnelle ( H et V) du bloc. • Le bloc est décomposé en une combinaison linéaire de « fonctions » images de base, de la même manière que la transformée de Fourier décompose un signal temporel en une somme de fonctions sinus et cosinus. DCT 64 coefficients transformés représentant les différentes composantes fréquentielles présentes dans le bloc 88 DCT-1 Bloc de 64 pixels représentant les échantillons d’amplitude MPEG

  21. La Transformée en Cosinus Discrète dans la norme JPEG • Les « fonctions » de base de la DCT sont représentées dans le tableau ci-dessous (ici pour la composante de luminance si le format d’entrée est YCrCb). • Chaque coefficient de la DCT représente la contribution de l’image située à la même place dans la matrice dans la construction de l’image. Exemple : Un extrait de la matrice des coefficients DCT d’un bloc de pixel est le suivant (0 dans toutes les autres cases) Cela signifie qu’il faut « superposer » 2 images I0,0, 1 image I1,0 et 3 images I1,0 pour créer le bloc. MPEG Fonctions de base

  22. Calcul des coefficients DCT (à titre indicatif) Valeur de la composante du pixel situé ligne x et colonne y N = 8 dans la norme JPEG Calcul du coefficient situé ligne u et colonne y dans la matrice DCT • DCT • DCT-1 Où la fonction C() est définie par : MPEG

  23. Calcul des coefficients DCT : un exemple simple 0 1 2 3 • Pour l’exemple, bloc de taille 44. • Calcul sur la luminance Y Coefficients Y de luminance du bloc Coefficients DCT correspondants 0 1 2 3 y v 0 0 1 1 ? 2 2 3 3 x u MPEG

  24. Calcul des coefficients DCT : un exemple simple • Calcul du premier coefficient DCT 5,5 MPEG

  25. Calcul des coefficients DCT : un exemple simple • En répétant la formule pour tous les coefficients DCT, on obtient : • En pratique, le calcul est toujours fait par ordinateur ou par un circuit électronique dédié !!! v 0 1 2 3 0 1 2 3 u MPEG

  26. Propriétés de la DCT Composante continue H Composantes basses fréquences Composantes hautes fréquences V • On constate que les coefficients hautes fréquences portent les informations de détails de l’image. • Ainsi, les blocs des zones homogènes d’une image ont des coefficients non négligeables en BF, et négligeables en HF (exemple 1) • Seuls les blocs des zones très hétérogènes ont des coefficients importants en HF (exemple 2) MPEG Exemple 1 Exemple 2

  27. Application à la compression Exemple 1 Exemple 2 • Puisque les hautes fréquences portent l’information de détail de l’image, on va diminuer leur valeur, voire l’annuler. C’est l’opération de quantification. • L’image va être dégradée, mais compte-tenu de l’imperfection de l’œil humain, cette dégradation sera peu ou pas perceptible (tout dépendra de la sévérité de la quantification). MPEG Images INA Formation

  28. La quantification Exemple : Table Q1 • La norme JPEG fournit des tables, qui permettent de retoucher la valeur des coefficients DCT de manière à diminuer la valeur de ceux qui contribuent le moins au sens de l’image. • Les coefficients de haute fréquence sont les plus réduits. Le rapport de compression dépend directement de la table utilisée. MPEG

  29. Quantification Exemple : Table Q2 • Des tables de quantification sont définies pour chaque composante (Y, Cr et Cb). • La quantification est moins sévère pour la luminance car l’œil y est plus sensible. Image INA Formation MPEG

  30. Illustration de l’effet de la quantification fh fh Conservation des 64 coefficients = quantification sans perte Conservation de 32 coefficients fv fv Images INA Formation MPEG

  31. Illustration de l’effet de la quantification Conservation de 8 coefficients Conservation de 4 coefficients fh fh fv fv Images INA Formation MPEG

  32. Illustration de l’effet de la quantification fh fv • A retenir : Un codeur peut travailler • À taux de réduction constant (au détriment de la qualité) • A qualité constante : la performance du codeur en matière de taux de réduction risque d’être médiocre. • Ne pas oublier que la nature de l’image intervient sur l’efficacité de la compression ! Une image simple peut être de bonne qualité avec un fort taux de réduction. Pour ce même taux, une image complexe sera certainement de piètre qualité… Conservation d’un unique coefficient = la composante continue (DC) Image INA Formation MPEG

  33. Le codage • Les coefficients de la DCT sont balayés en zig-zag, des basses fréquences vers les hautes fréquences. • Les suites de 0 sont transmises sous forme condensée : couple (nb de « 0 » précédant le coeff non nul, coeff). • Dans l’exemple : 0 60 0 29 0 16 0 41 0 26 0 23 4 10 2 7 0 15… • Puis codage à longueur variable : les valeurs les plus courantes sont codées par un mot court, les valeur les plus rares sont codées par un code long. (Principe du code Morse, ex. « e » = . et « q » = --.-). • C’est le code de Huffman qui est employé MPEG

  34. Pour résumer : algorithme de compression JPEG • Décomposition en blocs de 88 pixels par composante. • Passage du domaine spatial au domaine fréquentiel par DCT. • Quantification et seuillage des coefficients DCT. • Balayage en zig-zag. • Codage entropique MPEG

  35. Synoptiques fonctionnels d’un codeur et d’un décodeur JPEG codeur Image compressée JPEG DCT Quantification Codage entropique Découpage en blocs 88 tables tables décodeur Image compressée JPEG DCT-1 Décodage entropique Déquantification Bloc reconstitué tables tables MPEG

  36. La compression MJPEG MPEG

  37. MJEPG • Moving JPEG (MJPEG) n’est pas une norme !! C’est un algorithme propriétaire, donc inadaptable d’un appareil à l’autre. • MJPEG permet de compresser les images successives d’une vidéo comme si celles-ci étaient chacune une photo. • Origine : Le montage d’images compressées dépendantes les unes des autres est difficile car il y a rupture de la séquence. Les monteurs ont appliqué la compression JPEG individuellement aux photogrammes constituant une vidéo  « MJPEG ». MPEG

  38. Fonctionnalités d’un codeur MJPEG Flux numérique à débit constant DCT Régulation du débit Codage à longueur variable Quantification Mémoire tampon Débit constant Débit variable • Afin de garder un débit constant, le signal est stocké dans une mémoire tampon. • Lorsque la mémoire déborde (par exemple, car images complexes donc DCT large) on sous-quantifie les prochaines images en changeant de table de quantification, voire on supprime certaines images. • Les tables utilisées sont celles normalisées dans MPEG. MPEG

  39. La compression vidéo MPEG 1-2 Etapes de la compression Spécificités des normes MPEG1 et MPEG2 MPEG

  40. Principe de la compression MPEG • La compression repose sur la transformation DCT de l’image, comme dans JPEG. • L’algorithme part du principe que deux images successives dans une vidéo se ressemblent  on peut alors transmettre uniquement les informations qui ont changé entre les deux images. • Ainsi, les images d’une vidéo peuvent être codées de deux manières : • En intra : c’est-à-dire, comme une photographie indépendante des autres images de la vidéo, selon un algorithme identique à celui de JPEG. • En prédiction : on ne transmet que les différences (compressées) entre l’image courante et l’image intra la précédant (ou la suivant). MPEG

  41. La compression MPEG S2 Bloc à coder S1 Bloc de référence Forward prediction t • Mesure de la différence entre deux images successives • Image S1 codée en intra. • Calcul pour chaque bloc de 88 pixels l’erreur  = S2-S1.  est une matrice de 88 valeurs. • Si les deux images se ressemblent, les coefficients de la matrice sont proches. • Calcul de la DCT de la matrice . • Si les deux images se ressemblent, les coefficients basse fréquence de la matrice  sont plus importants que les coefficients haute fréquence. • Donc on peut les quantifier efficacement (i.e. sans perdre trop d’information). • Au lieu de transmettre l’image S2, on transmet la matrice des coefficients DCT de  quantifiés, qui est bien moins volumineuse. MPEG

  42. La compression MPEG S2 Bloc à coder S1 projection t V Bloc de prédiction • Estimation du mouvement subi par les blocs Compensation de mouvement • Si beaucoup de mouvement, • S2 est très différente de S1 • Les coefficients de la matrice  sont très différentes • Les coefficients DCT haute fréquence de  sont non négligeables : on ne peut pas les quantifier sans dégradation importante. •  Le codeur va estimer le déplacement du bloc dans l’image. • Le codeur ouvre une fenêtre de recherche dans S1 autour du bloc de référence. • Il balaie la fenêtre et calcule  pour chaque bloc rencontré dans la fenêtre l’erreur (opération de block matching). • Le bloc de S1 qui minimise l’erreur est retenu. • Le codeur transmet • Les coefficients DCT quantifiés de la matrice d’erreur • Le vecteur de mouvement du bloc.

  43. Illustration de la Forward Prediction Image INA Formation MPEG

  44. Illustration de la compensation de mouvement En réalité, on ne transmet pas un vecteur de mouvement pour chaque bloc, mais pour chaque macro-bloc = 4 blocs adjacents. MPEG

  45. Les types d’images d’une séquence codée en MPEG • Dans une même séquence vidéo, trois types de codage des images : • Image I : en Intra • Image P (prédite, forward prediction ) : par rapport à une image passée • Image B (bidirectionnelle, forward prediction et backward prediction) : par rapport à une image passée et une image future. Le codeur transmet la moyenne des erreurs et transmet les 2 vecteurs. • Le codeur choisit le mode de prédiction le plus rentable. • A l’intérieur d’une image P : macroblocs I ou P. A l’intérieur d’une image B : macroblocs I, P ou B. • En moyenne, pour un même contenu, • volume(P) = volume(I) / 2 • volume(B) = volume(I) / 4 • Mais dépend de l’algorithme utilisé par le constructeur.

  46. Le GOP 12 GOP(3,12) 3 12 GOP(2,12) 2 2 GOP(?,2) • Le GOP (Group Of Picture) définit l’enchaînement des images I, P et B dans le flux vidéo. • Le GOP commence toujours par une image I. • On note GOP(M,N), où M est la distance entre deux images P et N la distance entre deux images I. • Question : Un monteur peut-il travailler sur des vidéos dont les GOP sont représentés ci-dessous ? MPEG

  47. Réarrangement du GOP réarrangement • Si l’enchaînement des images contient des images B, le codage et décodage ne peuvent être effectués dans l’ordre d’arrivée de la séquence : réarrangement préalable des images. MPEG

  48. Synoptique du codeur MPEG Réduction des redondances temporelles Flux numérique à débit constant DCT Seuils de quantification Régulation du débit Codage à longueur variable Quantification Mémoire tampon Débit constant Débit variable MPEG

  49. La compression vidéo MPEG 1-2 Etapes de la compression Spécificités des normes MPEG1 et MPEG2 MPEG

  50. Paramètres des normes MPEG • Structure d’échantillonnage • En théorie, un algorithme de compression MPEG accepte n’importe quel format en entrée (4:2:2, 4:2:0, SIF, SDTV, HDTV, …). • La restriction se fait au niveau des profils (recommandations) décrits dans les normes. MPEG

More Related