FR3066304A1 - METHOD OF COMPOSING AN IMAGE OF AN IMMERSION USER IN A VIRTUAL SCENE, DEVICE, TERMINAL EQUIPMENT, VIRTUAL REALITY SYSTEM AND COMPUTER PROGRAM - Google Patents

METHOD OF COMPOSING AN IMAGE OF AN IMMERSION USER IN A VIRTUAL SCENE, DEVICE, TERMINAL EQUIPMENT, VIRTUAL REALITY SYSTEM AND COMPUTER PROGRAM Download PDF

Info

Publication number
FR3066304A1
FR3066304A1 FR1754270A FR1754270A FR3066304A1 FR 3066304 A1 FR3066304 A1 FR 3066304A1 FR 1754270 A FR1754270 A FR 1754270A FR 1754270 A FR1754270 A FR 1754270A FR 3066304 A1 FR3066304 A1 FR 3066304A1
Authority
FR
France
Prior art keywords
user
image
camera
repository
virtual scene
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1754270A
Other languages
French (fr)
Inventor
Jeremy Lacoche
Thomas Boggini
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
B Com SAS
Original Assignee
B Com SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by B Com SAS filed Critical B Com SAS
Priority to FR1754270A priority Critical patent/FR3066304A1/en
Publication of FR3066304A1 publication Critical patent/FR3066304A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

L'invention concerne un procédé de composition d'une image d'un utilisateur (U1) immergé dans une scène virtuelle, ledit utilisateur étant placé dans un espace réel, au moins une caméra étant agencée de façon connue et de telle sorte que l'utilisateur soit placé dans un champ de ladite caméra, le procédé comprenant les étapes suivantes : - Segmentation (E2) d'un contour de l'utilisateur dans une image (IE) d'intensités de couleurs acquise par la caméra ; - Obtention (E4) par suivi d'une position et d'une orientation d'au moins un point clé (PC1) de l'utilisateur dans un référentiel de l'espace réel, dit « référentiel monde » ; - Construction (E5) d'un volume (VE) englobant l'utilisateur dans le référentiel monde à partir du au moins un point clé obtenu et d'un modèle prédéterminé ; - Construction (E8) d'une carte de profondeur (CP) de l'utilisateur par projection perspective du volume construit dans un référentiel d'une plan image de la caméra et écriture des valeurs de profondeurs des points du volume projetés à l'intérieur du contour segmenté. - Composition (E11) d'une image de sortie (IS) à partir de l'image segmentée de l'utilisateur et d'une projection perspective de la scène virtuelle dans le référentiel de du plan image de la caméra à l'aide de la carte de profondeur construite.The invention relates to a method for composing an image of a user (U1) immersed in a virtual scene, said user being placed in a real space, at least one camera being arranged in a known manner and in such a way that user is placed in a field of said camera, the method comprising the following steps: - Segmentation (E2) of a user's contour in a color intensity image (IE) acquired by the camera; - Obtaining (E4) by tracking a position and an orientation of at least one key point (PC1) of the user in a repository of real space, called "world reference"; - Constructing (E5) a volume (VE) encompassing the user in the world repository from the at least one obtained key point and a predetermined pattern; - Construction (E8) of a depth map (CP) of the user by perspective projection of the volume constructed in a repository of an image plane of the camera and writing depth values of the points of the projected volume inside segmented contour. - Composition (E11) of an output image (IS) from the segmented image of the user and a perspective projection of the virtual scene in the repository of the image plane of the camera using the depth map built.

Description

Procédé de composition d'une image d'un utilisateur immergé dans une scène virtuelle, dispositif, équipement terminal, système de réalité virtuelle et programme d'ordinateur associés 1. Domaine de l'inventionMethod for composing an image of a user immersed in a virtual scene, device, terminal equipment, virtual reality system and associated computer program 1. Field of the invention

Le domaine de l'invention est celui de la réalité virtuelle, en particulier de l'immersion d'un ou plusieurs utilisateurs équipés d'un visiocasque (pour « head-mounted display », en anglais) dans une scène virtuelle. L'invention peut notamment, mais non exclusivement, s'appliquer au cas d'un système de réalité virtuelle comprenant un espace réel dans lequel plusieurs utilisateurs peuvent physiquement cohabiter et partager, grâce à leur visiocasque, un même environnement virtuel collaboratif. 2. Présentation de l'art antérieurThe field of the invention is that of virtual reality, in particular the immersion of one or more users equipped with a head-mounted display (for “head-mounted display”, in English) in a virtual scene. The invention can in particular, but not exclusively, be applied to the case of a virtual reality system comprising a real space in which several users can physically coexist and share, thanks to their head-mounted display, the same collaborative virtual environment. 2. Presentation of the prior art

Lorsqu'un utilisateur est immergé dans une scène virtuelle affichée sur l'écran de son visiocasque, il n'a pas de perception de lui-même ni d'éventuels autres utilisateurs, ce qui peut perturber son expérience immersive.When a user is immersed in a virtual scene displayed on the screen of his head-mounted display, he has no perception of himself or of other possible users, which can disturb his immersive experience.

Pour remédier à cet inconvénient, il est commun dans l'état de l'art de représenter les autres utilisateurs par des avatars. En revanche, cette méthode ne permet pas de reconnaître facilement un utilisateur donné, n'est pas très réaliste et peut même s'avérer dérangeante.To remedy this drawback, it is common in the state of the art to represent other users by avatars. However, this method does not easily recognize a given user, is not very realistic and can even be disturbing.

On connaît aussi du document de Suma et al. Intitulé « Sharing Space in Mixed and Virtual Reality Environments Using a low-Cost Depth Sensor », publié par la conférence IEEE International Symposium on Virtual Innovation, à Singapour, en mars 2011, une méthode permettant à un utilisateur placé dans un environnement réel connu et immergé dans une scène virtuelle de percevoir un autre utilisateur placé dans le même environnement réel et immergé dans la même scène virtuelle que lui. L'approche proposée consiste à placer une caméra RGB-D sur le casque de réalité augmentée de l'utilisateur selon la direction de son regard, et à acquérir une image couleur et une image de profondeur de l'autre utilisateur. Un nuage de points 3D de la scène réelle est construit à partir de ces images. Le nuage de points obtenu est positionné dans la scène virtuelle par rapport à la position du capteur de profondeur de la caméra. Cette position est connue car elle est relative à la position du casque de réalité virtuelle sur lequel la caméra est positionnée, la position du casque étant suivie par un système de suivi, par exemple par infra-rouge. Une segmentation du nuage de points est mise en œuvre à partir d'informations connues de l'environnement réel (hauteur sol, plafond). Le nuage de points est ensuite projeté dans le plan image du casque via une projection perspective. La gestion des occultations entre la silhouette segmentée du deuxième utilisateur et des éléments de la scène virtuelle est implicite puisque ce nuage de points est positionné dans un référentiel 3D de la scène.We also know from the document of Suma et al. Entitled "Sharing Space in Mixed and Virtual Reality Environments Using a low-Cost Depth Sensor", published by the IEEE International Symposium on Virtual Innovation conference, in Singapore, in March 2011, a method allowing a user placed in a known real environment and immersed in a virtual scene to perceive another user placed in the same real environment and immersed in the same virtual scene as him. The proposed approach consists in placing an RGB-D camera on the user's augmented reality helmet according to the direction of his gaze, and in acquiring a color image and a depth image of the other user. A 3D point cloud of the real scene is constructed from these images. The point cloud obtained is positioned in the virtual scene relative to the position of the camera's depth sensor. This position is known because it is relative to the position of the virtual reality headset on which the camera is positioned, the position of the headset being followed by a tracking system, for example by infrared. A segmentation of the point cloud is implemented using information known from the real environment (height above ground, ceiling). The point cloud is then projected into the helmet image plane via a perspective projection. The management of occultations between the segmented silhouette of the second user and elements of the virtual scene is implicit since this point cloud is positioned in a 3D frame of reference of the scene.

Un avantage de cette méthode est que les cartes de profondeur permettent de gérer facilement d'éventuelles occultations entre la silhouette segmentée du deuxième utilisateur et des objets de la scène virtuelle.An advantage of this method is that the depth maps make it possible to easily manage any occultations between the segmented silhouette of the second user and objects in the virtual scene.

Un inconvénient de cette méthode est que les caméras de profondeur produisent des cartes de profondeur dont la précision chute lorsque la distance entre l'utilisateur et la caméra augmente, typiquement à partir de 4 ou 5 mètres ou bien quand elle devient petite, typiquement en deçà de 0,80 mètres, ce qui a un fort impact sur la qualité de la segmentation, en particulier des mains.One drawback of this method is that depth cameras produce depth maps, the accuracy of which drops when the distance between the user and the camera increases, typically from 4 or 5 meters or when it becomes small, typically below of 0.80 meters, which has a strong impact on the quality of the segmentation, especially of the hands.

On connaît enfin du document publié sous le numéro US2008/0030429 un système de réalité virtuelle, qui, bien que dépourvu de caméra de profondeur, génère une image de rendu qui mixe une image segmentée d'une partie du corps d'un utilisateur équipé d'un visiocasque, par exemple ses jambes, avec la scène virtuelle. De cette manière, l'utilisateur garde une perception de son propre corps dans l'environnement virtuel.Finally, from the document published under the number US2008 / 0030429, a virtual reality system is known, which, although devoid of a depth camera, generates a rendering image which mixes a segmented image of a part of the body of a user equipped with 'a head-mounted display, for example its legs, with the virtual scene. In this way, the user keeps a perception of his own body in the virtual environment.

Un inconvénient de cette deuxième solution est que l'image réelle est placée au premier plan de la composition, ce qui peut convenir pour les jambes, mais risque de poser un problème avec les mains en créant un sentiment d'inconfort chez l'utilisateur en cas d'incohérence entre une occultation mal gérée et sa perception de la perspective (perception binoculaire). En outre, cette méthode ne permet pas d'offrir une perception correcte d'autres utilisateurs présents dans le même espace réel. 3. Objectifs de l'invention L'invention vient améliorer la situation. L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.A disadvantage of this second solution is that the real image is placed in the foreground of the composition, which may be suitable for the legs, but may pose a problem with the hands by creating a feeling of discomfort in the user. case of inconsistency between a poorly managed occultation and his perception of perspective (binocular perception). In addition, this method does not make it possible to offer a correct perception of other users present in the same real space. 3. Objectives of the invention The invention improves the situation. The invention particularly aims to overcome these drawbacks of the prior art.

Plus précisément, un objectif de l'invention est de proposer une solution qui permette d'insérer l'image segmentée d'un utilisateur dans une scène virtuelle de façon simple et efficace, en gérant les occultations éventuelles avec des objets de la scène virtuelle.More specifically, an objective of the invention is to propose a solution which makes it possible to insert the segmented image of a user into a virtual scene in a simple and effective manner, by managing possible occultations with objects of the virtual scene.

Un autre objectif de l'invention est de proposer une solution qui soit robuste aux variations de distance entre la caméra et l'utilisateur. 4. Exposé de l'inventionAnother objective of the invention is to propose a solution which is robust to variations in distance between the camera and the user. 4. Statement of the invention

Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de composition d'une image d'un utilisateur immergé dans une scène virtuelle, ledit utilisateur étant placé dans un environnement réel, au moins une caméra étant agencée de façon connue et de telle sorte que l'utilisateur soit placé dans un champ de ladite caméra, le procédé comprenant les étapes suivantes :These objectives, as well as others which will appear subsequently, are achieved using a method of composing an image of a user immersed in a virtual scene, said user being placed in a real environment, at at least one camera being arranged in a known manner and such that the user is placed in a field of said camera, the method comprising the following steps:

Segmentation d'un contour de l'utilisateur dans une image d'intensités de couleurs acquise par la caméra ;Segmentation of a user contour in a color intensity image acquired by the camera;

Obtention d'une position et d'une orientation d'au moins un point clé de l'utilisateur dans un référentiel de la scène réelle, dit référentiel monde ;Obtaining a position and an orientation of at least one key point of the user in a repository of the real scene, called world repository;

