DE102023117678A1 - SYSTEMS AND METHODS FOR THE INTERACTIVE DISPLAY OF A VIRTUAL ENVIRONMENT ON A USER DEVICE WITH LIMITED COMPUTER CAPACITY - Google Patents

SYSTEMS AND METHODS FOR THE INTERACTIVE DISPLAY OF A VIRTUAL ENVIRONMENT ON A USER DEVICE WITH LIMITED COMPUTER CAPACITY Download PDF

Info

Publication number
DE102023117678A1
DE102023117678A1 DE102023117678.1A DE102023117678A DE102023117678A1 DE 102023117678 A1 DE102023117678 A1 DE 102023117678A1 DE 102023117678 A DE102023117678 A DE 102023117678A DE 102023117678 A1 DE102023117678 A1 DE 102023117678A1
Authority
DE
Germany
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
DE102023117678.1A
Other languages
German (de)
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/US20240013495A1/en
Application filed by Journee Tech GmbH, Journee Technologies GmbH filed Critical Journee Tech GmbH
Publication of DE102023117678A1 publication Critical patent/DE102023117678A1/en
Pending legal-status Critical Current

Links

Images

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 MPEG-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

Abstract

Ein Benutzergerät zum Rendern von Bildern einer virtuellen Umgebung beinhaltet eine Anzeige und eine Browser-Anwendung zum Aufbau einer Verbindung zu einem Server zum Empfang von Streaming-Bilddaten zum Rendern von Ansichten einer virtuellen Umgebung als erste Schicht der Anzeige. Von einem Benutzer am Benutzergerät initiierte Steuerbefehle werden an den Server übermittelt. Daraufhin empfängt das Benutzergerät aktualisierte Streaming-Bilddaten zur Aktualisierung der angezeigten ersten Schicht. Bei Erkennen eines vorbestimmten Ereignisses in Bezug auf die virtuelle Welt/Steuerbefehle sendet das Benutzergerät eine Anfrage mit einer entsprechenden Ereigniskennung an ein Content-Management-System (CMS), wobei die Browser-Anwendung und das CMS entsprechende Listen mit Ereigniskennungen führen. Das CMS übermittelt dem Benutzergerät daraufhin zusätzliche Anzeigeinformationen außerhalb der virtuellen Umgebung, die das Benutzergerät als zweite teil-/bereichsweise transparente Schicht über der ersten Schicht wiedergibt.A user device for rendering images of a virtual environment includes a display and a browser application for connecting to a server for receiving streaming image data for rendering views of a virtual environment as a first layer of display. Control commands initiated by a user on the user device are transmitted to the server. The user device then receives updated streaming image data to update the displayed first layer. Upon detecting a predetermined event related to the virtual world/control commands, the user device sends a request with a corresponding event identifier to a content management system (CMS), whereby the browser application and the CMS maintain corresponding lists of event identifiers. The CMS then transmits additional display information to the user device outside the virtual environment, which the user device displays as a second partially/regionally transparent layer above the first layer.

Description

QUERVERWEIS AUF VERWANDTE PATENTANMELDUNGENCROSS REFERENCE TO RELATED PATENT APPLICATIONS

Diese Anmeldung beansprucht die Priorität der irischen Patentanmeldung Nr. S2022/0111, eingereicht am 6. Juli 2022, die hiermit durch Bezugnahme in vollem Umfang in die orliegende Anmeldung aufgenommen wird.This application claims priority to Irish Patent Application No. S2022/0111 filed on July 6, 2022, which is hereby incorporated by reference in its entirety into the present application.

GEBIET DER ERFINDUNGFIELD OF THE INVENTION

Die vorliegende Erfindung bezieht sich auf ein System, ein computerlesbares Medium und ein Verfahren zur interaktiven Darstellung einer dreidimensionalen Welt auf einem Benutzergerät.The present invention relates to a system, a computer-readable medium and a method for interactively displaying a three-dimensional world on a user device.

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Im Folgenden wird davon ausgegangen, dass die Begriffe virtuelle Welt, virtuelle Umgebung, virtuelle Erfahrung und virtuelle Realität für die Zwecke der vorliegenden Erfindung austauschbar verwendet werden können.It is hereinafter understood that the terms virtual world, virtual environment, virtual experience and virtual reality may be used interchangeably for the purposes of the present invention.

Die virtuelle Realität (VR) hat in den letzten zehn Jahren eine erhebliche Entwicklung erfahren. Die virtuelle Realität ermöglicht es dem Benutzer, eine computergenerierte, virtuelle Umgebung zu erleben und mit ihr zu interagieren, die der realen Welt ähnlich sein oder sich von ihr völlig unterscheiden kann. Ein zentrales Merkmal der virtuellen Realität ist, dass beim Benutzer ein Gefühl der Immersion hervorgerufen wird, wobei Immersion als die Wahrnehmung des Benutzers definiert werden kann, physisch in der virtuellen Umgebung anwesend zu sein. Daher bietet VR dem Benutzer eine virtuelle Umgebung.Virtual reality (VR) has experienced significant development over the last decade. Virtual reality allows the user to experience and interact with a computer-generated, virtual environment that may be similar to or completely different from the real world. A key feature of virtual reality is that it creates a feeling of immersion 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.

Die Anwendungsbereiche der virtuellen Realität sind weit gestreut und beinhalten beispielsweise Unterhaltung, Spiele, Wirtschaft und Bildung. Aufgrund der Vielfalt von Kontexten, in denen virtuelle Umgebungen heute eingesetzt werden, besteht ein immer größerer Bedarf an der Kompatibilität dieser virtuellen Umgebungen mit externen Anwendungen.The areas of application of virtual reality are wide-ranging and include, for example, entertainment, games, business and education. Due to the variety of contexts in which virtual environments are used today, there is an increasing need for the compatibility of these virtual environments with external applications.

Insbesondere besteht ein zunehmender Bedarf, die virtuelle Umgebung mit einer Möglichkeiten zur Kommunikation mit anderen Nutzern sowohl innerhalb als auch außerhalb der virtuellen Umgebung zu kombinieren oder den Nutzern zu ermöglichen, Bestellungen und/oder Zahlungen durchzuführen.In particular, there is an increasing need to combine the virtual environment with a means of communicating with other users both inside and outside the virtual environment or to enable users to carry out orders and/or payments.

Darüber hinaus besteht das Bedürfnis, weitere Anwendungen nahtlos in die virtuelle Umgebung einzubinden. Es ist durchaus denkbar, dass der Benutzer noch innerhalb der virtuellen Welt auf externe Anwendungen zugreifen oder diese nutzen möchte, ohne die virtuelle Welt dafür verlassen zu müssen, da dies dem Gefühl der Immersion in die virtuelle Umgebung abträglich ist. Insbesondere wäre es wünschenswert, eine Möglichkeit zur Einbettung von externen Websites, Kommunikationskanälen, Zugang zu Kontakten, E-Commerce-Plattformen, Zahlungsnetzwerken und dergleichen zu schaffen.There is also a need to seamlessly integrate other applications into the virtual environment. It is entirely conceivable that the user would still like to access or use external applications within the virtual world without having to leave the virtual world, as this detracts from the feeling of immersion in the virtual environment. In particular, it would be desirable to provide a way to embed external websites, communication channels, access to contacts, e-commerce platforms, payment networks and the like.

Viele der oben genannten Anwendungen, die für die Kombination mit der virtuellen Umgebung am interessantesten sind, beinhalten jedoch die Übertragung hochsensibler persönlicher Daten. Daher besteht das zusätzliche Problem, dass sichergestellt werden muss, dass Dritte nicht ohne weiteres Zugang zu solchen persönlichen Informationen erhalten können, wenn der Benutzer in der virtuellen Umgebung navigiert. Da die Nutzung solcher virtuellen Umgebungen immer allgegenwärtiger wird, besteht eine erhöhte Nachfrage nach einer Vielfalt von Benutzergeräten, die den Zugang zu solchen virtuellen Umgebungen ermöglichen. Unter einem Benutzergerät kann jedes Rechenmittel verstanden werden, das über eine Browser-Anwendung mit dem Internet verbunden werden kann. Beispiele für solche Benutzergeräte sind Personal Computer, Laptops, Tablets, Mobiltelefone und Videospielkonsolen.However, many of the above applications that are most interesting to combine with the virtual environment involve the transmission of highly sensitive personal data. Therefore, there is the additional problem of ensuring that third parties cannot easily gain access to such personal information as the user navigates the virtual environment. As the use of such virtual environments becomes more ubiquitous, there is increased demand for a variety of user devices that enable access to such virtual environments. A user device can be understood as any computing device that can be connected to the Internet via a browser application. Examples of such user devices include personal computers, laptops, tablets, cell phones and video game consoles.

Um dem Benutzer ein immersives Erlebnis zu bieten, ist es außerdem notwendig, dass das Rendering der virtuellen Welt mit hohen Rahmenraten und einer hohen Auflösung erfolgt, um das Erlebnis für den Benutzer nicht negativ zu beeinflussen. Derzeit sind die meisten Benutzergeräte, die nicht speziell für High-End-Gaming-Anwendungen konzipiert sind, nicht in der Lage, solche dreidimensionalen virtuellen Umgebungen detailliert darzustellen. Darüber hinaus sind Benutzergeräte, die zu einer solchen Darstellung fähig sind, in der Regel sehr teuer und unbeweglich.In addition, in order to provide the user with an immersive experience, it is necessary that the rendering of the virtual world is done at high frame rates and high resolution so as not to negatively impact the user's experience. Currently, most user devices that are not specifically designed for high-end gaming applications are not capable of displaying such three-dimensional virtual environments in detail. Furthermore, user devices capable of such display are typically very expensive and immobile.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION

Es ist daher ein Ziel der vorliegenden Erfindung, eine Lösung bereitzustellen, die die reibungslose Darstellung von dreidimensionalen und hochauflösenden (z. B. HD- oder 4K-Qualität) Umgebungen auf einem generischen Benutzergerät ermöglicht. Insbesondere ist es wünschenswert, dass das Rendering der virtuellen Welt nahtlos mit weiteren Anwendungen kombiniert werden kann, was ein immersiveres Erlebnis für den Benutzer ermöglicht, sowie Sicherheit gegen den Verlust von sensiblen Informationen an Dritte bietet, so dass der Benutzer frei mit anderen Benutzern oder Anwendungen innerhalb der virtuellen Umgebung interagieren kann, ohne den Verlust von sensiblen Informationen an Dritte befürchten zu müssen. Darüber hinaus ist es das Ziel der vorliegenden Erfindung, einen Rahmen für die Darstellung virtueller Umgebungen bereitzustellen, der mit einem breiten Spektrum möglicher Benutzergeräte kompatibel ist.It is therefore an aim of the present invention to provide a solution that enables the smooth display 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 seamlessly combined with other applications, enabling a more immersive experience for the user, as well as providing security against the loss of sensitive information to third parties, allowing the user to freely interact with other users or applications can interact within the virtual environment without having to fear the loss of sensitive information to third parties. Furthermore, the aim of the present invention is to provide a framework for representing virtual environments that is compatible with a wide range of possible user devices.

Diese Aufgabe wird insbesondere durch ein System gelöst, das Folgendes aufweist:

  • - ein (tragbares) Benutzergerät, auf dem eine Browser-Anwendung läuft, und
  • - mindestens einen Server, der konfiguriert ist, um Folgendes zu leisten:
    1. a. Steuerbefehle von dem Benutzergerät zu empfangen;
    2. b. Ansichten einer virtuellen Welt in Abhängigkeit von den Steuerbefehlen als Bilddaten zu rendern; und
    3. c. einen Strom der Bilddaten an das Benutzergerät zu übertragen,
  • - sowie eine Software-Komponente, die so konfiguriert ist, dass sie zusätzliche Informationen bereitstellt.
This task is solved in particular by a system that has the following:
  • - a (portable) user device running a browser application, and
  • - at least one server configured to:
    1. a. receive control commands from the user device;
    2. b. render views of a virtual world as image data depending on the control commands; and
    3. c. transmit a stream of image data to the user device,
  • - as well as a software component configured to provide additional information.

Gemäß diesem System ist die Browser-Anwendung konfiguriert, um:

  1. a) das Auftreten mindestens eines Ereignisses im Zusammenhang mit der virtuellen Welt und/oder den Steuerbefehlen zu erkennen;
  2. b) beim Erkennen des mindestens einen Ereignisses eine Anfrage an die Software-Komponente zu senden;
  3. c) zusätzliche Informationen von der Software-Komponente als Antwort auf die Anfrage zu empfangen;
  4. d) den Bildstrom vom Server in einer ersten Schicht anzuzeigen und die empfangenen zusätzliche Informationen und/oder grafischen und/oder textuellen Elemente, die von den empfangenen zusätzlichen Informationen abgeleitet sind, in einer zweiten (teil-/bereichsweise transparenten) Schicht anzuzeigen, wobei die zweite Schicht über der ersten Schicht angezeigt wird.
According to this system, the browser application is configured to:
  1. a) detect the occurrence of at least one event related to the virtual world and/or the control commands;
  2. b) to send a request to the software component when the at least one event is detected;
  3. c) receive additional information from the software component in response to the request;
  4. d) display the image stream from the server in a first layer and display the received additional information and / or graphical and / or textual elements derived from the received additional information in a second (partially / partially transparent) layer, whereby the second layer is displayed above the first layer.

