Sommaire. Le monde de la vidéo Applications, nécessité, organismes de normalisation. Normes MPEG. Notions de base Vocabulaire, formats vidéo



Documents pareils
Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Livrable 2.1 Rapport d analyse et de restructuration de code monothread des modules P, T, Q et F de l encodage MPEG-4 AVC

DEVANT L UNIVERSITE DE RENNES 1

ISO/CEI NORME INTERNATIONALE

En DV (PAL ou NTSC), la largeur est toujours de 720 pixels, c'est la proportion du pixel qui change la proportion de l'image.

Maintenir un service de traitement de son ou d image d ordinateur

Codage vidéo par block matching adaptatif

Communications immersives : Enjeux et perspectives

Transmission d informations sur le réseau électrique

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Formats d images. 1 Introduction

Technique de compression des images médicales 4D

Réseaux Multimédia et Qualité de Service

QoS et Multimédia SIR / RTS. Introduction / Architecture des applications multimédia communicantes

TD : Codage des images

1 THALES Land & Joint Systems, EDS/SPM WaveForm Design group

Présent et futur dans la normalisation de la compression 3D

La Vidéo. S.Natkin/CNAM 1

Chapitre 18 : Transmettre et stocker de l information

TP SIN Traitement d image

Approche par marquage pour l évaluation de la qualité d image dans les applications multimédias

EXPERT FINAL CUT STUDIO

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

MASTER. Transmission Vidéo dans les Réseaux Sans Fils et Mobiles. Challenges et Solutions

Multimedia. Systèmes, Communications et Applications. Ahmed MEHAOUA

Réalisation d un diaporama en haute définition avec. Adobe Premiere Elements 3.0 ou Adobe Premiere Pro 2.0. Encodage pour Internet

Les techniques de multiplexage

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Chapitre 13 Numérisation de l information

Codage d information. Codage d information : -Définition-

Traitement bas-niveau

Comparatif entre Matrox RT.X2 et Adobe Premiere Pro CS3 (logiciel seul)

Chaine de transmission

Adobe Premiere Pro Exportation

Chapitre 1. Introduction aux applications multimédia. 1. Introduction. Définitions des concepts liés au Multimédia (1/2)

Le traitement du 5ème concours A.I.P. pour l objet SH2-155 de Franck JOBARD

Chap17 - CORRECTİON DES EXERCİCES

Technique de codage des formes d'ondes

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Note technique. Formats de compression vidéo utilisés par CamTrace V11 avantages et inconvénients.

Recherche d'images par le contenu Application au monitoring Télévisuel à l'institut national de l'audiovisuel

Traitement numérique de l'image. Raphaël Isdant

Opérations de base sur ImageJ

Compression de données texte, son, image

Introduction à MATLAB R

L EXPORTATION d un PROJET.MVP

Cinéma Numérique : État de l art d un point de vue Art et Essai

Projet Matlab : un logiciel de cryptage

NORMES DE LIVRAISON DES MESSAGES PUBLICITAIRES ET MESSAGES D INTÉRÊT PUBLIC COMMERCIAUX APTN

Dans l Unité 3, nous avons parlé de la

Numérisation du signal

Windows Live Movie Maker

Errata et mises à jour

Enregistrement et transformation du son. S. Natkin Novembre 2001

Conversion d un entier. Méthode par soustraction

TP : Gestion d une image au format PGM

Création de maquette web

Créer des documents interactifs

Les Réseaux sans fils : IEEE F. Nolot

Master e-secure. VoIP. RTP et RTCP

Aspects Systèmes de la norme MPEG-4

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français

Internet et Multimédia Exercices: flux multimédia

Fête de la science Initiation au traitement des images

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Utilisation du logiciel ImageJ gratuit

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Pionnier des innovations

Un schéma de compression avec pertes efficace pour les images médicales volumiques

DVD Studio Pro Manuel de l utilisateur. Instructions d installation et d utilisation de votre logiciel

Les images et les animations sur le web. Guérineau Chloé BTS2 Année 2001/2012

Quantification Scalaire et Prédictive

Chapitre 2 : communications numériques.

Fiche technique CPU 314SC/DPM (314-6CG13)

note technique 1RWLRQVVXUODFRPSUHVVLRQ GHVGRQQpHVGDQV OHVDSSOLFDWLRQVPXOWLPpGLDV Direction de l'ingénierie éducative

EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (43) Date de publication: Bulletin 2011/26


Glossaire technique Veditec

Informatique Générale

+33 (0) Sarl ISB Altipolis2 av. Du Général Barbot Briancon - France

Limitations of the Playstation 3 for High Performance Cluster Computing

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

VSIP2 H.264. Serveur Vidéo IP. Manuel de l utilisateur

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

SNC-RZ25P. Caméra réseau motorisée MJPEG / MPEG-4

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Outils permettant la diffusion de l information. Un point sur le droit numérique

Optimisation de la compression fractale D images basée sur les réseaux de neurones

Tatouage, watermarking, MPEG-4, objets vidéo, manipulation, robustesse, ACP, morphing.

