Diagramme fonctionnel du système

H.264, ou MPEG-4 AVC (Advanced Video Coding), ou MPEG-4 Part 10, est une norme de codage vidéo développée conjointement par l'UIT-T Q.6/SG16 Video Coding Experts Group (VCEG) ainsi que 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 identiques, 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é approuvée en et la plus récente date d'[1].

Le JVT a ensuite travaillé sur le concept d'extensibilité en élaborant une extension à la norme H.264 (annexe G) : les spécifications Scalable Video Coding (SVC), puis sur la norme H.265/HEVC (High Efficiency Video Coding).

Le H.264 est mieux connu comme étant le format d'encodage vidéo le plus couramment utilisé sur les disques Blu-ray. Il est également largement utilisé par les sources Internet de streaming, telles que les vidéos de Netflix, Hulu, Amazon Prime Video, Vimeo, YouTube et l'iTunes Store, les logiciels Web tels que Adobe Flash Player et Microsoft Silverlight ainsi que diverses émissions de TVHD.

Historique

[modifier | modifier le code]

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 analogie avec le codec audio AAC MPEG-2 part 7 qui avait été nommé ainsi pour le différencier du codec audio MPEG-2 part 3 (le fameux MP3). La norme est habituellement appelé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 en temps, il est aussi appelé « 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 identiques.

Objectifs et applications

[modifier | modifier le code]