Ein wichtiges Merkmal der vorliegenden Erfindung ist, dass die rechnerische „Schwerstarbeit“, d.h. das Rendering der dreidimensionalen Umgebung, vom Server durchgeführt und dann an das Benutzergerät gestreamt wird. Der Bildstrom, der die erste Schicht bildet, und die vom Browser empfangenen Zusatzinformationen, die die zweite Schicht bilden, werden dann nur in dem Benutzergerät, nämlich im Browser, überlagert. Dies ermöglicht nicht nur eine einfache Überwindung der rechnerischen Grenzen des Benutzergerätes, sondern setzt lediglich eine Kompatibilität des Benutzergerätes mit dem Browser voraus und ist damit in einem weiten Bereich von Geräten gleichermaßen einsetzbar.An important feature of the present invention is that the computational “heavy lifting,” i.e., rendering of the three-dimensional environment, is performed by the server and then streamed to the user device. The image stream, which forms the first layer, and the additional information received from the browser, which forms the second layer, are then only overlaid in the user device, namely in the browser. This not only enables the computational limits of the user device to be easily overcome, but also only requires the user device to be compatible with the browser and can therefore be used equally in a wide range of devices.

Die Auslagerung des Renderings auf einen Server entschärft das seit langem bestehende Problem, dass das hochauflösende Rendering einer dreidimensionalen Umgebung bei hohen Bildwiederholraten, d.h. 60 Bilder pro Sekunde oder mehr, rechenintensiv ist und hohe Anforderungen an die Leistungsfähigkeit der Hardware stellt, auf der der Rendering-Prozess läuft. Die Verarbeitungskapazität der meisten Benutzergeräte ist für solche Berechnungen nicht ausgelegt, wodurch entweder die Bildrate, die Auflösung oder beides stark eingeschränkt werden, wenn ein solcher Rendering-Prozess direkt ausgeführt wird.Outsourcing rendering to a server alleviates the long-standing problem that high-resolution rendering of a three-dimensional environment at high refresh rates, i.e. 60 frames per second or more, is computationally intensive and places high demands on the performance of the hardware on which the rendering is running. Process is running. The processing capacity of most user devices is not designed for such calculations, severely limiting either the frame rate, the resolution, or both when executing such a rendering process directly.

Darüber hinaus ermöglicht die Kombination von Schichten in der Browser-Anwendung, bei der eine Software-Komponente zusätzliche Informationen bereitstellt, die in der zweiten Schicht angezeigt werden sollen, eine einfache Einbettung externer Inhalte und Anwendungen in die virtuelle Welt. Die Kombination von Schichten in der Browser-Anwendung vereinfacht zudem Sicherheitsfragen, da alle Komponenten die Anmeldedaten und die Autorisierung von einer einzigen Instanz erben.In addition, the combination of layers in the browser application, where a software component provides additional information to be displayed in the second layer, allows easy embedding of external content and applications into the virtual world. The combination of layers in the browser application also simplifies security issues because all components inherit credentials and authorization from a single instance.

Es ist wichtig zu beachten, dass Overlaying in diesem Zusammenhang jeder Form der Kombination und/oder Verschmelzung der Bilddaten mit den zusätzlichen Informationen in einer Weise entsprechen kann, die dazu führt, dass die zusätzlichen Informationen als vor den Bilddaten wahrgenommen werden, unabhängig von der tatsächlichen Reihenfolge der Ebenen. HTML5 bietet eine einfache Möglichkeit zur Umsetzung eines erfindungsgemäßen Schichtaufbaus.It is important to note that overlaying in this context can correspond to any form of combining and/or merging the image data with the additional information in a manner that results in the additional information being perceived as preceding the image data, regardless depends on the actual order of the levels. HTML5 offers a simple way to implement a layer structure according to the invention.

Die Software-Komponente kann sich entweder auf einem weiteren, zweiten Server (insbesondere einem Webserver) oder auf dem Server befinden, der die Bilddaten bereitstellt. Weiterhin kann es vorteilhaft sein, wenn die Software-Komponente extern, beispielsweise in der Cloud oder auf einem anderen Server, liegt.The software component can be located either on a further, second server (in particular a web server) or on the server that provides the image data. Furthermore, it can be advantageous if the software component is located externally, for example in the cloud or on another server.

In einer Ausführungsform kann ein Ereignis durch eine Liste von Bedingungen definiert sein. Die Bedingungen entsprechen vorzugsweise Parametern oder Eigenschaften der virtuellen Welt oder der Steuerbefehle. Ein Ereignis kann dann als eingetreten gelten, wenn alle definierten Bedingungen gleichzeitig erfüllt sind.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 the control commands. An event can be considered to have occurred when all defined conditions are fulfilled at the same time.

Die von der Software-Komponente bereitgestellten Zusatzinformationen können textuelle, grafische oder akustische Informationen enthalten. In einigen Ausführungsformen kann sie Links zum Aufrufen weiterer Anwendungen bereitstellen oder den Benutzer zu weiteren Inhalten weiterleiten.The additional information provided by the software component may contain textual, graphical or acoustic information. In some embodiments, it may provide links to access additional applications or direct the user to additional content.

Gemäß einer Ausführungsform der vorliegenden Erfindung verändern die Steuerbefehle eine erste Position oder eine erste Ausrichtung eines ersten Avatars innerhalb der virtuellen Welt oder veranlassen den ersten Avatar, eine Aktion in der virtuellen Welt durchzuführen, und die gerenderten Ansichten der virtuellen Welt entsprechen der ersten Position, der ersten Ausrichtung und/oder der Aktion des ersten Avatars.According to an embodiment of the present invention, the control commands change a first position or a first orientation of a first avatar within 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 first orientation and/or the action of the first avatar.

Gemäß dieser Ausführungsform kann der Benutzer in der virtuellen Welt navigieren und mit den darin befindlichen Objekten interagieren. Ein Vorteil dieser Ausführungsform ist, dass die Browser-Anwendung nur die Eingabe der Steuerbefehle verarbeiten und an den Server übermitteln muss, während der Server das Rendering der virtuellen Welt gemäß den empfangenen Befehlen durchführt. So kann der Benutzer frei mit der virtuellen Welt interagieren, ohne dass das Benutzergerät große Rechenlasten tragen muss. Dies erhöht die Immersivität der virtuellen Umgebung für den Benutzer.According to this embodiment, the user can navigate in the virtual world and interact with the objects therein. An advantage of this embodiment is that the browser application only needs to process the input of the control commands and transmit them to the server, while the server performs the rendering of the virtual world according to the received commands. This allows the user to freely interact with the virtual world without the user device having to bear large computing loads. This increases the immersiveness of the virtual environment for the user.

Gemäß einer (weiteren) Ausführungsform speichert die Software-Komponente Anpassungsoptionen für das Erscheinungsbild der virtuellen Welt und/oder des Avatars und ist so konfiguriert, dass sie eine Auswahl einer Anpassungsoption durch den Browser empfängt und bei Empfang der Auswahl Informationen an den Server liefert, die den Server veranlassen, den Avatar und/oder die virtuelle Welt entsprechend der Auswahl zu rendern.According to a (further) embodiment, the software component stores customization options for 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 of the selection, to provide information to the server that cause the server to render the avatar and/or virtual world according to the selection.

Ein vorteilhafter Effekt dieser Ausführungsform ist, dass das Benutzergerät und/oder der Browser keine Informationen über das Aussehen der virtuellen Welt speichern müssen. Dadurch werden die Anforderungen an die Rechenleistung und den Speicher des Benutzergerätes weiter reduziert.An advantageous effect of this embodiment is that the user device and/or the browser does not need to store information about the appearance of the virtual world. This further reduces the computing power and memory requirements of the user device.

Unter einer Anpassungsmöglichkeit werden alle Optionen verstanden, die sich auf die visuelle Darstellung der dreidimensionalen Welt, des Avatars oder der darüber liegenden zweiten Schicht beziehen, wie z.B. Farbe, Aussehen, verschiedene Skins etc.An adaptation option refers to all options that relate to the visual representation of the three-dimensional world, the avatar or the second layer above, such as color, appearance, different skins, etc.

In einer weiteren Ausführungsform der Erfindung ist der Server mit einer Multiplayer-Komponente verbunden, wobei die Multiplayer-Komponente dem Server eine zweite Position und eine zweite Ausrichtung mindestens eines zweiten Avatars, der von einem zweiten Benutzergerät gesteuert wird, zur Verfügung stellt und der Server eine Darstellung des zweiten Avatars an der zweiten Position mit der zweiten Ausrichtung innerhalb der virtuellen Welt rendert. Ferner ist die Multiplayer-Komponente so konfiguriert, dass die Darstellung der virtuellen Welt auf dem ersten und dem zweiten Benutzergerät synchronisiert ist.In a further embodiment of the invention, the server is connected to a multiplayer component, the multiplayer component providing the server with a second position and a second orientation of at least a second avatar controlled by a second user device, and the server providing a Renders representation of the second avatar in the second position with the second orientation within the virtual world. Furthermore, the multiplayer component is configured so that the representation of the virtual world on the first and second user devices is synchronized.

Diese Ausführungsform ermöglicht es mehreren Benutzern, mit derselben virtuellen Welt und innerhalb dieser Welt miteinander zu interagieren. Insbesondere kann die Multiplayer-Komponente dazu eingerichtet sein, sich mit einem zweiten Server zu verbinden, der von dem zweiten Benutzergerät gesteuert wird. Dies hat den vorteilhaften Effekt, dass mehrere Systeme gemäß der vorliegenden Erfindung problemlos miteinander verbunden werden können, ohne das Benutzergerät mit zusätzlichen Arbeitslasten zu belasten.This embodiment allows multiple users to interact with the same virtual world and with each other within that world. In particular, the multiplayer component can be set up to connect to a second server that is controlled by the second user device. This has the advantageous effect that multiple systems according to the present invention can be easily connected to one another without burdening the user device with additional workloads.

Die Multiplayer-Komponente ist jedoch nicht auf die Verbindung von verschiedenen Servern beschränkt. Es kann auch eine Verbindung zwischen dem vom ersten Benutzergerät gesteuerten Server und einer herkömmlichen, für die Darstellung dreidimensionaler Umgebungen geeigneten persönlichen Hardware, wie VR-Brillen, Spielkonsolen, Personalcomputern usw. hergestellt werden.However, the multiplayer component is not limited to connecting different servers. A connection can also be established between the server controlled by the first user device and conventional personal hardware suitable for displaying three-dimensional environments, such as VR glasses, game consoles, personal computers, etc.

In einer (weiteren) Ausführungsform der vorliegenden Erfindung ist der Server selbst geeignet, die Bewegung des ersten Avatars zu überwachen, um Bedingungen für ein Ereignis zu erkennen, und mindestens einen Identifikator an das Benutzergerät zu übermitteln, wenn diese Bedingungen erfüllt sind. Die Software-Komponente beinhaltet eine Datenbank, wobei die Datenbank die zusätzlichen Informationen speichert, die mit jedem Identifikator verbunden sind.In a (further) 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 when these conditions are met. The software component includes a database, the database storing the additional information associated with each identifier.

So stellt gemäß einem Aspekt der Erfindung der Empfang eines solchen Identifikators durch den Browser ein Ereignis dar. Dies kann zum Beispiel der Fall sein, wenn der Avatar einen bestimmten Bereich in der virtuellen Umgebung betritt. Diese indirekte Erfassung von Ereignissen durch den Browser hat den Vorteil, dass weitere Arbeitslast vom Benutzergerät weggeleitet wird. Außerdem reduziert sich die Bereitstellung der zusätzlichen Informationen durch die Software-Komponente in diesem Fall auf einen einfachen Nachschlagevorgang, bei dem die empfangene Kennung mit den gespeicherten Kennungen verglichen wird und die zur empfangenen Kennung gehörende Information in der Datenbank an das Browsergerät übermittelt wird.According to one aspect of the invention, the receipt of such an identifier by the browser constitutes an event. This can be the case, for example, when the avatar enters a certain area in the virtual environment. This indirect capture of events by the browser has the advantage of redirecting further workload away from the user device. In addition, the provision of the additional information by the software component in this case is reduced to a simple lookup process in which the received identifier is compared with the stored identifiers and the information belonging to the received identifier in the database is transmitted to the browser device.

Gemäß einem weiteren Aspekt der Erfindung beinhalten die Bedingungen für die Übermittlung des mindestens einen Identifikators eine Nähe der Position des Avatars zu einer Zielposition in der virtuellen Welt und/oder eine Nähe der Orientierung des Avatars zu einer dritten Orientierung in der virtuellen Welt.According to a further aspect of the invention, the conditions for transmitting the at least one identifier include a proximity of the avatar's position to a target position in the virtual world and/or a proximity of the avatar's orientation to a third orientation in the virtual world.

Dies ermöglicht es, auf einfache Weise Bedingungen für Ereignisse in der virtuellen Welt zu formulieren, die auf dem Standort des Avatars basieren. Dies ermöglicht es insbesondere Benutzern, die nicht in der Gestaltung dreidimensionaler Umgebungen geschult sind, Bedingungen für Ereignisse in der dreidimensionalen Welt vorzugeben, z. B. über eine Anwendungsprogrammierschnittstelle (API).This makes it possible to easily formulate conditions for events in the virtual world based on the avatar's location. In particular, this allows users who are not trained in the design of three-dimensional environments to specify conditions for events in the three-dimensional world, e.g. B. via an application programming interface (API).

Es ist zu beachten, dass der Begriff Position nicht auf den genauen Punkt mit der Form (x,y,z) in der dreidimensionalen Welt beschränkt ist, sondern sich auch auf einen bestimmten Bereich der Welt beziehen kann, wie z. B. einen Raum oder ein bestimmtes Stockwerk oder eine bestimmte Etage oder eine beliebige Art von Bereichen oder Volumen, die z. B. durch mehrere Koordinaten definiert sind. Insbesondere muss die dritte Position nicht unbedingt fest sein, sondern kann beispielsweise mit der zweiten Position eines zweiten Avatars oder eines sich bewegenden Fahrzeugs oder eines anderen beweglichen oder verformbaren Objekts übereinstimmen.It should be noted that the term position is not limited to the exact point with the shape (x,y,z) in the three-dimensional world, but can also refer to a specific area of the world, such as: B. a room or a specific floor or floor or any type of area or volume that e.g. B. are defined by several coordinates. In particular, the third position does not necessarily have to be fixed, but can, for example, correspond to the second position of a second avatar or a moving vehicle or another movable or deformable object.