Construction d'un volume englobant l'utilisateur dans le référentiel monde à partir du au moins un point clé obtenu ;Construction of a volume including the user in the world repository from at least one key point obtained;

Construction d'un masque de profondeur de l'utilisateur par projection du volume construit dans un référentiel d'un plan image de la caméra et écriture des valeurs de profondeur des points du volume projeté à l'intérieur du contour segmenté ; etConstruction of a user depth mask by projecting the volume constructed in a repository of a camera image plane and writing the depth values of the points of the volume projected inside the segmented contour; and

Composition d'une image de sortie à partir de l'image segmentée de l'utilisateur et d'une projection perspective de la scène virtuelle dans le référentiel du plan image de la caméra à l'aide de la carte de profondeur construite. L'invention propose une solution robuste et efficace pour réaliser la composition d'une image réelle d'un utilisateur et de la scène virtuelle dans laquelle il est immergé. Elle s'appuie sur une approche tout-à-fait nouvelle et inventive qui consiste à segmenter la silhouette de l'utilisateur dans l'image réelle et à construire, selon la perspective de la caméra qui a acquis l'image réelle, une carte de profondeur d'un volume englobant l'utilisateur limitée aux points du volume correspondant à l'intérieur de sa silhouette segmentée. Cette carte de profondeur est ensuite exploitée pour positionner l'image segmentée de l'utilisateur devant ou derrière les éléments projetés de la scène virtuelle et composer ainsi une vue de l'utilisateur inséré dans la scène virtuelle.Composition of an output image from the segmented image of the user and a perspective projection of the virtual scene in the repository of the image plane of the camera using the constructed depth map. The invention provides a robust and effective solution for composing a real image of a user and the virtual scene in which he is immersed. It is based on an entirely new and inventive approach which consists in segmenting the silhouette of the user in the real image and in constructing, according to the perspective of the camera which acquired the real image, a map depth of a volume encompassing the user limited to the points of the volume corresponding to the interior of its segmented silhouette. This depth map is then used to position the segmented image of the user in front of or behind the projected elements of the virtual scene and thus compose a view of the user inserted into the virtual scene.

Le volume englobant reste donc invisible dans l'image de composition finale, car il n'intervient que pour construire la carte de profondeur associée à l'image de la silhouette segmentée de l'utilisateur.The encompassing volume therefore remains invisible in the final composition image, since it only intervenes to construct the depth map associated with the image of the segmented silhouette of the user.

Contrairement à l'art antérieur basé sur une caméra de profondeur, la solution de l'invention ne voit pas ses performances décroître lorsque la distance entre l'utilisateur et la caméra augmente ou diminue très fortement. En outre, elle produit, grâce à la connaissance préalable de l'espace réel dans lequel évolue l'utilisateur, une segmentation de cet utilisateur réalisée en temps réel et avec une bonne qualité.Unlike the prior art based on a depth camera, the solution of the invention does not see its performance decrease when the distance between the user and the camera increases or decreases very strongly. In addition, it produces, thanks to prior knowledge of the real space in which the user operates, a segmentation of this user carried out in real time and with good quality.

En combinant de façon astucieuse les informations issues de la segmentation d'une image 2D produite par la caméra à celles d'un volume englobant de l'utilisateur dans la scène virtuelle, elle construit une carte de profondeur simplifiée de la scène vue par la caméra, qui permet de gérer les occultations entre objets virtuels et réels de façon peu complexe et efficace.By cleverly combining the information from the segmentation of a 2D image produced by the camera with that of a volume encompassing the user in the virtual scene, it builds a simplified depth map of the scene seen by the camera , which allows you to manage occultations between virtual and real objects in an uncomplicated and efficient way.

Selon un aspect de l'invention le procédé comprend une étape de construction d'une image masque de l'utilisateur par écriture d'une première valeur pour un élément d'image situé sur ou à l'intérieur du contour et d'une deuxième valeur, distincte de la première, pour un élément d'image situé à l'extérieur du contour et la carte de profondeur est construite par écriture des valeurs de profondeurs du volume englobant projeté aux positions des éléments d'images associés à la première valeur dans l'image masque.According to one aspect of the invention, the method comprises a step of constructing a mask image of the user by writing a first value for an image element located on or inside the outline and a second value, distinct from the first, for an image element situated outside the contour and the depth map is constructed by writing the depth values of the encompassing volume projected at the positions of the image elements associated with the first value in the image hides.

Un avantage de cette image masque est qu'elle est très facile à manipuler et permet de construire rapidement la carte de profondeur de l'utilisateur segmenté.An advantage of this mask image is that it is very easy to handle and makes it possible to quickly construct the depth map of the segmented user.

Selon un autre aspect de l'invention, l'étape de composition comprend, pour un point de la scène virtuelle projeté dans le plan image, qui est colocalisé avec un point de l'image de l'utilisateur segmenté, une comparaison de leurs valeurs de profondeurs, l'intensité de l'image de sortie en ce point étant choisie égale à celle du point de la scène virtuelle projetée ou de l'image de l'utilisateur segmenté qui est associé à la valeur de profondeur la plus faible.According to another aspect of the invention, the composition step comprises, for a point of the virtual scene projected in the image plane, which is collocated with a point of the image of the segmented user, a comparison of their values depths, the intensity of the output image at this point being chosen equal to that of the point of the projected virtual scene or of the image of the segmented user which is associated with the lowest depth value.

De cette manière, les occultations sont gérées de façon simple et efficace.In this way, the occultations are managed in a simple and efficient way.

Selon un autre aspect de l'invention, un deuxième point clé est obtenu par suivi d'une manette tenue en main par le premier utilisateur.According to another aspect of the invention, a second key point is obtained by following a lever held in hand by the first user.

Un avantage est d'augmenter la précision du positionnement du volume englobant l'utilisateur dans l'espace réel, sans augmenter les contraintes qui pèsent sur l'utilisateur. En effet, il a besoin de cette manette pour interagir avec la scène virtuelle, par exemple pour déplacer des objets de cette scène.An advantage is to increase the precision of the positioning of the volume including the user in the real space, without increasing the constraints which weigh on the user. Indeed, it needs this controller to interact with the virtual scene, for example to move objects of this scene.

Selon encore un autre aspect de l'invention, le modèle de volume englobant l'utilisateur est une boîte en forme de parallélépipède rectangle orientée en fonction d'une orientation du au moins un point clé.According to yet another aspect of the invention, the volume model including the user is a box in the shape of a rectangular parallelepiped oriented according to an orientation of the at least one key point.

Un avantage de ce modèle est sa simplicité de mise en œuvre.An advantage of this model is its simplicity of implementation.

Selon un autre aspect de l'invention, le modèle de volume englobant le premier utilisateur comprend une pluralité de cylindres emboîtés aptes à se déplacer les uns par rapport aux autres selon des contraintes mécaniques prédéterminées.According to another aspect of the invention, the volume model including the first user comprises a plurality of nested cylinders capable of moving with respect to each other according to predetermined mechanical stresses.

Un avantage de ce deuxième modèle est que, bien que plus complexe, il permet une modélisation plus précise et plus fidèle de l'utilisateur. Le volume ainsi construit correspond mieux à sa silhouette, ce qui permet de limiter les erreurs lorsque plusieurs utilisateurs sont présents dans le champ de la caméra. En effet, si une partie d'un utilisateur voisin est segmentée en même temps que le premier utilisateur dans l'image d'entrée, le fait de construire un volume englobant précis permettra d'éliminer la partie segmentée correspondant à l'utilisateur voisin dans l'image masque du premier utilisateur et donc de ne pas associer cette partie de l'utilisateur voisin à une profondeur erronée.An advantage of this second model is that, although more complex, it allows more precise and more faithful modeling of the user. The volume thus constructed corresponds better to its silhouette, which makes it possible to limit errors when several users are present in the field of the camera. Indeed, if a part of a neighboring user is segmented at the same time as the first user in the input image, the fact of constructing a precise encompassing volume will make it possible to eliminate the segmented part corresponding to the neighboring user in the image masks the first user and therefore does not associate this part of the neighboring user with an erroneous depth.

Selon encore un autre aspect, l'espace réel est délimité par des parois de couleur monochromatique et l'étape de segmentation met en œuvre une technique dite de segmentation chroma-key.According to yet another aspect, the real space is delimited by walls of monochromatic color and the segmentation step implements a technique called chroma-key segmentation.

Un avantage est de cet espace réel connu au préalable est que la segmentation du ou des utilisateurs est facilitée et peut être réalisée en temps réel et avec précision.An advantage is of this real space known beforehand is that the segmentation of the user or users is facilitated and can be carried out in real time and with precision.

Selon un premier mode de réalisation de l'invention, la au moins une caméra est placée à l'extérieur de l'espace réel.According to a first embodiment of the invention, the at least one camera is placed outside the real space.

Un avantage est de pouvoir montrer à d'autres personnes ce que fait et ce que voit le premier utilisateur immergé dans la scène virtuelle. Dans ce cas, le dispositif d'affichage est un écran situé à l'extérieur de l'environnement réel dans lequel évolue le premier utilisateur.One advantage is being able to show other people what the first user immersed in the virtual scene does and sees. In this case, the display device is a screen located outside the real environment in which the first user operates.

Selon un deuxième mode de réalisation, la au moins une caméra est placée sur un visiocasque d'un deuxième utilisateur situé dans l'espace réel.According to a second embodiment, the at least one camera is placed on a head-mounted display of a second user located in real space.

Un avantage est de permettre au deuxième utilisateur de voir le premier utilisateur évoluer dans la scène virtuelle telle qu'il la perçoit. Le dispositif d'affichage est dans ce cas l'écran du casque placé devant les yeux de l'utilisateur. L'invention concerne également un dispositif de composition d'une image d'au moins un utilisateur immergé dans une scène virtuelle adapté pour mettre en œuvre le procédé selon l'un quelconque des modes particuliers de réalisation définis ci-dessus. Ce dispositif pourra bien sûr comporter les différentes caractéristiques relatives au procédé de composition selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif sont les mêmes que ceux du procédé de composition, et ne sont pas détaillés plus amplement.An advantage is to allow the second user to see the first user move in the virtual scene as he perceives it. The display device is in this case the helmet screen placed in front of the user's eyes. The invention also relates to a device for composing an image of at least one user immersed in a virtual scene suitable for implementing the method according to any one of the particular embodiments defined above. This device could of course include the various characteristics relating to the composition process according to the invention. Thus, the characteristics and advantages of this device are the same as those of the composition process, and are not described in more detail.

Selon un mode particulier de réalisation de l'invention, un tel dispositif de composition est compris dans un équipement terminal, comprenant un module d'émission-réception apte à recevoir des informations relatives à la scène virtuelle, l'image acquise par la au moins une caméra, des informations de suivi de position et d'orientation d'au moins un point clé de l'utilisateur et un dispositif d'affichage apte à afficher l'image composée.According to a particular embodiment of the invention, such a composition device is included in a terminal equipment, comprising a transceiver module capable of receiving information relating to the virtual scene, the image acquired by the at least a camera, position and orientation tracking information for at least one key point of the user and a display device capable of displaying the composite image.

Selon un autre aspect de l'invention, l'équipement terminal comprend un visiocasque apte à être porté par un deuxième utilisateur, une caméra disposée sur le visiocasque, agencée dans une direction du regard du deuxième utilisateur et apte à acquérir l'image d'entrée et un écran placé devant les yeux du deuxième utilisateur et sur lequel est restituée l'image de sortie.According to another aspect of the invention, the terminal equipment comprises a head-mounted display capable of being worn by a second user, a camera disposed on the head-mounted display, arranged in a direction of gaze of the second user and capable of acquiring the image of input and a screen placed before the eyes of the second user and on which the output image is restored.

De cette manière le deuxième utilisateur visualise le premier utilisateur intégré à la scène virtuelle dans laquelle lui-même évolue.In this way the second user visualizes the first user integrated into the virtual scene in which he himself is evolving.