RTP et RTCP. EFORT

Détection des points d intérêt et Segmentation des images RGB-D. Présentée par : Bilal Tawbe. Semaine de la recherche de l UQO

Mesure agnostique de la qualité des images.

La salle d opération numérique intelligente

Signage Manager Express Manuel utilisateur du logiciel

L'intelligence en mouvement. Caméras AUTODOME 7000 avec fonction de suivi intelligent

Transcription:

Sommaire Le monde de la vidéo Applications, nécessité, organismes de normalisation Notions de base Vocabulaire, formats vidéo Techniques élémentaires Réductions spatiale et temporelle, estimation et compensation de mouvement, codage basé trames, contrôle de débit, schéma classique d un codeur vidéo Estimation et compensation de mouvement: détails Codage Vidéo, ENSTA, 15 février 2006 But : acquérir assez de notions pour pouvoir ensuite approfondir le domaine si nécessaire Normes MPEG Généralités, bitstream, images I, images B&P, codeurs-décodeurs MPEG-1, MPEG-2, MPEG-4 Zoom sur MPEG-4 AVC Introduction à MPEG-4 SVC Conclusion 1

MPEG : généralitg ralités Codage Vidéo, ENSTA, 15 février 2006 Vocabulaire et généralités Seul le décodage et le bitstream sont normalisés, Le codeur, complexe, est laissé à la compétition (même si un exemple est donné à titre informatif)! Chaque norme MPEG est divisée en différentes parties Part 1: Systems (notamment synchronisation, multiplexage) Part 2: Video Part 3: Audio Part 4: Conformance Etc. MPEG-1 en 5 parties, MPEG-2 en 9 et MPEG-4 en 10 2

MPEG : généralitg ralités Espace de couleur : YCbCr (pas YUV ou YIQ), 8 bits par échantillon ( millions de couleurs) Structure hiérarchique pour faciliter la récupération d erreurs, les montages, etc. Séquence vidéo = le résultat final Groupe d images (GOP) = une suite d images de la séquence commençant à une image intra et contenant toutes les images inter jusqu à la prochaine image intra Plus les GOPs sont courts, plus les montages sont faciles Image (= image ou champ si entrelacement) Tranche ( slice ) = suite de macroblocs d une image Macroblocs = ensemble de blocs Souvent = 4 blocs : 1 bloc x en luminance et les 2 blocs 8x8 correspondants en chrominance Blocs = unités 8x8 pixels (voire 4x4 récemment) 3

MPEG : généralitg ralités Codage Vidéo, ENSTA, 15 février 2006 Tranches (slices) Favorise le parallélisme car les tranches peuvent être traitées de façon totalement indépendante Slices dans MPEG-1 Slices dans MPEG-2 4