Die Bedingungen für die Übermittlung des Identifikators können auch auf einem Zeitgeber und/oder auf der Erfüllung aller einer ersten Liste vorbestimmter Bedingungen beruhen, die auf dem ersten Standort und/oder der ersten Ausrichtung und/oder der Eingabe von Steuerbefehlen und/oder einer vom ersten oder zweiten Avatar durchgeführten Aktion beruhen.The conditions for transmitting the identifier may also be based on a timer and/or on the fulfillment of all of a first list of predetermined conditions based on the first location and/or the first orientation and/or the input of control commands and/or one of the first or second avatar.

Auf diese Weise können verschiedene Bedingungen bei der Definition eines Ereignisses kombiniert werden. Beispielsweise kann die Nähe zu einer bestimmten dritten Position in der dreidimensionalen Welt nur in Kombination mit einem bestimmten Timerwert oder in Kombination mit einer bestimmten Orientierung des ersten Avatars zur Erkennung eines Ereignisses führen.In this way, different conditions can be combined when defining an event. For example, proximity to a specific third position in the three-dimensional world can only lead to the detection of an event in combination with a specific timer value or in combination with a specific orientation of the first avatar.

Eine weitere Ausführungsform des Systems gemäß der vorliegenden Erfindung kann erreicht werden, wenn die von der Software-Komponente empfangenen Zusatzinformationen eine Einbettung von externen Anwendungen in die virtuelle Welt ermöglichen.A further embodiment of the system according to the present invention can be achieved if the additional information received from the software component enables external applications to be embedded in the virtual world.

Der Begriff Einbettung bezieht sich in diesem Zusammenhang auf die Anzeige von textlichen, visuellen oder akustischen Informationen, die von einer weiteren auf dem Benutzergerät laufenden Anwendung empfangen und in die zweite Schicht eingebunden werden, um vor dem Bildstrom angezeigt zu werden.The term embedding in this context refers to the display of textual, visual or acoustic information that is received from another application running on the user device and integrated into the second layer to be displayed before the image stream.

Dies ermöglicht die nahtlose Einbindung von Daten, die von externen Anwendungen bereitgestellt werden, in die zweite Schicht, die vor dem Bildstrom angezeigt werden soll. Insbesondere kann der Nutzer so auf weitere Anwendungen zugreifen, ohne die virtuelle Welt verlassen zu müssen. Darüber hinaus können die von der Zusatzsoftware bei der Erkennung eines Ereignisses bereitgestellten Informationen genutzt werden, um die Einbindung solcher externen Anwendungen zu veranlassen.This allows data provided by external applications to be seamlessly incorporated into the second layer to be displayed before the image stream. In particular, the user can access additional applications without having to leave the virtual world. In addition, the information provided by the additional software when an event is detected can be used to trigger the integration of such external applications.

Insbesondere können die von der Software-Komponente bereitgestellten und in der zweiten Schicht angezeigten Zusatzinformationen Links enthalten, die es der Browser-Anwendung ermöglichen, weitere Anwendungen zu öffnen. In diesem Fall erbt die Einbettung von externen Funktionen in die virtuelle Umgebung die bereits von der Browser-Anwendung bereitgestellten Sicherheitsfunktionen.In particular, the additional information provided by the software component and displayed in the second layer may contain links that enable the browser application to open further applications. In this case, embedding external functions into the virtual environment inherits the security functions already provided by the browser application.

In einer besonderen Ausführungsform stellen die von der Software-Komponente empfangenen Zusatzinformationen einen Kommunikationskanal zwischen dem Benutzergerät und dem zweiten Benutzergerät her, insbesondere eine Chat-Funktion und/oder einen Audiokanal und/oder eine Videoverbindung.In a particular embodiment, the additional information received by 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.

Dies ermöglicht insbesondere in Multiplayer-Settings eine direkte Kommunikation zwischen den verschiedenen Benutzern, die an der dreidimensionalen Welt teilnehmen. Dies macht das Multiplayer-Erlebnis für den Nutzer attraktiver, da der Nutzer auf einfache Weise mit anderen Nutzern kommunizieren oder kooperieren kann.This enables direct communication between the different users participating in the three-dimensional world, especially in multiplayer settings. This makes the multiplayer experience more attractive for the user as the user can easily communicate or cooperate with other users.

In einer weiteren Ausführungsform ist die Browser-Anwendung mit einer Berechtigung versehen, die Ausführung der externen Anwendungen auf dem Benutzergerät zu veranlassen und zu steuern.In a further embodiment, the browser application is provided with authorization to initiate and control the execution of the external applications on the user device.

Da die zusätzlichen Informationen innerhalb der zweiten Schicht der Browser-Anwendung angezeigt werden, ist es notwendig, dass die Browser-Anwendung mit der notwendigen Authentifizierung und Freigabe agieren kann, um die Ausführung weiterer Anwendungen auf dem Benutzergerät in Übereinstimmung mit den Daten zu initiieren und zu steuern, die entweder von dem Server, der die virtuelle Welt rendert, oder der Software-Komponente empfangen werden.Since the additional information is displayed within the second layer of the browser application, it is necessary that the browser application can act with the necessary authentication and authorization to initiate and allow the execution of additional applications on the user device in accordance with the data control received either from the server rendering the virtual world or the software component.

Auch dies trägt dazu bei, dass das Erlebnis für den Benutzer noch intensiver wird, da es nicht notwendig ist, die Nutzung bestimmter Anwendungen manuell zuzulassen. Dies ist insbesondere für E-Commerce-Anwendungen von Vorteil. In einer bestimmten Ausführungsform kann die Browser-Anwendung auf etablierte Online-Zahlungssysteme als Plug-Ins zurückgreifen, um eine einfache Bezahlung in der virtuellen Umgebung zu ermöglichen. Da die Browser-Anwendung keine gesonderte Erlaubnis des Nutzers benötigt, um entsprechende Transaktionen auszulösen, werden auch hier die entsprechenden Sicherheitsmerkmale an die virtuelle Umgebung vererbt. Dies vereinfacht und beschleunigt die Nutzung von externen Anwendungen in der virtuellen Welt erheblich. This also helps to make the experience even more immersive for the user, as there is no need to manually allow the use of certain applications. This is particularly advantageous for e-commerce applications. In a particular embodiment, the browser application can rely on established online payment systems as plug-ins to enable easy payment in the virtual environment. Since the browser application does not require the user's separate permission to trigger corresponding transactions, the corresponding security features are also passed on to the virtual environment. This significantly simplifies and accelerates the use of external applications in the virtual world.

Gemäß einem weiteren Aspekt der Erfindung besteht die Software-Komponente aus einem Content Management System (CMS), wobei die Anpassungsmöglichkeiten über ein Application Programming Interface (API) eingestellt werden können.According to a further aspect of the invention, the software component consists of a content management system (CMS), whereby the customization options can be set via an application programming interface (API).

Dadurch wird die Benutzerfreundlichkeit bei der Anpassung des CMS weiter erhöht, da auch nicht fachkundige Benutzer die Anpassungsmöglichkeiten einfacher handhaben können. In einem besonderen Beispiel ist das CMS eine Webanwendung, die aus einem Webserver und einem Datenbank-Backend besteht.This further increases the user-friendliness when customizing the CMS, as even non-expert users can use the customization options more easily. In a particular example, the CMS is a web application that consists of a web server and a database backend.

In diesem Fall erstellt und pflegt das CMS die virtuelle Umgebung, indem es für jedes Benutzergerät eine generierte Konfiguration im Datenbank-Backend speichert. Gemäß dieser Ausführungsform steuert die CMS-Anwendung die virtuelle Umgebung.In this case, the CMS creates and maintains the virtual environment by storing a generated configuration in the database backend for each user device. According to this embodiment, the CMS application controls the virtual environment.

Weiterhin werden die vorgenannten Probleme durch ein Verfahren gelöst, bei dem

  • ein (tragbares) Benutzergerät, auf dem eine Browser-Anwendung läuft, eine erste Verbindung zu mindestens einem Server herstellt, der Server Steuerbefehle von dem Benutzergerät empfängt und Ansichten einer virtuellen Welt in Abhängigkeit von den genannten Steuerbefehlen als Bilddaten rendert, wobei ein Strom der Bild- und/oder Audiodaten an das Benutzergerät übertragen wird;
  • der Browser das Auftreten mindestens eines Ereignisses in Bezug auf die virtuelle Welt und/oder die Steuerbefehle erkennt und beim Erkennen des mindestens einen Ereignisses eine Anfrage an eine Software-Komponente sendet, auf die Anfrage hin der Browser zusätzliche Informationen von der Software-Komponente erhält;
  • der Browser den Bildstrom vom Server in einer ersten Schicht und die empfangenen Zusatzinformationen und/oder von den empfangenen Zusatzinformationen abgeleitete grafische und/oder textuelle Elemente in einer zweiten (teil-/bereichsweise transparenten) Schicht anzeigt, wobei die zweite Schicht die erste Schicht überlagernd angezeigt wird.
Furthermore, the aforementioned problems are solved by a method in which:
  • a (portable) user device running a browser application establishes a first connection to at least one server, the server receives control commands from the user device and renders views of a virtual world as image data depending on said control commands, a stream of the image - and/or audio data is transmitted to the user device;
  • the browser detects the occurrence of at least one event relating to the virtual world and/or the control commands and, upon detecting the at least one event, sends a request to a software component, upon which request the browser receives additional information from the software component;
  • the browser displays the image stream from the server in a first layer and the additional information received and/or graphical and/or textual elements derived from the additional information received in a second (partially/partially transparent) layer, the second layer being displayed overlying the first layer becomes.

Gemäß einem weiteren Aspekt kann die erfindungsgemäße Schichtstruktur in einer Drittparteien-Anwendung, vorzugsweise einer Drittparteien-Webseite, die vorzugsweise auf einem Drittparteien-Server gehostet wird, geändert werden. Dies kann durch die Integration der ersten und der zweiten Schicht in einen übergeordneten Rahmen erreicht werden, der Teil der Drittparteien-Anwendung oder -Webseite sein kann. In diesem Fall kann die von der Browser-Anwendung gerenderte Webseite in zwei oder mehr Rahmen aufgeteilt werden, von denen einer die virtuelle Welt mit der ersten bzw. zweiten Schicht anzeigt, was als VR-Rahmen bezeichnet werden kann. Mindestens einer der anderen Rahmen kann Inhalte anzeigen, die vom Drittparteien-Server und/oder einem anderen Server stammen, und kann daher als Drittparteien-Rahmen bezeichnet werden. Der in dem mindestens einen anderen Rahmen wiedergegebene Inhalt kann der eines Webshops oder allgemeiner einer Händlerplattform sein.According to a further aspect, the layer structure according to the invention can be changed in a third-party application, preferably a third-party website, which is preferably hosted on a third-party server. This can be achieved by integrating the first and second layers into a higher-level framework, which can be part of the third-party application or website. In this case, the web page rendered by the browser application may be split into two or more frames one of which displays the virtual world with the first and second layers, respectively, which can be called a VR frame. At least one of the other frames may display content originating from the third-party server and/or another server and therefore may be referred to as a third-party frame. The content reproduced in the at least one other frame can be that of a web shop or, more generally, a retailer platform.

Die oben erwähnten Rahmen können durch jede verfügbare Technologie implementiert werden, z. B. iRahmen und/oder Vorlagen und/oder Abschnitte von HTML5.The above-mentioned frameworks can be implemented through any available technology, e.g. B. iFrames and/or templates and/or sections of HTML5.

In einem Aspekt der Erfindung gibt es eine Kommunikation, die zwischen der mindestens einen der Schichten (erste und zweite Schicht des virtuellen Wortes) und der Drittparteien-Anwendung, z.B. der Drittparteien-Webseite, hergestellt wird. Insbesondere können Ereignisse, die der ersten und/oder zweiten Schicht zugeordnet sind, an die Drittparteien-Anwendung und/oder den Drittparteien-Server weitergeleitet werden. Vorzugsweise wird die Kommunikation clientseitig z. B. zwischen dem Rahmen aufgebaut und optional an einen Server, z. B. den Drittparteien-Server, weitergeleitet. Dies ermöglicht, eine unmittelbare Reaktion auf das Ereignis, z. B. durch die Drittparteien-Webseite zu generieren.In one aspect of the invention, there is communication established between the at least one of the layers (first and second layers of the virtual word) and the third-party application, e.g., the third-party website. In particular, events associated with the first and/or second layer may be forwarded to the third-party application and/or the third-party server. The communication is preferably carried out on the client side, e.g. B. built between the frame and optionally to a server, e.g. B. the third-party server. This enables an immediate reaction to the event, e.g. B. generated by the third-party website.

Sobald die Browser-Anwendung ein Ereignis erkennt, wird eine Anfrage an die Software-Komponente gesendet, die zusätzliche Informationen zurückgibt, die dann in der zweiten Schicht angezeigt werden. Die Zusatzinformationen können insbesondere einen Link oder eine Schaltfläche enthalten, mittels derer der Benutzer mit den Steuerbefehlen interagieren kann.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. The additional information can in particular contain a link or a button by which the user can interact with the control commands.

