Notions de base Formats & résolutions usuelles Télévision Haute Définition 16/9 TVHD - 16/9 TV - 16/9 TV - 4/3 CIF QCIF TV 16/9 TV 4/3 CIF QCIF 1
Notions de base Formats & résolutions usuelles HD (High Definition) 1920x1080 entrelacé : le plus haut aujourd'hui (25 images/secondes) 1920x1080 progressif : arrive! (50 images/secondes) SD (Simple Definition) = TV 720 pixels x 243 lignes x 60 champs par seconde 720 pixels x 288 lignes x 50 champs par seconde CIF, Common Intermediate Format 352 x 288 pixels x 25 images/s ou 352 x 240x30 images/s (débit total équivalent), progressif Permet de faire l intermédiaire entre PAL/SECAM et NTSC QCIF = un Quart de CIF 176 x 144 pixels x 25 images/s (176 x 120x30 images/s ), progressif 2
Notions de base HD 8-10 Mbps (e.g. DSL) SD 1-3 Mbps (e.g. DVB-C/S/T) CIF QCIF 256-512 kbps (e.g. DVB-H) 64-128 kbps (e.g. UMTS) 3
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 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 Estimation et compensation de mouvement: détails Introduction à MPEG-4 SVC Conclusion 4
Techniques élémentaires Réduction spatiale Exploiter la redondance spatiale présente dans toute image naturelle : pixels voisins souvent identiques Cette redondance existe dans chaque image de la séquence Exploiter le fait que l oeil est moins sensible aux détails Réduction temporelle Exploiter la redondance temporelle présente dans toute séquence vidéo Cette redondance est très importante entre 2 images consécutives (sauf shot change ) Exploiter le fait que l oeil est moins sensible après un changement de scène ( shot change ) 5
Techniques élémentaires Pour mettre en œuvre ces 2 types de réduction/redondance, on définit 2 types d'images: Les images intra qui exploiteront la redondance spatiale Une image intra est codée comme une image fixe Les images inter (images prédites) qui exploiteront la redondance temporelle Ces images seront codées par rapport à d autres On codera en fait la différence entre ces images et les autres (appelées alors images de référence ) puisque cette différence devrait être quasi-nulle 6
Techniques élémentaires Les images intra Evitent la propagation d erreurs en repartant régulièrement sur des bases saines Représentent des points d accès rapides, grâce à un décodage très simple, à la vidéo Les images inter Permettent d obtenir de très bons taux de compression (bien plus élevés qu en compression d images fixes) Exemple simpliste Plan fixe avec une voiture : seule la position de la voiture est codée après la 1ère image 7
Techniques élémentaires Les caractéristiques du mouvement Représentation du mouvement : Les images d'une séquence vidéo reflètent une projection d'objets 3D en mouvement dans le plan image 2D On effectue un certain nombre d'hypothèses pour autoriser les techniques 2D (projeter la scène 3D dans le plan 2D) Le mouvement 2D dans une image est décrit par un modèle (jeu d'équations) qu on décrira par des vecteurs (aussi proches du modèle que possible) Support du mouvement : l'ensemble des pixels de l'image auxquels le modèle s'applique (l image complète, un objet, un bloc, un pixel) Types de mouvement Changements dans les intensités spatio-temporelles dûs Au mouvement global, ou mouvement de la caméra. Au mouvement local, mouvement intrinsèque des objets de la scène. Aux variations d'illumination. 8
Techniques élémentaires La redondance temporelle est exploitée grâce aux techniques d estimation et de compensation de mouvement Estimation : on estime un vecteur de mouvement d une image (image de référence) vers l autre (image courante) Compensation : on applique ce mouvement à l image de référence image prédite On code la différence (image prédite -image courante) L image de référence ne peut être une image source car: Le décodeur doit lui aussi appliquer les prédictions, MAIS il ne dispose pas d images sources, seulement d images codées-décodées (donc contenant une distorsion, même légère) 9
Techniques élémentaires Estimation/compensation de mouvement (suite) On doit donc utiliser au codeur les images dont disposera le décodeur On doit donc avoir un décodeur local dans le codeur, et les prédictions sont calculées sur ces images décodées Coût : complexité des algorithmes de codage Dissymétrie codeur/décodeur Ces méthodes vont permettre d atteindre de très forts taux de compression Pour des soucis de qualité, la précision souhaitée est souvent de l ordre de la fraction de pixels (1/2 pixel, ¼ de pixel) 10
Techniques élémentaires Schéma classique de codeur (image courante = image inter I2) Image Source I2 Intra Inter + - I2-I2pred Transformée Quantification Codeur entropique Train binaire Quantification inverse Transformée inverse I 2 Image compensée (prédite) I2pred Compensateur de mouvement Estimateur de mouvement I 1 rec Image de référence + + Image reconstruite Vecteurs de mouvement calculés entre I1rec et I2 11
Techniques élémentaires Contrôle/régulation de débit Beaucoup d'applications utilisant la vidéo ont besoin de débit constant Après codage, certaines images de la séquence vont contenir beaucoup d informations, d autres peu (notamment les images inter) Pour garantir un débit constant et éviter le débordement (et sous-remplissage ) des buffers, il faudra mettre en place un mécanisme de contrôle de débit Modifier les pas de quantification en cours de route 12
Techniques élémentaires Cas particulier du codage vidéo: le codage basé trames (MotionJPEG, MotionJPEG2000) N exploite pas la redondance temporelle, chaque trame est codée indépendamment des autres Facilite les montages et les arrêts sur image Codage rapide (pas de codage temporel), mais taux de compression faible ( pas de codage temporel!) MotionJPEG (ou équivalent) utilisé notamment dans les caméscopes numériques DV, pour le mode vidéo des appareils photos numériques, dans certaines webcams MotionJPEG2000 choisi en juillet 2005 pour le Cinéma Numérique (par le "Digital Cinema Initiative", groupement de studios hollywoodiens: Disney, Paramount, Universal, Warner Bros, MGM. Sony & 20th Century Fox ) 13
Techniques élémentaires Cas particulier du codage vidéo: le codage basé trames (MotionJPEG, MotionJPEG2000) (suite) MotionJPEG (ou MJPEG) encode chaque trame avec JPEG (DCT), MotionJPEG2000 (ou MJ2K) avec JPEG2000 (ondelettes) MotionJPEG est un standard de fait Il s est avéré utile et nécessaire, donc tout le monde l a inventé pas de compatibilité car certains paramètres diffèrent, et tout le monde peut se proclamer compatible MotionJPEG MotionJPEG2000 est une vraie norme (normalisé par le groupe JPEG/JPEG2000 ) Norme internationale en 2002, au même titre que JPEG ou JPEG2000, donc la compatibilité sera assurée 14
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 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 15
Estimation et compensation de mouvement : détailsd L estimation de mouvement Consiste à calculer les paramètres du mouvement Le mouvement est estimé entre l'image courante et une image dite de référence; ce procédé implique Le choix d'un modèle de mouvement; La sélection d'un critère d'estimation; L optimisation du critère sélectionné. 16
Estimation et compensation de mouvement : détailsd La compensation de mouvement consiste à Appliquer le mouvement estimé à l'image de référence => prédiction de l'image courante La prédiction est soustraite de l'image réelle, donnant une image d'erreur de prédiction ou DFD (Displaced Frame Difference) Cette image d erreur est ensuite codée et transmise Si aucun mouvement, 2 images consécutives sont identiques, et donc la différence est nulle => intéressant à exploiter! 17
Estimation et compensation de mouvement : détailsd Cas de léger mouvement entre deux trames: Cette image d erreur et le champ de mouvement sont codés et transmis 18
Estimation et compensation de mouvement : détailsd Le but de tout système de codage vidéo est donc d'estimer les paramètres du mouvement de manière aussi précise que possible afin de : Minimiser les résidus obtenus après compensation de mouvement (la DFD) pour une métrique donnée Le coder avec un minimum de débit Eventuellement (mais rarement ) de donner un sens physique au mouvement (que le mouvement codé soit aussi proche que possible du mouvement réel, et non pas seulement le moins côuteux à coder) Processus coûteux, qu on va donc essayer d optimiser 19
Estimation et compensation de mouvement : détailsd Techniques d estimation par bloc: mise en correspondance ( block matching ) de blocs pour l'estimation du mouvement, puis compensation sur le bloc MV Image n-1 Bloc en Image n mouvement 20
Estimation et compensation de mouvement : détailsd Méthode: Recherche du bloc «le plus proche» au sens d une mesure d erreur => vecteur de mouvement translationnel Déplacement des données de l image de référence => prédiction Comparaison de l image avec sa prédiction Codage et transmission Du vecteur Du bloc d erreur de prédiction La recherche d un bloc quasi-identique dans l image de référence est une étape capitale : Souvent la recherche est sur une fenêtre plus large que haute car le mouvement est souvent observé le long de l écran 21
Estimation et compensation de mouvement : détailsd Mise en correspondance de blocs 22
Estimation et compensation de mouvement : détailsd Visualisation du processus d estimation et codage des blocs à l échelle de l image On rectifie en identifiant ce qui est en trop Puisqu'on fait bouger des blocs entiers, on déplace plus que ce qu'il faut.. 23
Estimation et compensation de mouvement : détailsd Limites des techniques d estimation par bloc Tous les pixels d'un même bloc sont supposés subir le même mouvement Les contours des objets en mouvement ne coïncident pas avec les frontières des blocs La recherche de blocs pouvant servir de prédiction est longue (essayer tous les blocs dans une certaine fenêtre de recherche et ne garder que le meilleur) et coûteuse (beaucoup d opérations à chaque tentative de mise en correspondance) 24