/ facebook

Comment Facebook gère la vidéo 360°

Comment Facebook gère la vidéo 360°

L’équipe d’ingénieurs de Facebook vient de publier un article relatant la réflexion mise en œuvre pour optimiser la diffusion de vidéo 360°. Avec un nombre d’utilisateurs dépassant plusieurs milliards, toute optimisation technique de l’image permet d’économiser des millions de dollars de bande passante. Evgeny Kuzyakov et David Pio, ingénieurs en charge de la technologie 360°, s’expliquent.

Il faut en effet savoir qu’une vidéo 360° comporte pour chaque image bien plus d’informations qu’une vidéo plate en deux dimensions. Le spectateur pouvant porter son regard n’importe où, y compris derrière lui, la quantité de pixels à gérer devient astronomique.

“C’est beaucoup de calculs. Par exemple, 10 minutes de vidéo 360° exigent le traitement de 300 milliards de pixels qui doivent être projetés sur une sphère virtuelle.”

Un problème de géométrie dans l’espace

La problème de la représentation d’une vidéo sphérique est identique à la représentation de notre planète. Traditionnellement, une topographie sphérique est projetée sur une carte équirectangulaire, appelée projection géographique ou projection cylindrique équidistante. Le défaut d’une telle projection tient dans la gestion de l’information aux pôles de la sphère : parce que à cet endroit l’espace est plus petit qu’à l’équateur, la quantité d’informations est redondante et donc très peu fidèle à la topographie sphérique originelle.

Sur une vidéo 360°, la conséquence est que les pixels aux pôles se confondent terriblement et la qualité de ces deux zones (nord et sud) est très mauvaise. Quand il s’agit de ciel bleu, le spectateur n’y voit que du feu, mais sur des images plus complexes, l’effet d’immersion n’est pas idéal.

Un petit cube dans le bouillon à 360°

La solution retenue par les deux ingénieurs est de choisir une projection sur un cube. Ce n’est pas en soi innovant. C’est même un classique de la production 3D, qui apporte son lot d’avantages :

  • Absence de distorsion pour chaque face. Ainsi, chaque face présente une image telle qu’elle pourrait être vue à l’aide d’un appareil photo classique.
  • Utilisation astucieuse des codecs de compression, qui ont été programmés pour s’appliquer sur des mouvements 2D, c’est-à-dire à plat, sans courbure d’image due à la projection sphérique.
  • Distribution égale des pixels. chaque face contient autant de pixels. En l’absence de pôle, il n’y a pas d’informations redondantes ou surnuméraires.
  • Projection plus facile de l’image. Chaque face est projetée sur une face d’un cube « sphérisé », sans nécessiter de calculs trop complexes.

Voici en images, le procédé employé pour transformer une vidéo équirectangulaire en vidéo projetée sur un cube (exemple donné par Facebook à partir de la chaine Discovery)

Chaque vidéo 360° nécessite un calcul préalable pour optimiser son découpage en face. 25% de la vidéo est projeté sur la face au zénith, 25% sur la face au sol, et les 50% restants sont répartis sur les quatre faces nord, sud, est, ouest. La technique retient autant d’informations que la vidéo 360° originelle, mais stocke 25% de pixels en moins (en l’absence de redondance d’informations), ce qui est un gain très appréciable pour un site comme Facebook, à trafic intense.

La projection consiste ensuite à :

  • plaquer une sphère sur un cube
  • plaquer les six images carrés sur chaque face
  • étendre la sphère dans toutes les directions, pour lui redonner sa forme initiale

Après la projection, la compression…

La video 360° est très gourmande. Pour filmer en 360°, il faut un dispositif filmant simultanément dans toutes les directions. Les dispositifs les plus répandus sont à base de deux à six caméras Gopro. Le filmage est réalisé dans des résolutions maximales, souvent à 2,7K voire 4K pour chaque caméras.

freedom360Explorer-300x200

La quantité d’informations est ensuite réduite au moment du « stitching », opération qui consiste à recoller les images des six caméras entre elles, comme un puzzle, pour n’en faire plus qu’une seule, en éliminant les parties filmées communes entre chaque caméras. Les deux ingénieurs tablent sur une moyenne de 22 giga-octets pour une heure de vidéos et sur le double quand il s’agit de vidéos 360° stéréoscopiques !

Evidemment impossible à diffuser en l’état, les vidéos sont compressées en jouant sur la compression de l’image, le taux d’informations diffusé par seconde.

Le risque des vrais-fausses vidéos 360°

Actuellement, Facebook n’a pas trouvé de moyen efficace pour identifier à coup sûr si la vidéo postée par un utilisateur était une vidéo 360° ou pas. Le risque est de présenter ensuite des vidéos équirectangulaires comme des vidéos 2D classiques et vice-versa, avec un effet plus que décevant. Pour l’instant, c’est le producteur de la vidéo qui se charge de cocher une case pour indiquer le format de sa vidéo.

facebook-case360

Une solution que Facebook veut certainement éliminer à terme car à l’échelle de Facebook, la qualité est un enjeu de taille :

“Même 0,1% d’erreurs signifie que nous pourrions laisser se diffuser des milliers de vidéos 2D dans un format 360°.”

En effet, de nombreuses caméras capables de filmer à 360° sont d’ores et déjà accessibles au grand public, mais elles sont aussi capables de filmer en 2D. Or, aucun standard, aucune convention n’existe actuellement pour spécifier dans le fichier vidéo produit si l’image est 2D ou 360°. L’information est (ou pas) insérée dans les données EXIF du fichier produit, mais au bon vouloir du constructeur.

Vidéo 360°, entrée dans le marché de masse

oculus-headset-casqueFacebook, comme YouTube, croit dur comme fer au développement de la vidéo 360°. C’est donc de manière très logique que Facebook a mis en place cette infrastructure complète et optimisée pour faciliter la diffusion de vidéo 360°. On verra la vidéo 360° se développer encore plus vite avec la mise en vente prochaine de l’Oculus, une lunette VR laissant l’utilisateur s’immerger totalement dans une image 360°. Rappelons au passage que cette technologie est la propriété de Facebook depuis le premier trimestre 2014, pour un investissement de deux milliards de dollars !