FR3137770A1 - SYSTEMS AND METHODS FOR INTERACTIVE RENDERING OF A VIRTUAL ENVIRONMENT ON A USER DEVICE HAVING LIMITED COMPUTATIONAL CAPACITY - Google Patents

SYSTEMS AND METHODS FOR INTERACTIVE RENDERING OF A VIRTUAL ENVIRONMENT ON A USER DEVICE HAVING LIMITED COMPUTATIONAL CAPACITY Download PDF

Info

Publication number
FR3137770A1
FR3137770A1 FR2307198A FR2307198A FR3137770A1 FR 3137770 A1 FR3137770 A1 FR 3137770A1 FR 2307198 A FR2307198 A FR 2307198A FR 2307198 A FR2307198 A FR 2307198A FR 3137770 A1 FR3137770 A1 FR 3137770A1
Authority
FR
France
Prior art keywords
virtual environment
user device
server
avatar
software component
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
FR2307198A
Other languages
French (fr)
Inventor
Christian Holger Loclair
Thomas Johann Lorenz
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.)
Journee Tech GmbH
Journee Technologies GmbH
Original Assignee
Journee Tech GmbH
Journee Technologies GmbH
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
Priority claimed from US18/106,596 external-priority patent/US11995787B2/en
Application filed by Journee Tech GmbH, Journee Technologies GmbH filed Critical Journee Tech GmbH
Publication of FR3137770A1 publication Critical patent/FR3137770A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)

Abstract

La présente invention concerne un dispositif utilisateur pour le rendu d’images d’un environnement virtuel comprenant un affichage. Une application de navigateur est destinée à établir une connexion à un serveur pour recevoir des données d’image de diffusion continue afin de restituer des vues d’un environnement virtuel en tant que première couche d’un affichage. Des instructions de commande initiées par un utilisateur sur le dispositif utilisateur sont transmises au serveur. En réponse, le dispositif utilisateur reçoit des données d’image de diffusion continue mises à jour pour mettre à jour la première couche affichée. Lors de la détection d’une occurrence d’un événement prédéterminé lié aux monde virtuel/instructions de commande, le dispositif utilisateur transmet une demande avec un identifiant d’événement correspondant à un système de gestion de contenu (CMS), l’application de navigateur et le CMS maintenant des listes correspondantes d’identifiants d’événement. Le CMS transmet ensuite au dispositif utilisateur des informations d’affichage supplémentaires externes à l’environnement virtuel, que le dispositif utilisateur restitue en tant que seconde couche partiellement transparente recouvrant la première couche.The present invention relates to a user device for rendering images of a virtual environment including a display. A browser application is intended to establish a connection to a server to receive streaming image data to render views of a virtual environment as the first layer of a display. Control instructions initiated by a user on the user device are transmitted to the server. In response, the user device receives updated streaming image data to update the first displayed layer. Upon detecting an occurrence of a predetermined event related to the virtual world/control instructions, the user device transmits a request with a corresponding event identifier to a content management system (CMS), the application of browser and CMS maintaining corresponding lists of event IDs. The CMS then transmits additional display information external to the virtual environment to the user device, which the user device renders as a partially transparent second layer overlying the first layer.

Description

SYSTÈMES ET PROCÉDÉS POUR LE RENDU INTERACTIF D'UN ENVIRONNEMENT VIRTUEL SUR UN DISPOSITIFUTILISATEUR AYANT UNE CAPACITÉ DE CALCUL LIMITÉESYSTEMS AND METHODS FOR INTERACTIVE RENDERING OF A VIRTUAL ENVIRONMENT ON A USER DEVICE HAVING LIMITED COMPUTATIONAL CAPACITY RENVOI À DES DEMANDES DE BREVET CONNEXESREFERENCE TO RELATED PATENT APPLICATIONS

Cette demande revendique une priorité sur la demande de brevet en Irlande No. S2022/0111, déposée le 6 juillet 2022, qui est incorporée ici en référence dans son intégralité.This application claims priority over Irish Patent Application No. S2022/0111, filed July 6, 2022, which is incorporated herein by reference in its entirety.

DOMAINE DE L’INVENTIONFIELD OF INVENTION

La présente invention concerne un système, un support lisible par ordinateur et un procédé pour le rendu interactif d’un monde tridimensionnel sur un dispositif utilisateur.A system, computer-readable medium, and method for interactively rendering a three-dimensional world on a user device is provided.

ARRIÈRE-PLAN TECHNOLOGIQUE DE L’INVENTIONTECHNOLOGICAL BACKGROUND OF THE INVENTION

Dans ce qui suit, il convient de comprendre que les termes monde virtuel, environnement virtuel, expérience virtuelle et réalité virtuelle peuvent être utilisés de manière interchangeable dans le but de la présente invention.In the following, it should be understood that the terms virtual world, virtual environment, virtual experience and virtual reality can be used interchangeably for the purposes of the present invention.

La réalité virtuelle (RV) a connu un développement important au cours de la dernière décennie. La réalité virtuelle permet à un utilisateur d’expérimenter et d’interagir avec un environnement virtuel, généré par ordinateur, qui peut être similaire ou complètement différent du monde réel. Une caractéristique centrale de la réalité virtuelle est qu’un sentiment d’immersion est suscité chez l’utilisateur, où l’immersion peut être définie comme la perception de l’utilisateur d’être physiquement présent dans l’environnement virtuel. Par conséquent, la RV fournit à l’utilisateur un environnement virtuel.Virtual reality (VR) has seen significant development over the past decade. Virtual reality allows a user to experience and interact with a virtual, computer-generated environment that may be similar to or completely different from the real world. A central characteristic of virtual reality is that a feeling of immersion is elicited in the user, where immersion can be defined as the user's perception of being physically present in the virtual environment. Therefore, VR provides the user with a virtual environment.

Les domaines d’application de la réalité virtuelle sont largement répandus et comportent, par exemple, le divertissement, les jeux, les affaires et l’éducation. En raison de la grande variété de contextes dans lesquels des environnements virtuels sont utilisés aujourd’hui, il existe une demande toujours croissante de compatibilité de ces environnements virtuels avec des applications externes.The application areas of virtual reality are widespread and include, for example, entertainment, gaming, business and education. Due to the wide variety of contexts in which virtual environments are used today, there is an ever-increasing demand for compatibility of these virtual environments with external applications.

En particulier, il existe un besoin accru de combiner l’environnement virtuel avec des possibilités de communication avec d’autres utilisateurs, à la fois à l’intérieur et à l’extérieur de l’environnement virtuel ou de permettre aux utilisateurs d’effectuer des commandes et/ou des paiements.In particular, there is an increased need to combine the virtual environment with possibilities for communication with other users, both inside and outside the virtual environment or to allow users to perform orders and/or payments.

En outre, il existe un besoin d’incorporer d’autres applications dans l’environnement virtuel de manière aisée. L’utilisateur peut vraiment vouloir accéder ou utiliser des applications externes tout en restant dans le monde virtuel, au lieu d’avoir à quitter le monde virtuel pour le faire, car cela nuit au sentiment d’immersion dans l’environnement virtuel. En particulier, il serait souhaitable d’offrir une possibilité d’intégration de sites Web externes, de canaux de communication, d’accès de contacts, de plateformes de commerce électronique, de réseaux de paiement et analogues.Additionally, there is a need to incorporate other applications into the virtual environment in an easy manner. The user may really want to access or use external applications while remaining in the virtual world, instead of having to leave the virtual world to do so, as this detracts from the feeling of immersion in the virtual environment. In particular, it would be desirable to offer a possibility of integration of external websites, communication channels, contact access, e-commerce platforms, payment networks and the like.

Cependant, de nombreuses applications comme celles citées ci-dessus qui sont les plus intéressantes pour la combinaison avec l’environnement virtuel impliquent le transfert de données personnelles hautement sensibles. Ainsi, il existe le problème supplémentaire de s’assurer que des tiers ne peuvent pas facilement accéder à ces informations personnelles, lorsque l’utilisateur navigue dans l’environnement virtuel. Puisque l’utilisation de tels environnements virtuels devient omniprésente, il existe une demande accrue d’une grande variété de dispositifs utilisateurs qui sont capables de permettre l’accès à de tels environnements virtuels. Par dispositif utilisateur, on entend tout moyen informatique pouvant être connecté à Internet via une application Navigateur. Des exemples de tels dispositifs utilisateur incluent des ordinateurs personnels, des ordinateurs portables, des tablettes, des téléphones cellulaires et des consoles de jeux vidéo.However, many applications like those cited above that are most interesting for combining with the virtual environment involve the transfer of highly sensitive personal data. Thus, there is the added problem of ensuring that third parties cannot easily access this personal information, as the user navigates through the virtual environment. As the use of such virtual environments becomes ubiquitous, there is an increased demand for a wide variety of user devices that are capable of enabling access to such virtual environments. By user device, we mean any computing means that can be connected to the Internet via a Browser application. Examples of such user devices include personal computers, laptops, tablets, cellular phones and video game consoles.

De plus, afin de fournir une expérience immersive à l’utilisateur, il est nécessaire que le rendu du monde virtuel se produise à des fréquences de trame élevées et avec une haute résolution, afin de ne pas impacter négativement l’expérience de l’utilisateur. Actuellement, la plupart des dispositifs utilisateurs qui ne sont pas spécifiquement conçus pour des applications de jeu haut de gamme ne sont pas en mesure de restituer de manière détaillée de tels environnements virtuels tridimensionnels. En outre, des dispositifs utilisateurs qui sont capables d’un tel rendu ont tendance à être très coûteux et immobiles.Furthermore, in order to provide an immersive experience to the user, it is necessary that the rendering of the virtual world occurs at high frame rates and with high resolution, so as not to negatively impact the user experience . Currently, most user devices that are not specifically designed for high-end gaming applications are not able to render such three-dimensional virtual environments in detail. Furthermore, user devices that are capable of such rendering tend to be very expensive and immobile.

C’est par conséquent un objectif de la présente invention de fournir une solution qui permette la présentation homogène d’environnements tridimensionnels et à haute résolution (par exemple, de qualité HD ou 4K) sur un dispositif utilisateur générique. En particulier, il est souhaitable que le rendu du monde virtuel puisse être combiné à d’autres applications de manière aisée, permettant une expérience plus immersive pour l’utilisateur, tout en offrant une sécurité contre la perte d’informations sensibles vers des tiers, permettant à l’utilisateur d’interagir librement avec d’autres utilisateurs ou applications depuis l’environnement virtuel, sans craindre la perte d’informations sensibles vers des tiers. En outre, l’objectif de la présente invention est de fournir un cadre pour le rendu d’environnements virtuels qui est compatible avec une large gamme de dispositifs utilisateurs possibles.It is therefore an objective of the present invention to provide a solution that enables the seamless presentation of three-dimensional and high-resolution (e.g., HD or 4K quality) environments on a generic user device. In particular, it is desirable that the rendering of the virtual world can be combined with other applications in an easy way, allowing a more immersive experience for the user, while providing security against the loss of sensitive information to third parties, allowing the user to interact freely with other users or applications from the virtual environment, without fear of loss of sensitive information to third parties. Furthermore, the objective of the present invention is to provide a framework for rendering virtual environments that is compatible with a wide range of possible user devices.

Ce problème est résolu en particulier par un système comprenant :
This problem is solved in particular by a system comprising:

un dispositif utilisateur (portable) exécutant une application de navigateur et au moins un serveur configuré pour

  1. recevoir des instructions de commande en provenance du dispositif utilisateur ;
  2. restituer des vues d’un monde virtuel en fonction des instructions de commande en tant que données d’image ; et
  3. transmettre un flux des données d’image au dispositif utilisateur,
ainsi qu’un composant logiciel configuré pour fournir des informations supplémentaires.
a user device (portable) running a browser application and at least one server configured to
  1. receive control instructions from the user device;
  2. rendering views of a virtual world based on control instructions as image data; And
  3. transmit a stream of image data to the user device,
as well as a software component configured to provide additional information.

Selon ce système, l’application de navigateur est configurée pour :
According to this system, the browser application is configured to:

a) détecter l’occurrence d’au moins un événement lié au monde virtuel et/ou aux instructions de commande ;
a) detect the occurrence of at least one event linked to the virtual world and/or to the control instructions;

b) lors de la détection du au moins un événement, envoyer une demande au composant logiciel ;
b) upon detection of at least one event, send a request to the software component;

c) recevoir des informations supplémentaires du composant logiciel en réponse à la demande ;
c) receive additional information from the software component in response to the request;