Corrélativement, l'invention concerne aussi un système de réalité virtuelle comprenant :Correlatively, the invention also relates to a virtual reality system comprising:

Un module de suivi agencé pour suivre une position et une orientation d'au moins un point clé de l'utilisateur dans un référentiel du système, dit référentiel monde, le dit au moins un point clé étant situé sur le visiocasque ;A tracking module arranged to follow a position and an orientation of at least one key point of the user in a system repository, called the world repository, said at least one key point being located on the head-mounted display;

Au moins une caméra agencée de telle sorte que l'utilisateur soit placé dans un champ de vision de ladite caméra ;At least one camera arranged so that the user is placed in a field of vision of said camera;

Un module de génération d'une scène virtuelle SV ;A module for generating a virtual scene SV;

Un équipement terminal selon l'invention ; etTerminal equipment according to the invention; and

Un premier visiocasque apte à être porté par l'utilisateur et destiné à restituer à l'utilisateur une représentation visuelle de la scène virtuelle; L'invention concerne aussi un programme d'ordinateur comportant des instructions pour la mise en œuvre des étapes d'un procédé de composition tel que décrit précédemment, lorsque ce programme est exécuté par un processeur.A first head-mounted display capable of being worn by the user and intended to restore to the user a visual representation of the virtual scene; The invention also relates to a computer program comprising instructions for implementing the steps of a composition method as described above, when this program is executed by a processor.

Ce programme peut utiliser n'importe quel langage de programmation. Il peut être téléchargé depuis un réseau de communication et/ou enregistrés sur un support lisible par ordinateur. L'invention se rapporte enfin à des supports d'enregistrement, lisibles par un processeur, intégrés ou non au dispositif d'estimation de pose selon l'invention, éventuellement amovible, mémorisant respectivement un programme d'ordinateur mettant en œuvre un procédé de composition tel que décrit précédemment. 5. Liste des figures D'autres avantages et caractéristiques de l'invention apparaîtront 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 : la figure 1 présente de façon schématique un exemple de système de réalité virtuelle selon un premier mode de réalisation de l'invention ; la figure 2 présente de façon schématique un exemple de système de réalité virtuelle selon un deuxième mode de réalisation de l'invention ; les figures 3A et 3B présentent de façon schématique une vue de face et une vue de profil d'une caméra stéréo mise en œuvre par le système de réalité virtuelle selon un mode de réalisation de l'invention ; la figure 4 présente de façon schématique les étapes d'un procédé de composition d'une image d'un utilisateur avec la scène virtuelle dans laquelle il est immergé, selon l'invention ; la figure 5 illustre un exemple de segmentation de l'utilisateur sur une image acquise par la caméra stéréo selon une technique dite de segmentation sur fond monochromatique ; la figure 6 illustre de façon schématique un exemple d'image masque produite à l'issue de l'étape de segmentation selon l'invention ; la figure 7 illustre de façon schématique l'étape d'obtention d'information de position et d'orientation d'au moins un point clé de l'utilisateur par suivi, selon l'invention ; les figures 8A à 8D illustrent de façon schématiques des vues d'un volume englobant l'utilisateur basé sur un modèle de boîte ; les figures 9A et 9B illustrent de façon schématique deux vues d'un volume englobant l'utilisateur basé sur un modèle de cylindres articulés ; la figure 10 illustre de façon schématique une caméra virtuelle et sa pyramide de vue ; et la figure 11 illustre de façon schématique un exemple de structure matérielle d'un dispositif de composition d'une image de l'utilisateur immergé dans la scène virtuelle selon l'invention. 6. Description d'un mode de réalisation particulier de l'inventionThis program can use any programming language. It can be downloaded from a communication network and / or saved on a computer-readable medium. The invention finally relates to recording media, readable by a processor, integrated or not in the pose estimation device according to the invention, possibly removable, respectively storing a computer program implementing a composition method as previously described. 5. List of Figures Other advantages and characteristics of the invention will appear more clearly on reading the following description of a particular embodiment of the invention, given by way of simple illustrative and nonlimiting example, and appended drawings, among which: FIG. 1 schematically presents an example of a virtual reality system according to a first embodiment of the invention; FIG. 2 schematically presents an example of a virtual reality system according to a second embodiment of the invention; FIGS. 3A and 3B schematically show a front view and a side view of a stereo camera implemented by the virtual reality system according to an embodiment of the invention; FIG. 4 schematically presents the steps of a method of composing an image of a user with the virtual scene in which he is immersed, according to the invention; FIG. 5 illustrates an example of segmentation of the user on an image acquired by the stereo camera according to a technique called segmentation on a monochromatic background; FIG. 6 schematically illustrates an example of a mask image produced at the end of the segmentation step according to the invention; FIG. 7 schematically illustrates the step of obtaining position and orientation information from at least one key point of the user by monitoring, according to the invention; FIGS. 8A to 8D schematically illustrate views of a volume including the user based on a box model; FIGS. 9A and 9B schematically illustrate two views of a volume including the user based on a model of articulated cylinders; FIG. 10 schematically illustrates a virtual camera and its view pyramid; and FIG. 11 schematically illustrates an example of a material structure of a device for composing an image of the user immersed in the virtual scene according to the invention. 6. Description of a particular embodiment of the invention

Pour rappel, le principe de l'invention est d'une part de segmenter le contour d'un utilisateur sur au moins une image acquise par une caméra dans un espace réel, de calculer d'autre part un volume englobant cet utilisateur dans un référentiel de l'espace réel, dit référentiel monde, à l'aide d'au moins une information de suivi positionnel et rotationnel de cet utilisateur et d'un modèle prédéterminé. Le contour segmenté de l'utilisateur dans l'image acquise et une projection du volume calculé dans un référentiel d'un plan image de la caméra sont ensuite exploités pour construire une carte de profondeur associée à l'image de l'utilisateur. Cette carte permet lors de la composition d'une image, vue par la caméra, de l'utilisateur immergé dans la scène virtuelle, de prendre en compte d'éventuelles occultations de l'utilisateur par des objets de la scène virtuelle 3D.As a reminder, the principle of the invention is firstly to segment the outline of a user on at least one image acquired by a camera in a real space, to calculate secondly a volume including this user in a repository real space, known as the world repository, using at least one positional and rotational tracking information for this user and a predetermined model. The segmented contour of the user in the acquired image and a projection of the volume calculated in a frame of reference of an image plane of the camera are then used to construct a depth map associated with the image of the user. This card allows when composing an image, seen by the camera, of the user immersed in the virtual scene, to take into account possible occultations of the user by objects of the 3D virtual scene.

En relation avec la Figure 1, on présente un premier exemple de système ou de plateforme de réalité virtuelle selon un premier mode de réalisation de l'invention. Cette plateforme 10 comprend notamment :In relation to FIG. 1, a first example of a virtual reality system or platform is presented according to a first embodiment of the invention. This platform 10 includes in particular:

Un espace réel 20, par exemple une pièce dont les murs sont d'une couleur monochromatique uniforme de référence, et dans lequel évolue au moins un premier utilisateur Ui ;A real space 20, for example a room whose walls are of a uniform monochromatic reference color, and in which evolves at least a first user Ui;

Au moins une caméra 30 apte à acquérir une séquence d'images d'intensités de couleur, ou caméra RGB (pour « Red Green Blue », en anglais) et agencée de manière à ce que le premier utilisateur Ui soit présent dans son champ de vision. Par exemple, elle est fixée sur un mât en bordure de l'espace réel 20, depuis lequel elle dispose d'un point de vue extérieur sur cet espace;At least one camera 30 capable of acquiring a sequence of images of color intensities, or RGB camera (for “Red Green Blue”, in English) and arranged so that the first user Ui is present in its field of vision. For example, it is fixed to a mast at the edge of the real space 20, from which it has an external point of view on this space;

Un module de génération d'une scène virtuelle 3D SV 40, par exemple intégré à une machine de calcul d'un équipement terminal ET, tel qu'un ordinateur personnel (pour « Personal computer», en anglais), une tablette, un téléphone intelligent (pour « smartphone», en anglais) etc;A module for generating a 3D virtual scene SV 40, for example integrated into a machine for calculating terminal equipment ET, such as a personal computer (for “Personal computer”, in English), a tablet, a telephone intelligent (for “smartphone”, in English) etc;

Un casque de réalité virtuelle ou visiocasque 50i dont est équipé le premier utilisateur Ui.A 50i virtual reality or head-mounted headset with which the first user Ui is equipped.

Ce visiocasque comprend au moins un écran équipé d'un système de lentilles qui est placé devant les yeux de l'utilisateur et sur lequel il est apte à restituer une image 3D de la scène virtuelle SV adaptée au point de vue de l'utilisateur. Il comprend aussi un module d'émission/ réception de données via une communication sans fil. De cette manière, il est apte à recevoir des informations relatives à la scène virtuelle, par exemple relatives à la position d'objets de cette scène, en provenance du module de génération 40;This headset comprises at least one screen equipped with a lens system which is placed before the eyes of the user and on which it is capable of reproducing a 3D image of the virtual scene SV adapted from the point of view of the user. It also includes a module for transmitting / receiving data via wireless communication. In this way, it is able to receive information relating to the virtual scene, for example relating to the position of objects of this scene, coming from the generation module 40;

Au moins une manette 60i destinée à être tenue en main par le premier utilisateur Ui et par l'intermédiaire de laquelle il est apte à interagir avec la scène virtuelle, qu'il visualise sur un dispositif d'affichage intégré à son visiocasque 50i ;At least one joystick 60i intended to be held in hand by the first user Ui and by means of which it is able to interact with the virtual scene, which it visualizes on a display device integrated into its head-mounted display 50i;

Un système de suivi 70a, 70b apte à suivre une position et une orientation d'au moins un point clé de l'espace réel 20, tel que par exemple un point PCi du visiocasque 50i, un point de la manette 60i ou encore un point PCo de la caméra stéréo 30. Ce système peut s'appuyer par exemple sur des boules réfléchissantes fixées au niveau des points clés, ces boules étant repérables à l'aide d'une technologie infra-rouge, ou encore sur des capteurs inertiels et magnétiques. Il comprend en outre un module d'émission/réception, par exemple basé sur une technologie de communication sans fil, apte à transmettre les informations de suivi positionnel et orientationnel à un dispositif 100 de composition d'image selon l'invention ;A tracking system 70a, 70b capable of tracking a position and an orientation of at least one key point of the real space 20, such as for example a point PCi of the head-mounted display 50i, a point of the controller 60i or even a point PCo of the stereo camera 30. This system can be based for example on reflective balls fixed at the key points, these balls being locatable using infrared technology, or on inertial and magnetic sensors . It further comprises a transmission / reception module, for example based on wireless communication technology, capable of transmitting positional and orientational tracking information to an image composition device 100 according to the invention;

Un équipement terminal ET, dans lequel est intégré le dispositif 100 ;ET terminal equipment, in which the device 100 is integrated;

Un dispositif d'affichage apte à restituer une image de sortie qui insère l'utilisateur segmenté dans la scène virtuelle SV. Par exemple, comme illustré par la Figure 1, il s'agit de celui de l'équipement terminal ET ;A display device capable of reproducing an output image which inserts the segmented user into the virtual scene SV. For example, as illustrated in Figure 1, this is that of the AND terminal equipment;

Un référentiel R dit « référentiel monde » de l'espace réel qui coïncide avec celui de la scène virtuelle 3D. On fait en effet correspondre un référentiel virtuel de la scène virtuelle SV à l'échelle 1 avec ce référentiel monde.A frame of reference R known as “world frame of reference” of real space which coincides with that of the 3D virtual scene. We indeed make correspond a virtual reference frame of the virtual scene SV on the scale 1 with this world reference frame.

