Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR GENERATING AN OUTPUT VIDEO STREAM FROM A WIDE-FIELD VIDEO STREAM
Document Type and Number:
WIPO Patent Application WO/2014/170482
Kind Code:
A1
Abstract:
The method for generating an output video stream (1) with a view to displaying same in a two-dimensional display space (2), comprises the following steps: selecting (E1) a wide-field video stream (3); defining (E3) a desired projection (P) and a desired field of vision (cam) with a view to obtaining a particular rendering, in particular without distortion, of at least a portion of the wide-field video stream (3) in the display space (2); carrying out (E4) a first geometric function (f1) so as to generate, for each point of the display space (2), an intermediate point located in a three-dimensional reference frame, said first function taking, as parameters, the desired projection (P) and the desired field of vision (cam); and forming (E5) the output video stream from the selected wide-field stream (3), taking the intermediate points into consideration.

Inventors:
JENNY ALEXANDRE (FR)
GILQUIN YANN RENAUD (FR)
Application Number:
PCT/EP2014/058008
Publication Date:
October 23, 2014
Filing Date:
April 18, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KOLOR (FR)
International Classes:
H04N5/232; G06T3/00
Foreign References:
EP0661672A11995-07-05
EP0650299A11995-04-26
EP0605045A11994-07-06
Other References:
FOOTE J ET AL: "FlyCam: practical panoramic video and automatic camera control", MULTIMEDIA AND EXPO, 2000. ICME 2000. 2000 IEEE INTERNATIONAL CONFEREN CE ON NEW YORK, NY, USA 30 JULY-2 AUG. 2000, PISCATAWAY, NJ, USA,IEEE, US, vol. 3, 30 July 2000 (2000-07-30), pages 1419 - 1422, XP010512772, ISBN: 978-0-7803-6536-0, DOI: 10.1109/ICME.2000.871033
HOSSEIN AFSHARI ET AL: "The PANOPTIC Camera: A Plenoptic Sensor with Real-Time Omnidirectional Capability", JOURNAL OF SIGNAL PROCESSING SYSTEMS, vol. 70, no. 3, 14 March 2012 (2012-03-14), pages 305 - 328, XP055092066, ISSN: 1939-8018, DOI: 10.1007/s11265-012-0668-4
BENJAMIN MEYER ET AL: "Real-time Free-Viewpoint Navigation from Compressed Multi-Video Recordings", PROC. 3D DATA PROCESSING, VISUALIZATION AND TRANSMISSION (3DPVT), 31 May 2010 (2010-05-31), pages 1 - 6, XP055091261, Retrieved from the Internet [retrieved on 20131203]
LIPSKI, C.: "Virtual video camera", SIGGRAPH '09: POSTERS ON, SIGGRAPH '09, vol. 0, 1 January 2009 (2009-01-01), New York, New York, USA, pages 1 - 1, XP055091257, DOI: 10.1145/1599301.1599394
FELIX KLOSE ET AL: "STEREOSCOPIC 3D VIEW SYNTHESIS FROM UNSYNCHRONIZED MULTI-VIEW VIDEO", PROC. EUROPEAN SIGNAL PROCESSING CONFERENCE (EUSIPCO), BARCELONA, SPAIN, 2 September 2011 (2011-09-02), pages 1904 - 1909, XP055091259, Retrieved from the Internet [retrieved on 20131203]
J. FOOTE; DON KIMBER: "FlyCam: Practical Panoramic Video and Automatic Camera Control", 2000 IEE INTERNATIONAL CONFERENCE ON NEW YORK, vol. 3, 30 July 2000 (2000-07-30), pages 1419 - 1422
Attorney, Agent or Firm:
AIVAZIAN, Denis et al. (FR)
Download PDF:
Claims:
REVENDICATIONS

1 . 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, ledit procédé comprenant les étapes suivantes :

- sélectionner (E1 ) un flux vidéo large champ (3), - définir (E3) une projection voulue (P) et un champ de vision voulu (cam) 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),

- exécuter (E4) une première fonction géométrique (f1 ) 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 (P) et le champ de vision voulu (cam),

- former (E5) le flux vidéo de sortie à partir du flux large champ sélectionné (3) en prenant en compte les points intermédiaires.

