La compression vidéo h.264.
Transcription
La compression vidéo h.264.
Document de synthèse La compression vidéo H.264. Nouvelles possibilités dans le secteur de la vidéosurveillance. Table des matières 1. Introduction 3 2. Développement du H.264 3 3. Fonctionnement de la compression vidéo 4 4. Profils et niveaux du H.264 5 5.Comprendre les images 5 6.Méthodes de réduction des données de base 6 7.Efficacité du H.264 7 8.Conclusion 9 1. Introduction La toute dernière norme de compression vidéo, H.264 (également appelée MPEG-4 Partie 10/AVC - AVC signifiant codage vidéo avancé en anglais), est appelée à devenir la norme vidéo de choix au cours des prochaines années. Le H.264 est une norme ouverte et sous licence compatible avec la plupart des techniques de compression disponibles aujourd’hui. Un encodeur H.264 peut réduire la taille d’un fichier vidéo numérique de plus de 80 % par rapport à la norme Motion JPEG et de 50 % par rapport à la norme MPEG-4 Partie 2, sans que la qualité d’image ne soit compromise. Résultat : un fichier vidéo nécessite nettement moins d’espace de stockage et de bande passante sur le réseau. Ce qui signifie aussi que vous pouvez bénéficier d’une qualité vidéo nettement supérieure à un débit binaire donné. Ayant été élaborée en commun par des organisations de normalisation des secteurs des télécommunications et de l’informatique, la norme H.264 est appelée à être plus largement adoptée que les normes précédentes. Le H.264 a déjà été intégré dans de nouveaux gadgets électroniques tels que les téléphones mobiles et les lecteurs vidéo numérique. Son acceptation par les utilisateurs a été très rapide. Des prestataires de services tels que les sociétés de stockage vidéo en ligne et de télécommunications commencent également à adopter le H.264. Dans le secteur de la vidéosurveillance, il est fort probable que le H.264 trouvera rapidement sa place dans des applications où les utilisateurs exigent à la fois une haute résolution et une fréquence d’images élevée, comme pour la surveillance des autoroutes, des aéroports et des casinos, où une fréquence de 30/25 images (NTSC/PAL) par seconde est nécessaire. C’est à ce niveau que la réduction des besoins de bande passante et de stockage entraînera les plus grandes économies. Le H.264 devrait également accélérer l’adoption des caméras mégapixel dans la mesure où cette technologie de compression très efficace peut réduire la taille des fichiers encombrants et le débit obtenus sans compromettre la qualité d’image. Mais tout n’est pas parfait. Si le H.264 permet d’économiser sur les frais de stockage et la bande passante, elle nécessite cependant des caméras réseau et des postes de surveillance plus performants. 2. Développement du H.264 Le H.264 est le fruit d’un projet commun entre le Groupe d’experts en codage vidéo (VCEG) de l’International Telecommunications Union (ITU-T) et le Groupe d’experts en images animées (MPEG) de l’ISO/IEC. ITU-T assure la coordination des normes de télécommunications pour le compte de l’International Telecommunication Union. L’ISO est l’Organisation internationale de normalisation. De son côté, l’IEC (Commission électrotechnique internationale) assure la surveillance de toutes les technologies électroniques, électriques et afférentes. H.264 est le nom employé par l’ITU-T, l’ISO/IEC préférant pour sa part opter pour l’appellation MPEG-4 Partie 10/AVC, la norme étant présentée comme un nouvel élément de la série de normes MPEG-4. La série MPEG-4 comprend par exemple le MPEG-4 Partie 2, norme utilisée par les encodeurs vidéo IP et les caméras réseau. Conçue pour remédier à plusieurs faiblesses des normes de compression vidéo précédentes, la norme H.264 offre les avantages suivants : > > > > > à qualité vidéo équivalente, réduction moyenne du débit de 50 % par rapport à n’importe quelle autre norme vidéo Tolérance d’erreurs, ce qui signifie que les erreurs de transmission sur différents réseaux sont tolérées Latence réduite et meilleure qualité en cas de latence supérieure Spécification de syntaxe simple facilitant l’implémentation Décodage correspondant exactement à la source et définissant de façon exacte les numérisations qui doivent être effectuées par un encodeur et un décodeur pour éviter l’accumulation d’erreurs 3 Le H.264 est suffisamment souple pour pouvoir être utilisé avec un large éventail d’applications nécessitant des débits variables. Par exemple, dans les applications de vidéo de loisir (diffusion, satellite, câble et DVD), le H.264 peut offrir une performance située entre 1 et 10 Mbit/s avec une latence élevée, mais pour des services de télécommunications il peut offrir des débits de moins de 1 Mbit/s avec une latence réduite. 3. Fonctionnement de la compression vidéo La compression vidéo a pour but de réduire et de supprimer les données redondantes de façon à permettre la transmission et le stockage efficace d’un fichier vidéo numérique. Le processus consiste à traiter la source vidéo à l’aide d’un algorithme afin de créer un fichier compressé prêt pour la transmission ou le stockage. Pour lire le fichier compressé, un algorithme inverse est appliqué, ce qui permet d’obtenir une vidéo contenant pratiquement le même contenu que la source vidéo d’origine. Le temps pris pour la compression, l’envoi, la décompression et l’affichage d’un fichier est ce que l’on appelle la latence. À capacité de traitement égale, plus l’algorithme de compression est perfectionné, plus la latence est élevée. Une paire d’algorithmes travaillant ensemble est ce que l’on appelle un codec (encodeur/décodeur) vidéo. Les codecs vidéo qui appliquent différentes normes ne sont normalement pas compatibles les uns avec les autres. En d’autres termes, le contenu vidéo qui est compressé à l’aide d’un algorithme ne peut pas être décompressé à l’aide d’un algorithme différent. Par exemple, un décodeur MPEG-4 Partie 2 n’est pas compatible avec un encodeur H.264. L’explication réside dans le fait qu’un algorithme ne peut pas décoder correctement le résultat obtenu par un autre algorithme, mais il est possible d’utiliser plusieurs algorithmes différents dans le même logiciel ou matériel afin de pouvoir compresser plusieurs formats. Les normes de compression vidéo n’utilisent pas toutes les mêmes méthodes pour réduire les données, ce qui explique que les résultats diffèrent en termes de débit, de qualité et de latence. Les résultats obtenus avec les encodeurs qui utilisent la même norme de compression peuvent également varier parce que le créateur d’un encodeur peut choisir d’utiliser différents outils spécifiés par une norme. Tant que le résultat d’un encodeur est conforme au format de la norme et au décodeur, il est possible d’effectuer des implémentations différentes. Ceci représente un avantage, car il est ainsi possible d’avoir des implémentations adaptées à chaque objectif et budget. Les encodeurs logiciels professionnels qui ne fonctionnent pas en temps réel et qui sont utilisés pour le mastering de contenu optique devraient pouvoir être en mesure d’offrir de meilleures vidéos encodées qu’un encodeur matériel en temps réel utilisé pour la vidéoconférence et intégré à un appareil portatif. Par conséquent, vous n’êtes pas assuré d’obtenir un certain débit ou une certaine qualité avec une certaine norme. En outre, la performance d’une norme ne peut pas être correctement comparée à celle d’autres normes ni même d’autres implémentations de la même norme, sans que le mode d’implémentation ait été défini au préalable. Contrairement à un encodeur, un décodeur doit implémenter toutes les parties requises d’une norme pour pouvoir décoder un train de bits conforme. La raison à cela est qu’une norme spécifie la façon exacte dont un algorithme de décompression doit rétablir chaque bit d’une vidéo compressée. Le graphique ci-dessous présente une comparaison du débit binaire obtenu, à niveau de qualité d’image égal, entre les normes vidéo suivantes : Motion JPEG, MPEG-4 Partie 2 (sans compensation de mouvement), MPEG-4 Partie 2 (avec compensation de mouvement) et H.264 (profil de base). 4 Scène dans l’entrée d’une porte H.264 (profil de base) MPEG-4 Partie 2 (sans compensation de mouvement) MPEG-4 Partie 2 (avec compensation de mouvement) 7,000 Motion JPEG 6,000 Débit (kbit/s) 5,000 4,000 3,000 2,000 1,000 0 50 100 Temps (s) Figure 1. 4. Un encodeur H.264 génère au maximum 50 % de bits par seconde de moins qu’un encodeur MPEG-4 avec compensation de mouvement. L’encodeur H.264 est au moins trois fois plus efficace qu’un encodeur MPEG-4 sans compensation de mouvement et au moins six fois plus efficace qu’un encodeur Motion JPEG. Profils et niveaux H.264 Le groupe ayant procédé à l’élaboration de la norme H.264 a cherché à créer une solution simple et claire, en limitant ses options et ses caractéristiques au minimum. Un aspect important de cette norme au même titre que les autres normes vidéo, est qu’elle permet une configuration des profils (ensembles de caractéristiques algorithmiques) et des niveaux (classes de performance) de façon à parvenir à une compatibilité optimale avec les productions standards et les formats les plus courants. Le H.264 possède sept profils, qui ciblent chacun une catégorie spécifique d’applications. Chaque profil définit l’ensemble des fonctions que l’encodeur peut utiliser et limite la complexité d’implémentation. Les caméras réseau et les encodeurs vidéo utiliseront très vraisemblablement un profil appelé profil de base, qui est principalement destiné aux applications où les ressources informatiques sont limitées. Le profil de base est le mieux adapté, en raison de la performance fournie par un encodeur en temps réel intégré à un produit de vidéo sur IP. Ce profil permet également d’obtenir une latence réduite, ce qui est extrêmement important dans le domaine de la vidéosurveillance et également particulièrement important pour l’activation des fonctions de vue panoramique, d’inclinaison et de zoom (PTZ) en temps réel des caméras réseau PTZ. Le H.264 possède 11 niveaux de gestion des besoins de performance, de bande passante et de mémoire. Chaque niveau définit le débit et le niveau d’encodage en macro-blocs par seconde pour des résolutions allant de QCIF à la télévision HD voir au-delà. Plus la résolution est élevée, plus un niveau élevé s’impose. 5. Comprendre les images Selon le profil H.264 utilisé, différents types d’images, tels que les images I, les images P et les images B, peuvent être utilisés par un encodeur. Une image I, ou intra-image, est une image autonome qui peut être décodée indépendamment, sans référence à d’autres images. La première image d’une séquence vidéo est toujours une intra-image. Les images I sont nécessaires en tant que points de départ pour de nouveaux téléspectateurs ou en tant que points de resynchronisation si le train de bits transmis est endommagé. Les images I peuvent être utilisées pour l’implémentation de fonctions d’avance rapide et de rembobinage et autres fonctions d’accès aléatoire. Un encodeur insère automatiquement des images I à intervalles réguliers ou sur demande si il est prévu que de nouveaux clients rejoignent les autres dans la visualisation d’un flux. L’inconvénient des images I est qu’elles consomment beaucoup plus de bits, mais, d’un autre côté, elles ne génèrent pas beaucoup d’artefacts. 5 Une image P est une inter-image prédictive qui fait référence aux parties des images I et/ou P antérieures pour le codage de l’image. Les images P nécessitent généralement moins de bits que les images I, mais elles sont généralement très sensibles aux erreurs de transmission en raison de la dépendance complexe vis-à-vis des images de référence P et I antérieures. Une image B est une inter-image bi-prédictive qui fait référence à une image antérieure ainsi qu’à une image future. I Figure 2. B B P B B P B B I B B P Séquence type avec des images I, B et P. Une image P peut uniquement faire référence aux images I ou P précédentes, alors qu’une image B peut faire référence aux images I ou P précédentes et suivantes. Lorsqu’un décodeur vidéo rétablit une vidéo en décodant le train de bits image par image, le décodage doit toujours commencer par une image I. Les images P et B, si elles sont utilisées, doivent être décodées avec les images de référence. Dans le profil de base H.264, seules des images I et P sont utilisées. Ce profil est idéal pour les caméras réseaux et les encodeurs vidéo en raison de la faible latence obtenue, les images B n’étant pas utilisées. 6. Méthodes de réduction du volume des données de base Plusieurs méthodes peuvent être employées pour réduire le volume des données vidéo, aussi bien dans une image qu’entre deux séries d’images. Dans une image, il est possible de réduire le poids des données en supprimant uniquement les informations inutiles, ce qui aura un impact sur la résolution de l’image. Dans une série d’images, il est possible de réduire le volume des données vidéo par des méthodes telles que le codage différentiel, qui est utilisé par la plupart des normes de compression vidéo, y compris H.264. Dans le codage différentiel, une image est comparée à une image de référence (une image I ou P antérieure) et seuls les pixels qui ont changé par rapport à l’image de référence sont codés. Cela permet de réduire le nombre de valeurs de pixel codées et envoyées. Figure 3. Avec le format Motion JPEG, les trois images de la séquence ci-dessus sont codées et envoyées en tant qu’images uniques séparées (images I), sans aucune dépendance entre elles. 6 Non transmis Transmis Figure 4. Avec le codage différentiel (utilisé dans la plupart des normes de compression vidéo, y compris H.264), seule la première image (image I) est codée dans son intégralité. Sur les deux images suivantes (images P), il est fait référence à la première image pour les éléments statiques (la maison) et seuls les éléments en mouvement (l’homme qui court) sont codés à l’aide de vecteurs de mouvement, ce qui réduit la quantité d’informations transmises et stockées. La quantité de données encodées peut être réduite davantage encore si la détection et l’encodage des différences sont basés sur des blocs de pixels (macro-blocs) plutôt que sur des pixels individuels. Par conséquent, de plus grandes surfaces sont comparées et seuls les blocs nettement différents sont codés. Les données associées à l’indication de l’emplacement des zones à modifier s’en trouvent également réduites. Cependant, le codage différentiel ne réduirait pas les données de manière significative s’il y a beaucoup de mouvement dans une vidéo. Dans ce cas, il est possible de recourir à des techniques telles que la compensation de mouvement basée sur les blocs. Cette technique tient compte du fait qu’une bonne partie de ce qui compose une nouvelle image dans une séquence vidéo se retrouve dans une image précédente, bien qu’à un emplacement potentiellement différent. Cette technique divise une image en série de macro-blocs. Il est possible de composer ou de « prédire » une nouvelle image (une image P, par exemple) bloc par bloc en recherchant un bloc identique dans une image de référence. Si un bloc référent est trouvé, l’encodeur code tout simplement l’emplacement dans l’image de référence où se situe le bloc identique. Le codage du vecteur de mouvement utilise moins de bits que le codage du contenu réel d’un bloc. Fenêtre de recherche Bloc correspondant Vecteur de mouvement Bloc cible Image antérieure Image P Figure 5. 7. Illustration de la compensation de mouvement basée sur les blocs Efficacité du H.264 Le H.264 porte la technologie de la compression vidéo à un nouveau niveau. Le H.264 permet de disposer d’un nouveau système d’intra-prédiction sophistiqué pour l’encodage des images I. Ce système peut considérablement réduire la taille binaire d’une image I tout en maintenant une qualité élevée et en permettant la prédiction successive de moindre blocs de pixels dans chaque macro-bloc d’une image. Pour cela, le système essaye de trouver des pixels correspondants parmi les pixels encodés précédemment attenant au nouveau bloc de 4x4 pixels devant être intra-codé. La réutilisation des valeurs des pixels qui ont déjà été encodés peut réduire considérablement la taille binaire. La nouvelle intra-prédic- 7 tion est un aspect essentiel de la technologie H.264 dont la grande efficacité a été démontrée. En revanchhe, si seules des images I étaient utilisées dans un flux H.264, la taille de fichier serait nettement plus réduite qu’avec un flux Motion JPEG qui utilise uniquement des images I. Dans ce mode, quatre pixels situés au bas du bloc du dessus sont copiés verticalement dans une partie d’un macro-bloc intra-codé. Figure 6. Figure 7. Dans ce mode, quatre pixels situés à droite du bloc de gauche sont copiés horizontalement dans une partie d’un macro-bloc intra-codé. Dans ce mode, huit pixels situés au bas des blocs du dessus sont copiés en diagonale dans une partie d’un macrobloc intra-codé. Illustrations de certains des modes utilisables avec l’intra-prédiction lors du codage des pixels 4x4 dans un des 16 blocs dont se compose un macro-bloc. Chacun des 16 blocs d’un macro-bloc peut être codé selon différents modes. Image source d’origine Image intra-prédite Image résiduelle Image finale Les images ci-dessus montrent l’efficacité du système d’intra-prédiction du H.264, l’image intra-prédite étant envoyée « gratuitement ». Seuls le contenu résiduel et les modes d’intra-prédiction doivent être codés pour obtenir l’image finale. La compensation de mouvement basée sur les blocs — utilisée pour l’encodage des images P et B — a également été améliorée dans le H.264. Un encodeur H.264 peut choisir de rechercher les blocs correspondants — avec une précision allant jusqu’au sous-pixel — seulement dans certaines zones d’une ou plusieurs images de référence ou dans plusieurs zones. Il est possible de modifier la taille et la forme des blocs de façon à améliorer le taux de correspondance. Dans les zones où aucun bloc correspondant ne peut être trouvé, des macro-blocs intra-codés sont utilisés. Le degré élevé de souplesse fourni par la compensation de mouvement basée sur les blocs qui est utilisée dans la norme H.264, s’avère fort appréciable dans les scènes bien 8 remplies, où il est possible de maintenir la qualité pour les applications exigeantes. La compensation de mouvement est l’aspect le plus complexe pour un encodeur vidéo. Les différentes manières et les différents degrés avec lesquels elle peut être implémentée par un encodeur H.264 peuvent avoir un impact sur l’efficacité de la compression d’une vidéo. Avec le H.264, un filtre de déblocage en boucle permet de réduire les artefacts de bloc habituels — constatés sur les vidéos très compressées à l’aide de normes Motion JPEG et MPEG. Ce filtre adoucit les bords des blocs en s’appuyant sur sa capacité d’adaptation, permettant d’obtenir une vidéo décompressée presque parfaite. Figure 8. 8. Les artefacts de l’image de gauche fortement compressée sont réduits lorsqu’un filtre de déblocage est appliqué, comme on peut le voir sur l’image de droite. Conclusion La norme H.264 représente un énorme pas en avant dans le domaine des technologies de compression vidéo. Elle garantie une meilleure efficacité de compression en raison de la plus grande précision des fonctions prédictives et d’une meilleure tolérance des erreurs. Elle offre de nouvelles possibilités pour la création d’encodeurs vidéo offrant des flux vidéo de plus haute qualité, des fréquences d’image plus importantes et des résolutions plus élevées, à débit égal (par rapport aux normes précédentes) ou, à l’inverse, la même qualité de vidéo à des débits inférieurs. Avec le H.264, l’ITU, l’ISO et l’IEC ont pour la première fois travaillé ensemble à la création d’une norme de compression vidéo internationale commune. En raison de sa souplesse, le H.264 a été appliqué dans des domaines variés tels que les DVD à haute définition (Blu-ray, par exemple), la diffusion vidéo numérique, télévision à haute définition comprise, le stockage vidéo en ligne (ex : YouTube), la téléphonie mobile de troisième génération, des logiciels tels que QuickTime, Flash et le système d’exploitation MacOS X d’Apple Computer, et des consoles de jeux vidéo telles que la PlayStation 3. Utilisable dans de nombreux secteurs d’activité et pour de multiples applications grand public et professionnelles, le H.264 est appelée à remplacer les autres normes et méthodes de compression actuellement utilisées. Le format H.264 étant de plus en plus couramment utilisé dans des équipements tels que les caméras sur IP, les encodeurs vidéo et les logiciels de gestion vidéo, les créateurs et intégrateurs de systèmes devront faire en sorte de choisir des produits et fournisseurs prenant en charge cette nouvelle norme ouverte. Dans l’immédiat, les produits de vidéo sur IP compatibles H.264 et Motion JPEG représentent la formule idéale pour une souplesse maximale et des possibilités d’intégration optimales. 9 A propos d’Axis Communications Axis est une société informatique qui fournit des solutions de vidéo sur IP pour les installations professionnelles. Leader mondial de la vidéo sur IP, la société mène la transition de la vidéosurveillance analogique vers le numérique. Les produits et solutions Axis, principalment destinés à la vidéosurveillance et au contrôle distant, reposent sur une plate-forme technologique ouverte et innovante. Axis est une société suédoise qui dispose de filiales dans 18 pays et travaille en coopération avec de nombreux partenaires dans plus de 70 pays. Fondée en 1984, Axis est cotée à la bourse Nordic OMX, Large cap, Information Technology. Des informations complémentaires sur la société sont disponibles sur www.axis.com ©2008 Axis Communications AB. AXIS COMMUNICATIONS, AXIS, ETRAX, ARTPEC and VAPIX sont des marques déposées d’Axis AB ou en cours de dépôt par Axis AB dans différentes juridictions. Tous les autres noms, produits ou services sont la propriété de leurs détenteurs respectifs. Document sujet à modification sans préavis. Axis Communications SAS - RCS B408969998 - 31804/FR/R1/0804 www.axis.com