MPEG: train binaire (bitstream( bitstream) Séquence unité définissant le contexte permet d'initialiser un décodeur Group of pictures (GOP) unité d'accès aléatoire vidéo Picture unité de codage et d'affichage Slice unité d'adressage et de synchronisation Macroblock unité de compensation de mouvement Block (x) unité de codage DCT (8 x 8) Picture Slice MB B B B B MB Slice GOP Picture Picture Picture Picture Séquence GOP GOP GOP GOP 001001001011110101010011110101010010111011001010010011110111101010101 5

MPEG : images I MPEG : images I Les images I sont codées un peu comme du JPEG (baseline) (cf. votre cours image fixe la semaine dernière!) DCT Quantification Réordonnancement (zig-zag scan) Codeur entropique Huffman en Variable Length Coding avec Run Length Coding et codage différentiel DPCM pour DC 6

MPEG : images I Quantification Tables de quantification, pondérées d un facteur, le «scaling code» Table de quantification intra : éliminer surtout les fréquences hautes (car l œil y est moins sensible) Peut être adaptative (on quantifie plus un ciel de fond que la fleur de 1er plan) 8 19 22 26 27 29 34 22 24 27 29 34 37 19 22 26 27 29 34 34 38 22 22 26 27 29 34 37 40 22 26 27 29 32 35 40 48 26 27 29 32 35 40 48 58 26 27 29 34 38 46 56 69 27 29 35 38 46 56 69 83 7

MPEG : images I Etape de réordonnancement des données entre la quantification et le codage entropique 8

MPEG : images inter B&P Codage Vidéo, ENSTA, 15 février 2006 Les images inter se décomposent en images P et en images B Les images P sont les images prédites classiques Les images B (bi-directionnelles) font appel à des images passées et futures (car les images passées n ont pas toute l information nécessaire cf par exemple les parties cachées par le ballon rouge) 9

MPEG : images inter B&P Codage Vidéo, ENSTA, 15 février 2006 Les images P peuvent se référer à des images I, P situées avant Les images B peuvent se référer à des images I et P situées avant et/ou après (possibilité de se référer à 2 images en faisant le vecteur de mouvement moyen interpolation) Une séquence est une suite d images organisée en série de I, B, P. Le nombre de B et P entre deux images I (et constituant un GOP) est défini par des paramètres, mais souvent un GOP correspond à ½ s (=>12 à 15 images) 10

MPEG : images inter B&P L ordre de transmission des images codées n est plus séquentiel Mais le taux de compression est meilleur, et les erreurs de propagation limitées (les images B ne sont utilisées pour aucune prédiction) 11

MPEG : images inter B&P Codage Vidéo, ENSTA, 15 février 2006 Codage des images inter: Mouvement estimé sur les blocs de luminance et gardé tel quel pour les blocs de chrominance La recherche de blocs n est de toute façon pas normalisée => encodeur! 12

MPEG : images inter B&P Un macrobloc peut être sauté (skipped) s il est estimé identique dans l image de référence Seuil de tolérance à définir par le codeur pour décider lors du codage des macroblocs d images B et P si l on trouve pour chacun d eux une prédiction satisfaisante => sinon codage intra de ce macrobloc d image inter En résumé, dans une image P, un macrobloc peut être Skipped, Ou prédit d une image I ou P précédente, Ou codé en intra. Dans une image B, un macrobloc peut être Skipped, Ou prédit d une image I ou P précédente, Ou prédit d une image I ou P suivante, Ou interpolé à partir d une image I ou P précédente et d une image I ou P suivante, Ou codé en intra. 13

MPEG : images inter B&P Codage Vidéo, ENSTA, 15 février 2006 Image erreur (= image source - image prédite) encodée comme une image I, mais avec une table de quantification différente (même valeur pour tous les coefficients => «dead-zone» autour de zéro) 2-1 - 32 14

MPEG : images inter B&P Pour gagner encore en compression, les vecteurs de mouvement trouvés sont codés en fonction des vecteurs voisins => souvent quasi-identiques Prédiction entre les vecteurs voisins dans la même image (prédiction spatiale) Codage entropique de la différence MV prec MV On peut préciser par image la dynamique des vecteurs de mouvements (avec précision de ½ de pixel) Jusqu à 64 pixels si mvts rapides Jusqu a pixels si mvts lents 15

Codeurs-décodeurs MPEG Module de «reconstruction», commun au décodeur et au codeur

Codeurs-décodeurs MPEG Codeur Décodeur 17

Codeurs-décodeurs MPEG Codeur Images I (seuls les blocs de fond blanc sont actionnés ) 18

Codeurs-décodeurs MPEG Codeur Images P (seuls les blocs de fond blanc sont actionnés ) 19

Codeurs-décodeurs MPEG Codeur Images B 20

Sommaire Le monde de la vidéo Applications, nécessité, organismes de normalisation Notions de base Vocabulaire, formats vidéo Techniques élémentaires Réductions spatiale et temporelle, estimation et compensation de mouvement, codage basé trames, contrôle de débit, schéma classique d un codeur vidéo Estimation et compensation de mouvement: détails Codage Vidéo, ENSTA, 15 février 2006 But : acquérir assez de notions pour pouvoir ensuite approfondir le domaine si nécessaire Normes MPEG Généralités, bitstream, images I, images B&P, codeursdécodeurs MPEG-1, MPEG-2, MPEG-4 Zoom sur MPEG-4 AVC Introduction à MPEG-4 SVC Conclusion 21

MPEG-1 Finalisé en 1991 Pas d entrelacement de trames, seulement de la vidéo progressive Optimisé pour format SIF (Source Input Format) Résolution 352x240 pixels à 30 images/secondes (NTSC) Résolution 352x288 pixels à 25 images/seconde (PAL) Peut aussi être utilisé jusqu à 4095x4095 pixels à 60 images/seconde Optimisé pour des débits de 1.5 Mbits/seconde, mais peut aussi être utilisé à des débits supérieurs (jusqu à 100 Mbits/sec) => utilisée dans CD-ROMs 22

MPEG-2 Finalisé en 1994 Optimisé pour la diffusion de télévision numérique Entrelacement de trames et scalabilité (mais pas très utilisée) Tansformation (DCT) et prédiction peuvent être inter-champ ou interimage (c-a-d sur des blocs obtenus après mélange des 2 trames) Débits: 3 à 15 Mbits/sec pour TV, 15 à 30 pour HDTV Utilisée dans les DVDs et TV numérique (dont TNT gratuite) Introduction des profils et niveaux => norme générique Profil Palette d'outils caractéristiques d un codage d une certaine complexité Scalabilité du bitstream, et résolution de l espace couleurs Niveau Paramètres fixés dans ce profil Résolution image et débit maximum 23

MPEG-2 24

MPEG-2 Main profile Main Level (MP@ML) Main profile High Level (MP@HL) Un décodeur MPEG possédant un profil et un niveau donnés doit pouvoir décoder une vidéo de profil et niveau inférieurs Introduction de la notion de scalabilité Adaptabilité en résolution, en qualité ou en temps Un flux de base et des flux apportant plus d'information (en résolution, en qualité ou en temps) Fonctionnalité intéressante, mais taux de compression baisse => peu utilisée 25

MPEG-2 Quelques détails changent, par rapport à MPEG-1 : La taille des images peut dépasser 4095x4095 dans la syntaxe Possibilité d autre parcours des coefficients DCT Possibilité de précision des coefficients DC sur 9, 10 ou 11 bits au lieu de 8 Le nombre de slices par rang doit être entier 26

MPEG-4 Pourquoi Au départ, très bas débits (mobiles) Very Low Bitrate Audio-Visual Coding Finalement tous débits, mais Partie 2 "Visual" => fonctionnalités en plus telles que l interactivité sur le contenu audiovisuel, mais n'a pas vraiment connue de succès (trop d'options et de possibilités différentes) Partie 10 "AVC" (Advanced Video Coding) => se recentre sur l'efficacité de codage de façon impressionnante (débit 2 fois plus faible pour qualité visuelle comparable) et abandonne "le reste" (pas d'objets, pas d'interactivité) 27

