les normes de compression JPEG et MPEG La compression JPEG Le mode de compressi
les normes de compression JPEG et MPEG La compression JPEG Le mode de compression bien connu JPEG a été normalisé au milieu des années 1980, à l’initiative du Joint Photographic Experts Group. Grace au format JPEG, il est possible de décompresser et de visualiser des images à l’aide d’un navigateur web standard. JPEG permet d’obtenir le degré de compression souhaité : le taux de compression est paramétrable. La compression sélectionnée est directement liée à la qualité de l’image voulue. Outre le degré de compression, l’image elle- meme influence également le taux de compression obtenu. Par exemple, un mur blanc peut produire un fichier image de taille relativement petite (et un taux de compression élevé), tandis que le meme degré de compression appliqué à une scène complexe et chargée produira un fichier de plus grande taille, avec un taux de compression plus faible. . Le codage YUV La compression JPEG peut s'appliquer à des images monochromes (luminance seule) ou à des images couleurs RGB (3x8 bits pour les trois composantes rouge, vert et bleu). Elle est toutefois le plus souvent appliquée au images codées en YUV, comme les images PAL de nos TV, car le taux de compression obtenu est meilleur. la correspondance entre RGB et YUV est univoque et réversible : Y = luminance, U = R-Y, V=B-Y. Toutefois, on constate que les signaux de chrominance renferment le plus souvent beaucoup moins d'informations que la luminace et on ne les code donc que sur une résolution inférieure de moitié en vertical. Ce codage particulier est appelé 4:2:2, ce qui décrit la proportion de bits utilisés pour décrire les trois composantes YUV à l'intérieur du signal. Cette décimation des informations de couleur est en général assez peu perceptible (on l'utilise en studio). On utilise ausii un codage 4:2:0 qui réserve encore moitié moins de place aux informations de couleur. La dégradation de qualité étant plus importante, cette compression n'est utilisée que pour la diffusion finale quand le signal ne doit plus être considéré comme une 'source' d'information susceptibler d'être réutilisée. La compression JPEG : Décomposition en blocs L'image est découpée en blocs carrés de 8 pixels. Une image TV PAL standard (dite aussi CCIR 601) de 720x576 pixels codée en YUV 4:2:2 donnera donc 6480 (90x72) blocs pour la luminance Y et 3240 (90x36) blocs pour chacune des composantes U et V. Les images fixes JPEG de taille quelconque seront coupées de la même manière, après arrondi de leur taille au multiple de 8 le plus proche. On obtient donc par image 6480 blocs de valeurs de 0 à 255 pour la luminance Y et 3240 blocs de valeurs de -128 à +127 pour les signaux de chrominance U et V. La compression JPEG : Transformation DCT La transformée DCT (Direct Cosine Transform) est un cas particulier de la transformée de Fourier, qui dans certaines conditions, décompose le signal en une série de fonctions uniquement cosinus et en phase avec le signal d'origine, ce qui réduit de moitié le nombre des coefficients nécessaires. Dans le cas des images, on utilise une DCT bidirectionnelle qui transformera un bloc de NxN pixels (de luminance ou de chrominance) en un autre bloc de NxN coefficients correspondant à l'amplitudes des fonctions harmoniques dans l'espace transformé Les compressions JPEG et MPEG ont choisi de toujours travailler sur des blocs de 8x8 pixels. Le premier coefficient, en haut à gauche de la matrice, représente la composante continue. L'élément en bas à droite, celui de fréquence la plus élevée dans les deux directions. En général, l'élément (0,0 a une valeur élevée et les autres des valeurs beaucoup plus faibles, voire nulles. Ceci dépend bien sûr de contenu de l'image. On constate très généralement que la quasi totalité de l'information contenue dans l'image se concentre dans le coin supérieur gauche de la matrice des coefficients. On notera que la DCT est réversible et ne réduit pas la qualité de l'image, mais elle la rend beaucoup plus facile à comprimer par les étapes suivantes. Figure 1: Codage DCT La compression JPEG : Seuillage et quantification C'est ici que l'on réduit vraiment la quantité d'information de l'image et donc que l'on dégrade le signal original. Le seuillage consiste à mettre à zéro toutes les valeurs de la matrice inférieures à un seuil donné. Plus celui-ci est élevé, plus la compression sera forte. La quantification réduit les nombres restant à un petit nombre de valeurs discrètes. La composante continue (coin supérieur gauche de la matrice) est codé différemment car on lui demande une beaucoup meilleure précision que les autres. Il est codé en DPCM (Differential Pulse Code Modulation) c'est à dire en ne traitant que la différence par rapport à la valeur au bloc précédent. Dans l'exemple de la figure ci-dessus, si le seuil est à 10, il ne reste que 11 coefficients non nuls sur les 64. La quantification diminuera le nombre de valeurs différentes présentes dans la matrice, ainsi par exemple, 12 sera assimilé à 14 et 20 et 21 seront considérés comme identiques. La composante continue (987 dans l'exemple) sera codée comme valant un nombre de petite taille, différence entre 987 et la luminosité moyenne du bloc précédent dans l'image. La compression JPEG : Lecture en zigzag Les valeurs de la matrice sont ensuite lues et rangées dans une table à une seule colonne. On lit les valeurs en zigzags inclinés à 45° en commençant par le coin supérieur gauche et en finissant en bas à droite. De cette façon le vecteur des valeurs contient presque toutes ses valeurs non nulles au début et presque toujours un grand nombre de zéros à la fin. Ceci facilite de nouveau les étapes de compression suivantes. La compression JPEG : Codage VLC Cette dernière étape utilise le codage entropique et code les valeurs numériques les plus fréquentes avec un nombre de bits faible et les valeurs les plus rares avec un nombre de bits plus élevé. Le taux de compression des deux étapes RLC et VLC est de l'ordre de 60 à 70% dans les cas usuels. Cette compression se fait sans pertes (les pertes sont faites lors du seuillage et de la qualtification). Figure 2- Comparaison des images JPEG compressées La compression MPEG Nous avons évoqué précédemment le principe de base de la compression vidéo, à savoir la diminution de la redondance spatiale d'une part et de la redondance temporelle d'autre part. Nous allons étudier ici en détail ce principe dans MPEG. Le codage spatial Le flux de sortie de MPEG comporte trois types d'images : les images I (intracodées), les images P (prédictives) et les images B (bidirectionnelle). Etudions tout d'abord les images I. Comme nous l'avons déjà dit, il s'agit d'images complètes codées en JPEG. Sans entrer dans les détails de la compression JPEG, l'algorithme de compression d'une image fixe s'effectue en quatre étapes : transformation en cosinus discrète (DCT, pour Discrete Cosinus Transform), quantification, codage en longueur de plage (RLC, pour Run Length Coding) et codage de Huffman. Vous pourrez trouver sur le web ou dans la littérature beaucoup d'informations sur la compression d'images fixes. Typiquement, une image I est intercalée dans le flux vidéo toutes les 10 à 15 images. Avec un débit de 25 à 30 images par seconde, cela veut dire qu'il y a 2 ou 3 images I par seconde dans le flux. Trois raisons principales font que les images I sont indispensables. Tout d'abord, MPEG-1 peut être utilisé pour faire de la diffusion multi-destinataires, chaque utilisateur pouvant se connecter à tout moment. Si toutes les images dépendaient de la précédente, en remontant ainsi jusqu'à la première, et que l'on ait manqué la première, on ne pourrait plus décoder le flux. D'autre part, si une image était erronée, on serait bloqué de la même manière. Enfin, les images I permettent la lecture avant ou retour rapide, sans que le décodeur ait besoin de calculer chaque image survolée. Le codage prédictif Les images P (images prédictives) sont codées par rapport à l'image précédente. Elles ne codent en fait que la différence bloc par bloc avec l'image précédente. On recherche donc dans l'image précédente un macrobloc identique ou semblable pour optimiser le codage. La différence entre les deux images est ensuite codée spatialement, comme les images I. Figure 3- La compression temporelle : on code la différence entre deux images. Le résultat est compressé spatialement La figure 7 illustre un exemple dans lequel les images P sont très utiles. Nous avons trois images consécutives qui ont le même arrière-plan mais diffèrent par la position d'un animal. Les macroblocs qui représentent l'arrière-plan restent les mêmes d'une image à l'autre, mais ceux qui contiennent l'animal devront être décalés d'une certaine valeur qui est à calculer. Figure 4 - Trois images consécutives dans une séquence vidéo Cette technique est appelée la compensation de mouvement. Quant un macrobloc est compressé par cette technique, le fichier ainsi compressé contient les informations suivantes : - un vecteur de déplacement entre le macrobloc de référence et le macrobloc qui va être codé. Ce uploads/S4/ les-normes-de-compression-jpeg-et-mpeg.pdf
Documents similaires
-
43
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 17, 2022
- Catégorie Law / Droit
- Langue French
- Taille du fichier 0.2850MB