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