d) afficher le flux d’images provenant du serveur dans une première couche et les informations supplémentaires reçues et/ou les éléments graphiques et/ou textuels dérivés des informations supplémentaires reçues dans une seconde couche (partiellement transparente), la seconde couche étant affichée en superposant la première couche.d) displaying the image stream from the server in a first layer and the additional information received and/or the graphic and/or textual elements derived from the additional information received in a second (partially transparent) layer, the second layer being displayed in superimposing the first layer.

Une caractéristique importante de la présente invention est que le « gros du travail » de calcul, c’est-à-dire le rendu de l’environnement tridimensionnel, est effectué par le serveur, puis transmis en continu au dispositif utilisateur. Le flux d’images, formant la première couche, et les informations supplémentaires reçues par le navigateur, formant la seconde couche, sont ensuite superposés uniquement sur le dispositif utilisateur, spécifiquement dans le navigateur. Cela permet non seulement à l’utilisateur de surmonter facilement les limitations de calcul du dispositif utilisateur, mais nécessite simplement une compatibilité du dispositif utilisateur avec le navigateur, en étant ainsi également applicable à une large gamme de dispositifs.An important feature of the present invention is that the “heavy lifting” of calculation, i.e. rendering the three-dimensional environment, is done by the server and then transmitted continuously to the user device. The image stream, forming the first layer, and the additional information received by the browser, forming the second layer, are then superimposed only on the user device, specifically in the browser. This not only allows the user to easily overcome the computational limitations of the user device, but simply requires compatibility of the user device with the browser, thus also being applicable to a wide range of devices.

L’externalisation du rendu à un serveur atténue le problème de longue date, à savoir que le rendu à haute résolution d’un environnement tridimensionnel à des fréquences de trames élevées, c’est-à-dire 60 trames par seconde ou plus, est coûteux en termes de calcul, ce qui impose des exigences élevées quant aux capacités du matériel sur lequel le processus de rendu est exécuté. La capacité de traitement de la plupart des dispositifs utilisateurs n’est pas adaptée pour gérer de tels calculs, limitant ainsi sévèrement la fréquence de trames, la résolution ou les deux, lors de l’exécution directe d’un tel processus de rendu.Outsourcing rendering to a server alleviates the long-standing problem that high-resolution rendering of a three-dimensional environment at high frame rates, i.e. 60 frames per second or more, is computationally expensive, which places high demands on the capabilities of the hardware on which the rendering process is executed. The processing capacity of most user devices is not suitable to handle such calculations, thus severely limiting the frame rate, resolution, or both, when directly performing such a rendering process.

En outre, la combinaison de couches dans l’application de navigateur, dans laquelle un composant logiciel fournit des informations supplémentaires à afficher dans la seconde couche, permet une intégration directe du contenu et des applications externes dans le monde virtuel. La combinaison de couches dans l’application de navigateur simplifie davantage des problèmes de sécurité, car tous les composants héritent des informations d’identification et de l’autorisation d’une seule instance.Furthermore, the combination of layers in the browser application, in which a software component provides additional information to be displayed in the second layer, allows direct integration of external content and applications into the virtual world. Combining layers in the browser application further simplifies security concerns because all components inherit credentials and authorization from a single instance.

Il est important de noter qu’une superposition dans ce contexte peut correspondre à toute forme de combinaison et/ou fusion des données d’image avec les informations supplémentaires d’une manière telle que les informations supplémentaires sont perçues comme étant devant les données d’image, indépendamment de l’ordre réel des couches. HTML5 offre une possibilité directe pour la mise en œuvre d’une structure en couches selon l’invention.It is important to note that an overlay in this context can correspond to any form of combination and/or fusion of the image data with the additional information in such a way that the additional information is perceived as being in front of the image data. image, regardless of the actual layer order. HTML5 offers a direct possibility for the implementation of a layered structure according to the invention.

Le composant logiciel peut être situé soit sur un second serveur supplémentaire (en particulier un serveur Web), soit sur le serveur fournissant les données d’image. En outre, il peut être avantageux que le composant logiciel soit situé à l’extérieur, par exemple dans le cloud ou un serveur différent.The software component can be located either on an additional second server (especially a web server) or on the server providing the image data. Additionally, it may be advantageous if the software component is located externally, for example in the cloud or a different server.

Dans un mode de réalisation, un événement peut être défini par une liste de conditions. Les conditions correspondent de préférence à des paramètres ou des propriétés du monde virtuel ou des instructions de commande. Un événement peut être considéré comme s’étant produit, lorsque toutes les conditions définies sont remplies en même temps.In one embodiment, an event may be defined by a list of conditions. The conditions preferably correspond to parameters or properties of the virtual world or control instructions. An event can be considered to have occurred when all defined conditions are met at the same time.

Les informations supplémentaires fournies par le composant logiciel peuvent contenir des informations textuelles, graphiques ou audio. Dans certains modes de réalisation, il peut être prévu des liens pour appeler d’autres applications, ou rediriger l’utilisateur vers d’autres contenus.Additional information provided by the software component may contain textual, graphical or audio information. In certain embodiments, links may be provided to call other applications, or redirect the user to other content.

Selon un mode de réalisation de la présente invention, les instructions de commande changent une première position ou une première orientation d’un premier avatar dans le monde virtuel, ou amènent le premier avatar à effectuer une action dans le monde virtuel, et les vues rendues du monde virtuel correspondent à la première position, la première orientation et/ou l’action du premier avatar.According to one embodiment of the present invention, the control instructions change a first position or a first orientation of a first avatar in the virtual world, or cause the first avatar to perform an action in the virtual world, and the rendered views of the virtual world correspond to the first position, the first orientation and/or the action of the first avatar.

Selon ce mode de réalisation, l’utilisateur peut naviguer dans le monde virtuel et interagir avec des objets dans celui-ci. Un avantage de ce mode de réalisation est que l’application de navigateur ne doit traiter que l’entrée des instructions de commande et les transmettre au serveur, tandis que le serveur effectue le rendu du monde virtuel conformément aux instructions reçues. Ainsi, l’utilisateur peut interagir librement avec le monde virtuel, sans que le dispositif utilisateur ait à supporter de lourdes charges de calcul. Cela augmente le sentiment d’immersion dans l’environnement virtuel pour l’utilisateur.According to this embodiment, the user can navigate in the virtual world and interact with objects therein. An advantage of this embodiment is that the browser application only needs to process the input of control instructions and transmit them to the server, while the server renders the virtual world according to the instructions received. Thus, the user can interact freely with the virtual world, without the user device having to support heavy computational loads. This increases the feeling of immersion in the virtual environment for the user.

Selon un (autre) mode de réalisation, le composant logiciel stocke des options de personnalisation quant à l’apparence du monde virtuel et/ou de l’avatar et est configuré pour recevoir une sélection d’une option de personnalisation par le navigateur, et lors de la réception, la sélection fournit des informations au serveur, amenant le serveur à restituer l’avatar et/ou le monde virtuel en correspondance avec la sélection.According to one (another) embodiment, the software component stores customization options regarding the appearance of the virtual world and/or the avatar and is configured to receive a selection of a customization option by the browser, and upon receipt, the selection provides information to the server, causing the server to render the avatar and/or virtual world corresponding to the selection.

Un effet avantageux de ce mode de réalisation est que le dispositif utilisateur et/ou le navigateur n’ont pas besoin de stocker des informations concernant l’apparence du monde virtuel. Cela réduit davantage les exigences concernant la puissance de calcul et la mémoire sur le dispositif utilisateur.An advantageous effect of this embodiment is that the user device and/or the browser do not need to store information regarding the appearance of the virtual world. This further reduces the requirements for computing power and memory on the user device.

Il doit être compris qu’une option de personnalisation comprend toutes les options liées à la représentation visuelle du monde tridimensionnel, de l’avatar ou de la seconde couche superposée, telles que la couleur, l’apparence, les différentes peaux, etc.It should be understood that a personalization option includes all options related to the visual representation of the three-dimensional world, the avatar or the second superimposed layer, such as color, appearance, different skins, etc.

Dans un autre mode de réalisation de l’invention, le serveur est connecté à un composant multijoueur, le composant multijoueur fournissant une deuxième position et une deuxième orientation d’au moins un second avatar, commandé par un second dispositif utilisateur, au serveur, et le serveur restitue une représentation du second avatar à la deuxième position avec la deuxième orientation dans le monde virtuel. En outre, le composant multijoueur est configuré pour assurer que le rendu du monde virtuel sur les premier et second dispositifs utilisateurs est synchronisé.In another embodiment of the invention, the server is connected to a multiplayer component, the multiplayer component providing a second position and a second orientation of at least one second avatar, controlled by a second user device, to the server, and the server renders a representation of the second avatar at the second position with the second orientation in the virtual world. Additionally, the multiplayer component is configured to ensure that rendering of the virtual world on the first and second user devices is synchronized.

Ce mode de réalisation permet à plusieurs utilisateurs d’interagir avec le même monde virtuel et les uns avec les autres dans ledit monde. En particulier, le composant multijoueur peut être adapté pour se connecter à un second serveur, qui est commandé par le second dispositif utilisateur. Cela a pour effet avantageux que de multiples systèmes selon la présente invention peuvent être interconnectés directement, sans alourdir le dispositif utilisateur avec des charges de travail supplémentaires.This embodiment allows several users to interact with the same virtual world and with each other in said world. In particular, the multiplayer component may be adapted to connect to a second server, which is controlled by the second user device. This has the advantageous effect that multiple systems according to the present invention can be interconnected directly, without burdening the user device with additional workloads.

Le composant multijoueur n’est cependant pas limité à la connexion de différents serveurs. Une connexion peut également être établie entre le serveur commandé par le premier dispositif utilisateur et un élément de matériel personnel classique, adapté au rendu d’environnements tridimensionnels, tel que des lunettes RV, des consoles de jeux, des ordinateurs personnels, etc.The multiplayer component is not limited to connecting different servers, however. A connection can also be established between the server controlled by the first user device and a piece of conventional personal hardware, suitable for rendering three-dimensional environments, such as VR glasses, game consoles, personal computers, etc.

Dans un (autre) mode de réalisation de la présente invention, le serveur lui-même est adapté pour surveiller le mouvement du premier avatar pour détecter des conditions pour un événement, et pour transmettre au moins un identifiant au dispositif utilisateur à chaque fois que ces conditions sont satisfaites, et le composant logiciel comprend une base de données, la base de données stockant les informations supplémentaires associées à chaque identifiant.In a(nother) embodiment of the present invention, the server itself is adapted to monitor the movement of the first avatar to detect conditions for an event, and to transmit at least one identifier to the user device each time these conditions are met, and the software component includes a database, the database storing additional information associated with each identifier.

Ainsi, selon un aspect de l’invention, la réception d’un tel identifiant par le navigateur constitue un événement. Cela peut être le cas, par exemple, lorsque l’avatar entre dans une certaine région de l’environnement virtuel. Cette détection indirecte d’événements par le navigateur a pour avantage que la charge de travail supplémentaire est écartée du dispositif utilisateur. En outre, la fourniture des informations supplémentaires par le composant logiciel est dans ce cas réduite à une procédure de consultation simple, dans laquelle l’identifiant reçu est comparé aux identifiants stockés et les informations dans la base de données concernant l’identifiant reçu sont ensuite transmises au dispositif de navigateur.Thus, according to one aspect of the invention, the reception of such an identifier by the browser constitutes an event. This may be the case, for example, when the avatar enters a certain region of the virtual environment. This indirect detection of events by the browser has the advantage that the additional workload is removed from the user device. Furthermore, the provision of the additional information by the software component is in this case reduced to a simple query procedure, in which the received identifier is compared with the stored identifiers and the information in the database regarding the received identifier is then transmitted to the browser device.

Selon un aspect supplémentaire de l’invention, les conditions de transmission du au moins un identifiant comprennent une proximité de la position de l’avatar par rapport à une position cible dans le monde virtuel et/ou une proximité de l’orientation de l’avatar par rapport à une troisième orientation dans le monde virtuel.According to an additional aspect of the invention, the transmission conditions of the at least one identifier include a proximity of the position of the avatar relative to a target position in the virtual world and/or a proximity of the orientation of the avatar in relation to a third orientation in the virtual world.

Cela permet de formuler directement des conditions pour des événements dans le monde virtuel, sur la base de l’emplacement de l’avatar. En particulier, cela permet aux utilisateurs non formés à la conception d’environnements tridimensionnels de prédéfinir des conditions pour des événements dans le monde tridimensionnel, en utilisant par exemple une interface de programmation d’application (API).This makes it possible to directly formulate conditions for events in the virtual world, based on the location of the avatar. In particular, this allows users not trained in the design of three-dimensional environments to predefine conditions for events in the three-dimensional world, for example using an application programming interface (API).