Sobald die Browser-Anwendung die mit einem Ereignis verbundene ID in der ersten und/oder zweiten Schicht registriert, kann der übergeordnete Rahmen weiterhin veranlasst werden, Informationen, die mit der Ereignis-ID verbunden sind, an den mindestens einen anderen Drittparteien-Rahmen weiterzugeben, der mit der Drittparteien-Anwendung und/oder dem Drittparteien-Server verbunden ist. Insbesondere kann die Ereignis-ID, vorzugsweise mittels einer Übergabetabelle, einer Aktion auf der Drittparteien-Seite zugeordnet werden, wie z.B. dem Ablegen eines Artikels in einen Kassenkorb. Diese Information kann dann vom übergeordneten Rahmen an eine Komponente der Drittparteien-Anwendung weitergegeben werden. Alternativ kann die Information auch nur eine lokale Änderung im Drittparteien-Rahmen des Browsers/Clients bewirken, die zu einem späteren Zeitpunkt an die Drittparteien-Anwendung oder den Server übermittelt werden kann.Once the browser application registers the ID associated with an event in the first and/or second layer, the parent framework may further be caused to pass information associated with the event ID to the at least one other third-party framework, connected to the third-party application and/or server. In particular, the event ID can be associated, preferably using a transfer table, with an action on the third-party site, such as placing an item in a checkout cart. This information can then be passed from the parent framework to a component of the third-party application. Alternatively, the information may only cause a local change in the third-party framework of the browser/client, which can be transmitted to the third-party application or server at a later time.

Der Begriff „übergeordneter Rahmen“ wird gewählt, um die konzeptionelle Struktur des vorliegenden Aspekts der Erfindung zu unterstreichen und muss sich nicht auf einen tatsächlichen Rahmen beziehen, sondern allgemeiner auf die Komponente einer Drittparteien-Anwendung oder Webseite, in die der VR-Rahmen und ein oder mehrere Drittparteien-Rahmen eingebettet sind.The term "overarching framework" is chosen to emphasize the conceptual structure of the present aspect of the invention and need not refer to an actual framework, but more generally to the component of a third-party application or website into which the VR framework and a or multiple third-party frames are embedded.

In einem alternativen Aspekt kann der Browser die zusätzlichen Informationen unmittelbar nach der Erkennung des Ereignisses an die Drittparteien-Anwendung und/oder den Drittparteien-Server weitergeben, ohne sie vorher an den Drittparteien-Rahmen weiterzuleiten.In an alternative aspect, the browser may pass the additional information to the third-party application and/or server immediately after detecting the event, without first passing it to the third-party framework.

In allen oben genannten Fällen kann die Weitergabe der mit der Ereignis-ID verbundenen Informationen von der Eingabe entsprechender Steuerbefehle durch den Benutzer abhängig sein oder nicht, sobald die Darstellungsgrafik in der zweiten Schicht angezeigt wird. So kann es beispielsweise sein, dass der Benutzer auf eine Schaltfläche in der zweiten Schicht klicken muss, bevor die Weitergabe der zugehörigen Informationen durch den übergeordneten Rahmen veranlasst wird. Alternativ kann es für bestimmte Ereignis-IDs bevorzugt sein, die Weitergabe der zugehörigen Informationen durch den übergeordneten Rahmen sofort zu veranlassen, ohne dass eine weitere Eingabe durch den Benutzer erforderlich ist.In all of the above cases, the propagation of the information associated with the event ID may or may not be dependent on the user entering appropriate control commands once the presentation graphic is displayed in the second layer. For example, the user may need to click a button in the second layer before the associated information is triggered to be passed through the higher-level framework. Alternatively, for certain event IDs, it may be preferable to cause the associated information to be passed through the parent framework immediately, without requiring further input from the user.

Dieser Aspekt eignet sich z.B. besonders für E-Commerce-Anwendungen. Hier kann das Ereignis durch eine Aktion des Avatars in der virtuellen Welt ausgelöst werden, die dazu führt, dass zusätzliche Informationen auf der zweiten Schicht angezeigt werden. Solche Zusatzinformationen können z.B. Produktinformationen sein, aber auch eine Kauf-Schaltfläche, die den Kauf des angezeigten Artikels auslöst. Wenn der Benutzer einen entsprechenden Steuerbefehl eingibt (z. B. durch Anklicken der Schaltfläche „Kaufen“), können die zugehörigen Informationen in der oben beschriebenen Weise übermittelt werden.This aspect is particularly suitable for e-commerce applications, for example. Here the event can be triggered by an action of the avatar in the virtual world, which results in additional information being displayed on the second layer. Such additional information can be, for example, product information, but also a purchase button that triggers the purchase of the displayed item. When the user enters an appropriate control command (e.g. by clicking the “Buy” button), the associated information may be transmitted in the manner described above.

So können z.B. Artikel, die auf der Website einer Drittpartei zum Verkauf stehen, durch Aktionen in der virtuellen Welt in einen Einkaufskorb gelegt werden. Durch die Trennung der ersten und zweiten Schicht bzw. der Drittparteien-Webseite in verschiedene Rahmen bleiben Teile der Drittparteien-Webseite für den Nutzer beim Navigieren in der virtuellen Welt direkt zugänglich und sichtbar.For example, items for sale on a third-party website can be added to a shopping cart through actions in the virtual world. By separating the first and second layers or the third-party website into different frames, parts of the third-party website remain directly accessible and visible to the user when navigating in the virtual world.

Mit dem erfindungsgemäßen Verfahren können die gleichen Vorteile erzielt werden, wie sie bereits im Zusammenhang mit dem erfindungsgemäßen System beschrieben wurden. Es ist zu beachten, dass die im Zusammenhang mit dem erfindungsgemäßen System beschriebenen Merkmale auch für das erfindungsgemäße Verfahren gelten. Ebenso sind Merkmale des erfindungsgemäßen Verfahrens auf das erfindungsgemäße System übertragbar, indem die Browser-Anwendung, der Server oder die Zusatzsoftware so konfiguriert werden, dass sie zur Ausführung der entsprechenden Verfahrensmerkmale geeignet sind.With the method according to the invention, the same advantages can be achieved as have already been described in connection with the system according to the invention. It should be noted that the features described in connection with the system according to the invention also apply to the method according to the invention. Likewise, features of the method according to the invention can be transferred to the system according to the invention by configuring the browser application, the server or the additional software so that they are suitable for carrying out the corresponding method features.

KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF DRAWINGS

Im Folgenden wird die Erfindung auch im Hinblick auf weitere Details, Merkmale und Vorteile beschrieben, die unter Bezugnahme auf die Figuren näher erläutert werden. Die beschriebenen Merkmale und Merkmalskombinationen, wie sie im Folgenden in den unter Bezugnahme auf die Figuren beschriebenen Figuren dargestellt sind, sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder für sich allein anwendbar, ohne dass dadurch der Rahmen der Erfindung verlassen wird.The invention is also described below with regard to further details, features and advantages, which are explained in more detail with reference to the figures. The described features and combinations of features, as shown below in the figures described with reference to the figures, can be used not only in the combination specified in each case, but also in other combinations or on their own, without thereby departing from the scope of the invention becomes.

Im Folgenden werden Ausführungsformen der Erfindung unter Bezugnahme auf die Figuren beschrieben.

  • 1 zeigt ein System bestehend aus einer Browser-Anwendung, die auf einem Benutzergerät (nicht dargestellt) läuft, einer Software-Komponente und einem Server;
  • 2 zeigt das erfindungsgemäße System in einer Multiplayer-Einstellung, verbunden mit einem weiteren Benutzergerät;
  • 3a zeigt die Erkennung eines Ereignisses durch Übermittlung einer ID vom Server an die Browser-Anwendung;
  • 3b zeigt die Erkennung eines Ereignisses durch die Browser-Anwendung;
  • 4 zeigt eine Ausführungsform, bei der das CMS einen Webserver und eine Backend-Datenbank beinhaltet;
  • 5a zeigt einen beispielhaften Datenbankeintrag für die Definition eines Ereignisses;
  • 5b zeigt einen beispielhaften Datenbankeintrag, der die ID von Ereignissen mit den Zusatzinformationen verknüpft;
  • 6 zeigt ein Beispiel für ein Benutzergerät nach dem System der Erfindung;
  • 7 zeigt ein Beispiel für die Einbettung der virtuellen Realität in ein Client-Fenster, das die Kommunikation mit einem Drittparteien-Server herstellt;
  • 8A bis 8E zeigen repräsentative Konfigurator- und gerenderte Anzeigebildschirme für die Zuordnung und Speicherung von Beispielbildern in der Software-Komponente gemäß dem erfindungsgemäßen System; und
  • 9A bis 9D zeigen repräsentative Konfigurator- und gerenderte Anzeigebildschirme für die Zuordnung und Speicherung von beispielhaften Videos gemäß der Erfindung in der Software-Komponente.
Embodiments of the invention are described below with reference to the figures.
  • 1 shows a system consisting of a browser application running on a user device (not shown), a software component and a server;
  • 2 shows the system according to the invention in a multiplayer setting, connected to another user device;
  • 3a shows the detection of an event by transmitting an ID from the server to the browser application;
  • 3b shows the recognition of an event by the browser application;
  • 4 shows an embodiment in which the CMS includes a web server and a backend database;
  • 5a shows an example database entry for defining an event;
  • 5b shows an example database entry that links the ID of events with the additional information;
  • 6 shows an example of a user device according to the system of the invention;
  • 7 shows an example of embedding virtual reality into a client window that establishes communication with a third-party server;
  • 8A until 8E show representative configurator and rendered display screens for the assignment and storage of example images in the software component according to the system according to the invention; and
  • 9A until 9D show representative configurator and rendered display screens for assigning and storing exemplary videos according to the invention in the software component.

DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION

1 zeigt den Grundaufbau eines Systems gemäß der vorliegenden Erfindung. Beim Eintritt in die virtuelle Welt durch Zugriff auf eine Umgebungs-URL stellt eine repräsentative Anzeige, die von der Browser-Anwendung 2 auf einem Display eines Benutzergerätes mit begrenzter Rechenkapazität (nicht dargestellt) bereitgestellt wird, über eine erste Verbindung 8 eine Kommunikation zu einer Software-Komponente 4 her, die auf einem separaten Gerät ausgeführt wird, um erste Authentifizierungsprüfungen durchzuführen und von der Software-Komponente 4 in eine Warteschlange für den Zugriff auf einen Server 3 gestellt zu werden. 1 shows the basic structure of a system according to the present invention. When entering the virtual world by accessing an environmental URL, a representative display provided by the browser application 2 on a display of a user device with limited computing capacity (not shown) communicates to software via a first connection 8 -Component 4, which runs on a separate device to carry out initial authentication checks and is placed in a queue by the software component 4 for access to a server 3.

Repräsentative Authentifizierungsprüfungen können beispielsweise einen Anmeldevorgang beinhalten, bei dem die Browser-Anwendung 2 über die erste Verbindung 8 eine Anfrage nach einem digitalen Token, beispielsweise eine HTTP-POST-Anfrage, an die Software-Komponente 4 sendet. Das entsprechende, von der Browser-Anwendung 2 empfangene digitale Token ermöglicht den Zugriff auf diese virtuelle Welt, z.B. durch einen Warteschlangendienst zur Zuweisung eines Servers, wie dem Server 3, aus einer Gruppe von Servern, die den Zugriff auf diese virtuelle Welt ermöglichen. Wenn der Zugriff auf die virtuelle Welt passwortgeschützt ist, kann die übermittelte Anfrage außerdem ein gültiges Passwort und/oder Single Sign-On (SSO)-Kennungen enthalten, wenn die Browser-Anwendung 2 oder das Benutzergerät eine entsprechende SSO-Funktionalität enthält. Ferner kann sich das Benutzergerät mit der E-Mail und dem Passwort des Benutzers anmelden, wenn ein Administrator zuvor ein Konto für diese E-Mail erstellt hat.Representative authentication checks can include, for example, a login process in which the browser application 2 sends a request for a digital token, for example an HTTP POST request, to the software component 4 via the first connection 8. The corresponding digital token received by the browser application 2 enables access to this virtual world, for example through a queuing service for allocating a server, such as server 3, from a group of servers that enable access to this virtual world. If access to the virtual World is password protected, the submitted request may also contain a valid password and/or Single Sign-On (SSO) identifiers if the browser application 2 or user device includes appropriate SSO functionality. Further, the user device can log in with the user's email and password if an administrator has previously created an account for that email.

Das digitale Token kann ein kryptographisch signiertes JSON Web („JWT“) Token gemäß Internet Engineering Task Force (IETF) RFC 5741 sein, das als Cookie und/oder RAM-Speicher des Benutzergerätes gespeichert werden kann, oder jede andere geeignete Art von digitalem Token. Sobald das Benutzergerät über das digitale Token verfügt, können nachfolgende Abfragen der Browser-Anwendung 2 zu einer Authentifizierungsprüfung durch die Software-Komponente 4 führen, um festzustellen, ob das Benutzergerät über ein gültiges Token verfügt, d.h. eines, das nicht abgelaufen ist, um auf die virtuelle Welt zuzugreifen.The digital token may be a cryptographically signed JSON Web (“JWT”) token in accordance with Internet Engineering Task Force (IETF) RFC 5741, which may be stored as a cookie and/or RAM of the user device, or any other suitable type of digital token . Once the user device has the digital token, subsequent queries 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. one that has not expired, in order to access access the virtual world.

Es sollte klar sein, dass typische Cloud-Streaming-Server möglicherweise nicht sofort für die Bereitstellung durch das Benutzergerät verfügbar sind, insbesondere wenn die Nachfrage nach solchen Servern hoch ist, so dass es eine Verzögerung bei der Zuweisung und Gewährung des Zugriffs auf einen Cloud-Streaming-Server, wie Server 3, geben kann. Wenn die Cloud-Streaming-Kapazität, auf der die gewünschte virtuelle Welt (/binary executable) läuft, bereits bereitgestellt und verfügbar ist, kann das Benutzergerät umgehend auf den Server 3 umgeleitet werden. Ist dies nicht der Fall, kann das Benutzergerät ein „Ticket“ zusammen mit der Position des Tickets in der Warteschlange erhalten und die Warteschlange mit diesem Ticket periodisch abfragen. Vorteilhafterweise bevorzugt die Warteschlangenverwaltungssoftware oft Server, die sich in der Nähe des Benutzergerätes befinden, um eine eventuelle Latenzzeit des Benutzergerätes zu reduzieren.It should be understood that typical cloud streaming servers may not be immediately available for deployment by the user device, especially when demand for such servers is high, so there will be a delay in allocating and granting access to a cloud Streaming servers, like Server 3, can exist. If the cloud streaming capacity running the desired virtual world (binary executable) is already provisioned and available, the user device can be immediately redirected to the server 3. If this is not the case, the user device may receive a “ticket” along with the ticket's position in the queue and periodically poll the queue with that ticket. Advantageously, the queue management software often prefers servers that are located close to the user device in order to reduce any latency of the user device.