2. Procédé selon la revendication précédente, caractérisé en ce que l'étape de formation (E5) du flux vidéo de sortie (1 ) est mise en œuvre 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 (3).

3. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'étape de formation (E5) du flux vidéo de sortie (1 ) 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 (3) en vue de restituer un pixel de l'image du flux vidéo de sortie (1 ) en fonction dudit point de référence.

4. Procédé selon la revendication précédente, caractérisé en ce que l'étape de détermination (E5-2) du point de référence comporte l'exécution d'une deuxième fonction géométrique (f2) 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 (3).

5. Procédé selon l'une des revendications 3 ou 4, caractérisé en ce qu'il comporte, 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 (1 ) à 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.

6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte une étape de modification (E6) du champ de vision voulu et en ce qu'il comporte une étape de mise à jour (E7) des coordonnées des points intermédiaires.

7. Procédé selon la revendication précédente, caractérisé en ce que l'étape de modification du champ de vision (E6) 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 en ce que l'étape de mise à jour (E7) 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.

8. Procédé selon la revendication précédente, caractérisé en ce que 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.

9. Procédé l'une quelconque des revendications précédentes, caractérisé en ce qu'au moins l'étape d'exécution de la première fonction géométrique (f1 ) est réalisée par un processeur graphique (GPU), 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 (GPU) pour former une image correspondante du flux vidéo de sortie (1 ).

10. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte une étape de définition (E8) d'un filtre d'effet à 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. 1 1 . Procédé d'affichage d'au moins un flux vidéo de sortie dans un espace d'affichage d'au moins un écran, caractérisé en ce qu'il comporte au moins une étape (E101 ) de mise en œuvre du procédé de génération du flux vidéo de sortie selon l'une quelconque des revendications précédentes, et une étape d'affichage (E102) dudit flux vidéo de sortie généré dans l'espace d'affichage dudit au moins un écran.

12. Procédé selon la revendication précédente, caractérisé en ce que chaque écran comporte une pluralité d'espaces d'affichage (E102) 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.

13. Procédé selon la revendication 1 1 , caractérisé en qu'il 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.

14. Dispositif de gestion d'au moins un flux vidéo de sortie, caractérisé en ce qu'il comprend au moins un élément (1001 ) configuré de sorte à mettre en œuvre le procédé de génération d'un flux vidéo de sortie selon l'une des revendications 1 à 10, et une interface homme-machine 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). 15. Dispositif selon la revendication précédente, caractérisé en ce que l'interface homme-machine 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, un élément (1006) de définition du champ de vision voulu, un élément de définition (1007) d'une projection voulue notamment à partir d'une liste prédéfinie de projections, un élément (1008) de sélection d'un effet à appliquer, un élément (1009) permettant de se déplacer temporellennent 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 (1010) de la bande son du flux vidéo de sortie. 16. Dispositif selon l'une des revendications 14 ou 15, caractérisé en ce que 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.

17. Dispositif selon l'une des revendications 14 à 16, caractérisé en ce que 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 œuvre du procédé de génération du flux vidéo de sortie selon l'une des revendications 1 à 10, notamment à partir d'un même flux vidéo large champ ou de flux vidéo large champ différents.

18. 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, caractérisé en ce que le kit de développement comporte au moins un élément configuré de sorte à mettre en œuvre l'une quelconque des revendications 1 à 10 du 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.

Description:
Procédé de génération d'un flux vidéo de sortie à partir d' 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 en deux dimensions selon une restitution particulière.

État de la technique 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 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 restitution est connue de l'homme du métier sous la dénomination 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é. Le document intitulé « FlyCam : Practical Panoramic Video and Automatic Caméra Control » de J. Foote et Don Kimber issu de la conférence « 2000 IEE INTERNATIONAL CONFERENCE ON NEW YORK » tenue du 30 juillet au 2 août 2000 et tiré du volume 3, 30 juillet 2000 pages 1419-1422, décrit notamment un système permettant de réaliser des vidéos panoramiques. Ce document ne traite que de la génération d'un flux vidéo large champ, sans donner d'explications quant à la restitution de ce flux.

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 œuvre 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 œuvre 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. Alternativennent, 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 œuvre 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 œuvre 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.

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 œuvre 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 œuvre 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 œuvre 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 œuvre 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 E1 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 E1 et E2 peuvent être mises en œuvre 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.