Il faut noter que le terme position ne se limite pas au point strict de la forme (x,y,z) dans le monde tridimensionnel, mais peut également faire référence à une certaine région du monde, telle qu’une salle ou un niveau ou un étage particulier ou tout type de zones ou de volume, qui est définie par exemple par plusieurs coordonnées. En particulier, la troisième position ne doit pas nécessairement être fixe, mais peut par exemple coïncider avec la deuxième position d’un second avatar ou d’un véhicule en mouvement ou de tout autre objet mobile ou déformable.It should be noted that the term position is not limited to the strict point of the shape (x,y,z) in the three-dimensional world, but can also refer to a certain region of the world, such as a room or a level or a particular floor or any type of zones or volume, which is defined for example by several coordinates. In particular, the third position does not necessarily have to be fixed, but can for example coincide with the second position of a second avatar or a moving vehicle or any other mobile or deformable object.

Les conditions pour la transmission de l’identifiant peuvent également être basées sur une minuterie et/ou satisfaire à la totalité d’une première liste de conditions prédéterminées, sur la base du premier emplacement et/ou de la première orientation et/ou de l’entrée d’instructions de commande et/ou d’une action effectuée par le premier ou le second avatar.The conditions for transmitting the identifier may also be based on a timer and/or satisfy all of a first list of predetermined conditions, based on the first location and/or the first orientation and/or the input of control instructions and/or an action performed by the first or second avatar.

De cette manière, diverses conditions peuvent être combinées dans la définition d’un événement. Par exemple, la proximité d’une certaine troisième position dans le monde tridimensionnel peut seulement conduire à la détection d’un événement lorsqu’elle est combinée avec une certaine valeur de minuterie, ou est en combinaison avec une certaine orientation du premier avatar.In this way, various conditions can be combined in the definition of an event. For example, proximity to a certain third position in the three-dimensional world can only lead to the detection of an event when it is combined with a certain timer value, or is in combination with a certain orientation of the first avatar.

Un mode de réalisation supplémentaire du système selon la présente invention peut être réalisé, lorsque les informations supplémentaires reçues en provenance du composant logiciel permettent une intégration d’applications externes dans le monde virtuel.An additional embodiment of the system according to the present invention can be realized, when the additional information received from the software component allows integration of external applications into the virtual world.

Dans ce contexte, le terme intégration fait référence à l’affichage d’informations textuelles, visuelles ou audio reçues d’une autre application en cours d’exécution sur le dispositif utilisateur, et incorporées dans la seconde couche, pour être affichées devant le flux d’images.In this context, the term embedding refers to the display of textual, visual or audio information received from another application running on the user device, and incorporated into the second layer, to be displayed in front of the stream of images.

Cela permet l’incorporation aisée de données fournies par des applications externes dans la seconde couche, pour être affichées devant le flux d’images. Notamment, cela permet à l’utilisateur d’accéder à d’autres applications sans avoir besoin de quitter le monde virtuel. De plus, les informations fournies par le logiciel supplémentaire lors de la détection d’un événement peuvent être utilisées pour inciter à l’incorporation de telles applications externes.This allows the easy incorporation of data provided by external applications into the second layer, to be displayed in front of the image stream. Notably, this allows the user to access other applications without needing to leave the virtual world. Additionally, the information provided by the additional software upon detection of an event can be used to prompt the incorporation of such external applications.

En particulier, les informations supplémentaires fournies par le composant logiciel et affichées dans la seconde couche peuvent comprendre des liens qui permettent à l’application de navigateur d’ouvrir d’autres applications. Dans ce cas, l’intégration de caractéristiques externes dans l’environnement virtuel hérite des caractéristiques de sécurité déjà fournies par l’application de navigateur.In particular, additional information provided by the software component and displayed in the second layer may include links that allow the browser application to open other applications. In this case, the integration of external features into the virtual environment inherits the security features already provided by the browser application.

Dans un mode de réalisation particulier, les informations supplémentaires reçues du composant logiciel établissent un canal de communication entre le dispositif utilisateur et le second dispositif utilisateur, en particulier une fonction de chat et/ou un canal audio et/ou une connexion vidéo.In a particular embodiment, the additional information received from the software component establishes a communication channel between the user device and the second user device, in particular a chat function and/or an audio channel and/or a video connection.

En particulier dans des configurations multijoueur, cela permet une communication directe entre les différents utilisateurs, participant au monde tridimensionnel. Cela rend l’expérience multijoueur plus attrayante pour l’utilisateur, du fait que l’utilisateur peut communiquer ou coopérer facilement avec d’autres utilisateurs.Particularly in multiplayer setups, this allows direct communication between different users, participating in the three-dimensional world. This makes the multiplayer experience more engaging for the user, as the user can easily communicate or cooperate with other users.

Dans un mode de réalisation supplémentaire, l’application de navigateur est dotée d’une autorisation pour inciter et commander l’exécution des applications externes sur le dispositif utilisateur.In a further embodiment, the browser application is provided with permission to prompt and control the execution of external applications on the user device.

Comme les informations supplémentaires sont affichées dans la seconde couche de l’application de navigateur, il est donc nécessaire de permettre à l’application de navigateur d’agir avec l’authentification et l’autorisation nécessaires pour initier et gérer l’exécution d’autres applications sur le dispositif utilisateur, conformément aux données reçues du serveur restituant le monde virtuel ou du composant logiciel.As the additional information is displayed in the second layer of the browser application, it is therefore necessary to allow the browser application to act with the necessary authentication and authorization to initiate and manage the execution of other applications on the user device, in accordance with the data received from the server rendering the virtual world or from the software component.

Cela facilite également la sensation d’immersion du ressenti pour l’utilisateur, car il n’est pas nécessaire d’autoriser manuellement l’utilisation de certaines applications. Ceci est particulièrement utile pour des applications de commerce électronique. Dans un mode de réalisation particulier, l’application de navigateur peut faire appel à des systèmes de paiement en ligne établis en tant que plug-ins, pour faciliter un paiement simplifié dans l’environnement virtuel. Étant donné que l’application de navigateur ne nécessite pas d’autorisation distincte de la part de l’utilisateur pour initier des transactions pertinentes, encore une fois, les caractéristiques de sécurité pertinentes sont déléguées à l’environnement virtuel. Cela simplifie et accélère considérablement l’utilisation d’applications externes dans le monde virtuel.This also makes it easier for the user to feel immersed, as there is no need to manually authorize the use of certain applications. This is particularly useful for e-commerce applications. In a particular embodiment, the browser application may utilize established online payment systems as plug-ins, to facilitate simplified payment in the virtual environment. Since the browser application does not require separate authorization from the user to initiate relevant transactions, again, relevant security features are delegated to the virtual environment. This significantly simplifies and speeds up the use of external applications in the virtual world.

Selon un aspect supplémentaire de l’invention, le composant logiciel consiste en un système de gestion de contenu (CMS), et les options de personnalisation peuvent être définies via une interface de programmation d’application (API).According to a further aspect of the invention, the software component consists of a content management system (CMS), and the customization options can be set via an application programming interface (API).

Cela augmente davantage la convivialité utilisateur, lorsqu’il s’agit de la personnalisation du CMS, car cela permet à des utilisateurs non experts de manipuler les options de personnalisation avec une plus grande facilité. Dans un exemple particulier, le CMS est une application Web composée d’un serveur Web et d’un backend de base de données.This further increases user-friendliness, when it comes to CMS customization, as it allows non-expert users to manipulate the customization options with greater ease. In a particular example, the CMS is a web application consisting of a web server and a database backend.

Dans ce cas, le CMS crée et maintient l’environnement virtuel, en enregistrant une configuration générée pour chaque dispositif utilisateur dans le backend de base de données. Selon ce mode de réalisation, l’application CMS commande l’environnement virtuel.In this case, the CMS creates and maintains the virtual environment, saving a generated configuration for each user device in the database backend. According to this embodiment, the CMS application controls the virtual environment.

En outre, les problèmes mentionnés ci-dessus sont résolus par un procédé dans lequel
Furthermore, the above-mentioned problems are solved by a method in which

un dispositif utilisateur (portable) exécutant une application de navigateur établit une première connexion à au moins un serveur, le serveur reçoit des instructions de commande provenant du dispositif utilisateur et restitue des vues d’un monde virtuel en fonction desdites instructions de commande en tant que données d’image, transmettant un flux des données d’image et/ou audio au dispositif utilisateur ;
a user device (portable) running a browser application establishes a first connection to at least one server, the server receives control instructions from the user device and renders views of a virtual world based on said control instructions as image data, transmitting a stream of image and/or audio data to the user device;

le navigateur détecte l’occurrence d’au moins un événement lié au monde virtuel et/ou aux instructions de commande et, lors de la détection du au moins un événement, envoie une demande à un composant logiciel, en réponse à la demande, le navigateur reçoit des informations supplémentaires provenant du composant logiciel ;
the browser detects the occurrence of at least one event linked to the virtual world and/or the control instructions and, upon detection of the at least one event, sends a request to a software component, in response to the request, the browser receives additional information from the software component;

le navigateur affiche le flux d’images provenant du serveur dans une première couche et les informations supplémentaires reçues et/ou les éléments graphiques et/ou textuels dérivés des informations supplémentaires reçues dans une seconde couche (partiellement transparente), la seconde couche étant affichée en superposant la première couche.the browser displays the image stream from the server in a first layer and the additional information received and/or the graphic and/or textual elements derived from the additional information received in a second (partially transparent) layer, the second layer being displayed in superimposing the first layer.

Selon encore un autre aspect, la structure en couches de l’invention peut être modifiée dans une application tierce, de préférence une page Web tierce, de préférence hébergée sur un serveur tiers. Cela peut être obtenu en intégrant les première et seconde couches dans une trame parent, qui peut faire partie de l’application ou site Web tiers. Dans ce cas, la page Web rendue par l’application de navigateur peut être divisée en deux trames ou plus, dont l’une affiche le monde virtuel avec respectivement les première et seconde couches, qui peut être appelée la trame RV. Au moins une des autres trames peut afficher un contenu issu du serveur tiers et/ou de tout autre serveur, et peut donc être appelée trame tierce. Le contenu rendu dans la au moins une autre trame peut être celui d’une boutique en ligne ou, plus génériquement, d’une plateforme marchande.In yet another aspect, the layered structure of the invention can be modified in a third-party application, preferably a third-party web page, preferably hosted on a third-party server. This can be achieved by integrating the first and second layers into a parent frame, which may be part of the third-party application or website. In this case, the web page rendered by the browser application can be divided into two or more frames, one of which displays the virtual world with the first and second layers respectively, which can be called the VR frame. At least one of the other frames can display content from the third-party server and/or any other server, and can therefore be called a third-party frame. The content rendered in the at least one other frame may be that of an online store or, more generically, of a merchant platform.

Les trames auxquelles il est fait référence ci-dessus peuvent être mises en œuvre par toute technologie disponible, par exemple des itrames et/ou des modèles et/ou des sections de HTML5.The frames referred to above may be implemented by any available technology, for example frames and/or templates and/or sections of HTML5.

Selon un aspect de l’invention, il existe une communication entre la au moins une des couches (première et seconde couches du monde virtuel) et l’application tierce, par exemple, la page Web tierce, qui est établie. Plus précisément, des événements qui sont associés à la première et/ou à la seconde couche peuvent être transmis à l’application tierce et/ou au serveur tiers. De préférence, la communication est établie du côté client, par exemple entre la trame et facultativement transmise à un serveur, par exemple, le serveur tiers. Cela permet de générer une réponse immédiate à l’événement, par exemple par la page Web tierce/côté tiers.According to one aspect of the invention, there is communication between the at least one of the layers (first and second layers of the virtual world) and the third-party application, for example, the third-party web page, which is established. More specifically, events that are associated with the first and/or the second layer can be transmitted to the third-party application and/or the third-party server. Preferably, the communication is established on the client side, for example between the frame and optionally transmitted to a server, for example, the third party server. This allows an immediate response to the event to be generated, for example from the third party web page/third party side.

Une fois que l’application de navigateur détecte un événement, une demande est envoyée au composant logiciel, qui renvoie des informations supplémentaires, qui sont ensuite affichées dans la seconde couche. En particulier, les informations supplémentaires peuvent comporter un lien ou un bouton, avec lequel l’utilisateur peut interagir avec les instructions de commande.Once the browser application detects an event, a request is sent to the software component, which returns additional information, which is then displayed in the second layer. In particular, the additional information may include a link or a button, with which the user can interact with the order instructions.

