Nouvelle spécification AV2 : Un codec vidéo révolutionnaire par l’Alliance for Open Media

AV2 specification

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.

Spécification AV2

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.