Dans cet exemple, la caméra stéréo 30 est placée à l'extérieur de l'espace réel 20 dans lequel le premier utilisateur Ui se déplace. Elle dispose ainsi d'un point de vue extérieur sur l'utilisateur Ui qui évolue dans l'espace réel, ce qui va permettre de reconstruire une image de l'utilisateur Ui intégré à la scène virtuelle. Dans ce cas de figure, pour assurer un bon recalage entre scène virtuelle et espace réel, il est nécessaire de réaliser une calibration préalable de la caméra réelle selon le modèle Sténopé (pour « pinhole », en anglais). Ceci permet d'initialiser un modèle de projection d'une caméra virtuelle qui sera utilisée dans la suite de la description pour construire l'image de sortie. Une application possible est de montrer à un public extérieur ce que voit l'utilisateur Ui immergé dans la scène virtuelle SV.In this example, the stereo camera 30 is placed outside the real space 20 in which the first user Ui moves. It thus has an external point of view on the user Ui which evolves in real space, which will make it possible to reconstruct an image of the user Ui integrated into the virtual scene. In this case, to ensure a good registration between virtual scene and real space, it is necessary to perform a prior calibration of the real camera according to the Pinhole model (for “pinhole”, in English). This allows to initialize a projection model of a virtual camera which will be used in the following description to build the output image. One possible application is to show an outside audience what the user Ui sees immersed in the virtual scene SV.

En relation avec la Figure 2, on présente un deuxième exemple de système de réalité virtuelle selon l'invention. Il s'agit d'une plateforme 10' similaire à la plateforme 10, à l'exception du fait qu'elle comprend une caméra stéréo 302 qui est placée sur le casque de réalité virtuelle 502 d'un deuxième utilisateur U2 selon la direction de son regard. Ce deuxième utilisateur U2 est situé à l'intérieur de l'espace réel 20 similaire à celui du système 10. La caméra 302 est agencée de telle sorte que le premier utilisateur Ui soit placé à l'intérieur de son champ de vision. De cette manière, il est possible de reconstruire, depuis le point de vue du deuxième utilisateur U2, une image du premier utilisateur Ui immergé dans la scène virtuelle SV. Dans ce deuxième exemple, le module de génération de la scène virtuelle 402 est avantageusement placé dans le visiocasque 502 du deuxième utilisateur U2. De façon alternative, il peut être placé dans l'équipement ET. Dans ce cas, les informations de description de la scène virtuelle et leurs mises à jour sont transmises au visiocasque 502 par une connexion sans fil. En ce qui concerne le dispositif de composition 100 selon l'invention, il peut être lui aussi intégré au visiocasque 502.In connection with FIG. 2, a second example of a virtual reality system according to the invention is presented. It is a platform 10 ′ similar to platform 10, except that it includes a stereo camera 302 which is placed on the virtual reality headset 502 of a second user U2 according to the direction of her stare. This second user U2 is located inside the real space 20 similar to that of the system 10. The camera 302 is arranged so that the first user Ui is placed within his field of vision. In this way, it is possible to reconstruct, from the point of view of the second user U2, an image of the first user Ui immersed in the virtual scene SV. In this second example, the module for generating the virtual scene 402 is advantageously placed in the head-mounted display 502 of the second user U2. Alternatively, it can be placed in the ET equipment. In this case, the description information of the virtual scene and their updates are transmitted to the head-mounted display 502 by a wireless connection. As regards the composition device 100 according to the invention, it can also be integrated into the head-mounted display 502.

Dans les deux modes de réalisation, la caméra 30, 302 est avantageusement une caméra stéréo, telle qu'illustrée par les Figures 3A (vue de face) et 3B (vue de profil). Une telle caméra stéréo 30, 302 comprend en réalité deux caméras Ci, C2 agencées l'une par rapport à l'autre de sorte à produire, comme le ferait le système visuel humain, deux images d'une même scène, selon deux points de vue légèrement décalés et permettant la reconstruction d'une représentation 3D de la scène. La distance d entre les caméras Ci, C2 est connue. Elle est éventuellement réglable de sorte à mieux correspondre aux caractéristiques du système visuel de l'utilisateur. Ceci est particulièrement avantageux dans le cas du visiocasque, qui comprend un écran pour chaque œil de l'utilisateur et restitue sur chacun d'eux une image différente.In both embodiments, the camera 30, 302 is advantageously a stereo camera, as illustrated in FIGS. 3A (front view) and 3B (side view). Such a stereo camera 30, 302 actually comprises two cameras Ci, C2 arranged in relation to each other so as to produce, as the human visual system would do, two images of the same scene, according to two points of view slightly offset and allowing the reconstruction of a 3D representation of the scene. The distance d between the cameras Ci, C2 is known. It is possibly adjustable so as to better correspond to the characteristics of the user's visual system. This is particularly advantageous in the case of the head-mounted display, which includes a screen for each eye of the user and reproduces on each of them a different image.

Dans la suite, par simplicité, on considérera l'acquisition d'une seule image ou d'une seule séquence d'images par la caméra 30, 302. Bien sûr, s'il s'agit d'une caméra stéréo les traitements décrits seront appliqués à chacune des images ou séquences d'images acquises par les caméras Cl, C2 et deux images de sortie seront composées, une pour l'œil gauche et une pour l'œil droit de l'utilisateur U2 ou dans le premier exemple (Figure 1) d'une personne du public. Dans le cas d'une composition pour un visiocasque, ces deux images sont déformées de manière à prendre en compte les paramètres optiques du casque et assurer un bon recalage entre espace réel et scène virtuelle à l'écran.In the following, for simplicity, we will consider the acquisition of a single image or of a single sequence of images by the camera 30, 302. Of course, if it is a stereo camera, the treatments described will be applied to each of the images or sequences of images acquired by the cameras C1, C2 and two output images will be composed, one for the left eye and one for the right eye of the user U2 or in the first example ( Figure 1) of a member of the public. In the case of a composition for a head-mounted display, these two images are distorted so as to take into account the optical parameters of the headphones and ensure good registration between real space and virtual scene on the screen.

En relation avec la Figure 4, on décrit maintenant les étapes d'un procédé de composition selon un mode de réalisation de l'invention.In relation to FIG. 4, the steps of a composition process according to an embodiment of the invention are now described.

Au cours d'une étape Ei, on obtient une image d'intensités de couleurs, dite image d'entrée IE, acquise à l'aide d'au moins une caméra 30, 302. Dans la suite on considère une seule image IE. Bien sûr, si on dispose d'une caméra stéréo, deux images sont obtenues et on applique les étapes du procédé à chacune d'elles.During a step Ei, an image of color intensities is obtained, called the input image IE, acquired using at least one camera 30, 302. In the following, we consider a single image IE. Of course, if you have a stereo camera, two images are obtained and the process steps are applied to each of them.

On suppose en outre qu'au moins le premier utilisateur Ui est placé dans le champ de cette caméra. L'image acquise comprend donc, au moins en partie, le premier utilisateur Ui. Bien sûr, elle peut aussi comprendre plusieurs utilisateurs. Par exemple s'il s'agit d'une caméra 30 située à l'extérieur de l'environnement réel 20, comme illustré par la Figure 1, elle peut montrer tous les utilisateurs présents dans la pièce 20.It is further assumed that at least the first user Ui is placed in the field of this camera. The acquired image therefore comprises, at least in part, the first user Ui. Of course, it can also include multiple users. For example, if it is a camera 30 located outside of the real environment 20, as illustrated in FIG. 1, it can show all the users present in the room 20.

Dans la suite, on suppose par simplicité que seul l'utilisateur Ui est visible sur l'image d'entrée IE. Bien sûr, l'invention ne se limite pas à cet exemple, mais concerne aussi le cas où plusieurs utilisateurs évoluent dans l'espace réel 20 et sont simultanément visibles sur une image acquise par la caméra 30, 3Û2.In the following, it is assumed for simplicity that only the user Ui is visible on the input image IE. Of course, the invention is not limited to this example, but also relates to the case where several users operate in real space 20 and are simultaneously visible on an image acquired by the camera 30, 30.

Au cours d'une étape E2, illustrée par la Figure 5, on réalise une segmentation d'un contour de la silhouette de l'utilisateur Ui sur l'image d'entrée IE. On utilise pour ce faire une technique de segmentation connue en soi, telle que par exemple la technique dite de segmentation sur fond monochromatique (pour « chroma-key segmentation », en anglais).During a step E2, illustrated in FIG. 5, a contour of the silhouette of the user Ui is produced on the input image IE. To do this, a segmentation technique known per se is used, such as for example the technique known as segmentation on a monochromatic background (for “chroma-key segmentation”, in English).

Une version simple de la technique dite du « chroma-key » peut être décrite comme suit :A simple version of the so-called “chroma-key” technique can be described as follows:

Pour chaque pixel de l'image couleur on évalue une distance entre l'intensité de couleur de référence, qui correspond à celle des parois de la pièce 20, et l'intensité de couleur du pixel. Cette distance peut être mesurée dans différents espaces de couleurs parmi lesquels on trouve les espaces RGB, YUV, YCbCr.For each pixel of the color image, a distance is evaluated between the reference color intensity, which corresponds to that of the walls of the room 20, and the color intensity of the pixel. This distance can be measured in different color spaces, including RGB, YUV, YCbCr spaces.

Si, pour le pixel courant, la distance mesurée est supérieure à un seuil déterminé, on décide qu'il ne s'agit pas d'un pixel de fond :If, for the current pixel, the measured distance is greater than a determined threshold, it is decided that it is not a background pixel:

Une première valeur, par exemple égale à 1, est inscrite à la position de ce pixel dans une image masque IM, illustrée par la Figure 6, de dimensions égales à celles de l'image d'entrée IE ;A first value, for example equal to 1, is written at the position of this pixel in a mask image IM, illustrated by FIG. 6, of dimensions equal to those of the input image IE;

La valeur d'intensité de couleur du pixel est inscrite dans une image de couleurs tampon IC (pour « buffer color image », en anglais).The color intensity value of the pixel is written in a buffer color image IC (for “buffer color image”, in English).

Si, au contraire, la distance mesure est inférieure ou égale au seuil déterminé, on décide qu'il s'agit d'un pixel de fond :If, on the contrary, the distance measured is less than or equal to the determined threshold, it is decided that it is a background pixel:

Une deuxième valeur, par exemple égale à 0, est inscrite en ce pixel dans l'image masque IM ;A second value, for example equal to 0, is written in this pixel in the mask image IM;

Avantageusement, on suppose que l'image masque IM et l'image de couleurs tampon IC ont été initialisées avec des valeurs nulles. De cette manière, on ne vient écrire qu'aux positions des pixels qui n'appartiennent pas au fond, mais font partie de la silhouette du premier utilisateur Ui.Advantageously, it is assumed that the mask image IM and the buffer color image IC have been initialized with zero values. In this way, we only write to the positions of the pixels which do not belong to the background, but form part of the silhouette of the first user Ui.