Une fois que l’application de navigateur enregistre l’ID associé à un événement dans la première et/ou la seconde couche, la trame parent peut en outre être incitée à transmettre des informations associées à l’ID d’événement à la au moins une autre trame tierce associée à l’application tierce et/ou au serveur tiers. En particulier, l’ID d’événement peut être associé, de préférence au moyen d’une table de transfert, à une action du côté tiers, comme le placement d’un article dans un panier de règlement. Ces informations peuvent ensuite être encore relayées par la trame parent à un composant de l’application tierce. En variante, les informations peuvent uniquement provoquer un changement local dans la trame tierce du navigateur/client, qui peut être présenté à l’application tierce ou au serveur tiers à un moment ultérieur.Once the browser application registers the ID associated with an event in the first and/or the second layer, the parent frame may further be prompted to transmit information associated with the event ID to the at least one another third-party frame associated with the third-party application and/or the third-party server. In particular, the event ID can be associated, preferably by means of a staging table, with an action on the third party side, such as placing an item in a checkout cart. This information can then be further relayed by the parent frame to a component of the third-party application. Alternatively, the information may only cause a local change in the browser/client's third-party frame, which may be presented to the third-party application or third-party server at a later time.

Le terme « trame parent » est choisi pour souligner la structure conceptuelle du présent aspect de l’invention et peut ne pas se référer à une trame réelle, mais plutôt plus généralement au composant d’une application ou d’une page Web tierce, dans laquelle la trame RV et une ou plusieurs trames tierces sont intégrées.The term "parent frame" is chosen to emphasize the conceptual structure of the present aspect of the invention and may not refer to an actual frame, but rather more generally to the component of a third-party application or web page, in which the RV frame and one or more third-party frames are integrated.

Dans un aspect en variante, le navigateur peut transmettre les informations supplémentaires à l’application tierce et/ou au serveur tiers immédiatement après la détection de l’événement, sans les relayer auparavant à la trame tierce.In an alternative aspect, the browser may transmit the additional information to the third-party application and/or third-party server immediately after detecting the event, without first relaying it to the third-party frame.

Dans tous les cas ci-dessus, le relais des informations associées à l’ID d’événement peut ou non être conditionnel à la saisie par l’utilisateur d’instructions de commande respectives, une fois que la représentation graphique est présentée dans la seconde couche. Ainsi, par exemple, l’utilisateur peut avoir à cliquer sur un bouton de la seconde couche, avant que la transmission d’informations associées ne soit initiée par la trame parent. En variante, pour certains ID d’événement, il peut être préférable d’initier immédiatement la transmission des informations associées par la trame parent, sans nécessiter de saisie supplémentaire de la part de l’utilisateur.In all of the above cases, the relay of information associated with the event ID may or may not be conditional on the user entering respective control instructions, once the graphical representation is presented in the second layer. So, for example, the user may have to click on a button in the second layer, before the transmission of associated information is initiated by the parent frame. Alternatively, for some event IDs, it may be preferable to immediately initiate transmission of the associated information through the parent frame, without requiring additional input from the user.

Cet aspect est particulièrement adapté, par exemple, aux applications de commerce électronique. Ici, l’événement peut être déclenché par une certaine action de l'avatar dans le monde virtuel, suscitant l’affichage d’informations supplémentaires sur la seconde couche. Ces informations supplémentaires peuvent, par exemple, inclure des informations sur le produit, ainsi qu’un bouton d’achat, qui peut inciter à l’achat de l’article affiché. Lorsque l’utilisateur saisit une instruction de commande correspondante (comme un clic sur le bouton d’achat), des informations associées peuvent être relayées de la manière décrite ci-dessus.This aspect is particularly suitable, for example, for e-commerce applications. Here, the event can be triggered by a certain action of the avatar in the virtual world, causing additional information to be displayed on the second layer. This additional information may, for example, include product information, as well as a buy button, which may encourage the purchase of the displayed item. When the user enters a corresponding order instruction (such as clicking the buy button), associated information may be relayed in the manner described above.

Cela permet par exemple de placer des articles, qui sont en vente sur le site Web tiers, dans un panier de règlement, par des actions dans le monde virtuel. La séparation des première et seconde couches et de la page Web tierce respectivement en des trames différentes permet à des parties de la page Web tierce de rester accessibles et visibles directement pour l’utilisateur tout en navigant dans le monde virtuel.This makes it possible, for example, to place items, which are for sale on the third-party website, in a checkout basket, through actions in the virtual world. The separation of the first and second layers and the third-party web page respectively into different frames allows parts of the third-party web page to remain accessible and visible directly to the user while navigating in the virtual world.

Avec le procédé selon l’invention, on peut obtenir les mêmes avantages que ceux qui ont déjà été décrits en association avec le système selon l’invention. Il est à noter que les caractéristiques décrites dans le contexte du système selon l’invention s’appliquent au procédé selon l’invention. De même, les caractéristiques du procédé selon l’invention sont transférables au système selon l’invention en configurant l’application de navigateur, le serveur ou le logiciel supplémentaire de manière à ce qu’il soit adapté à la mise en œuvre des caractéristiques de procédé correspondantes.With the method according to the invention, the same advantages can be obtained as those which have already been described in association with the system according to the invention. It should be noted that the characteristics described in the context of the system according to the invention apply to the method according to the invention. Likewise, the characteristics of the method according to the invention are transferable to the system according to the invention by configuring the browser application, the server or the additional software in such a way that it is adapted to the implementation of the characteristics of corresponding process.

Dans ce qui suit, l’invention est également décrite en ce qui concerne d’autres détails, caractéristiques et avantages, qui sont expliqués de manière plus détaillée en référence aux figures. Les caractéristiques et combinaisons de caractéristiques décrites, comme représenté ci-après sur les figures décrites en référence aux figures, sont applicables non seulement dans la combinaison indiquée dans chaque cas, mais également dans d’autres combinaisons ou seules, sans pour autant sortir de la portée de l’invention.In the following, the invention is also described with regard to other details, features and advantages, which are explained in more detail with reference to the figures. The characteristics and combinations of characteristics described, as shown below in the figures described with reference to the figures, are applicable not only in the combination indicated in each case, but also in other combinations or alone, without departing from the scope of the invention.

Dans ce qui suit, des modes de réalisation de l’invention sont décrits en référence aux figures, sur lesquellesIn the following, embodiments of the invention are described with reference to the figures, in which

La représente un système constitué d’une application de navigateur s’exécutant sur un dispositif utilisateur (non représenté), d’un composant logiciel et d’un serveur ;There represents a system consisting of a browser application running on a user device (not shown), a software component and a server;

La représente le système selon l’invention dans une configuration multijoueur, connecté à un autre dispositif utilisateur ;There represents the system according to the invention in a multiplayer configuration, connected to another user device;

La représente la détection d’un événement par la transmission d’un ID du serveur à l’application de navigateur ;There represents the detection of an event by passing an ID from the server to the browser application;

La représente la détection d’un événement via l’application de navigateur ;There represents the detection of an event via the browser application;

La représente un mode de réalisation dans lequel le CMS comprend un serveur Web et une base de données de backend ;There represents an embodiment in which the CMS includes a web server and a backend database;

La représente un exemple d’entrée de base de données pour la définition d’un événement ;There represents an example database entry for defining an event;

La représente un exemple d’entrée de base de données reliant l’ID d’événements aux informations supplémentaires ;There represents an example database entry relating the event ID to additional information;

La représente un exemple de dispositif utilisateur selon le système de l’invention ;There represents an example of a user device according to the system of the invention;

La représente un exemple d’intégration de la réalité virtuelle dans une fenêtre client, établissant une communication avec un serveur tiers ;There represents an example of integrating virtual reality into a client window, establishing communication with a third-party server;

Les figures 8A à 8E représentent un configurateur représentatif et des écrans d’affichage rendus pour associer et stocker dans le composant logiciel des exemples d’images selon l’invention ; etFigures 8A to 8E represent a representative configurator and display screens rendered for associating and storing in the software component examples of images according to the invention; And

Les figures 9A à 9D représentent un configurateur représentatif et des écrans d’affichage rendus pour associer et stocker dans le composant logiciel des exemples de vidéos selon l’invention.Figures 9A to 9D represent a representative configurator and display screens rendered for associating and storing in the software component examples of videos according to the invention.

DESCRIPTION DÉTAILLÉEDETAILED DESCRIPTION

La illustre la configuration de base d’un système selon la présente invention. Lors de l’entrée dans le monde virtuel en accédant à une URL d’environnement, un affichage représentatif fourni par une application de navigateur 2 sur un affichage d’un dispositif utilisateur à capacité de calcul limitée (non représenté) établit une communication via une première connexion 8 avec un composant logiciel 4, exécuté sur un serveur séparé, pour exécuter des vérifications d’authentification initiales et à mettre en file d’attente par le composant logiciel 4 pour accéder à un serveur 3.There illustrates the basic configuration of a system according to the present invention. Upon entering the virtual world by accessing an environment URL, a representative display provided by a browser application 2 on a display of a user device with limited computing capacity (not shown) establishes communication via a first connection 8 with a software component 4, running on a separate server, to perform initial authentication checks and to be queued by the software component 4 to access a server 3.

Des vérifications d’authentification représentatives peuvent comprendre, par exemple, un processus d’ouverture de session par lequel l’application de navigateur 2 transmet une demande de jeton numérique, telle qu’une demande HTTP POST, au composant logiciel 4 sur la première connexion 8. Le jeton numérique reçu correspondant par l’application de navigateur 2 permet l’accès à un tel monde virtuel, par exemple, par un service de file d’attente pour l’attribution d’un serveur, tel que le serveur 3, à partir d’un groupe de serveurs qui permettent l’accès à un tel monde virtuel. En outre, si l’accès au monde virtuel est protégé par mot de passe, la demande transmise peut comprendre un mot de passe valide, et/ou des identifiants d’authentification unique (SSO), si l’application de navigateur 2 ou le dispositif utilisateur comprend une fonctionnalité SSO correspondante. Il appartient en outre au dispositif utilisateur d’ouvrir une session avec l’adresse e-mail et le mot de passe de l’utilisateur, si un administrateur a déjà créé un compte pour cette adresse e-mail.Representative authentication checks may include, for example, a logon process whereby browser application 2 transmits a digital token request, such as an HTTP POST request, to software component 4 on the first connection 8. The corresponding digital token received by the browser application 2 allows access to such a virtual world, for example, by a queuing service for the allocation of a server, such as server 3, from a group of servers that allow access to such a virtual world. Additionally, if access to the virtual world is password protected, the transmitted request may include a valid password, and/or single sign-on (SSO) credentials, if the browser application 2 or the user device includes corresponding SSO functionality. It is further up to the user device to log in with the user's email address and password, if an administrator has already created an account for that email address.

Le jeton numérique peut être un jeton JSON Web (« JWT ») signé cryptographiquement conformément à Internet Engineering Task Force (IETF) RFC 5741, qui peut être stocké en tant que cookie et/ou mémoire RAM du dispositif utilisateur, ou tout autre type de jeton numérique approprié. Une fois que le dispositif utilisateur a le jeton numérique, des requêtes ultérieures provenant de l’application de navigateur 2 peuvent entraîner une vérification d’authentification par le composant logiciel 4 pour déterminer si le dispositif utilisateur a un jeton valide, c’est-à-dire n’ayant pas expiré pour accéder au monde virtuel.The digital token may be a JSON Web Token ("JWT") cryptographically signed in accordance with Internet Engineering Task Force (IETF) RFC 5741, which may be stored as a cookie and/or user device RAM, or any other type of appropriate digital token. Once the user device has the digital token, subsequent requests from the browser application 2 may result in an authentication check by the software component 4 to determine whether the user device has a valid token, i.e. -say not having expired to access the virtual world.

Il sera facilement compris que des serveurs de diffusion en continu dans le cloud typiques peuvent ne pas être immédiatement disponibles pour le provisionnement par le dispositif utilisateur, en particulier si la demande est élevée pour de tels serveurs, de sorte qu’il peut exister un retard dans l’attribution et l’accord d’accès à un serveur de diffusion en continu dans le cloud, tel que le serveur 3. Si la capacité de diffusion en continu dans le cloud exécutant le monde virtuel souhaité (/exécutable binaire) est déjà provisionnée et disponible, le dispositif utilisateur peut être rapidement redirigé vers le serveur 3. Dans le cas contraire, le dispositif utilisateur peut recevoir un « ticket » ensemble avec la position du ticket dans la file d’attente, et interroge périodiquement la file d’attente avec ce ticket. Avantageusement, le logiciel de gestion de file d’attente favorise souvent des serveurs situés à proximité du dispositif utilisateur pour réduire toute latence que le dispositif utilisateur peut rencontrer.It will be readily understood that typical cloud streaming servers may not be immediately available for provisioning by the user device, particularly if demand is high for such servers, so there may be a delay in assigning and granting access to a cloud streaming server, such as server 3. If the cloud streaming capability running the desired virtual world (/binary executable) is already provisioned and available, the user device can be quickly redirected to the server 3. Otherwise, the user device can receive a "ticket" together with the position of the ticket in the queue, and periodically poll the queue waiting with this ticket. Advantageously, queue management software often favors servers located close to the user device to reduce any latency that the user device may experience.

