1 Introduction 2 Le standard H.264/MPEG-4 AVC
Transcription
1 Introduction 2 Le standard H.264/MPEG-4 AVC
École Doctorale STIM Sciences et Technologies de l'Information et des Matériaux. Automatique et Robotique et Traitement du Signal. Laboratoire : IRCCyN. Equipe : IVC. Spécialité : PRÉ-ANALYSE ET CONDITIONNEMENT DU FLUX VIDÉO HAUTE DÉFINITION POUR UN CODAGE TEMPS RÉEL Brouard, Olivier Mél : [email protected] Résumé : Nous présentons dans ce papier, une méthode pour réaliser une pré-analyse du ux vidéo en vue de son codage en temps réel à l'aide du codeur H.264. Pour cela nous proposons une méthode d'estimation globale du mouvement (EGM) et de segmentation de séquences vidéo Haute Dénition (HD). D'abord, considérant un segment spatio-temporel de la vidéo HD, nous avons développé une méthode d'estimation rapide du mouvement basée multi-résolutions pour obtenir le champ de vecteurs de mouvement. À partir de ces vecteurs, nous estimons les paramètres de mouvement d'un modèle ane pour caractériser le mouvement global au sein de la séquence vidéo. Une fois le mouvement global compensé, nous réalisons une segmentation à partir des résidus des vecteurs de mouvement. Mots clés : H.264, estimation du mouvement multi-résolutions, estimation globale du mouvement. VITEC Multimedia, Pôle de compétitivité Images & Réseaux, Agence Nationale de la Recherche, réseau pour la Recherche et l'Innovation en Audiovisuel et Multimédia. Collaborations : 1 Introduction Le dernier standard de codage vidéo développé par le JVT (Joint Video Team ) regroupant les experts MPEG (Moving Picture Expert Group ) et ITU (International Telecommunication Union ) [1], à savoir MPEG-4 Part 10 (ou encore AVC (Advanced Video Coding ) ou H.264), vise à gagner jusqu'à 50% de la bande passante actuellement utilisée par MPEG-2 pour une qualité équivalente. Or ce nouvel algorithme de compression est plus complexe et nécessite des capacités de traitement plus lourdes. De plus, l'introduction de services de Télévision Haute Dénition introduit un nouvel ordre de grandeur dans la complexité de traitement. Notre objectif est de contribuer à la réalisation d'une architecture capable d'eectuer la compression MPEG-4 AVC en temps réel et en HD. Notre intérêt se porte plus particulièrement sur la conception d'un outil de prétraitement vidéo générant des informations, par ailleurs communes et utiles à tous les algorithmes de codage. Cet outil doit pouvoir caractériser le mouvement physique ainsi que la complexité locale de l'image dans le but de choisir le meilleur mode de codage oert par le codeur H.264. Dans la suite de cet article, nous commencons par une présentation de certaines spécications du codeur H.264. Dans la partie 3, nous expliquons nos méthodes de pré-analyse du ux vidéo en vue d'un codage optimal avec H.264. Et pour nir, nous montrons les résultats obtenus dans la partie 5 avant de conclure. 2 Le standard H.264/MPEG-4 AVC L'objectif de H.264 est un codage ecace et robuste, et le transport de la vidéo [2]. Les applications sont diverses : la communication vidéo (vidéoconférence et vidéotéléphonie), le codage haute qualité pour la diusion vidéo, et la vidéo en temps réel sur des réseaux par paquets (Internet). 2.1 Estimation de mouvement à structure d'arbre Le but de l'estimation/compensation de mouvement est de réduire la redondance temporelle entre les images transmises, en formant une image prédite depuis une ou plusieurs images de référence et en la soustrayant à l'image courante. Plus la prédiction est performante et moins l'image résiduelle résultante contiendra d'énergie. L'image résiduelle est par la suite codée, transmise au décodeur qui recrée l'image de prédiction, ajoute les données résiduelles décodées et reconstruit l'image courante. Ce type de prédiction est appelé prédiction inter-images. L'estimation de mouvement basée bloc calcule le mouvement de blocs rectangulaires d'une image. Pour chaque bloc, on applique l'algorithme de block matching (cf gure 1). Avec le codeur H.264, chaque macrobloc de 16 × 16 pixels peut être découpé de quatre manières diérentes (voir la gure 2) et la compensation de mouvement peut s'appliquer sur une partition 16 × 16, deux 16 × 8, deux 8 × 16 ou quatre 8 × 8. En choisissant le mode 8 × 8, les quatre sous-macroblocs peuvent encore une fois être divisés en une partition 8 × 8, deux 8 × 4, deux 4 × 8 ou quatre 4 × 4. Ces partitions et sous-macroblocs permettent un grand nombre de combinaisons pour chaque macrobloc. C'est la méthode dite de compensation de mouvement à structure d'arbre. fenetre de recherche bloc courant vecteur de mouvement image reference I(t−1) Fig. image de difference : I(t) − I(t−1)compensee image courante I(t) 1 Estimation et compensation du mouvement. Un vecteur de mouvement est nécessaire pour chaque partition ou sous-macrobloc. Ce vecteur doit être codé et transmis et le choix de la partition doit être codé dans le train binaire. Une grande partition ne nécessitera pas beaucoup de bits pour coder les vecteurs de mouvement et le choix de la partition. En revanche le résidu obtenu pourra contenir une grande énergie dans les zones très riches. Une petite partition diminuera l'énergie résiduelle, mais nécessitera plus de bits pour coder tous les vecteurs et les choix de partition. Ainsi, le choix de la taille de partition a un impact important sur les performances de compression. En règle générale, une grande taille est appropriée pour les zones homogènes et une petite pour les zones de détails. 2.2 Les images références Les images précédemment codées sont décodées et stockées dans une mémoire tampon appelée DPB (Decoded Picture Buer ). Le codeur et le décodeur conservent une ou deux listes d'images précédemment codées/décodées, la liste 0 et la liste 1 d'images de référence (par défaut chaque liste contient cinq images). Ces images peuvent être des images de référence à court ou long terme (short term et long term ), disponibles pour la prédiction. La gure 2 illustre tous les modes de prédiction (intra et inter) pour un macrobloc avec cinq images références. Inter 8x8 Inter 16x16 0 1 2 3 4 Inter 16x8 0 1 2 3 4 Inter 8x16 0 1 2 3 4 Inter 8x8 0 1 2 3 4 Inter 8x4 Inter 4x8 Inter 4x4 Intra 4x4 Intra 4x4 Images references Intra 16x16 Fig. 2 Modes de prédiction pour un macrobloc. Toutes les nouvelles spécications du codeur H.264 augmentent considérablement les temps de calculs. De ce fait, un codage en temps réel et de qualité susante d'un signal vidéo HD devient problématique. Il est nécessaire de réaliser une analyse du ux vidéo en amont du codeur. 3 Pré-analyse du ux vidéo Dans notre méthode, nous utilisons les informations de mouvement de chaque macrobloc pour un groupe d'images (d'un segment temporel), an d'estimer le mouvement global. 3.1 Estimation du mouvement multi-résolutions Pour obtenir des informations de mouvement plus corrélées avec le mouvement réel des objets dans la séquence vidéo, nous utilisons plusieurs images et considérons un mouvement uniforme entre les images. Le temps de xation du système visuel humain [3] est d'environ 200ms et comme la prochaine génération de Télévision HD utilisera des images à la résolution de 1920 × 1080 pixels en mode progressif à un taux d'achage de 50 images par seconde, nous avons développé une méthode qui utilise neuf images (180ms). L'image courante (ou pivot) est située au centre et est entourée par quatre images passées et quatre images futures, comme cela est illustré dans la gure 3. Ainsi, nous créons un tube entre les images, qui nous permet de suivre le bloc au sein de ces images. Le champ de vecteurs de mouvement obtenu est ainsi plus homogène et plus corrélé avec le mouvement réel. I t−4 b0 I t−3 I t−2 I t−1 It I t+1 I t+2 I t+3 b1 b3 fenetre de recherche Fig. I t+4 b4 bloc courant 3 Les cinq images utilisées pour déterminer le vecteur de mouvement du bloc courant. Comme nous traitons des images HD, celles-ci sont d'abord ltrées spatialement et sous-échantillonnées par un facteur six, an d'accélérer l'estimation de mouvement. Les vecteurs de mouvement sont estimés à la plus faible résolution et ensuite, ils sont multipliés de façon appropriée à la résolution supérieure an d'être utilisés comme point de recherche initiale. 3.2 Estimation globale du mouvement Lorsque l'estimation de mouvement est réalisée, les vecteurs de mouvement obtenus reètent plus précisément le mouvement réel des objets. L'étape suivante est d'identier les paramètres du mouvement global de la vidéo, qui sont généralement les mouvements du capteur (caméra), à partir de ces vecteurs de mouvement. Nous utilisons un modèle ane à six paramètres : Vx a1 a2 x tx = + , (1) Vy a3 a4 y ty où ai (i = 1..4), tx et ty sont respectivement les paramètres de déformation et de translation. Vx , Vy , x et y sont respectivement les composantes horizontale et verticale de chacun des vecteurs de mouvement et la position spatiale. Nous adaptons la méthode décrite par Coudray [4]. Nous réalisons plusieurs histogrammes pour obtenir les paramètres du mouvement global. À partir des vecteurs de mouvement, nous calculons les paramètres de déformation (a1 , a2 , a3 et a4 ) : ∂V ∂V ∂Vx y y x a1 = ∂V ∂x , a4 = ∂y , a2 = ∂y , a3 = ∂x , tx = Vx − a1 .x − a2 .y, ty = Vy − a3 .x − a4 .y. (2) Ensuite, ils sont accumulés dans des histogrammes, un pour chaque paramètre. Le pic de chaque histogramme représente la valeur du paramètre global. Les vecteurs de mouvement sont compensés en utilisant ces quatre paramètres de déformation et la dernière étape est l'accumulation des vecteurs de mouvement compensés dans un histogramme à deux dimensions. Les paramètres de translation du modèle ane sont ensuite identiés à partir de ce dernier histogramme. 3.3 Segmentation basée mouvement En analysant et en séparant tous les mouvements de translation présents dans le champ de vecteurs, alors une segmentation au sens du mouvement, en plus de l'estimation du mouvement global, aura été eectuée. La première étape est la détection de la position du maximum dans l'histogramme des vecteurs de mouvement compensés. Pour toutes les positions connexes à celle-ci, le gradient en direction du maximum est calculé. Tant que le gradient est positif, le point est considéré comme appartenant au pic et l'algorithme est répété pour les cellules connexes. À la n, toutes les positions appartenant au pic principal ont été marquées. Lorsqu'un nouveau maximum est détecté parmi toutes les cellules non marquées, l'algorithme est réitéré tant qu'il reste des cellules non nulles n'appartenant à aucun pic. Au nal, une cellule peut être marquée comme appartenant à plusieurs pics. Dans ce cas, elle est dénitivement rattachée au pic dont la position du maximum est la plus proche. 4 Résultats La gure 4 illustre les résultats obtenus sur la séquence vidéo New mobil calendar au format 1280 × 720 en mode progressif. L'extrait de la séquence présentée contient un train en translation, celui-ci n'altère pas l'estimation globale du mouvement. En eet, une fois l'estimation globale du mouvement réalisée (b), seuls restent les vecteurs de mouvement du train en translation. Pour les deux premières gures (a) et (b), un zoom sur l'image a été eectué an de voir correctement les vecteurs de mouvement. La dernière gure (c) illustre la segmentation basée mouvement, on peut observer que le train est correctement segmenté par rapport au fond de la séquence. (a) sans l'EGM. Fig. (b) mouvement global compensé. (c) segmentation basée mouvement. 4 Les diérentes étapes de l'estimation globale et de la segmentation. 5 Conclusion Nous avons présenté une méthode robuste d'estimation globale du mouvement pour des séquences HD. D'abord, une estimation multi-résolutions du mouvement utilisant plusieurs images références est réalisé, an d'obtenir un champ de vecteurs de mouvement. Ensuite, nous estimons les paramètres de mouvement de global d'un modèle ane à partir de ces vecteurs. Ainsi, nous obtenons les paramètes du mouvement global de la vidéo. La dernière étape est la segmentation de la vidéo à partir des résidus des vecteurs de mouvement (vecteurs de mouvement compensés par le mouvement global). Références [1] ISO/IEC 14496-10 et ITU-T Rec. H.264, 2003. Advanced Video Coding. 2003. [2] Iain E. G. Richardson. H.264 and MPEG-4 Multimedia. Chippenham, septembre 2003. video compression : Video Coding for Next-Generation Attention sélective en visualisation d'images xes et animées achées sur écran : modèles et évaluation des performances - applications. PhD thesis, Université de Nantes, PhD. Thesis, [3] Olivier Le Meur. École Polytechnique de l'université de Nantes, 2005. [4] Renan Coudray and Bernard Besserer. Global Motion Estimation for MPEG-Encoded Streams. Singapore, Republic of Singapore, october 2004. IEEE International Conference on Image Processing, ICIP 2004.