En variante, lorsque l'espace réel n'est pas une pièce dont les parois sont de couleur monochromatique uniforme, on peut segmenter le contour de la silhouette de l'utilisateur Ui d'un fond plus complexe, à l'aide par exemple, d'une technique de reconnaissance de motifs, basée sur une classification et un apprentissage préalable, telle que décrite par exemple dans le document de Nakajima et al., intitulée « Full-body person récognition System », publiée dans la revue « Journal of the Pattern Récognition Society », en 2003, par Elsevier. A l'issue de cette étape E2, on dispose donc de: - l'image tampon couleur IC d'une caméra virtuelle colocalisée avec la caméra 30, 302 où seuls les utilisateurs apparaissent et où tous les pixels du fond ont été supprimés ; - l'image masque IM dont les pixels « allumés », c'est-à-dire de valeur 1, correspondent à la silhouette de l'utilisateur Ui. On notera que, selon un mode de réalisation particulier, les informations contenues dans cette image masque correspondent aux informations généralement stockées dans une mémoire tampon SB, (pour « stencil buffer », en anglais) et classiquement utilisée par une interface graphique dite API (pour « Application Program Interface », en anglais). Cette image masque permet de délimiter des zones de rendu dans l'image tampon couleur IC et déterminer automatiquement, et de manière très rapide, les pixels dont les intensités de couleur sont à écrire dans une mémoire tampon de rendu couleur ITC d'une image de sortie IS.As a variant, when the real space is not a room whose walls are of uniform monochromatic color, it is possible to segment the outline of the silhouette of the user Ui from a more complex background, using for example, a pattern recognition technique, based on classification and prior learning, as described for example in the document by Nakajima et al., entitled "Full-body person recognition system", published in the journal "Journal of the Pattern Récognition Society ”, in 2003, by Elsevier. At the end of this step E2, we therefore have: - the color buffer image IC of a virtual camera collocated with the camera 30, 302 where only the users appear and where all the background pixels have been deleted; the mask image IM whose “lit” pixels, that is to say of value 1, correspond to the silhouette of the user Ui. It will be noted that, according to a particular embodiment, the information contained in this mask image corresponds to the information generally stored in a buffer memory SB, (for “stencil buffer”, in English) and conventionally used by a graphical interface called API (for "Application Program Interface". This mask image makes it possible to delimit rendering areas in the color buffer image IC and to determine automatically, and very quickly, the pixels whose color intensities are to be written in a color rendering buffer ITC of an image of IS output.

Au cours d'une étape E3 illustrée par la Figure 7, on obtient des informations de position et d'orientation d'au moins un point clé de l'utilisateur Ui et d'au moins un point clé PCo de la caméra 30, 302 dans le référentiel monde. Ces informations de position et d'orientation sont avantageusement délivrées par le système de suivi 70. Par exemple, on considère un premier point clé PCi placé sur le visiocasque 50i de l'utilisateur Ui, un deuxième point clé PC2 placé sur la manette 60i. Bien sûr, on peut utiliser des points clés supplémentaires, par exemple un point clé placé sur une deuxième manette 602 tenue par l'autre main de l'utilisateur Ui ou encore des points clés PC3, PC4 placés sur des dispositifs fixés à ses chevilles.During a step E3 illustrated in FIG. 7, position and orientation information is obtained from at least one key point of the user Ui and from at least one key point PCo of the camera 30, 302 in the world repository. This position and orientation information is advantageously delivered by the monitoring system 70. For example, we consider a first key point PCi placed on the head-mounted display 50i of the user Ui, a second key point PC2 placed on the controller 60i. Of course, additional key points can be used, for example a key point placed on a second controller 602 held by the other hand of the user Ui or else key points PC3, PC4 placed on devices fixed to his ankles.

En E4, on calcule un volume VE englobant l'utilisateur Ui à partir du ou des points clés obtenus et d'un modèle géométrique et mécanique prédéterminé. Il s'agit donc avec ce volume d'approximer la morphologie de l'utilisateur et de le positionner dans le référentiel monde R.In E4, a volume VE including the user Ui is calculated from the key point or points obtained and from a predetermined geometric and mechanical model. It is therefore with this volume to approximate the morphology of the user and to position him in the world R repository.

Plusieurs modes de réalisation sont envisagés :Several embodiments are envisaged:

Selon une première approche de l'invention, illustrée par les Figures 8A et 8B, le volume VE calculé prend la forme d'un parallélépipède ou boîte.According to a first approach of the invention, illustrated by Figures 8A and 8B, the calculated volume VE takes the form of a parallelepiped or box.

Si un seul point clé PCi a été obtenu, la boîte est positionnée et orientée en fonction de la position et de l'orientation de ce point clé. Les dimensions (hauteur, largeur et profondeur) de la boîte sont choisies suffisamment grandes pour garantir que la silhouette de l'utilisateur reste contenue dans la boîte quand il écarte ou lève les bras. Le point le plus bas de la boîte est situé au niveau du sol (coordonnée z minimale nulle dans le référentiel monde).If only one key point PCi has been obtained, the box is positioned and oriented according to the position and the orientation of this key point. The dimensions (height, width and depth) of the box are chosen large enough to guarantee that the silhouette of the user remains contained in the box when he spreads or raises his arms. The lowest point of the box is located at ground level (minimum zero z coordinate in the world repository).

En relation avec la Figure 7, si trois points clés PCi, PC2 et PC3 sont connus, on calcule les dimensions d'une boite à partir des trois points clés. A l'aide de règles heuristiques prédéterminées, qui contribuent à définir le modèle, on détermine une profondeur et une largeur minimales de la boîte (au cas où les points clés seraient parfaitement alignés). A titre d'exemple, on détaille maintenant le calcul d'un rectangle CR englobant les trois points clés PCi, PC2, PC3 dans le plan horizontal (y fixé) : o Ce rectangle CR est centré et orienté selon le point clé PCi de la tête ; o Comme illustré par la figure 8C, on dérive les positions (x', z') des deux autres points clés PC2, PC3 dans un repère (Ο',χ',ζ') centré en PCi et on calcule les bornes du rectangle CR et les positions de ses 4 sommets Tr, Tl , Br et Bl de la façon suivante : vmax.x' = Max(PC2.x', PC3.X', Ow) vmax.z' = Max(PC2.z', PC3.Z', Od) vmin.x' = Min(PC2.x', PC3.X', -Ow) vmin.z' = Max(PC2.z', PC3.Z', -Od) où Ow et Od désignent respectivement une largeur et une profondeur minimales d'épaules d'un utilisateur et vmin, vmax deux vecteurs représentant respectivement une distance minimale et une distance maximale entre les bornes du rectangle et le point clé PCi.In relation to Figure 7, if three key points PCi, PC2 and PC3 are known, the dimensions of a box are calculated from the three key points. Using predetermined heuristic rules, which help define the model, we determine a minimum depth and width of the box (in case the key points are perfectly aligned). As an example, we now detail the calculation of a rectangle CR encompassing the three key points PCi, PC2, PC3 in the horizontal plane (fixed there): o This rectangle CR is centered and oriented according to the key point PCi of the head; o As illustrated by Figure 8C, we derive the positions (x ', z') of the other two key points PC2, PC3 in a frame (Ο ', χ', ζ ') centered in PCi and we calculate the bounds of the rectangle CR and the positions of its 4 vertices Tr, Tl, Br and Bl as follows: vmax.x '= Max (PC2.x', PC3.X ', Ow) vmax.z' = Max (PC2.z ' , PC3.Z ', Od) vmin.x' = Min (PC2.x ', PC3.X', -Ow) vmin.z '= Max (PC2.z', PC3.Z ', -Od) where Ow and Od respectively denote a minimum width and depth of a user's shoulders and vmin, vmax two vectors representing respectively a minimum distance and a maximum distance between the bounds of the rectangle and the key point PCi.

On obtient ainsi dans le référentiel monde R:We thus obtain in the world reference frame R:

Tr.x = PCi.x-i- vmax.x'Tr.x = PCi.x-i- vmax.x '

Tr.z = PCi.z+ vmax.z'Tr.z = PCi.z + vmax.z '

Tl.x = PCi.x +vmin.x'Tl.x = PCi.x + vmin.x '

Tl.z = PCi.z +vmax.z'Tl.z = PCi.z + vmax.z '

Br.x = PCi.x + vmax.x'Br.x = PCi.x + vmax.x '

Br.z = PCi.z + vmin.z'Br.z = PCi.z + vmin.z '

Bl.x = PCi.x + vmin.x1Bl.x = PCi.x + vmin.x1

Bl.z =PCl.x +vmin.z'Bl.z = PCl.x + vmin.z '

