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.

Documents pareils