À l'origine, l'UIT-T lança le projet H.26L en 1998 dans le but de créer une nouvelle architecture de codec ayant pour but un gain en efficacité de codage d'un rapport au moins égal à 2 par rapport 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 différents protocoles de transport (commutation de paquets et de circuits). Le codec a été développé en s'assurant qu'il serait transposable sur plates-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 le but de standardiser le codec ensemble et de l'adapter aux différents besoins de l'industrie (vidéophonie, streaming, télévision, mobile). En effet, les applications traditionnellement visées par l'UIT-T concernent les bas débits (vidéophonie, mobile), applications pour lesquelles H.26L était optimisé, alors 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 donc adapté à une très grande variété de réseaux et de systèmes (par exemple, pour la diffusion de la télévision, le stockage HD DVD et Blu-ray, le streaming RTP/IP, et des systèmes 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 améliorer 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 , et figé en .

Depuis la fin du développement de la version originale de la norme en , le JVT a fait publier 4 versions approuvées par l'UIT-T et MPEG, correspondant à l'ajout de FRExt et à des corrections.

Caractéristiques détaillées

[modifier | modifier le code]

H.264/AVC (MPEG-4 Part 10) comprend de nombreuses techniques nouvelles qui lui permettent de compresser beaucoup plus efficacement les vidéos que les normes précédentes (H.261, MPEG-1, MPEG-2, MPEG-4 Part 2/ASP) et fournit plus de flexibilité aux applications dans un grand nombre d'environnements réseau. Ces fonctionnalités principales comprennent :

Ces techniques, ainsi que plusieurs autres, aident H.264 à dépasser significativement les standards précédents, dans une grande variété de circonstances et dans une grande variété d'environnements d'application. H.264 peut fonctionner souvent nettement mieux que la vidéo MPEG-2 en obtenant la même qualité avec un débit binaire diminué de moitié, voire 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 de fournir 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

[modifier | modifier le code]

Le standard inclut les six ensembles de caractéristiques suivants, qui sont appelés des profils, chacun ciblant une classe d'applications précise :

Baseline Main Extended High High 10 High 4:2:2 High 4:4:4
tranches I et P  Oui  Oui  Oui  Oui  Oui  Oui  Oui
tranches B  Non  Oui  Oui  Oui  Oui  Oui  Oui
tranches SI et SP  Non  Non  Oui  Non  Non  Non  Non
Image de Références Multiples  Oui  Oui  Oui  Oui  Oui  Oui  Oui
Filtre anti-blocs  Oui  Oui  Oui  Oui  Oui  Oui  Oui
codage CAVLC  Oui  Oui  Oui  Oui  Oui  Oui  Oui
codage CABAC  Non  Oui  Non  Oui  Oui  Oui  Oui
ordonnancement flexible des macroblocs (FMO)  Oui  Non  Oui  Non  Non  Non  Non
ordonnancement arbitraire des tranches (ASO)  Oui  Non  Oui  Non  Non  Non  Non
tranches redondantes (RS)  Oui  Non  Oui  Non  Non  Non  Non
partitionnement des données (DP)  Non  Non  Oui  Non  Non  Non  Non
codage entrelacé (PicAFF, MBAFF)  Non  Oui  Oui  Oui  Oui  Oui  Oui
format 4:2:0  Oui  Oui  Oui  Oui  Oui  Oui  Oui
format monochrome (4:0:0)  Non  Non  Non  Oui  Oui  Oui  Oui
format 4:2:2  Non  Non  Non  Non  Non  Oui  Oui
format 4:4:4  Non  Non  Non  Non  Non  Non  Oui
pixel 8 Bit  Oui  Oui  Oui  Oui  Oui  Oui  Oui
pixel 9 et 10 Bit  Non  Non  Non  Non  Oui  Oui  Oui
pixel 11 et 12 Bit  Non  Non  Non  Non  Non  Non  Oui
transformée 8×8  Non  Non  Non  Oui  Oui  Oui  Oui
matrices de quantification  Non  Non  Non  Oui  Oui  Oui  Oui
quantification Cb et Cr séparée  Non  Non  Non  Oui  Oui  Oui  Oui
codage sans-perte  Non  Non  Non  Non  Non  Non  Oui
Baseline Main Extended High High 10 High 4:2:2 High 4:4:4

Niveaux

[modifier | modifier le code]

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 niveau macroblocs par seconde maximum taille maximum de l'image en macroblocs débit en bit maximum pour les profils Baseline, Extended et Main Profile débit en bit maximum pour le profil High débit en bit maximum pour le profil High 10 débit en bit maximum pour les profils High 4:2:2 et 4:4:4 exemple de définition et images par seconde dans ce niveau.
1 1 485 99 64 kbit/s 80 kbit/s 192 kbit/s 256 kbit/s 128×96/30,9
176×144/15,0
1b 1 485 99 128 kbit/s 160 kbit/s 384 kbit/s 512 kbit/s 128×96/30,9
176×144/15,0
1.1 3 000 396 192 kbit/s 240 kbit/s 576 kbit/s 768 kbit/s 176×144/30,3
320×240/10,0
1.2 6 000 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 11 880 396 768 kbit/s 960 kbit/s 2304 kbit/s 3072 kbit/s 352×288/30,0
2 11 880 396 2 Mbit/s 2,5 Mbit/s 6 Mbit/s 8 Mbit/s 352×288/30,0
2.1 19 800 792 4 Mbit/s 5 Mbit/s 12 Mbit/s 16 Mbit/s 352×480/30,0
352×576/25,0
2.2 20 250 1 620 4 Mbit/s 5 Mbit/s 12 Mbit/s 16 Mbit/s 720×480/15,0
352×576/25,6
3 40 500 1 620 10 Mbit/s 12,5 Mbit/s 30 Mbit/s 40 Mbit/s 720×480/30,0
720×576/25,0
3.1 108 000 3 600 14 Mbit/s 17,5 Mbit/s 42 Mbit/s 56 Mbit/s 1280×720/30,0
720×576/66,7
3.2 216 000 5 120 20 Mbit/s 25 Mbit/s 60 Mbit/s 80 Mbit/s 1280×720/60,0
4 245 760 8 192 20 Mbit/s 25 Mbit/s 60 Mbit/s 80 Mbit/s 1920×1080/30.1
2048×1024/30,0
4.1 245 760 8 192 50 Mbit/s 62,5 Mbit/s 150 Mbit/s 200 Mbit/s 1920×1080/30,1
2048×1024/30,0
4.2 522 240 8 704 50 Mbit/s 62,5 Mbit/s 150 Mbit/s 200 Mbit/s 1920×1080/64,0
2048×1088/60,0
5 589 824 22 080 135 Mbit/s 168,75 Mbit/s 405 Mbit/s 540 Mbit/s 1920×1080/72,3
2560×1920/30,7
5.1 983 040 36 864 240 Mbit/s 300 Mbit/s 720 Mbit/s 960 Mbit/s 1920×1 080/120,5
4096×2048/30,0
5.2 2 073 600 36 864 240 Mbit/s 300 Mbit/s 720 Mbit/s 960 Mbit/s 1 920×1 080/172,0
4 096×2 160/60,0
6 4 177 920 139 264 240 Mbit/s 300 Mbit/s 720 Mbit/s 960 Mbit/s 2048×1536@300

4096×2160@120 8192×4320@30

6.1 8 355 840 139 264 480 Mbit/s 600 Mbit/s 1440 Mbit/s 1920 Mbit/s 2048×1536@300

4096×2160@240 8192×4320@60

6.2 16 711 680 139 264 800 Mbit/s 1000 Mbit/s 2400 Mbit/s 3200 Mbit/s 4096*2304@300

8192×4320@120

Numéro de niveau 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 niveau.

Brevets

[modifier | modifier le code]

Comme pour les formats MPEG-2 Parts 1 et 2 ainsi que 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 absolument pas affiliée avec la "MPEG standardization organization", mais qui gère également des brevets pour des systèmes utilisant MPEG-2 Part 1, des vidéos MPEG-2 Part 2 et MPEG-4 Part 2 ainsi que 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

[modifier | modifier le code]

Les deux principaux candidats incluent le « H.264/AVC High Profile » en tant que caractéristique obligatoire des lecteurs avec notamment :

En Europe, l'organisation de standardisation Digital Video Broadcast (DVB) a approuvé 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[4].

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[Quand ?] le codec H.264/AVC, dont :

Les services de TV Direct broadcast satellite (diffusion directe par satellite) utiliseront ce nouveau standard, dont :

Le 3rd Generation Partnership Project (3GPP) a approuvé 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) du département de la Défense des États-Unis a adopté H.264/AVC comme codec vidéo préféré pour toutes les applications.