Préférentiellement, le flux vidéo large champ présente une résolution en pixels supérieure à la résolution du flux vidéo de sortie. Autrement dit, le nombre de pixels du flux vidéo large champ est dans ce cas supérieur au nombre de points 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 œuvre 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 f1 (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 E1 .

Plus particulièrement, on peut considérer que l'étape de formation E5 du flux vidéo de sortie 1 est mise en œuvre 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 f1 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 « Graphie 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 œuvre 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 œuvre à partir d'une fonction géométrique idoine que l'homme du métier pourra mettre en œuvre à 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 œuvre (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 El 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 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 procédé d'affichage illustré à la figure 7 comporte au moins une étape de mise en œuvre 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.

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 différentes immersions possibles à un utilisateur. Par effet différent, on entend l'application d'un filtre d'effet différent.

Selon une variante, l'écran comporte deux espaces d'affichage chacun respectivement destiné à un œil gauche et à un œil droit d'un observateur. Ceci permet notamment de proposer du contenu immersif avec affichage en trois dimensions ou non. Ainsi, chaque œil perçoit un flux vidéo de sortie associé à un espace de vision qui lui est adapté. L'écran peut alors comporter une matrice d'affichage divisée de sorte à délimiter les deux espaces d'affichage. Alternativement, le procédé d'affichage permet d'afficher un premier flux vidéo de sortie dans un espace d'affichage d'un premier écran et un deuxième flux vidéo de sortie dans un espace d'affichage d'un deuxième écran, le premier flux est alors destiné à être perçu par exemple par un œil gauche de l'observateur tandis que le deuxième flux est destiné à être perçu par un œil droit de l'observateur. Dans cette variante, le ou les écran(s) peu(ven)t être inclus dans d'un casque immersif (ou casque de réalité virtuelle) aussi connu sous le nom anglais de « Headset VR » dans le domaine.

Selon une réalisation de la variante, le casque immersif peut comporter un support configuré de sorte à être porté par un observateur. Ce support comporte aussi des moyens de réception d'un dispositif portable multimédia, notamment une tablette multimédia ou un téléphone multimédia aussi connu sous le terme de smartphone dans le domaine. On comprend alors que l'écran du dispositif portable multimédia, lorsqu'il est monté sur le support, permet l'affichage simultané de deux flux vidéo de sortie chacun destiné à être perçu par un œil correspondant de l'observateur. Autrement dit, le dispositif portable multimédia peut comporter une application dédiée permettant la mise en œuvre du procédé de génération du flux vidéo de sortie. Par ailleurs, selon une mise en œuvre 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 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 œuvre 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 œuvre 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 œuvre 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. En outre, on comprend aussi de ce qui a été dit précédemment que l'interface homme-machine peut comporter un casque immersif comportant, par exemple, un gyroscope de sorte à permettre à un observateur équipé dudit casque immersif de déplacer au moins son regard dans une réalité virtuelle par interprétation des signaux issus du gyroscope.

Selon une mise en œuvre 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 œuvre 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 œuvre particulière, un écran du dispositif peut être associé à un boîtier du dispositif qui comporte les éléments nécessaire à la génération de chaque flux vidéo de sortie. Le boîtier peut alors former une tablette tactile. Par ailleurs, un autre écran du dispositif (par exemple un téléviseur) peut être déporté du boîtier de sorte à afficher le flux vidéo de sortie qui lui est transmis par le boîtier 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 œuvre 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.

Selon une mise en œuvre particulière, le procédé de génération d'un flux vidéo de sortie peut être mis en œuvre une pluralité de fois de sorte à permettre l'affichage d'une vidéo dans un dôme immersif comportant une pluralité de pans d'affichage. On comprend alors qu'ici chaque flux vidéo de sortie est affiché sur un unique pan du dôme qui lui est associé. De préférence, le dôme est tel que l'intégralité du flux vidéo large champ est reproduit lorsque l'on concatène tous les pans d'affichage du dôme.