MPEG-4 Pourquoi (suite) Exemple de besoins de diverses applications Mobiles Résistance aux erreurs, très forte compression Télévision numérique personnalisée Production : effets spéciaux, composition de scènes intégrant des objets provenant de différentes sources Visualisation : possibilité d intervention de l utilisateur (interactivité) Jeux vidéo 3D, interactivité, intégration d objets naturels pour un rendu plus réaliste Internet (par exemple streaming pour chaînes TV) Résistance aux erreurs, adaptabilité à diverses résolutions et débits (scalabilité) 28

MPEG-4 4 "Visual": nouveautés Une amélioration des techniques de codage. Une meilleure protection face aux erreurs de transmission. Une représentation hybride SNHC : Synthetic Natural Hybrid Coding. Représentation de contenus mixtes naturels et synthétiques. Outils de représentations de maillages 2D ou 3D et de textures fixes. 29

MPEG-4 4 "Visual" : nouveautés Un codage d objets : Objets Audiovisuels (AVOs). Informations audio, vidéo, textes, graphiques. Scène = composition de tous ces objets. Le flux compressé contient les objets et leur forme, leurs coordonnées, des paramètres de rotation, translation, zoom... Interaction avec le contenu. Accès aux objets dans le domaine compressé. Notion de scalabilité plus approfondie Un flux compressé unique = plusieurs flux emboîtés correspondant à différents débits 30

MPEG-4 4 "Visual" Les modes objets et sprites 31

MPEG-4 4 "Visual" Mode objets : On code des objets identifiés par une segmentation préalable (non définie par la norme) Un VOP = le plus petit rectangle englobant l objet considéré et contenant un nb entier de macroblocs La taille et la dimension des VOPs peuvent varier dans le temps La texture et la forme des VOPs doivent donc être codées à chaque instant 32

MPEG-4 4 "Visual" Codage Vidéo, ENSTA, 15 février 2006 Mode sprite Image panoramique (mosaïque) représentant une partie statique de vidéo (par exemple l arrière plan) La norme n indique pas comment on construit cette image La norme permet une représentation compacte de ce type d images, codées par macroblocs Avantages: cette image est transmise une seule fois pour toute la séquence, et seuls les objets qui bougent devant sont ensuite transmis Utile tant pour séquence d images de synthèse que d images naturelles 33

MPEG-4 4 "Visual" Mode sprite (suite) Au décodage, on devra extraire cette image partie par partie («cropping»), et peut-être en transformer certaines («warping») Le sprite est codé comme une image I Il peut être transmis de façon progressive (mode «low latency», par opposition au mode basique où il est envoyé en une seule fois au début) spatialement (la première portion du sprite arrive d abord) ou par qualité de raffinements successifs (d abord faible résolution) afin de permettre le décodage des premiers VOPs sans attendre que la totalité de l information du sprite soit reçue 34

MPEG-4 4 "Visual" Codage Vidéo, ENSTA, 15 février 2006 On considère des Objets Audiovisuels (AVOs) Informations audio, vidéo, textes, graphiques Leur manipulation impose à la scène d être représentée comme la composition de tous ces objets : BIFS (Binary description For Scene) format compressé d un langage de description de scène textuel inspiré de VRML. Permet de décrire le positionnement spatio-temporel des objets ainsi que les interactions avec les objets ou leur animation 35

MPEG-4 4 : nouveautés Codage Vidéo, ENSTA, 15 février 2006 Bloc diagramme global du codage/décodage MPEG-4 vidéo 36

MPEG-4 4 : nouveautés Exemple de décodage d un VOP Codage Vidéo, ENSTA, 15 février 2006 37

MPEG-4 4 : nouveautés Codage de la forme Codage Vidéo, ENSTA, 15 février 2006 Codage d un masque, macrobloc par macrobloc Codage du mouvement Toujours basé bloc, mais l estimation et la compensation tiennent compte des frontières d objet ( frontières de blocs) Codage de la texture «dynamique» DCT, quantification, codage entropique Doit tenir compte des frontières d objets, qui ne coïncident pas toujours avec les frontières de blocs Codage de la texture «statique» (image fixe) Cas particulier où une image statique est projetée sur des objets 2D ou 3D (besoin fort de scalabilité) Ondelettes, arbre de zéro, codage arithmétique 38

