Selon cnx-software, après un travail de cinq ans et plus de 2700 contributions autour de la référence de codec vidéo, l’Alliance for Open Media (AOMedia) a présenté la spécification AV2. Ce codec vidéo de nouvelle génération promet une réduction de bande passante allant jusqu’à 40 % par rapport à AV1 tout en maintenant une qualité visuelle similaire.
Efficacité de compression AV2 à 40 % inférieure à AV1 : vers une meilleure qualité de diffusion
Le document, nommé « Spécification du flux binaire et du processus de décodage AV2 », décrit la syntaxe, la sémantique, ainsi que les processus d’analyse et de décodage relatifs à Alliance for Open Media Video 2 (AV2). Cela ouvre de nouvelles possibilités pour l’optimisation de la diffusion vidéo, allant au-delà de ce que propose AV1.

AV2 repose sur les fondamentaux d’AV1, visant à accroître l’efficacité de compression tout en apportant une qualité de diffusion supérieure à des débits binaires réduits. L’Alliance pour les Médias Ouverts indique que ce codec améliore également la prise en charge des applications AR/VR, la diffusion de plusieurs programmes sur un écran partagé et la gestion optimale du contenu, tout en offrant un éventail plus large en matière de qualité visuelle.
Prise en main de l’AV2 : construction et tests avec un processeur AOMedia
Le modèle vidéo AOMedia (AVM) est présenté comme le logiciel de référence officielle, et son code est disponible sur GitLab. En général, un tel logiciel de référence est indispensable pour fournir une implémentation capable de fonctionner avec des performances optimisées. Toutefois, les utilisateurs devront probablement attendre des projets tels que Dav1d, ou peut-être même Dav2d, afin d’obtenir un décodeur et un encodeur AV2 intégrant SIMD et assembleur.
Lors de mes tests sur un ordinateur portable exécutant Ubuntu 24.04, la compilation du projet AVM a été un succès, comme le montre la progression de construction :
À ce stade, il devient possible de télécharger les données nécessaires pour des tests unitaires. Pour ceux qui préfèrent une approche plus pratique, il est possible d’exécuter des démos utilisant l’encodeur simple et le décodeur simple :
En utilisant l’encodeur AV2, j’ai réussi à coder un fichier YUV 320×180. Toutefois, cela a nécessité plus de 18 minutes, ce qui correspond à un peu plus de 31 secondes par image. Voici les détails de mon expérience :
Les paramètres employés sont les suivants :
Voici la commande d’exécution conforme que j’ai utilisée :
|
./simple_encoder |
Concernant l’analyse de la sortie, le logiciel Mediainfo peut toujours évaluer le fichier, car il suit le même format de conteneur IVF que AV1, mis à part l’identifiant de codec qui est AV02 :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
jaufranc@Raspberryme-LAPTOP-5:~/edev/avm_build/examples$ mediainfo desktop.ivf Général Nom complet : desktop.ivf Format : FIV Taille du fichier : 25,6 Ko Durée : 1 s 0 ms Débit global : 210 kb/s Fréquence d’images : 30.000 FPS Vidéo Format : AV02 ID du codec : AV02 Durée : 1 s 0 ms Débit binaire : 206 kb/s Largeur : 320 pixels Hauteur : 180 pixels Format d’affichage : 16:9 Fréquence d’images : 30.000 FPS Bits/(Pixel*Image) : 0,119 Taille du flux : 25,2 Ko (99 %) |
En revanche, l’essai de décodage avec le décodeur simple n’a pas abouti, ce qui pourrait indiquer un problème dans les paramètres utilisés lors de l’encodage.
|
jaufranc@Raspberryme-LAPTOP-5:~/edev/avm_build/examples$ time ./simple_decoder desktop.ivf desktop-320×180.yuv Utilisation du décodeur AV2 du projet AOMedia 13.0.0-107-gb946aba9ff Échec du décodage de la trame. : paramètre non valide réel 0m0.159s utilisateur 0m0.025s système 0m0.134s |
Ce problème pourrait être dû à un bug, ou à un paramétrage inapproprié lors de l’encodage.
