HEVC, la nouvelle génération d’encodage


À peine H.
18ff4d910cedae8e6e6069cb21af4163.jpg

264 finalisée, les groupes d’experts commençaient à réfléchir à son futur successeur avec l’ambition de définir une solution universelle visant une réduction des débits de 50 % à qualité subjective constante. Où en est-on, à la veille de l’adoption de HEVC ?

HEVC (pour High Efficiency Video Coding) sera, après MPEG 2 (finalisée en 1994) et H.264 (connue aussi comme MPEG 4 AVC, adoptée en 2003), la troisième norme développée conjointement par l’ITU-T Video Coding Expert Group et le ISO/IEC MPEG via le JCT-VC, Joint Collaborative Team on Video Coding.
Les travaux ont commencé à l’IUT en 2005, juste après l’adoption, en octobre 2004, d’une version additionnelle de H.264 dite FRExt pour Fidelity Range extension, orientée contribution et production avec des versions du High Profile offrant 10 bits de précision par pixel et supportant le codage couleur en 4.2.2 et 4.4.4. Dès le début, l’objectif d’un gain de 50 % a été fixé. Confronté à la diversification croissante des services et des terminaux offrant l’accès à la vidéo, au succès de la HD et à la perspective d’augmentation de la résolution des images (4K et 8K), le groupe MPEG a débuté ses travaux en 2007 avec le même objectif. Les deux initiatives ont convergé et lancé, en janvier 2010, un appel conjoint aux propositions technologiques. Trois ans plus tard, la norme devrait être finalement adoptée d’ici quelques semaines, en janvier 2013.

Pas de révolution

Ceux qui attendraient une approche radicalement nouvelle seront déçus. HEVC emprunte aux versions antérieures, outre leur philosophie générale, nombre d’outils ou de dispositifs mais avec l’important avantage de pouvoir redessiner la norme sur une page blanche, sans souci de compatibilité avec ses prédécesseurs.
Côté philosophie, on conserve le principe qui a fait le succès et permis l’évolutivité des normes MPEG : le fait de ne pas normaliser l’encodage lui-même mais seulement la syntaxe et la structure du flux de données en spécifiant les formats des données à produire (tout en fixant quelques contraintes en termes de débits et de cadences maximaux…) ainsi que les caractéristiques des résultats d’un décodage de référence. Un principe qui, tout en garantissant l’interopérabilité, laisse toute liberté aux fabricants pour inventer leur propre « sauce » d’encodage et de traitement pour s’adapter, par exemple, aux différentes configurations d’utilisation. Autre principe, l’approche boîte à outils d’une norme qui se déclinera en profils et niveaux.
Au niveau des outils, ses promoteurs ont gardé aussi la solution hybride associant codage d’image en mode Intra et Inter avec une prédiction et une compensation de mouvement utilisant une transformation mathématique inspirée de la DCT dont les coefficients subissent un codage entropique pour tirer parti des redondances spatiales et temporelles des images. On retrouvera donc les macro-blocs (16×16 pour la luminance et 8×8 pour la chroma en 4.2.0) et les images I (Intra), B (bidirectionnelles) et P (prédites) de MPEG-2 mais aussi les améliorations de H.264 : macro-blocs divers et plus fins, codage Intra amélioré, compensation de mouvement avec une précision d’un quart de pixel, approche IBP concernant désormais des tranches (Slices) d’images, codage entropique CABAC. Mais HEVC optimise et pousse plus loin ces approches.

Des améliorations sensibles

