Groupe des Ecoles des Télécommunications Institut National des Télécommunications Codage Vidéo MPEG-4 Marius Preda Unité de Projets ARTEMIS Advanced Research & TEchniques for Multidimensional Imaging Systems
Situer MPEG ISO, IEC Organizations ISO - International Standards Organization SC24 Computer graphics and image processing GKS, PHIGS, CGM, VRML, X3D WG1 Coding of still pictures JTC1 Over 244 technical committees IEC - International Electrotechnical Commission SC29 Coding of audio, picture, multimedia and hypermedia WG11 JPEG Coding of moving pictures and audio MPEG ISO/IEC JTC1/SC29/WG11 = MPEG
Situer MPEG-4 The MPEG family MPEG MPEG-1 ISO/IEC 11172 92 CD-Rom movies Movie trailers MPEG-2 ISO/IEC 13818 94 DVDs Digital Broadcasts (cable/sat) MPEG-4 ISO/IEC 14496 99 Interactive TV Web applications 2D/3D applications Rich Media MPEG-7 ISO/IEC 15938 01 Content description Multimedia database searches MPEG-21 ISO/IEC 21000 02 Multimedia terminal specification
Caractéristiques ristiques MPEG-4 Objets MPEG-4 Naturels - image fixe, audio, vidéo o 2D/3D Synthétiques tiques - audio, objets, scènes 2D/3D Objectifs de MPEG-4 Technologies support pour la compression efficace de données et leur transmission Compression Compression Compression Terminal MPEG-4 Composition, au niveau de l utilisateur, l d objets naturels et de synthèse se au sein de scènes hybrides interactives
Caractéristiques ristiques MPEG-4 Composition des médiasm Scene Description Stream Interactive Scene Description Couche scène Object Descriptor Stream Couche description d objets MPEG-4 stream Visual Stream Visual Stream Couche Médias Visual Stream Audio Stream
L offre MPEG-4 4 en compression Média naturel: fonctionnalités s de base Audio (AAC) Vidéo (V2, AVC) Image (VTC)
L offre MPEG-4 4 en compression Média naturel: fonctionnalités s avancées 160 kbps Vidéo de forme arbitraire 100 kbps
Spécifications MPEG-4 Les différentes parties du standard MPEG-4 Part 1 Systems (2001) Part 2 Visual (2001) Part 3 Audio (2001) Part 4 Conformance (2002) Part 5 (2002) Reference Software Part 6 DMIF - Delivery Multimedia Integration Framework (2000) Part 7 (2002) Optimized Software Part 8 MPEG 4 on IP (2002) Part 9 (2003) Reference Hardware Part 10 Advanced Video Coding (AVC) joint with ITU-T (2003) Part 11 Scene Description and Application Engine Part 12 ISO Base Media File Format Part 13 IPMP Extensions Part 14 MP4 File Format Part 15 Advanced Video Coding File Format Part 16 Animation Framework extension (AFX) Part 17 Streaming Text Format Part 18 Font Compression and Streaming Part 19 Synthesized Streams Part 20 LASER
Spécifications MPEG-4 Objets du cours ISO/IEC 14496-2:2004 ISO/IEC 14496-10:2004 Coding of audio-visual objects, Part 2, Visual Coding of audio-visual objects, Part 10, Advanced Video Coding
Compression vidéo Pourquoi compresser la vidéo?! Le film: L image La frequence En minutes La durée Le pixel Le DVD : 4.5 Go 34 Le CD : 650-700 Mo 222 Le ADSL : 0.25 Mo/s 118 * 156 Go (=29,66 Mo/s)
Compression vidéo Comment est possible de compresser la vidéo?! Redondance spatiale Redondance temporelle
Compression du signal Architecture générique Prédiction Transformation Quantification Codage entropique
MPEG-4 4 Part 2, Visual Types des données visuelles Image rectangulaire Objet de forme arbitraire Masque binaire Masque en niveaux de gris Information à coder: la texture Information supplémentaire à coder: la forme
MPEG-4 4 Part 2, Visual Codage de la texture : préparation des données R Y G U Image Initiale B V Y = 0.299*R + 0.587*G + 0.114*B U = -0.169*R - 0.331*G + 0.500*B + 128.0 V = 0.500*R - 0.419*G - 0.081*B + 128.0 R = Y + (1.4075 * (V - 128)); G = Y - (0.3455 * (U - 128) - (0.7169 * (V - 128)); B = Y + (1.7790 * (U - 128);
MPEG-4 4 Part 2, Visual Codage de la texture : préparation des données Y Y Y U Souséchantillonnage U U V V V 4:4:4 4:2:2 4:2:0 La composante Y porte plus d information que les composantes U et V
MPEG-4 4 Part 2, Visual Codage de la texture : les Macroblocks (16x16 pixels) 16x16 pixels Pour des images non multiple de 16, un padding est nécessaire
MPEG-4 4 Part 2, Visual Module Prédiction : GOP GOP Séquence vidéo GOP GOP
MPEG-4 4 Part 2, Visual Codage de la texture : Module Prédiction 1 2-(5+1)/2 5-1 2-5 2-1 En faisant des différences, on diminue la dynamique de l information à coder
MPEG-4 4 Part 2, Visual Module Prédiction avec Compensation de Mouvement + Vx Vy Image Initiale Avec prédiction Avec prédiction et compensation de mouvement La compensation de mouvement diminue encore la dynamique de l information
MPEG-4 4 Part 2, Visual Les vecteurs de mouvement Mode 1MV: un vecteur pour un MB Mode 4MV: un vecteur pour chaque block du MB Les vecteurs sont estimés que pour la composante de luminance Codage différentiel par rapport aux macroblock voisins Estimation à quart de pixel Estimation globale pour l image entière New Mode directe dans la compensation bidirectionnelle Les méthodes d estimation des vecteurs ne sont pas standardisées
MPEG-4 4 Part 2, Visual Estimation à quart de pixel New L estimation à pixel: les VMs sont des nombres entiers - pb pour des mouvements sous pixel entre deux cadres - l erreur de prédiction importante Solution: estimation à demi et à quart de pixel Interpolation bilinéaire Interpolation bilinéaire à voisinage 8 A b B c d D b=(a+b+1)mod(2) A 4 A 3 A 2 A 1 B 1 B 2 B 3 B 4 a C a=(-8a 4 +24A 3-48A 2 +160A 1 +160B 1-48B 2 +24B 3-8B 4 ) mod 256 Demi d=(a+b+c+d+2)mod(4) a c c b d b d b =(a+b+1)mod(2) d =(a+b+c+d+2)mod(4) Quart Augmenter la résolution des VMs, mais réduire l erreur de prédiction
Compression vidéo La prédiction block Inter: vecteurs de mouvement
MPEG-4 4 Part 2, Visual Estimation globale de mouvement New Le même ensemble des paramètres de mouvement pour l image entière Utilisée alternativement avec la compensation locale (MB) pour minimiser l erreur de prédiction 1 à 4 VMs (et leur positions) à transmettre par image au décodeur, interpolation pour chaque MB Très utile pour les mouvements de la camera
MPEG-4 4 Part 2, Visual Mode direct pour la compensation bidirectionnelle New Par rapport à une référence passée Par rapport à une référence future Par rapport à la moyenne entre une référence passée et une future Mode direct MV F MV B MV F =[(t c -t f )/(t b -t f )]*MV+MV D MV MV B =MV F -MV P B B P
MPEG-4 4 Part 2, Visual Module prédiction: schéma block Image courante Estimation de mouvement + - Image(s) de référence Compensation de mouvement Vecteurs de mouvement
Compression du signal Architecture générique Prédiction Transformation Quantification Codage entropique
MPEG-4 4 Part 2, Visual Module transformation: les contraintes Les données dans le domaine transformé doivent être Non corrélées : séparées en composants avec interdépendance minimale Compactes: l énergie doit être concentrée dans un petit nombre des valeurs La transformée doit être réversible La transformée doit être faisable d.p.d.v. temps de calcul Block-based (Karhunen-Loeve, SVD, DCT) / image-based (DWT)
MPEG-4 4 Part 2, Visual Module transformation: DCT Transformée par block Transformée directe: T Y = AXA Transformée inverse: T X = AYA A = C ij i cos (2j+ 1) iπ 2N C C i i 1 =,( i= 0) N 2 =,( i> 0) N
MPEG-4 4 Part 2, Visual Module transformation: DCT Exemple pour block 4x4 A 1 1 1 1 cos(0) cos(0) cos(0) cos(0) 2 2 2 2 1 π 1 3π 1 5π 1 7π cos( ) cos( ) cos( ) cos( ) 2 8 2 8 2 8 2 8 = 1 2π 1 6π 1 10π 1 14π cos( ) cos( ) cos( ) cos( ) 2 8 2 8 2 8 2 8 1 3π 1 9π 1 15π 1 21π cos( ) cos( ) cos( ) cos( ) 2 8 2 8 2 8 2 8
MPEG-4 4 Part 2, Visual Module transformation: DCT Exemple pour block 4x4 A 0.5 0.5 0.5 0.5 0.653 0.271 0.271 0.653 = 0.5 0.5 0.5 0.5 0.271 0.653 0.653 0.271
MPEG-4 4 Part 2, Visual Module transformation: DCT L élément de base: le block à 8x8 pixels 4-12 bits / pixel New Luminance et chrominance pour MB I, l erreur de prédiction pour MB P et B
MPEG-4 4 Part 2, Visual Module transformation: DCT X R X 1c 2c Y 3c 4c Reconstruction à partir d un sous-ensemble des coefficients DCT
MPEG-4 4 Part 2, Visual Module transformation: prédiction spatiale pour MB I Les coefficients DC et certaines coefficients AC entre des blocks voisines Macroblock Prédiction pour les coefficients les plus porteurs d information
MPEG-4 4 Part 2, Visual Modules prédiction et transformation: schéma block Image courante Estimation de mouvement + - DCT Image(s) de référence Compensation de mouvement Vecteurs de mouvement
Compression du signal Architecture générique Prédiction Transformation Quantification Codage entropique
MPEG-4 4 Part 2, Visual Module quantification pour les coefficients DC I Contrôlé par une variable globale (associée au VOP quantiser_scale) Composante DC pour les blocks I : V q =V //( dc_ scaller) Q s 1-4 5-8 9-24 24-31 dc_scaller (lum) 8 2Q s Q s +8 2Q s -16 dc_scaller (crom) 8 (Q s +13)/2 (Q s +13)/2 Q s -6 Perte de l information
MPEG-4 4 Part 2, Visual Module quantification pour les coefficients non DC I Deux méthodes: MPEG-2 et H263 Une variable locale est utilisée dans MPEG-2 Le pas de quantification est différent pour chaque fréquence spatiale MPEG-2 MPEG-2 Perte de l information
MPEG-4 4 Part 2, Visual Modules prédiction, transformation, quantification Image courante Estimation de mouvement + - DCT Q Image(s) de référence Compensation de mouvement Image courante de référence DCT -1 Q -1 Vecteurs de mouvement
Compression du signal Architecture générique Prédiction Transformation Quantification Codage entropique
MPEG-4 4 Part 2, Visual Codeur d entropie pour les coefficients DCT Valeurs des coefficients DCT; La probabilité des coefficients zéros
MPEG-4 4 Part 2, Visual Codeur d entropie pour les coefficients DCT Les coefficients DCT quantifiés sont réorganisés en vecteur 1D Différents types de balayage afin d obtenir des vecteurs courts New New Horizontal Vertical Zigzag Codage pour chaque composante de vecteur (LAST, RUN, LEVEL) par code à longueur variable (code courtes pour les valeurs les plus fréquentes)
MPEG-4 4 Part 2, Visual Codeur d entropie: les symboles Codage pour chaque composante de vecteur (LAST, RUN, LEVEL) par code à longueur variable (code courtes pour les valeurs les plus fréquentes) 16, 0, 0, -3, 5, 6, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0 (0,16,0), (2, -3, 0), (0, 5, 0), (0, 6, 0), (4, -7, 1) No des zéros avant le symbole Indique le dernier symbole non zéro
MPEG-4 4 Part 2, Visual Codage binaire par codes à longueur variable La longueur des codés dépend de la fréquence d apparition des symboles Codage Huffman Symbole -2-1 0 1 2 La probabilité p 0.1 0.2 0.4 0.2 0.1 Longueur idéal du code : log 2 (1/p) 3.32 2.32 1.32 2.32 3.32 (1, 0, -2) -> 0101001 Code 001 011 010 000 0 p=0.4 Dans la pratique on utilise des tableaux des probabilités pre-calculés 1 1 D p=1 B 0 1 p=0.4 1 0-1 1 p=0.2 p=0.2 C p=0.6 0 A p=0.2 1 0-2 2 p=0.1 p=0.1
MPEG-4 4 Part 2, Visual Schéma complet de codage Image courante Estimation de mouvement + - DCT Q Re-order CLV Image(s) de référence Compensation de mouvement Image courante de référence DCT -1 Q -1 Vecteurs de mouvement Stream
MPEG-4 4 Part 2, Visual Types des données visuelles Image rectangulaire Objet de forme arbitraire Masque binaire Masque en niveaux de gris Information a coder: la texture Information supplémentaire a coder: la forme Certaines contraintes pour le codage de la texture
MPEG-4 4 Part 2, Visual Codage de la texture Bounding Box Extended Bounding Box n.16x16 Object 3 types des MBs: Intérieur Codage normal Transparent Pas de codage de texture De frontière re Codage spécifique
MPEG-4 4 Part 2, Visual Codage de la texture : module prédiction Compensation de mouvement Padding pour le MB de référence Horizontal, vertical et moyenne VM Codage différentiel des VMs par rapport aux blocks voisins
MPEG-4 4 Part 2, Visual Codage de la texture : module de transformation La méthode normale avec un padding préalable Transformée DCT adaptée aux formes arbitraires Le padding n est pas standardisé Zéro padding Le même padding que pour la compensation de mouvement Shift + DCT 1D Shift + DCT 1D Parcours en zigzag - les coeff. transp. sont ignorés
MPEG-4 4 Part 2, Visual Codage de la forme Masque binaire : valeurs 0 ou 255 Masque en niveaux de gris: valeurs entre 0 et 255 Pour chacune des deux méthodes MPEG-4 standardise un ensemble des outils spécifiques
MPEG-4 4 Part 2, Visual Codage du masque binaire New Codage par Macroblock Utilisation de la prédiction temporelle (par VOP entier) Utilisation de l estimation et compensation du mouvement (calculés indépendants des VM de la texture) Estimations à demi et quart pixels ne sont pas supportées 4MV n est pas supporté
MPEG-4 4 Part 2, Visual Codage du masque binaire New Codeur arithmétique avec contexte 10 bits 9 bits C=(C 9 C 8 C 7 C 6 C 5 C 4 C 3 C 2 C 1 C 0 ) 2 C=(C 8 C 7 C 6 C 5 C 4 C 3 C 2 C 1 C 0 ) 2 1024 valeurs possible 512 valeurs possible Calcul des probabilités pour chaque symbole Les symboles avec une grande probabilité: des codes courts Possible de coder un symbole avec moins d un bit
MPEG-4 4 Part 2, Visual Codage du masque en niveaux de gris New Association d un masque binaire M b 0, = 255, si si M M g g = 0 ( 0,255] Codage du masque binaire avec la technique précédemment présentée Codage du masque en niveaux de gris comme une texture avc
MPEG-4 4 Part 2, Visual Outils spéciaux de codage New La scalabilité Codage par mosaïques Codage par ondelettes Codage résistant aux erreurs de transmission
MPEG-4 4 Part 2, Visual Outils spéciaux de codage: la scalabilité New Organiser le stream vidéo d une manière "incrémentale" : une couche de base qui contient l information à une résolution/qualité moyenne Des couches d amélioration qui s ajouts à la couche de base pour augmenter la résolution/qualité Approche classique: Approche scalable:
MPEG-4 4 Part 2, Visual Outils spécifiques: la scalabilité New in_1 MPEG-4 Enhancement Layer1 Encoder MPEG-4 Enhancement Layer1 Decoder out _1 in Scalabilit y PreProcessor Mi dprocesssor1 MSDL Mux MSDL Demux Mi dprocesssor1 out p_1 Scalabili t y Post Processor out p_0 in_0 MPEG-4 Base Layer Encoder MPEG-4 Base Layer Decoder out _0
MPEG-4 4 Part 2, Visual Les différents types de scalabilité New Spatiale A B C D A B C D
MPEG-4 4 Part 2, Visual Les relations entre la couche de base et la couche d amélioration
MPEG-4 4 Part 2, Visual Les différents types de scalabilité New Temporelle A B C D
MPEG-4 4 Part 2, Visual Les différents types de scalabilité New En SNR A B C D A B C D
MPEG-4 4 Part 2, Visual Les différents types de scalabilité New En SNR
MPEG-4 4 Part 2, Visual Outils spéciaux de codage: les mosaïques (sprites) New + Un sprite est transmis une seule fois pour un segment vidéo A chaque cadre, l image est obtenue par cropping Le sprite est codé comme une image I
MPEG-4 4 Part 2, Visual Outils spéciaux de codage: les ondelettes New
MPEG-4 4 Part 2, Visual Les ondelettes New
MPEG-4 4 Part 2, Visual Outils spéciaux de codage: les ondelettes New Relation d héritage entre les coefficients de la transformée Transformation: ondelettes biorthogonales (9,3) Codage des coefficients avec le Zero Tree Wavelet Coding Quantification implicite/explicite (dif pour les coeff DC et AC) Scanning et codage arithmétique
MPEG-4 4 Part 2, Visual Outils spéciaux de codage: les ondelettes New Scalabilité hybride spatiale - SNR
MPEG-4 4 Part 2, Visual Outils spéciaux de codage: les ondelettes New Codage par sous-image pour accès direct aux zones specifiques
MPEG-4 4 Part 2, Visual New Outils spéciaux de codage: résistance aux erreurs de transmission Insertions de marqueurs de re-synchronisation dans le flux binaire Partitionnement des données vidéos Extension des codes header Codes VLC réversibles Rafraîchissement intra NEWPRED, pour les communications bidirectionnelles clientserveur
Spécifications MPEG-4 Objets du cours ISO/IEC 14496-2:2004 ISO/IEC 14496-10:2004 Coding of audio-visual objects, Part 2, Visual Coding of audio-visual objects, Part 10, Advanced Video Coding
Spécifications MPEG-4 Advanced Video Coding Résultat des travaux communes - MPEG: Moving Picture Experts Group, et - VCEG: Video Coding Experts Group Publié en commun: - Part 10 en MPEG-4, et - Recommandation H264 en ITU-T
Spécifications MPEG-4 Advanced Video Coding
Spécifications MPEG-4 Advanced Video Coding: les objectives Améliorer l efficacité de la compression: réduction du débit au moins 50% par rapport à tout autre standard Syntaxe simple: cibler les solutions simples et éviter tout caractéristique optionnelle Améliorer le transport sur réseau par une syntaxe approprié du packet VLC pour le transport et le stockage
MPEG-4 4 Part 10, AVC L encodeur (pas de révolution dans le schéma général) RGB Même schéma, différences dans les détails des blocks
MPEG-4 4 Part 10, AVC Le décodeur Même schéma, différences dans les détails des blocks
MPEG-4 4 Part 10, AVC La prédiction Liberté de choisir la direction de prédiction pour les cadres P et B Un cadre B peut être utilisé comme cadre de référence Plusieurs références (même à longue distance)
MPEG-4 4 Part 10, AVC La prédiction block intra Block de 4x4 ou 16x16 pixels Luminance 4x4 : 9 options de prédiction Luminance 16x16 : 4 options de prédiction Chrominance 4x4 : 1 méthode de prédiction Prédiction Intra directement dans l espace initial de l image
MPEG-4 4 Part 10, AVC La prédiction block intra : luminance 4x4: 9 options Prédiction Intra directement dans l espace initial de l image
MPEG-4 4 Part 10, AVC La prédiction block intra : luminance 4x4: 9 options Prédiction Intra directement dans l espace initial de l image
MPEG-4 4 Part 10, AVC La prédiction block intra : luminance 4x4: 9 options Prédiction Intra directement dans l espace initial de l image
MPEG-4 4 Part 10, AVC La prédiction block intra : luminance 16x16: 4 options Prédiction Intra directement dans l espace initial de l image
MPEG-4 4 Part 10, AVC La prédiction block Inter Référence vers une ou plusieurs images de référence Compensation de mouvement en arbre structuré Le MB (16x16) peut être partagé dynamiquement VMs associés avec les bloques (16x16), (8x16), (16x8), (8x8), (8x4), (4x8), (4x4)
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement Deux cadres consécutifs
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement Différence directe
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement Différence avec compensation en mouvement pour block de 16x16
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement Différence avec compensation en mouvement pour block de 8x8
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement Différence avec compensation en mouvement pour block de 4x4
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement 16x16 4x4
MPEG-4 4 Part 10, AVC La prédiction block Inter: exemple de répartition La différence des images (erreur de prédiction) à coder
MPEG-4 4 Part 10, AVC La prédiction block Inter: vecteurs de mouvement Pour chaque block on cherche une référence avec les mêmes dimensions Précision d estimation des vecteurs de mouvement à quart de pixel À démi pixel : filtre FIR (Finite Impulse Response) d ordre 6 À quart de pixel: interpolation bilinéaire supplémentaire
MPEG-4 4 Part 10, AVC La prédiction block Inter: vecteurs de mouvement Codage prédictif des vecteurs de mouvement par rapport aux VMs des blocks voisines: filtre médian La différence des images (erreur de prédiction) à coder
Compression vidéo La prédiction Liberté de choisir la direction de prédiction pour les cadres P et B Un cadre B peut être utilisé comme cadre de référence Plusieurs références (même à longue distance)
MPEG-4 4 Part 10, AVC La transformée en fréquence: 3 options Une transformée 4x4 pour les coefficients DC dans les MB de luminance I (T3) Une transformée 2x2 pour les coefficients DC dans tous les MB de chrominance (T2) Une transformée 4x4 pour les autres MB (T1)
MPEG-4 4 Part 10, AVC T1 - La transformée en fréquence; retour à la DCT?! Concentration de l énergie sur un nombre réduit des coefficients Transforme les entiers en nombre réels (pas besoin d une telle précision car une quantification suive
MPEG-4 4 Part 10, AVC T1 - La transformée en fréquence; retour à la DCT?! = = d=c/b=0.414 L idée: faire d=0.5 La transformée:
MPEG-4 4 Part 10, AVC T1 - La transformée en fréquence: la DCT en «entier» A considérer dans l étape de quantification La transformée C remplace la DCT Pas de multiplication nécessaire, que des shifts et adition/soustraction Les coefficients sont représentés en 16 bits
MPEG-4 4 Part 10, AVC T3 - La transformée des coefficients Y DCT: Transformée Hadamard 4 16 4 16
MPEG-4 4 Part 10, AVC T2 - La transformée des coefficients Cr DCT: Transformée Hadamard 4 8 8 4
MPEG-4 4 Part 10, AVC T1 - La transformée en fréquence: la DCT en «entier» A considérer dans l étape de quantification La transformée C remplace la DCT Pas de multiplication nécessaire, que des shifts et adition/soustraction Les coefficients sont représentés en 16 bits
MPEG-4 4 Part 10, AVC Comparaison entre la DCT et la transformée C 5 11 8 10 9 8 4 12 X = 1 10 11 4 19 6 15 7 DCT C 35.0 0.079 1.5 1.115 T 3.299 4.768 0.443 9.010 Y = AXA = 5.5 3.029 2.0 4.699 4.045 3.010 9.384 1.232 35.0 0.158 1.5 1.107 ' T 3.004 3.900 1.107 9.200 Y = ( CXC ) E f = 5.5 2.688 2.0 4.901 4.269 3.200 9.329 2.100
MPEG-4 4 Part 10, AVC Comparaison entre la DCT et la transformée C 0 0.079 0 0.008 ' 0.295 0.868 0.664 0.190 Y Y = 0 0.341 0 0.203 0.224 0.190 0.055 0.868
MPEG-4 4 Part 10, AVC La quantification Nouvelles contraintes: Pas de division et opération en point flottant Inclure un facteur d échelle donné par les matrices résultées de la transformée 52 valeurs pour le Q step Z ij =round( Yij/ Qstep) Facteur d échelle Z =round( W ij ij PF Q step )
MPEG-4 4 Part 10, AVC Le codage entropique CABAC: Contexte based adaptative Binary Arithmetic Coding VLC : Variable Length Coding
MPEG-4 4 Part 10, AVC Le filtrage à la frontière des blocks Q=32
MPEG-4 4 Part 10, AVC Le filtrage à la frontière des blocks Q=36
MPEG-4 4 Part 10, AVC Le filtrage à la frontière des blocks P3 P3 P2 P1 P0 Q0 Q1 Q2 Q3 P2 P1 P0 Q0 Filtre linéaire d ordre 5, 4 ou 3 en fonction de l endroit de frontière (MB ou B) et du gradient Q1 Q2 Q3
MPEG-4 4 Part 10, AVC Evaluation des performances v2
MPEG-4 4 Part 10, AVC Evaluation des performances
MPEG-4 4 Part 10, AVC Evaluation des performances
MPEG-4 4 Part 10, AVC Evaluation des performances
MPEG-4 4 Part 10, AVC Evaluation des performances
MPEG-4 4 Part 10, AVC Evaluation des performances: la complexité Le décodage: 6 fois plus des cycles de calcules par rapport au MPEG-2 L encodage: pour obtenir une diminution de 50% en débit, le codeur est 10 fois plus complexe
MPEG-4 4 Vidéo Les profiles
MPEG-4 4 Vidéo Simple Profile Utilisation: -Cadre vidéo o rectangulaire de dimensions H-V H V quelconques, -Applications de faible complexité (ex. vidéo o sur les mobiles) -4 Levels (niveaux) avec débit d entre 64kbps et 384 kbps Outils de compression prévus par le standard MPEG-4 4 : -I-VOP, P-VOP P (pas du B-VOP) B -Prédiction AC/DC -Prédiction de mouvement -En-tête court -Correction des erreurs (synchronisation, partition des données, VLC réversible) r
MPEG-4 4 Vidéo Simple Profile: Levels 4 niveaux : 1. Dimension Max de tampon 144x176, 3GPP, un seul objet, max 64kbps 2. Max 4 objets QCIF, max 64 kbps 3. Max 4 objets CIF, max 128 kbps 4. Max 4 objets CIF, max 384 kbps
MPEG-4 4 Vidéo Les Profiles, version 2
Profiles Visuels Advanced Simple Profile Utilisation: -Cadre vidéo o rectangulaire de dimensions H-V H V quelconque, -Large famille d applications d (Internet, télévision) t -6 Levels (niveaux) avec débit d entre 128kbps et 8Mbps Outils de compression prévus par le standard MPEG-4: - I-VOP, P-VOP, P B-VOP - Prédiction AC/DC, Prédiction de mouvement - Entête courte, - Correction des erreurs (synchronisation, partition des données, VLC réversible) r - Deux méthodes m de quantification (MP4 et H263) - Transmission entrelacé,, Compensation globale de mouvement - Compensation de mouvement au quart de pixel
Chronologie des standards vidéo
MPEG-4 4 Part 10, AVC Evaluation des performances v2
V Sub SampleX Vsx Sub SampleXY Vsxy U Load RGB + RGB Y Dif T freq. Cf Q Cfq to YUV - ME v Reorder Entropy Encoder Ref. RGB Yrf MC RCo Ref. Ir + Sum + r T -1 Cfr Q -1
MPEG-4 4 Part 10, AVC La prédiction Liberté de choisir la direction de prédiction pour les cadres P et B Un cadre B peut être utilisé comme cadre de référence Plusieurs références (même à longue distance)
MPEG-4 4 Part 10, AVC La prédiction block Inter Référence vers une ou plusieurs images de référence Compensation de mouvement en arbre structuré Le MB (16x16) peut être partagé dynamiquement VMs associés avec les bloques (16x16), (8x16), (16x8), (8x8), (8x4), (4x8), (4x4)
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement Deux cadres consécutifs
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement Différence directe
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement Différence avec compensation en mouvement pour block de 16x16
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement Différence avec compensation en mouvement pour block de 8x8
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement Différence avec compensation en mouvement pour block de 4x4
MPEG-4 4 Part 10, AVC Module Prédiction avec Compensation de Mouvement 16x16 4x4
MPEG-4 4 Part 10, AVC La prédiction block Inter: exemple de répartition La différence des images (erreur de prédiction) à coder