Le composant logiciel 4 établit une deuxième connexion 9 avec le serveur 3. En variante, le serveur 3 se connecte au composant logiciel 4 pour signaler sa présence et son état. En particulier, le composant logiciel 4 peut en outre être configuré pour sélectionner l’un d’une pluralité de serveurs accessibles selon des critères prédéterminés, tandis que l’application de navigateur 2 est mise en file d’attente. Ces critères peuvent, par exemple, dépendre de la géolocalisation ou de l’adresse IP de l’utilisateur, de la connexion, du nombre de serveurs disponibles ou des détails d’authentification. Via la deuxième connexion 9, le serveur 3 télécharge une liste des conditions d’événement (voir ) à partir du composant logiciel 4 et les stocke dans une carte d’adresses en mémoire, c’est-à-dire une carte de hachage ou une base de données sur le serveur. une copie d’une liste partielle ou complète des informations de conditions d’événement.The software component 4 establishes a second connection 9 with the server 3. Alternatively, the server 3 connects to the software component 4 to signal its presence and its status. In particular, the software component 4 may further be configured to select one of a plurality of accessible servers according to predetermined criteria, while the browser application 2 is queued. These criteria may, for example, depend on the user's geolocation or IP address, connection, number of available servers or authentication details. Via the second connection 9, the server 3 downloads a list of event conditions (see ) from software component 4 and stores them in an in-memory address map, i.e. hash map or database on the server. a copy of a partial or complete list of event conditions information.

Le serveur est réservé pendant une durée prédéfinie, par exemple 10 secondes, pour le dispositif utilisateur et l’adresse de serveur (une URL) est envoyée à ce dispositif utilisateur pour être utilisée par l’application de navigateur 2. L’application de navigateur 2 se connecte ensuite et s’authentifie auprès de ce serveur 3, par exemple en utilisant une connexion de protocole WebSocket. Sur cette connexion WebSocket, un processus de négociation commence immédiatement et des candidats de norme WebRTC ICE (Établissement de la Connectivité Interactive) sont échangés. Des candidats ICE sont utilisés pour établir une troisième connexion 10, par exemple une connexion WebRTC, entre le serveur 3 et l’application de navigateur 2. Selon un autre aspect de la présente invention, des serveurs relais de norme TURN (protocole Traversal Using Relay around NAT) peuvent être utilisés. Après un établissement de liaison entre l’application de navigateur 2 et le serveur 3, le flux de données d’image et audio commence.The server is reserved for a predefined duration, for example 10 seconds, for the user device and the server address (a URL) is sent to that user device for use by the browser application 2. The browser application 2 then connects and authenticates with this server 3, for example using a WebSocket protocol connection. Over this WebSocket connection, a negotiation process immediately begins and WebRTC ICE (Interactive Connectivity Establishment) standard candidates are exchanged. ICE candidates are used to establish a third connection 10, for example a WebRTC connection, between the server 3 and the browser application 2. According to another aspect of the present invention, relay servers of the TURN standard (Traversal Using Relay protocol around NAT) can be used. After a connection between browser application 2 and server 3, the image and audio data flow begins.

Sur la troisième connexion 10, les données d’image (vidéo) et/ou audio correspondant à l’environnement tridimensionnel sont transférées du serveur 3 à l’application de navigateur 2, où elles sont affichées dans la première couche 5.On the third connection 10, the image (video) and/or audio data corresponding to the three-dimensional environment are transferred from the server 3 to the browser application 2, where they are displayed in the first layer 5.

Sur la même troisième connexion 10, les instructions de commande provenant de l’application de navigateur 2 sont envoyées au serveur 3. En fonction du type de dispositif utilisateur utilisé pour accéder à l’environnement tridimensionnel, les instructions de commande peuvent inclure : des événements de clic, des mouvements de souris, des entrées au clavier, des mouvements de joystick, des haptiques RV, des réponses d’écran tactile, des entrées d’accéléromètre, des mesures de gyroscope, des données de webcam et des instructions vocales, c’est-à-dire une entrée par microphone.On the same third connection 10, control instructions from browser application 2 are sent to server 3. Depending on the type of user device used to access the three-dimensional environment, the control instructions may include: events clicks, mouse movements, keyboard inputs, joystick movements, VR haptics, touchscreen responses, accelerometer inputs, gyroscope measurements, webcam data and voice instructions, c 'i.e. microphone input.

En outre, la troisième connexion 10 comprend un canal de données bidirectionnel pour l’échange d’informations supplémentaires entre le serveur 3 et l’application de navigateur 2.Furthermore, the third connection 10 includes a bidirectional data channel for the exchange of additional information between the server 3 and the browser application 2.

Lorsque l’application de navigateur se déconnecte du serveur 3, le serveur 3 met à jour son état pour le composant logiciel 4 via la deuxième connexion 9 pour se déclarer lui-même à nouveau disponible.When the browser application disconnects from server 3, server 3 updates its state for software component 4 via the second connection 9 to declare itself available again.

Lorsqu’un événement est détecté par l’application de navigateur 2, l’application de navigateur envoie une demande (en fonction de la disponibilité des données requises dans l’application de navigateur) au composant logiciel 4 via la première connexion 8 et reçoit des informations supplémentaires concernant l’événement provenant du composant logiciel 4 via la même connexion. L’application de navigateur 2 affiche alors les informations supplémentaires reçues et/ou les éléments graphiques et/ou textuels dérivés des informations supplémentaires reçues 6 dans la seconde couche (partiellement transparente) 7, la seconde couche 7 étant affichée en superposant la première couche 5. Tel qu’utilisé ici, le terme « couche partiellement transparente » signifie, sans limitation, des régions semi-transparentes ou transparentes sur au moins une partie d’une telle couche, au moins d’autres parties de la couche ayant des images qui bloquent des images, ou fusionnent avec celles-ci, présentes dans la couche recouverte, c’est-à-dire la sous-couche, telle que la première couche 5. En variante, l’application de navigateur peut avoir téléchargé toutes les informations supplémentaires nécessaires pour exécuter l’événement au préalable à partir du composant logiciel 4. Les figures 8A à 8E, décrites ci-dessous, représentent un configurateur représentatif et des écrans d’affichage rendus pour associer et stocker dans le composant logiciel 4 des images en exemple pour l’affichage d’images contextuelles lorsque l'occurrence d’un événement de déclenchement associé est détectée. De même, les figures 9A à 9D représentent un configurateur représentatif et des écrans d’affichage pour associer et stocker dans le composant logiciel des vidéos en exemple pour l’affichage de vidéos lorsque l'occurrence d’un événement de déclenchement associé est détectée.When an event is detected by the browser application 2, the browser application sends a request (based on the availability of the required data in the browser application) to the software component 4 via the first connection 8 and receives additional information about the event coming from software component 4 via the same connection. The browser application 2 then displays the additional information received and/or the graphic and/or textual elements derived from the additional information received 6 in the second (partially transparent) layer 7, the second layer 7 being displayed by superimposing the first layer 5 As used herein, the term "partially transparent layer" means, without limitation, semi-transparent or transparent regions on at least a portion of such layer, at least other portions of the layer having images which block or merge images present in the overlaid layer, i.e. the sublayer, such as the first layer 5. Alternatively, the browser application may have downloaded all the information additional necessary to execute the event in advance from the software component 4. Figures 8A to 8E, described below, show a representative configurator and display screens rendered for associating and storing in the software component 4 images in example for displaying pop-up images when the occurrence of an associated trigger event is detected. Likewise, Figures 9A to 9D show a representative configurator and display screens for associating and storing in the software component example videos for displaying videos when the occurrence of an associated trigger event is detected.

Lorsque le serveur 3 reçoit des instructions de commande provenant de l’application de navigateur 2 via la troisième connexion 10, la position et l’orientation du premier avatar 11 dans le monde virtuel sont mises à jour, et les données d’image transférées à l’application de navigateur 2 sont mises à jour en conséquence. En outre, le serveur 3 compare les nouvelles position et orientation de l’avatar avec la liste de positions et orientations correspondant à des conditions d’événement possibles, stockée dans la seconde base de données sur le serveur 3.When the server 3 receives control instructions from the browser application 2 via the third connection 10, the position and orientation of the first avatar 11 in the virtual world are updated, and the image data transferred to browser app 2 are updated accordingly. In addition, server 3 compares the new position and orientation of the avatar with the list of positions and orientations corresponding to possible event conditions, stored in the second database on server 3.

D’autres conditions d’événement possibles comprennent l’association d’un ID d’un acteur (élément) dans le jeu avec une vidéo, un temps absolu prévu (c’est-à-dire le temps réel), un temps écoulé depuis le début de la diffusion et autres.Other possible event conditions include associating an in-game actor (item) ID with a video, predicted absolute time (i.e. actual time), elapsed time since the start of broadcast and others.

La représente le système dans une configuration multijoueur. Le serveur 3 reçoit la position et l’orientation d’un second avatar 14 à partir d’un composant multijoueur 13. Le composant multijoueur 13 est connecté à au moins un second dispositif utilisateur 12, qui commande le mouvement d’un second avatar 14. Il est entendu que cette connexion à un second dispositif utilisateur peut également être une connexion indirecte via un autre serveur selon la présente invention. Dans ce cas, le second dispositif utilisateur doit être compris comme le système entier selon la présente invention. Lors de la réception de la deuxième position et de la deuxième orientation, le serveur 3 restitue un second avatar 14 en tant que partie des données d’image affichées dans la première couche 5.There represents the system in a multiplayer configuration. The server 3 receives the position and orientation of a second avatar 14 from a multiplayer component 13. The multiplayer component 13 is connected to at least a second user device 12, which controls the movement of a second avatar 14 It is understood that this connection to a second user device can also be an indirect connection via another server according to the present invention. In this case, the second user device should be understood as the entire system according to the present invention. Upon receiving the second position and the second orientation, the server 3 renders a second avatar 14 as part of the image data displayed in the first layer 5.

La montre la détection indirecte de conditions d’événement dans le système, via le serveur 3 des figures 1 et 2. Pendant que le premier avatar se déplace dans l’environnement virtuel, le serveur surveille les propriétés des instructions d’entrée et du monde virtuel et vérifie si toutes les conditions d’un événement prédéfini sont remplies. Si c’est le cas, le serveur transmet un ID correspondant à l’événement qui a été détecté à l’application de navigateur. L’application de navigateur détecte ensuite la présence de l’ID dans le flux de données de la troisième connexion en tant qu’événement. L’application de navigateur envoie ensuite une demande au composant logiciel, contenant l’ID reçu, ou a déjà récupéré précédemment des données contenant un tel ID. Le composant logiciel compare ensuite l’ID reçu à une liste d’ID stockés dans la base de données. Une fois que l’ID correspondant dans la base de données est trouvé, le composant logiciel transmet les informations supplémentaires associées à l’ID reçu à l’application de navigateur dans le cas où les informations supplémentaires n’ont pas déjà été pré-récupérées. Enfin, le navigateur traite les informations supplémentaires reçues et les affiche dans la seconde couche, en superposant le flux de données d’image.There shows the indirect detection of event conditions in the system, via the server 3 of Figures 1 and 2. While the first avatar moves in the virtual environment, the server monitors the properties of the input instructions and the virtual world and checks if all conditions of a predefined event are met. If so, the server passes an ID corresponding to the event that was detected to the browser application. The browser application then detects the presence of the ID in the data stream of the third connection as an event. The browser application then sends a request to the software component, containing the received ID, or has already previously retrieved data containing such an ID. The software component then compares the received ID to a list of IDs stored in the database. Once the matching ID in the database is found, the software component passes the additional information associated with the received ID to the browser application in case the additional information has not already been pre-fetched . Finally, the browser processes the additional information received and displays it in the second layer, overlaying the image data stream.

La montre la reconnaissance directe d’une condition d’événement par l’intermédiaire de l’application de navigateur 2 dans un mode de réalisation supplémentaire de l’invention. Dans ce cas, l’application de navigateur 2 surveille directement les instructions de commande et l’environnement virtuel. Lorsque toutes les conditions définissant un événement sont remplies, l’application de navigateur envoie la demande d’ID correspondant à l’événement pertinent au composant logiciel 4. Le composant logiciel 4 compare ensuite l’ID reçu à une liste d’ID stockés dans la base de données. Une fois que l’ID correspondant dans la base de données est trouvé, le composant logiciel transmet les informations supplémentaires associées à l’ID reçu à l’application de navigateur. Enfin, le navigateur traite les informations supplémentaires reçues et les affiche dans la seconde couche, en superposant le flux de données d’image.There shows direct recognition of an event condition through browser application 2 in a further embodiment of the invention. In this case, the browser application 2 directly monitors the control instructions and the virtual environment. When all conditions defining an event are met, the browser application sends the request for an ID corresponding to the relevant event to software component 4. Software component 4 then compares the received ID to a list of IDs stored in the database. Once the matching ID in the database is found, the software component passes the additional information associated with the received ID to the browser application. Finally, the browser processes the additional information received and displays it in the second layer, overlaying the image data stream.

