Traitement et éléments du codage vidéo Jenny Benois -Pineau Université Bordeaux -1 C4
Codage par transformées(1) Objectifs : représenter le signal image/vidéo, le signal d’erreur de compensation du mouvement sur une base orthogonale Les coefficients du développement sur la base ensuite seront quantifiés. Les critères de choix des transformées pour le codage : Coefficients doivent être décorrélés; Compactage de l’énergie : maximum de l’énergie dans un nombre faible des coefficients Transformées : Karhunen-Loeve – optimale, mais elle n’est pas utilisée en pratique car ces fonctions de base dépendent de l’image – même et donc doivent être re-calculées et retransmises
Codage par transformées(2) Autres transformées : Hadamard, Haar, DFT, Transformée en cosinus discrète (DCT), Ondelettes DCT est le plus efficace et ces performances sont proches à KLT - Ondelettes ont des propriétés intéressantes – »scalabilité »
Transformées orthogonales discrètes Transformée de Fourier discrète Transformée de Fourier inverse Les indices (u,v) sont appelés « fréquences spatiales »
Transformée en cosinus discrète(I) Transformée de Fourier d ’un signal continue réel et symétrique ne contient que les coefficients réels correspondant aux termes cos de la série Fourier; Soit l ’image formée par la réflexion de l ’image initiale par rapport à ses bords est symétrique par rapport au Or est est réel et symétrique
Transformée en cosinus discrète(II) - transformée en cosinus discrète « paire » appliquée aux blocs d ’image 8x8 dans le standard JPEG Ici f(x,y) est le signal centré avec g0 = 128 coefficent « DC » vs « AC »
Transformée en cosinus discrète(III) Image d ’origine Image DC par blocs 8x8
Codage des Images par transformation Du fait de la non-stationnarité du signal d’image, transformations sont effectués dans localement ( dans des blocs n=4,8,16). Découpage en blocs nxn DCT par bloc et Q Codage « symbolique » Codeur Q-1 DCT Inverse Décodage symbolique Fusion des blocs Décodeur
Standard JPEG Joint Photographic Expert Group 1992 Système de base et système étendu Image DCT par bloc Quantification Découpage en blocs 8x8 Image compressée Codage Entropique Balayage Zig-Zag
DCT par bloc Les composantes Y UV (4:2:2) sont traitées séparément Bloc des coefficients DCT Bloc dans l’image f(x,y) = I(x,y) –128 , F(u,v)=DCT[f(x,y)]
Quantification des coefficients(I) Les coefficients DCT des composantes YUV sont quantifiés séparément avec les matrices de quantification Psychovisuelles -quantification entière - matrice de quantification Matrice pour la composante Y 16 11 10 24 40 51 61 12 14 19 26 58 60 55 13 57 69 56 17 22 29 87 80 62 18 37 68 109 103 77 35 64 81 104 113 92 49 78 121 120 101 72 95 98 112 100 99
Quantification des coefficients(II) Matrice pour les composantes U et V Contrôle par le facteur de qualité q appliqué aux matrices. 17 18 24 47 99 21 26 66 56
Codage dans le domaine DCT Arrangement des coefficients quantifiés dans l’ordre de balayage zig-zag – coefficients DC (a00) et AC Codage entropique (Huffman) de e a00
Codage des coefficients AC 1-ère phase : codage des paires des coefficients et du nombre des zéros qui les précèdent. 1 2 3 4 5 6 7 8 9 10 11 12 13 … 64 808 412 0 0 -23 9 0 0 0 0 0 6 0 … 0 808, (0,412), (2, -23), (0,9), (5,6), … EOB 2-ème phase : codage entropique (Huffman) de cette information 1011 412 1001 …
Performances Une bonne qualité visuelle avec 1bps Influence du facteur de qualité : 288x230 195 Ko RVB q = 6 ; 3 Ko q = 84 ; 24 Ko
Codage Vidéo Hybride Principes : - compensation du mouvement et codage des vecteurs de mouvement; - codage par transformation du signal d’erreur de prédiction - rafraîchissement par le codage des images en mode « intra » - familles des codecs vidéo MPEG, H.26x
Schéma générique des codeurs hybrides avec la compensation du mouvement Codage du mouvement Codage spatial par transformées Prédiction par mvt Image précédente Estimation du mvt Décodage + - t=0?
Standards MPEG1,MPEG2 Généralités Modes de codage et architecture du train binaire Codage en mode Intra –Image ( I) Codage par prédiction basée mouvement Inter-Image (P) Codage avec l’interpolation bi-directionnelle (B) GOP – group of pictures I B P
Structure hiérarchique des macroblocs Macroblock : 16x16 pixels Block : 8x8 pixels Codage du mouvement : - sans pertes, 1 vecteur du mouvement par macroblock - pas de codage du mouvement pour des certains MB (images P et B) Codage de la « texture » : DCT, quantification et codage entropique par block (images I, P, B)
Vecteurs du mouvement MPEG2 Hiragasy, SFRS
Famille MPEG, H.26X + Codage Entrop. Q Zig- Zag DCT - Décodage t=0? + Image précédente Prédiction par mvt Estimation du mvt Décodage Codage du mouvement