INTRODUCTION AU DOMAINE DU TRANSCODAGE VIDÉO
La compression vidéo
Le codage vidéo (compression vidéo) est basé sur un codage prédictif, c.-à-d. l’élimination des redondances temporelles entre les images (ou trames) consécutives ou l’élimination des redondances spatiales pour chaque image indépendamment des autres images ou les deux ensembles. Seule la différence entre l’image source et sa prédiction est compressée et envoyée dans le bit-stream (train de bits). Dans la Figure 1.1, les trames 1 (lntra Frames) n’utilisent pas de prédiction temporelle et ainsi ne nécessitent pas le décodage d’autres trames pour être décodées. Les trames P (Predictive Frames) sont prédites à partir d’autres trames. Pour la trame P2, l’erreur de prédiction entre la trame 11 et la trame P2, appelée résiduelle, est envoyée.
Pour la trame P3, la résiduelle entre la trame P2 et P3 est envoyée. Il existe une autre variante des trames P appelée trame B (Bi-predicted Frames) telle que représentée par la Figure 1.2. Une trame B, en général, fait appel à deux trames pour être décodée, contrairement aux trames P qui n’utilisent qu’une seule. La trame B3 est encodée et décodée après P2, mais elle est affichée avant P2. La Figure 1.3 illustre le schéma simplifié d’un encodeur vidéo. Lorsqu’une trame 1 est encodée, elle est sujette à une transformée en cosinus discrète (DC7) et une quantification (Q). Le résultat de la quantification est encodé avec un codage arithmétique (Variable Length Encoding) et passe dans la boucle du décodeur où il est sujet à une quantification inverse (Inverse Quantization) puis une DCT inverse (Inverse DC1). À la fin, il est stocké dans la mémoire-tampon (Frame Store) pour une utilisation future par les trames P ou B. Contrairement aux trames 1, les trames Pet B ne passent pas directement par la DCT, mais c’est la différence entre une trame P et son image prédite ou entre une trame B et ses images prédites qui passe par le processus d’encodage (DCT, Q puis VLC et la boucle de décodage).
Lorsqu’une image P (ou B) est encodée, elle utilise les blocs d’estimation de mouvement (Motion Estimation) et compensation de mouvement (Motion Compensation) pour trouver la meilleure ressemblance (ou la plus petite erreur résiduelle) avec l’image précédente (ou les images précédentes dans le cas des trames B). La DCT est responsable de décomposer le signal en fréquences. On distingue souvent les hautes fréquences et les basses fréquences. Les basses fréquences sont utilisées pour obtenir une approximation du signal en entrée alors que les hautes fréquences n’ajoutent que du détail à l’image et peuvent être ignorées ou codées plus agressivement sans perte notable de qualité visuelle. La quantification utilise le signal issu de la DCT pour contrôler le niveau de compression. Cette étape permet d’avoir un gain important en compression mais cause une perte de qualité. En effet, plus le taux de compression sera élevé, plus la qualité diminuera. Après la quantification, plusieurs coefficients DCT vont devenir nuls. Le codage entropique (VLC) permet aussi de compresser le signal vidéo en plus de la quantification, mais sans causer de pertes
Rôle d’un transcodeur vidéo
Dans le monde moderne, le marché du multimédia grandit d’une façon extrêmement rapide. La demande du contenu multimédia et surtout l’image et la vidéo est en pleine croissance. Pour accéder au contenu multimédia, qui est très varié par le fait de l’existence de plusieurs normes et formats [49], [54], les terminaux mobiles de toutes sortes telles que les ordinateurs portables, les assistants numériques personnels et les téléphones cellulaires sont devenus de plus en plus utilisés. Ces terminaux sont interconnectés entre eux par plusieurs réseaux hétérogènes filaires ou sans fils. Cependant, la diversité des terminaux mobiles et l’hétérogénéité des réseaux rendent difficile le processus de transport du contenu multimédia aux usagers finaux. Le transcodage est une technologie clé pour pallier ce problème. Le transcodage vidéo est l’opération de convertir une séquence vidéo compressée d’un format en entrée à un autre format en sortie. Un ensemble de caractéristiques définit un format vidéo, telles que : le débit binaire, la résolution spatiale, la résolution temporelle, la syntaxe du train de bits. La Figure 1.5 illustre les rôles d’un transcodeur vidéo.
Un transcodeur vidéo est mis au niveau d’un routeur, d’une passerelle, d’un serveur et de tout équipement intermédiaire de ce genre pour permettre l’interopérabilité et l’interconnexion entre le contenu diversifié, les différents réseaux hétérogènes filaires ou sans fils et les multiples terminaux fixes et mobiles [49]. Un transcodeur vidéo peut être utilisé dans différents cas d’utilisation [49]. Pour un cas, on peut utiliser le transcodeur pour réduire le débit binaire de la séquence vidéo imposé par les caractéristiques du réseau. Pour un autre cas, le transcodeur est employé pour réduire la résolution spatiale pour s’adapter aux capacités d’un téléphone cellulaire. Pour un troisième cas, le transcodeur est invité à changer le format entre H.263 et MPEG-4, et ajuster la résolution spatiale ainsi que la résolution temporelle pour satisfaire, aussi, les ressources limitées d’un téléphone cellulaire. De tels exemples de cas d’utilisation du transcodage vidéo sont présentés à la Figure 1.6.
Réduction du débit binaire La réduction du débit binaire (RDB) vise à réduire le débit binaire imposé par un réseau. Le transcodeur vidéo doit implémenter cette opération tout en maintenant une faible complexité de calcul et une haute qualité de la vidéo autant que possible. Cette application est requise dans des opérations telles que la lecture vidéo en transit (le streaming vidéo) ou la télédiffusion. Dans le domaine transformé, l’opération du transcodage vidéo est faite directement sur les coefficients DCT de la séquence vidéo en entrée. Le train de bits en entrée est sujet à un décodage à longueur variable (VLD) puis une déquantification (IQ1). Les coefficients DCT qui en résultent subissent par la suite une requantification (Q2). À ces coefficients obtenus après la requantification s’ajoutent toutes les métadonnées et les vecteurs de mouvements (VMs) obtenus après le VLD pour subir un encodage à longueur variable (VLC) et ainsi rencontrer le train de bits désiré en sortie. L’architecture ouverte (sans boucle de rétroaction) est illustrée dans la Figure 1.12 [36]. Une deuxième variante de l’architecture ouverte est appelée transmission sélective [47]. Cette technique consiste à éliminer les coefficients DCT hautes fréquences puis à requantifier les coefficients DCT faibles fréquences avec le même paramètre de quantification ou un paramètre différent.
L’architecture ouverte est simple en réalisation et très rapide en calcul. Cependant, ses gains sont obtenus au coût d’une dégradation sévère de la qualité à cause de la désynchronisation entre l’ encodeur et le décodeur appelée erreur de la dérive. La cause de la dérive est la suivante. La compression de la vidéo est basée sur un codage prédictif. La trame courante est prédite d’une où plusieurs trames de références, et la différence (erreur résiduelle) entre la trame cible et les trames de références est codée seulement. Quand on coupe les coefficients hautes fréquences, pour que le décodeur puisse reconstruire les trames compressées par l’encodeur, il faut qu’il y ait une synchronisation entre le décodeur et l’encodeur, c’est-à-dire que les trames de références utilisées par le décodeur soient les mêmes que celles qui soient utilisées par l’encodeur.
Or, dans le cas de l’architecture ouverte, les erreurs résiduelles ont changé après l’élimination des coefficients hautes fréquences dû à la requantification avec un paramètre de quantification différent par rapport au premier paramètre de quantification employé par la vidéo en entrée. De ce fait, du côté du décodeur, les trames reconstruites sont différentes de celles qui sont encodées et avec le temps, cette différence grandit de plus en plus à travers le groupe d’images (group of pictures GOP), et le résultat est une dégradation grave des trames reconstruites; ce qui implique une dégradation sévère de la qualité de la vidéo. Différentes architectures ont été proposées dans la littérature afin de résoudre ce problème. Parmi les solutions proposées, il y a l’ architecture simplifiée dans le domaine pixel [2]. Dans cette architecture, une seule boucle de reconstruction est partagée entre le décodeur et l’encodeur en se basant sur l’hypothèse que la DCT, l’IDCT et la compensation de mouvement (MC) sont des opérations linéaires [44; 54]. Ainsi, une seule IDCT et une seule compensation de mouvement (MC) sont nécessaires. L’architecture simple dans le domaine pixel est représentée par la Figure 1.13.
|
Table des matières
INTRODUCTION
CHAPITRE 1 INTRODUCTION AU DOMAINE DU TRANSCODAGE VIDÉO
1.1 Introduction
1.2 La compression vidéo
1.3 Rôle d’un transcodeur vidéo
1.4 Architectures de transcodage dans les domaines spatial et transformé
1.4.1 Architectures de transcodage dans le domaine spatial..
1.4.2 Architectures de transcodage dans le domaine transformé
1.5 Fonctionnalités d’un transcodeur vidéo
1.5.1 Réduction du débit binaire
1.5.2 Réduction de la résolution spatiale
1.5.2.1 Méthodes de réduction spatiale des trames vidéo
1.5.2.2 Décision des modes de macroblocks (MBs)
1.5.2.3 Mappage des vecteurs de mouvements (VMs)
1.5.3 Réduction de la résolution temporelle
1.5.4 Insertion de logo/filigrane
1.5.5 Changement de format
1.6 Conclusion
CHAPITRE 2 ANALYSE DES ALGORITHMES DE TRANSCODAGE DANS LE DOMAINE SPATIAL
2.1 Introduction
2.2 Réduction du débit binaire (RDB)
2.3 Réduction de la résolution spatiale (RRS)
2.3 .1 Principes généraux
2.3 .2 Réduction de la résolution spatiale dans H.264
2.3.2.1 Ré-estimation des VMs dans H.264
2.3.2.2 Décision des modes dans H.264
2.3.2.3 Raffinement adapté des VMs dans H.264
2.4 Réduction de la résolution temporelle (RRT)
2.4.1 Principes généraux
2.4.2 Extension de la méthode FDVS à H.264
2.5 Changement de format (CF)
2.5.1 CF de MPEG-2, MPEG-4 et H.263 vers H.264
2.5.1.1 MPEG-4 à H.264
2.5.1.2 H.263 à H.264
2.5.1.3 MPEG-2 à H.264
2.5.2 CF de H.264 vers MPEG-2, MPEG-4 et H.263
2.5.2.1 H.264 à MPEG-4
2.5.2.2 H.264 à H.263
2.5.2.3 H.264 à MPEG-2
2.5.3 CF entre H.263 et MPEG-4
2.5.3.1 H.263 à MPEG-4
2.5.3.2 MPEG-4 à H.263
2.5.4 CF entre MPEG-2 et H.263 (CF seulement de MPEG-2 à H.263)
2.5.5 CF entre MPEG-2 et MPEG-4
2.6 Insertion de logo (IL)
2.7 Conclusion
CHAPITRE 3 ANALYSE DES TRANSCODEURS VIDÉO RÉALISANT PLUS D’UNE OPÉRATION
3.1 Introduction
3.2 Le transcodeur de Shanableh
3.3 Le transcodeur de Feamster
3.4 Le transcodeur de Vetro
3.5 Le transcodeur de Xin
3.6 Comparaison entre les différents travaux
3.7 Conclusion
CHAPITRE 4 SYSTÈME UNIFIÉ DE TRANSCODAGE VIDÉO
4.1 Introduction
4.2 Formulation du problème
4.3 Système unifié
4.3.1 Description des blocs
4.3.1.1 Bloc de décodage/codage entropique
4.3.1.2 Bloc de quantification/quantification inverse
4.3.1.3 Bloc de transformée/transformée inverse
4.3.1.4 Bloc de compensation de mouvement
4.3.1.5 Bloc de mémoire-tampon
4.3.1.6 Bloc de passage des paramètres
4.3 .1. 7 Bloc des opérations
4.3.2 Blocs invoqués pour la réalisation d’une seule opération
4.3.2.1 Blocs invoqués pour l’adaptation du taux de trames
4.3.2.2 Blocs invoqués pour l’adaptation de la résolution spatiale
4.3.2.3 Blocs invoqués pour l’adaptation du format
4.3.2.4 Blocs invoqués pour l’insertion de logo
4.3.2.5 Blocs invoqués pour l’adaptation du débit binaire
4.3.3 Blocs invoqués pour la réalisation d’un ensemble d’opérations
4.4 Algorithmes proposés
4.4.1 Adaptation du débit binaire
4.4.2 Adaptation de la résolution spatiale
4.4.3 Adaptation du format
4.4.4 Adaptation du format avec adaptation de la résolution spatiale
4.5 Conclusion
CHAPITRE 5 ARCHITECTURE LOGICIELLE
5.1 lntroduction
5.2 Architecture logicielle
5 .2.1 Intel® Integrated Performance Primitives (Intel® IPP)
5 .2.2 Implémentation de 1′ architecture unifiée
5.3 Conclusion
CHAPITRE 6 SIMULA TI ONS ET RÉSULTATS
6.1 Introduction
6.2 Méthodologie de simulation
6.2.1 Adaptation du débit binaire
6.2.2 Adaptation de la résolution spatiale
6.2.3 Adaptation du format
6.2.4 Adaptation du format avec adaptation de la résolution spatiale
6.3 Conclusion
CONCLUSION
ANNEXE 1 BLOC DE RÉCUPÉRATION DES MÉTADONNÉES DANS
LA PLATEFORME UVECT : CLASSES UTILISÉES
BIBLIOGRAPHIE
Télécharger le rapport complet