La représente un mode de réalisation dans lequel le composant logiciel 4 est constitué d’un CMS. Le CMS est divisé en un serveur Web 15 et une base de données backend 16. Le CMS reçoit des options de personnalisation via la première connexion 8 et enregistre la configuration générée dans la base de données backend. En particulier, il surveille l’état de l’environnement virtuel via la deuxième connexion 9.There represents an embodiment in which the software component 4 consists of a CMS. The CMS is divided into a web server 15 and a backend database 16. The CMS receives customization options via the first connection 8 and saves the generated configuration in the backend database. In particular, it monitors the state of the virtual environment via the second connection 9.

La représente la structure de données d’un événement, constituée de l’ID d’événement et d’une pluralité de conditions. Les conditions sont basées en partie sur les emplacements, les orientations et les actions possibles dans le monde virtuel, ainsi que sur les entrées d’instruction. Par exemple, une première condition peut être que le premier emplacement du premier avatar 11 est ou non dans une certaine région autour d’un troisième emplacement dans le monde virtuel. Une région peut être définie comme l’ensemble de tous les points situés à une distance prédéfinie du troisième emplacement, ou comme un ensemble prédéfini de points contenant le troisième emplacement (comme par exemple une salle dans laquelle le troisième emplacement est situé). Une seconde condition peut être par exemple la valeur d’une minuterie égale à une valeur prédéfinie. Dans cet exemple, un événement sera détecté, si l’emplacement du premier avatar 11 est dans la plage d’emplacements définis par la première condition ET si la valeur de minuterie est égale à la valeur prédéfinie.There represents the data structure of an event, consisting of the event ID and a plurality of conditions. Conditions are based in part on locations, orientations, and possible actions in the virtual world, as well as instructional inputs. For example, a first condition may be whether or not the first location of the first avatar 11 is in a certain region around a third location in the virtual world. A region can be defined as the set of all points located within a predefined distance from the third location, or as a predefined set of points containing the third location (such as a room in which the third location is located). A second condition can for example be the value of a timer equal to a predefined value. In this example, an event will be detected, if the location of the first avatar 11 is within the range of locations defined by the first condition AND if the timer value is equal to the predefined value.

La représente la structure de données selon laquelle les informations supplémentaires sont stockées dans le composant logiciel. Selon ce mode de réalisation, la base de données comprend une liste d’ID qui contient les ID de tous les événements configurés conjointement avec les informations supplémentaires correspondantes.There represents the data structure according to which the additional information is stored in the software component. According to this embodiment, the database includes an ID list which contains the IDs of all configured events together with corresponding additional information.

La représente un dispositif utilisateur 17 selon un mode de réalisation de la présente invention. L’application de navigateur 2 est exécutée par la CPU 19 du dispositif utilisateur, affichant la première couche 5 (non représentée) et la seconde couche 6 (non représentée) sur l’affichage du dispositif utilisateur 20. Les instructions de commande sont entrées via un clavier 18 du dispositif utilisateur.There represents a user device 17 according to one embodiment of the present invention. The browser application 2 is executed by the CPU 19 of the user device, displaying the first layer 5 (not shown) and the second layer 6 (not shown) on the display of the user device 20. Control instructions are entered via a keyboard 18 of the user device.

La représente un client, tel qu’une application de navigateur 2 affichant une page Web tierce. La page Web, par exemple en utilisant des itrames, est séparée en une trame tierce 72 et une trame RV 74. Uniquement pour une facilité de référence, la fenêtre/trame contenant la trame tierce 72 et la trame VR 74 est appelée trame parent 75.There represents a client, such as a browser application 2 displaying a third-party web page. The web page, for example using itrames, is separated into a third party frame 72 and a VR frame 74. For ease of reference only, the window/frame containing the third party frame 72 and VR frame 74 is called parent frame 75. .

Dans le mode de réalisation, la trame tierce 72 est agencée à côté de la trame RV 74 qui contient au moins les première 5 et seconde 7 couches du monde virtuel comme déjà décrit, par exemple en référence à la . Dans le mode de réalisation de la , l’affichage d’une représentation graphique de parties des informations supplémentaires 6, qui a été déclenché par l’occurrence d’un événement, est représenté dans la seconde couche 7, peut comprendre l’affichage d’un bouton, par exemple qui permet d’ajouter un produit à une carte d’achat. L’utilisateur peut interagir avec la représentation graphique 6, par exemple le bouton, en amenant le navigateur 2 à communiquer via la trame parent 75 avec la trame tierce 72. Dans un mode de réalisation, une telle communication peut amener la page Web tierce à ajouter un article particulier à un panier d’achat, l’article particulier étant lié à ce qui est représenté dans la trame RV 74, par exemple dans la première et/ou la seconde couche 5,6.In the embodiment, the third-party frame 72 is arranged next to the RV frame 74 which contains at least the first 5 and second 7 layers of the virtual world as already described, for example with reference to the . In the embodiment of the , the display of a graphical representation of parts of the additional information 6, which has been triggered by the occurrence of an event, is represented in the second layer 7, may include the display of a button, for example which allows you to add a product to a purchasing card. The user can interact with the graphical representation 6, for example the button, by causing the browser 2 to communicate via the parent frame 75 with the third party frame 72. In one embodiment, such communication can cause the third party web page to add a particular item to a shopping cart, the particular item being linked to what is represented in the RV frame 74, for example in the first and/or second layer 5,6.

En variante, le navigateur 2 et/ou la trame parent 75 peuvent communiquer les informations reçues de la trame RV 74 directement sur une quatrième connexion 73 à un serveur tiers externe 71.Alternatively, the browser 2 and/or the parent frame 75 can communicate the information received from the RV frame 74 directly on a fourth connection 73 to an external third-party server 71.

Dans un mode de réalisation, la communication entre la trame RV 74 et la trame parent 75 utilise un protocole de message personnalisé. Cela signifie que la trame parent 75 lors de l’interaction – en cliquant sur le bouton – avec la représentation graphique 6 reçoit un message qui identifie un événement ou de préférence un article qui doit être ajouté au panier d’achat. Le type de représentation graphique 6, l’heure d’apparition, le comportement et tout ID identifiant un événement ou un article peuvent être configurés dans le composant logiciel 4. L’ID peut être transmis en tant que charge utile du message personnalisé à la trame parent 75 permettant à la page Web tierce de réagir lors de la réception de l’ID par tout moyen disponible, par exemple en déclenchant d’autres actions dans la page Web tierce.In one embodiment, communication between RV frame 74 and parent frame 75 uses a custom message protocol. This means that the parent frame 75 when interacting – by clicking on the button – with the graphic representation 6 receives a message which identifies an event or preferably an item which must be added to the shopping cart. The type of graphical representation 6, the appearance time, the behavior and any ID identifying an event or item can be configured in the software component 4. The ID can be transmitted as a payload of the personalized message to the parent frame 75 allowing the third party web page to react upon receipt of the ID by any available means, for example by triggering other actions in the third party web page.

Le message personnalisé peut être une chaîne JSON qui peut être générée et transmise de la manière suivante :
The custom message can be a JSON string which can be generated and transmitted as follows:

let postMessage = JSON.stringify({
let postMessage = JSON.stringify({

"_ABC_action":"addtobag",
"_ABC_action":"addtobag",

"skuBaseId": "11111",
"skuBaseId": "11111",

"INCREMENT":1,
“INCREMENT”:1,

"QTY":1
"QTY":1

});
});

if ('parentIFrame' in window) {
if ('parentIFrame' in window) {

window.parentIFrame.sendMessage(postMessage);
window.parentIFrame.sendMessage(postMessage);

}});}});

L’approche permet à l’utilisateur d’effectuer facilement des actions au sein de la réalité virtuelle qui affecteront le comportement de la page Web tierce. En répartissant le flux vidéo dans la première couche 5, la représentation graphique 6 dans la seconde couche 7 et en permettant la configuration de la représentation graphique 6, notamment l'ID qui sera transmis, l’invention permet une configuration très efficace du système. Par exemple, il est possible d’ajouter la possibilité d’acheter certains articles dans la réalité virtuelle sans avoir à modifier la réalité virtuelle. Dans un mode de réalisation, l’administrateur du système a juste besoin de configurer une nouvelle représentation graphique 6, l’ID respectif et un événement qui déclenche la représentation graphique. Toutes ces étapes peuvent être effectuées sur le composant logiciel 4.The approach allows the user to easily perform actions within VR that will affect the behavior of the third-party web page. By distributing the video stream in the first layer 5, the graphic representation 6 in the second layer 7 and by allowing the configuration of the graphic representation 6, in particular the ID which will be transmitted, the invention allows a very efficient configuration of the system. For example, it is possible to add the possibility of purchasing certain items in virtual reality without having to modify the virtual reality. In one embodiment, the system administrator just needs to configure a new graph 6, the respective ID and an event that triggers the graph. All these steps can be performed on software component 4.

Bien entendu, cette partie de l’invention ne se limite pas à l’achat d’articles et/ou de services. L’approche peut également être utilisée pour des formations et tout autre service éducatif.Of course, this part of the invention is not limited to the purchase of articles and/or services. The approach can also be used for training and any other educational service.

Dans certains modes de réalisation, des CMS appropriés utilisables pour le composant logiciel 4 de la comprennent, par exemple, le logiciel de développement de jeux graphiques informatique Unreal Engine proposé par Epic Games, Inc. Les figures 8A à 8E sont des écrans de configurateur et d’affichage représentatifs pour associer et stocker dans un tel CMS une image contextuelle en exemple à présenter dans la couche 7 lors de l’occurrence d’un événement correspondant. La représente un exemple d’écran de configurateur contextuel permettant à un développeur de saisir dans les champs « Pop-up Slug » et « Title », un nom et un titre, respectivement, de l’image à joindre via le champ « image ». Dans cet exemple, le nom Pop-up Slug est « ArcticPopUp » pour l’image ajoutée du paysage arctique. Une description associée de l’image peut également être saisie dans le champ « Description ».In certain embodiments, appropriate CMS usable for the software component 4 of the include, for example, the Unreal Engine computer graphics game development software offered by Epic Games, Inc. Figures 8A to 8E are representative configurator and display screens for associating and storing in such a CMS an example contextual image to be presented in layer 7 upon the occurrence of a corresponding event. There represents an example of a contextual configurator screen allowing a developer to enter in the “Pop-up Slug” and “Title” fields, a name and a title, respectively, of the image to be attached via the “image” field. In this example, the Pop-up Slug name is "ArcticPopUp" for the added image of the Arctic landscape. An associated description of the image can also be entered in the “Description” field.

La représente un exemple d’écran de configuration de condition d’événement à utiliser par le développeur pour créer des conditions d’événement respectives basées sur les champs « Triggers » et « Actions » associés. Les figures 8C et 8D représentent des écrans de sous-configuration Trigger et Action accessibles à partir de l’écran de configuration de condition d’événement représenté sur la . Comme représenté sur la , « Trigger Type » de « Region » a été sélectionné, et sur la le « Action Type » sélectionné pour un tel déclencheur est « Open Pop-up » avec le nom d’image associé de « ArcticPopUp » pour l’image à afficher. La illustre l’image contextuelle affichée résultante de « ArcticPopUp » et la description associée lorsque l’avatar d’un utilisateur entre dans la région pour une condition d’événement déclenchée par la région.There represents an example event condition configuration screen to be used by the developer to create respective event conditions based on the associated “Triggers” and “Actions” fields. Figures 8C and 8D represent Trigger and Action sub-configuration screens accessible from the event condition configuration screen shown on the . As shown on the , “Trigger Type” of “Region” has been selected, and on the The “Action Type” selected for such a trigger is “Open Pop-up” with the associated image name of “ArcticPopUp” for the image to be displayed. There illustrates the resulting displayed pop-up image of "ArcticPopUp" and associated description when a user's avatar enters the region for a region-triggered event condition.