Conçue pour répondre à plusieurs objectifs (efficacité de l’encodage, intégration du système de transport et résilience à la perte de données), HEVC a fait aussi le choix de pouvoir implémenter une architecture de traitement en parallèle des données et des optimisations rendues notamment possibles par le fait de ne plus prendre en compte les images entrelacées mais seulement celles en mode progressif.
Au niveau de la couche video, HEVC raisonne non plus en simples macro-blocs mais en CTU (Coding Tree Unit) et CTB (Coding Tree Block). Un CTU consiste en un luma CTB accompagné des deux chroma CTB et des éléments de syntaxe correspondants. Une Unit correspond donc à une unité logique de codage, un Block, à une portion d’un buffer vidéo assurant le traitement. La taille LxL d’un CTU peut prendre les valeurs L= 16, 32 ou 64. Le CTB correspondant aura la même taille. Plus la taille sera large, plus la compression sera efficace. Pour affiner les décisions, un CTB peut être partitionné en de multiples CBs, Coding Blocks (pouvant être réduits jusqu’à 8×8) selon une structure arborescente. C’est au niveau du CB que s’effectue la décision de coder en Intra ou Inter. Cette flexibilité permet de mieux encoder des images complexes, au niveau des blocs de prédiction, par exemple si des flocons de neige affectent le premier plan. Une CU regroupe les 3 CBs comme la CTU les 3 CTBs. La prédiction Intra offre, quant à elle, 33 possibilités directionnelles (contre 8 pour H.264) plus les modes planar et flat.
HEVC reprend aussi des éléments de syntaxe de haut niveau de H.264, autorisant une flexibilité accrue comme une couche d’abstraction réseau (NAL) ou les Slices (soit une image entière, soit une portion de celle-ci qui peut-être décodée indépendamment de ses voisines) ou diverses natures de metadonnées (par exemple pour le timing, l’espace colorimétrique ou la signalisation 3D stereo). HEVC ajoute encore des fonctionnalités pour favoriser le traitement parallèle.
On conçoit donc aisément que ces possibilités nouvelles se traduisent par une complexité accrue et donc une charge très importante pour les CPU : 10 fois plus pour l’encodage et de 2 à 3 fois pour le décodage. Aussi HEVC a-t-il pris en compte certains éléments de simplification pour le deblocking ou bien le codage entropique pour lequel, contrairement à H.264, un seul mode, CABAC, est prévu.
De même, si la structuration de la norme en Profiles (une sélection particulière d’algorithmes et d’outils de codage adaptés à un type d’utilisation) et Levels (définissant des contraintes pour certains paramètres clés du flux de données, notamment afin de tenir compte des capacités de traitement ou de buffer des divers types de décodeurs) est maintenue, elle est complétée par une catégorie supplémentaire, les Tiers (pour des applications ne différant que par le débit maximum ou la taille du buffer ; deux Tiers sont spécifiés : un Main et un High). Minimiser le nombre de Profiles permet le maximum d’interopérabilité et paraît d’autant plus justifié que les usages broadcast, streaming et mobile convergent.


Des performances au rendez-vous