MPEG-4 4 : nouveautés Codage de la forme Codage de forme binaire Codage Vidéo, ENSTA, 15 février 2006 Le masque indique quels pixels appartiennent à l objet à l instant t considéré Pour chaque pixel, on indique «oui» ou «non» => binaire Masque binaire (Binary mask) = matrice de taille de fenêtre englobante du VOP Différent d une définition de forme par contour, etc. Codage de forme en niveau de gris Généralisation du codage de forme binaire On y ajoute la possibilité de représenter des objets transparents L information n est plus binaire, mais codée sur 8 bits 39

MPEG-4 4 "Visual" Codage Vidéo, ENSTA, 15 février 2006 Codage du mouvement Equivalent aux techniques basées bloc de MPEG-1 et MPEG-2, mais adaptée aux objets Estimation de mouvement : Blocs complètement à l intérieur du VOP: «block matching»de macroblocs x (8x8 si «mode de prédiction avancé») Blocs sur frontières du VOP: «modified block (polygon) matching» de macroblocs x (8x8 si «mode de prédiction avancé») pour ne prendre en compte que les pixels du VOP 40

MPEG-4 4 "Visual" Codage de texture Si on considère les B-VOPs et les P-VOPS, la «texture» est alors l erreur résiduelle après compensation de mouvement Codage en DCT, quantification, réarrangement et codage entropique à longueur variable Blocs frontière («boundary blocks», 8x8 pixels) de VOP sont traités différemment : avant le codage, il faut «remplir» les parties de blocs hors de l objet («padding») 41

MPEG-4 4 "Visual" Codage de texture «statique» Projection de texture sur des objets 2D ou 3D Décomposition en ondelettes Sous-bande basse: chaque coefficient codé selon prédiction de son voisin de gauche ou son voisin du haut 42

MPEG-4 4 "Visual" Codage de texture «statique» Autres sous-bandes : arbre de zéro («zerotree») et codage arithmétique L arbre de zéro permet d exploiter la corrélation des coefficients correspondant aux mêmes positions spatiales 43

MPEG-4 4 "Visual" Meilleure robustesse aux erreurs Codage Vidéo, ENSTA, 15 février 2006 On veut minimiser l impact d erreurs lors de la transmission Images découpées en paquets indépendants (équivalent aux slices) qui contiennent des infos importantes de façon redondante (taille du VOP courant, pas de quantification, etc.) pour éviter la propagation d erreurs à tout le VOP Pour proposer des fonctions de scalabilité et de résistance aux erreurs: data partitioning (cf schéma page suivante) On réorganise les données dans chaque paquet par type : forme, mouvement et texture (si perte dans la texture par exemple, les infos de mouvement restent valides) Resynchronisation possible en cas de perte car ces types de données sont séparés par des marqueurs Utilisation de codes à longueur variable réversibles (RVLC) 44

MPEG-4 4 "Visual" Approche classique: En-tête MB1 MB2 MBn Marqueurs de resynchronisation Data partitioning pour des paquets issus de VOP de type P: Infos de forme Infos de mouvement Coeff DC DCT Coeff AC DCT MB 1 MB 2 MB n MB 1 MB 2 MB n MB 1 MB 2 MB n MB 1 MB 2 MB n Data partitioning pour des paquets issus de VOP de type I: Entete Entete Infos de forme Coeff DC DCT Coeff AC DCT MB MB MB MB MB MB MB MB 1 2 n 1 2 n 1 2 MB n 45

MPEG-4 4 "Visual" Codage Vidéo, ENSTA, 15 février 2006 Scalabilités proposées Spatiale (seulement possible pour VOPs rectangulaires ) Un flux principal ( base layer ) transmet une information basse résolution, le flux complémentaire ( enhancement layer ) l améliore Le flux principal est codé comme un flux normal (non scalable), le flux complémentaire est constitué de B-VOPs et de P-VOPs Le flux complémentaire prend des images de référence dans le flux principal 46

MPEG-4 4 "Visual" Scalabilités proposées Temporelle On sépare les trames de la séquence dans deux flux différents qu on encode séparément : le décodeur ajoutera le deuxième flux s il le peut, sinon il aura quand même la vidéo, mais avec des mouvements plus saccadés Deux possibilités : on améliore une partie du flux principal ou on améliore tout le flux principal 47

MPEG-4 4 "Visual" Scalabilités proposées Temporelle (suite) 48

MPEG-4 4 "Visual" Améliorations de codage apportées Codage des coefficients DCT : C Le codage différentiel (MICD = DPCM) effectué pour le coefficient DC est possible pour toute la 1ère ligne ou la 1ère colonne (MICDA = ADPCM = codage différentiel adaptatif) Calcul des gradients horizontaux et verticaux du coefficient DC des 3 blocs voisins (en haut, à A B gauche, en haut à gauche) Bloc courant Sélection du voisin qui minimise ce gradient Prédiction de ligne ou de la colonne en fonction de la direction indiquée par l étape précédente SiDC B DC A < DC C DC A alors prédicteur = C sinon prédicteur = B 49