De manière correspondante, les figures 9A à 9D sont des écrans de configurateur et d’affichage représentatifs pour associer et stocker dans un CMS 4 en exemple une URL d’une vidéo à afficher dans la couche 7 lors de l’occurrence d’un événement correspondant. En référence à la , un exemple d’écran d’affichage de configurateur est représenté pour entrer le nom de la vidéo en tant que « Unreal Slug », et un « Title » correspondant de la vidéo, qui sont tous deux « SampleVideo » dans cet exemple. De plus, l’écran d’affichage de configurateur de la comprend un bouton d’action pour ajouter les « videos », qui est étiqueté « + add. » En sélectionnant ce bouton, un écran d’affichage de sous-configurateur représenté sur la apparaîtrait pour permettre au développeur d’entrer « Title » de la vidéo respective et « Video URL » associée à partir de laquelle la vidéo serait diffusée. De plus, cet écran d’affichage de sous-configurateur permet également au développeur d’associer certains attributs de la vidéo à afficher, y compris si la vidéo est bouclée, c’est-à-dire répétée ou si elle doit être diffusée en direct.Correspondingly, Figures 9A to 9D are representative configurator and display screens for associating and storing in an example CMS 4 a URL of a video to be displayed in layer 7 upon the occurrence of an event corresponding. In reference to the , an example configurator display screen is shown for entering the name of the video as "Unreal Slug", and a corresponding "Title" of the video, both of which are "SampleVideo" in this example. In addition, the configurator display screen of the includes an action button to add the "videos", which is labeled "+add." » By selecting this button, a sub-configurator display screen shown on the would appear to allow the developer to enter “Title” of the respective video and associated “Video URL” from which the video would be streamed. Additionally, this sub-configurator display screen also allows the developer to associate certain attributes of the video to be displayed, including whether the video is looped, i.e. repeated, or whether it should be played in direct.

Un autre écran de configurateur (non représenté) similaire à l’écran de configurateur de la peut être utilisé pour saisir les déclencheurs associés à la lecture de vidéos spécifiées à l’aide des écrans de configurateur des figures 9A et 9B. Voir, par exemple, les figures 9C et 9D, qui comprennent des déclencheurs de la lecture d’une vidéo lorsque l’avatar d’un utilisateur entre dans une région définie à proximité d’un écran d’affichage rendu dans l’environnement virtuel affichant dans une première couche d’affichage l’image statique « OPERATION #OCEAN DETOX » sur la . Lorsque l’avatar entre dans la région définie, une vidéo commence à être lue dans la seconde couche 7 qui superpose cette image statique, comme représenté sur la , avec l’écran de titre « THE OCEANS ARE FULL OF TRASH. »Another configurator screen (not shown) similar to the configurator screen of the can be used to enter triggers associated with playing videos specified using the configurator screens in Figures 9A and 9B. See, for example, Figures 9C and 9D, which include triggers for playing a video when a user's avatar enters a defined region near a rendered display screen in the virtual environment displaying in a first display layer the static image “OPERATION #OCEAN DETOX” on the . When the avatar enters the defined region, a video begins to be played in the second layer 7 which superimposes this static image, as shown in the figure. , with the title screen “THE OCEANS ARE FULL OF TRASH. »

Les déclencheurs et actions décrits en référence aux figures 8A-8E et 9A-9D sont à des fins d’illustration uniquement, et d’autres événements et actions de déclenchement en variante sont envisagés par l’invention, y compris, mais sans s’y limiter, des actions entreprises par l’avatar, des déclencheurs régionaux, des déclencheurs temporels, des positions et/ou des points de vue spécifiques de l’avatar, et d’autres tels que décrits ci-dessus. De plus, bien que ces figures étaient illustratives de déclencheurs et d’actions basés sur des occurrences dans l’environnement virtuel par l’avatar d’un utilisateur, il doit être facilement compris que des actions pour afficher un contenu dans la couche 7 peuvent en variante être déclenchées par des instructions de commande provenant du dispositif utilisateur.The triggers and actions described with reference to Figures 8A-8E and 9A-9D are for illustrative purposes only, and other alternative trigger events and actions are contemplated by the invention, including but not limited to limited to, actions taken by the avatar, regional triggers, temporal triggers, specific positions and/or viewpoints of the avatar, and others as described above. Additionally, although these figures were illustrative of triggers and actions based on occurrences in the virtual environment by a user's avatar, it should be easily understood that actions to display content in layer 7 can alternatively be triggered by control instructions from the user device.

Il sera compris que, bien que divers aspects de la présente divulgation aient été illustrés et décrits à titre d’exemple, l’invention décrite ici ne s’y limite pas, mais peut être sinon diversement mise en œuvre comme suggéré par la divulgation et comme indiqué dans la portée des revendications suivantes en exemple. Par exemple, malgré la divulgation concernant un système et un procédé pour le rendu d’une réalité virtuelle, un tel système ou procédé peut de plus être mis en œuvre dans un système de réalité augmentée ou holographique, ou analogue, conformément à l’invention décrite précédemment.It will be understood that, although various aspects of the present disclosure have been illustrated and described by way of example, the invention described herein is not limited thereto, but may otherwise be variously implemented as suggested by the disclosure and as set forth in the scope of the following exemplary claims. For example, despite the disclosure concerning a system and a method for rendering a virtual reality, such a system or method can further be implemented in an augmented or holographic reality system, or the like, in accordance with the invention described previously.

Liste des Références :List of References:

1 Système
1 System

2 Application de navigateur
2 Browser application

3 Serveur
3 Server

4 Composant logiciel
4 Software component

5 Première couche
5 First layer

6 Représentation graphique d’informations supplémentaires
6 Graphical representation of additional information

7 Seconde couche
7 Second layer

8 Première connexion
8 First connection

9 Deuxième connexion
9 Second connection

10 Troisième connexion
10 Third connection

11 Premier avatar
11 First Avatar

12 Second dispositif utilisateur
12 Second user device

13 Composant multijoueur
13 Multiplayer component

14 Second avatar
14 Second avatar

15 Serveur Web
15 Web server

16 Base de données backend
16 Backend database

17 Dispositif utilisateur
17 User device

18 Clavier
18 Keyboard

19 CPU du dispositif utilisateur
19 user device CPU

20 Affichage du dispositif utilisateur
20 User device display

71 Serveur tiers
71 Third-party server

72 Trame tierce
72 Third-party frame

73 Quatrième connexion
73 Fourth connection

74 Trame RV
74 VR frame

75 Trame/fenêtre parent75 Parent frame/window

Claims (22)