L'organisation Internet Engineering Task Force (IETF) a fourni un format de mise en paquet du contenu (RFC 3984[5]) 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 systèmes MPEG-2 and MPEG-4) ainsi que 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 systèmes de téléphonie multimédia H.32x. Basé sur les standards de l'UIT-T, H.264/AVC est déjà largement utilisé pour la vidéoconférence, notamment par deux sociétés importantes du marché, (Polycom et Tandberg). Tous les nouveaux produits de vidéoconférence incluent dorénavant le support de H.264/AVC.

H.264 sera probablement utilisé dans les services de vidéo à la demande sur Internet afin de fournir des films et des émissions de télévision sur ordinateur. Il est également 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

[modifier | modifier le code]

Transpositions logicielles

[modifier | modifier le code]

Applications matérielles

[modifier | modifier le code]
Cette section doit être actualisée. Des passages de cette section sont obsolètes ou annoncent des événements désormais passés. Améliorez-la ou discutez-en.

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 :

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 , cela va des produits de grande consommation peu onéreux à des codeurs temps réel à base de FPGA pour la diffusion :

Notes et références

[modifier | modifier le code]
  1. ISO/IEC 60.60 14496-10:2012: Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video Coding, 2012-04-26
  2. « H.264 : Prise en charge d'espaces chromatiques supplémentaires et suppression du profil élevé 4:4:4 », sur www.itu.int (consulté le ).
  3. 14:00-17:00, « ISO/IEC 14496-10:2014 », sur ISO (consulté le ).
  4. [1]
  5. (en) Request for comments no 3984
  6. comparaison d'encodeurs vidéo « ? » (version du sur Internet Archive).
  7. Steve Klein, « CoreAVC accéléré par Cuda, le meilleur décodage H.264 ? », sur homemedia.fr, (consulté le ).
  8. Damien Triolet, « CoreAVC plus fort qu'AVIVO & PureVideo ? », (consulté le ).
  9. (en)http://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc/
  10. (en)http://www.openh264.org/faq.html
  11. (en)https://blog.mozilla.org/blog/2013/10/30/video-interoperability-on-the-web-gets-a-boost-from-ciscos-h-264-codec/
  12. Cisco Mozilla et OpenH264
  13. http://blogzinet.free.fr/blog/index.php?post/2013/11/02/L-interoperabilite-de-la-video-sur-le-Web-recoit-un-coup-de-pouce-du-codec-H-264-de-Cisco Il n’y [sic] rien de pérenne avec les brevets. H.264 sera bien accessible aux utilisateurs de Firefox grâce à Cisco, mais le codec est toujours associé à une licence restrictive qui n’est pas dans l’intérêt des utilisateurs et du Web à long terme.
  14. ATI Radeon X1000 « ? » (version du sur Internet Archive).
  15. annonce presse ATI « ? » (version du sur Internet Archive).
  16. technologie H.264 par ATI
  17. page PureVideo de NVidia

Voir aussi

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]