Procédé de génération d'un flux vidéo de sortie à partir d'un flux vidéo large champ Domaine technique de l'invention L'invention concerne le domaine du traitement de vidéos. L'invention a pour objet plus particulièrement un procédé de génération d'un flux vidéo de sortie en vue de l'afficher dans un espace d'affichage 15 en deux dimensions selon une restitution particulière. État de la technique 20 Une vidéo peut être issue d'un assemblage à partir d'une pluralité de points de vue. Pour cela, il est connu d'utiliser simultanément plusieurs caméras, orientées dans des directions différentes, pour obtenir plusieurs vidéos complémentaires d'un environnement filmé au même instant. Ces vidéos complémentaires peuvent être concaténées de sorte à obtenir une 25 vidéo source unique qu'il est possible de restituer selon une projection souhaitée. Cependant, afin de limiter les temps de calcul et de permettre une restitution en temps réel selon une projection donnée, les images affichées de la vidéo sont issues d'un calcul polygonal à partir d'une modélisation tridimensionnelle sur laquelle une texture est mappée. Cette 30 restitution est connue de l'homme du métier sous la dénomination 10 anglaise de « UV mapping ». Il résulte de l'utilisation de polygones une dégradation, aussi appelée distorsion, du rendu dans le sens où les polygones modifient géométriquement la vidéo source par approximation géométrique de cette dernière. Ainsi, le rendu visuel est approximatif et de qualité inférieure à celle de la vidéo source. Il existe donc un besoin de développer une solution permettant, notamment en temps réel, de procurer un affichage sans perte de qualité.
Objet de l'invention Le but de la présente invention est de proposer une solution permettant d'obtenir une restitution rapide et dont la distorsion au sens de l'art antérieur est évitée. On tend vers ce but grâce à un procédé de génération d'un flux vidéo de sortie en vue de l'afficher dans un espace d'affichage en deux dimensions, ledit procédé comprenant les étapes suivantes : - sélectionner un flux vidéo large champ, - définir une projection voulue et un champ de vision voulu en vue d'obtenir une restitution particulière, notamment sans distorsion, d'au moins une partie du flux vidéo large champ dans l'espace d'affichage, - exécuter une première fonction géométrique permettant, pour chaque point de l'espace d'affichage, de générer un point intermédiaire situé dans un repère en trois dimensions, ladite première fonction prenant en paramètres la projection voulue et le champ de vision voulu, - former le flux vidéo de sortie à partir du flux large champ sélectionné en prenant en compte les points intermédiaires.
Avantageusement, l'étape de formation du flux vidéo de sortie est mise en oeuvre de telle sorte que chaque pixel d'une image du flux vidéo de sortie, destiné à être affiché par un point de l'espace d'affichage, soit fonction, selon le point intermédiaire correspondant, d'au moins un pixel d'une image correspondante du flux vidéo large champ.
De préférence, l'étape de formation du flux vidéo de sortie comporte, pour chaque point intermédiaire, une étape de détermination d'un point de référence dans l'image associée du flux vidéo large champ en vue de restituer un pixel de l'image du flux vidéo de sortie en fonction dudit point de référence. Par exemple, l'étape de détermination du point de référence comporte l'exécution d'une deuxième fonction géométrique prenant en entrée le point intermédiaire correspondant et configurée de sorte à transformer les coordonnées du point intermédiaire, en fonction de la projection voulue et d'une projection déterminée associée au flux vidéo large champ, en des coordonnées du point de référence au sein de l'image correspondante du flux vidéo large champ. En particulier, le procédé qu'il comporte, pour chaque point de référence, une étape de détermination d'un pixel de l'image du flux vidéo de sortie à afficher au point de l'espace d'affichage correspondant à partir d'un pixel de l'image du flux vidéo large champ au niveau dudit point de référence ou d'une interpolation entre plusieurs pixels de l'image du flux vidéo large champ au niveau du point de référence.
Selon un perfectionnement, le procédé comporte une étape de modification du champ de vision voulu et il comporte une étape de mise à jour des coordonnées des points intermédiaires. De préférence, cette étape de modification du champ de vision est assimilée à une modification de l'orientation d'une caméra virtuelle située dans un repère sphérique et/ou une modification de l'angle de champ de vision de la caméra virtuelle, et l'étape de mise à jour comporte, pour chaque point intermédiaire, les étapes suivantes : - la conversion des coordonnées du point intermédiaire dans le repère en trois dimensions en des coordonnées dans le repère sphérique auxquelles la modification de l'orientation de la caméra virtuelle et/ou de l'angle de champ de vision sont appliquées, - la normalisation des coordonnées converties de sorte à déterminer les nouvelles coordonnées du point intermédiaire dans le repère en trois dimensions. Notamment, la modification de l'orientation de la caméra virtuelle prend en compte au moins un paramètre suivant : l'angle de latitude de la caméra virtuelle dans le repère sphérique, l'angle de longitude de la caméra virtuelle dans le repère sphérique, une valeur d'angle de champ de vision de la caméra virtuelle. Avantageusement, au moins l'étape d'exécution de la première fonction géométrique est réalisée par un processeur graphique, notamment au sein duquel chaque image du flux vidéo large champ forme une texture dont une partie des pixels est utilisée par le processeur graphique pour former une image correspondante du flux vidéo de sortie.
Selon un perfectionnement, le procédé comporte une étape de définition d'un filtre d'effet à appliquer aux images du flux vidéo de sortie lors de leurs formation afin de restituer un effet particulier, notamment un filtre d'effet choisi parmi : un filtre de contraste, un filtre de luminosité, un filtre de saturation, un filtre de teinte, un filtre de déformation de l'image. L'invention est aussi relative à un procédé d'affichage d'au moins un flux vidéo de sortie dans un espace d'affichage d'au moins un écran, ledit procédé comprenant au moins une étape de mise en oeuvre du procédé de génération du flux vidéo de sortie tel que décrit, et une étape d'affichage dudit flux vidéo de sortie généré dans l'espace d'affichage dudit au moins un écran. De préférence, chaque écran comporte une pluralité d'espaces d'affichage affichant chacun un flux vidéo de sortie correspondant, lesdits flux vidéo de sortie étant formés à partir du même flux vidéo large champ selon un champ de vision différent et/ou une projection différente et/ou un effet différent. Alternativement, le procédé d'affichage est configuré de sorte à permettre une étape d'affichage d'une pluralité de vidéos de sortie distinctes, au moins deux vidéos de sorties de la pluralité de vidéos de sortie étant issues de flux vidéo large champ différents, notamment les vidéos de sortie de pluralité de vidéos de sortie sont affichées dans des espaces d'affichage d'un même écran, ou dans des espaces d'affichage d'écran différents. L'invention est aussi relative à un dispositif de gestion d'au moins un flux vidéo de sortie, ledit dispositif comprenant au moins un élément configuré de sorte à mettre en oeuvre le procédé de génération d'un flux vidéo de sortie tel que décrit, et une interface homme-machine comprenant au moins un écran d'affichage destiné à afficher le flux vidéo de sortie dans au moins un espace d'affichage dudit au moins un écran. De préférence, l'interface homme-machine comprend au moins l'un des éléments suivants : un élément de sélection d'un flux vidéo large champ dans un espace de stockage, un élément de définition du champ de vision voulu, un élément de définition d'une projection voulue notamment à partir d'une liste prédéfinie de projections, un élément de sélection d'un effet à appliquer, un élément permettant de se déplacer temporellement au sein du flux vidéo large champ pour restituer le flux vidéo de sortie à un moment précis, un élément de contrôle de la bande son du flux vidéo de sortie. Avantageusement, l'interface homme-machine comporte au moins un élément de modification du champ de vision, notamment choisi parmi : un écran tactile, un accéléromètre, un gyroscope, un magnétomètre, un espace d'affichage du flux vidéo large champ à partir duquel il est possible de choisir le champ de vision voulu, un dispositif de pointage, une interface gestuelle à détection de mouvement. Avantageusement, chaque écran comporte une pluralité d'espaces d'affichage, un flux vidéo de sortie distinct étant joué dans chacun des espaces d'affichage, les flux vidéos de sortie joués étant chacun issu d'une mise en oeuvre du procédé de génération du flux vidéo de sortie tel que décrit, notamment à partir d'un même flux vidéo large champ ou de flux vidéo large champ différents.25 L'invention est aussi relative à un système comprenant un compilateur et une mémoire munie d'un kit de développement logiciel permettant de créer une application pour un système d'exploitation. Le kit de développement comporte au moins un élément configuré de sorte à mettre en oeuvre le procédé de génération du flux vidéo tel que décrit au sein de l'application lorsqu'elle est exécutée après avoir été compilée par le compilateur. Description sommaire des dessins D'autres avantages et caractéristiques ressortiront plus clairement de la description qui va suivre de modes particuliers de réalisation de l'invention donnés à titre d'exemples non limitatifs et représentés sur les dessins annexés, dans lesquels : - la figure 1 illustre une mise en oeuvre particulière d'étapes d'un procédé de génération d'un flux vidéo de sortie, - la figure 2 est une vue représentant la cinématique de mise en oeuvre du procédé de la figure 1 sur un dispositif particulier comprenant une unité centrale de traitement et un processeur graphique, - les figures 3 à 5 illustrent différentes représentations des projections voulues du procédé selon la figure 1, - la figure 6 illustre plus en détails l'une des étapes du procédé selon la figure 1, - la figure 7 illustre un procédé d'affichage d'au moins un flux vidéo obtenu à partir du procédé de la figure 1, - la figure 8 illustre un dispositif permettant de mettre en oeuvre le procédé de génération du flux vidéo de sortie et permettant son affichage au niveau d'un écran.
Description de modes préférentiels de l'invention Le procédé de génération d'un flux vidéo décrit ci-après diffère de l'existant notamment en une gestion optimisée des ressources de calcul tout en permettant une restitution, au moins partielle, d'un flux vidéo large champ selon des transformations géométriques. Comme illustré aux figures 1 et 2, le procédé de génération d'un flux vidéo de sortie 1, en vue de l'afficher dans un espace d'affichage 2 en deux dimensions comprenant de préférence une pluralité de points d'affichage, comporte une étape El dans laquelle il est sélectionné un flux vidéo large champ 3. Le flux vidéo large champ 3 sélectionné peut l'être par un opérateur réalisant un choix parmi plusieurs flux vidéo large champ prédéfinis, ou réalisant un choix à partir un système de gestion de fichiers, notamment local ou distant, en utilisant une interface homme machine. L'espace d'affichage 2 en deux dimensions peut correspondre à un espace d'affichage d'un écran 4. Cet espace d'affichage 2 comporte alors des points d'affichage destinés à restituer des pixels du flux vidéo de sortie. Typiquement, chacun des points de l'espace d'affichage 2 est associé, de préférence uniquement, à un pixel de l'écran 4 et correspond à des coordonnées de pixels dans un espace en deux dimensions. Autrement dit, chaque point de l'espace d'affichage permettra d'afficher un pixel correspondant d'une image du flux vidéo de sortie 1. Le procédé de génération du flux vidéo de sortie 1 peut alors aussi comporter une étape E2 de définition d'un espace d'affichage. Cet espace d'affichage peut être figé, défini manuellement par un opérateur via une interface homme machine, ou autre. Comme illustré à la figure 2, ces étapes El et E2 peuvent être mises en oeuvre en utilisant des instructions exécutées par un processeur principal, aussi appelé unité centrale de traitement ou CPU (de l'anglais « Central Processing Unit »). Un flux vidéo large champ 3 peut correspondre à un flux vidéo issu d'un assemblage à partir d'une pluralité de flux vidéo selon des champs de vision différents au sein d'un même environnement. Cette pluralité de flux vidéo peut être obtenue en utilisant plusieurs caméras orientées dans des directions différentes afin de générer plusieurs films complémentaires de l'environnement au même instant. De préférence, ce flux vidéo large champ couvre un angle de champ de vision dépassant l'angle de champ de vision humain. Avantageusement, le flux vidéo large champ est une vidéo à 360 degrés par 180 degrés. Le flux vidéo large champ peut aussi être une vidéo de synthèse, une vidéo déroulée issue d'un système monolentille, ou encore une vidéo haute-définition. Une vidéo est considérée comme étant de haute-définition quand sa définition, notamment en termes de nombre de pixels, est supérieure à celle de l'espace d'affichage. En outre, le procédé peut comporter une étape E3 de définition d'une projection voulue (P à la figure 2) et d'un champ de vision voulu (cam) à la figure 2) en vue d'obtenir une restitution particulière, notamment sans distorsion, d'au moins une partie du flux vidéo large champ 3 dans l'espace d'affichage 2. De préférence, seulement une partie du flux vidéo large champ 3 sera restituée.
Selon l'exemple particulier de la figure 2, cette étape E3 peut être réalisée en utilisant des instructions exécutées par le processeur principal CPU. Par « sans distorsion », on entend qu'il n'y a pas de distorsion au sens géométrique. Autrement dit, la génération du flux vidéo de sortie 1 met en oeuvre des projections géométriques précises, évitant ainsi la perte d'information ou la diminution des informations à traiter due à l'utilisation des polygones comme c'est souvent le cas dans l'affichage d'images en trois dimensions.
Par « projection voulue », on entend une représentation souhaitée modifiant, de préférence, la représentation courante du flux vidéo large champ. Typiquement, il s'agit de déterminer, par calcul, un ou plusieurs changements de repères. Ces projections sont connues de l'homme du métier sous les noms de projection à plat, mappemonde, petite planète, boule miroir, etc. Elles permettent des affichages originaux pour de nouvelles expériences immersives. Typiquement, la figure 3 illustre une projection à plat d'une sphère, aussi appelée projection équirectangulaire dans laquelle les coordonnées horizontales sont représentatives d'une longitude et les coordonnées verticales sont représentatives d'une latitude. Selon un autre exemple, la figure 4 illustre une projection rectilinéaire (aussi appelée projection gnomonique) d'une sphère. La figure 5 représente une projection stéréographique dont la projection petite planète est un cas particulier. La réalisation d'une projection ou la transformation d'une projection à l'autre ne seront pas ici décrites, il s'agit en fait d'appliquer des fonctions géométriques bien connues de l'homme du métier.
Le champ de vision voulu permet de limiter la restitution à une partie de la projection voulue. Ce champ de vision voulu peut être défini par un angle de champ de vision d'une caméra virtuelle regardant dans la projection voulue (l'angle étant représentatif d'un zoom dans la projection voulue) et/ou par une orientation de la caméra virtuelle au sein de la projection voulue. L'angle de champ de vision et l'orientation peuvent être modifiés. Par ailleurs, le champ de vision peut aussi comporter des paramètres additionnels comme des paramètres typiques de distorsion (par exemple le rendu selon un type particulier de lentille). De préférence, le champ de vision voulu est limité en fonction du type de projection. Par exemple, en projection équirectangulaire issue du flux vidéo large champ, on peut avoir un champ horizontal de 720°, on aura alors deux fois la scène complète. En petite planète on verra la face de cube "intérieure" toute petite, et la face "extérieure" très éclatée/interpolée.
Par ailleurs, le procédé comporte une étape d'exécution E4 d'une première fonction géométrique fi (P, CAM) permettant, pour chaque point de l'espace d'affichage 2, de générer un point intermédiaire situé dans un repère en trois dimensions, ladite première fonction prenant en paramètres la projection voulue et le champ de vision voulu. On comprend alors que cette étape d'exécution E4 peut utiliser les données issues des étapes E2 et E3. Cette approche n'est pas conventionnelle dans le sens où la projection voulue n'est pas appliquée à une image issue du flux vidéo large champ mais à l'espace de restitution du flux vidéo de sortie (c'est-à-dire l'espace d'affichage). Ainsi, l'exécution de la première fonction sur les points de l'espace d'affichage permet de grandement limiter par la suite les ressources de calcul quel que soit le type de projection qu'il soit complexe ou non. Cette approche permet donc de limiter, notamment dans le cadre des projections complexes, les calculs usuels de la technique de détermination des surfaces cachées (connue sous la terminologie anglaise « frustrum culling »). Enfin, le procédé comporte une étape de formation E5 du flux vidéo de sortie 1 à partir du flux vidéo large champ sélectionné 3 en prenant en compte les points intermédiaires. Autrement dit, chacun des points intermédiaires sera utilisé dans le cadre d'une détermination d'un pixel à afficher au niveau du point correspondant de l'espace d'affichage 2. On comprend alors que cette étape d'exécution E5 utilise au moins les données issues des étapes E4 et El.
Plus particulièrement, on peut considérer que l'étape de formation E5 du flux vidéo de sortie 1 est mise en oeuvre de telle sorte que chaque pixel d'une image du flux vidéo de sortie, destiné à être affiché par un point de l'espace d'affichage 2, soit fonction, selon le point intermédiaire correspondant, d'au moins un pixel d'une image correspondante du flux vidéo large champ 3. En fait, le flux vidéo large champ 3 va être décomposé en une pluralité d'images chacune représentative d'un instant temporel distinct au sein de du flux vidéo large champ. Chacune de ces images sera utilisée en combinaison avec les points intermédiaires de sorte à former une pluralité d'images correspondantes du flux vidéo de sortie. Dans l'exemple particulier de la figure 2, le CPU va permettre de transmettre à un processeur graphique la première fonction géométrique fi en vue de son exécution E4 au sein du processeur graphique à partir de données issues de l'espace d'affichage 2 en vue de générer tous les points intermédiaires. Ensuite, l'image issue du flux vidéo large champ est alors considérée comme une texture au sein du processeur graphique. Autrement dit, plus particulièrement, au moins l'étape d'exécution E4 de la première fonction géométrique f1 est réalisée par un processeur graphique, notamment au sein duquel chaque image du flux vidéo large champ 3 forme une texture dont une partie des pixels est utilisée par le processeur graphique pour former une image correspondante du flux vidéo de sortie. Un processeur graphique (aussi appelé GPU dans le domaine pour l'anglais « Graphic Processor Unit ») est un circuit intégré assurant des fonctions de calcul relatives à l'affichage.
De préférence, comme illustré à la figure 6 l'étape de formation E5 du flux vidéo de sortie 1 peut comporter pour chaque point intermédiaire E5- 11a détermination E5-2 d'un point de référence à partir du point intermédiaire correspondant. Ce point de référence correspondant en fait à des coordonnées, notamment dans un espace en trois dimensions associé à une projection déterminée du flux vidéo large champ. Ce point de référence correspond alors à une zone, ou à un pixel d'une image du flux vidéo large champ 3 à afficher au niveau du point de l'espace d'affichage ayant servi à calculer le point intermédiaire associé audit point de référence. Pour chaque image du flux vidéo de sortie, tous les points intermédiaires sont traités de manière similaire. Autrement dit, de manière générale, l'étape de formation E5 du flux vidéo de sortie 1 peut comporter, pour chaque point intermédiaire, une étape de détermination E5-2 d'un point de référence dans l'image associée du flux vidéo large champ 3, en vue de restituer un pixel de l'image du flux vidéo de sortie en fonction dudit point de référence. De préférence, l'étape E5 est aussi mise en oeuvre par le processeur graphique. Dans ce cas, la fonction de calcul utilisée peut être du type shader. Un shader est une suite d'instructions exécutées par le processeur graphique et réalisant une partie d'un processus. En fait, lorsque l'image du flux vidéo large champ 3 forme une texture, l'application d'un shader à la texture permet de générer une image de sortie issue de la modification de la modélisation de ladite image d'entrée, et ce sans perte de qualité géométrique puisqu'il n'y a pas de calcul polygonal simplifiant l'image d'entrée mais un calcul de points intermédiaires. Comme évoqué précédemment, le point de référence permet de pointer une zone particulière dans l'image issue du flux vidéo large champ 3. En fait, ce point de référence peut avoir des coordonnées dans un espace tridimensionnel associé à une projection prédéterminée du flux vidéo large champ. La projection prédéterminée du flux vidéo large champ 3 est un paramètre connu issu de la génération du flux vidéo large champ 3. Le point de référence va permettre, lorsqu'il correspond exactement à un pixel de l'image issue du flux vidéo large champ 3, de sélectionner ce pixel en vue de le restituer au point correspondant de l'espace d'affichage 2. Cependant, la plupart du temps, le point de référence ne correspondra pas exactement à un pixel de l'image issue du flux vidéo large champ 3. Dans ce dernier cas, il sera possible de générer un nouveau pixel à partir de l'interpolation/pondération de plusieurs pixels de l'image issue du flux vidéo large champ 3 associés à la zone pointée par le point de référence (c'est-à-dire la zone incluant par exemple des points de l'image issue du flux vidéo large champ 3 au voisinage du point de référence). C'est ce nouveau pixel qui sera alors restitué au point correspondant de l'espace d'affichage. Par ailleurs comme évoqué précédemment, le flux vidéo large champ 3, et donc l'image du flux vidéo large champ 3, peut être associé à une représentation selon une projection prédéterminée. Préférentiellement, ce flux vidéo large champ 3 peut être représenté selon un repère X, Y dont les abscisses sont représentatives d'un angle variant entre 0 degré et 360 de degrés et les ordonnées représentatives d'un angle variant entre 0 degré et 180 degrés, ces angles permettant de définir la projection prédéterminée. Cette projection prédéterminée peut être celle voulue, dans ce cas les coordonnées du point de référence sont simplement fonction des coordonnées du point intermédiaire et du champ de vision sans transformation de projection. Selon une alternative, la projection voulue est différente de celle déterminée, dans ce cas il faudra transformer les coordonnées du point intermédiaire dans le repère de la projection voulue en des coordonnées dans le repère de la projection prédéterminée représentatives du point de référence. Cette transformation de coordonnées peut être mise en oeuvre à partir d'une fonction géométrique idoine que l'homme du métier pourra mettre en oeuvre à partir de simple calculs de conversion. Autrement dit, l'étape de détermination E5-2 du point de référence peut comporter l'exécution d'une deuxième fonction géométrique f2 (figure 2) prenant en entrée le point intermédiaire correspondant et configurée de sorte à transformer les coordonnées du point intermédiaire, en fonction de la projection voulue et d'une projection prédéterminée associée au flux vidéo large champ (notamment la projection prédéterminée étant différente de la projection voulue), en des coordonnées du point de référence au sein de l'image correspondante du flux vidéo large champ 3.
On comprend que lorsqu'un point de référence est connu, il est facilement possible de déterminer quoi afficher au point correspondant de l'espace d'affichage 2. Ainsi, le procédé peut comporter, pour chaque point de référence, une étape de détermination E5-3 d'un pixel de l'image du flux vidéo de sortie à afficher au point de l'espace d'affichage correspondant à partir d'un pixel de l'image du flux vidéo large champ 3 au niveau dudit point de référence ou d'une interpolation entre plusieurs pixels de l'image du flux vidéo large champ 3 au niveau du point de référence. Autrement dit, le pixel de l'image du flux vidéo de sortie 1 correspond à un pixel de l'image du flux vidéo large champ 3 au niveau dudit point de référence ou à un pixel généré issu d'une interpolation entre plusieurs pixels de l'image du flux vidéo large champ au niveau du point de référence.
Typiquement, lors de la génération d'un pixel, il pourra être pris les données issues d'une interpolation de deux, trois ou quatre pixels les plus proches du point de référence. Autrement dit, de manière plus générale, le pixel généré sera fonction d'une interpolation de pixels de l'image issue de la vidéo large correspondante situés au voisinage du point de référence correspondant. Ceci permet de limiter les artefacts dus aux approximations induites par une normalisation des pixels de l'image issue de la vidéo large champ 3. Dans le cadre de l'utilisation du processeur graphique pour réaliser ce type de fonction, des primitives de ce dernier peuvent directement être utilisées.
Ainsi, on comprend qu'à la suite de l'étape E5-2 de détermination du point de référence, une étape de détermination E5-3 d'un pixel à restituer au point de l'espace d'affichage est mise en oeuvre (figure 6). Dans certaines applications, il est possible qu'au cours de la diffusion du flux vidéo de sortie, le champ de vision et/ou la projection soit modifié.
Dans le cas où la projection est modifiée, une nouvelle exécution de la première fonction géométrique f1, en précisant la nouvelle projection, sera nécessaire. Autrement dit, en cas de détection de la modification, notamment lors du changement de projection, l'image du flux vidéo de sortie en train d'être générée l'est selon l'ancienne première fonction géométrique, et l'image suivante le sera selon la nouvelle première fonction géométrique.
Dans le cas où le procédé comporte une étape de modification E6 du champ de vision voulu, ledit procédé comporte une étape de mise à jour E7 de la correspondance (c'est-à-dire les coordonnées) des points intermédiaires (figure 1). Cette étape de mise à jour impacte alors l'exécution de l'étape E5.
En fait, l'étape de modification (E6) du champ de vision est assimilée à une modification de l'orientation d'une caméra virtuelle située dans un repère sphérique et/ou une modification de l'angle de champ de vision de la caméra virtuelle. Dès lors, l'étape de mise à jour E7 comporte, pour chaque point intermédiaire : - une étape de conversion des coordonnées du point intermédiaire dans le repère en trois dimensions en des coordonnées dans le repère sphérique auxquelles la modification de l'orientation de la caméra virtuelle et/ou de l'angle de champ de vision de la caméra virtuelle sont appliquées. - les coordonnées converties du point intermédiaire du repère sphérique sont normalisées de sorte à déterminer les nouvelles correspondances du point intermédiaire dans le repère en trois dimensions (celui associé à la projection voulue). Il peut aussi s'agir de déterminer le nouveau champ de vision et d'exécuter à nouveau la première fonction géométrique.
De préférence, la modification de l'orientation de la caméra virtuelle prend en compte au moins un paramètre suivant : l'angle de latitude de la caméra virtuelle dans le repère sphérique (notamment un repère de type cartographie), l'angle de longitude de la caméra virtuelle dans le repère sphérique et/ou la valeur de l'angle de champ de vision de la caméra virtuelle (correspondant à une diminution ou une augmentation du zoom). En fait, la modification du champ de vision permet une évolution de paramètres qui permettent à un shader de s'exécuter pour chaque point à afficher de l'espace d'affichage, pour chaque image du flux vidéo de sortie 1 et quelles que soient les valeurs caractéristiques du champ de vision. Avantageusement, le procédé comporte une étape de définition d'un filtre d'effet E8 à appliquer aux images du flux vidéo de sortie 1 lors de leurs formation afin de restituer un effet particulier, notamment un filtre d'effet choisi parmi : un filtre de contraste, un filtre de luminosité, un filtre de saturation, un filtre de teinte, un filtre de déformation de l'image (effet vague, effet télévision). Typiquement, ces filtres d'effet ont pour but de modifier le rendu du flux vidéo de sortie. Ces filtres d'effet seront, de préférence, appliqués aux pixels des images du flux vidéo de sortie 1, et notamment par le processeur graphique. Par ailleurs, le procédé de gestion du flux vidéo de sortie peut aussi comporter une étape synchronisation (non représentée aux figures) d'une bande sonore associée au flux vidéo large champ 3 avec le flux vidéo de sortie 1. Autrement dit, le flux vidéo de sortie comporte une bande sonore qui sera restituée en même temps que les images dudit flux vidéo de sortie 1. Selon un perfectionnement, la bande sonore associée au flux vidéo large champ 3 peut être spatialisée de sorte que sa restitution avec 30048 8 1 19 le flux vidéo de sortie 1 comprenne un ajustement de la spatialisation selon le champ de vision. L'invention est aussi relative à un procédé d'affichage d'au moins un flux vidéo de sortie dans un espace d'affichage d'au moins un écran. Un tel 5 procédé d'affichage illustré à la figure 7 comporte au moins une étape de mise en oeuvre E101 du procédé de génération du flux vidéo de sortie tel que décrit précédemment. Par ailleurs, le procédé d'affichage comporte une étape d'affichage E102 dudit flux vidéo de sortie généré dans l'espace d'affichage dudit au moins un écran. 10 De préférence, chaque écran comporte une pluralité d'espaces d'affichage affichant (E102) chacun un flux vidéo de sortie correspondant. Les flux vidéo de sortie sont formés à partir du même flux vidéo large champ selon un champ de vision différent et/ou une projection différente et/ou un effet différent. Ceci permet de proposer 15 différentes immersions possibles à un utilisateur. Par effet différent, on entend l'application d'un filtre d'effet différent. Par ailleurs, selon une mise en oeuvre particulière, le procédé d'affichage peut permettre un affichage d'une pluralité de vidéos de sortie distinctes (notamment de manière simultanée), au moins deux vidéos de sorties de 20 la pluralité de vidéos de sortie étant issues de flux vidéo large champ différents. Les vidéos de sortie de pluralité de vidéos de sortie peuvent être affichées dans des espaces d'affichage d'un même écran, ou dans des espaces d'affichage d'écran différents. Chacune des vidéos de sortie de la pluralité de vidéos de sortie peut être générée par une mise en 25 oeuvre du procédé de génération.
L'invention est aussi relative à un dispositif de gestion d'au moins un flux vidéo de sortie. Comme illustré à la figure 8, ce dispositif 1000 comprend au moins un élément 1001 configuré de sorte à mettre en oeuvre le procédé de génération d'un flux vidéo de sortie tel que décrit. Par exemple, cet élément 1001 comporte un CPU, un GPU et une mémoire contenant des instructions de mise en oeuvre du procédé de génération du flux vidéo par le CPU et le GPU. Par ailleurs, le dispositif comporte une interface homme-machine 1002 comprenant au moins un écran d'affichage 1003 destiné à afficher le flux vidéo de sortie dans au moins un espace d'affichage 1004 dudit au moins un écran 1003. De manière générale, une interface homme machine est configurée de sorte à permettre l'interaction d'un opérateur avec le dispositif dans le cadre d'une expérience immersive de restitution d'au moins une partie d'un flux vidéo large champ.
En ce sens, l'interface homme-machine 1002 comprend au moins l'un des éléments suivants : un élément de sélection 1005 d'un flux vidéo large champ dans un espace de stockage (notamment à partir d'une liste de choix de flux vidéo large champ), un élément de définition du champ de vision voulu 1006 (notamment un espace d'affichage permettant de visualiser la totalité du flux vidéo large champ), un élément de définition 1007 d'une projection voulue (notamment à partir d'une liste prédéfinie de projections), un élément de sélection d'un effet à appliquer 1008 (notamment à partir d'une liste prédéfinie d'effets), un élément 1009 permettant de se déplacer temporellement au sein du flux vidéo large champ pour restituer le flux vidéo de sortie à un moment précis un élément 1010 de contrôle de la bande son du flux vidéo de sortie.
L'espace de stockage peut être local au dispositif (c'est-à-dire dans une mémoire du dispositif), ou être distant (par exemple un serveur distant accessible via un réseau de communication tel qu'Internet). Ainsi, le flux vidéo large champ peut être téléchargé ou diffusé, notamment en temps réel, à partir de l'espace de stockage distant. De préférence, l'interface homme-machine comporte au moins un élément de modification du champ de vision, notamment choisi parmi : un écran tactile, un accéléromètre, un gyroscope, un magnétomètre, un espace d'affichage du flux vidéo large champ à partir duquel il est possible de choisir le champ de vision voulu, un dispositif de pointage (par exemple une souris informatique), une interface gestuelle à détection de mouvement. L'interface gestuelle peut correspondre à des capteurs placés sur une personne, ou à une ou plusieurs caméras filmant une personne et analysant ses gestes.
Selon une mise en oeuvre du dispositif, chaque écran comporte une pluralité d'espaces d'affichage, un flux vidéo de sortie distinct étant joué dans chacun des espaces d'affichage, les flux vidéos de sortie joués étant chacun issu d'une mise en oeuvre du procédé de génération du flux vidéo de sortie, notamment à partir d'un même flux vidéo large champ ou de flux vidéo large champ différents. Selon une mise en oeuvre particulière, un écran du dispositif peut être associé à un boitier du dispositif qui comporte les éléments nécessaire à la génération de chaque flux vidéo de sortie. Le boitier peut alors former une tablette tactile. Par ailleurs, un autre écran du dispositif (par exemple un téléviseur) peut être déporté du boitier de sorte à afficher le flux vidéo de sortie qui lui est transmis par le boitier via un moyen de communication, notamment sans fil.
L'invention est aussi relative à un système comprenant un compilateur et une mémoire munie d'un kit de développement logiciel permettant de créer une application pour un système d'exploitation. Le kit de développement comporte au moins un élément configuré de sorte à mettre en oeuvre le procédé de génération du flux vidéo au sein de l'application lorsqu'elle est exécutée après avoir été compilée par le compilateur. En outre, le kit de développement peut comporter un élément configuré de sorte à permettre l'interaction de l'application avec tout ou partie des éléments décrits ci-avant du dispositif de gestion.10