MPEG-4 4 "Visual" Estimation de mouvement Codage Vidéo, ENSTA, 15 février 2006 On peut utiliser le macrobloc ou le bloc comme support d estimation et de prédiction de mouvement Précision jusqu au quart de pixel possible (et non pas seulement ½ pixel comme en MPEG-1 et 2) Codage des vecteurs de mouvement Le prédicteur peut être le bloc correspondant à la valeur médiane (en vertical comme en horizontal) des vecteurs des blocs voisins : en haut, à gauche, en haut à droite (et non pas seulement le bloc de gauche en MPEG-1 et 2), mais ils doivent être à l intérieur d une même slice MV3 MV1MV2 MV 50

MPEG-2/MPEG 2/MPEG-44 Visual: comparaisons Codage Vidéo, ENSTA, 15 février 2006 Phase de l algorithme Pourcentage temps total bas débits Pourcentage temps total hauts débits Phase de l algorithme Pourcentage temps total bas débits Pourcentage temps total hauts débits DCT INVERSE 20% 30% DCT INVERSE 7% 10% Compensation de mouvement 51% 17% Compensation de mouvement 48% 31% Recopie de blocs 9.5% 13% Recopie de blocs 14% 12% Lecture du flux 5% 12% Lecture du flux 1% 6.5% Récupération des VLC 2% 6.5% Récupération des VLC 2.5% 8.5% Autres (quantification inverse, ) 12.5% 21.5% Autres (quantification inverse, ) 27.5% 32% Répartition moyenne des temps de traitement d un flux MPEG-2 Répartition moyenne des temps de traitement d un flux MPEG-4 mode «rectangle» 51

MPEG-2/MPEG 2/MPEG-44 Visual: Codage Vidéo, ENSTA, 15 février 2006 comparaisons Phase de l algorithme Pourcentage temps total bas débits Pourcentage temps total hauts débits Phase de l algorithme Décodage de la forme Pourcentage temps total bas débits 31% Pourcentage temps total hauts débits 20% DCT INVERSE 7% 10% DCT INVERSE 3% 10.5% Compensation de mouvement 48% 31% Compensation de mouvement 12% 19% Recopie de blocs 14% 12% Recopie de blocs 8% 5.5% Lecture du flux 1% 6.5% Lecture du flux 0.5% 8.5% Récupération des VLC Autres (quantification inverse, ) 2.5% 27.5% 8.5% 32% Répartition moyenne des temps de traitement d un flux MPEG-4 mode «rectangle» (IDEM) Récupération des VLC Autres (quantification inverse, ) 2% 36.5% 10.5% 33% Répartition moyenne des temps de traitement d un flux MPEG-4 mode «objet» 52

Sommaire Le monde de la vidéo Applications, nécessité, organismes de normalisation Notions de base Vocabulaire, formats vidéo Techniques élémentaires Réductions spatiale et temporelle, estimation et compensation de mouvement, codage basé trames, contrôle de débit, schéma classique d un codeur vidéo Estimation et compensation de mouvement: détails Codage Vidéo, ENSTA, 15 février 2006 But : acquérir assez de notions pour pouvoir ensuite approfondir le domaine si nécessaire Normes MPEG Généralités, bitstream, images I, images B&P, codeursdécodeurs MPEG-1, MPEG-2, MPEG-4 Zoom sur MPEG-4 AVC Introduction à MPEG-4 SVC Conclusion 53

ZOOM sur MPEG-4 4 "AVC" Travaux initiés à l'itu, présentés à MPEG et conduits ensemble Nom ITU: H264 (H26L au départ) Nom MPEG: MPEG-4 Partie 10 Nom commun: AVC (Advanced Video Coding) 54

ZOOM sur MPEG-4 4 "AVC" MPEG-4 "Visual" apportait un gain de 30% AVC apporte un gain de 50% => même qualité visuelle pour débit 2 fois plus faible Travail commun ITU/MPEG dans le "JVT" (Joint Video Team) Complexité importante de l encodage, et mémoire importante au décodage Standard depuis Mars 2003 Applications : diffusion audiovisuelle de haute qualité HD pour DVD, TV (SD& HD), ADSL, Mobiles 3 profils, 11 niveaux Baseline : videoconf, wireless, Main : broadcast (interlace, B-slices and CABAC), High : (HD) Les implémentations hardware (chips de décodage SD/HD) existent maintenant 55

ZOOM sur MPEG-4 4 "AVC" 4x4 blocks Control Integer Transform Control data Codage Vidéo, ENSTA, 15 février 2006 Vidéo Sequence Transform/ Quantization Texture Decoder Quantification -1 /Transformée -1 «Deblocking Filter» INTRA imageprediction Multiple reference Images Spatial Prediction Loop Filter Entropy coding Binary stream Variable size blocks x, x8, 8x, 8x8, 8x4, 4x8, 4x4 ¼ pixel accuracy Intra/Inter Motion Compensation Motion Estimation Rebuilt Images Motion Vectors Adaptive & contextual VLC CAVLC Adaptive & contextual arithmetic coding CABAC 56