Die Software-Komponente 4 baut eine zweite Verbindung 9 mit dem Server 3 auf. Alternativ verbindet sich der Server 3 mit der Software-Komponente 4, um seine Anwesenheit und seinen Status zu signalisieren. Insbesondere kann die Software-Komponente 4 so konfiguriert sein, dass sie aus einer Vielzahl von zugänglichen Servern nach vorgegebenen Kriterien einen auswählt, während die Browser-Anwendung 2 in der Warteschlange steht. Diese Kriterien können z.B. von der Geolokation oder IP-Adresse des Benutzers, der Verbindung, der Anzahl der verfügbaren Server oder den Authentifizierungsdaten abhängen. Über die zweite Verbindung 9 lädt der Server 3 eine Liste der Ereignisbedingungen (siehe 5a) von der Software-Komponente 4 herunter und speichert sie in einer speicherinternen Adresskarte, d. h. einer Hash-Map oder Datenbank auf dem Server. Die Browser-Anwendung 2 erhält ebenfalls eine Kopie einer teil-/bereichsweisen oder vollständigen Liste der Ereignisbedingungen.The software component 4 sets up a second connection 9 with the server 3. Alternatively, the server 3 connects to the software component 4 to signal its presence and status. In particular, the software component 4 can be configured so that it selects one from a large number of accessible servers according to predetermined criteria while the browser application 2 is in the queue. These criteria may depend, for example, on the user's geolocation or IP address, connection, number of available servers or authentication credentials. The server 3 loads a list of event conditions via the second connection 9 (see 5a) from the software component 4 and stores it in an in-memory address map, ie a hash map or database on the server. The browser application 2 also receives a copy of a partial/range or complete list of event conditions.

Der Server wird für eine voreingestellte Zeit, z.B. 10 Sekunden, für das Benutzergerät reserviert und die Server-Adresse (eine URL) wird an dieses Benutzergerät zur Verwendung durch die Browser-Anwendung 2 gesendet. Die Browser-Anwendung 2 stellt dann eine Verbindung zu diesem Server 3 her und authentifiziert sich, zum Beispiel über eine WebSocket-Protokollverbindung. Über diesen WebSocket beginnt sofort ein Aushandlungsprozess und es werden Standard WebRTC ICE (Interactive Connectivity Establishment) Kandidaten ausgetauscht. ICE-Kandidaten werden verwendet, um eine dritte Verbindung 10, beispielsweise eine WebRTC-Verbindung, zwischen dem Server 3 und der Browser-Anwendung 2 aufzubauen. Gemäß einem weiteren Aspekt der Erfindung können auch TURN (Traversal Using Relay around NAT protocol) Standard-Relay-Server verwendet werden. Nach einem Handshake zwischen der Browser-Anwendung 2 und dem Server 3 beginnt der Strom von Bilddaten und Audio.The server is reserved for the user device for a preset time, e.g. 10 seconds, and the server address (a URL) is sent to that user device for use by the browser application 2. The browser application 2 then establishes a connection to this server 3 and authenticates itself, for example via a WebSocket protocol connection. A negotiation process begins immediately via this WebSocket and standard WebRTC ICE (Interactive Connectivity Establishment) 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 a further aspect of the invention, TURN (Traversal Using Relay around NAT protocol) standard relay servers can also be used. After a handshake between the browser application 2 and the server 3, the flow of image data and audio begins.

Über die dritte Verbindung 10 werden die der dreidimensionalen Umgebung entsprechenden Bild- (Video) und/oder Audiodaten vom Server 3 zur Browser-Anwendung 2 übertragen, wo sie in der ersten Schicht 5 angezeigt werden.The image (video) and/or audio data corresponding to the three-dimensional environment are transmitted from the server 3 to the browser application 2 via the third connection 10, where they are displayed in the first layer 5.

Über die gleiche dritte Verbindung 10 werden die Steuerbefehle von der Browser-Anwendung 2 an den Server 3 gesendet. Je nach Art des Benutzergerätes, mit dem auf die dreidimensionale Umgebung zugegriffen wird, können die Steuerbefehle sein: Klick-Ereignisse, Mausbewegungen, Tastatureingaben, Joystick-Bewegungen, VR-Haptik, Touchscreen-Reaktionen, Beschleunigungssensor-Eingaben, Gyroskop-Messungen, Webcam-Daten und gesprochene Befehle, d.h. Mikrofon-Eingaben.The control commands are sent from the browser application 2 to the server 3 via the same third connection 10. Depending on the type of user device used to access the three-dimensional environment, the control commands can be: click events, mouse movements, keyboard inputs, joystick movements, VR haptics, touchscreen reactions, accelerometer inputs, gyroscope measurements, webcam Data and spoken commands, i.e. microphone inputs.

Darüber hinaus beinhaltet die dritte Verbindung 10 einen bidirektionalen Datenkanal für den Austausch weiterer Informationen zwischen dem Server 3 und der Browser-Anwendung 2.In addition, the third connection 10 includes a bidirectional data channel for exchanging further information between the server 3 and the browser application 2.

Wenn die Browser-Anwendung die Verbindung zum Server 3 unterbricht, aktualisiert der Server 3 seinen Status über die zweite Verbindung 9 an die Software-Komponente 4, um sich als wieder verfügbar zu erklären.If the browser application breaks the connection to the server 3, the server 3 updates its status via the second connection 9 to the software component 4 to declare itself available again.

Wenn ein Ereignis von der Browser-Anwendung 2 erkannt wird, sendet die Browser-Anwendung (je nach Verfügbarkeit der benötigten Daten in der Browser-Anwendung) über die erste Verbindung 8 eine Anfrage an die Software-Komponente 4 und erhält über dieselbe Verbindung zusätzliche Informationen zu dem Ereignis von der Software-Komponente 4. Die Browser-Anwendung 2 zeigt dann die empfangenen Zusatzinformationen und/oder aus den empfangenen Zusatzinformationen 6 abgeleitete grafische und/oder textuelle Elemente in der zweiten (teil-/bereichsweise transparenten) Schicht 7 an, wobei die zweite Schicht 7 über der ersten Schicht 5 liegend angezeigt wird. Wie hierin verwendet, bedeutet „teil-/bereichsweise transparente Schicht" ohne Einschränkung halbtransparente oder transparente Bereiche über mindestens einem Bereich einer solchen Schicht, wobei mindestens andere Bereiche der Schicht Bilder aufweisen, die die Bilder in der überlagerten, d.h. unteren Schicht, wie der ersten Schicht 5, ausblenden oder mit ihnen verschmelzen. Alternativ kann die Browser-Anwendung alle zusätzlichen Informationen, die zur Ausführung des Ereignisses erforderlich sind, zuvor von der Software-Komponente 4 heruntergeladen haben. Die unten beschriebenen 8A bis 8E zeigen repräsentative Konfigurator- und gerenderte Anzeigebildschirme für die Zuordnung und Speicherung von Beispielbildern in der Software-Komponente 4 für die Anzeige von Pop-up-Bildern, wenn das Eintreten eines zugehörigen auslösenden Ereignisses erkannt wird. Ebenso zeigen die 9A bis 9D repräsentative Konfigurator- und Anzeigebildschirme zum Zuordnen und Speichern von Beispielvideos in der Software-Komponente für die Anzeige von Videos, wenn das Auftreten eines zugehörigen auslösenden Ereignisses erkannt wird.When an event is detected by the browser application 2, the browser application (depending on the availability of the required data in the browser application) sends a request to the software component 4 via the first connection 8 and receives additional information via the same connection to the event from the software component 4. The browser application 2 then displays the received additional information and/or graphical and/or textual elements derived from the received additional information 6 in the second (partially/regionally transparent) layer 7, where the second layer 7 is displayed lying above the first layer 5. As used herein, "partially/regionally transparent layer" means, without limitation, semi-transparent or transparent areas over at least a portion of such layer, with at least other areas of the layer having images similar to the images in the superimposed, ie, lower layer, such as the first Layer 5, hide or merge with them. Alternatively, the browser application may have previously downloaded any additional information required to execute the event from the software component 4. Those described below 8A until 8E show representative configurator and rendered display screens for assigning and storing example images in the software component 4 for displaying pop-up images when the occurrence of an associated triggering event is detected. They also show 9A until 9D representative configurator and display screens for associating and storing sample videos in the software component for displaying videos when the occurrence of an associated triggering event is detected.

Wenn der Server 3 über die dritte Verbindung 10 Steuerbefehle von der Browser-Anwendung 2 empfängt, werden die Position und Orientierung des ersten Avatars 11 in der virtuellen Welt aktualisiert und die an die Browser-Anwendung 2 übertragenen Bilddaten werden entsprechend aktualisiert. Darüber hinaus vergleicht der Server 3 die neue Position und Orientierung des Avatars mit der Liste der Positionen und Orientierungen, die den möglichen Ereignisbedingungen entsprechen und in der zweiten Datenbank auf dem Server 3 gespeichert sind.When the server 3 receives control commands 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 transmitted to the browser application 2 is updated accordingly. In addition, the server 3 compares the new position and orientation of the avatar with the list of positions and orientations corresponding to the possible event conditions stored in the second database on the server 3.

Zu den weiteren möglichen Ereignisbedingungen gehören die Zuordnung einer ID eines spielinternen Akteurs (Elements) zu einem Video, die geplante absolute Zeit (d. h. die Zeit in der realen Welt), die seit Beginn des Streams verstrichene Zeit und andere.Other possible event conditions include the assignment of an in-game actor (element) ID to a video, the scheduled absolute time (i.e., real-world time), the elapsed time since the start of the stream, and others.

2 zeigt das System in einer Multiplayer-Umgebung. Der Server 3 empfängt die Position und Orientierung eines zweiten Avatars 14 von einer Multiplayer-Komponente 13. Die Multiplayer-Komponente 13 ist mit mindestens einem zweiten Benutzergerät 12 verbunden, das die Bewegung eines zweiten Avatars 14 steuert. Es versteht sich, dass diese Verbindung zu einem zweiten Benutzergerät auch eine indirekte Verbindung über einen weiteren Server im Sinne der vorliegenden Erfindung sein kann. In diesem Fall ist unter dem zweiten Benutzergerät das gesamte System gemäß der vorliegenden Erfindung zu verstehen. Nach Erhalt der zweiten Position und der zweiten Ausrichtung rendert der Server 3 einen zweiten Avatar 14 als Teil der in der ersten Schicht 5 angezeigten Bilddaten. 2 shows the system in a multiplayer environment. 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 one second user device 12 that 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 within the meaning of the present invention. In this case, the second user device is to be understood as meaning the entire system according to the present invention. After 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.

3a zeigt die indirekte Erkennung von Ereignisbedingungen im System durch den Server 3 von 1 und 2. Während sich der erste Avatar in der virtuellen Umgebung bewegt, überwacht der Server die Eigenschaften der Eingabebefehle und der virtuellen Welt und prüft, ob alle Bedingungen für ein vordefiniertes Ereignis erfüllt sind. Ist dies der Fall, sendet der Server eine dem erkannten Ereignis entsprechende ID an die Browser-Anwendung. Die Browser-Anwendung erkennt dann das Vorhandensein der ID im Datenstrom der dritten Verbindung als Ereignis. Die Browser-Anwendung sendet daraufhin eine Anfrage an die Software-Komponente, die die empfangene ID enthält, oder hat zuvor bereits Daten mit einer solchen ID abgeholt. Die Software-Komponente vergleicht dann die empfangene ID mit einer Liste von IDs, die in der Datenbank gespeichert sind. Sobald die passende ID in der Datenbank gefunden wurde, übermittelt die Software-Komponente die mit der empfangenen ID verbundenen Zusatzinformationen an die Browser-Anwendung, sofern die Zusatzinformationen nicht bereits vorab abgeholt wurden. Schließlich verarbeitet der Browser die empfangenen Zusatzinformationen und zeigt sie in der zweiten Schicht an, wobei er den Bilddatenstrom überlagert. 3a shows the indirect detection of event conditions in the system by the server 3 of 1 and 2 . As the first avatar moves in the virtual environment, the server monitors the properties of the input commands and the virtual world and checks whether all conditions for a predefined event are met. If this is the case, the server sends an ID corresponding to the detected event to the browser application. The browser application then detects the presence of the ID in the third connection's data stream as an event. The browser application then sends a request to the software component that contains the received ID, or has already fetched data with such an ID. The software component then compares the received ID with a list of IDs stored in the database. As soon as the appropriate ID has been found in the database, the software component transmits the additional information associated with the received ID to the browser application, unless the additional information has already been fetched in advance. Finally, the browser processes the additional information received and displays it in the second layer, overlaying the image data stream.

