Google détaille les bénéfices de ses puces Argos taillées pour YouTube

Google détaille les bénéfices de ses puces Argos taillées pour YouTube

Google détaille les bénéfices de ses puces Argos taillées pour YouTube

La firme ne l’avait jamais fait et a profité de la conférence ASPLOS la semaine dernière pour donner des détails sur sa puce Argos, de type VCU (video coding unit), une appellation maison.

Progressivement, Google remplace les serveurs x86 par des unités de calcul Argos. Ces puces sont spécialisées dans le traitement des vidéos, et tout particulièrement leur transcodage. Selon Google, sa puce peut gérer les vidéos de 20 à 33 fois plus rapidement qu’un processeur généraliste.

Argos a été conçue par une équipe d’une centaine d’ingénieurs. Le travail avait commencé en 2015 et l’équipe planche déjà sur la deuxième génération. On ne sait pas précisément depuis quand les serveurs Argos sont en place.

On sait en revanche que chaque puce est composée de dix unités de traitement vidéo et que Google réunit deux puces sur une même carte.

Si vous envoyez aujourd’hui une vidéo sur YouTube, il y a de bonnes chances qu’elle soit gérée par des puces Argos. Dans le cas d’une vidéo 4K, il ne faut plus que quelques heures avant qu’elle soit disponible, contre plusieurs jours auparavant. Un gain d'autant plus notable que YouTube reçoit 500 heures de vidéo chaque minute.

Il faut savoir en effet que pour chaque vidéo envoyée, entre 10 et 15 variantes sont créées puis stockées. Une vidéo 4K aura par exemple des versions 1440p, 1080p, 720p, 480p et 360p. Dans certaines régions du monde où la qualité du réseau n’est pas suffisante, YouTube propose des définitions encore plus basses. Le service crée également des variantes avec d’autres codecs, dont VP9.

Comme indiqué à CNet, la seconde génération Argos est attendue de pied ferme. L’un de ses points forts sera le support d’AV1, qui devient progressivement un standard de l’industrie.

Commentaires (11)



Selon Google, sa puce peut gérer les vidéos de 20 à 33 fois plus rapidement qu’un processeur généraliste.




Dommage qu’il ne donne pas le rapport a un GPU.
Autant je comprend qu’un accelerateur d’encodage video dedié est plus optimisé d’un point de vue cout qu’un GPU. Autant il aurai été interessant de voir si le VPU Google est plus performant que les solution GPU actuelles.
Mon petit doigt me dit que ce n’est probablement pas le cas.


L’accélération d’encodage sur GPU repose sur le même type de circuits dédiés, donc le gain doit être minime.



Par contre, avec leur puce dédiée à ça, il y a 2 gros avantages :




  1. Sur un GPU ils utiliseraient qu’une infime partie de la puce : les 200~500 mm² de silicium dédiés au graphismes 3D/calcul hautement parallèle, ça leur sert à rien, les multiples gigaoctets de RAM très rapide idem, tout la partie qui gère l’affichage sur un port HDMI/DP, etc.
    Du coup ça doit leur faire une sacré économie sur le prix de la puce, et vu la quantité de vidéos qu’ils ont a traiter, ça doit amortir les coûts R&D.

  2. Avec leur puce dédiée ils peuvent contrôler au mieux les codecs utilisés (peu de GPU font encodage VP9), et le rapport qualité/poids du fichier/temps passé sur l’encodage. La plupart des circuits d’accélération d’encodage ciblent le temps réel pour le streaming et l’enregistrement en direct, alors que YouTube peut se permettre de passer plus de temps sur l’encodage pour garantir une meilleure qualité d’image.



En exemple tu peux comparer la qualité d’une vidéo enregistrée à 150 Mbit/s sur GPU puis mise en ligne sur YouTube, et regarder quel bitrate ils ont au final.
Essaye ensuite de refaire un enregistrement en utilisant le même bitrate, et tu verras que tu as pas du tout la même qualité d’image.


Ce qui compte pour google ce n’est pas la performance, c’est la rentabilité économique. La quantité de vidéos encodées rapportée au coût d’achat et la consommation électrique.


wanou2

Ce qui compte pour google ce n’est pas la performance, c’est la rentabilité économique. La quantité de vidéos encodées rapportée au coût d’achat et la consommation électrique.



(reply:1869805:kikoo26)




Ok sur tout les point.
Mon message était plutôt une pique a la communication de Google qui se compare a un CPU. Mais qui encode encore sur CPU ?



Ce serait comme comparer le temps de trajet en train par rapport au même temps a pieds ou a vélo … tout en oubliant l’avion.


XXC


(reply:1869805:kikoo26)




Ok sur tout les point.
Mon message était plutôt une pique a la communication de Google qui se compare a un CPU. Mais qui encode encore sur CPU ?



Ce serait comme comparer le temps de trajet en train par rapport au même temps a pieds ou a vélo … tout en oubliant l’avion.


Les gens qui veulent un encodage de qualité, cf mon dernier paragraphe où je te disais de faire l’expérience pour comparer, en utilisant le même bitrate, la qualité que tu obtiens avec un encodage fait par ton GPU et par YouTube (ou avec ton CPU en gonflant tous les paramètres de qualité à fond pour que ça prenne bien 3 plombes à encoder).



C’est un peu la différence entre prendre une photo d’une page A4 en une demi-seconde avec ton téléphone, ou prendre le temps de la mettre dans un scanner et faire un scan propre.
Dans les 2 cas tu as un résultat lisible, le téléphone sera nettement plus rapide, mais le scanner fournira une image de bien meilleure qualité.


