LES PRINCIPES ET STANDARDS DE CODAGE VIDÉO
État de l’art et ses carences
Nous avons recensé dans la littérature les algorithmes qui traitent du transcodage MPEG-4 à H.264. Ils sont nombreux, mais la plupart effectuent le transcodage avec des opérations particulières telles que la réduction de résolution et de débit de trames. Peu d’entre eux traitent du transcodage d’un train binaire MPEG-4 à un train binaire H.264 (Shen (2004), Lee et Lee (2005), Lee et al. (2006), Liang et al. (2007)). Les algorithmes de transcodage MPEG-4 à H.264 vidéo peuvent se diviser en deux catégories : ceux qui travaillent dans le domaine compressé et ceux qui se font dans le domaine spatial. L’algorithme développé par Shen (2004) effectue le transcodage dans le domaine compressé. Le signal issu du décodeur MPEG-4 n’est pas ramené dans le domaine des pixels. Il existe cependant des différences majeures entre MPEG-4 et H.264, spécialement au niveau des transformées qui rendent ce type de transcodage difficile. L’auteur a donc utilisé une approche sous-optimale de matrices de transformées pour effectuer le transcodage. Par ailleurs le transcodage compressé souffre de sévères accumulations d’erreurs ; ce qui affecte grandement la qualité visuelle. Aussi, les approches fréquentielles sont moins flexibles et plus complexes à implémenter surtout pour l’estimation de mouvement. Le transcodage dans le domaine spatial souffre moins d’accumulations d’erreurs. Les algorithmes détaillés en Lee et Lee (2005), Lee et al. (2006), Liang et al. (2007) travaillent dans ce domaine.
En Lee et Lee (2005), Lee et al. (2006), les auteurs exploitent les VMs et les MCs MPEG-4. Les auteurs établissent des statistiques et dérivent une table de correspondance entre les MCs MPEG-4 et H.264. Ils déterminent ainsi les MCs H.264 les plus probables en fonction du MC MPEG-4 et ne testent que ces modes. Les VMs MPEG-4 sont réutilisés pour éviter de recommencer à zéro le coûteux processus d’estimation de mouvement (EM) et la qualité est améliorée en raffinant ces VMs. Bien que l’idée de tester uniquement les MCs les plus probables soit intéressante, la table a l’inconvénient de ne pas prendre en compte le débit binaire et le type de vidéo à transcoder. En effet la probabilité d’occurrence des MCs varie considérablement en fonction de ces deux facteurs. Par conséquent, les résultats obtenus sont assez inconsistants. À bas débits particulièrement, la perte en qualité est énorme. Par ailleurs, les auteurs de ces algorithmes donnent peu de détails sur le processus de réutilisation des VMs. Les résultats en accélération obtenus sont également peu fiables pour un contexte réel, les simulations ayant été validées sur des codecs de référence qui sont loin d’être optimaux en terme de vitesse. Ces accélérations seront nettement plus faibles une fois ces algorithmes implémentés sur des codecs commerciaux.
Schéma de principe d’un codeur vidéo
Le schéma de principe d’un codeur vidéo est présenté à la figure 1.1. Plus de détails sur les éléments de base du codage vidéo peuvent être trouvés dans Nian et al. (2004). Il faut préciser que ce schéma ne décrit que les éléments de base d’un codeur vidéo. Ce schéma peut varier à quelques différences près, d’un standard et d’un concepteur à un autre. Néanmoins, les éléments de base détaillés à la figure 1.1 s’y retrouvent toujours. Les blocs DCT (Discrete Cosinus Transform), Q, IQ, IDCT (inverse DCT), VLC (Variable Length Coding) représentent respectivement les processus de transformée en cosinus discrète, de quantification, de quantification inverse, de transformée en cosinus discrète inverse et de codage à longueur variable (codage entropique). Normalement, les images à encoder sont segmentées en blocs de taille fixe appelés macroblocs (MB) qui peuvent ensuite être décomposés en blocs de taille inférieure. Les blocs résultants passent par les diverses étapes de la figure 1.1.
Tout d’abord, le bloc de compensation de mouvement génère un prédicteur efficace pour réduire la redondance temporelle entre les blocs de la séquence vidéo. Cette prédiction est soustraite du bloc à coder pour former un bloc résiduel qui passera par l’opération DCT. La DCT a pour objectif de réduire la redondance spatiale du bloc résiduel en transformant ce dernier dans le domaine fréquentiel. Les coefficients fréquentiels sont ensuite quantifiés pour réduire le nombre de bits nécessaires pour les représenter. La quantification contribue ainsi à réduire la quantité d’information à transmettre, mais entraîne des pertes. Plus la quantification sera agressive, plus le taux de compression sera élevé, mais au détriment de la qualité. Le codage entropique est finalement appliqué au bloc quantifié pour former le signal vidéo compressé final. Les étapes IQ et IDCT servent à reconstruire le bloc transmis qui servira de référence (prédiction) pour la prochaine trame à encoder.
Notons que certaines images (ou trames) sont codées complètement, sans référence à d’autres images, c.-à-d. sans utiliser le bloc compensé par le mouvement comme prédicteur. Ce sont des trames intra. Elles sont notées généralement trame I. D’autres trames se servent de blocs appartenant à des trames précédentes ou futures comme prédicteur. Lorsqu’une trame se sert uniquement de trames précédentes, on parle de trame de type P. Dans le cas où elle utilise des trames précédentes et futures pour la prédiction, on parle de trame de type B. Ces trames faisant usage de la redondance temporelle sont appelées trames inter. Les prochaines sous-sections présentent plus en détail les concepts de redondance temporelle et spatiale.
Exploitation de la redondance temporelle
La redondance temporelle est réduite en tenant compte de l’observation suivante : d’une image à une autre, peu d’endroits changent et les changements sont souvent dus à des déplacements d’objets dans l’image. Les trames inter exploitent ce fait. Pour ces trames, on ne code que la différence entre l’image présente et l’image estimée à partir d’une trame passée (ou future). En fait, cette opération est effectuée bloc par bloc dans l’image. Le module de compensation de mouvement (CM) de la figure 1.1 est chargé de trouver, dans l’image passée (ou future), le bloc correspondant le mieux au bloc à encoder. Puisque les objets peuvent se déplacer spatialement d’une image à l’autre, le bloc représentant le mieux un bloc à encoder n’est pas nécessairement situé au même endroit spatial que ce dernier. Le module d’estimation de mouvement doit ainsi déduire les vecteurs de mouvement (le déplacement spatial) qui matérialisent le déplacement en question. Le processus d’estimation est tel que montré à la figure 1.2. Le processus d’estimation de mouvement est illustré en prenant le macrobloc MBc comme exemple.
On recherche, dans la trame passée, le MB qui correspond le mieux au MBc. Le MBr de l’image passée, qui se trouve à la position spatiale de MBc déplacé du vecteur v=(vx,vy), est le meilleur bloc correspondant. Le MBc pourra alors être reconstitué, notamment au décodage, à partir de la trame passée, en appliquant un déplacement (vx,vy) au bloc MBr. Si l’estimation de mouvement est assez bonne, la différence entre le bloc de l’image présente et le bloc estimé (reconstitué par le bloc de compensation de mouvement, voir la figure 1.1) sera pratiquement nulle. Le bloc résiduel ainsi créé (disponible après le module de soustraction) contiendra des pixels de faible amplitude et nécessitera, par conséquent peu de bits pour être codé. Au lieu de transmettre le bloc au complet, on ne transmet que le bloc résiduel et le vecteur de mouvement (VM) qui servira à le reconstruire. Ce principe est appliqué à toute la trame. Une fois le bloc résiduel obtenu, on élimine sa redondance spatiale par le module DCT, comme expliqué en détail à la sous-section suivante. Il faut noter aussi que tout comme pour les blocs inter, on peut créer une prédiction pour les blocs intra. Dans ce cas, c’est l’erreur de prédiction ou le résiduel qui passera par la DCT. Les modules de DCT inverse et de quantification inverse illustrés à la figure 1.1 servent à la reconstruction des blocs de l’image actuelle. Ils interviendront dans la prédiction et la compensation de mouvement dans le codage de l’image suivante.
|
Table des matières
INTRODUCTION
CHAPITRE 1 LES PRINCIPES ET STANDARDS DE CODAGE VIDÉO
1.1 Introduction
1.2 Principes du codage vidéo
1.2.1 Schéma de principe d’un codeur vidéo
1.2.2 Exploitation de la redondance temporelle
1.2.3 Exploitation de la redondance spatiale
1.2.4 Estimation de mouvement
1.2.5 La précision des vecteurs de mouvement
1.3 Le décodage vidéo
1.4 Le standard MPEG-4
1.5 Le standard H.264/AVC
1.5.1 Le codeur et le décodeur H.264/AVC
1.5.2 Spécificités du standard H.264
1.6 Différences entre les standards MPEG-4 et H.264
1.7 Mesures de distorsion
1.8 Méthode d’optimisation débit-distorsion
1.8.1 Méthode de détermination des vecteurs de mouvement
1.8.2 Méthode d’optimisation du mode de codage
CHAPITRE 2 ÉTAT DE L’ART
2.1 Introduction
2.2 Approche dans le domaine transformé proposée par Shen
2.3 Approche basée sur les statistiques des modes de codage proposée par Lee et al
2.4 Algorithme de Liang et al
2.5 Algorithme de Kim et al
2.6 État de l’art sur d’autres types de transcodage
2.7 Conclusion
CHAPITRE 3 MÉTHODE ET ALGORITHME DE TRANSCODAGE MPEG-4 À H.264 BASÉS SUR L’INFORMATION RÉSIDUELLE
3.1 Introduction
3.2 Information résiduelle en tant que mesure de complexité des MBs et d’efficacité desVMs et des MCs
3.2.1 Énergie résiduelle en tant que mesure d’efficacité des vecteurs de mouvement
3.2.2 Lien entre l’énergie résiduelle et le partitionnement du MC
3.3 Détermination du mode de codage
3.3.1 Détermination du mode de codage pour des macroblocs codés Intra en MPEG-4
3.3.2 Détermination du mode de codage pour des macroblocs codés Skip en MPEG-4
3.3.3 Détermination du mode de codage pour des macroblocs codés Inter16×16 en MPEG-4
3.3.4 Détermination du mode de codage pour des macroblocs codés Inter8×8 en MPEG-4
3.3.5 Sommaire des modes de codage H.264 candidats selon le mode de codage MPEG-4 d’entrée
3.4 Détermination des vecteurs de mouvement
3.4.1 Détermination des vecteurs de mouvement pour un macrobloc codé Intra en MPEG-4
3.4.2 Détermination des vecteurs de mouvement pour un macrobloc codé Skip en MPEG-4
3.4.3 Détermination des vecteurs de mouvement pour un macrobloc codé Inter16×16 en MPEG-4
3.4.4 Détermination des vecteurs de mouvement pour un macrobloc codé Inter8×8 en MPEG-4
3.5 Simulations et résultats
3.6 Conclusion
CHAPITRE 4 MÉTHODE DE TRANSCODAGE MPEG-4 À H.264 BASÉE SUR LA SOMME ABSOLUE RELATIVE DU RÉSIDUEL
4.1 Introduction
4.2 Détermination du mode de codage
4.2.1 Influence du type de vidéo sur le mode de codage
4.2.2 Influence du débit binaire sur le mode de codage
4.2.3 Utilisation de la somme absolue relative du résiduel comme mesure quantitative de complexité du macrobloc
4.2.4 Utilisation du principe de corrélation de trames consécutives
4.3 Conclusion
CHAPITRE 5 ALGORITHME DE TRANSCODAGE MPEG-4 À H.264 BASÉ SUR LA SOMME ABSOLUE RELATIVE DU RÉSIDUEL
5.1 Détermination du mode de codage des macroblocs
5.1.1 Détermination du mode de codage H.264 pour des macroblocs d’entrée MPEG-4 de type Intra
5.1.2 Détermination du mode de codage H.264 pour des macroblocs d’entrée MPEG-4 de type Skip
5.1.3 Détermination du mode de codage H.264 pour des macroblocs d’entrée MPEG-4 de type Inter16×16
5.1.4 Détermination du mode de codage H.264 pour des macroblocs d’entrée MPEG-4 de type Inter8×8
5.2 Détermination des vecteurs de mouvement
5.2.1 Détermination des vecteurs de mouvement pour un mode MPEG-4 d’entrée Skip
5.2.2 Détermination des vecteurs de mouvement pour un mode MPEG-4 d’entrée Inter16×16
5.2.3 Détermination des vecteurs de mouvement pour un mode MPEG-4 d’entrée Inter8×8
5.3 Simulations et résultats obtenus
5.4 Conclusion
CHAPITRE 6 CONTRIBUTIONS
CONCLUSION
ANNEXE I ÉTUDE COMPARATIVE DE LA MÉTHODE DE CALCUL DE LA SARR SUR LA TOTALITÉ ET SUR LA MOITIÉ DES PIXELS
ANNEXE II LE TEST ANOVA
ANNEXE III POURCENTAGE DE RAFFINEMENT DES VECTEURS DE MOUVEMENT
ANNEXE IV VALEURS MOYENNES DE L’ASAR SELON LA COMPLEXITÉ DE LA VIDÉO
ANNEXE V RÉSULTATS DE SIMULATIONS SUPPLÉMENTAIRES POUR VIDÉOS 1280×720
ANNEXE VI INFLUENCE SUR LA QUALITÉ ET LA VITESSE DE L’ORDRE DES PROCESSUS DE RAFFINEMENT ET D’ÉVALUATION DU COÛT INTERVENANT DANS LA DÉTERMINATION DES VECTEURS DEMOUVEMENT
LISTE DE RÉFÉRENCES BIBLIOGRAPHIQUES
Télécharger le rapport complet