ZOOM sur MPEG-4 4 "AVC" Compensation de mouvement avec bloc de tailles variables: 8 formes de bloc: x, x8, 8x, 8x8, 8x4, 4x8, 4x4 Autres normes MB Modes x 0 x8 0 1 8x 0 1 8x8 0 1 2 3 8x8 Modes 8x8 0 8x4 0 1 4x8 0 1 4x4 0 1 2 3 MPEG-4 «AVC» H.264 Possibilité de découpage pour la prédiction 57

ZOOM sur MPEG-4 4 "AVC" Plusieurs images de référence pour le codage du mouvement ("références multiples") N-2 N N-1 58

ZOOM sur MPEG-4 4 "AVC" Modes de prédiction spatiale des images I Plusieurs directions spatiales pour la prédiction (9 types pour la luminance) Exemple, Mode 3 : prédiction diagonale a, f, k, p sont prédits par (A + 2Q + I + 2) >> 2 Q A B C D E F G H I a b c d J e f g h K i j k l L m n o p M N O P 4 6 1 5 0 3 7 2 8 59

ZOOM sur MPEG-4 4 "AVC" Nouvelles transformée et quantification La transformée Entière, possédant les mêmes propriétés fréquentielles qu une DCT Opère sur des blocs 4x4 Evite une dérive entre l encodeur et le décodeur car il n y a pas d erreur d arrondis (coefficients entiers) A = 13a + 13b + 13c + 13d B = 17a + 7b - 7c - 17d C = 13a - 13b - 13c + 13d D = 7a - 17b + 17c - 7d a' = 13A + 17B + 13C + 7D b' = 13A + 7B - 13C - 17D c' = 13A - 7B - 13C + 17D d' = 13A - 17B + 13C - 7D La quantification Incrément logarithmique Sauts de 12,5 % Quantificateurs de 1 à 52 Quantificateurs plus précis pour la chrominance 60

ZOOM sur MPEG-4 4 "AVC" Un filtre dans la boucle de codage Filtre adaptatif Au quantificateur Au type de bloc (Inter, Intra, ) Sans Filtre Avec Filtre 61

ZOOM sur MPEG-4 4 "AVC" Nouveau codage entropique : deux techniques pour les données de Macrobloc (coefficients, vecteurs) Le CABAC (Context Adaptive Binary Arithmetic Coding) Exploite la corrélation des symboles par l utilisation de contexte Utilisation de nombre non entier de bits par symbole (codage arithmétique) Très efficace Les CAVLC (Context Adaptive Variable Length Coding) Exploite la corrélation des symboles par l utilisation de contexte Utilisation de nombre entiers de bit par symbole Un peu moins efficace que le CABAC, mais moins complexe 62

ZOOM sur MPEG-4 4 "AVC" Outils Image I et P Images B En-tête compact d'image Compensation mouvement 4x4 Compensation mouvement 8x8 Prédiction des vecteurs de mouvement Prédiction multi-reference Filtre de boucle Compensation mouvement 1/4 pixel Support videos entrelacées Prédiction des coefficients DC Prédiction des coefficients AC Transformée avec taille de blocs adaptative Codage efficace du quantificateur Codage arithmetique adaptatif MPEG-2 Oui Oui Non Non Non Basique Non Non Non Adaptatif au niveau macrobloc Basique Non Non Non Non AVC Oui Oui Oui Oui Oui Adaptative Oui Anti-blocs Oui Adaptatif au niveau macrobloc Adaptative Adaptative Oui Oui Oui 63

Sommaire Le monde de la vidéo Applications, nécessité, organismes de normalisation Notions de base Vocabulaire, formats vidéo Techniques élémentaires Réductions spatiale et temporelle, estimation et compensation de mouvement, codage basé trames, contrôle de débit, schéma classique d un codeur vidéo Estimation et compensation de mouvement: détails Codage Vidéo, ENSTA, 15 février 2006 But : acquérir assez de notions pour pouvoir ensuite approfondir le domaine si nécessaire Normes MPEG Généralités, bitstream, images I, images B&P, codeursdécodeurs MPEG-1, MPEG-2, MPEG-4 Zoom sur MPEG-4 AVC Introduction à MPEG- 4 SVC Conclusion 64

Introduction à MPEG-4 4 SVC "Scalable Video Coding" En cours de normalisation: sera finalisée début 2007 C'est un amendement de AVC, pas une nouvelle norme Les mêmes performances de codage qu'avc sont observées (contrairement aux modes scalables de MPEG-2 et MPEG-4 "Visual") La compatibilité avec AVC est assurée Les décodeurs AVC sauront lire une partie d'un flux SVC (le "flux de base") Les décodeurs SVC sauront lire le format AVC Codage scalable Encodage unique Troncature du flux pour s'adapter à : Des niveaux d'échelle désirés (spatial, temporal, qualité-snr) La bande passante disponible Les capacités de décodage du client 65