La norme a passé le stade de Draft International Standard en juillet 2012. Seul le Main Profile apparaît, à ce stade, comme sûr d’être adopté en janvier 2013 dans la première version de la norme. Il ne concernerait que la diffusion vidéo codée sur 8 bits avec un échantillonnage couleur en 4.2.0. Il offrirait des tailles d’image allant du QCIF (176×144) au 8K (7680×4320) avec des débits variant de 128 Kbits/s à 800 Mbits/s et des cadences de rafraîchissement des images allant de 15 à 300/s. 13 niveaux seraient envisagés (les 8 niveaux les plus élevés pouvant être déclinés en 2 Tiers). Ce Main Profile couvrirait ainsi la gamme complète des applications depuis les mobiles jusqu’aux futurs écrans pour l’Ultra Haute Définition sachant qu’un décodeur d’un niveau et tier donnés est censé pouvoir décoder ceux-ci tout comme les niveaux et tier inférieurs.
Lors de la réunion d’octobre 2012, deux autres profils ont été proposés et pourraient être aussi adoptés : un Main 10 (10 bits pour le codage couleur) et un Main Still Picture destiné aux images fixes.
L’acronyme HEVC ne semble toutefois pas destiné à durer. Comme pour H.264 et MPEG-4 AVC, la norme devrait être connue sous deux noms : MPEG-H part 2 (ISO/IEC 23008-2) et H.265 (cette dernière numérotation, relative à l’ITU-T, plutôt destinée a priori aux applications de type vidéoconférence mais qui sait…).
Les premiers résultats semblent confirmer que l’objectif fixé d’un gain d’un facteur 2 pour les débits est en passe d’être atteint avec des flux de 3 à 4,5 Mbits/ s pour la HD (contre de 6 à 9 actuellement pour H.264) et, du coup, le 4K 30p bientôt possible dans les actuels canaux HD. En septembre 2012 à l’IBC, Elemental, Envivio, Harmonic, NTT ou encore Rovi montraient des prototypes inspirés des développements en cours. Allegro (avec les AL 1200 et 2200) et Ericsson avec le SVP 5500 avaient même référencé leurs futurs produits. Ateme proposait une démo 4K à 60 images/s dans le cadre du projet de R&D français 4EVER piloté par Orange. Nul doute qu’au prochain NAB, les annonces se multiplieront.
Une norme est une chose vivante. La « vieille » MPEG-2 continue toujours d’améliorer ses performances de même que H.264 dont la dernière version publiée date de 2012. De même, HEVC connaîtra des extensions : des versions orientées production ou contribution comme le Main 10 ou Full Range extensions, ou bien mettant l’accent sur la flexibilité en offrant une couche de base et des couches additionnelles d’amélioration comme SVC (pour Scalable Video Coding, quand bien même la version H.264 n’a pas eu de succès) ou encore pour la 3Ds multiview comme MVC. Comme pour H.264, il serait aussi logique que HEVC donne naissance à des codecs de production pour les caméras.


Un puissant agent du changement

Mais les évolutions prendront toujours plus de temps à se concrétiser que ne le donneront à croire les annonces des salons. Souvenons-nous que la France a été pionnière pour H.264 avec la TNT en HD fin 2008 soit quand même 4 ans après l’adoption de la norme (après des premiers essais en 2006). Les temps d’industrialisation, même s’ils se raccourcissent, et ceux liés au toilettage des inévitables imprécisions de la première mouture d’une norme sont toujours sous-estimés. En outre, ces évolutions se manifesteront de manière différenciée selon les applications.
Rançon du choix de la feuille blanche avec sa conception repartie de zéro, HEVC ne sera, en effet, pas compatible avec les équipements existants. D’autant plus que sa complexité exigera une puissance de traitement accrue dans les terminaux. Du coup, sa diffusion se produira d’abord dans les secteurs où le renouvellement des équipements obéit à des cycles courts comme les Smartphones (changés en moyenne tous les 18 mois) ou tablettes d’une part, ou ceux disposant de réserves de puissance comme les PC avec le décodage logiciel pour la vidéo sur Internet, d’autre part. Au contraire, on change de TV en moyenne tous les 7 ans (et le renouvellement par des écrans plats vient juste d’intervenir…), donc les smart TVs et surtout la base installée des boxes devront attendre un peu. Heureusement pour ceux-ci, H.264 continuera de progresser.
Pour autant, il ne faudrait surtout pas minimiser l’impact dans la durée de HEVC. Le gain de 50 % en débit obtenu dès la première version permet aussi bien d’éviter l’engorgement autrement prévisible de réseaux confrontés à l’explosion de la demande que de multiplier l’offre de contenus pour les canaux existants. Il permet aussi d’envisager un gain en résolution tant spatiale (4K ou 8K) que temporelle avec du High Frame Rate, par exemple, le 1080p60 et au-delà. Mais surtout, par son approche universelle, effaçant les anciennes frontières, la nouvelle norme contribuera à accélérer les recompositions en cours dans l’industrie des contenus. Quel sera demain l’avantage qualitatif d’une TV radiodiffusée en H.264 par rapport à une chaîne HEVC diffusée en OTT sur Internet ? L’avenir n’est certes pas écrit et les changements de mode d’usage, dans des domaines comme celui-ci, sont généralement très progressifs mais gageons que HEVC sera un puissant accélérateur d’évolution.