H.264
H. 264, ou MPEG-4 AVC, est une norme de codage vidéo développée conjointement par l'UIT-T Q. 6/SG16 Video Coding Experts Group mais aussi l'ISO / CEI Moving Picture Experts Group et est le produit d'un effort de partenariat connu sous le nom Joint Video Team.
H. 264, ou MPEG-4 AVC (Advanced Video Coding), est une norme de codage vidéo développée conjointement par l'UIT-T Q. 6/SG16 Video Coding Experts Group (VCEG) mais aussi l'ISO/CEI Moving Picture Experts Group (MPEG) et est le produit d'un effort de partenariat connu sous le nom Joint Video Team (JVT). La norme UIT-T H. 264 et la norme ISO/CEI MPEG-4 Part 10 (ISO/CEI 14496-10) sont techniquement semblables, et la technologie employée est aussi connue sous le nom AVC, pour Advanced Video Coding. La première version de la norme a été acceptée en mai 2003 et la plus récente date de mars 2005.
Le JVT travaille aujourd'hui sur le concept de scalabilité en élaborant une extension à la norme H. 264, il s'agit des spécifications Scalable Video Coding (SVC).
Historique
Le nom H. 264 provient de la famille de normes vidéo H. 26x définies par l'UIT-T. Cependant, ce codec a été développé dans le cadre du MPEG, l'UIT-T se contentant de l'adopter ensuite et de l'éditer en son sein. Dans le cadre du MPEG, le sigle AVC (Advanced Video Coding) fut choisi par ressemblance avec le codec audio AAC MPEG-2 part 7 qui avait été appelé ainsi pour le différencier du codec audio MPEG-2 part 3 (le fameux MP3). La norme est généralement nommée H. 264/AVC (ou AVC/H. 264, H. 264/MPEG-4 AVC ou MPEG-4/H. 264 AVC) pour souligner l'héritage commun. Le nom H. 26L, rappelant son lien avec l'UIT-T est nettement moins commun mais toujours utilisé. De temps à autre, il est aussi nommé «le codec JVT», en référence à l'organisation JVT (Joint Video Team) qui l'a développé. Il existe un précédent dans l'élaboration d'une norme de codage vidéo commune entre le MPEG et l'UIT-T avec MPEG-2 et H. 262 qui sont semblables.
Objectifs et applications
Au départ, l'UIT-T lança le projet H. 26L en 1998 dans l'objectif de créer une nouvelle architecture de codec ayant pour but un gain en efficacité de codage d'un rapport au moins égal à 2 comparé aux standards existants (MPEG-2, H. 263 et MPEG-4 Part 2). Un autre but était de créer une interface simple pour pouvoir adapter le codec aux divers protocoles de transport (commutation de paquets et de circuits). Le codec a été développé en s'assurant qu'il serait transposable sur plate-formes à un coût raisonnable, c'est-à-dire en tenant compte des progrès réalisés par l'industrie des semi-conducteurs en matière de design et des procédés.
En 2001, le projet H. 26L avait atteint ses objectifs en taux de compression comme le démontrèrent des tests subjectifs réalisés par… MPEG. C'est à ce moment que l'UIT-T et MPEG décidèrent d'un commun accord de créer le Joint Video Team (JVT) dans l'objectif de standardiser le codec ensemble et de l'adapter aux divers besoins de l'industrie (vidéophonie, streaming, télévision, mobile). En effet, les applications habituellement visées par l'UIT-T concernent les bas débits (vidéophonie, mobile), applications pour lesquelles H. 26L était optimisé, tandis que les membres de MPEG désiraient l'adapter à d'autres formats (télévision, HD). Des outils algorithmiques comme le support de l'entrelacé ont été ajoutés et une réduction de la complexité a été accomplie.
Le codec H. 264/AVC est par conséquent adapté à une très grande variété de réseaux et de dispositifs (par exemple, pour la diffusion de la télévision, le stockage HD DVD et Blu-ray, le streaming RTP/IP, et des dispositifs de téléphonie propre à l'UIT-T).
À la suite de la première version de la norme, le JVT a développé quelques extensions, connues sous le nom Fidelity Range Extensions (FRExt). Ces extensions ont pour but de prendre en charge une précision de quantification accrue (ajout des codages 10-bit et 12-bit) et une meilleure définition de la chrominance (ajout des structures de quantification YUV 4 :2 :2 et YUV 4 :4 :4) et visent des applications professionnelles (Studio). Plusieurs autres fonctionnalités ont aussi été adoptées pour perfectionner la qualité subjective en haute définition (ajout d'une transformée 8×8 en plus de la transformée 4×4 existante, ajout de matrices de quantification) ou pour des besoins spécifiques (codage sans perte, support d'autres espaces de couleurs). Le travail de conception sur les Fidelity Range Extensions a été finalisé en juillet 2004, et figé en septembre 2004.
Depuis la fin du développement de la version originale de la norme en mai 2003, le JVT a fait publier 4 versions acceptés par l'UIT-T et MPEG, correspondant à l'ajout de FRExt ainsi qu'à des corrections.
Caractéristiques détaillées
H. 264/AVC (MPEG-4 Part 10) comprend de nombreuses techniques nouvelles qui lui permettent de compresser bien plus efficacement les vidéos que les normes précédentes (H. 261, MPEG-1, MPEG-2, MPEG-4 Part 2/ASP) et apporte plus de flexibilité aux applications dans la plupart d'environnements réseau. Ces fonctionnalités principales comprennent :
- Une compensation de mouvement pouvant être effectuée comparé à plusieurs images de référence déjà codées. Le choix de l'image de référence intervient au niveau macrobloc et sous-macrobloc. Ceci permet d'utiliser occasionnellementjusqu'à 32 images de référence (contrairement aux précédentes normes, qui étaient limitées à une ou dans le cas d'images B conventionnelles, à deux) et jusqu'à 4 références différentes pour un même macrobloc. Cette fonctionnalité spécifique permet généralement des améliorations modestes au niveau du débit et de la qualité dans la majorité des scènes. Mais dans certains types de scènes, comme par exemple les scènes contenant des flashs rapides et répétitifs ou des scènes réapparaissant souvent, il permet une réduction du débit réellement significative.
- Une compensation de mouvement pouvant utiliser 7 tailles de blocs différentes (16×16, 16×8, 8×16, 8×8, 8×4, 4×8 4×4) permet une segmentation particulièrement précise de zones se déplaçant.
- Une précision au quart de pixel pour la compensation de mouvement, donnant la possibilité une description particulièrement précise du déplacement des zones en mouvement. Pour la chrominance, la précision de la compensation de mouvement se fait même au huitième de pixel.
- Une compensation de mouvement pondérée ( (en) Weighted Prediction) par des poids et des décalages permettant à un codeur de construire des prédictions s'adaptant au changement de luminance et de chrominance de la scène courante. Ceci apporte surtout un gain pour les scènes comportant des transitions dues à des flashs ou des fondus entre scènes effectués au montage.
- Un filtrage anti-blocs ( (en) deblocking filter), effectué dans la boucle de codage et opéré sur les blocs 4×4, servant à diminuer les artefacts caractéristiques du codage avec transformation en bloc.
- Une transformée entière effectuée sur des blocs de taille 4×4 pixels (proche de la DCT classique). Pour les nouveaux profils issus des extensions FRExt, une transformée supplémentaire de taille 8×8 a été ajoutée.
- Une transformée de Hadamard effectuée sur les cœfficients moyens de la transformée spatiale primaire (pour la chroma et peut-être la luminance occasionnellemen) pour obtenir toujours plus de compression à l'endroit où l'image est adoucie.
- Une prédiction spatiale sur le bord des blocs voisins pour un codage «intra» (plutôt que l'unique prédiction sur les cœfficients continus présente dans MPEG-2 Part 2 et la prédiction sur les cœfficients de la transformée de H. 263+ et MPEG-4 Part 2).
- Un codage arithmétique ( (en) CABAC : Context-adaptive binary arithmetic coding), qui est une technique particulièrement élaborée de codage entropique qui produit d'excellents résultats en termes de compression mais possède une grande complexité (non disponible dans les profils baseline et extended).
- Un codage adaptatif de type Huffman à longueur variable ( (en) CAVLC : Context-adaptive Huffman variable-length coding), qui est une alternative moins complexe que CABAC pour le codage des tables de cœfficients de transformation. Quoique moins complexe que CABAC, CAVLC est plus élaboré et plus efficace que les méthodes généralement utilisées jusqu'désormais pour coder les cœfficients.
- Une technique simple et hautement structurée de codage à longueur variable ( (en) VLC : Variable length coding) pour de nombreux éléments de syntaxe non codés par CABAC ou CAVLC, reconnu comme du code exponentiel-Golomb (Exp-Golomb).
- Une couche d'abstraction réseau ( (en) NAL : Network abstraction layer) est définie pour permettre l'usage de la même syntaxe vidéo dans de nombreux environnements réseau, ceci inclut des possibilités telles que des paramètres de séquence ( (en) SPS : Sequence parameter set) et d'image ( (en) PPS : picture parameter set) qui offrent plus de robustesse et de flexibilité que les conceptions antérieures.
- Les tranches de commutation (appelées SP et SI) autorisent un codeur de diriger un décodeur pour que ce dernier puisse s'insérer dans un flux vidéo entrant, ceci permet du streaming vidéo à débit variable et un fonctionnement en «trick mode» (mode truqué). Lorsque un décodeur saute au milieu d'un flux vidéo en utilisant cette technique, il peut se synchroniser avec les images présentes à cet lieu malgré l'utilisation d'autres images (ou pas d'images) comme références préalables au déplacement.
- L'ordonnancement flexible des macroblocs ( (en) FMO : Flexible macroblock ordering, alias slice groups) et l'ordonnancement arbitraire des tranches ( (en) ASO : Arbitrary slice ordering) sont des techniques de restructuration de l'ordonnancement des régions principales de l'image (macroblocs). Typiquement utilisées pour perfectionner la résistance aux erreurs ainsi qu'aux pertes, ces techniques peuvent aussi être utilisées à d'autres fins.
- Le partitionnement des données ( (en) DP : Data partitioning) donne la possibilité de séparer les éléments de syntaxe d'importance plus ou moins élevée dans différents paquets de données. Ceci permet d'appliquer un niveau de protection inégal ( (en) UEP : Unequal error protection) aux erreurs selon l'importance des données et de perfectionner ainsi la fiabilité du flux.
- Les tranches redondantes ( (en) RS : Redundant slices) permettent de perfectionner la résistance aux erreurs ainsi qu'aux pertes en permettant au codeur de transmettre une version additionnelle de tout ou partie de l'image dans une qualité moindre qui pourra être utilisée si le flux principal est corrompu ou perdu.
- Un processus automatisé simple de prévention contre la création accidentelle de faux codes de démarrage. Il s'agit de séquences binaires spéciales qui sont positionnées au sein des données, donnant la possibilité un accès aléatoire au flux de données ainsi qu'une resynchronisation en cas de perte temporaire du flux.
- Des informations supplémentaires d'amélioration ( (en) SEI : Supplemental enhancement information) et des informations d'état qualitatif de la vidéo ( (en) VUI : Video usability information) sont des informations supplémentaires qui peuvent être insérées dans le flux pour perfectionner son usage pour la plupart d'applications.
- Des images auxiliaires peuvent être utilisées pour des usages tels que le mixage par alpha channel.
- La numérotation des images permet la création de sous-séquences (donnant la possibilité une scalabilité temporelle par l'inclusion optionnelle d'images supplémentaires entre d'autres images) mais aussi la détection et la dissimulation de la perte d'images entières (qui peuvent se produire en cas de perte de paquets réseau ou d'erreurs de transmission).
- Le comptage de l'ordre des images sert à conserver l'ordre des images et du son dans des images décodées isolément des informations de minutage (ce autorise un dispositif de transporter, contrôler et/ou changer l'information de minutage sans affecter le contenu des images).
Ces techniques, mais aussi plusieurs autres, aident H. 264 à dépasser significativement les standards qui ont précédé, dans une grande variété de circonstances et dans une grande variété d'environnements d'application. H. 264 peut fonctionner fréquemment nettement mieux que la vidéo MPEG-2 en obtenant la même qualité avec un bitrate diminué de moitié, ou alors plus.
Comme de nombreuses autres normes vidéo du groupe ISO/CEI MPEG, le H. 264/AVC dispose d'une application logicielle de référence, qui peut être gratuitement téléchargée (voir la section Liens externes ci-dessous).
Le principal objectif de cette application est de donner des exemples des différentes possibilités du H. 264/AVC, plutôt que d'apporter un produit réellement utilisable et performant.
Une application matérielle de référence est aussi en cours de normalisation par le groupe MPEG.
Profils
Le standard inclut les 6 ensembles de caractéristiques suivants, qui sont nommés des profils, chacun ciblant une classe d'applications précise :
- Baseline Profile (BP) : Essentiellement pour les applications à bas-coût qui utilisent peu de ressources, ce profil est particulièrement utilisé dans les applications mobiles et de visio-conférence.
- Main Profile (MP) : Au départ, prévu pour les applications grand public de diffusion et de stockage, ce profil a perdu de l'importance lorsque le profil High a été ajouté avec le même objectif.
- Extended Profile (XP) : Prévu pour la diffusion en flux (streaming) des vidéos, ce profil a des capacités de robustesse à la perte de données et de changement de flux.
- High Profile (HiP) : Le profil principal pour la diffusion et le stockage sur disque, surtout pour la télévision haute définition (ce profil a été adopté pour les disques HD DVD et Blu-ray mais aussi pour la télévision numérique française haute définition).
- High 10 Profile (Hi10P) : Ce profil va au-delà des applications grand public et s'appuie sur le profil High — ajoutant jusqu'à 10 bits de précision par pixel.
- High 4 :2 :2 Profile (Hi422P) : Le profil principal pour les applications professionnelles, il s'appuie sur le profil High 10 — ajoutant le support pour la quantification 4 :2 :2 jusqu'à 10 bits par pixel.
- High 4 :4 :4 Profile (Hi444P) [obsolète] : Ce profil s'appuie sur le profil High 4 :2 :2 — ajoutant le support pour la quantification 4 :4 :4, jusqu'à 12 bits par pixel et en plus le support pour un mode sans perte efficace. Note : Le profil High 4 :4 :4 est en cours de suppression du standard en faveur d'un nouveau profil 4 :4 :4 en cours de développement.
Baseline | Extended | Main | High | High 10 | High 4 :2 :2 | High 4 :4 :4 | |
---|---|---|---|---|---|---|---|
tranches I et P | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
tranches B | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
tranches SI et SP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Image de Références Multiples | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Filtre anti-blocs | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
codage CAVLC | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
codage CABAC | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ordonnancement flexible des macroblocs (FMO) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ordonnancement arbitraire des tranches (ASO) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
tranches redondantes (RS) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
partitionnement des données (DP) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
codage entrelacé (PicAFF, MBAFF) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
format 4 :2 :0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
format monochrome (4 :0 :0) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
format 4 :2 :2 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
format 4 :4 :4 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
pixel 8 Bit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
pixel 9 et 10 Bit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
pixel 11 et 12 Bit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
transformée 8×8 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
matrices de quantification | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
quantification Cb et Cr scindée | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
codage sans-perte | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Baseline | Extended | Main | High | High 10 | High 4 :2 :2 | High 4 :4 :4 |
Levels
Les niveaux ( (en) levels) sont des limitations sur un certain nombre de paramètres qui permettent aux décodeurs de limiter les ressources mémoires et calculatoires nécessaires pour décoder une vidéo.
Note : un macrobloc est une zone de 16×16 pixels.
Numéro de level | macroblocs par seconde maximum | taille maximum de l'image en macroblocs | débit en bit maximum pour les profiles Baseline, Extended et Main Profile | débit en bit maximum pour le profile High | débit en bit maximum pour le profile High 10 | débit en bit maximum pour les profiles High 4 :2 :2 et 4 :4 :4 | exemple de définition et image par seconde dans ce level. |
---|---|---|---|---|---|---|---|
1 | 1485 | 99 | 64 kbit/s | 80 kbit/s | 192 kbit/s | 256 kbit/s | 128×96/30.9 176×144/15.0 |
1b | 1485 | 99 | 128 kbit/s | 160 kbit/s | 384 kbit/s | 512 kbit/s | 128×96/30.9 176×144/15.0 |
1.1 | 3000 | 396 | 192 kbit/s | 240 kbit/s | 576 kbit/s | 768 kbit/s | 176×144/30.3 320×240/10.0 |
1.2 | 6000 | 396 | 384 kbit/s | 480 kbit/s | 1152 kbit/s | 1536 kbit/s | 176×144/60.6 320×240/20.0 352×288/15.2 |
1.3 | 11880 | 396 | 768 kbit/s | 960 kbit/s | 2304 kbit/s | 3072 kbit/s | 352×288/30.0 |
2 | 11880 | 396 | 2 Mbit/s | 2.5 Mbit/s | 6 Mbit/s | 8 Mbit/s | 352×288/30.0 |
2.1 | 19800 | 792 | 4 Mbit/s | 5 Mbit/s | 12 Mbit/s | 16 Mbit/s | 352×480/30.0 352×576/25.0 |
2.2 | 20250 | 1620 | 4 Mbit/s | 5 Mbit/s | 12 Mbit/s | 16 Mbit/s | 720×480/15.0 352×576/25.6 |
3 | 40500 | 1620 | 10 Mbit/s | 12.5 Mbit/s | 30 Mbit/s | 40 Mbit/s | 720×480/30.0 720×576/25.0 |
3.1 | 108000 | 3600 | 14 Mbit/s | 17.5 Mbit/s | 42 Mbit/s | 56 Mbit/s | 1280×720/30.0 720×576/66.7 |
3.2 | 216000 | 5120 | 20 Mbit/s | 25 Mbit/s | 60 Mbit/s | 80 Mbit/s | 1280×720/60.0 |
4 | 245760 | 8192 | 20 Mbit/s | 25 Mbit/s | 60 Mbit/s | 80 Mbit/s | 1920×1080/30.1 2048×1024/30.0 |
4.1 | 245760 | 8192 | 50 Mbit/s | 62.5 Mbit/s | 150 Mbit/s | 200 Mbit/s | 1920×1080/30.1 2048×1024/30.0 |
4.2 | 522240 | 8704 | 50 Mbit/s | 62.5 Mbit/s | 150 Mbit/s | 200 Mbit/s | 1920×1080/64.0 2048×1088/60.0 |
5 | 589824 | 22080 | 135 Mbit/s | 168.75 Mbit/s | 405 Mbit/s | 540 Mbit/s | 1920×1080/72.3 2560×1920/30.7 |
5.1 | 983040 | 36864 | 240 Mbit/s | 300 Mbit/s | 720 Mbit/s | 960 Mbit/s | 1920×1080/120.5 4096×2048/30.0 |
Numéro de level | macroblocs par seconde maximum | taille maximum de l'image en macroblocs | débit maximum pour les profils Baseline, Extended et Main Profile | débit maximum pour le profil High | débit maximum pour le profil High 10 | débit maximum pour les profils High 4 :2 :2 et 4 :4 :4 | exemple de définition et images par seconde dans ce level. |
Brevets
Comme pour les formats MPEG-2 Parts 1 et 2 mais aussi MPEG-4 Part 2, les revendeurs de produits et services utilisant la norme H. 264/AVC doivent payer des droits pour l'utilisation d'une technologie brevetée. Le principal bénéficiaire de ces droits concernant cette norme est une organisation privée : MPEG-LA, LLC (qui n'est totalement pas affiliée avec la "MPEG standardization organization", mais qui gère aussi des brevets pour des dispositifs utilisant MPEG-2 Part 1, des vidéos MPEG-2 Part 2 et MPEG-4 Part 2 mais aussi d'autres technologies).
Le fait de savoir si ces licences sont nécessaires pour une implémentation logicielle en Europe fait l'objet d'une controverse.
Applications
Les deux principaux candidats incluent le "H. 264/AVC High Profile" comme caractéristique obligatoire des lecteurs avec surtout :
- Le format HD DVD du DVD Forum
- Le format Blu-ray Disc de la Blu-ray Disc Association (BDA)
- Le format de caméscope AVCHD
En Europe, l'organisation de standardisation Digital Video Broadcast (DVB) a accepté le H. 264/AVC pour la diffusion de la télévision en Europe à la fin 2004.
Le premier ministre français a annoncé que le H. 264/AVC était obligatoire dans les récepteurs HD TV et pour les chaînes payantes de la télévision numérique terrestre (TNT) en France, fin 2004.
L'organisation de standardisation Advanced Television Systems Committee (ATSC) aux États-Unis est en train d'envisager l'utilisation de la norme H. 264/AVC pour la télévision diffusée aux États-Unis.
Le service Digital Multimedia Broadcast (DMB) - équivalent à la TNT européenne - prévu pour être diffusé en République de Corée utilisera le format H. 264/AVC.
Les opérateurs de diffusion terrestre mobile au Japon utiliseront le codec H. 264/AVC, dont :
|
|
Les services de TV Direct broadcast satellite (diffusion directe par satellite) utiliseront ce nouveau standard, dont :
- News Corp. / DirecTV (aux États-Unis)
- Echostar / Dish Network / Voom TV (aux États-Unis)
- Euro1080 (en Europe)
- Premiere (en Allemagne)
- BSkyB (en Grande-Bretagne et en Irlande)
Le 3rd Generation Partnership Project (3GPP) a accepté l'introduction de H. 264/AVC comme un service optionnel dans la version 6 des spécifications fonctionnelles pour le mobile multimédia.
Le Motion Imagery Standards Board (MISB) de l'organisation United States Department of Defense (DoD) a adopté H. 264/AVC comme codec vidéo préféré pour l'ensemble des applications.
L'organisation Internet Engineering Task Force (IETF) a apporté un format de mise en paquet du contenu (RFC 3984) pour le transport de vidéo H. 264/AVC en utilisant son Real-time Transport Protocol (RTP).
L'organisation Internet Streaming Media Alliance (ISMA) a adopté H. 264/AVC pour les spécifications de ISMA 2.0.
L'organisation Moving Picture Experts Group (MPEG) a intégré avec succès le support de H. 264/AVC dans ses standards (par exemple les dispositifs MPEG-2 and MPEG-4) mais aussi dans les spécifications du format de fichier média ISO.
L'Union internationale des télécommunications - Secteur Standardisation (UIT-T) a adopté H. 264/AVC dans les spécifications de dispositifs de téléphonie multimédia H. 32x. Basé sur les standards de l'UIT-T, H. 264/AVC est déjà beaucoup utilisé pour la vidéoconférence, surtout par deux sociétés importantes du marché, (Polycom et Tandberg). L'ensemble des nouveaux produits de vidéoconférence incluent dorénavant le support de H. 264/AVC.
H. 264 sera certainement utilisé dans les services de vidéo à la demande sur Internet pour apporter des films et des émissions de télévision sur ordinateur. Il est aussi probable que le même type de contenu sera proposé via échange de fichiers sur réseau, de manière légale ou pas.
Produits et mises en œuvre
Transposition logicielles
- x264 est un codeur H. 264 distribué sous les termes de la licence GPL utilisé dans les logiciels de transcodage VideoLAN et MEncoder. Début 2006, x264 est l'unique transposition complète et libre des profiles Main et High de H. 264, entrelacé exclu. x264 a remporté une comparaison d'encodeurs video organisé par Doom9. org en décembre 2005 [1].
- libavcodec contient un décodeur H. 264 sous licence LGPL. Il supporte les profils Main et High de H. 264, entrelacé exclu. Il est utilisé dans de nombreuses applications comme les lecteurs VLC media player et MPlayer, et les decodeurs ffdshow et FFmpeg.
- CoreAVC est un décodeur de flux vidéos H. 264 complet utilisant la technologie CUDA (seules les cartes graphiques nVidia possèdent cette technologie) pour soulager le CPU et ainsi rendre une lecture plus fluide. C'est le décodeur H. 264 le plus rapide/léger au monde aujourd'hui sous Windows. Son efficacité a été testée ici : [2]. Payant (15 €) ou en version d'essai de 14 jours : [3]
- Le paquetage Nero Digital, co-développé par Nero AG et Ateme, comporte un décodeur et un encodeur H. 264, et supporte d'autres technologies MPEG-4. En septembre 2005, il supporte le profile Main, entrelacé exclu, et devrait bientôt supporter aussi le profil High et l'entrelacé.
- Apple a intégré le H. 264 dans Mac OS X version 10.4 (Tiger), mais aussi Quicktime version 7, qui est apporté avec Tiger. En avril 2005, Apple a mis à jour sa version de DVD Studio Pro pour permettre la création de contenu HD. DVD Studio Pro sert à graver du contenu HD DVD à la fois aux standards des médias DVD et HD DVD (même si aucun graveur n'est disponible). Pour visualiser ces HD DVD, il faut les regraver sur des DVD standard. Apple requiert un PowerPC G5, Apple DVD Player v4.6, et Mac OS X v10.4 ou supérieur.
- L'application de visioconférence iChat d'Apple fonctionne avec ce codec depuis la version 3 ([4]).
- Sorenson offre une application de H. 264. Le codec Sorenson AVC Pro codec est disponible dans le logiciel Sorenson Squeeze 4.1 for MPEG-4.
- La société DivX Inc a incorporé le H. 264 à la version 7 du codec DivX (janvier 2009).
Applications matérielles
Plusieurs entreprises produisent des puces capables de décoder des vidéos H. 264/AVC. Les puces capables de décoder en temps réel des vidéos haute définition sont entre autres les suivantes :
- Broadcom BCM7411.
- Conexant CX2418X.
- Sigma Designs SMP8634, SMP8635, EM8622L, et EM8624L.
- STMicrœlectronics STB7100, STB7109, NOMADIK (série STn 8800/8810/8815).
- WISchip (Micronas USA, Inc. ) DeCypher 8100.
- Neotion NP4 - NEOTION Processor 4.
Ce type de puces permet un large déploiement de matériel à bas coût capable de jouer des vidéos H. 264/AVC aux définitions de télévision standard et hautes.
De nombreux matériels sont d'ores et déjà disponibles en juin 2006, cela va des produits de grande consommation économiques à des codeurs temps réel à base de FPGA pour la diffusion :
- Modulus Video livre des codeurs H. 264 temps réel de qualité TV standard aux diffuseurs (opérateurs téléphoniques compris) et a annoncé ses codeurs temps réel haute définition (ME6000) pour la mi-2005. La technologie de codage Modulus Video HD a été montrée au NAB d'avril 2004 où elle a obtenu le prix «Pick Hit». L'encodage Modulus emploie la technologie de LSI Logic.
- Harmonic propose une gamme variée de codeurs vidéo professionnels supportant H. 264 en définition SD et HD (DiviCom MV 3500 & Electra 5000).
- Tandberg television a annoncé un encodeur temps réel haute définition (le EN5990). DirecTV a choisi ce produit pour son déploiement DBS.
- Chez ATI, la série Radeon X1000 de processeurs graphiques comporte une accélération matérielle du décodage H. 264 avec les pilotes Catalyst 5.13. Le décodage H. 264 est une partie de la technologie multimédia "AVIVO3" d'ATI [5] [6][7].
- Les pilotes NVIDIA supportent le décodage H. 264 matériel pour certains processeurs graphiques, la liste est disponible sur la page PureVideo de NVidia.
- La console PlayStation Portable de Sony contient un décodeur matériel de fichiers vidéo au format H. 264.
- En octobre 2005, Apple a dévoilé la cinquième version de son célèbre baladeur iPod capable de lire des vidéos au format H. 264 sur son écran ou sur une télévision. Il supporte le profil Baseline jusqu'à la définition de 640×480, à 30 images par seconde et au débit de 768 kbit/s.
- Les deux versions du Zune de Microsoft supportent aussi le H. 264. Comme l'iPod, il permet, via sa sortie vidéo, de lire sur une télévision ou n'importe quel écran, des vidéos dans une définition de 720x480 à 30 images par secondes.
- WorldGate vend les téléphones portables Ojo, qui utilisent H. 264 en profile Baseline à la définition QCIF (176×144) avec des débits de 80 à 500 kbit/s à 30 images par seconde.
- Fin 2006, sortie de l'Archos 604 qui gère ce format.
Notes et références
Voir aussi
Liens externes
- (en) [pdf] AVC/H. 264, un dispositif de codage vidéo évolué pour la HD et la SD, article de la revue technique de l'UER
- H. 264/MPEG-4 Part 10 Tutoriels (Richardson)
- (ja) H. 264/AVC Textbook (in Japanese : Okubo, Kadono, Kikuchi, and Suzuki)
- JVT Experts Group document archive
- (en) MPEG LA Terms of H. 264/MPEG-4 AVC Patent License
- MPEG Industry Forum
- Page de publication officielle de l'ITU-T
- (fr) Page de publication officielle de l'ISO
Recherche sur Amazon (livres) : |
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.