3b zeigt die direkte Erkennung eines Ereigniszustandes durch die Browser-Anwendung 2 in einer weiteren Ausführungsform der Erfindung. In diesem Fall überwacht die Browser-Anwendung 2 die Steuerbefehle und die virtuelle Umgebung direkt. Wenn alle Bedingungen, die ein Ereignis definieren, erfüllt sind, sendet die Browser-Anwendung die dem jeweiligen Ereignis entsprechende ID-Anfrage an die Software-Komponente 4. Die Software-Komponente 4 vergleicht dann die empfangene ID mit einer Liste von IDs, die in der Datenbank gespeichert sind. Sobald die passende ID in der Datenbank gefunden wurde, sendet die Software-Komponente die mit der empfangenen ID verbundenen Zusatzinformationen an die Browser-Anwendung. Schließlich verarbeitet der Browser die empfangenen Zusatzinformationen und zeigt sie in der zweiten Schicht an, wobei er den Bilddatenstrom überlagert. 3b shows the direct recognition of an event state by the browser application 2 in a further embodiment of the invention. In this case, the browser application 2 monitors the control commands and the virtual environment directly. If all conditions that define an event are met, sen The browser application sends the ID request corresponding to the respective event to the software component 4. The software component 4 then compares the received ID with a list of IDs that are stored in the database. As soon as the matching ID has been found in the database, the software component sends 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.

4 zeigt eine Ausführungsform, bei der die Software-Komponente 4 aus einem CMS besteht. Das CMS gliedert sich in einen Webserver 15 und eine Backend-Datenbank 16. Das CMS empfängt Anpassungsmöglichkeiten über die erste Verbindung 8 und speichert die erzeugte Konfiguration in der Backend-Datenbank. Insbesondere überwacht es den Status der virtuellen Umgebung über die zweite Verbindung 9. 4 shows 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 status of the virtual environment via the second connection 9.

5a zeigt die Datenstruktur eines Ereignisses, bestehend aus der Ereignis-ID und einer Vielzahl von Bedingungen. Die Bedingungen basieren zum Teil auf den möglichen Orten, Ausrichtungen und Aktionen in der virtuellen Welt sowie auf den Befehlseingaben. Eine erste Bedingung kann z. B. sein, dass der erste Standort des ersten Avatars 11 innerhalb einer bestimmten Region um einen dritten Standort in der virtuellen Welt liegt. Eine Region kann dabei definiert sein als die Menge aller Punkte innerhalb eines vordefinierten Abstands von dem dritten Ort oder als eine vordefinierte Menge von Punkten, die den dritten Ort enthalten (wie z. B. ein Raum, in dem sich der dritte Ort befindet). Eine zweite Bedingung kann z. B. der Wert eines Timers sein, der einem vordefinierten Wert entspricht. In diesem Beispiel wird ein Ereignis erkannt, wenn der Standort des ersten Avatars 11 innerhalb des durch die erste Bedingung definierten Bereichs von Standorten liegt UND der Wert des Zeitgebers gleich dem vordefinierten Wert ist. 5a shows the data structure of an event, consisting of the event ID and a variety of conditions. The conditions are based in part on the possible locations, orientations and actions in the virtual world as well as on the command inputs. A first condition can e.g. B. be that the first location of the first avatar 11 is within a certain region around a third location in the virtual world. A region can be defined as the set of all points within a predefined distance from the third location or as a predefined set of points that contain the third location (such as a room in which the third location is located). A second condition can e.g. B. be the value of a timer that corresponds to a predefined value. In this example, an event is detected if the location of the first avatar 11 is within the range of locations defined by the first condition AND the value of the timer is equal to the predefined value.

5b zeigt die Datenstruktur, nach der die zusätzlichen Informationen innerhalb der Software-Komponente gespeichert werden. Gemäß dieser Ausführungsform beinhaltet die Datenbank eine ID-Liste, die die IDs aller konfigurierten Ereignisse zusammen mit den entsprechenden Zusatzinformationen enthält. 5b shows the data structure according to which the additional information is stored within the software component. According to this embodiment, the database includes an ID list containing the IDs of all configured events along with the corresponding additional information.

In 6 ist ein Benutzergerät 17 gemäß einer Ausführungsform der vorliegenden Erfindung dargestellt. Die Browser-Anwendung 2 wird von der Benutzergeräte-CPU 19 ausgeführt, wobei die erste Schicht 5 (nicht dargestellt) und die zweite Schicht 6 (nicht dargestellt) auf dem Benutzergeräte-Display 20 angezeigt werden. Die Eingabe der Steuerbefehle erfolgt über eine Tastatur 18 des Benutzergerätes.In 6 1, a user device 17 is shown according to an embodiment of the present invention. The browser application 2 is executed by the user device CPU 19, with the first layer 5 (not shown) and the second layer 6 (not shown) being displayed on the user device display 20. The control commands are entered via a keyboard 18 of the user device.

In 7 ist ein Client, z.B. eine Browser-Anwendung 2, dargestellt, die eine Webseite eines Dritten anzeigt. Die Webseite ist, z.B. mittels iRahmen, in einen Drittparteien-Rahmen 72 und einen VR-Rahmen 74 aufgeteilt. Der Einfachheit halber wird das Fenster/Rahmen, in dem sich der Drittparteien-Rahmen 72 und der VR-Rahmen 74 befinden, als übergeordneter Rahmen 75 bezeichnet.In 7 a client, for example a browser application 2, is shown which displays a third party website. The website is divided into a third-party frame 72 and a VR frame 74, for example using iFrames. For convenience, the window/frame in which the third-party frame 72 and the VR frame 74 reside is referred to as the parent frame 75.

In der Ausführungsform ist der Drittparteien-Rahmen 72 neben dem VR-Rahmen 74 angeordnet, der zumindest die erste Schicht 5 und die zweite Schicht 7 der virtuellen Welt enthält, wie bereits beschrieben, z.B. mit Bezug auf 2. In der Ausführungsform von 7 kann die Anzeige der Darstellungsgrafik von Teilen der Zusatzinformationen 6, die durch das Eintreten eines Ereignisses ausgelöst wurden, in der zweiten Schicht 7 die Anzeige einer Schaltfläche beinhalten, der z.B. das Hinzufügen eines Produktes zu einem Einkaufszettel ermöglicht. Der Benutzer kann mit der Darstellungsgrafik 6, z. B. der Schaltfläche, interagieren, wodurch der Browser 2 veranlasst wird, über den übergeordneten Rahmen 75 mit dem Drittparteirahmen 72 zu kommunizieren. In einer Ausführungsform könnte eine solche Kommunikation die Drittparteien-Webseite dazu veranlassen, einen bestimmten Artikel zu einem Warenkorb hinzuzufügen, wobei der bestimmte Artikel mit dem zusammenhängt, was in dem VR-Rahmen 74 gezeigt wird, z.B. in der ersten Schicht 5 und/oder der zweiten Schicht 7.In the embodiment, the third-party frame 72 is arranged next to the VR frame 74, which contains at least the first layer 5 and the second layer 7 of the virtual world, as already described, for example with reference to 2 . In the embodiment of 7 The display of the display graphic of parts of the additional information 6, which were triggered by the occurrence of an event, can include the display of a button in the second layer 7, which enables, for example, the addition of a product to a shopping list. The user can use the display graphic 6, e.g. B. the button, interacting, causing the browser 2 to communicate with the third-party frame 72 via the higher-level frame 75. In one embodiment, such communication could cause the third-party website to add a particular item to a shopping cart, the particular item being related to what is shown in the VR frame 74, e.g. in the first layer 5 and/or the second layer 7.

Alternativ können der Browser 2 und/oder der übergeordnete Rahmen 75 die empfangenen Informationen aus dem VR-Rahmen 74 direkt über eine vierte Verbindung 73 an einen externen Drittparteien-Server 71 übermitteln.Alternatively, the browser 2 and/or the parent frame 75 may transmit the received information from the VR frame 74 directly to an external third-party server 71 via a fourth connection 73.

In einer Ausführungsform verwendet die Kommunikation zwischen dem VR-Rahmen 74 und dem übergeordneten Rahmen 75 ein eigenes Nachrichtenprotokoll. Das bedeutet, dass der übergeordnete Rahmen 75 bei der Interaktion - Anklicken der Schaltfläche - mit der Darstellungsgrafik 6 eine Nachricht erhält, die ein Ereignis oder vorzugsweise einen Artikel identifiziert, der in den Warenkorb gelegt werden soll. Die Art der Darstellungsgrafik 6, der Zeitpunkt des Erscheinens, das Verhalten und eine beliebige ID, die ein Ereignis oder einen Artikel identifiziert, können in der Software-Komponente 4 konfiguriert werden. Die Kennung kann als Zahlungsbelastung der benutzerdefinierten Nachricht an den übergeordneten Rahmen 75 weitergegeben werden, so dass die Drittparteien-Webseite auf den Empfang der Kennung mit allen verfügbaren Mitteln reagieren kann, z. B. durch Auslösen weiterer Aktionen innerhalb der Drittparteien-Webseite.In one embodiment, the communication between the VR frame 74 and the parent frame 75 uses a proprietary messaging protocol. This means that when the higher-level frame 75 interacts - clicking on the button - with the display graphic 6, it receives a message that identifies an event or preferably an item that is to be placed in the shopping cart. The type of display graphic 6, the time of appearance, the behavior and any ID that identifies an event or an article can be configured in the software component 4. The identifier may be sent to the parent frame 75 as a payment debit of the custom message so that the third-party website can respond to receipt of the identifier by any means available, e.g. B. by triggering further actions within the third-party website.

Die benutzerdefinierte Nachricht kann ein JSON-String sein, der wie folgt generiert und übergeben werden kann:

    let postMessage = JSON.stringify({
    "_ABC_action":"addtobag",
    "skuBaseld": "11111",
    "INCREMENT":1,
    "QTY":1
    });
    if ('parentIFrame' in window) {
    window. parent1Frame.sendMessage(postMessage);
    }});
The custom message can be a JSON string that can be generated and passed as follows:
 let postMessage = JSON.stringify({
    "_ABC_action": "addtobag",
    "skuBaseld": "11111",
    "INCREMENT":1,
    "QTY":1
    });
    if ('parentIFrame' in window) {
    window.window. parent1Frame.sendMessage(postMessage);
    }});

Mit diesem Ansatz kann der Benutzer auf einfache Weise Aktionen in der virtuellen Realität durchführen, die sich auf das Verhalten der Drittparteien-Webseite auswirken. Durch die Verteilung des Videostroms in der ersten Schicht 5, der Darstellungsgrafik 6 in der zweiten Schicht 7 und durch die Möglichkeit der Konfiguration der Darstellungsgrafik 6, insbesondere der zu übergebenden ID, ermöglicht die Erfindung eine sehr effiziente Konfiguration des Systems. So ist es z.B. möglich, innerhalb der virtuellen Realität die Option zum Einkaufen bestimmter Artikel hinzuzufügen, ohne die virtuelle Realität verändern zu müssen. In einer Ausführungsform muss der Administrator des Systems lediglich eine neue Darstellungsgrafik 6, die entsprechende ID und ein Ereignis, das die Darstellungsgrafik auslöst, einrichten. Alle diese Schritte können mit der Software-Komponente 4 vorgenommen werden.This approach allows the user to easily perform actions in virtual reality that affect the behavior of the third-party website. By distributing the video stream in the first layer 5, the display graphic 6 in the second layer 7 and through the possibility of configuring the display graphic 6, in particular the ID to be transferred, the invention enables a very efficient configuration of the system. For example, it is possible to add the option to purchase specific items within virtual reality without having to change virtual reality. In one embodiment, the administrator of the system only needs to set up a new presentation graphic 6, the corresponding ID and an event that triggers the presentation graphic. All of these steps can be carried out with software component 4.

Natürlich ist dieser Teil der Erfindung nicht nur auf das Einkaufen von Artikeln und/oder Dienstleistungen beschränkt. Der Ansatz kann auch für Schulungen und andere Bildungsdienstleistungen verwendet werden.Of course, this part of the invention is not limited to purchasing items and/or services. The approach can also be used for training and other educational services.

Geeignete CMS, die für die Software-Komponente 4 der 4 verwendet werden können, sind in bestimmten Ausführungsformen z.B. die von Epic Games, Inc. angebotene Computergrafik-Spielentwicklungssoftware „Unreal Engine“. In den 8A bis 8E sind repräsentative Konfigurations- und Anzeigebildschirme für die Zuordnung und Speicherung eines beispielhaften Pop-up-Bildes in einem solchen CMS dargestellt, das beim Auftreten eines entsprechenden Ereignisses in der Ebene 7 erscheinen soll. 8A zeigt einen beispielhaften Pop-up-Konfigurationsbildschirm, in den ein Entwickler in die Felder „Pop-up Slug“ und „Titel“ einen Namen bzw. einen Titel für das Bild eingeben kann, das über das Feld „Bild“ angehängt werden soll. In diesem Beispiel lautet der Name des Pop-up-Slugs „ArcticPopUp“ für das hinzugefügte Bild der arktischen Landschaft. Eine zugehörige Beschreibung des Bildes kann ebenfalls in das Feld „Beschreibung“ eingegeben werden.Suitable CMS for the software component 4 of 4 In certain embodiments, for example, the computer graphics game development software “Unreal Engine” offered by Epic Games, Inc. can be used. In the 8A until 8E Representative configuration and display screens are shown for the assignment and storage of an exemplary pop-up image in such a CMS, which should appear in level 7 when a corresponding event occurs. 8A shows an example pop-up configuration screen where a developer can enter a name and title, respectively, in the Pop-up Slug and Title fields for the image to be attached via the Image field. In this example, the name of the pop-up slug is “ArcticPopUp” for the added image of the arctic landscape. An associated description of the image can also be entered in the “Description” field.