Introduction à MPEG-4 4 SVC Exemple : stockage d une séquence vidéo de 1 heure à 64, 128, 256 et 512 Kb/s Intérêt Stockage des données Transmission des données Contenu 3 = Contenu 2 + 460 Mb Contenu 2 = Contenu 1 + 230 Msb Contenu 1 = 230 Mb Taille totale : 1840 Mb Au lieu de 230+460+920+1840 = 3450 Mb Gain : 10 Mb Contenu 4 = Contenu 3 + 920 Mb 66

Introduction à MPEG-4 4 SVC Structure du codeur SVC Scalabilité temporelle Scalabilité "SNR" (qualité) Scalabilité spatiale 67

Introduction à MPEG-4 4 SVC Caractéristiques Décomposition pyramidale avec sous-échantillonnage dyadique des composantes d'entrée => scalabilité spatiale Décomposition temporelle de type "images B hiérarchiques" à chaque niveau => scalabilité temporelle Codage d'une version basse résolution de la séquence vidéo jusqu'à un débit donné qui correspond au débit maximum décodable pour la résolution spatiale. Le niveau de base de cette basse résolution est compatible AVC. Codage des niveaux supérieurs par soustraction du niveau précédent reconstruit et sur échantillonné et codage des résidus sous forme : D'un niveau de base D'un ou plusieurs niveaux de réhaussement obtenus par codage multipasse de plans de bits => scalabilité "fine" en qualité 68

Introduction à MPEG-4 4 SVC Exemple de scalabilité spatiale et temporelle Couche de base (D1, F1, T1) Couche de rehaussement spatiale (D2, F1, T2) Couche de base seule (D=D1, F=F1, T=T1) Base + Rehaussement (D=D1+D2, F=F1, T=T2) Base layer + 12 enhancement layers Base layer only 69

Introduction à MPEG-4 4 SVC Avant SVC : Mode scalable de MPEG-2 Mode scalable de MPEG-4 "Visual" Pas vraiment utilisé car peu efficace en compression (de l ordre de -20 %) Raison principale : prédiction interlayer non efficace Avant : niveaux codés progressivement Pas de références aux images passées t0 t1 t2 t3 t4 time MPEG-4 part 10 / amdt 3 : SVC Nouvelle norme pour le codage scalable aussi efficace que l état de l art (H264-AVC) Meilleure prédiction inter-couches Meilleure décorrélation temporelle SVC : codage progressif + références multiples t0 t1 t2 t3 t4 time 70

Sommaire Le monde de la vidéo Applications, nécessité, organismes de normalisation Notions de base Vocabulaire, formats vidéo Techniques élémentaires Réductions spatiale et temporelle, estimation et compensation de mouvement, codage basé trames, contrôle de débit, schéma classique d un codeur vidéo Estimation et compensation de mouvement: détails Codage Vidéo, ENSTA, 15 février 2006 But : acquérir assez de notions pour pouvoir ensuite approfondir le domaine si nécessaire Normes MPEG Généralités, bitstream, images I, images B&P, codeursdécodeurs MPEG-1, MPEG-2, MPEG-4 Zoom sur MPEG-4 AVC Introduction à MPEG-4 SVC Conclusion 71

Conclusion Pourquoi travaille-t-on encore sur le codage de la vidéo? Une fois les normes définies, il reste encore de la place pour la recherche académique et les technologies propriétaires (Estimation de mouvement, Régulation de débit, Efficacité d implémentation, Pré et post processing ) Les applications se multiplient, les besoins de plus en plus exigeants: de la télévision sur mobile! 72

Références "MPEG Video compression Standard", J.L.Mitchell, W. B. Pennebaker, C.E. Fogg, D.J.LeGall, Kulwer Academic, 1996 "Compression et codage des images et vidéos", C. Labit M. Barlaud & al, Hermès, 2001 http://www-ict.its.tudelft.nl/html/education/courses /et4_089/hc/hc14/ : tutoriel sur l estimation de mouvement http://members.aol.com/symbandgrl/ Introduction to video compression MPEG, J. Wiseman ftp://ftp.irisa.fr/techreports/theses/2001/denoual.pdf Développement d'une plate-forme logicielle orientée objet pour la décompression et l'édition de séquences vidéo sur noyau temps-réel, Franck Denoual, Thèse de l Université de Rennes I, Décembre 2001 http://mpeg.telecomitalialab.com/ : site web MPEG officiel 73

Références http://leonardo.telecomitalialab.com/icjfiles/mpeg-4_si/7- natural_video_paper/7-natural_video_paper.htm "Natural video coding in MPEG-4, an overview", T. Ebrahimi, C. Horne http://leonardo.telecomitalialab.com/icjfiles/mpeg- 4_si/index.htm : tutoriels MPEG-4 http://www.vcodex.fsnet.co.uk/h264.html : tutoriel et description H264/H26L/MPEG-4Part10/JVT/etc. "H.264 and MPEG-4 video compression", Iain E. Richardson, Wiley, 2003 http://www.mpeg.org/: information utile et pointeurs 74