Comme illustré par la figure 8D, on construit ensuite une boite reliant deux instances de ce rectangle (sur l'axe vertical) :As illustrated in Figure 8D, we then build a box connecting two instances of this rectangle (on the vertical axis):

Le rectangle de la base prend le niveau du sol comme valeur y=0The base rectangle takes the ground level as value y = 0

Celui du sommet prend une valeur en y telle que (avec PCi le point clé de la tête): y = Max(PCi.y + OH, PC2.y , PC3.y) OH est une valeur prédéterminée qui fait référence à l'écart sur l'axe vertical entre le point clé PCi de la tête et le crâne de l'utilisateur. Elle est peut être choisie suffisamment large pour convenir à tous les utilisateurs.That of the top takes a value in y such that (with PCi the key point of the head): y = Max (PCi.y + OH, PC2.y, PC3.y) OH is a predetermined value which refers to the deviation on the vertical axis between the key point PCi of the head and the skull of the user. It can be chosen wide enough to suit all users.

Si 5 points clés PCi à PC5 sont connus (têtes, mains et pieds), on étend le calcul précédent en prenant en compte les deux points PC4, PC5 supplémentaires.If 5 key points PCi to PC5 are known (heads, hands and feet), the preceding calculation is extended by taking into account the two additional points PC4, PC5.

Selon une seconde approche_de l'invention, le modèle de volume englobant utilisé est un ensemble de cylindres articulés, comme illustré par les Figures 9A et 9B. L'articulation des cylindres est soumise à des règles prédéterminées, destinées à respecter celles d'un corps humain. Ce modèle, plus élaboré permet de restituer plus précisément la morphologie de l'utilisateur.According to a second approach to the invention, the encompassing volume model used is a set of articulated cylinders, as illustrated in Figures 9A and 9B. The articulation of the cylinders is subject to predetermined rules, intended to respect those of a human body. This more elaborate model allows to reproduce more precisely the morphology of the user.

Si trois points clés PCi, PC2, PC3 sont connus au niveau de la tête et des mains, on utilise un premier cylindre CYi pour représenter le tronc et les jambes de l'utilisateur. Ce cylindre débute au sol et finit un peu plus haut que la position connue du point clé PCi de la tête. Ensuite deux cylindres CY2, CY3 sont utilisés pour modéliser chacun des bras afin de faire les liens épaule-coude, coude-mains. La position des épaules et des coudes sont calculées à l'aide d'une technique connue de l'art antérieur, par exemple le document de Badler et al., intitulé « Real-Time Inverse Kinematics of the Human Arm », publié par l'Université de Pennsylvanie, http://repository.upenn.edu/hms/73. en 1996, qui décrit un algorithme de cinématique inverse apte à prendre en compte les contraintes mécaniques des articulations du bras d'un être humain. Si 5 points clés PCi à PC5 sont connus au niveau de la tête, des mains et des pieds, on sépare les jambes de la partie tronc en modélisant chaque jambe à l'aide de deux cylindres CY4, CY5. De la même façon, les articulations entre ces deux cylindres au niveau du bassin, du genou et du pied, sont calculés par la technique de cinématique inverse précédemment citée. A l'issue de cette étape E4, on dispose d'un volume VE englobant l'utilisateur Ui, dont la position est connue dans le référentiel monde R.If three key points PCi, PC2, PC3 are known at the level of the head and the hands, a first cylinder CYi is used to represent the trunk and the legs of the user. This cylinder starts on the ground and ends a little higher than the known position of the key point PCi of the head. Then two cylinders CY2, CY3 are used to model each of the arms in order to make the shoulder-elbow, elbow-hand links. The position of the shoulders and elbows are calculated using a technique known from the prior art, for example the document by Badler et al., Entitled "Real-Time Inverse Kinematics of the Human Arm", published by l 'University of Pennsylvania, http://repository.upenn.edu/hms/73. in 1996, which describes an inverse kinematics algorithm capable of taking into account the mechanical stresses of the joints of the arm of a human being. If 5 key points PCi to PC5 are known at the level of the head, hands and feet, the legs are separated from the trunk part by modeling each leg using two cylinders CY4, CY5. In the same way, the articulations between these two cylinders at the level of the pelvis, the knee and the foot, are calculated by the reverse kinematic technique previously mentioned. At the end of this step E4, there is a volume VE including the user Ui, whose position is known in the world reference system R.

Au cours d'une étape E5, on exploite les informations de suivi fournies par le système 70a, 70b pour positionner le point clé PCo de la caméra réelle 30, 302 dans le référentiel monde. On suppose par exemple que le point clé PCo est positionné sur le dessus de la caméra 30 , 302 et qu'on connaît la position de ce point clé par rapport à la caméra. Sur les figures 3A et 3B, on a représenté le point clé PCo placé à une hauteur h au-dessus des deux caméras Ci et C2, à une distance d /2 de chacune d'elles. On comprend qu'on peut ainsi déduire facilement de la connaissance des coordonnées du point clé PCO celles de chacune des caméras dans le référentiel monde.During a step E5, the tracking information provided by the system 70a, 70b is used to position the key point PCo of the real camera 30, 302 in the world repository. It is assumed for example that the key point PCo is positioned on the top of the camera 30, 302 and that the position of this key point relative to the camera is known. In FIGS. 3A and 3B, the key point PCo has been shown placed at a height h above the two cameras Ci and C2, at a distance d / 2 from each of them. We understand that we can easily deduce from the knowledge of the coordinates of the PCO key point those of each of the cameras in the world reference system.

En relation avec la Figure 10, on place alors une caméra virtuelle Cv à la position obtenue du point clé PCo et on l'oriente conformément à la caméra réelle 30, 302. On considère en outre un référentiel Rc de cette caméra virtuelle. On projette ensuite en E6 le volume VE englobant l'utilisateur Ui précédemment construit dans le référentiel Rc de la caméra virtuelle Cv à l'aide de paramètres extrinsèques de la caméra Cv, correspondant à sa pose (rotation, translation) dans le référentiel monde R, puis, selon un modèle de projection perspective de la caméra virtuelle et une pyramide de vue PV (pour « frustum », en anglais) de cette caméra, dans un référentiel RI d'un plan image PI de cette caméra. Sur la figure 10, le plan PI est situé au niveau du plan le plus proche PP de la pyramide de vue. On comprend qu'à ce stade on ne conserve que les points du volume qui sont inclus dans cette pyramide et qu'on stocke en mémoire une profondeur de chacun de ces points, cette profondeur étant liée à une distance entre la caméra et le point du volume VE avant projection.In relation to FIG. 10, a virtual camera Cv is then placed at the position obtained from the key point PCo and it is oriented in accordance with the real camera 30, 302. We also consider a reference frame Rc of this virtual camera. We then project in E6 the volume VE encompassing the user Ui previously constructed in the repository Rc of the virtual camera Cv using extrinsic parameters of the camera Cv, corresponding to its placement (rotation, translation) in the world repository R , then, according to a perspective projection model of the virtual camera and a PV view pyramid (for “frustum”, in English) of this camera, in an RI repository of a PI image plane of this camera. In FIG. 10, the plane PI is located at the level of the closest plane PP of the view pyramid. We understand that at this stage we only keep the points of the volume which are included in this pyramid and that we store in memory a depth of each of these points, this depth being linked to a distance between the camera and the point of the VE volume before projection.

On construit ensuite en E? une image carte de profondeur CP en écrivant à la position de chaque point projeté dans le plan PI sa profondeur associée.We then build in E? a depth map image CP by writing at the position of each point projected in the plane PI its associated depth.

Deux cas sont possibles :Two cases are possible:

Dans l'image d'entrée IE, ce point est situé à l'intérieur du contour segmenté de l'utilisateur Ui, c'est-à-dire qu'il correspond à une valeur 1 dans l'image masque IM. Dans ce cas, on écrit la profondeur calculée pour le point du volume dans la carte de profondeur CP; ouIn the IE input image, this point is located inside the segmented contour of the user Ui, that is to say that it corresponds to a value 1 in the mask image IM. In this case, the depth calculated for the volume point is written to the depth map CP; or

Au contraire, ce point est à l'extérieur du contour segmenté de l'utilisateur Ui, c'est-à-dire qu'il correspond à une valeur 0 dans l'image masque IM. Dans ce deuxième cas, on n'écrit rien dans la carte de profondeur CP. On suppose donc que cette image est initialisée à zéro.On the contrary, this point is outside the segmented contour of the user Ui, that is to say that it corresponds to a value 0 in the mask image IM. In this second case, nothing is written in the depth map CP. It is therefore assumed that this image is initialized to zero.

En E8, on obtient des informations de description de la scène virtuelle SV, par exemple un ensemble de maillage et de texture des objets 3D constituant cette scène. Par exemple une facette d'un maillage d'un objet est décrite par les coordonnées de ses sommets dans un référentiel de cet objet et une coordonnée de texture par sommet, c'est-à-dire une position dans une image de texture.In E8, we obtain information describing the virtual scene SV, for example a set of mesh and texture of the 3D objects constituting this scene. For example, a facet of a mesh of an object is described by the coordinates of its vertices in a frame of reference for this object and a texture coordinate by vertex, that is to say a position in a texture image.

Au cours d'une étape Eg, on projette les objets de la scène virtuelle dans le plan image PI de la caméra virtuelle, en deux étapes, de façon similaire à celle déjà décrite pour le volume englobant l'utilisateur. On projette d'abord les objets virtuels dans le référentiel Rc de la caméra virtuelle à l'aide de la pose de la caméra 30, 302, puis on utilise le modèle de projection perspective de la caméra virtuelle pour projeter les facettes du maillage dans le référentiel RI du plan image, selon la pyramide de vue de la caméra. Il s'agit d'une opération de « rastérisation ».During a step Eg, the objects of the virtual scene are projected into the image plane PI of the virtual camera, in two steps, similar to that already described for the volume including the user. First we project the virtual objects into the reference frame Rc of the virtual camera using the pose of the camera 30, 302, then we use the perspective projection model of the virtual camera to project the facets of the mesh in the RI repository of the image plane, according to the camera view pyramid. It is a "rasterization" operation.

On calcule aune information de profondeur pour chaque point d'une facette projetée à l'écran. Cette profondeur est fonction d'une distance de la facette à la caméra.We calculate a depth information for each point of a facet projected on the screen. This depth is a function of a distance from the facet to the camera.

La couleur des points ainsi projetés à l'écran est ensuite déterminée via différents calculs d'éclairages et d'ombrage, connus de l'homme de métier.The color of the dots thus projected on the screen is then determined via various lighting and shading calculations, known to those skilled in the art.

En Eio, on compose une image de sortie IS à partir de la scène virtuelle projetée dans le référentiel de l'écran et l'image de l'utilisateur segmenté. Pour chaque point de la scène virtuelle ainsi projeté, on compare sa profondeur à celle inscrite au même point dans la carte de profondeur CP précédemment construite. Si sa profondeur est supérieure à celle de la carte de profondeur, ce point de la scène virtuelle est placé derrière l'utilisateur Ui et ne l'occulte pas ; on ne modifie donc pas l'image tampon couleur IC. Si au contraire, sa profondeur est inférieure à celle de l'image masque de profondeur IM, ce point de la scène virtuelle est placé devant l'utilisateur Ui et l'occulte. Par conséquent, on écrit son intensité de couleur à la place de celle de l'image d'entrée dans l'image tampon couleur IC.In Eio, an IS output image is composed from the virtual scene projected in the screen repository and the image of the segmented user. For each point of the virtual scene thus projected, its depth is compared to that recorded at the same point in the depth map CP previously constructed. If its depth is greater than that of the depth map, this point of the virtual scene is placed behind the user Ui and does not obscure it; therefore, the color buffer image IC is not modified. If on the contrary, its depth is less than that of the mask image of depth IM, this point of the virtual scene is placed in front of the user Ui and the occult. Consequently, its color intensity is written in place of that of the input image in the color buffer image IC.

Par exemple, on utilise un algorithme du test de profondeur (pour « depth test », en anglais), décrit dans le document de Catmull, intitulé « A subdivision algorithm for computer display of curved surfaces », publié par l'Université d'Utah en 1974, pages 31 à 34 et disponible à l'adresse suivante httBS.://staticJ1AÎsfls^cMxgm/static/f/552576Z6419248Z12705ŒZLZ3137Zcatmull thesis.pdf.For example, we use a depth test algorithm (for "depth test" in English), described in the document by Catmull, entitled "A subdivision algorithm for computer display of curved surfaces", published by the University of Utah in 1974, pages 31 to 34 and available at the following address httBS.://staticJ1AÎsfls^cMxgm/static/f/552576Z6419248Z12705ŒZLZ3137Zcatmull thesis.pdf.

Avec l'invention, les occultations entre l'utilisateur et la scène virtuelle sont donc gérées très facilement à l'aide de la carte de profondeur CP.With the invention, the occultations between the user and the virtual scene are therefore very easily managed using the depth map CP.

On obtient ainsi une image de sortie IS, qui peut être restituée sur un dispositif d'affichage. Dans le premier mode de réalisation, le dispositif d'affichage peut être un moniteur placé à l'extérieur de pièce 20 ou l'écran d'un équipement terminal ET, comme précédemment décrit en relation avec la figure 1. L'image de sortie IS affichée montre ainsi l'utilisateur Ui immergé dans la scène virtuelle SV depuis le point de vue de la caméra 30.An IS output image is thus obtained, which can be reproduced on a display device. In the first embodiment, the display device can be a monitor placed outside of room 20 or the screen of a terminal equipment AND, as previously described in relation to FIG. 1. The output image IS displayed thus shows the user Ui immersed in the virtual scene SV from the point of view of the camera 30.

Selon le deuxième mode de réalisation de l'invention, la caméra 3Ü2 est celle du visiocasque 5Ο2 d'un deuxième utilisateur U2. Le dispositif de restitution est donc l'écran de son casque placé devant ses yeux et on lui affiche l'image de sortie présentant le premier utilisateur Ui immergé dans la scène virtuelle SV, le point de vue de la caméra 3Ü2 coïncidant avec son propre point de vue.According to the second embodiment of the invention, the camera 3Ü2 is that of the head-mounted display 5Ο2 of a second user U2. The rendering device is therefore the screen of his helmet placed in front of his eyes and the output image is presented to him presenting the first user Ui immersed in the virtual scene SV, the point of view of the camera 3Ü2 coinciding with his own point. of view.

On notera que l'invention qui vient d'être décrite, peut être mise en œuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, les termes « module » et « entité », utilisés dans ce document, peuvent correspondre soit à un composant logiciel, soit à un composant matériel, soit encore à un ensemble de composants matériels et/ou logiciels, aptes à mettre en œuvre la ou les fonctions décrites pour le module ou l'entité concerné(e).It will be noted that the invention which has just been described, can be implemented by means of software and / or hardware components. In this perspective, the terms "module" and "entity", used in this document, can correspond either to a software component, or to a hardware component, or even to a set of hardware and / or software components, capable of implementing performs the function or functions described for the module or entity concerned.

En relation avec la figure 10, on présente maintenant un exemple de structure simplifiée d'un dispositif 100 de composition d'une image d'au moins un utilisateur immergé dans une scène virtuelle selon l'invention. Le dispositif 100 met en œuvre le procédé de composition selon l'invention qui vient d'être décrit.In relation to FIG. 10, an example of a simplified structure of a device 100 for composing an image of at least one user immersed in a virtual scene according to the invention is now presented. The device 100 implements the composition method according to the invention which has just been described.

Cette figure 10 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser l'algorithme détaillé ci-dessus. En effet, la technique de l'invention se réalise indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) configurée pour exécuter un programme comprenant une séquence d'instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel).This figure 10 illustrates only one particular way, among several possible, of carrying out the algorithm detailed above. Indeed, the technique of the invention is carried out indifferently on a reprogrammable computing machine (a PC computer, a DSP processor or a microcontroller) configured to execute a program comprising a sequence of instructions, or on a dedicated computing machine ( for example a set of logic gates such as an FPGA or an ASIC, or any other hardware module).

Dans le cas où l'invention est implantée sur une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d'instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une disquette, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur.In the case where the invention is implemented on a reprogrammable calculation machine, the corresponding program (that is to say the sequence of instructions) may be stored in a removable storage medium (such as for example a floppy disk, CD-ROM or DVD-ROM) or not, this storage medium being partially or completely readable by a computer or a processor.

