Une autre présentation intéressante concernant AV1 aux conférences Demuxed d'octobre 2020 : Zoe Liu - Decoder Complexity Aware AV1 Encoding Optimization
Elle nous montre que le décodage logiciel AV1 (dav1d) consomme moins d'énergie sur les mobiles que le décodeur logiciel d'HEVC.
Elle explique ensuite la problématique de complexité d'AV1 à l'encodage et au décodage, comparé à VP9.
Zoe expose des paramètres qui accélèrent considérablement le décodage d'AV1, mais ont très peu d'effet sur l'efficacité de compression du codec. Un exemple cité est d'ignorer les tailles de partition inférieures à 8 × 8. Ces petites partitions peuvent être nombreuses et enliser les calculs mais leur contribution globale à la réduction du débit est très faible.
Optimisation de l'encodage AV1 sensible à la complexité du décodeur
AV1 a inclus plus de 100 outils de codage par rapport à son prédécesseur VP9. AV1 a donc laissé l'impression à la communauté que oui, c'est plus efficace en matière de codage, mais c'est lent, assez lent. En effet, grâce à nos communautés open source, les encodeurs AV1 ont été constamment optimisés w.r.t. à la fois son efficacité de codage et sa vitesse de codage. À ce jour, il existe trois encodeurs AV1 open source bien connus : SVT-AV1 initié par l'effort conjoint entre Intel et Netflix, et a également été spécifié par AOM SIWG comme base de code version-0 ; rav1e initié par Mozilla, ainsi que libaom initié par AOMedia. Par exemple, de janvier 2019 à avril 2020, en vérifiant simplement libaom par exemple, l'encodeur AV1 a été accéléré de> 10x (et non de 10%), et l'efficacité de codage, quantifiée par les chiffres de débit BD bien reconnus, a également été améliorée de > 10 % simultanément.
Aussi, sincères remerciements à l'entreprise dav1d financée par AOMedia, un décodeur logiciel AV1 ouvert initialement développé conjointement par VideoLan, Mozilla et Two Orioles, le lancement d'AV1 en tant que produits réels dans les 2 ans suivant la finalisation de la norme n'est pas exagéré rêve plus, avant la grande disponibilité des décodeurs matériels sur le marché. L'optimisation continue de dav1d ouvre la porte à AV1, et des scénarios d'utilisation réalisables sont en cours d'identification où des solutions de décodage logiciel peuvent être déployées et acceptées.
Dans cet exposé, nous aborderons l'optimisation de l'encodage AV1 sous un angle différent, à savoir l'optimisation de l'encodage AV1 sensible à la complexité du décodeur. Alors que nous affinons nos stratégies et nos algorithmes pour optimiser les encodeurs AV1, en général, nous essayons tous d'obtenir une efficacité de codage supérieure bien supérieure aux solutions existantes, tout en accélérant la vitesse d'encodage prête pour un produit réel. En effet, la prise de conscience de la complexité du décodeur peut en retour collecter des informations précieuses sur la conception de l'encodeur AV1, de sorte qu'un encodeur AV1 peut non seulement atteindre un bon compromis suffisant entre l'efficacité de codage et la vitesse d'encodage, mais également aider à alléger la charge du côté du décodeur. , pour rendre le déploiement d'AV1 à une communauté encore plus large.
Nous aurons d'abord un bref aperçu des performances actuelles de dav1d, y compris des statistiques collectées spécifiquement concernant sa vitesse de décodage et sa consommation d'énergie. La vitesse de décodage de dav1d a été constamment confirmée pour surpasser tous les autres décodeurs logiciels AV1 existants. Pour vérifier ses performances sur les téléphones mobiles, nous avons évalué dav1d par rapport au décodeur logiciel ffmpeg-h264 et au décodeur logiciel openhevc, en termes d'utilisation du processeur [%], de mémoire utilisant [Mo], de courant [mA], de puissance consommée [mW] , tension [mV] et température [℃], sur plusieurs appareils mobiles typiques. Nos résultats démontrent qu'en termes de consommation d'énergie, dav1d est classé entre les deux décodeurs susmentionnés, pire que ffmpeg-h264 mais meilleur que openhevc.
De plus, nous avons travaillé avec nos collaborateurs pour collecter de manière approfondie les statistiques de vitesse de décodage exécutant dav1d, en particulier sur les appareils mobiles bas de gamme. Par exemple, notre collaborateur a sélectionné 18 séquences de test communes, a utilisé SVT-AV1 Preset 6 pour générer le flux binaire AV1 et les a décodés sur XiaoMi 4, avec le processeur Qualcomm Snapdragon 801 Quad-core. L'ensemble de vidéos de test comprend une définition de 720x536, 960x536, 960x480, 1024x576 et 2024x536. On peut observer qu'à un débit binaire d'encodage plus élevé, l'utilisation d'un décodeur sur de tels types d'appareils serait très difficile à décoder en temps réel.
Ensuite, nous aborderons plusieurs outils de codage qui peuvent affecter directement les performances de la complexité du décodeur. Nous démontrerons ensuite les résultats selon lesquels, pour un contenu spécifique, certains outils de codage peuvent entraîner une grande complexité côté décodeur alors que l'efficacité de codage ne peut subir qu'une dégradation minimale si ces outils sont ignorés côté encodeur. Par exemple, AV1 inclut des tailles de bloc allant de 4x4 à 128x128. En désactivant les partitions extrêmement grandes ou les partitions les plus petites, un bon compromis peut être atteint pour une efficacité de codage suffisamment bonne tout en n'entraînant pas trop de complexité de calcul côté décodeur, ainsi pour avoir le décodeur plus capable de décoder en temps réel même sur de faibles périphériques finaux. Le concept de conception d'encodage sensible à la complexité du décodeur contribuerait en outre à faire avancer le lancement d'AV1.
Source : Talk overview de Zoe Liu, Demuxed 2020