AV1 sera bien accéléré par les Radeon RX 6000 d’AMD
Et de trois !
Le 13 octobre 2020 à 08h40
2 min
Hardware
Hardware
Microsoft vient d'annoncer le support du codec libre AV1 au sein de Windows 10. Il confirme au passage que tant AMD qu'Intel et NVIDIA sont impliqués dans le projet.
Ces dernières semaines, Intel et NVIDIA ont annoncé des produits disposant d'une accélération matérielle pour la décompression des vidéos exploitant le codec open source AV1 : Tiger Lake et les GeForce RTX de série 30. Dans la foulée, VLC publiait une préversion permettant d'en profiter.
On était néanmoins sans nouvelles d'AMD, qui ne s'est toujours pas exprimé sur le sujet. C'est finalement Microsoft qui a lâché le morceau dans un billet de blog publié en fin de semaine dernière. Il y évoque les GPU qui profiteront de l'accélération d'AV1 sous Windows 10, sous réserve d'utiliser au moins la version 1909 et cette extension (gratuite).
On y apprend que les Radeon RX 6000 seront concernées. Elles devraient donc introduire un nouveau moteur vidéo, sans que l'on sache si d'autres éléments ont été ajoutés à l'occasion. On attend aussi le support du HDMI 2.1 (48 Gb/s) pour la connectique, et pourquoi pas du DisplayPort 2.0 (NVIDIA s'étant limité à la version 1.4).
Toutes les applications Windows exploitant Media Foundation seront ainsi compatibles avec AV1 sur les produits les plus récents d'AMD, Intel et NVIDIA. DirectXVA (DXVA) a bien entendu été adapté. Une bonne nouvelle pour l'utilisation massive de ce codec libre qui devrait permettre de renforcer la qualité vidéo à même débit. Ou, à l'inverse, de réduire le débit nécessaire à qualité d'image constante.
Commentaires (15)
Le 13/10/2020 à 09h06
Impressionnant qu’on arrive encore à faire des progrès dans la compression vidéo, car il y a des limites théoriques (entropie, etc) ; j’ai déjà vu le passage au MPEG (depuis d’autres compressions plus simples), puis au H264 (les divers DivX étant intermédiaire en efficacité je crois), puis au H265/HEVC, et là on a les VP9 et AV1.
Autant je connais les principes utilisés pour le MPEG (et le JPEG), autant pour les dernières avancées je ne ne connais pas et je serais curieux de lire de la vulgarisation sur le sujet.
Le 13/10/2020 à 09h40
Pour info, c’est juste le décodage d’AV1 qu’est supporté. Pas de précision concernant un éventuel support matériel de l’encodage
Le 13/10/2020 à 09h45
Oui, c’est précisé dans l’article
Le 13/10/2020 à 10h17
Quand je m’y suis intéressé un peu et que j’ai vu qu’il y avait également des algos de prédiction d’image dans les H264/H265/HEVC, j’ai laissé tombé.
Si tu veux, les pages wikipédia de ces formats sont déjà franchement bien AMHA pour cerner le contour du fonctionnement de ces codecs.
Le 13/10/2020 à 10h17
Et si car l’article parle de la seule décompression.
Le 13/10/2020 à 10h23
En fait, c’est très logique, tu remplaces du débit par du temps de calcul (même en lecture).
Le 13/10/2020 à 10h25
En fait ça existe aussi en MPEG, les trames P (P-frames), pour Prédictif, et ça existait probablement avant (ça demande plus de mémoire que la simple compression intra-trame)
Je vais regarder, mais parfois ça n’est pas aussi clair que ça pourrait.
Le 13/10/2020 à 10h30
Tu n’as pas tout pigé à la notion d’entropie et de limite théorique (théorie de l’information, etc).
Même si l’augmentation de puissance du matériel permet des compressions plus complexes, mais les gains ne sont pas forcément importants, en fait ce qui limite c’est toujours la décompression par du “petit” matériel peu onéreux (voire en logiciel pas trop gourmand).
Par exemple, vers la fin des années 90 le décodage d’un bête fichier MPEG en 320x200 demandait beaucoup de puissance même à un CPU haut de gamme, idem pour le MP3 un peu avant (alors que c’est encore plus léger).
Le 13/10/2020 à 11h39
C’est vulgairement assez simple pour le h264. Tu as 3 types d’images :images clefs, images de mouvements et images d’anticipation. En plus des techniques de compression nouvelles, la nouveauté de h264 était qu’une image à venir est utilisable dans une image passée. Le hic c’est qu’il faut arriver à créer ces images sans avoir besoin des éléments inclus ou à l’aide des futures images clefs, et ça demande beaucoup de puissance (qui est arrivée entre mpeg et h264).
En soit le hevc n’est qu’un h264 plus complexe, affiné et donc demandant plus de puissance: c’est ça qui fait qu’il y a un gain, en plus de techniques de compression par ci par là.
Ce n’est qu’une vulgarisation, merci de ne pas me tomber sur le coin de la gueule ^^
Le 13/10/2020 à 13h10
Comme pour le MPEG :-) .
Mais encore ?
Le 13/10/2020 à 16h00
Parmi pleins de nouveautés, tu as les vecteurs de directions. Avant, tu en avais 4 pour coder les directions (Nord, Sud, Est, Ouest). Puis c’est passé à 9. Puis en ajoutant différentes longueurs, ça a encore augmenté. Ca permet de coder plus de choses, mais sortir les vecteurs prend plus de temps.
Tu as aussi la taille des macroblocks qui changent. Avant, tu avais que quelques tailles de blocks, qui pouvaient servir à l’encodage. Maintenant, tu peux les subdiviser suivant différentes subdivisions : tu peux avoir des blocks plus gros (utile pour le ciel, par exemple), et des blocks pas carrés => https://shopdelta.eu/obrazki_art/h265_img2_d.jpg
Le côté prédictif du mouvement est maintenant aussi temporel.
Bref, y’a pleins de chose. Ce tableau résume bien les choses pour le h265 : https://www.imgtec.com/wp-content/uploads/2013/06/MPEG-2-HEVC-and-H.264-tools-comparison-1.jpg
Le 13/10/2020 à 17h16
(marrant ton pseudo au fait) (que je ne découvre pas)
Le 13/10/2020 à 17h22
Je me demande comment ils font pour les histoires de 1⁄2 et 1⁄4 de pixel, sachant qu’au départ c’est la plus petite quantité d’information traitable.
Possible que ce soit en analysant plusieurs images de suite et en distinguant des mouvements qui vont plus lentement qu’un pixel à la fois.
Le 13/10/2020 à 21h28
Héhé, merci :)
Alors en fait, ça dépend de la taille des macroblocks, toutes les tailles ne sont pas dispos à tous les niveaux. Dans AV1, dans les blocs de 8x8 pixels, tu peux faire que des partitions horizontales au milieu, verticales au milieu, ou les deux ensemble. Faut aller plus haut dans les tailles pour pouvoir faire des découpages de 4:1, par exemple (et on descend jamais en dessous du pixel niveau taille). En gros, tu peux découper de cette façon : https://upload.wikimedia.org/wikipedia/commons/f/fd/AV1_Partitioning.svg
Du coup, j’ai regardé un peu les avancés de l’AV1 par rapport au h.265, et y’en a quelques uns :
Le 14/10/2020 à 16h53
Merci