Vers une meilleure diffusion vidéo sur Internet
En 2017, la diffusion vidéo est la première source de trafic sur Internet, et son volume va plus que doubler d’ici 2020 pour atteindre 82 % des données totales échangées (d’après des données publiées par Cisco). Pour répondre à cette demande croissante en débit et en qualité vidéo, la plupart des solutions se basent sur des serveurs répartis géographiquement qui hébergent des copies des vidéos au plus proche des utilisateurs et utilisatrices. Ensuite, la diffusion est généralement réalisée à l’aide de protocoles adaptatifs, où la qualité change en temps réel selon la connexion du spectateur (comme par exemple sur Netflix, ou sur Youtube avec le mode « auto »). Mais, comme vous l’avez sûrement déjà constaté, des coupures et des baisses de qualité perdurent ! C’est donc pour améliorer la qualité des diffusions vidéo que MS-Stream, un nouveau protocole de diffusion vidéo, a été inventé et développé par des membres de l’équipe PROGRESS du Laboratoire bordelais de recherche en informatique (LaBRI).
De la télévision vers la diffusion sur Internet
Avec l’essor d’Internet pour le grand public sont apparus de nouveaux modes de consommation. Tout d’abord, les contenus vidéo sur des plates-formes telles que Youtube augmentent en quantité et en qualité chaque année, notamment grâce à la rémunération des auteurs et autrices via la publicité et les partenariats. Il y a également une demande croissante du public pour des contenus spécialisés, dorénavant consommables sur tous supports (ordinateur, tablette, smartphone, téléviseur connecté, etc.). Par ailleurs, les vidéophiles souhaitent visionner des films et séries à leur rythme, sur leur support de prédilection, sans dépendre du programme télévisé. Pour cette raison, des services de vidéo à la demande (VOD) ont émergé.
Ces méthodes de diffusion « Over The Top » grâce à des sites web ou des applications deviennent les solutions préférées des consommateurs et consommatrices. En effet, Youtube et Netflix représentent à eux seuls plus de 50 % du trafic internet en heure de pointe aux États-Unis. Enfin, l’essence même de la télévision (la diffusion en direct) est en train de basculer vers des alternatives sur Internet comme Twitch, privilégiées par le public grâce à leur flexibilité d’utilisation et de support.
Ces nouveaux modes de consommation de contenus posent un problème majeur : la qualité de « l’expérience utilisateur » proposée. En effet, avec une telle croissance, les réseaux sont souvent saturés, les serveurs se retrouvent surchargés, et il devient de plus en plus difficile de proposer une diffusion fiable, sans coupures, avec une bonne qualité visuelle et une stabilité satisfaisante, à des coûts abordables pour les fournisseurs de contenus. Par exemple, comme le montre le tweet ci-dessus, le service de diffusion de Fox n’a pas pu supporter la charge lors du Super Bowl 51 (2017) et était indisponible pendant quelques minutes.
Quelles solutions sont disponibles ?
Étant donnée la consommation croissante de flux sur Internet, le stockage et la diffusion des contenus vidéo sont des problématiques récurrentes. Il est alors nécessaire de trouver des solutions pour réduire l’impact de ces flux sur la santé du réseau, en permettant au plus grand nombre d’accéder aux ressources tout en fournissant une expérience satisfaisante aux utilisateurs et utilisatrices consommant les contenus. Pour cela, des codecs (encodeurs-décodeurs) vidéo ont été développés dans le but de réduire le poids nécessaire au stockage et à la transmission de ces médias. Le principe commun de ces codecs est de découper la vidéo en ensembles d’images, appelés Group Of Pictures (GoP), composés en général d’une douzaine d’images successives. Chacun de ces GoP utilise la redondance présente dans les images consécutives pour ne transmettre que les changements d’une image à l’autre, au travers de vecteurs de déplacement de pixels calculés à partir d’une première image de référence.
Plus récemment, dans les années 2010, des méthodes de diffusion vidéo adaptative sur HTTP ont vu le jour, telles que le standard DASH qui est utilisé entre autres par YouTube et Netflix. L’objectif de ces techniques est de réduire le nombre de coupures lors de la diffusion de vidéos, en adaptant la qualité du flux à la bande passante disponible entre le consommateur et le serveur. Pour cela, la vidéo est d’abord encodée dans plusieurs qualités (que l’on définit par leur bitrate, c’est-à-dire la quantité de données qu’elles affichent par seconde) en utilisant le principe des GoP. Ensuite, chaque représentation est découpée en segments de quelques secondes, contenant chacun plusieurs GoP.
Quand le client souhaite recevoir une vidéo, le serveur lui fournit une liste des différents bitrates disponibles dans un fichier standardisé, que l’on appelle Media Presentation Description (MPD). Le lecteur vidéo choisit alors la qualité la plus adaptée aux conditions réseau pour chaque segment, en fonction de la bande passante disponible (voir image). La vidéo est alors reçue en plusieurs segments qu’il faut remettre bout à bout pour lire le flux.
Le standard DASH et les techniques similaires permettent d’améliorer sensiblement la qualité de l’expérience du public en éliminant la plupart des coupures dues aux mauvaises conditions du réseau entre l’utilisateur ou l’utilisatrice et le serveur. En revanche, les problèmes liés à la surcharge des serveurs ou à leur capacité perdurent.
Présentation de MS-Stream
Pour répondre à ces problématiques liées à l’utilisation d’un seul serveur, des protocoles de diffusion multisources ont été conçus et développés. MS-Stream (Multiple-Source Streaming) est un protocole adaptatif de diffusion vidéo qui étend le standard DASH. Il permet d’utiliser plusieurs serveurs simultanément afin d’assurer une meilleure qualité d’expérience au public, en minimisant les coupures et en améliorant la qualité vidéo affichée.
Les idées derrière MS-Stream peuvent être résumées en deux points :
- Quand un serveur est ajouté, la qualité de la vidéo doit augmenter.
- Quand un des serveurs de vidéo n’est plus disponible ou que le chemin réseau est surchargé, la lecture de la vidéo doit pouvoir continuer.
Tout comme pour DASH, la vidéo est d’abord encodée en différentes qualités puis découpée en segments contenant plusieurs groupes d’images (GoP). Le contenu est ensuite copié sur plusieurs serveurs différents.
Lorsque l’utilisateur ou utilisatrice souhaite regarder un segment d’un contenu vidéo, le lecteur vidéo fait des requêtes auprès des différents serveurs disponibles. Chaque serveur va alors proposer un sous-segment composé de certains GoP en bonne qualité, et d’autres en qualité basse. Ce sous-segment vidéo est appelé description. C’est en fait l’agrégation des GoP de différents segments. De cette manière, le client ou la cliente peut rassembler les différents GoP reçus pour former un segment en bonne qualité (voir image). Si des GoP ne sont pas reçus, il est possible d’utiliser les GoP de basse qualité fournis par les autres serveurs afin de compléter le segment et continuer la lecture sans interruption. Pour résumer, le lecteur vidéo va donc en réalité télécharger des descriptions et demander à adapter dynamiquement la taille de ces descriptions en fonction de la vitesse du réseau et de chaque serveur.
Par exemple, si l’utilisateur ou utilisatrice a une bande passante de 2 Mb/s avec un serveur, 1 Mb/s avec le deuxième, et 3 Mb/s avec le troisième, une qualité visuelle allant jusqu’à 6 Mb/s pourra être obtenue (voir image). Cette qualité est alors supérieure à la qualité que DASH aurait pu fournir (ici au maximum 3 Mb/s avec le troisième serveur). Si maintenant le deuxième serveur devient surchargé ou indisponible, l’utilisateur ou utilisatrice pourra toujours obtenir 2+3 = 5 Mb/s depuis les deux autres serveurs, sans que cela n’interrompe la lecture.
Des extensions à MS-Stream ont également été développées afin de permettre une diffusion hybride, basée sur des serveurs dans le cloud, ou via des appareils utilisés à domicile (box internet, décodeur…), mais également en mode pair à pair entre les terminaux des utilisateurs ou utilisatrices. Ces multiples types d’appareils possèdent des ressources hétérogènes de stockage, de calcul et de débit réseau. Le protocole MS-Stream permet alors de maximiser l’utilisation de ces ressources en additionnant les bandes passantes de chacun des chemins réseau et ainsi augmenter la qualité visuelle affichée sur le lecteur de tout un chacun.
Le protocole MS-Stream permet ainsi de diminuer les coupures grâce à une redondance des flux entre les différentes sources, d’améliorer la qualité visuelle des vidéos en agrégeant les bandes passantes depuis plusieurs serveurs, et d’exploiter au mieux les ressources hétérogènes disponibles dans le réseau et chez les utilisateurs ou utilisatrices.
Validation de MS-Stream
Afin de valider la pertinence d’une solution de diffusion de vidéo multisource, les performances de MS-Stream ont été évaluées face aux performances des solutions DASH actuelles. Les résultats les plus intéressants concernent le bitrate de la vidéo, qui représente directement la qualité d’image affichée, et le nombre moyen de pauses pendant la lecture de la vidéo.
On observe dans ces résultats que le protocole MS-Stream permet bien à la fois d’afficher une meilleure qualité d’image que les solutions actuelles basées sur DASH, mais également que le nombre de pauses dans la vidéo soit considérablement diminué, et ce même dans un réseau surchargé et ralenti. En plus de la validation technique et expérimentale, MS-Stream a obtenu plusieurs prix et une reconnaissance de la part de la communauté du monde de la recherche et du monde de l’entreprise.
MS-Stream permet donc une amélioration de « l’expérience utilisateur », entre autres par la qualité vidéo et la réduction du nombre de coupures. Mais le protocole est également plébiscité grâce à la possibilité qu’il offre d’utiliser des équipements hétérogènes et peu coûteux pour diffuser du contenu vidéo. En effet, les prestataires de contenus pourraient maintenant aisément proposer des sessions de diffusion vidéo de meilleure qualité et à moindre coût par rapport aux solutions actuelles.
Conclusion
Dans le contexte de consommation de contenus vidéo actuel, il est primordial de concevoir des nouvelles solutions de diffusion afin d’améliorer la qualité d’expérience des vidéophiles et limiter l’impact négatif que cette consommation peut avoir sur le réseau. Pour cela, la recherche et l’industrie proposent de nombreuses solutions, plus ou moins réalistes. Le protocole MS-Stream, basé sur le standard DASH déjà très largement répandu, permet de répondre à ces problématiques sans concession et en améliorant significativement les implémentations existantes.
Pour en savoir plus, une démonstration à grande échelle et des informations complémentaires sont disponibles en ligne : http://msstream.net/.
Newsletter
Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité
Niveau de lecture
Aidez-nous à évaluer le niveau de lecture de ce document.
Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !
Joachim Bruneau-Queyreix
Simon Da Silva
Mathias Lacaud
Daniel Negru