8B zeigt einen beispielhaften Konfigurationsbildschirm für Ereignisbedingungen zur Verwendung durch den Entwickler, um entsprechende Ereignisbedingungen auf der Grundlage von zugehörigen „Auslösern“ und „Aktionen“ zu erstellen. 8C und 8D zeigen Unterkonfigurationsbildschirme für Auslöser und Aktionen, die über den in 8B gezeigten Konfigurationsbildschirm für Ereignisbedingungen zugänglich sind. Wie in 8C gezeigt, wurde als „Auslösertyp“ „Region“ ausgewählt, und in 8D ist der ausgewählte „Aktionstyp“ für diesen Auslöser „Pop-up öffnen“ mit dem zugehörigen Bildnamen „ArcticPopUp“ für das anzuzeigende Bild dargestellt. 8E zeigt das resultierende angezeigte Pop-up-Bild „ArcticPopUp“ und die zugehörige Beschreibung, wenn der Avatar eines Benutzers die Region für die durch die Region ausgelöste Ereignisbedingung betritt. 8B shows an example event condition configuration screen for use by the developer to create appropriate event conditions based on associated “triggers” and “actions”. 8C and 8D show sub-configuration screens for triggers and actions available via the in 8B event conditions configuration screen shown. As in 8C shown, "Region" was selected as the "Trigger Type", and in 8D The selected “Action Type” for this “Open Pop-up” trigger is shown with the associated image name “ArcticPopUp” for the image to be displayed. 8E shows the resulting ArcticPopUp pop-up image and description displayed when a user's avatar enters the region for the region-triggered event condition.

Entsprechend sind in den 9A bis 9D repräsentative Konfigurator- und Anzeigebildschirme für die Zuordnung und Speicherung einer URL eines Videos in einem beispielhaften CMS 4 dargestellt, das beim Auftreten eines entsprechenden Ereignisses in der Ebene 7 angezeigt werden soll. In 9A ist ein beispielhafter Konfiguratorbildschirm zur Eingabe des Videonamens „Unreal Slug“ und eines entsprechenden „Titel“ des Videos dargestellt, die in diesem Beispiel beide „SampleVideo“ lauten. Darüber hinaus enthält der Konfiguratorbildschirm von 9A eine Schaltfläche zum Hinzufügen von Videos, die mit „+ Hinzufügen“ beschriftet ist. Nach Auswahl dieser Schaltfläche erscheint der in 9B gezeigte Unterkonfigurationsbildschirm, in den der Entwickler den „Titel“ des jeweiligen Videos und die zugehörige „Video-URL“ eingeben kann, von der aus das Video gestreamt werden soll. Darüber hinaus kann der Entwickler in diesem Unterkonfigurationsbildschirm auch bestimmte Attribute des anzuzeigenden Videos eingeben, z. B. ob das Video in einer Schleife läuft, d. h. wiederholt wird, oder ob es live gestreamt werden soll.Accordingly, in the 9A until 9D representative configurator and display screens for the assignment and storage of a URL of a video are shown in an exemplary CMS 4, which is to be displayed in level 7 when a corresponding event occurs. In 9A An example configurator screen is shown for entering the video name “Unreal Slug” and a corresponding “title” of the video, both of which are “SampleVideo” in this example. In addition, the configurator screen contains 9A an add video button labeled “+Add”. After selecting this button, the in appears 9B sub-configuration screen shown where the developer can enter the “title” of the respective video and the associated “video URL” from which the video should be streamed. In addition, the developer can use this sub-configuration screen also enter certain attributes of the video to be displayed, e.g. B. whether the video runs in a loop, i.e. is repeated, or whether it should be streamed live.

Ein weiterer Konfiguratorbildschirm (nicht dargestellt), der dem Konfiguratorbildschirm von 8B ähnelt, wird verwendet, um die Auslöser einzugeben, die mit der Wiedergabe von Videos verbunden sind, die mit den Konfiguratorbildschirmen der 9A und 9B spezifiziert wurden. Siehe z. B. 9C und 9D, in denen die Wiedergabe eines Videos ausgelöst wird, wenn der Avatar eines Benutzers einen definierten Bereich in der Nähe eines gerenderten Bildschirms in der virtuellen Umgebung betritt, der in einer ersten Anzeigeebene das statische Bild „OPERATION #OCEAN DETOX“ in 9C anzeigt. Sobald der Avatar die definierte Region betritt, beginnt in der zweiten Schicht 7 ein Video abzuspielen, das dieses statische Bild, wie in 9D dargestellt, mit dem Titelbildschirm „THE OCEANS ARE FULL OF TRASH“ überlagert.Another configurator screen (not shown) similar to the configurator screen of 8B is used to enter the triggers associated with the playback of videos associated with the configurator screens of the 9A and 9B were specified. See e.g. b. 9C and 9D , in which playback of a video is triggered when a user's avatar enters a defined area near a rendered screen in the virtual environment that displays the static image "OPERATION #OCEAN DETOX" in a first display layer 9C displays. As soon as the avatar enters the defined region, a video begins to play in the second layer 7, which contains this static image, as in 9D shown, with the title screen “THE OCEANS ARE FULL OF TRASH” overlaid.

Die in den 8A-8E und 9A-9D beschriebenen Auslöser und Aktionen dienen nur der Veranschaulichung, und andere alternative auslösende Ereignisse und Aktionen sind im Rahmen der Erfindung denkbar, einschließlich, aber nicht beschränkt auf Aktionen, die vom Avatar durchgeführt werden, regionale Auslöser, zeitliche Auslöser, bestimmte Positionen und/oder Blickwinkel des Avatars und andere, wie oben beschrieben. Obwohl diese Figuren Auslöser und Aktionen veranschaulichen, die auf dem Auftreten des Avatars eines Benutzers in der virtuellen Umgebung beruhen, sollte es leicht verständlich sein, dass Aktionen zur Anzeige von Inhalten in der Ebene 7 alternativ durch Steuerbefehle des Benutzergeräts ausgelöst werden können.The ones in the 8A-8E and 9A-9D The triggers and actions described are for illustrative purposes only, and other alternative triggering events and actions are conceivable within the scope of the invention, including, but not limited to, actions performed by the avatar, regional triggers, temporal triggers, specific positions and/or viewpoints of the Avatars and others as described above. Although these figures illustrate triggers and actions based on the appearance of a user's avatar in the virtual environment, it should be readily understood that actions to display content in Layer 7 may alternatively be triggered by user device control commands.

Es versteht sich, dass, obwohl verschiedene Aspekte der vorliegenden Offenbarung gezeigt und beispielhaft beschrieben wurden, die hierin beschriebene Erfindung nicht darauf beschränkt ist, sondern auf andere Weise verkörpert werden kann, wie durch die Offenbarung vorgeschlagen und im Rahmen der folgenden beispielhaften Ansprüche angegeben. Beispielsweise kann ein solches System oder Verfahren trotz der Offenbarung, die sich auf ein System und Verfahren zur Darstellung einer virtuellen Realität bezieht, zusätzlich in einem Augmented-Reality- oder holografischen System oder dergleichen gemäß der zuvor beschriebenen Erfindung implementiert werden.It is to be understood that although various aspects of the present disclosure have been shown and described by way of example, the invention described herein is not limited thereto but may be embodied in other ways as suggested by the disclosure and as set forth in the following exemplary claims. For example, despite the disclosure relating to a system and method for representing a virtual reality, such a system or method may additionally be implemented in an augmented reality or holographic system or the like in accordance with the invention described above.

BezugszeichenlisteReference symbol list

11
Systemsystem
22
Browser-AnwendungBrowser application
33
Serverserver
44
Software-KomponenteSoftware component
55
erste Schichtfirst layer
66
Darstellungsgrafik von zusätzlichen InformationenDisplay graphic of additional information
77
zweite Schichtsecond layer
88th
erste Verbindungfirst connection
99
zweite Verbindungsecond connection
1010
dritte Verbindungthird connection
1111
erster Avatarfirst avatar
1212
zweites Benutzergerätsecond user device
1313
Mehrspieler-KomponenteMultiplayer component
1414
zweiter Avatarsecond avatar
1515
WebserverWeb server
1616
Backend-DatenbankBackend database
1717
BenutzergerätUser device
1818
TastaturKeyboard
1919
CPU des BenutzergerätesCPU of the user device
2020
Anzeige des BenutzergerätesUser device display
7171
Drittparteien-ServerThird Party Servers
7272
Drittparteien-RahmenThird Party Framework
7373
vierte Verbindungfourth connection
7474
VR-RahmenVR framework
7575
übergeordneter Rahmen/Fensterparent frame/window

Claims (22)