c’est pour ça le 1080p qui as une qualité d’un mauvais 720p ?
pour upload régulièrement des vidéo fhd sur youtube, on est obligé de l’upscale en 4k pour avoir une version qui ait l’air propre.. je sais pas ce qu’il font derrière mais c’est assez terrible..



c’est pour ça le 1080p qui as une qualité d’un mauvais 720p ? pour upload régulièrement des vidéo fhd sur youtube, on est obligé de l’upscale en 4k pour avoir une version qui ait l’air propre.. je sais pas ce qu’il font derrière mais c’est assez terrible..





Il prend sa calculatrice et découvre qu’une vidéo 1080p@96Mbps à une meilleure qualité (bits/pixel) qu’une vidéo 4K@225Mbps. Choqué par sa découverte, il quitte youtube et se reconvertit dans le fromage de chèvre.



:humour:



(quote:1869851:127.0.0.1)
Il prend sa calculatrice et découvre qu’une vidéo 1080p@96Mbps à une meilleure qualité (bits/pixel) qu’une vidéo 4K@225Mbps. Choqué par sa découverte, il quitte youtube et se reconvertit dans le fromage de chèvre.




Sur première même si j’utilise du CBR une passe à 25 / 50 mb sur youtube j’ai l’impression que c’est du 10 / 20 max. C’est encore pire si la vidéo est HFR. Il y à depuis quelques temps une grosse perte de la qualité dans la vidéo.




kikoo26 a dit:


Les gens qui veulent un encodage de qualité, cf mon dernier paragraphe où je te disais de faire l’expérience pour comparer, en utilisant le même bitrate, la qualité que tu obtiens avec un encodage fait par ton GPU et par YouTube (ou avec ton CPU en gonflant tous les paramètres de qualité à fond pour que ça prenne bien 3 plombes à encoder).




Sur OBS un encodage CPU à 5mbit équivaut plus ou moins à du 20 mbit en encodage GPU avec nvenc. Après l’algo à été mis à jours et la qualité est bien meilleure depuis quelques temps.



(quote:1869863:skankhunt42 )
Sur première même si j’utilise du CBR une passe à 25 / 50 mb sur youtube j’ai l’impression que c’est du 10 / 20 max. C’est encore pire si la vidéo est HFR. Il y à depuis quelques temps une grosse perte de la qualité dans la vidéo.




Je ne critiquais pas la dégradation liée à l’encodage mais à la “solution” qui consiste à passer en 4K pour améliorer la qualité = quadrupler l’information envoyée/reçue (1pixel–>4pixels) pour compenser la perte de qualité.



Les quelques quidam du web qui étudient ce problème de qualité sur Youtube ont tous la même conclusion: envoyer 4 pixels en qualité 4K n’est pas mieux que d’envoyer 1 pixel en qualité 1080p.



(quote:1869863:skankhunt42 )
Sur première même si j’utilise du CBR une passe à 25 / 50 mb sur youtube j’ai l’impression que c’est du 10 / 20 max.




Oula, 1012 pour de la HD sur YouTube vous êtes bien gentil. On est plus vers 2 ou 3 Mbps généralement. Il suffit de télécharger avec par exemple ClipConverter pour vérifier le débit. Mais même à l’œil on sent que c’est faiblard.
30Mbps c’est du BluRay HD. La TNT HD c’est entre 8 et 12 je crois de mémoire. Du DVD SD c’est 8Mbps (certes avec un codec moins efficace).
Alors 2 ou 3 pour de la HD, oui ça pique.




(quote:1869869:127.0.0.1)
Les quelques quidam du web qui étudient ce problème de qualité sur Youtube ont tous la même conclusion: envoyer 4 pixels en qualité 4K n’est pas mieux que d’envoyer 1 pixel en qualité 1080p.




De même que ~12 pixel en qualité 480p pour suivre la logique.
Néanmoins afficher une vidéo YouTube 4K sur un écran HD offre plus de détails qu’une vidéo HD sur un écran HD. Leur encodage est tellement raz des pâquerettes à la base (pour des raisons évidentes de temps de calcul et de stockage) qu’un mauvais 4K downscale est plus jolie qu’un mauvais HD à l’échelle. Même si la qualité de codage des images est identique, il y a quand même plus d’informations.



Je rejoins également ceux qui dise qu’un encodage CPU est plus qualitatif qu’avec le GPU.
De même qu’un encodage temps réel est plus contraint et sera donc moins qualitatif qu’un encodage d’une source existante.



(quote:1869934:Syrius Märx)
Même si la qualité de codage des images est identique, il y a quand même plus d’informations.




Oui, bien sur: y a 4 fois de pixels :)



Mais ca ne vaut pas le cout en bande-passante.



Une URL au pif sur google: https://www.tutorialguidacomefare.com/test-video-quality-720p-1080p-1440p-2160p-max-bitrate-which-compresses-youtube



MP4 H264 CODEC




  • Youtube compresses 2160p (4K) (3840×2160) with a bit rate 23.1 Mbps

  • Youtube compresses 1080p (1920×1080) with a bit rate 2.309 Mbps



=> 10 fois plus de data envoyée pour une image avec 4 fois plus de pixels.
= >un gain de qualité (bit/pixel) multipliée par 2.5 pour une quantité de data multipliée par 10 :fou:


Fermer