FR 3084980 A1 20200214 FR 1857459 A 20180810 Méthode et dispositif de diffusion de vidéo à 360 degrés 1. Domaine de l'invention L'invention se situe dans le domaine de la réalité virtuelle, et plus particulièrement celui des systèmes de diffusion en mode continu ("streaming" en anglais) de vidéo à 360 degrés. 2. Etat de la technique antérieure Dans un système de diffusion en streaming de vidéo à 360 degrés, l'utilisateur regarde à chaque instant une partie seulement de la vidéo sphérique complète, appelée sphère vidéo. Cette partie, appelée fenêtre d'affichage, dépend de l'orientation de la tête de l'utilisateur et de la taille de l'écran dans son terminal, appelé visiocasque, ou casque HMD ("Head Mounted Device", dispositif monté sur tête, en anglais). Pour assurer une bonne qualité d'expérience, aussi appelée qualité d'immersion virtuelle, et pour éviter la cinétose (mal des transports), le terminal de l'utilisateur doit adapter à chaque instant le contenu audiovisuel dans la fenêtre d'affichage en fonction des mouvements de tête de l'utilisateur. Une première technique de diffusion de vidéo à 360 degrés consiste à transmettre au terminal de l'utilisateur l'intégralité du contenu de la sphère vidéo. Le terminal de l'utilisateur se charge alors localement d'extraire de la sphère vidéo la partie à insérer dans la fenêtre d'affichage du casque de l'utilisateur. Cette technique présente l'inconvénient de transporter une quantité de données très supérieure à celle qui est réellement exploitée par le terminal de l'utilisateur. En effet la fenêtre d'affichage représente environ 15% seulement de la sphère vidéo complète. Cette problématique de consommation des ressources réseau est majeure dans le cas de la vidéo à 360 degrés puisque le débit de streaming d'une sphère vidéo complète peut être compris entre plusieurs dizaines et plusieurs centaines de mégabits par seconde. 2 Une deuxième technique de diffusion a pour objectif de pallier l'inconvénient de la première, à savoir réduire la quantité de données transportées. Cette deuxième technique comprend plusieurs opérations. 5 Les premières opérations interviennent dans la préparation de la vidéo, avant son transport à travers le réseau de télécommunication. La sphère vidéo est d'abord projetée sur un plan à deux dimensions (2D). Puis elle est découpée spatialement en plusieurs parties appelées tuiles, formant par exemple un quadrillage du plan. Ensuite chaque tuile est encodée indépendamment des autres tuiles composant la vidéo. 10 Chaque tuile peut ainsi être décodée indépendamment des autres tuiles sur le terminal de l'utilisateur. Plus précisément, chaque tuile est encodée en plusieurs versions correspondant à différents niveaux de qualités ou à différentes résolutions, par exemple, au moins une version à qualité haute et au moins une version à qualité basse. La vidéo est découpée temporellement en segments (ou "chunks" en anglais), par 15 intervalle de temps. La durée des intervalles de temps (et donc la durée des segments) est fixe pour toute la vidéo, et l'ordre de grandeur de cette durée est une ou plusieurs secondes typiquement. Chaque segment est lui-même composé d'images successives, dont le nombre dépend du nombre d'images par seconde (ou "trame rate", en anglais) de la vidéo, par exemple 60. 20 Le terme tuile désigne donc une subdivision à la fois spatiale et temporelle de la sphère vidéo. Autrement dit, une tuile représente quelques instants (1 seconde par exemple) de la vidéo sur une surface partielle de la sphère. Les opérations suivantes sont exécutées au niveau du terminal de l'utilisateur. Ces opérations doivent être réalisées pour chacun des segments de la sphère vidéo, au cours de l'intervalle de 25 temps précédant l'affichage du segment. Une première opération consiste à prédire l'orientation donnée par la tête de l'utilisateur au visiocasque, au cours du prochain intervalle de temps, c'est-à-dire prédire la bonne fenêtre d'affichage pour le segment. La seconde opération consiste à demander et recevoir le contenu vidéo pour ce segment et cette fenêtre d'affichage. Il est à noter que la fenêtre d'affichage dans le 30 visiocasque est généralement plus grande que la taille d'une tuile ; l'affichage de la fenêtre d'affichage nécessite donc l'assemblage, au niveau du terminal de l'utilisateur, d'un ensemble de tuiles adjacentes. Le terminal doit ainsi demander et recevoir en qualité haute les tuiles qui recouvrent la fenêtre d'affichage prédite pour le prochain intervalle de temps. Le terminal doit aussi demander et recevoir en qualité basse les 5 autres tuiles (celles qui sont en dehors de la fenêtre d'affichage prédite mais qui risquent de s'y trouver si la prédiction n'est pas juste). Ces tuiles en qualité basse permettent de maintenir l'affichage, si nécessaire en qualité basse, de la vidéo lorsque l'utilisateur effectue des mouvements de tête très marqués et imprévus (i.e. en dehors de la fenêtre d'affichage prédite). En effet, afficher une qualité basse dans tout ou 10 partie de la fenêtre d'affichage provoque certes une dégradation de la qualité d'expérience pour l'utilisateur, mais elle est préférable à l'affichage d'une image fixe ou d'un écran noir. Par ailleurs, ces tuiles en qualité basse permettent aussi à cette seconde technique de transporter à travers le réseau une quantité de données inférieure à la première technique décrite ci-dessus. 15 L'inconvénient de cette seconde technique est une dégradation de la qualité d'expérience ressentie par l'utilisateur lorsque la prédiction n'est pas parfaite, comme c'est souvent le cas, par exemple lorsqu'il effectue un mouvement de tête très marqué et en dehors de la fenêtre d'affichage prédite. 20 Un des buts de l'invention est de remédier à ces inconvénients de l'état de la technique. 3. Exposé de l'invention L'invention vient améliorer la situation à l'aide d'un procédé d'obtention de segments 25 vidéo d'une sphère vidéo pour affichage dans un visiocasque connecté à un serveur vidéo, les segments vidéo étant divisés spatialement en une pluralité de tuiles encodables dans au moins deux niveaux distincts de qualité, dont un niveau de qualité élevé et un niveau de qualité bas, une partie de la sphère vidéo destinée à être affichée à un instant d'affichage étant appelée fenêtre d'affichage, le procédé 30 comprenant avant l'instant d'affichage au moins deux itérations de la suite d'étapes 4 suivantes: - estimation de la fenêtre d'affichage, en fonction d'une prédiction d'une orientation du visiocasque susceptible d'être prise à l'instant d'affichage, - identification de tuiles recouvrant la fenêtre d'affichage estimée, auxquelles est 5 associé un niveau de qualité élevé, - identification de tuiles voisines de celles recouvrant la fenêtre d'affichage estimée, auxquelles est associé un niveau de qualité bas, - émission à destination d'un serveur vidéo, pour au moins une des tuiles identifiées, d'une requête relative à l'obtention de la tuile encodée, la requête comprenant une 10 indication du niveau de qualité associé, le procédé comprenant en outre les étapes suivantes: - réception de réponses aux requêtes émises, en provenance du serveur vidéo, comprenant des tuiles encodées, - détermination de la fenêtre d'affichage à l'instant d'affichage en fonction d'une 15 position constatée du visiocasque, - décodage et affichage des tuiles reçues, correspondant à la fenêtre d'affichage déterminée. Entre deux instants d'affichage, plus on attend pour prédire l'orientation du visiocasque 20 susceptible d'être prise au prochain instant d'affichage, plus cette prédiction est précise. Donc, plus le procédé attend pour estimer la prochaine fenêtre d'affichage, plus cette estimation est précise car proche du prochain instant d'affichage, mais moins il reste de temps au procédé pour émettre les requêtes et recevoir les tuiles nécessaires en réponse. Le procédé proposé rend inutile ce compromis. Par rapport à la technique 25 antérieure où une seule estimation est effectuée le plus tôt possible pour l'instant d'affichage suivant, le procédé proposé améliore l'estimation à l'aide d'au moins une seconde estimation, tout en garantissant la réception de toutes les tuiles nécessaires. En effet, si après la seconde estimation il ne reste plus suffisamment de temps pour requérir à nouveau toutes les tuiles nécessaires, la première salve de requêtes garantit 30 la réception des tuiles manquantes, même si elles ne sont pas forcément toutes du 5 niveau de qualité correspondant à la seconde estimation. De plus, le procédé permet un nombre d'itérations de la phase d'estimation supérieur à deux, dans la limite constituée par le temps restant avant le prochain instant d'affichage, et par d'autres paramètres tels que la bande passante de la connexion 5 entre le visiocasque et le serveur vidéo liaison, la puissance de calcul dont bénéficie le visiocasque, etc. La durée entre deux instants d'affichage est celle d'un segment. On comprend que l'expression "instant d'affichage" désigne en l'instant du début du visionnage d'un segment. 10 Pour prédire l'orientation du visiocasque, différentes techniques sont possibles, en combinaison ou indépendamment les unes des autres. Les techniques de prédiction connues prennent en compte: - des données relatives au visiocasque, c'est-à-dire son orientation instantanée et sa trajectoire; 15 - des données relatives au contenu de segments vidéo, c'est-à-dire des indications sur des événements particuliers, tels qu'un bruit ou une lumière dans un segment vidéo visionné ou en cours de visionnage, nettement perceptible par l'utilisateur et venant d'un point précis de la sphère vidéo; - des données relatives à des statistiques comportementales propres à un 20 ensemble d'utilisateurs ayant visionné le même type de vidéo à 360 degrés; - des données relatives au profil de l'utilisateur, c'est-à-dire propres à sa façon de consommer le contenu de ce type de vidéo à 360 degrés. Aucune de ces techniques de prédiction n'est parfaite, et un des avantages du procédé proposé est de contribuer à compenser les erreurs de prédiction inévitables, par une 25 stratégie innovante d'obtention des tuiles. Selon un aspect du procédé d'obtention, la requête comprend en outre une indication d'un niveau de priorité associé à la tuile. Grâce à cet aspect, il est possible par exemple de prioriser les requêtes concernant 30 des tuiles à niveau de qualité élevé sur les requêtes concernant des tuiles à niveau de 6 qualité bas, ou de prioriser les requêtes pour lesquelles une réponse n'a pas encore été reçue sur des requêtes pour lesquelles au moins une réponse a déjà été reçue. Ainsi, la probabilité est augmentée que toutes les tuiles nécessaires auront été reçues à l'instant d'affichage. Autrement dit, si certaines tuiles sont encore absentes à l'instant 5 d'affichage, ce ne seront pas les plus importantes pour l'utilisateur, et de la bande passante entre visiocasque et serveur vidéo aura été économisée. Selon un aspect du procédé d'obtention, si l'itération est la première, la requête est une requête de livraison de la tuile encodée correspondant à la tuile identifiée. 10 Grâce à cet aspect, au moins pour la première estimation de la fenêtre d'affichage, toutes les tuiles identifiées sont requises. Selon un aspect du procédé d'obtention, si l'itération n'est pas la première et si le niveau de qualité ou le niveau de priorité associé à la tuile identifiée a changé par 15 rapport à l'itération précédente, la requête est une requête d'annulation de livraison de la tuile encodée correspondant à la tuile identifiée, suivie d'une nouvelle requête de livraison de la tuile encodée, comprenant le nouveau niveau de qualité ou le nouveau niveau de priorité associé à la tuile identifiée. Grâce à cet aspect, de la bande passante entre visiocasque et serveur vidéo est 20 économisée, suite à l'annulation des requêtes concernant des niveaux de qualité ou de priorité devenus non optimaux. Selon un aspect du procédé d'obtention, si l'itération n'est pas la première et si le niveau de qualité associé à la tuile identifiée a baissé par rapport à l'itération 25 précédente, aucune nouvelle requête n'est émise si la tuile a déjà été reçue. Grâce à cet aspect, une tuile encodée déjà reçue avec un niveau de qualité supérieur à celui nécessaire pour une tuile identifiée n'est pas redemandée, et de la bande passante entre visiocasque et serveur vidéo est ainsi économisée. 30 Selon un aspect du procédé d'obtention, la connexion entre le visiocasque et le 7 serveur vidéo comprend un flux distinct par tuile identifiée. Grâce à cet aspect, il est aisé de gérer individuellement l'obtention des tuiles encodées, notamment pour opérer des modifications sur les requêtes, par exemple suite à un changement de niveau de qualité ou de niveau de priorité d'une tuile identifiée, lors 5 d'une estimation postérieure à la première. Selon un aspect du procédé d'obtention, la connexion entre le visiocasque et le serveur vidéo utilise le protocole HTTP/2. HTTP/2 ("Hypertext Transfer Protocol", version 2 du protocole de transfert d'hypertexte, 10 en anglais, décrit dans le document normatif rfc7540), est un protocole permettant de gérer plusieurs flux dans une même connexion, et permettant en particulier l'annulation de flux (tuiles) en cours de livraison afin par exemple corriger une caractéristique ou la priorisation du flux (de la tuile), sans interrompre la connexion. Il est donc particulièrement adapté pour la mise en oeuvre du procédé proposé. 15 Les différents aspects du procédé d'obtention qui viennent d'être décrits peuvent être mis en oeuvre indépendamment les uns des autres ou en combinaison les uns avec les autres. 20 L'invention concerne aussi un dispositif d'obtention de segments vidéo d'une sphère vidéo pour affichage dans un visiocasque connecté à un serveur vidéo, les segments vidéo étant divisés spatialement en une pluralité de tuiles encodables dans au moins deux niveaux distincts de qualité, dont un niveau de qualité élevé et un niveau de qualité bas, une partie de la sphère vidéo destinée à être affichée à un instant 25 d'affichage étant appelée fenêtre d'affichage, le dispositif comprenant un récepteur, un émetteur, un décodeur, un processeur et une mémoire couplée au processeur avec des instructions destinées à être exécutées par le processeur pour : - estimer la fenêtre d'affichage, en fonction d'une prédiction d'une orientation du visiocasque susceptible d'être prise à l'instant d'affichage, 30 - identifier des tuiles recouvrant la fenêtre d'affichage estimée, auxquelles est 8 associé un niveau de qualité élevé, et des tuiles voisines de celles recouvrant la fenêtre d'affichage estimée, auxquelles est associé un niveau de qualité bas, - émettre à destination d'un serveur vidéo, pour au moins une des tuiles identifiées, une requête relative à l'obtention de la tuile encodée, la requête comprenant une 5 indication du niveau de qualité associé, - répéter, au moins une fois avant l'instant d'affichage, l'estimation pour corriger l'identification des tuiles et corriger des requêtes encore sans réponse, - recevoir des réponses aux requêtes émises, en provenance du serveur vidéo, comprenant des tuiles encodées, 10 - déterminer la fenêtre d'affichage à l'instant d'affichage en fonction d'une position constatée du visiocasque, - décoder et afficher des tuiles reçues, correspondant à la fenêtre d'affichage déterminée. Ce dispositif, apte à mettre en oeuvre dans tous ses modes de réalisation le procédé 15 d'obtention qui vient d'être décrit, est destiné à être mis en oeuvre dans un terminal d'utilisateur tel que par exemple un visiocasque. L'invention concerne encore un visiocasque comprenant un dispositif conforme celui qui vient d'être décrit, un capteur de position et de mouvement, et un écran. 20 Plus généralement, par visiocasque, il faut comprendre tout terminal d'utilisateur permettant à un utilisateur de visualiser au moins partiellement une sphère vidéo. L'invention concerne aussi un programme d'ordinateur comprenant des instructions pour la mise en oeuvre des étapes du procédé d'obtention de données d'une sphère 25 vidéo pour affichage dans un visiocasque connecté à un serveur vidéo, qui vient d'être décrit, lorsque ce programme est exécuté par un processeur. L'invention vise aussi un support d'informations lisible par un dispositif compris dans un visiocasque, et comportant des instructions d'un programme d'ordinateur tel que 30 mentionné ci-dessus. 9 Le programme mentionné ci-dessus peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement 5 compilée, ou dans n'importe quelle autre forme souhaitable. Le support d'informations mentionné ci-dessus peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, un support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique. 10 Un tel moyen de stockage peut par exemple être un disque dur, une mémoire flash, etc. D'autre part, un support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Un programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. 15 Alternativement, un support d'informations peut être un circuit intégré dans lequel un programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. 4. Présentation des figures 20 D'autres avantages et caractéristiques de l'invention apparaitront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier de l'invention, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : 25 la figure 1 présente un exemple de découpage d'une sphère vidéo en tuiles, selon un mode particulier de réalisation de l'invention, - la figure 2 présente de façon schématique un exemple de séquencement des étapes du procédé d'obtention de segments vidéo, selon un mode particulier de réalisation de l'invention, 30 - la figure 3 présente un exemple de structure d'un dispositif d'obtention 10 de segments vidéo, selon un aspect particulier de l'invention. 5. Description détaillée d'au moins un mode de réalisation de l'invention 5 Le mode de réalisation présenté ci-après utilise une subdivision d'une sphère vidéo en 24 tuiles, une durée des segments vidéo de 1 seconde, deux itérations de prédiction de la fenêtre d'affichage de 500ms chacune pour chaque intervalle entre segments, et le protocole HTTP/2 pour la connexion entre le visiocasque et le serveur vidéo, mais ces choix ne représentent qu'un exemple indicatif et non-limitatif de réalisation de 10 l'invention. L'expression "sphère vidéo" ne se limite pas à une sphère mais désigne toute vidéo dont une partie seulement peut être affichée à tout moment, la partie affichée dépendant de la position réelle ou virtuelle du terminal d'affichage, ou de son orientation, c'est-à-dire la direction pointée par celui-ci, par rapport à la vidéo complète. 15 Les exemples développés ci-après comprennent un visiocasque, mais l'invention fonctionne avec tout terminal permettant à un utilisateur de visualiser une "sphère vidéo". La figure 1 présente un exemple de découpage d'une sphère vidéo en tuiles, selon un 20 mode particulier de réalisation de l'invention. Pour générer une vidéo à 360 degrés, plusieurs vidéos classiques peuvent être nécessaires afin de couvrir l'ensemble de la sphère vidéo. La préparation de la vidéo à 360 degrés avant son visionnage demande plusieurs opérations. Suite à l'assemblage 25 en une sphère vidéo des différentes vidéos classiques la composant, la dite sphère est projetée en deux dimensions pour faciliter sa subdivision en parties appelées tuiles. Cette subdivision est adaptée au streaming et ne correspond pas forcément aux composantes vidéo servant de source pour générer la vidéo à 360 degrés. Une projection commune est la projection dite équi-rectangulaire, dont un exemple est 30 illustré par la figure 1. Dans cette projection qui n'est qu'un exemple donné à titre 11 indicatif et non limitatif, la sphère vidéo est divisée spatialement en 24 rectangles. A chacun des rectangles, à un instant d'affichage donné, correspond une subdivision spatiale d'un segment vidéo, aussi appelée tuile. Par commodité, les rectangles sont appelé tuiles dans la suite. Les tuiles sont numérotées T1 à T24. Par souci de clarté 5 seules les tuiles T1, T2, T23 et T24 sont indiquées, les emplacements des autres tuiles pouvant aisément être déduits. Les tuiles peuvent être encodées (compressées) indépendamment les unes des autres, à différents niveaux de qualité, par exemple en utilisant un codeur HEVC ("High Efficiency Video Coding", ou codage vidéo de haute efficacité, en anglais) côté serveur 10 vidéo et un décodeur correspondant côté client, c'est-à-dire du côté du visiocasque. A tout moment, seule une partie de la sphère vidéo, appelée fenêtre d'affichage, peut être regardée par l'utilisateur du visiocasque, ce qui rend inutile de transmettre l'ensemble complet des tuiles formant la sphère. Comme l'utilisateur fait bouger le visiocasque par ses mouvements de tête, la détermination exacte de la fenêtre 15 d'affichage est un problème de prédiction, dont plusieurs solutions sont connues. Ces solutions nécessitent le découpage de la sphère vidéo en différentes régions, selon leur probabilité de se trouver dans la fenêtre d'affichage lors de la prochaine période d'affichage d'un segment vidéo dans le visiocasque. L'exemple de la figure 1 utilise des régions numérotées 1 à 4, et représente une 20 prédiction de la fenêtre d'affichage avant un instant d'affichage quelconque: - La région 1 représente une estimation de la fenêtre d'affichage; des parties de cette zone ont une probabilité très forte d'être incluses dans la fenêtre d'affichage - La région 2 représente la zone d'extension de la fenêtre d'affichage, 25 correspondant à de légers mouvements de tête naturels de l'utilisateur; des parties de cette zone ont une probabilité forte d'être incluses dans la fenêtre d'affichage, - La région 3 représente la zone de l'arrière-plan immédiat, correspondant à des mouvements plus grands lorsque si l'utilisateur tourne la tête; des parties de 30 cette zone ont une probabilité moyenne d'être incluses dans la fenêtre 12 d'affichage, La région 4 représente la zone de l'arrière-plan lointain, correspondant approximativement à la moitié de la sphère opposée à la fenêtre d'affichage; des parties de cette zone ont une probabilité faible d'être incluses dans la 5 fenêtre d'affichage. La région 1 touche 6 tuiles: les tuiles TB à T10, et T14 à T16. La région 2, quoique légèrement plus grande en surface, touche les mêmes 6 tuiles, aucune tuile n'est à ajouter par rapport à la région 1. Pour couvrir la région 3, 10 tuiles sont à ajouter: les tuiles T2 à T5, T11, T17, et T20 à T23. Enfin, pour couvrir la région 4, les tuiles T1, T6, 10 T7, T12, T13, T18, T19 et T24 sont à ajouter. Les limites extérieures d'une région, par rapport à la région de rang inférieur, peuvent être configurées à l'avance. Par exemple, la région 2 est configurée pour être plus grande que la région 1 de 10% dans un axe horizontal, et de 5% dans un axe vertical. La région 4 quant à elle n'a pas de limites extérieures. 15 Un découpage en un plus grand nombre de régions est possible, mais par souci de clarté et de simplicité, un découpage en 2 régions est utilisé dans la suite. Dans le mode de réalisation de l'invention décrit ci-après, indicatif et non limitatif, le découpage retenu est en deux régions correspondant à la région 2 à forte probabilité, et à la région 20 3 à faible probabilité. Afin de pouvoir afficher le contenu vidéo d'une région, il est rappelé que le client doit récupérer du serveur toutes les tuiles touchant cette région, même si certaines tuiles ne sont que partiellement couvertes (par exemple les tuiles T8 et T14 de la région 2 dans la figure 1), car la granularité du codage est basée sur la tuile. Dans la suite de la description, comme la région 2 est la plus petite région utilisée, 25 elle inclut également les tuiles de la région 1. La figure 2 présente de façon schématique un exemple de séquencement des étapes du procédé d'obtention de segments vidéo, selon un mode particulier de réalisation de l'invention. 30 13 Selon ce procédé, afin de réduire la bande passante nécessaire pour recevoir les tuiles, le client demande les tuiles de la région 1 avec un niveau de qualité élevé (plus grande quantité de données par tuile), et les tuiles de la région 3 avec un niveau de qualité bas (moins grande quantité de données par tuile). Afin de réduire davantage la bande 5 passante nécessaire, le client peut en plus demander les tuiles de la région 1 avec une priorité plus élevée que celles de la région 3. Si la bande passante est insuffisante pour toutes les tuiles, celles de la région 1 seront ainsi reçues en priorité. Le visionnage d'une vidéo à 360 degrés se fait segment par segment, l'intervalle 10 temporel entre deux affichages de segments étant fixe, par exemple 1 seconde. Le procédé est décrit ci-dessous en détail pour l'affichage des tuiles la fenêtre d'affichage à un instant d'affichage, et, en parallèle avec l'affichage, pour l'obtention des tuiles pour l'instant d'affichage suivant qui est 1 seconde plus tard. Affichage et obtention doivent donc être répétés autant de fois qu'il y a d'intervalles temporels (c'est-à-dire de 15 secondes) dans la vidéo complète. Au préalable, le client doit obtenir auprès d'un serveur des informations décrivant la structure du contenu à récupérer, lors d'une étape Gi. Cela peut être par exemple un fichier MPD ("Media Presentation Description", ou description de la présentation du 20 médium, en anglais). Ce fichier indique au client comment la sphère vidéo est subdivisée spatialement (nombre de tuiles, position dans la sphère vidéo), quels niveaux de qualité d'encodage sont disponibles pour une tuile, etc. Lors d'une étape G2, le client traite les informations extraites du fichier et prépare l'affichage de la toute première fenêtre d'affichage, dite fenêtre courante. Par exemple, 25 le client émet des requêtes dans des flux HTTP/2 séparés pour chacune des tuiles dont il a besoin pour cette fenêtre d'affichage. L'étape suivante G3 comprend les étapes El à E5, et est répétée pour chaque instant d'affichage, toutes les secondes, si l'intervalle temporel entre 2 fenêtres d'affichage est de 1 seconde, comme dans notre exemple. 30 14 Lors d'une étape E1, le client affiche la fenêtre courante, c'est-à-dire que les tuiles touchant la fenêtre d'affichage courante sont "jouées" pour l'utilisateur du visiocasque (ou "visionnées"). Lors d'une étape E2 se déroulant en parallèle à l'étape E1, le client estime la fenêtre 5 d'affichage suivante, et émet des requêtes pour les tuiles composant cette fenêtre d'affichage suivante. L'étape E2 comprend les étapes H à F3 répétées plusieurs fois. Par exemple, une première itération des étapes H à F3 est exécutée au début de l'intervalle temporel courant, puis une deuxième itération est exécutée 500 ms plus tard, à la moitié de la durée de l'intervalle. Par souci de simplicité, le nombre d'itération est 10 ici limité à 2 mais un plus grand nombre est possible. Pour un intervalle temporel de 1 seconde et 2 itérations, la durée de chaque itération est limitée dans notre exemple à 500ms, mais tout autre découpage de l'intervalle temporel est possible, en respectant la durée minimale nécessaire pour une itération, qui dépend de facteurs tels que la puissance de calcul du client, le volume des données vidéo qu'il doit recevoir, la bande 15 passante effective entre le client et le serveur vidéo, etc. Lors d'une étape Fi de la première itération, le client estime la position de la fenêtre d'affichage qui est la plus probable d'être constatée à la fin de l'intervalle courant. Toute technique de prédiction est utilisable, se basant par exemple sur la position 20 instantanée du visiocasque, et/ou sur la trajectoire du visiocasque, et/ou se basant sur des informations relatives à des éléments de contenu d'intérêt particulier se trouvant à certains endroits de la sphère vidéo dans les segments joués ou encore à jouer, et/ou se basant sur d'autres types d'information. En estimant la position de la fenêtre d'affichage, c'est aussi les limites de chacune des régions prises en compte (régions 2 25 et 3) qui sont estimées. Lors d'une étape F2 de la première itération, le client identifie les tuiles de chacune des régions prises en compte, et associe à chacune des tuiles un niveau de qualité adéquat. Par exemple, le niveau de qualité élevé est associé aux tuiles touchant la 30 région 2, et le niveau de qualité bas est associé aux tuiles touchant la région 3. 15 Comme c'est la première itération, aucune tuile pour le prochain instant d'affichage n'a été encore requise par le client. Lors d'une étape F3 de la première itération, le client émet alors vers le serveur vidéo autant de requêtes de livraison de tuiles que de tuiles 5 identifiées. Optionnellement, le client peut inclure un poids à chacune de ses requêtes, proportionnel à la priorité que le client souhaite voir donné par le serveur à la livraison de la tuile demandée dans la requête. Pour une tuile touchant la région 2, un poids élevé est inclus dans la requête. Au contraire, pour une tuile touchant la région 3, un poids bas est inclus dans la requête. 10 Pour la deuxième itération, l'étape Fi est répétée de façon identique, 500 ms plus tard que la première fois, dans notre exemple de mode de réalisation à 2 itérations et 1 seconde par intervalle temporel. La nouvelle estimation de la fenêtre d'affichage a de fortes chances d'être meilleure car elle est faite moins longtemps avant la fin de 15 l'intervalle, c'est-à-dire moins longtemps avant que le visiocasque atteigne la position qui sera la sienne au prochain instant d'affichage. Pour la deuxième itération, l'étape F2 est répétée de façon identique, avec un résultat potentiellement différent. Le client identifie les tuiles de chacune des régions, qui sont 20 déterminées cette fois en fonction de la nouvelle estimation. Lors de l'étape F3 de la deuxième itération, des requêtes vers le serveur vidéo sont également émises, mais d'une façon différente par rapport à la première itération. En effet, toutes les tuiles nécessaires ont déjà été requises une fois. Cependant, la 25 nouvelle estimation de la fenêtre d'affichage peut rendre inadaptés certains niveaux de qualité associés aux tuiles déjà requises. Par exemple, si une tuile précédemment identifiée en région 2 se trouve à présent en région 3, la requête de livraison de cette tuile, effectuée avec un niveau de qualité élevé est annulée par l'émission d'une requête d'annulation de livraison de cette tuile, 30 puis une nouvelle requête de livraison de cette tuile est émise avec un niveau de 16 qualité bas. Si la réponse à la requête de l'itération précédente, pour la tuile avec un niveau de qualité élevé, a déjà été reçue, le client garde toutefois cette tuile plutôt que de redemander la livraison de la même tuile avec une moindre qualité, afin de préserver la bande passante entre le visiocasque et le serveur vidéo. 5 Inversement, si une tuile précédemment identifiée en région 3 se trouve à présent en région 2, la requête de livraison de cette tuile, effectuée avec un niveau de qualité bas, est annulée par l'émission d'une requête d'annulation de livraison de cette tuile, puis une nouvelle requête de livraison de cette tuile est émise avec un niveau de qualité élevé. De même, si la réponse à la requête de l'itération précédente, pour la tuile avec 10 un niveau de qualité bas, a déjà été reçue ou est sur le point d'être reçue mais avec peu de bande passante restante, le client peut toutefois décider de s'en contenter, afin de préserver la bande passante entre le visiocasque et le serveur vidéo. Une tuile n'ayant pas changé de région par rapport à l'itération précédente ne donne pas lieu à l'émission d'une nouvelle requête, sauf si le client constate un retard dans la 15 livraison de certaines tuiles importantes, c'est-à-dire, typiquement, des tuiles de la région 2. Dans ce cas, le client peut décider de revoir le poids associé à une tuile, afin d'en accélérer ou ralentir la livraison par le serveur, par rapport à d'autres. En cas de modification de poids, une requête d'annulation de livraison de la tuile est émise, suivie d'une requête de livraison de cette tuile avec le poids révisé. 20 Si dans un autre mode de réalisation le nombre d'itérations est supérieur à 2, les étapes Fi à F3 des itérations suivantes sont identiques à celles de la deuxième itération décrite ci-dessus. 25 HTTP/2 permet la gestion d'un flux par tuile dans une même connexion entre le visiocasque et le serveur vidéo. Aussi, HTTP/2 permet l'annulation d'une requête en cours, ainsi que l'indication dans une requête du niveau de qualité requis, et du niveau de priorité souhaité (à l'aide de poids). 30 Lors d'une étape E3, le client reçoit des tuiles en provenance du serveur vidéo, en 17 réponses à des requêtes faites lors d'étapes F3 de l'étape E2. Il est à noter que certaines de ces réponses peuvent être reçues alors que l'étape E2 n'est pas encore terminée. Cette étape E3 est de fait composée de multiples sous-étapes de réception d'une tuile. 5 Lors d'une étape E4, le client détermine la fenêtre d'affichage constatée à la fin de l'intervalle de temps courant. Cette fenêtre est déterminée par la position réelle instantanée du visiocasque, c'est-à-dire la position de la tête de l'utilisateur, à la fin de l'intervalle temporel. Lors d'une étape E5, le client décode les tuiles reçues couvrant la fenêtre d'affichage 10 constatée, puis combine ces tuiles pour construire un segment vidéo unique. Certaines tuiles en bordure de la fenêtre d'affichage peuvent n'être incluse que partiellement. Alternativement, le client peut décoder toutes les tuiles reçues afin de construire la plus grande partie possible de la vidéo à 360 degrés, puis en extraire la partie nécessaire pour la fenêtre d'affichage constatée. Pour pouvoir construire la vidéo à 360 degré au 15 complet, il faut que les tuiles de la sphère vidéo soient reçues. Pour cela, il suffit de remplacer la région 3 de cet exemple de mise en oeuvre du procédé par la région 4 de la figure 1, ou d'y ajouter la région 4 comme troisième région, avec par exemple un niveau de qualité encore plus bas pour la région 4 que pour la région 3. 20 Puis la fenêtre d'affichage constatée devient la fenêtre d'affichage courante et le procédé revient à l'étape E1, afin de traiter l'intervalle temporel suivant. L'ensemble des étapes El à E5 (c'est-à-dire l'étape G3 dans la figure 2), est répété jusqu'au dernier intervalle temporel de la vidéo à 360 degrés. 25 En relation avec la figure 3, on présente maintenant un exemple de structure d'un dispositif d'obtention de segments vidéo, selon un aspect particulier de l'invention. Le dispositif 100 d'attachement met en oeuvre le procédé d'obtention de segments vidéo, dont différents modes de réalisation viennent d'être décrits. Un tel dispositif 100 peut être mis en oeuvre dans un visiocasque HMD1 comprenant 30 un écran Scr et un capteur de position et de mouvement Pos. 18 Par exemple, le dispositif 100 comprend un émetteur 101, un récepteur 102, une unité de traitement 130, équipée par exemple d'un microprocesseur pP, et pilotée par un programme d'ordinateur 110, stocké dans une mémoire 120 et mettant en oeuvre le procédé d'obtention selon l'invention. L'émetteur et le récepteur peuvent être sans fil et 5 utiliser un protocole tel que par exemple WiFi, BlueTooth, 4G, etc. Le dispositif comprend également un décodeur 103 de format d'encodage audiovisuel tel que par exemple HEVC. A l'initialisation, les instructions de code du programme d'ordinateur 110 sont par exemple chargées dans une mémoire RAM, avant d'être exécutées par le processeur 10 de l'unité de traitement 130. Une telle unité de traitement 130 est apte à, et configurée pour : - estimer la fenêtre d'affichage, en fonction d'une prédiction d'une orientation du visiocasque susceptible d'être prise à l'instant d'affichage, par exemple en fonction de données relatives au visiocasque transmises par le capteur (Pos), 15 - identifier des tuiles recouvrant la fenêtre d'affichage estimée, auxquelles est associé un niveau de qualité élevé, et des tuiles voisines de celles recouvrant la fenêtre d'affichage estimée, auxquelles est associé un niveau de qualité bas, - émettre, à l'aide de l'émetteur 101, à destination d'un serveur vidéo, pour au moins une des tuiles identifiées, une requête (HTTP/2 req) relative à l'obtention de la tuile 20 encodée, la requête comprenant une indication du niveau de qualité associé, - répéter, au moins une fois avant l'instant d'affichage, l'estimation pour corriger l'identification des tuiles et corriger des requêtes encore sans réponse, - recevoir, à l'aide du récepteur 102, en provenance du serveur vidéo, des réponses (HTTP/2 rep) aux requêtes émises, comprenant des tuiles encodées, 25 - déterminer la fenêtre d'affichage en fonction de la position constatée du visiocasque à l'instant d'affichage, transmise par le capteur (Pos), - décoder, à l'aide du décodeur 103, des tuiles reçues et correspondant à la fenêtre d'affichage déterminée, et les transmettre à l'écran (Scr) pour visionnage. Avantageusement, l'unité de traitement 130 est également apte à, et configurée pour : 30 - émettre, à l'aide de l'émetteur 101, à destination du serveur vidéo, une requête de 19 livraison d'une tuile comprenant en outre une indication d'un niveau de priorité associé à la tuile, - émettre, à l'aide de l'émetteur 101, à destination du serveur vidéo, une requête (HTTP/2 req) d'annulation de livraison d'une REVENDICATIONS1. Procédé d'obtention de segments vidéo d'une sphère vidéo pour affichage dans un visiocasque (HMD1) connecté à un serveur vidéo, les segments vidéo étant divisés spatialement en une pluralité de tuiles (T1-T24) encodables dans au moins deux niveaux distincts de qualité, dont un niveau de qualité élevé et un niveau de qualité bas, une partie de la sphère vidéo destinée à être affichée à un instant d'affichage étant appelée fenêtre d'affichage, le procédé comprenant avant l'instant d'affichage au moins deux itérations de la suite (E2) d'étapes suivantes: - estimation (F1) de la fenêtre d'affichage, en fonction d'une prédiction d'une orientation du visiocasque susceptible d'être prise à l'instant d'affichage, - identification (F2) de tuiles recouvrant la fenêtre d'affichage estimée, auxquelles est associé un niveau de qualité élevé, - identification (F2) de tuiles voisines de celles recouvrant la fenêtre d'affichage estimée, auxquelles est associé un niveau de qualité bas, - émission (F3) à destination d'un serveur vidéo, pour au moins une des tuiles identifiées, d'une requête relative à l'obtention de la tuile encodée, la requête comprenant une indication du niveau de qualité associé, le procédé comprenant en outre les étapes suivantes: - réception (E3) de réponses aux requêtes émises, en provenance du serveur vidéo, comprenant des tuiles encodées, - détermination (E4) de la fenêtre d'affichage à l'instant d'affichage en fonction d'une position constatée du visiocasque, - décodage (E5) et affichage (El ) des tuiles reçues, correspondant à la fenêtre d'affichage déterminée. 2. Procédé selon la revendication 1, où la requête comprend en outre une indication d'un niveau de priorité associé à la tuile. 21 3. Procédé selon l'une des revendications 1 ou 2, où, si l'itération est la première, la requête est une requête de livraison de la tuile encodée correspondant à la tuile identifiée. 5 4. Procédé selon la revendication 2, où, si l'itération n'est pas la première et si le niveau de qualité ou le niveau de priorité associé à la tuile identifiée a changé par rapport à l'itération précédente, la requête est une requête d'annulation de livraison de la tuile encodée correspondant à la tuile identifiée, suivie d'une nouvelle requête de 10 livraison de la tuile encodée, comprenant le nouveau niveau de qualité ou le nouveau niveau de priorité associé à la tuile identifiée. 5. Procédé selon l'une des revendications 1 ou 2, où, si l'itération n'est pas la première et si le niveau de qualité associé à la tuile identifiée a baissé par rapport à l'itération 15 précédente, aucune nouvelle requête n'est émise si la tuile a déjà été reçue. 6. Procédé selon l'une des revendications précédentes, où la connexion entre le visiocasque et le serveur vidéo comprend un flux distinct par tuile identifiée. 20 7. Procédé selon la revendication 6, où la connexion entre le visiocasque et le serveur vidéo utilise le protocole HTTP/2. 8. Dispositif (100) d'obtention de segments vidéo d'une sphère vidéo pour affichage dans un visiocasque (HMD1) connecté à un serveur vidéo, 25 les segments vidéo étant divisés spatialement en une pluralité de tuiles (T1-T24) encodables dans au moins deux niveaux distincts de qualité, dont un niveau de qualité élevé et un niveau de qualité bas, une partie de la sphère vidéo destinée à être affichée à un instant d'affichage étant appelée fenêtre d'affichage, 30 le dispositif comprenant un récepteur (101), un émetteur (102), un décodeur (103), un 22 processeur (130) et une mémoire (120) couplée au processeur avec des instructions destinées à être exécutées par le processeur pour : - estimer la fenêtre d'affichage, en fonction d'une prédiction d'une orientation du visiocasque susceptible d'être prise à l'instant d'affichage, 5 - identifier des tuiles recouvrant la fenêtre d'affichage estimée, auxquelles est associé un niveau de qualité élevé, et des tuiles voisines de celles recouvrant la fenêtre d'affichage estimée, auxquelles est associé un niveau de qualité bas, - émettre à destination d'un serveur vidéo, pour au moins une des tuiles identifiées, une requête relative à l'obtention de la tuile encodée, la requête comprenant une 10 indication du niveau de qualité associé, - répéter, au moins une fois avant l'instant d'affichage, l'estimation pour corriger l'identification des tuiles et corriger des requêtes encore sans réponse, - recevoir des réponses aux requêtes émises, en provenance du serveur vidéo, comprenant des tuiles encodées, 15 - déterminer la fenêtre d'affichage à l'instant d'affichage en fonction d'une position constatée du visiocasque, - décoder et afficher des tuiles reçues, correspondant à la fenêtre d'affichage déterminée. 20 9. Visiocasque (HMD1) comprenant un dispositif (100) conforme à la revendication 8, un capteur (Pos) de position et de mouvement, et un écran (Scr). 10. Programme d'ordinateur, comprenant des instructions pour la mise en oeuvre des étapes du procédé d'obtention de données d'une sphère vidéo pour affichage dans un 25 visiocasque connecté à un serveur vidéo selon la revendication 1, lorsque ce programme est exécuté par un processeur. 11. Support d'informations lisible par un dispositif d'obtention (100) compris dans un visiocasque, et comportant des instructions d'un programme d'ordinateur conforme à la 30 revendication 10.