Par exemple, le dispositif 100 comprend une unité de traitement 110, équipée d'un processeur pl, et pilotée par un programme d'ordinateur Pgl 120, stocké dans une mémoire 130 et mettant en œuvre le procédé de selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur Pgi 120 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 110. Le processeur de l'unité de traitement 110 met en œuvre les étapes du procédé décrit précédemment, selon les instructions du programme d'ordinateur 120.For example, the device 100 comprises a processing unit 110, equipped with a processor pl, and controlled by a computer program Pgl 120, stored in a memory 130 and implementing the method according to the invention. On initialization, the code instructions of the Pgi computer program 120 are for example loaded into a RAM memory before being executed by the processor of the processing unit 110. The processor of the processing unit 110 puts implementing the steps of the method described above, according to the instructions of the computer program 120.

Dans cet exemple de réalisation de l'invention, le dispositif 100 comprend une machine de calcul reprogrammable ou une machine de calcul dédiée, apte à et configurée pour :In this exemplary embodiment of the invention, the device 100 comprises a reprogrammable calculation machine or a dedicated calculation machine, capable of and configured for:

Obtenir une image d'intensité de couleurs d'au moins une caméra agencée de façon connue et de telle sorte que l'utilisateur soit placé dans son champ ;Obtain a color intensity image of at least one camera arranged in a known manner and so that the user is placed in his field;

Segmenter un contour de l'utilisateur dans l'image d'intensités de couleurs obtenue ;Segment a contour of the user in the image of intensities of colors obtained;

Obtenir une position et une orientation d'au moins un point clé de l'utilisateur dans un référentiel de l'espace réel ;Obtain a position and an orientation of at least one key point of the user in a repository of real space;

Construire un volume englobant l'utilisateur dans le référentiel de la scène à partir du au moins un point clé obtenu ;Build a volume encompassing the user in the scene repository from the at least one key point obtained;

Construire un masque de profondeur par projection du volume construit dans un référentiel d'un plan image de la caméra et écriture des profondeurs du volume projeté aux points situés à l'intérieur du contour segmenté ; etBuild a depth mask by projecting the volume built into a repository of an image plane of the camera and writing the depths of the volume projected at the points located inside the segmented contour; and

Composer l'image segmentée de l'utilisateur avec une projection de la scène virtuelle dans le référentiel du plan image de la caméra, à l'aide du masque de profondeur construit.Compose the segmented image of the user with a projection of the virtual scene in the repository of the camera image plane, using the built-in depth mask.

Le dispositif 100 comprend en outre une unité Mi 140 de stockage, telle qu'une mémoire, par exemple de type mémoire tampon apte à stocker par exemple la carte de profondeur CP construite et, avantageusement, l'image masque IM de l'utilisateur segmenté.The device 100 further comprises a Mi 140 storage unit, such as a memory, for example of the buffer memory type capable of storing for example the depth map CP constructed and, advantageously, the mask image IM of the segmented user .

Ces unités sont pilotées par le processeur μΐ de l'unité de traitement 110.These units are controlled by the processor μΐ of the processing unit 110.

De façon avantageuse, un tel dispositif 100 de composition peut être intégré à un équipement terminal ET. Dans ce cas, le dispositif d'affichage peut être celui de l'équipement terminal ET, lequel fait partie du système de réalité virtuelle 10, 10'.Advantageously, such a composition device 100 can be integrated into an AND terminal equipment. In this case, the display device can be that of the terminal equipment ET, which is part of the virtual reality system 10, 10 ′.

Le dispositif 100 est alors agencé pour coopérer au moins avec les modules suivants de l'équipement terminal ET : un module E/R d'émission/réception de données, par l'intermédiaire duquel il reçoit une image acquise par la caméra ou des informations de suivi en provenance du module 70a, 70b ou encore des informations de description de la scène virtuelle SV; et - le dispositif d'affichage DISP, configuré pour restituer une composition d'une image de sortie IS.The device 100 is then arranged to cooperate at least with the following modules of the terminal equipment AND: a data transmission / reception E / R module, by means of which it receives an image acquired by the camera or information tracking from the module 70a, 70b or even description information of the virtual scene SV; and - the display device DISP, configured to reproduce a composition of an output image IS.

De façon alternative, le dispositif d'affichage est par exemple un moniteur ou un téléviseur situé à l'extérieur de l'espace réel 20.Alternatively, the display device is for example a monitor or a television set located outside the real space 20.

Selon le deuxième mode de réalisation de l'invention, illustré par la Figure 2, l'équipement terminal ET est le visiocasque 5Û2 d'un deuxième utilisateur U2 situé dans l'espace réel 20. Le dispositif 100 est alors intégré au visiocasque 5Û2 et l'image de sortie affichée sur l'écran du visiocasque.According to the second embodiment of the invention, illustrated by FIG. 2, the terminal equipment ET is the head-mounted display 5Û2 of a second user U2 located in the real space 20. The device 100 is then integrated into the head-mounted display 5Û2 and the output image displayed on the head-mounted display.

Grâce à ses bonnes performances et à sa simplicité de mise en œuvre, l'invention qui vient d'être décrite permet plusieurs usages. Une première application est de donner à un utilisateur d'un système de réalité virtuelle, une perception de soi et d'éventuels autres utilisateurs présents dans le même espace réel.Thanks to its good performance and its simplicity of implementation, the invention which has just been described allows several uses. A first application is to give a user of a virtual reality system, a perception of themselves and of possible other users present in the same real space.

Une deuxième application envisagée est de mettre en place une « fenêtre » sur la scène virtuelle dans laquelle un ou plusieurs utilisateurs d'un système de réalité virtuels sont immergés, pour permettre à un public extérieur de « partager » en quelque sorte leur expérience immersive.A second application envisaged is to set up a “window” on the virtual scene in which one or more users of a virtual reality system are immersed, to allow an external audience to “share” their immersive experience in a way.

Il va de soi que les modes de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l'homme de l'art sans pour autant sortir du cadre de l'invention.It goes without saying that the embodiments which have been described above have been given for purely indicative and in no way limitative, and that numerous modifications can be easily made by those skilled in the art without departing from the scope. of the invention.

Claims (15)