Procédé de rendu d'images d'un environnement virtuel sur un premier dispositif utilisateur, comprenant les étapes consistant à :
exécuter une application de navigateur sur le premier dispositif utilisateur pour établir une première connexion, de préférence sur un réseau, entre le premier dispositif utilisateur et au moins un premier serveur et pour recevoir des données d'image de diffusion continue en provenance du premier serveur ;
restituer en tant que première couche sur le premier dispositif utilisateur des vues d'un environnement virtuel sur la base des données d'image de diffusion continue reçues ;
transmettre des instructions de commande du premier dispositif utilisateur au premier serveur et recevoir des données d'image de diffusion continue mises à jour correspondantes de l'environnement virtuel sur la base desdites instructions de commande ;
lors de la détection de l'occurrence d'au moins un événement prédéterminé lié à l'environnement virtuel et/ou aux instructions de commande, transmettre une demande avec un identifiant d'événement à un second serveur exécutant un composant logiciel, dans lequel l'application de navigateur et le composant logiciel maintiennent des listes correspondantes d'identifiants d'événement prédéterminés ;
recevoir des informations d'affichage supplémentaires provenant du composant logiciel en réponse à la demande, dans lequel ces informations d'affichage supplémentaires représentent un contenu généré à l'extérieur de l'environnement virtuel rendu ; et
restituer en tant que seconde couche partiellement transparente sur le premier dispositif utilisateur des images dérivées des informations d'affichage supplémentaires reçues, dans lequel la seconde couche est affichée en recouvrant la première couche pour permettre l'affichage du contenu externe dans l'environnement virtuel rendu.
Method for rendering images of a virtual environment on a first user device, comprising the steps consisting of:
executing a browser application on the first user device to establish a first connection, preferably over a network, between the first user device and at least one first server and to receive streaming image data from the first server;
rendering as a first layer on the first user device views of a virtual environment based on the received streaming image data;
transmitting control instructions from the first user device to the first server and receiving corresponding updated streaming image data of the virtual environment based on said control instructions;
upon detecting the occurrence of at least one predetermined event linked to the virtual environment and/or the control instructions, transmitting a request with an event identifier to a second server running a software component, in which the browser application and the software component maintain corresponding lists of predetermined event identifiers;
receiving additional display information from the software component in response to the request, wherein the additional display information represents content generated outside of the rendered virtual environment; And
rendering as a second partially transparent layer on the first user device images derived from the received additional display information, wherein the second layer is displayed overlying the first layer to enable display of external content in the rendered virtual environment .
Procédé selon la revendication 1, dans lequel les instructions de commande changent au moins l’une d’une première position ou d’une première orientation d’un premier avatar dans l’environnement virtuel, ou amènent le premier avatar à effectuer une action dans l’environnement virtuel, et dans lequel les vues rendues de l’environnement virtuel correspondent à la au moins une de la première position, de la première orientation ou de l’action du premier avatar.The method of claim 1, wherein the control instructions change at least one of a first position or orientation of a first avatar in the virtual environment, or cause the first avatar to perform an action in the virtual environment, and wherein the rendered views of the virtual environment correspond to at least one of the first position, first orientation or action of the first avatar. Procédé selon l'une des revendications précédentes, dans lequel le composant logiciel stocke des options de personnalisation quant à l’apparence d’au moins l’un de l’environnement virtuel ou du premier avatar et est configuré pour recevoir une sélection d’une option de personnalisation par le navigateur, et lors de la réception, la sélection fournit des informations au premier serveur, amenant le premier serveur à restituer au moins l’un de l’avatar ou de l’environnement virtuel en correspondance avec la sélection.Method according to one of the preceding claims, in which the software component stores personalization options as to the appearance of at least one of the virtual environment or of the first avatar and is configured to receive a selection of a personalization option by the browser, and upon receipt, the selection provides information to the first server, causing the first server to render at least one of the avatar or virtual environment corresponding to the selection. Procédé selon l'une des revendications précédentes, dans lequel le au moins un serveur est connecté à un composant multijoueur, le composant multijoueur fournissant une deuxième position et une deuxième orientation d’au moins un second avatar, commandé par un second dispositif utilisateur, au au moins un serveur, et le premier serveur restitue une représentation du second avatar à la deuxième position avec la deuxième orientation dans l’environnement virtuel.Method according to one of the preceding claims, in which the at least one server is connected to a multiplayer component, the multiplayer component providing a second position and a second orientation of at least one second avatar, controlled by a second user device, at at least one server, and the first server renders a representation of the second avatar at the second position with the second orientation in the virtual environment. Procédé selon l'une des revendications précédentes, dans lequel le premier serveur est adapté pour surveiller le mouvement du premier avatar pour détecter des conditions pour un événement, et pour transmettre au moins un identifiant d’évènement au premier dispositif utilisateur à chaque fois que ces conditions sont satisfaites, et le composant logiciel comprenant une base de données, la base de données stockant les informations supplémentaires associées à chaque identifiant d’évènement.Method according to one of the preceding claims, wherein the first server is adapted to monitor the movement of the first avatar to detect conditions for an event, and to transmit at least one event identifier to the first user device each time these conditions are satisfied, and the software component includes a database, the database storing additional information associated with each event identifier. Procédé selon l'une des revendications précédentes, en particulier la revendication 5, dans lequel les conditions de transmission du au moins un identifiant sont basées sur une proximité de la position du premier avatar par rapport à une troisième position dans l'environnement virtuel et/ou à une proximité de l’orientation du premier avatar par rapport à une troisième orientation dans l’environnement virtuel.Method according to one of the preceding claims, in particular claim 5, in which the transmission conditions of the at least one identifier are based on a proximity of the position of the first avatar relative to a third position in the virtual environment and/ or close to the orientation of the first avatar relative to a third orientation in the virtual environment. Procédé selon l'une des revendications précédentes, en particulier la revendication 5, dans lequel les conditions de transmission de l'identifiant d'événement sont basées sur une minuterie et/ou satisfaisant à la totalité d'une première liste de conditions prédéterminées, sur la base d'au moins l'un du premier emplacement, de la première orientation, de l'entrée d'instructions de commande, ou d'une action effectuée par le premier ou le second avatar.Method according to one of the preceding claims, in particular claim 5, wherein the conditions for transmitting the event identifier are based on a timer and/or satisfying all of a first list of predetermined conditions, on based on at least one of the first location, the first orientation, input of control instructions, or an action performed by the first or second avatar. Procédé selon l'une des revendications précédentes, dans lequel les informations d’affichage supplémentaires reçues en provenance du composant logiciel permettent une intégration d’applications externes dans l’environnement virtuel.Method according to one of the preceding claims, in which the additional display information received from the software component allows integration of external applications into the virtual environment. Procédé selon l'une des revendications précédentes, en particulier la revendication 8, dans lequel les informations supplémentaires reçues en provenance du composant logiciel établissent un canal de communication entre le premier dispositif utilisateur et le second dispositif utilisateur pour activer au moins l'un d'une fonction de chat, d'un canal audio, ou d'une connexion vidéo.Method according to one of the preceding claims, in particular claim 8, wherein the additional information received from the software component establishes a communication channel between the first user device and the second user device for activating at least one of a chat function, an audio channel, or a video connection. Procédé selon l'une des revendications précédentes, en particulier la revendication 9, dans lequel l’application de navigateur est dotée d’une autorisation pour initier et commander l’exécution des applications externes sur le premier dispositif utilisateur.Method according to one of the preceding claims, in particular claim 9, wherein the browser application is provided with authorization to initiate and control the execution of external applications on the first user device. Procédé selon l'une des revendications précédentes, en particulier la revendication 3, dans lequel le composant logiciel comprend un système de gestion de contenu, et les options de personnalisation peuvent de plus être définies par l'intermédiaire d'une interface de programmation d'application.Method according to one of the preceding claims, in particular claim 3, in which the software component comprises a content management system, and the personalization options can additionally be defined via a programming interface application. Système de rendu d'images d'un environnement virtuel sur un premier dispositif utilisateur comprenant :
un premier dispositif utilisateur configuré pour :
exécuter une application de navigateur,
recevoir des instructions de commande entrées par un utilisateur et transmettre ces instructions de commande, de préférence sur un réseau, à au moins un premier serveur, dans lequel le au moins un premier serveur est configuré pour (i) créer des données d'image indicatives de vues rendues d'un environnement virtuel sur la base, en partie, des instructions de commande reçues, et (ii) transmettre un flux des données d'image au premier dispositif utilisateur,
recevoir le flux de données d'image transmis au premier dispositif utilisateur, et
recevoir d'un second serveur des informations d'image supplémentaires produites par un composant logiciel s'exécutant sur ledit second serveur, lesdites informations d'image supplémentaires représentant un contenu généré à l'extérieur de l'environnement virtuel rendu ; et
dans lequel l’application de navigateur est configurée pour :
restituer en tant que première couche des vues de l’environnement virtuel sur la base des données d'image de diffusion continue reçues,
détecter l'occurrence d’au moins un événement lié à l’environnement virtuel et/ou aux instructions de commande,
lors de la détection du au moins un événement, transmettre une demande au second serveur exécutant le composant logiciel pour produire les informations d'image supplémentaires, et
restituer en tant que seconde couche partiellement transparente des images dérivées des informations d'affichage supplémentaires reçues, dans lequel la seconde couche est affichée en recouvrant au moins une partie de la première couche pour permettre l'affichage du contenu externe dans l'environnement virtuel rendu.
System for rendering images of a virtual environment on a first user device comprising:
a first user device configured to:
run a browser application,
receive control instructions entered by a user and transmit these control instructions, preferably over a network, to at least one first server, wherein the at least one first server is configured to (i) create indicative image data rendered views of a virtual environment based, in part, on the received control instructions, and (ii) transmitting a stream of the image data to the first user device,
receive the image data stream transmitted to the first user device, and
receiving from a second server additional image information produced by a software component executing on said second server, said additional image information representing content generated outside of the rendered virtual environment; And
in which the browser application is configured to:
rendering as a first layer views of the virtual environment based on the received streaming image data,
detect the occurrence of at least one event linked to the virtual environment and/or to the control instructions,
upon detecting the at least one event, transmitting a request to the second server running the software component to produce the additional image information, and
rendering as a partially transparent second layer images derived from the received additional display information, wherein the second layer is displayed overlapping at least a portion of the first layer to enable display of external content in the rendered virtual environment .
Système selon la revendication 12, dans lequel les instructions de commande changent au moins l’une d’une première position ou d’une première orientation d’un premier avatar dans l’environnement virtuel, ou amènent le premier avatar à effectuer une action dans l’environnement virtuel, et dans lequel les vues rendues de l’environnement virtuel correspondent à la au moins l’une de la première position, de la première orientation et/ou de l’action du premier avatar.The system of claim 12, wherein the control instructions change at least one of a first position or orientation of a first avatar in the virtual environment, or cause the first avatar to perform an action in the virtual environment, and in which the rendered views of the virtual environment correspond to at least one of the first position, the first orientation and/or the action of the first avatar. Système selon l'une des revendications 12 et 13, dans lequel le composant logiciel stocke des options de personnalisation quant à l’apparence de l’environnement virtuel et/ou du premier avatar et est configuré pour recevoir une sélection d’une option de personnalisation par le navigateur, et lors de la réception, la sélection fournit des informations au premier serveur, amenant le premier serveur à restituer le premier avatar et/ou l’environnement virtuel en correspondance avec la sélection.System according to one of claims 12 and 13, in which the software component stores personalization options as to the appearance of the virtual environment and/or the first avatar and is configured to receive a selection of a personalization option by the browser, and upon reception, the selection provides information to the first server, causing the first server to render the first avatar and/or the virtual environment corresponding to the selection. Système selon l'une des revendications 12 à 14, dans lequel le au moins un serveur est connecté à un composant multijoueur, le composant multijoueur fournissant une deuxième position et une deuxième orientation d’au moins un second avatar, commandé par un second dispositif utilisateur, au au moins un serveur, et le serveur restitue une représentation du second avatar à la deuxième position avec la deuxième orientation dans l’environnement virtuel.System according to one of claims 12 to 14, in which the at least one server is connected to a multiplayer component, the multiplayer component providing a second position and a second orientation of at least one second avatar, controlled by a second user device , at least one server, and the server renders a representation of the second avatar at the second position with the second orientation in the virtual environment. Système selon l'une des revendications 12 à 15, en particulier la revendication 13, dans lequel le serveur est adapté pour surveiller le mouvement du premier avatar pour détecter des conditions pour un événement, et pour transmettre au moins un identifiant d’évènement au premier dispositif utilisateur à chaque fois que ces conditions sont satisfaites, et le composant logiciel comprenant une base de données, la base de données stockant les informations supplémentaires associées à chaque identifiant d’évènement.System according to one of claims 12 to 15, in particular claim 13, wherein the server is adapted to monitor the movement of the first avatar to detect conditions for an event, and to transmit at least one event identifier to the first user device each time these conditions are satisfied, and the software component comprising a database, the database storing additional information associated with each event identifier. Système selon l'une des revendications 12 à 16, en particulier la revendication 16, dans lequel les conditions de transmission du au moins un identifiant sont basées sur une proximité de la position du premier avatar par rapport à une troisième position dans l'environnement virtuel ou sur une proximité de l’orientation du premier avatar par rapport à une troisième orientation dans l’environnement virtuel.System according to one of claims 12 to 16, in particular claim 16, in which the conditions of transmission of the at least one identifier are based on a proximity of the position of the first avatar in relation to a third position in the virtual environment or on a proximity of the orientation of the first avatar relative to a third orientation in the virtual environment. Système selon l'une des revendications 12 à 17, en particulier la revendication 15, dans lequel les conditions de transmission de l'identifiant d'événement sont basées sur au moins une minuterie ou satisfaisant à la totalité d'une première liste de conditions prédéterminées, sur la base d'au moins l'un du premier emplacement, de la première orientation, de l'entrée d'instructions de commande, ou d'une action effectuée par le premier ou le second avatar.System according to one of claims 12 to 17, in particular claim 15, in which the conditions for transmitting the event identifier are based on at least one timer or satisfying all of a first list of predetermined conditions , based on at least one of the first location, the first orientation, input of control instructions, or an action performed by the first or second avatar. Système selon l'une des revendications 12 à 18, dans lequel les informations d’affichage supplémentaires reçues en provenance du composant logiciel permettent une intégration d’applications externes dans l’environnement virtuel.System according to one of claims 12 to 18, in which the additional display information received from the software component allows integration of external applications into the virtual environment. Système selon l'une des revendications 12 à 19, en particulier la revendication 19, dans lequel les informations d’affichage supplémentaires reçues en provenance du composant logiciel établissent un canal de communication entre le premier dispositif utilisateur et le second dispositif utilisateur pour activer une fonction de chat, un canal audio, ou une connexion vidéo.System according to one of claims 12 to 19, in particular claim 19, wherein the additional display information received from the software component establishes a communication channel between the first user device and the second user device to activate a function chat, audio channel, or video connection. Système selon l'une des revendications 12 à 20, en particulier la revendication 20, dans lequel l'application de navigateur est dotée d'une autorisation pour initier et commander l'exécution des applications externes sur le premier dispositif utilisateur.System according to one of claims 12 to 20, in particular claim 20, wherein the browser application is provided with authorization to initiate and control the execution of external applications on the first user device. Système selon l'une des revendications 12 à 21, en particulier la revendication 14, dans lequel le composant logiciel comprend un système de gestion de contenu, et les options de personnalisation peuvent en outre être définies par l'intermédiaire d'une interface de programmation d'application.System according to one of claims 12 to 21, in particular claim 14, in which the software component comprises a content management system, and the customization options can additionally be defined via a programming interface of application.
FR2307198A 2022-07-06 2023-07-06 SYSTEMS AND METHODS FOR INTERACTIVE RENDERING OF A VIRTUAL ENVIRONMENT ON A USER DEVICE HAVING LIMITED COMPUTATIONAL CAPACITY Pending FR3137770A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IES2022/0111 2022-07-06
IES20220111 2022-07-06
US18/106,596 US11995787B2 (en) 2023-02-07 Systems and methods for the interactive rendering of a virtual environment on a user device with limited computational capacity
US18/106,596 2023-02-07

Publications (1)

Publication Number Publication Date
FR3137770A1 true FR3137770A1 (en) 2024-01-12

Family

ID=89387062

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2307198A Pending FR3137770A1 (en) 2022-07-06 2023-07-06 SYSTEMS AND METHODS FOR INTERACTIVE RENDERING OF A VIRTUAL ENVIRONMENT ON A USER DEVICE HAVING LIMITED COMPUTATIONAL CAPACITY

Country Status (3)

Country Link
DE (1) DE102023117678A1 (en)
FR (1) FR3137770A1 (en)
WO (1) WO2024008791A1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9064023B2 (en) * 2008-12-29 2015-06-23 Avaya Inc. Providing web content in the context of a virtual environment

Also Published As

Publication number Publication date
DE102023117678A1 (en) 2024-01-11
WO2024008791A1 (en) 2024-01-11

Similar Documents

Publication Publication Date Title
US11061531B2 (en) System and method for touch-based communications
US11102152B2 (en) System and method of using conversational agent to collect information and trigger actions
CN104769627B (en) Method and apparatus for opposite end auxiliary shopping
US6731314B1 (en) Network-based three-dimensional multiple-user shared environment apparatus and method
US11363329B2 (en) Object discovery and exploration in video content
US11288867B2 (en) Real-time exploration of video content
US20170358145A1 (en) Object customization and accessorization in video content
KR20140102177A (en) Augmenting a video conference
US20240152628A1 (en) Permission based media composition
EP3886031A1 (en) Product customizing method via terminal
US20150020020A1 (en) Multi-dimensional content platform for a network
EP2511842A1 (en) Digital model lookup from lightweight stations
US20190018554A1 (en) Virtual reality system and process for remote interaction with a performance event
EP3326066A1 (en) Method for interactive sharing of applications and data between touch-screen computers and computer program for implementing said method
US20230164298A1 (en) Generating and modifying video calling and extended-reality environment applications
FR3137770A1 (en) SYSTEMS AND METHODS FOR INTERACTIVE RENDERING OF A VIRTUAL ENVIRONMENT ON A USER DEVICE HAVING LIMITED COMPUTATIONAL CAPACITY
US20240004456A1 (en) Automated configuration of augmented and virtual reality avatars for user specific behaviors
JP2022184842A (en) Computer program, method, and server device
EP4116844A1 (en) A system and a method for handling web pages in an extended reality system
Moodley et al. Beyond reality: An application of extended reality and blockchain in the metaverse
US11995787B2 (en) Systems and methods for the interactive rendering of a virtual environment on a user device with limited computational capacity
US20240013495A1 (en) Systems and methods for the interactive rendering of a virtual environment on a user device with limited computational capacity
WO2020128206A1 (en) Method for interaction of a user with a virtual reality environment
FR3084498A1 (en) SYSTEMS AND METHODS FOR IMPROVED INTERACTION IN AN INCREASED REALITY APPLICATION
GB2622668A (en) Systems and methods for the interactive rendering of a virtual environment on a user device with limited computational capacity