Verfahren zum Darstellen von Bildern einer virtuellen Umgebung auf einem ersten Benutzergerät, umfassend folgende Schritte: Ausführen einer Browser-Anwendung auf dem ersten Benutzergerät, um eine erste Verbindung, vorzugsweise über ein Netzwerk, zwischen dem ersten Benutzergerät und mindestens einem ersten Server herzustellen und um Streaming-Bilddaten von dem ersten Server zu empfangen; Rendern von Ansichten einer virtuellen Umgebung als erste Schicht auf dem ersten Benutzergerät auf der Grundlage der empfangenen Streaming-Bilddaten; Übertragen von Steuerbefehlen von dem ersten Benutzergerät an den ersten Server und Empfangen entsprechend aktualisierter Streaming-Bilddaten der virtuellen Umgebung auf der Grundlage der Steuerbefehle; bei Erkennen des Auftretens mindestens eines vorbestimmten Ereignisses, welches sich auf die virtuelle Umgebung und/oder die Steuerbefehle bezieht, Übertragen einer Anfrage mit einer Ereigniskennung an einen zweiten Server, der eine Software-Komponente ausführt, wobei die Browser-Anwendung und die Software-Komponente entsprechende Listen vorbestimmter Ereigniskennungen aufrecht erhalten; Empfangen zusätzlicher Anzeigeinformationen von der Software-Komponente als Antwort auf die Anforderung, wobei diese zusätzlichen Anzeigeinformationen Inhalte darstellen, die außerhalb der gerenderten virtuellen Umgebung erzeugt wurden; und Rendern von Bildern, die aus den empfangenen zusätzlichen Anzeigeinformationen abgeleitet sind, als eine zweite teil-/bereichsweise transparente Schicht auf dem ersten Benutzergerät, wobei die zweite Schicht über der ersten Schicht angezeigt wird, um die Anzeige des externen Inhalts innerhalb der gerenderten virtuellen Umgebung zu ermöglichen. Method for displaying images of a virtual environment on a first user device, comprising the following steps: 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 a first server and to receive streaming image data from the first server; rendering views of a virtual environment as a first layer on the first user device based on the received streaming image data; transmitting control commands from the first user device to the first server and receiving correspondingly updated streaming image data of the virtual environment based on the control commands; upon detecting the occurrence of at least one predetermined event relating to the virtual environment and/or the control commands, transmitting a request with an event identifier to a second server that executes a software component, wherein 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, said additional display information representing content generated outside of the rendered virtual environment; and Rendering images derived from the received additional display information as a second partially transparent layer on the first user device, the second layer being displayed over the first layer to enable the display of the external content within the rendered virtual environment make possible. Verfahren nach Anspruch 1, wobei die Steuerbefehle mindestens eines der folgenden ändern, - eine erste Position - oder eine erste Ausrichtung eines ersten Avatars innerhalb der virtuellen Umgebung; oder wobei die Steuerbefehle den ersten Avatar veranlassen, eine Aktion in der virtuellen Umgebung durchzuführen, und wobei die gerenderten Ansichten der virtuellen Umgebung mindestens einem der folgenden entsprechen, - der ersten Position, - der ersten Ausrichtung, oder - der Aktion des ersten Avatars.Procedure according to Claim 1 , wherein the control commands change at least one of the following - a first position - or a first orientation of a first avatar within the virtual environment; or wherein the control commands 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, - the first orientation, or - the action of the first avatar. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Software-Komponente Anpassungsoptionen für das Erscheinungsbild der virtuellen Umgebung und/oder des ersten Avatars speichert und so konfiguriert ist, dass sie eine Auswahl einer Anpassungsoption durch den Browser empfängt und bei Empfang der Auswahl Informationen an den ersten Server liefert, wodurch der erste Server veranlasst wird, den Avatar und/oder die virtuelle Umgebung entsprechend der Auswahl darzustellen.Method according to one of the preceding claims, wherein the software component stores customization options for the appearance of the virtual environment and/or the first avatar and is configured to receive a selection of a customization option by the browser and, upon receipt of the selection, to send information to the first Server delivers, causing the first server to display the avatar and/or virtual environment according to the selection. Verfahren nach einem der vorhergehenden Ansprüche, wobei der mindestens eine Server mit einer Multiplayer-Komponente verbunden ist, wobei die Multiplayer-Komponente dem mindestens einen Server eine zweite Position und eine zweite Ausrichtung mindestens eines zweiten Avatars, der von einem zweiten Benutzergerät gesteuert wird, zur Verfügung stellt, und der erste Server eine Darstellung des zweiten Avatars an der zweiten Position mit der zweiten Ausrichtung innerhalb der virtuellen Umgebung rendert.Method according to one of the preceding claims, wherein the at least one server is connected to a multiplayer component, the multiplayer component providing the at least one server with a second position and a second orientation of at least a second avatar controlled by a second user device and the first server renders a representation of the second avatar at the second position with the second orientation within the virtual environment. Verfahren nach einem der vorhergehenden Ansprüche, wobei der erste Server dazu eingerichtet ist, die Bewegung des ersten Avatars zu überwachen, um Bedingungen für ein Ereignis zu erkennen, und mindestens eine Ereigniskennung an das erste Benutzergerät zu übermitteln, wenn diese Bedingungen erfüllt sind, und wobei die Software-Komponente eine Datenbank beinhaltet, wobei die Datenbank die zusätzlichen Informationen speichert, die mit jeder Ereigniskennung verbunden sind.A method according to any one of the preceding claims, wherein the first server is configured 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 when those conditions are met, and wherein the software component includes a database, the database storing the additional information associated with each event identifier. Verfahren nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 5, wobei die Bedingungen für die Übermittlung des mindestens einen Identifikators auf der Nähe der Position des ersten Avatars zu einer dritten Position in der virtuellen Umgebung und/oder der Nähe der Orientierung des ersten Avatars zu einer dritten Orientierung in der virtuellen Umgebung beruhen.Method according to one of the preceding claims, in particular according to Claim 5 , wherein the conditions for the transmission of the at least one identifier are based on the proximity of the position of the first avatar to a third position in the virtual environment and / or the proximity of the orientation of the first avatar to a third orientation in the virtual environment. Verfahren nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 5, wobei die Bedingungen für die Übermittlung der Ereigniskennung auf einem Zeitgeber und/oder der Erfüllung aller Bedingungen einer ersten Liste vorbestimmter Bedingungen beruhen, die auf mindestens einem der folgenden beruhen: dem ersten Standort, der ersten Ausrichtung, der Eingabe von Steuerbefehlen oder einer vom ersten oder zweiten Avatar durchgeführten Aktion.Method according to one of the preceding claims, in particular according to Claim 5 , wherein the conditions for transmitting the event identifier are based on a timer and/or the satisfaction of all conditions of a first list of predetermined conditions based on at least one of the following: the first location, the first orientation, the entry of control commands, or one of the first or second avatar. Verfahren nach einem der vorhergehenden Ansprüche, wobei die von der Software-Komponente empfangenen zusätzlichen Anzeigeinformationen eine Einbettung von externen Anwendungen in die virtuelle Umgebung ermöglichen.Method according to one of the preceding claims, wherein the additional display information received from the software component enables embedding of external applications into the virtual environment. Verfahren nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 8, wobei die von der Software-Komponente empfangenen Zusatzinformationen einen Kommunikationskanal zwischen dem ersten Benutzergerät und dem zweiten Benutzergerät aufbauen, um mindestens eines der folgenden zu ermöglichen, eine Chat-Funktion, einen Audiokanal oder eine Videoverbindung.Method according to one of the preceding claims, in particular according to 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 to enable at least one of the following, a chat function, an audio channel or a video connection. Verfahren nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 9, wobei die Browser-Anwendung mit einer Berechtigung versehen wird, die Ausführung der externen Anwendungen auf dem ersten Benutzergerät zu initiieren und zu steuern.Method according to one of the preceding claims, in particular according to Claim 9 , wherein the browser application is provided with permission to initiate and control the execution of the external applications on the first user device. Verfahren nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 3, wobei die Software-Komponente ein Content-Management-System beinhaltet und die Anpassungsoptionen zusätzlich über eine Anwendungsprogrammierschnittstelle eingestellt werden können.Method according to one of the preceding claims, in particular according to Claim 3 , where the software component includes a content management system and the customization options can also be set via an application programming interface. System zum Rendern von Bildern einer virtuellen Umgebung auf einem ersten Benutzergerät, das Folgendes aufweist: ein erstes Benutzergerät, das konfiguriert ist, um: eine Browser-Anwendung auszuführen; von einem Benutzer eingegebene Steuerbefehle vorzugsweise über ein Netzwerk zu empfangen und solche Steuerbefehle, an mindestens einen ersten Server zu übertragen, wobei der mindestens eine erste Server so konfiguriert ist, dass er (i) Bilddaten erzeugt, die indikativ für gerenderte Ansichten einer virtuellen Umgebung sind, die zum Teil auf den empfangenen Steuerbefehlen basieren, und (ii) einen Strom der Bilddaten an das erste Benutzergerät überträgt, Empfangen des an das erste Benutzergerät übertragenen Stroms von Bilddaten, und wobei die Browser-Anwendung konfiguriert ist, um: als erste Schicht Ansichten der virtuellen Umgebung basierend auf den empfangenen Streaming-Bilddaten zu rendern, das Auftreten mindestens eines Ereignisses in Bezug auf die virtuelle Umgebung und/oder die Steuerbefehle zu erkennen, beim Erkennen des mindestens einen Ereignisses, Übertragen einer Anfrage an den zweiten Server, der die Software-Komponente ausführt, um die zusätzlichen Bildinformationen zu erzeugen, und Rendern von Bildern, die von den empfangenen zusätzlichen Anzeigeinformationen abgeleitet sind, als eine zweite teil-/bereichsweise transparente Schicht, wobei die zweite Schicht angezeigt wird, die zumindest einen Bereich der ersten Schicht überlagert, um die Anzeige des externen Inhalts in der gerenderten virtuellen Umgebung zu ermöglichen.A system for rendering images of a virtual environment on a first user device, comprising: a first user device configured to: run a browser application; to receive control commands entered by a user, preferably over a network, and to transmit such control commands to at least one first server, the at least one first server being configured to (i) generate image data indicative of rendered views of a virtual environment , which are based in part on the received control commands, and (ii) transmits a stream of image data to the first user device, Receiving the stream of image data transmitted to the first user device, and where the browser application is configured to: as a first layer to render views of the virtual environment based on the received streaming image data, detect the occurrence of at least one event related to the virtual environment and/or the control commands, upon detecting the at least one event, transmitting a request to the second server executing the software component to generate the additional image information, and Rendering images derived from the received additional display information as a second partially/regionally transparent layer, displaying the second layer overlying at least a portion of the first layer to facilitate the display of the external content in the rendered virtual environment to enable. System nach Anspruch 12, wobei die Steuerbefehle mindestens eines der folgenden ändern: eine erste Position oder eine erste Ausrichtung eines ersten Avatars innerhalb der virtuellen Umgebung; oder den ersten Avatar veranlassen, eine Aktion in der virtuellen Umgebung durchzuführen, und wobei die gerenderten Ansichten der virtuellen Umgebung mindestens einem der folgenden entsprechen: der ersten Position, der ersten Ausrichtung und/oder der Aktion des ersten Avatars.System after Claim 12 , wherein the control commands change at least one of the following: a first position or a first orientation of a first avatar within 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, the first orientation, and/or the action of the first avatar. System nach einem der Ansprüche 12 oder 13, wobei die Software-Komponente Anpassungsoptionen für das Aussehen der virtuellen Umgebung und/oder des ersten Avatars speichert und so konfiguriert ist, dass sie eine Auswahl einer Anpassungsoption durch den Browser empfängt und bei Empfang der Auswahl an den ersten Server Informationen liefert, wodurch der erste Server veranlasst wird, den ersten Avatar und/oder die virtuelle Umgebung entsprechend der Auswahl zu rendern.System according to one of the Claims 12 or 13 , wherein the software component stores customization options for the appearance of the virtual environment and/or the first avatar and is configured to receive a selection of a customization option by the browser and upon receipt of the off selection provides information to the first server, causing the first server to render the first avatar and/or virtual environment according to the selection. System nach einem der Ansprüche 12 bis 14, wobei der mindestens eine Server mit einer Multiplayer-Komponente verbunden ist, wobei die Multiplayer-Komponente dem mindestens einen Server eine zweite Position und eine zweite Ausrichtung mindestens eines zweiten Avatars zur Verfügung stellt, der von einem zweiten Benutzergerät gesteuert wird, und der Server eine Darstellung des zweiten Avatars an der zweiten Position mit der zweiten Ausrichtung innerhalb der virtuellen Umgebung rendert.System according to one of the Claims 12 until 14 , wherein the at least one server is connected to a multiplayer component, the multiplayer component providing the at least one server with a second position and a second orientation of at least a second avatar controlled by a second user device, and the server a Renders a representation of the second avatar at the second position with the second orientation within the virtual environment. System nach einem der Ansprüche 12 bis 15, insbesondere nach Anspruch 13, wobei der Server dazu eingerichtet ist, die Bewegung des ersten Avatars zu überwachen, um Bedingungen für ein Ereignis zu erkennen, und mindestens eine Ereigniskennung an das erste Benutzergerät zu übermitteln, wenn diese Bedingungen erfüllt sind, und wobei die Software-Komponente eine Datenbank beinhaltet, wobei die Datenbank die zusätzlichen Informationen speichert, die mit jeder Ereigniskennung verbunden sind.System according to one of the Claims 12 until 15 , especially after Claim 13 , wherein the server is configured 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 when those conditions are met, and wherein the software component includes a database , where the database stores the additional information associated with each event identifier. System nach einem der Ansprüche 12 bis 16, insbesondere nach Anspruch 16, wobei die Bedingungen für die Übermittlung des mindestens einen Identifikators auf einer Nähe der Position des ersten Avatars zu mindestens einer dritten Position in der virtuellen Umgebung oder auf einer Nähe der Orientierung des ersten Avatars zu einer dritten Orientierung in der virtuellen Umgebung beruhen.System according to one of the Claims 12 until 16 , especially after Claim 16 , wherein the conditions for the transmission of the at least one identifier are based on a proximity of the position of the first avatar to at least a third position in the virtual environment or on a proximity of the orientation of the first avatar to a third orientation in the virtual environment. System nach einem der Ansprüche 12 bis 17, insbesondere nach Anspruch 15, wobei die Bedingungen für die Übermittlung des Ereigniskennzeichens mindestens auf einem Zeitgeber oder der Erfüllung aller Bedingungen einer ersten Liste vorbestimmter Bedingungen beruhen, die auf mindestens einem der folgenden beruhen: dem ersten Standort, der ersten Ausrichtung, der Eingabe von Steuerbefehlen oder einer vom ersten oder zweiten Avatar durchgeführten Aktion.System according to one of the Claims 12 until 17 , especially after Claim 15 , wherein the conditions for transmitting the event identifier are based on at least a timer or the satisfaction of all conditions of a first list of predetermined conditions based on at least one of the following: the first location, the first orientation, the entry of control commands or one of the first or action carried out by the second avatar. System nach einem der Ansprüche 12 bis 18, wobei die von der Software-Komponente empfangenen zusätzlichen Anzeigeinformationen eine Einbettung von externen Anwendungen in die virtuelle Umgebung zulassen.System according to one of the Claims 12 until 18 , whereby the additional display information received from the software component allows external applications to be embedded in the virtual environment. System nach einem der Ansprüche 12 bis 19, insbesondere nach Anspruch 19, wobei die von der Software-Komponente empfangenen zusätzlichen Anzeigeinformationen einen Kommunikationskanal zwischen dem ersten Benutzergerät und dem zweiten Benutzergerät aufbauen, um eine Chat-Funktion, einen Audiokanal oder eine Videoverbindung zu ermöglichen.System according to one of the Claims 12 until 19 , especially after 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 enable a chat function, an audio channel or a video connection. System nach einem der Ansprüche 12 bis 20, insbesondere nach Anspruch 20, wobei die Browser-Anwendung mit einer Berechtigung versehen ist, die Ausführung der externen Anwendungen auf dem ersten Benutzergerät zu initiieren und zu steuern.System according to one of the Claims 12 until 20 , especially after Claim 20 , wherein the browser application is provided with permission to initiate and control the execution of the external applications on the first user device. System nach einem der Ansprüche 12 bis 21, insbesondere nach Anspruch 14, wobei die Software-Komponente ein Content-Management-System beinhaltet und die Anpassungsoptionen zusätzlich über eine Anwendungsprogrammierschnittstelle einstellbar sind.System according to one of the Claims 12 until 21 , especially after Claim 14 , where the software component includes a content management system and the customization options can also be set via an application programming interface.
DE102023117678.1A 2022-07-06 2023-07-05 SYSTEMS AND METHODS FOR THE INTERACTIVE DISPLAY OF A VIRTUAL ENVIRONMENT ON A USER DEVICE WITH LIMITED COMPUTER CAPACITY Pending DE102023117678A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IES20220111 2022-07-06
IES2022/0111 2022-07-06
US18/106,596 US20240013495A1 (en) 2022-07-06 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
DE102023117678A1 true DE102023117678A1 (en) 2024-01-11

Family

ID=89387062

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023117678.1A Pending DE102023117678A1 (en) 2022-07-06 2023-07-05 SYSTEMS AND METHODS FOR THE INTERACTIVE DISPLAY OF A VIRTUAL ENVIRONMENT ON A USER DEVICE WITH LIMITED COMPUTER 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
FR3137770A1 (en) 2024-01-12
WO2024008791A1 (en) 2024-01-11

Similar Documents

Publication Publication Date Title
US20220266132A1 (en) Virtual environment for computer game
DE60209261T2 (en) RICH COMMUNICATION ON THE INTERNET
US8627212B2 (en) System and method for embedding a view of a virtual space in a banner ad and enabling user interaction with the virtual space within the banner ad
US9064023B2 (en) Providing web content in the context of a virtual environment
US7809789B2 (en) Multi-user animation coupled to bulletin board
CN102375687B (en) Computer desktop is shown on Wireless Display surface
DE60201692T2 (en) 2D image processing applied to 3D objects
CN110536725A (en) Personalized user interface based on behavior in application program
DE112016006083T5 (en) Providing computing resources to a virtual machine designed to host a set of application programs associated with a user
US20140108967A1 (en) System for viewing and interacting with a virtual 3-d scene
US20080238929A1 (en) Local Themeing Of Remote Applications
EP3292677B1 (en) Ultra-low latency remote application access
DE102018217898A1 (en) Different perspectives from a common virtual environment
WO2021262303A1 (en) Audio configuration for displayed features
CN117044189A (en) Multi-user interactive board for improving video conference
CA3041575A1 (en) Systems and methods for conserving computing resources during an online or virtual shopping session
JP2006185427A (en) System and method for providing three-dimensional image producing service
DE112007001516T5 (en) Method and system for embedded personalized communication
DE102023117678A1 (en) SYSTEMS AND METHODS FOR THE INTERACTIVE DISPLAY OF A VIRTUAL ENVIRONMENT ON A USER DEVICE WITH LIMITED COMPUTER CAPACITY
DE112020001891B4 (en) Systems and methods of universal video embedding
CN105653492B (en) Intelligent book
US20240013495A1 (en) Systems and methods for the interactive rendering of a virtual environment on a user device with limited computational capacity
US20190266615A1 (en) Shared advertising with virtual worlds
GB2622668A (en) Systems and methods for the interactive rendering of a virtual environment on a user device with limited computational capacity
CN117376368A (en) Communication control method, device and system for online exhibition hall and storage medium

Legal Events

Date Code Title Description
R012 Request for examination validly filed