REVENDICATIONS 1. Procédé de composition d'une image d'un utilisateur (Ui) immergé dans une scène virtuelle (SV), ledit utilisateur étant placé dans un espace réel (20), au moins une caméra (30, 302) étant agencée de façon connue et de telle sorte que l'utilisateur soit placé dans un champ de ladite caméra, le procédé comprenant les étapes suivantes : Segmentation (E2) d'un contour de l'utilisateur dans une image (IE) d'intensités de couleurs acquise par la caméra ; Obtention (E4) par suivi d'une position et d'une orientation d'au moins un point clé (PCi) de l'utilisateur dans un référentiel de l'espace réel, dit « référentiel monde » ; Construction (E5) d'un volume (VE) englobant l'utilisateur dans le référentiel monde à partir du au moins un point clé obtenu et d'un modèle prédéterminé ; Construction (E8) d'une carte de profondeur (CP) de l'utilisateur par projection perspective du volume dans un référentiel d'un plan image de la caméra et écriture de valeurs de profondeurs des points du volume projetés à l'intérieur du contour segmenté, une valeur de profondeur d'un point projeté étant fonction d'une distance entre un point correspondant du volume et la caméra dans le référentiel monde ; Composition (Eli) d'une image de sortie (IS) à partir de l'image segmentée de l'utilisateur et d'une projection perspective de la scène virtuelle dans le référentiel du plan image de la caméra à l'aide de la carte de profondeur construite.1. Method for composing an image of a user (Ui) immersed in a virtual scene (SV), said user being placed in a real space (20), at least one camera (30, 302) being arranged so known and such that the user is placed in a field of said camera, the method comprising the following steps: Segmentation (E2) of a contour of the user in an image (IE) of color intensities acquired by the camera ; Obtaining (E4) by monitoring a position and an orientation of at least one key point (PCi) of the user in a repository of real space, called "world repository"; Construction (E5) of a volume (VE) including the user in the world repository from at least one key point obtained and from a predetermined model; Construction (E8) of a depth map (CP) of the user by perspective projection of the volume in a frame of reference of an image plane of the camera and writing of depth values of the points of the volume projected inside the contour segmented, a depth value of a projected point being a function of a distance between a corresponding point in volume and the camera in the world reference frame; Composition (Eli) of an output image (IS) from the segmented image of the user and a perspective projection of the virtual scene in the repository of the image plane of the camera using the map of built depth. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape (E3) de construction d'une image masque (IM) de l'utilisateur (Ui) par écriture d'une première valeur pour un élément d'image situé sur ou à l'intérieur du contour et d'une deuxième valeur, distincte de la première, pour un élément d'image situé à l'extérieur du contour et en ce que la carte de profondeur (CP) est construite par écriture des valeurs de profondeurs du volume englobant projeté correspondant aux positions des éléments d'images associés à la première valeur dans l'image masque (IM).2. Method according to claim 1, characterized in that it comprises a step (E3) of construction of a mask image (IM) of the user (Ui) by writing a first value for an image element located on or inside the contour and with a second value, distinct from the first, for an image element located outside the contour and in that the depth map (CP) is constructed by writing the depth values of the projected encompassing volume corresponding to the positions of the image elements associated with the first value in the mask image (IM). 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que l'étape de composition comprend, pour un point de la scène virtuelle projeté dans le plan image, qui est colocalisé avec un point de l'image de l'utilisateur segmenté, une comparaison de leurs valeurs de profondeurs, l'intensité de l'image de sortie en ce point étant choisie égale à celle du point de la scène virtuelle projetée ou de l'image de l'utilisateur segmenté qui est associé à la valeur de profondeur la plus faible.3. Method according to one of claims 1 or 2, characterized in that the composition step comprises, for a point of the virtual scene projected in the image plane, which is collocated with a point of the image of the segmented user, a comparison of their depth values, the intensity of the output image at this point being chosen equal to that of the point of the projected virtual scene or of the image of the segmented user which is associated with the lowest depth value. 4. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'un deuxième point clé (PC2, PC3) est obtenu par suivi d'au moins une manette tenue en main par le premier utilisateur.4. Method according to one of the preceding claims, characterized in that a second key point (PC2, PC3) is obtained by monitoring at least one lever held in hand by the first user. 5. Procédé selon l'une des revendications précédentes, caractérisé en ce que le modèle de volume englobant l'utilisateur est une boîte en forme de parallélépipède rectangle localisée en fonction d'une position et d'une orientation du au moins un point clé.5. Method according to one of the preceding claims, characterized in that the volume model including the user is a box in the shape of a rectangular parallelepiped localized according to a position and an orientation of the at least one key point. 6. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que le modèle de volume englobant le premier utilisateur comprend une pluralité de cylindres emboîtés aptes à se déplacer les uns par rapport aux autres selon des contraintes mécaniques prédéterminées.6. Method according to one of claims 1 to 4, characterized in that the volume model including the first user comprises a plurality of nested cylinders capable of moving relative to each other according to predetermined mechanical stresses. 7. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'espace réel comprend un espace délimité par des parois de couleur monochromatique et en ce que l'étape de segmentation met en œuvre une technique dite de segmentation chroma-key.7. Method according to one of the preceding claims, characterized in that the real space comprises a space delimited by walls of monochromatic color and in that the segmentation step implements a technique known as chroma-key segmentation. 8. Procédé selon l'une des revendications précédentes, caractérisé en ce que la caméra (30) est placée à l'extérieur de l'espace réel.8. Method according to one of the preceding claims, characterized in that the camera (30) is placed outside the real space. 9. Procédé selon l'une des revendications précédentes, caractérisé en ce que la caméra (3Ο2) est placée sur un visiocasque virtuelle (5Ο2) d'un deuxième utilisateur (U2) situé dans l'espace réel (20).9. Method according to one of the preceding claims, characterized in that the camera (3Ο2) is placed on a virtual head-mounted display (5Ο2) of a second user (U2) located in real space (20). 10. Dispositif (100) de composition d'une image d'au moins un utilisateur immergé dans une scène virtuelle, ledit utilisateur étant placé dans un espace réel, ledit dispositif étant apte à obtenir (OBT. IE) une image d'intensités de couleur d'au moins une caméra agencée de façon connue et de telle sorte que l'utilisateur soit placé dans un champ de ladite caméra, le dispositif comprenant une machine de calcul dédiée à ou configurée pour : Segmenter (SEG) un contour de l'utilisateur dans l'image d'intensités de couleurs obtenue ; Obtenir (OBT. PC) une position et une orientation d'au moins un point clé de l'utilisateur dans un référentiel de l'espace réel, dit « référentiel monde » ; Construire (CONST. VE) un volume englobant l'utilisateur dans le référentiel de la scène à partir du au moins un point clé obtenu ; Construire (CONST. CP) une carte de profondeur de l'utilisateur par projection du volume construit dans un référentiel d'un plan image de la caméra et écriture des valeurs de profondeurs des points du volume projetés à l'intérieur du contour segmenté ; et Composer (COMP.) une image de sortie (IS) à partir de l'image segmentée de l'utilisateur et d'une projection de la scène virtuelle dans le référentiel du plan image de la caméra à l'aide de la carte de profondeur (CP) construite.10. Device (100) for composing an image of at least one user immersed in a virtual scene, said user being placed in a real space, said device being able to obtain (OBT. IE) an image of intensities of color of at least one camera arranged in a known manner and such that the user is placed in a field of said camera, the device comprising a calculation machine dedicated to or configured to: Segment (SEG) a contour of the user in the color intensity image obtained; Obtain (OBT. PC) a position and an orientation of at least one key point of the user in a repository of real space, called "world repository"; Construct (CONST. VE) a volume including the user in the scene reference frame from the at least one key point obtained; Construct (CONST. CP) a depth map of the user by projecting the volume constructed in a reference frame of an image plane of the camera and writing the depth values of the points of the volume projected inside the segmented contour; and Compose (COMP.) an output image (IS) from the segmented image of the user and a projection of the virtual scene in the repository of the image plane of the camera using the depth (CP) built. 11. Equipement terminal (ET), comprenant un dispositif d'affichage (DISP) et un module d'émission réception (MER) de données par l'intermédiaire d'un réseau de communication, caractérisé en ce qu'il comprend en outre un dispositif (100) de composition d'une image d'au moins un utilisateur immergé (Ui) dans une scène virtuelle (SV) selon la revendication 10, ledit module d'émission réception étant apte à recevoir une image d'entrée acquise par au moins une caméra, des informations relatives à la scène virtuelle et des informations de suivi de position et d'orientation d'au moins un point clé de l'utilisateur dans un référentiel de l'espace réel, dit référentiel monde, ledit dispositif d'affichage étant apte à afficher ladite image de sortie.11. Terminal equipment (ET), comprising a display device (DISP) and a data transmission and reception module (MER) via a communication network, characterized in that it further comprises a device (100) for composing an image of at least one user immersed (Ui) in a virtual scene (SV) according to claim 10, said transmit reception module being capable of receiving an input image acquired by at minus a camera, information relating to the virtual scene and information for tracking the position and orientation of at least one key point of the user in a repository of real space, known as the world repository, said device display being able to display said output image. 12. Equipement terminal selon la revendication 11, caractérisé en ce qu'il comprend un visiocasque (502) apte à être porté par un deuxième utilisateur (U2) et une caméra (302) disposée sur le visiocasque, agencée dans une direction du regard du deuxième utilisateur et apte à acquérir l'image d'entrée (IE) et en ce que le visiocasque comprend un écran placé devant les yeux du deuxième utilisateur et sur lequel est restituée l'image de sortie (IS).12. Terminal equipment according to claim 11, characterized in that it comprises a head-mounted display (502) able to be worn by a second user (U2) and a camera (302) arranged on the head-mounted display, arranged in a direction of gaze of the second user and able to acquire the input image (IE) and in that the head-mounted display comprises a screen placed before the eyes of the second user and on which the output image (IS) is restored. 13. Système (10, 10') de réalité virtuelle, comprenant : Un espace réel (20), dans lequel évolue au moins un premier utilisateur (Ui) ; Un visiocasque (50i) apte à être porté par l'utilisateur (Ui); Un module (70a, 70b) de suivi agencé pour suivre une position et une orientation d'au moins un point clé (PCi) de l'utilisateur dans un référentiel du système, dit référentiel monde, le dit au moins un point clé étant situé sur le visiocasque ; Au moins une caméra (30) apte à être agencée de telle sorte que le premier utilisateur soit placé dans un champ de vision de ladite caméra ; Un module (40) de génération d'une scène virtuelle SV ; et Un équipement terminal (ET) selon la revendication 10.13. Virtual reality system (10, 10 ′), comprising: A real space (20), in which at least one first user (Ui) operates; A head-mounted display (50i) able to be worn by the user (Ui); A tracking module (70a, 70b) arranged to follow a position and an orientation of at least one key point (PCi) of the user in a system repository, called world repository, said at least one key point being located on the head-mounted display; At least one camera (30) capable of being arranged so that the first user is placed in a field of vision of said camera; A module (40) for generating a virtual scene SV; and a terminal equipment (ET) according to claim 10. 14. Programme d'ordinateur (Pgl) comportant des instructions pour la mise en œuvre du procédé de composition selon l'une quelconque des revendications 1 à 9, lorsque ledit programme est exécuté par un processeur.14. Computer program (Pgl) comprising instructions for the implementation of the composition method according to any one of claims 1 to 9, when said program is executed by a processor. 15. Support d'enregistrement lisible par un ordinateur, sur lequel est enregistré un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon l'une des revendications 1 à 9.15. A recording medium readable by a computer, on which a computer program is recorded comprising program code instructions for the execution of the steps of the method according to one of claims 1 to 9.
FR1754270A 2017-05-15 2017-05-15 METHOD OF COMPOSING AN IMAGE OF AN IMMERSION USER IN A VIRTUAL SCENE, DEVICE, TERMINAL EQUIPMENT, VIRTUAL REALITY SYSTEM AND COMPUTER PROGRAM Pending FR3066304A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1754270A FR3066304A1 (en) 2017-05-15 2017-05-15 METHOD OF COMPOSING AN IMAGE OF AN IMMERSION USER IN A VIRTUAL SCENE, DEVICE, TERMINAL EQUIPMENT, VIRTUAL REALITY SYSTEM AND COMPUTER PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1754270A FR3066304A1 (en) 2017-05-15 2017-05-15 METHOD OF COMPOSING AN IMAGE OF AN IMMERSION USER IN A VIRTUAL SCENE, DEVICE, TERMINAL EQUIPMENT, VIRTUAL REALITY SYSTEM AND COMPUTER PROGRAM
FR1754270 2017-05-15

Publications (1)

Publication Number Publication Date
FR3066304A1 true FR3066304A1 (en) 2018-11-16

Family

ID=59974515

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1754270A Pending FR3066304A1 (en) 2017-05-15 2017-05-15 METHOD OF COMPOSING AN IMAGE OF AN IMMERSION USER IN A VIRTUAL SCENE, DEVICE, TERMINAL EQUIPMENT, VIRTUAL REALITY SYSTEM AND COMPUTER PROGRAM

Country Status (1)

Country Link
FR (1) FR3066304A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311965A (en) * 2020-10-22 2021-02-02 北京虚拟动点科技有限公司 Virtual shooting method, device, system and storage medium
CN115714888A (en) * 2022-10-09 2023-02-24 名之梦(上海)科技有限公司 Video generation method, device, equipment and computer readable storage medium

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FORTIN P ET AL: "Handling Occlusions in Real-time Augmented Reality : Dealing with Movable Real and Virtual Objects", COMPUTER AND ROBOT VISION, 2006. THE 3RD CANADIAN CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 7 June 2006 (2006-06-07), pages 54 - 54, XP010919365, ISBN: 978-0-7695-2542-6, DOI: 10.1109/CRV.2006.38 *
GRAU O ET AL: "USE OF 3-D TECHNIQUES FOR VIRTUAL PRODUCTION", OPTOMECHATRONIC MICRO/NANO DEVICES AND COMPONENTS III : 8 - 10 OCTOBER 2007, LAUSANNE, SWITZERLAND;PROCEEDINGS OF SPIE, SPIE, BELLINGHAM, WASH, vol. 4309, 23 January 2001 (2001-01-23), pages 40 - 50, XP008017825, ISBN: 978-1-62841-730-2 *
M PRICE ET AL: "Real-Time Production and Delivery of 3D Media", NTERNATIONAL BROADCASTING CONFERENCE 2002, 1 September 2002 (2002-09-01), XP055422855 *
PRICE M ET AL: "3D VIRTUAL PRODUCTION AND DELIVERY USING MPEG-4", INTERNATIONAL BROADCASTING CONVENTION, 2000, pages 1 - 06, XP002948118 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311965A (en) * 2020-10-22 2021-02-02 北京虚拟动点科技有限公司 Virtual shooting method, device, system and storage medium
CN112311965B (en) * 2020-10-22 2023-07-07 北京虚拟动点科技有限公司 Virtual shooting method, device, system and storage medium
CN115714888A (en) * 2022-10-09 2023-02-24 名之梦(上海)科技有限公司 Video generation method, device, equipment and computer readable storage medium
CN115714888B (en) * 2022-10-09 2023-08-29 名之梦(上海)科技有限公司 Video generation method, device, equipment and computer readable storage medium

Similar Documents

Publication Publication Date Title
EP3479344B1 (en) Method for concealing an object in an image or a video and associated augmented reality method
US11182974B2 (en) Method and system for representing a virtual object in a view of a real environment
US20230386157A1 (en) Generating 3d data in a messaging system
CN105164728B (en) For mixing the apparatus and method in real border
KR102624635B1 (en) 3D data generation in messaging systems
CN106575450A (en) Augmented reality content rendering via albedo models, systems and methods
CA2667526A1 (en) Method and device for the virtual simulation of a sequence of video images
CA3024562A1 (en) Method of augmented authentification of a material subject
KR20210138484A (en) System and method for depth map recovery
FR3027144A1 (en) METHOD AND DEVICE FOR DETERMINING MOVEMENT BETWEEN SUCCESSIVE VIDEO IMAGES
CA3022298A1 (en) Device and method for sharing an immersion in a virtual environment
FR3066304A1 (en) METHOD OF COMPOSING AN IMAGE OF AN IMMERSION USER IN A VIRTUAL SCENE, DEVICE, TERMINAL EQUIPMENT, VIRTUAL REALITY SYSTEM AND COMPUTER PROGRAM
CN113989434A (en) Human body three-dimensional reconstruction method and device
EP4162448A1 (en) Method and device for three-dimensional reconstruction of a face with toothed portion from a single image
WO2018002533A1 (en) Method for concealing an object in an image or a video and associated augmented reality method
FR3057981B1 (en) METHOD FOR PRODUCING A 3D POINT CLOUD REPRESENTATIVE OF A 3D EAR OF AN INDIVIDUAL, AND ASSOCIATED SYSTEM
FR2989790A1 (en) VISUALIZATION DEVICE SUITABLE FOR PROVIDING AN EXTENDED VISUAL FIELD.
EP2297705A1 (en) Method for the real-time composition of a video
BE1022580A9 (en) Method of obtaining immersive videos with interactive parallax and method of viewing immersive videos with interactive parallax
Rainer et al. Neural shading fields for efficient facial inverse rendering
FR3056770A1 (en) DEVICE AND METHOD FOR IMMERSION SHARING IN A VIRTUAL ENVIRONMENT
EP2987319A1 (en) Method for generating an output video stream from a wide-field video stream
CA3057337A1 (en) 3d model texturation process
WO2020157733A1 (en) Dynamic three-dimensional imaging method
FR3026534B1 (en) GENERATING A PERSONALIZED ANIMATION FILM

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20181116