Cet article est une traduction d’un billet de blog posté sur le blog de développement de Stadia. Vous pouvez retrouver l’article original ici.
Compression vidéo sur Stadia
La compression vidéo est une des technologies de base utilisée par Stadia pour offrir des expériences de jeu diffusées depuis le cloud jusqu’aux joueurs. L’encodage vidéo à très faible latence pour des jeux vidéo est un problème difficile qui oblige à les pousser dans leurs limites pour produire une bonne qualité vidéo dans un environnement aussi restreint en ressources.
Les ingénieurs de Google s’efforcent donc de trouver le juste équilibre entre la qualité visuelle, la latence de l’encodage et le coût du traitement vidéo, qui soit le meilleur, à la fois pour les joueurs mais aussi pour l’entreprise. Les compromis entre ces paramètres sont complexes en raison de la nature non linéaire de l’impact sur l’expérience utilisateur qui dépend de divers facteurs tels que le contenu du jeu et les conditions du réseau. Chez Google, les décisions sont prises en se basant sur des données et pour cela, les ingénieurs doivent disposer d’un moyen fiable de mesurer ces facteurs.
Dans ce billet de blog, nous vous expliquons pourquoi la mesure de la qualité vidéo est un défi et comment Google aborde ce problème avec Stadia.
Qualité vidéo perçue
Lorsque les ingénieurs de Mountain View mesurent la qualité vidéo, ce qu’ils souhaitent, c’est comprendre la qualité perçue, et non la différence absolue en pixels entre les flux originaux et compressés. Ils désirent savoir quels détails ou informations sur la vidéo sont redondants et peuvent être imperceptiblement supprimés pour réduire la taille de la vidéo de sortie transmise aux joueurs afin qu’ils puissent apprécier pleinement de jouer sur Stadia.
Si vous avez récemment regardé un vieux film ou joué à un des jeux vidéo préférés de votre enfance, en plus de ressentir un sentiment de nostalgie, vous avez peut-être aussi remarqué à quel point l’expérience visuelle et auditive était différente de celle d’un jeu vidéo plus récent. À contrario, lorsque vous avez apprécié ce même contenu il y a tant d’années, vous ne l’avez probablement pas perçu comme étant de « mauvaise qualité ».
Ce dernier point révèle un des fondements de la cognition : nos perceptions changent avec le temps sans que nous nous en rendions compte. Notre cerveau ne perçoit pas directement la réalité. Il construit et reconstruit plutôt des modèles simplifiés du monde. La perception est une cible mobile dépendant du contexte.
Pour créer des produits de haute qualité dans un environnement où les normes de qualité perceptive sont de plus en plus strictes, les ingénieurs de Google doivent constamment la mesurer et la contrôler, et adapter leurs produits aux nouveaux besoins des utilisateurs.
Une des méthodes éprouvée pour mesurer la qualité perceptive d’une vidéo consiste à effectuer un test subjectif qui est généralement coûteux et long puisqu’il implique des évaluateurs humains. Au cours du test, les mêmes séquences codées sont présentées aux évaluateurs afin d’obtenir une note sur une échelle de 1 à 5 correspondant à leur qualité perçue, appelée note d’opinion moyenne (MOS), où 1 correspond à une qualité « inacceptable » et 5 à une qualité « excellente ».
La qualité perçue étant intrinsèquement subjective et variant d’une personne à l’autre, ce qu’un joueur peut trouver acceptable, un autre peut remarquer des distorsions importantes qui ruinent son expérience. Par conséquent, il n’est pas suffisant de se fier à une seule personne pour évaluer la qualité d’une vidéo. En général, les mêmes vidéos sont montrées à plusieurs personnes pour obtenir des données plus représentatives.
Une alternative traditionnelle à l’exécution de tests subjectifs coûteux consiste à utiliser des mesures objectives de la qualité vidéo telles que le rapport signal-bruit de crête (PSNR) et la mesure de l’indice de similarité structurelle (SSIM). Le PSNR mesure la différence absolue entre les vidéos originales et déformées, tandis que le SSIM mesure la similarité structurelle entre ces vidéos. Pourtant, ces deux mesures n’ont pas une corrélation suffisamment élevée avec le score d’opinion moyen (MOS) pour que les ingénieurs de chez Google puissent s’appuyer sur celles-ci lorsqu’ils travaillent sur leurs produits. En effet, sur les graphiques ci-dessous, la ligne rouge représente la corrélation idéale. Comme vous pouvez le constater, de nombreux points de données (points bleus) sont loin de cette ligne. Ces valeurs aberrantes font qu’il est difficile de prendre des décisions sur la qualité de la vidéo en se basant uniquement sur cette métrique car celle-ci peut donner une mauvaise note à des vidéos de bonne qualité et inversement.
Stadia VPM
Afin de mesurer avec précision la qualité visuelle perceptible sans avoir à effectuer des tests subjectifs fastidieux, l’équipe de Stadia s’est associée à l’équipe de Compression Neuronale de Google Research pour élaborer une métrique de perception vidéo basée sur les technologies de Deep Learning qui aurait des scores de corrélation plus élevés que les métriques existantes utilisées par l’industrie et qui leur permettrait de créer des produits de pointe dans un environnement où les attentes en matière de qualité visuelle augmentent constamment.
La métrique de perception vidéo (Video Perception Metric, VPM) est une métrique de qualité vidéo basée sur la référence, construite à l’aide d’un réseau neuronal qui a été entraîné grâce au deep learning avec des données de tests subjectifs que l’équipe de Stadia a effectué auprès d’évaluateurs humains internes. Il prend en compte les flux vidéo originaux et déformés et prédit une note comprise entre 1 et 5.
La métrique traite des vidéos non compressées qui ont généralement une taille énorme. Par exemple, une vidéo 4K non compressée de 10 secondes à 60fps peut peser environ 7 Go. Le jeu de données d’entraînement de Stadia comprend environ 3000 vidéos pour le moment. L’entrainement d’un modèle de réseau neuronal via le deep learning afin de prédire un score MOS en utilisant plus de 20 téraoctets de données serait un processus très lent. C’est pourquoi la métrique commence par pré-calculer certaines caractéristiques clés à partir des vidéos d’entrée, puis transmet ces caractéristiques – ainsi que les données MOS des tests subjectifs – à TensorFlow (outil open source de deep learning développé par Google) pour la phase d’apprentissage. Les valeurs des caractéristiques variant généralement au sein d’un flux vidéo, elles sont donc calculées pour chaque image vidéo, puis l’histogramme des valeurs de l’image est transmis à l’étape de l’apprentissage.
Contrairement aux métriques traditionnellement utilisées comme PSNR et SSIM qui calculent le score de qualité pour chaque image séparément, le VPM de Stadia tente également de comprendre comment le mouvement et la transition entre les images seraient perçus par les joueurs. Pour y parvenir, la métrique introduit un ensemble de caractéristiques temporelles qui tentent de les examiner spécifiquement.
Ce qui fait du VPM une mesure perceptive de la qualité vidéo, c’est qu’il tente de séparer les distorsions qui peuvent être ignorées sans risque de celles qui ont des effets secondaires et qui pourraient ruiner l’expérience des joueurs sur Stadia.
En utilisant l’apprentissage automatique et en entraînant des modèles avec les données des tests subjectifs, Google a obtenu les outils nécessaires pour régler son infrastructure et créer des expériences d’un niveau supérieur pour ses joueurs. L’apprentissage automatique continue d’aider l’entreprise à résoudre des problèmes difficiles et d’obtenir des résultats qui prendraient des années à atteindre avec des évaluateurs humains.
Stadia opère dans un environnement en évolution rapide où les normes de qualité et les attentes ne cessent de croître. Pour que ses innovations technologiques reflètent la façon dont les humains perçoivent la réalité, les ingénieurs de chez Google doivent s’assurer qu’ils construisent des outils de mesure qui modélisent le monde de la même façon que nous. Le VPM est l’un des moyens par lesquels ils s’efforcent d’offrir la meilleure expérience utilisateur aux joueurs. Ils continueront d’itérer sur cette technologie et sur bon nombre des technologies de base de Stadia à mesure que le cloud gaming évolue.
Ce projet est réalisé en collaboration avec de nombreuses personnes telle que Danielle Perszyk, Brad Rathke, George Toderici, Eirikur Agustsson, Ramachandra Tahasildar, Danny Hong, Jani Huoponen et Richard Xie.