-
Notifications
You must be signed in to change notification settings - Fork 0
H264
H.264, également nommé « MPEG-4 AVC » (Advanced Video Coding), ou « MPEG-4 Part 10 » est un codec normalisé de compression vidéo avec perte développé par le Joint Video Team (JVT), groupe de travail issu de l'ISO/CEI Moving Picture Experts Group (MPEG) et de l'UIT-T Q.6/SG16 Video Coding Experts Group (VCEG). La première version de la norme a été approuvée en mai 2003 et a été régulièrement révisée avec l'ajout d'extensions jusqu'à mai 2019. Ce codec vise obtenir un bon ratio entre la qualité et des débits limités (CPO-COM), tout en conservant un niveau de complexité raisonnable (CPO-SIM). La variété de ses profils lui permet de répondre à des usages différents, avec des résolutions variables allant jusqu'à la 8K.
Bien que documenté (CPO-DOC), le codec H.264 est protégé par un ensemble de brevets déposés par différents organismes (CPO-LIB). Son usage commercial est conditionné au paiement d'une redevance auprès de la société de gestion MPEG LA.
À l'origine, en 1998, l'UIT-T lança ce projet dans le but de créer un codec permettant de réduire de plus de moitié le débit binaire des fichiers des standards de l’époque (MPEG-2, H.263 et MPEG-4 Part 2), de créer une interface simple afin d’adapter le codec aux différents protocoles de transport (vidéophonie, streaming, télévision, HD, mobile), mais aussi de pouvoir l’implémenter à faible coût dans les appareils. Le codec H.264/AVC est donc adapté à une très grande variété de réseaux et systèmes (diffusion télévision numérique, VOD, Blu-ray, streaming RTP/IP, et systèmes de téléphonie).
H.264 est un des codecs vidéo les plus répandus auprès du grand public et des professionnels de la vidéo (le rapport Video Developer Report de 2019 indique que 91% des développeurs utilisent ce codec). Il s'agit du format majoritaire utilisé pour la production de disques Blu-Ray ; il est également très couramment utilisé par les plates-formes de diffusion vidéo en ligne (Netflix, Amazon Prime, Youtube, etc.). C'est également dans ce standard qu'est transmise la télévision numérique terrestre (TNT) en Europe.
Schématiquement, le codec H.264 est précédé par H.262, qui avait déjà pour but la transmission de vidéo à bas débit, et est suivi par H.265 (MPEG-4 HEVC) visant l'échange de vidéos de haute qualité.
Ce codec ne doit pas être confondu avec « MPEG-4 part 2 » ou « MPEG-4 visual », qui désigne un codec vidéo fondé sur l'algorithme DCT (Discrete Cosine Transform) également employé par H.262.
La norme H.264 se caractérise par une grande polyvalence, pour des besoins allant de la téléphonie mobile au cinéma numérique. Afin d'adapter H.264 à des usages différents, la norme définit des profils spécifiques.
Dans sa version originelle de 2003 la norme définissait trois profils, ci-dessous classés par niveau de qualité croissant :
- Baseline Profile (BP) : principalement pour les applications à bas coût qui utilisent peu de ressources, ce profil est très utilisé dans les applications mobiles et de visioconférence.
- Main Profile (MP) : à l'origine prévu pour les applications grand public de diffusion et de stockage, ce profil a perdu de l'importance quand 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.
En 2004, le JVT a développé de nouvelles extensions connues sous le nom Fidelity Range Extensions (FRExt). Ces extensions prennent en charge une quantification plus élevée (10-bit et 12-bit) et des structures de chrominance plus précises (YUV 4:2:2 et YUV 4:4:4). Elles visent de ce fait des applications professionnelles (post-production, tournage en haute définition). Plusieurs autres fonctionnalités ont aussi été adoptées pour améliorer la qualité subjective en haute définition ou pour des besoins spécifiques (codage sans perte, support d'autres espaces de couleurs). Ces extensions donnent lieu à la définition de quatre nouveaux profils :
- High Profile (HiP) : prévu pour la diffusion et le stockage sur disque, en particulier pour la télévision haute définition (HD DVD, Blu-ray, TNT), il s'agit du profil de loin le plus couramment utilisé.
- 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) : ce profil principalement fait pour les applications professionnelles 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) : 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.
En outre, la norme contient quatre profils supplémentaires « AVC-I » définis comme des spécialisations de trois des sept profils précédents. Ces profils spécialisés utilisent un jeu d’outils de compression opérant uniquement en mode intra-image (chaque image est présente, entière et sans interpolation). Ce type de compression est particulièrement adapté à la post-production. Ces profils sont principalement destinés à des applications broadcast HD (actualités, publicité et cinéma) : High 10 Intra Profile ; High 4:2:2 Intra Profile ; High 4:4:4 Intra Profile ; CAVLC 4:4:4 Intra Profile.
En outre, les annexes de la norme définissent des extensions du format pour des besoins spécifiques.
L'annexe G de la norme décrit le Codage vidéo scalable (SVC), extension de H.264/AVC, permettant d'offrir un contenu adaptable à différents débits et qualités. La norme contient trois profils adaptables supplémentaires :
- Scalable Baseline Profile : principalement destiné aux applications de vidéoconférence, de téléphonie mobile et de surveillance, ce profil s'appuie sur une version limitée du profil baseline H.264/AVC
- Scalable High Profile : ciblant principalement les applications de diffusion et de streaming, ce profil s'appuie sur le profil high H.264/AVC.
- Scalable Constrained High Profile : sous-ensemble du Scalable High Profile destiné principalement aux applications de communication en temps réel.
- Scalable High Intra Profile : ciblant principalement les applications de production, il s'agit d'une spécialisation du profil Scalable High Profile limité au mode intra-images exclusivement.
L'annexe H de la norme décrit le codage MVC (Multiview Video Coding), extension permettant l'encodage de vidéo stéréoscopique et spécifiant progressivement des profils pour ces nouveaux usages.
Il existe un lien structurel entre le format conteneur MP4 et le codec H.264 : le premier est normalisé dans la partie 14 de la norme MPEG-4 (elle-même basée sur la partie 12 : « Format ISO de base pour les fichiers médias »), le second dans la partie 10.
Néanmoins, des flux vidéo H.264 peuvent se retrouver dans de multiples autres conteneurs (MKV, AVI, MPEG-PS, Quicktime, etc.).
Développé par le Motion Picture Experts Group (MPEG), le codec H.264 a pour organisme de maintenance l'Union internationale des télécommunications (UIT-T), qui en diffuse une version gratuite. Le standard a été porté à l'ISO : il s'agit de la norme ISO/IEC 14496-10 « Technologies de l'information — Codage des objets audiovisuels — Partie 10 : Codage visuel avancé ».
Un résumé conséquent de chaque partie de la norme MPEG-4 est disponible sur l'ancien site officiel du Motion Picture Experts Group.
Registre | Identifiant |
---|---|
Wikidata | Q212633 |
Bibliothèque du Congrès |
fdd000081 pour le H.264/MPEG-4 AVC fdd000082 pour le H.264/MPEG-4 AVC Baseline Profile fdd000083 pour le H.264/MPEG-4 AVC Main Profile fdd000084 pour le H.264/MPEG-4 AVC Extended Profile fdd000215 pour le H.264/MPEG-4 AVC High Profile fdd000216 pour le H.264/MPEG-4 AVC High 10 Profile fdd000217 pour le H.264/MPEG-4 AVC High 4:2:2 Profile fdd000218 pour le H.264/MPEG-4 AVC High 4:4:4 Profile fdd000162 pour le H.264/MPEG-4 AVC Non-FRExt Extensions |
Just Solve the File Format Problem | H.264 |
Note : le registre de formats PRONOM ne dispose pour le moment que d'une entrée succincte sur MPEG-4.
Compacité (CPO-COM) : le H.264/AVC cumule de nombreuses techniques d'encodage (prédiction temporelle et spatiale, adaptation des transformées discrètes, codage entropique, adaptatif ou de longueur variable, filtrage, deux modes d’entrelacement, etc.). Ces méthodes sont efficaces, et permettent, à qualité égale, de limiter le débit par rapport à MPEG-2 H.262, autorisant ainsi l'échange de vidéo haute définition. La méthode de compression très majoritairement utilisée pour encoder en H.264 est non réversible, mais il est théoriquement possible de compresser sans perte tout ou partie des zones d'image, bien que cette méthode ait pour conséquence des volumétries beaucoup plus conséquentes.
Complexité (CPO-SIM) : Les méthodes mentionnées précédemment confèrent à H.264 une plus grande compacité que les normes précédentes, mais également une complexité supérieure. La flexibilité introduite par ses sept profils, dix extensions, et vingt niveaux y contribue également.
Robustesse (CPO-ROB) : des mécanismes de résilience sont introduits dès le profil Baseline, et complétés dans le profil Extended, afin d'augmenter la tolérance aux erreurs lors de la transmission réseau. En outre, la structuration de H.264 en deux couches (layers) conceptuelles améliore la résilience. La couche VCL (Video Coding Layer) spécifie les méthodes de compression tandis que la couche NAL (Network Abstraction Layer) concerne l'adaptation aux protocoles de transport. Les données sont transmises en unités NAL précédées d'un marqueur spécifique, ce qui permet aux décodeurs de se resynchroniser en cas de défaillance de la transmission réseau. Pour plus de détails, on se reportera à l'article de Till Halbach et Steffen Olsen, « Error robustness evaluation of H.264/MPEG4 AVC », 2004, dans Proc SPIE, 5308, p. 617-627, doi:10.1117/12.522766, consultable sur https://www.researchgate.net/publication/248595612_Error_robustness_evaluation_of_H264MPEG4_AVC.
Outre le profil, les flux H.264 sont également caractérisés par un niveau (level) correspondant à la définition d'un certain nombre de paramètres (taille d'image, débit, cadence) qui permettent aux constructeurs de dimensionner les ressources calculatoires et mémoire nécessaires aux appareils pour décoder une vidéo. Le tableau ci-dessous présente ces paramètres pour quelques niveaux significatifs (pour les paramètres de tous les niveaux, on se reportera à la page Wikipédia française du format H.264 ).
N° de niveau | Taille maximale de l’image | Cadence maximale (à cette taille d’image) | Débit maximum (1) (Baseline, Extended et Main Profile) | Nb maximum d’images de référence |
---|---|---|---|---|
3 | 720×576 | 25 | 10 Mbit/s | 5 |
3.1 | 1280×720 | 30 | 14 Mbit/s | 5 |
3.2 | 1280×1024 | 42,2 | 20 Mbit/s | 4 |
4 | 2048×1024 | 30 | 20 Mbit/s | 4 |
4.1 | 2048×1024 | 30 | 50 Mbit/s | 4 |
4.2 | 2048×1080 | 60 | 50 Mbit/s | 4 |
5 | 3672×1536 | 26,7 | 135 Mbit/s | 5 |
5.1 | 4096×2304 | 26,4 | 240 Mbit/s | 5 |
6 | 8192×4320 | 30,2 | 240 Mbit/s | 5 |
(1) Pour les autres profils, le débit est à multiplier respectivement par 1,25 (High) ou 3 (High 10) ou 4 (High 4:2:2 ou 4:4:4)
H.264 est un flux de données vidéo et ne porte donc pas de métadonnées descriptives ; celles-ci, lorsqu'elles existent, sont codées dans le format conteneur associé.
Attention, les décodeurs ne traitent pas nécessairement tous les profils listés ci-dessus.
Pour la manipulation et le transcodage, la BnF utilise l’outil ffmpeg
.
L'outil d'analyse et d'extraction de métadonnées techniques pour la BnF est MediaInfo
, qui dispose d'une sortie native dans le format de métadonnées de caractérisation préféré par la BnF, MPEG-7.
Depuis quelques années la BnF numérise certains documents avec un codec H.264 High Profile, niveau 4.1 (abrégé en [email protected]
) :
- Pour un signal SD (720×576), avec un sous-échantillonnage de la chrominance à 4:2:0 ou 4:2:2 et des débits de 5, 10, 20, 25 ou 50 Mb/s.
- Pour un signal HD (1920×1080), avec un sous-échantillonnage de la chrominance à 4:2:0 et un débit de 10 Mb/s, ou à 4:2:2 à 100 Mb/s.
Par ailleurs, le H.264 est utilisé pour la diffusion sur Gallica.
Dans les collections de la BnF sont présents, au titre du Dépôt légal ou de divers dons et dépôts, des documents encodés avec le codec H.264.