Systems, methods, and media for displaying interactive augmented reality presentations.
Abstract
Systems, methods and means are provided for displaying interactive augmented reality presentations. In some embodiments, a system comprises: a plurality of head-mounted displays, a first head-mounted display comprising a transparent display; and at least one processor, wherein the at least one processor is programmed to: determine that a first physical location of a plurality of physical locations in a physical environment of the head-mounted display is located closest to the head-mounted display. head; receiving the first content comprising a first three-dimensional model; receiving the second content comprising a second three-dimensional model; Present, using the transparent screen, a first view of the first three-dimensional model for the first time; and present, using the transparent screen, a first view of the second three-dimensional model at a second time subsequent to the first time, based on one or more instructions received from a server.

Term
12.7 yearsleft in the term
Expires 5 June 2039.
- Priority
- Filed
- Granted
- Today
- Expires
33 claims: 5 independent, 28 dependent
- 1Un sistema para mostrar presentaciones interactivas de realidad aumentada, caracterizado porque comprende:un dispositivo de realidad aumentada, que comprende: una pantalla;y al menos un procesador, en donde el al menos un procesador está programado para: identificar cuál de una pluralidad de ubicaciones de pantalla de contenido predeterminadas dentro de un entorno físico asociado con el dispositivo de realidad aumentada are dentro de un campo de visión del dispositivo de realidad aumentada;seleccionar, de entre ubicaciones de pantalla de contenido dentro del campo de visión del dispositivo de realidad aumentada, una ubicación de pantalla de contenido de la pluralidad de ubicaciones de pantalla de contenido predeterminadas que se encuentra más cerca del dispositivo de realidad aumentada;y causar que contenido sea presentado por el 120 dispositivo de realidad aumentada anclado en la ubicación de pantalla de contenido seleccionada.
- 2El sistema de conformidad con la reivindicación 1, caracterizado porque el al menos un procesador está además programado para:recibir primer contenido que comprende un primer modelo tridimensional, en donde el contenido comprende el primer contenido;recibir segundo contenido que comprende un segundo modelo tridimensional;presentar, usando la pantalla, una primera vista del primer modelo tridimensional anclada en la ubicación de pantalla de contenido seleccionada en un primer tiempo;y presentar, usando la pantalla, una primera vista del segundo modelo tridimensional en un segundo tiempo posterior al primer tiempo.
- 3El sistema de conformidad con la reivindicación 2, caracterizado porque el al menos un procesador está además programado para:recibir una o más instrucciones de un servidor en un tercer tiempo que es posterior al primer tiempo y precede al segundo tiempo, en donde la una o más instrucciones incluyen al menos una instrucción para hacer que el dispositivo de realidad aumentada deje de presentar el primer contenido en la ubicación de pantalla de contenido 121 seleccionada y comience a presentar el segundo contenido anclado en la ubicación de pantalla de contenido seleccionada.
- 4El sistema de conformidad con la reivindicación 2, caracterizado porque el primer contenido y el segundo contenido son recibidos como parte de un cuerpo de contenido antes de presentar el primer contenido.
- 5El sistema de conformidad con la reivindicación 4, caracterizado porque el cuerpo de contenido es precargado antes de que el al menos un procesador identifique cuáles de una pluralidad de ubicaciones de pantalla de contenido predeterminadas dentro de un entorno físico asociado con el dispositivo de realidad aumentada están dentro de un campo de visión del dispositivo de realidad aumentada.
- 6El sistema de conformidad con la reivindicación 2, caracterizado porque el primer contenido es recibido antes del primer tiempo y el segundo contenido es recibido posterior al primer tiempo.
- 7El sistema de conformidad con la reivindicación 2, caracterizado porque comprende además un sistema de seguimiento de orientación del dispositivo, en donde el al menos un procesador está además programado para:recibir una indicación de que el primer contenido se presentará en una primera ubicación de pantalla de 122 contenido predeterminada de la pluralidad de ubicaciones de pantalla de contenido predeterminadas, en donde la primera ubicación de pantalla de contenido predeterminada corresponde a la ubicación de pantalla de contenido seleccionada;recibir una indicación de que el segundo contenido se presentará en una segunda ubicación de pantalla de contenido predeterminada de la pluralidad de ubicaciones de pantalla de contenido predeterminadas;determinar, con base en salida de información por el sistema de seguimiento de orientación del dispositivo, un segundo campo de visión;identificar cuáles de la pluralidad de ubicaciones de pantalla de contenido predeterminadas están dentro del segundo campo de visión;seleccionar, de entre ubicaciones de pantalla de contenido dentro del segundo campo de visión del dispositivo de realidad aumentada, una segunda ubicación de pantalla de contenido de la pluralidad de ubicaciones de pantalla de contenido predeterminadas que se encuentra más cerca del dispositivo de realidad aumentada, en donde la segunda ubicación de pantalla de contenido corresponde a la segunda ubicación de pantalla de contenido predeterminada;y en respuesta a seleccionar la segunda ubicación de pantalla de contenido predeterminada, presentar el segundo modelo tridimensional anclado en la segunda ubicación de 123 pantalla de contenido predeterminada.
- 8El sistema de conformidad con la reivindicación 1, caracterizado porque el al menos un procesador está además programado para:recibir información sobre una posición de un segundo dispositivo de realidad aumentada durante un primer período de tiempo con respecto a una ubicación en un entorno físico del segundo dispositivo de realidad aumentada en el cual el segundo dispositivo de realidad aumentada está presentando el contenido, en donde el segundo dispositivo de realidad aumentada está remoto del dispositivo de realidad aumentada;y presentar, usando la pantalla, una representación de un usuario del segundo dispositivo de realidad aumentada en una ubicación próxima a la ubicación de pantalla de contenido con base en la información sobre la posición del segundo dispositivo de realidad aumentada de manera que la representación del usuario se coloca con relación al contenido para reflejar la posición del segundo dispositivo de realidad aumentada durante el primer período de tiempo con respecto a la ubicación en el entorno físico del segundo dispositivo de realidad aumentada.
- 9El sistema de conformidad con la reivindicación 8, caracterizado porque el al menos un procesador está además programado para:124 recibir información sobre una posición de una mano del usuario con respecto a la ubicación en la cual el segundo dispositivo de realidad aumentada está presentando el contenido;y presentar, usando la pantalla, una representación de la mano con base en la información sobre la posición de la mano .
- 10El sistema de conformidad con la reivindicación 8, caracterizado porque el al menos un procesador está además programado para:recibir audio grabado por el segundo dispositivo de realidad aumentada;y presentar, a través de un altavoz, el audio durante presentación del contenido.
- 11El sistema de conformidad con la reivindicación 1, caracterizado porque el dispositivo de realidad aumentada es una pantalla montada en la cabeza.
- 12El sistema de conformidad con la reivindicación 11, caracterizado porque la pantalla es una pantalla transparente.
- 13Un sistema para mostrar contenido interactivo, caracterizado porque comprende:una primera pantalla montada en la cabeza, en donde la primera pantalla montada en la cabeza está configurada ινΐΛ/a/zuzz/u i u i uo para: 125 recibir contenido que incluye primer contenido y segundo contenido;presentar el primer contenido en una primera ubicación en un entorno durante un primer periodo de tiempo con base al menos en parte en proximidad de una ubicación de la pantalla montada en la cabeza a la primera ubicación en el entorno;recibir información que indica que una segunda pantalla montada en la cabeza está presentando el primer contenido durante el primer período de tiempo en una primera ubicación en un entorno físico de la segunda pantalla montada en la cabeza;recibir información sobre una posición de la segunda pantalla montada en la cabeza durante el primer período de tiempo con respecto a la primera ubicación en el entorno físico de la segunda pantalla montada en la cabeza;presentar una representación de un usuario de la segunda pantalla montada en la cabeza en una ubicación próxima a la primera ubicación en el entorno con base en la información sobre una posición de la segunda pantalla montada en la cabeza durante el primer período de tiempo de manera que la representación del usuario se coloca con relación al primer contenido en el entorno para reflejar la posición de la segunda pantalla montada en la cabeza durante el primer período de tiempo con respecto a la primera 126 ubicación en el entorno físico de la segunda pantalla montada en la cabeza;y presentar el segundo contenido en una segunda ubicación en el entorno con base al menos en parte en proximidad de la primera pantalla montada en la cabeza a la segunda ubicación en el entorno.
- 14El sistema de conformidad con la reivindicación 13, caracterizado porque la primera pantalla montada en la cabeza comprende una pantalla transparente.
- 15El sistema de conformidad con la reivindicación 13, caracterizado porque la primera pantalla montada en la cabeza comprende una pantalla de realidad virtual.
- 16El sistema de conformidad con la reivindicación 13, caracterizado porque la primera pantalla montada en la cabeza está configurada además para:identificar cuáles de una pluralidad de ubicaciones de pantalla de contenido predeterminadas dentro del entorno están dentro de un campo de visión de la primera pantalla montada en la cabeza;y seleccionar, de entre ubicaciones de pantalla de contenido dentro del campo de visión de la primera pantalla montada en la cabeza, una ubicación de pantalla de contenido de la pluralidad de ubicaciones de pantalla de contenido predeterminadas que se encuentra más cerca de la primera 127 pantalla montada en la cabeza;y hacer que el primer contenido sea presentado por la primera pantalla montada en la cabeza anclada en la ubicación de pantalla de contenido seleccionada.
- 17El sistema de conformidad con la reivindicación 13, caracterizado porque la primera pantalla montada en la cabeza está además programado para:recibir información sobre una posición de una mano del usuario con respecto a la ubicación en la cual la segunda pantalla montada en la cabeza está presentando el contenido;Y presentar, usando la pantalla, una representación de la mano con base en la información sobre la posición de la mano.
- 18Un sistema para mostrar presentaciones interactivas de realidad aumentada, caracterizado porque comprende:una pluralidad de pantallas montadas en la cabeza, en donde una primera pantalla montada en la cabeza de la pluralidad de pantallas montadas en la cabeza comprende: una pantalla transparente;y al menos un procesador, en donde el al menos un procesador está programado para: recibir contenido que comprende una pluralidad de modelos tridimensionales;128 recibir información de presentación que indica qué modelo tridimensional se presentará en cada una de una pluralidad de estaciones, cada estación que corresponde a un punto en espacio físico en el cual se van a presentar una o más imágenes;determinar que una primera estación de la pluralidad de estaciones está ubicada más cerca de la primera pantalla montada en la cabeza;en respuesta a determinar que la primera estación está ubicada más cerca de la primera pantalla montada en la cabeza, presentar, usando la pantalla transparente, un primer modelo tridimensional anclado en el punto en espacio físico asociado con la primera estación con base en una asociación entre el primer modelo tridimensional y la primera estación en la información de presentación;determinar que la primera pantalla montada en la cabeza ha abandonado una proximidad de la primera estación y que una segunda estación está ubicada más cerca de la primera pantalla montada en la cabeza;y en respuesta a determinar que la segunda estación está ubicada más cerca de la primera pantalla montada en la cabeza, presentar, usando la pantalla transparente, un segundo modelo tridimensional anclado en el punto en espacio físico asociado con la segunda estación con base en una asociación entre el segundo modelo tridimensional y la 129 segunda estación en la información de presentación.
- 19El sistema de conformidad con la reivindicación 18, caracterizado porque el primer modelo tridimensional y el segundo modelo tridimensional son recibidos como parte de un cuerpo de contenido.
- 20El sistema de conformidad con la reivindicación 18, caracterizado porque comprende además:un dispositivo de cómputo que comprende: al menos un dispositivo de entrada;y al menos un tercer procesador que está programado para: recibir entrada del dispositivo de entrada que indica que el primer modelo tridimensional va a estar asociado con la primera estación, y que el segundo modelo tridimensional va a estar asociado con la segunda estación;y transmitir información a un servidor que indica que el primer modelo tridimensional va a estar asociado con la primera estación, y que el segundo modelo tridimensional va a estar asociado con la segunda estación, en donde la información es formateada como un documento de lenguaje de marcación extensible (XML).
- 21El sistema de conformidad con la reivindicación 18, caracterizado porque comprende además:un dispositivo de entrada de usuario configurado para comunicarse con la primera pantalla montada en la cabeza 130 a través de un enlace de comunicaciones, en donde el dispositivo de entrada de usuario comprende: una segunda unidad de medición inercial;y al menos un cuarto procesador que está programado para: transmitir, usando el enlace de comunicaciones, información indicativa de movimientos físicos del usuario dispositivo de entrada a la primera pantalla montada en la cabeza;y en donde el al menos un procesador de la primera pantalla montada en la cabeza está además programado para: presentar un primer elemento de interfaz de usuario en conexión con el primer modelo tridimensional en una ubicación que es con base en la información indicativa de movimientos físicos del usuario dispositivo de entrada;y transmitir información a un servidor que indica la ubicación del elemento de interfaz de usuario en relación con el primer modelo tridimensional;y una segunda pantalla montada en la cabeza de la pluralidad de pantallas montadas en la cabeza que comprende al menos un procesador que está programado para: recibir una o más instrucciones del servidor que indiquen la ubicación en la cual se va a presentar el elemento de interfaz de usuario en relación con el primer modelo tridimensional;y ινΐΛ/a/zuzz/u i u i uo 131 presentar el elemento de interfaz de usuario en una ubicación con respecto al primer modelo tridimensional con base en la información recibida del servidor relacionada con la ubicación del elemento de interfaz de usuario en relación con el primer modelo tridimensional.
- 22El sistema de conformidad con la reivindicación 21, caracterizado porque el elemento de interfaz de usuario se presenta como un punto en la ubicación.
- 23El sistema de conformidad con la reivindicación 18, caracterizado porque la primera pantalla montada en la cabeza comprende además al menos un dispositivo de captura de imágenes, en donde el al menos un procesador está además programado para:capturar una imagen de un código mostrado por un dispositivo de cómputo móvil;y transmitir información codificada en la imagen a un servidor para hacer que la primera pantalla montada en la cabeza se empareje con el dispositivo de cómputo móvil.
- 24El sistema de conformidad con la reivindicación 23, caracterizado porque el al menos un procesador está además programado para:pedir a un usuario que inicie sesión en un servicio proporcionado al menos en parte por el servidor que usa el dispositivo de cómputo móvil;y ινΐΛ/a/zuzz/u i u i uo 132 pedir al usuario que capture la imagen del código para iniciar sesión en la primera pantalla montada en la cabeza para el servicio.
- 25El sistema de conformidad con la reivindicación 18, caracterizado porque comprende además un servidor, en donde el servidor está programado para:recibir información sobre una posición de la primera pantalla montada en la cabeza durante presentación del primer modelo tridimensional por la primera pantalla montada en la cabeza durante un primer período de tiempo;recibir video que corresponde a un campo de visión de un usuario de la primera pantalla montada en la cabeza capturado durante el primer período de tiempo;registrar la información sobre la posición de la primera pantalla montada en la cabeza;grabar el video que corresponde al campo de visión de la primera pantalla montada en la cabeza durante el primer período de tiempo;recibir información sobre una posición de una segunda pantalla montada en la cabeza durante presentación del primer modelo tridimensional por la segunda pantalla montada en la cabeza durante el primer período de tiempo;recibir video que corresponde a un campo de visión de un usuario de la segunda pantalla montada en la cabeza capturado durante el primer período de tiempo;133 registrar la información sobre la posición de la segunda pantalla montada en la cabeza;grabar el video que corresponde al campo de visión de la segunda pantalla montada en la cabeza durante el primer periodo de tiempo;recibir, desde un primer dispositivo de cómputo, una solicitud para presentar contenido grabado durante el primer período de tiempo;y hacer que el primer dispositivo de cómputo simultáneamente: presente el primer modelo tridimensional;presente un primer avatar en una primera posición con relación al primer modelo tridimensional con base en la información registrada sobre la posición de la primera pantalla montada en la cabeza;presente un segundo avatar en una segunda posición con relación al primer modelo tridimensional con base en la información registrada sobre la posición de la segunda pantalla montada en la cabeza;presente una primera ventana que muestra una porción del video capturado por la primera pantalla montada en la cabeza cuando la primera pantalla montada en la cabeza estaba en la primera posición;y presente una segunda ventana que muestra una porción del video capturado por la segunda pantalla montada 134 en la cabeza cuando la segunda pantalla montada en la cabeza estaba en la segunda posición.
- 26El sistema de conformidad con la reivindicación 25, caracterizado porque el servidor está además programado para:presentar, en conexión con el primer avatar, una línea de visión del usuario de la primera pantalla montada en la cabeza;y presentar, en conexión con el segundo avatar, una línea de visión del usuario de la segunda pantalla montada en la cabeza.
- 27Un sistema para mostrar presentaciones interactivas de realidad aumentada, caracterizado porque comprende:una pluralidad de pantallas montadas en la cabeza, en donde una primera pantalla montada en la cabeza de la pluralidad de pantallas montadas en la cabeza comprende: una pantalla transparente;y al menos un procesador, en donde el al menos un procesador está programado para: recibir contenido que comprende una pluralidad de modelos tridimensionales;recibir información de presentación que indica qué modelo tridimensional se presentará en cada una de una pluralidad de estaciones, cada estación que corresponde a un 135 punto en espacio físico en el cual se van a presentar una o más imágenes;determinar que una primera estación de la pluralidad de estaciones está ubicada más cerca de la primera pantalla montada en la cabeza;en respuesta a determinar que una estación particular está ubicada más cerca de la primera pantalla montada en la cabeza, presentar, usando la pantalla transparente, un primer modelo tridimensional anclado en el punto en espacio físico asociado con la primera estación con base en la información de presentación;recibir, de un servidor, información de presentación actualizada que indica que un segundo modelo tridimensional se presentará en la estación particular;y en respuesta a la información de presentación actualizada, presentar, usando la pantalla transparente, un segundo modelo tridimensional anclado en el punto en espacio físico asociado con la estación particular con base en la información de presentación actualizada.
- 28El sistema de conformidad con la reivindicación 27, caracterizado porque comprende además el servidor, en donde el servidor está programado para:recibir una indicación de que el segundo modelo tridimensional se va a presentar;y en respuesta a recibir la indicación de que el 136 segundo modelo tridimensional se va a presentar, transmitir la información de presentación actualizada a al menos la primera pantalla montada en la cabeza.
- 29El sistema de conformidad con la reivindicación 28, caracterizado porque comprende además una segunda pantalla montada en la cabeza de la pluralidad de pantallas montadas en la cabeza, en donde la segunda pantalla montada en la cabeza comprende al menos un segundo procesador, en donde el al menos un segundo procesador está programado para hacer que la segunda pantalla montada en la cabeza actúe como el servidor.
- 30El sistema de conformidad con la reivindicación 27, caracterizado porque el primer modelo tridimensional y el segundo modelo tridimensional son recibidos como parte de un cuerpo de contenido.
- 31El sistema de conformidad con la reivindicación 27, caracterizado porque el segundo modelo tridimensional se proporciona por el servidor en conexión con la información de presentación actualizada.
- 32El sistema de conformidad con la reivindicación 31, caracterizado porque el al menos un procesador está además programado para solicitar el segundo modelo tridimensional en respuesta a recibir la indicación de que el segundo modelo tridimensional se va a presentar.
- 33El sistema de conformidad con la 137 reivindicación 31, caracterizado porque el al menos un procesador está además programado para recibir el segundo modelo tridimensional del servidor como contenido enviado para ser presentado sin transmitir una solicitud para el 5 segundo modelo tridimensional.
Independent claims33
230 paragraphs, as filed
SYSTEMS, METHODS AND MEANS FOR DISPLAYING INTERACTIVE PRESENTATIONS OF AUGMENTED REALITY
Background of the Invention
Devices for presenting augmented reality content and/or virtual reality content have become more prevalent recently. It is relatively easy to present virtual reality content to a group of people who may or may not share a physical space, since the experience is completely immersive and the content can be presented in a common frame of reference in which one or more users can participate. . For example, a virtual reality presentation may include a scene captured by one or more cameras (e.g., a nature scene, a sporting event, etc.), and multiple users accessing the content may be located in the same location within of the content, but those users may present different fields of view depending on the orientation selected by the user. As yet another example, a virtual reality presentation may include computer-generated content, and users may participate in an interactive experience in which different users may be placed within the computer-generated content in different locations and may interact with each other. In such an example, the content can
I laughed. 298569 have a universal reference frame, and the content presented to a user may be based on the user's location and orientation with respect to the universal reference frame. While virtual reality content has the potential to enable interaction between users within the context of the content, interaction between users in their physical space is severely limited due to the fully immersive nature of virtual reality. In contrast, while devices presenting augmented reality content can allow users to interact with the physical environment and each other with relative ease, presenting the same content to multiple users is more difficult, as different augmented reality devices used by users in the same room may not use the same coordinate system. Consequently, even if different users were viewing the same augmented reality content, the content may not be presented in the same physical space, may have a different orientation, etc. Additionally, augmented reality devices are generally not configured to coordinate current content according to a presenter's instructions.
Accordingly, new systems, methods and means for displaying interactive augmented reality presentations are desirable.
Brief Description of the Invention
In accordance with some embodiments of the subject matter described, systems, methods and means are provided for displaying interactive augmented reality presentations.
According to some embodiments of the described subject matter, a system is provided for displaying interactive augmented reality presentations, the system comprising: a plurality of head-mounted displays, wherein a first head-mounted display of the plurality of Head-mounted displays comprise: a transparent display; and at least one processor, wherein the at least one processor is programmed to: determine that a first physical location of a plurality of physical locations in a physical environment of the head-mounted display is located closest to the head-mounted display ; receiving the first content comprising a first three-dimensional model; receiving the second content comprising a second three-dimensional model; present, using the transparent screen, a first view of the first three-dimensional model for the first time; and presenting, using the transparent screen, a first view of the second three-dimensional model at a second time after the first time, based on one or more instructions received from a server.
ui uo
In some embodiments, at least one processor is further programmed to receive instructions from the server at a third time that is subsequent to the first time and that precedes the second time, wherein the one or more instructions include at least one instruction to cause The first head-mounted display stops presenting the first content and begins presenting the second content in response to receiving one or more instructions.
In some embodiments, the system further comprises the server, wherein the server: receives an indication that the second content will be presented; and in response to receiving the indication that the second content is to be presented, transmits one or more instructions to at least the first head-mounted display.
In some embodiments, the system further comprises a second head-mounted display of the plurality of head-mounted displays, wherein the second head-mounted display comprises at least a second processor, wherein at least a second processor is programmed to cause the second head-mounted display to act as the server.
In some embodiments, the first content and the second content are received as part of a content body before the first content is presented.
In some embodiments, the first content is ui uo received before the first time and the second content is received after the first time.
In some embodiments, at least one processor is additionally programmed to request the second content in response to receiving the indication that the second content will be presented.
In some embodiments, at least the processor is further programmed to receive the second content from the server as content sent to be presented without transmitting a request for the second content.
In some embodiments, the system further comprises a head tracking system, wherein at least one hardware processor is further programmed to: receive an indication that the first content will be presented at a first physical location of a plurality of locations physical environment of the first head-mounted display; receiving an indication that the second content will be presented at a second physical location of the plurality of physical locations in the physical environment of the first head-mounted display; present, using the transparent screen, the first view of the first three-dimensional model at the first physical location, based at least in part on a first head position in relation to the first physical location determined from the information output by the head tracking; determining, based on the information output of the head tracking system, a second head position relative to the first physical location that is different from the first head position; in response to determining the second head position, presenting a second view of the first three-dimensional model based on the second head position; determining that the second physical location of the plurality of physical locations in the physical environment of the head-mounted display is located closest to the head-mounted display of the plurality of physical locations; in response to determining that the second physical location is located closest to the head-mounted display of the plurality of physical locations, presenting the second three-dimensional model anchored at the second physical location.
In some embodiments, at least one hardware processor is further programmed to inhibit display of the first three-dimensional model at the first physical location in response to determining that the second physical location is located closer to the head-mounted display of the device. plurality of physical locations.
In some embodiments, the head tracking system comprises an inertial measurement unit.
In some embodiments, at least one processor is u/or further programmed to request the second content from the server in response to determining that the head-mounted display has been moved closer to the second physical location.
In some embodiments, the at least processor is further programmed to receive the second content from the server as content sent to be presented without transmitting a request for the second content.
In some embodiments, the system further comprises: a computing device comprising: at least one input device; and at least a third processor that is programmed to: receive input from the input device indicating that the first content will be associated with the first physical location, and that the second content will be associated with the second physical location; and transmitting information to a server indicating that the first content will be associated with the first physical location, and that the second content will be associated with the second physical location, where the information is formatted as an Extensible Markup Language (XML) document. for its acronym in English).
In some embodiments, the system further comprises: a user input device, configured to communicate with the first head-mounted display, wherein the user input device comprises: a second inertial measurement unit; and at least a fourth processor that is programmed to: transmit information indicative of physical movements of the user's input device to the first head-mounted display; and wherein at least one processor of the first head-mounted display is further programmed to: present a first user interface element in relation to the first three-dimensional model at a location that is based on information indicative of physical movements from the user's input device; and transmitting information to a server indicating the location of the user interface element in relation to the first three-dimensional model; and a second head-mounted display of the plurality of head-mounted displays, comprising at least a fifth processor that is programmed to: receive one or more instructions from the server indicating the location at which the element of user interface in relation to the first three-dimensional model; present the user interface element at a location relative to the first three-dimensional model based on information received from the server, related to the location of the user interface element relative to the first three-dimensional model.
In some embodiments, the user interface element is presented as a point at the location.
In some embodiments, the system further comprises at least one image capture device, wherein at least one processor is further programmed to: capture an image of a code displayed by a mobile computing device; and transmitting information encoded in the image to a server so that the first head-mounted display is paired with the mobile computing device.
In some embodiments, at least one processor is further programmed to: request a user to log in to a service provided at least in part by the server using the mobile computing device; and prompt the user to capture the code image to log in to the first head-mounted display for the service.
In some embodiments, the first physical location is associated with at least a first section of the physical environment on a first side of a barrier in the physical environment and a second section of the physical environment on the first side of the barrier, and the second physical location is associated with at least a third section of the physical environment on a second side of the barrier and a fourth section of the physical environment on the second side of the barrier, the second section is arranged between the first section and the third section in the physical environment, and wherein at least one hardware processor οη/ηιη/ζζηζ/Β/γίΛΐ is configured to: determine that the first head-mounted display is arranged within the first section; in response to determining that the first head-mounted display is arranged within the first section, presenting the first content at the first physical location; determine that the first head-mounted display has moved to the third section; and in response to the determination that the first head-mounted display has been moved to the third section, presenting the second content at the second physical location.
In some embodiments, at least one hardware processor is configured to: receive third content comprising a third three-dimensional model; determine that the first head-mounted display has moved to the fourth section; in response to determining that the first head-mounted display has moved to the fourth section, loading the third content into the working memory of the first head-mounted display; determining that the first head-mounted display has moved from the fourth section to the first section; and in response to the determination that the first head-mounted display has moved from the fourth section to the first section, present the third content that was loaded into the working memory of the first head-mounted display οη/ηιη/ζζηζ /Β/γίΛΐ head.
In some embodiments, the system further comprises a server, wherein the server is programmed to: receive information about the position of the first head-mounted display during presentation of the first content by the first head-mounted display during a first period of time; receiving video corresponding to a field of view of a user of the first head-mounted display, captured during the first period of time; record information about the position of the first head-mounted display; recording video corresponding to the field of view of the first head-mounted display during the first time period; receiving information regarding the position of a second head-mounted display during the presentation of the first content by the second head-mounted display during the first period of time; receiving video corresponding to a field of view of a user of the second head-mounted display, captured during the first time period; recording information regarding the position of the second head-mounted display; recording video corresponding to the field of view of the second head-mounted display during the first time period; receiving, from a first computing device, a request to present the recorded content during the first time period; and causing the first computing device to simultaneously: present the first content; present a first avatar in a first position relative to the first content, based on information recorded about the position of the first head-mounted display; present a second avatar in a second position relative to the first content based on recorded information about the position of the second head-mounted display; a first window showing a portion of the video captured by the first head-mounted display when the first head-mounted display was in the first position; and a second window showing a portion of the video captured by the second head-mounted display when the second head-mounted display was in the second position.
In some embodiments, the server is further programmed to: present, in relation to the first avatar, a first user interface element indicative of the user's line of sight to the first head-mounted display; and presenting, in relation to the second avatar, a second user interface element indicative of the user's line of sight of the second head-mounted display.
In some embodiments, a second head-mounted display of the plurality of head-mounted displays comprises: a virtual reality display; and at least one processor, wherein the at least one processor is programmed to: receive the first content; receive the second content; present, using the virtual reality screen, the first view of the first three-dimensional model for the first time; and presenting, using the virtual reality screen, the first view of the second three-dimensional model at the second time following the first.
In accordance with some embodiments of the described subject matter, another system is provided for displaying interactive augmented reality presentations, the system comprising: a plurality of head-mounted displays, wherein each of the plurality of head-mounted displays is configured to: receive content from a server that includes the first content and the second content; present the first content based, at least in part, on the proximity of the head-mounted display to a first physical location in a physical environment, wherein a first head-mounted display of the plurality of head-mounted displays and a second head-mounted display of the plurality of head-mounted displays that are located near the first physical location at a first time present simultaneously the first content at the first physical location with the same orientation with respect to the first physical location based on proximity to the first physical location; and presenting the second content based, at least in part, on the proximity of the first head-mounted display to a second physical location in the physical environment, wherein a third head-mounted display of the plurality of head-mounted displays head and a fourth head-mounted display of the plurality of head-mounted displays that are located near the second physical location, At first, they simultaneously present the second content at the second physical location with the same orientation with respect to the second physical location based on proximity to the second physical location.
According to some embodiments of the described subject matter, there is provided a system for displaying interactive content, comprising: a head-mounted display, comprising a virtual reality display, wherein the head-mounted display is configured to: receive content including the first content, the second content and the third content; receive information from the first presentation and information from the second presentation; presenting, based on information from the first presentation, the first content at a first location based, at least in part, on the proximity of a location of the head-mounted display to the first location in an environment; presenting, based on the first presentation information, the second content at a second location based, at least in part, on the proximity of the head-mounted display to a second location in the environment; and presenting, based on the second presentation information, the third content at a first location, based at least in part on the proximity of a location of the head-mounted display to the first location in an environment.
According to some embodiments of the described subject matter, a method is provided for displaying interactive augmented reality presentations, the method comprising: determining that a first physical location of a plurality of physical locations in a physical environment of a screen mounted on the head is located closer to the head-mounted display; receiving the first content comprising a first three-dimensional model; receiving the second content comprising a second three-dimensional model; presenting, using a transparent screen, a first view of the first three-dimensional model for the first time; and presenting, using the transparent screen, a first view of the second three-dimensional model at a second time after the first time, based on one or more instructions received from a server.
In accordance with some embodiments of the subject matter of interest described, another method is provided for displaying interactive augmented reality presentations, the method comprising: receiving content from a server that includes the first content and the second content; presenting, by a head-mounted display, the first content based, at least in part, on the proximity of the head-mounted display to a first physical location in a physical environment, wherein the first head-mounted display of the plurality of head-mounted displays and a second head-mounted display head of the plurality of head-mounted displays that are located near the first physical location at a first time present simultaneously the first content at the first physical location with the same orientation with respect to the first physical location based on proximity to the first physical location; and presenting, by the head-mounted display, the second content based, at least in part, on the proximity of the first head-mounted display to a second physical location in the physical environment, wherein a third head-mounted display of the plurality of head-mounted displays and a fourth head-mounted display of the plurality of head-mounted displays that are located near the second physical location at the first time simultaneously present the second content at the second physical location with the same ui or orientation with respect to the second physical location based on proximity to the second physical location.
According to some embodiments of the described subject matter, a method is provided for displaying interactive content, the method comprising: receiving content including first content, second content and third content; receive information from the first presentation and second information from the presentation; present, based on information from the first presentation and using a virtual reality display of a head-mounted display, the first content at a first location, at least in part, in the vicinity of a location of the head-mounted display head to the first location in an environment; presenting, based on the first presentation information and using the virtual reality display, the second content at a second location, at least in part, in the proximity of the head-mounted display to a second location in the environment; and presenting, based on the second presentation information and using the virtual reality display, the third content in a first location, at least in part, in the proximity of a location of the head-mounted display to the first location in an environment.
According to some embodiments of the disclosed subject matter, a non-transitory computer-readable medium is provided that contains computer-executable instructions that, when executed by a processor, cause the processor to perform a method of displaying interactive augmented reality presentations. , the method comprises: determining that a first physical location of a plurality of physical locations in a physical environment of a head-mounted display is located closest to the head-mounted display; receiving the first content comprising a first three-dimensional model; receiving the second content comprising a second three-dimensional model; presenting, using a transparent screen, a first view of the first three-dimensional model for the first time; and presenting, using the transparent screen, a first view of the second three-dimensional model at a second time after the first time, based on one or more instructions received from a server.
In accordance with some embodiments of the disclosed subject matter, another non-transitory computer-readable medium is provided that contains computer-executable instructions that, when executed by a processor, cause the processor to perform a method of displaying interactive augmented reality presentations. , the method comprising: receiving content from a server that includes the first content and the second content; presenting, by a head-mounted display, the first content based, at least in part, on the proximity of the head-mounted display to a first physical location in a physical environment, wherein the first head-mounted display of the plurality of head-mounted displays and a second head-mounted display of the plurality of head-mounted displays that are located near the first physical location at a first time simultaneously present the first content at the first physical location with the same orientation with respect to the first physical location based on proximity to the first physical location; and presenting, by the head-mounted display, the second content based, at least in part, on the proximity of the first head-mounted display to a second physical location in the physical environment, wherein a third head-mounted display of the plurality of head-mounted displays and a fourth head-mounted display of the plurality of head-mounted displays that are located near the second physical location at the first time simultaneously present the second contained in the second physical location with the same orientation with respect to the second physical location based on proximity to the second physical location.
In accordance with some embodiments of the disclosed subject matter, a non-transitory computer-readable medium is provided that contains computer-executable instructions that, when executed by a processor, cause the processor to perform a method of displaying interactive content, comprising the method: receive content including the first content, the second content and the third content; receive information from the first presentation and information from the second presentation; present, based on information from the first presentation and using a virtual reality display of a head-mounted display, the first content at a first location based, at least in part, on the proximity of a location of the head-mounted display head to the first location in an environment; presenting, based on the first presentation information and using the virtual reality display, the second content at a second location, at least in part, in the proximity of the head-mounted display to a second location in the environment; and presenting, based on the second presentation information and using the virtual reality display, the third content at a first location based, at least in part, on the proximity of a location of the head-mounted display to the first location. in an environment.
Brief Description of the Figures
Various objects, features and advantages of the described subject matter can be more fully appreciated with reference to the following detailed description of the described subject matter when considered in relation to the following figures, in which like reference numerals identify like elements.
Figure 1 shows an example of a head-mounted display that may be used in accordance with some embodiments of the subject matter described.
Figure 2 shows an example of a networked head-mounted display system, according to some embodiments of the subject matter described.
Figure 3A shows an example of a system for interacting with an image presented according to some modalities of the subject of interest described.
Figure 3B shows an example of another system for interacting with a presented image, according to some modalities of the subject of interest described.
Figure 4 shows an example of hardware that can be used to implement at least one head-mounted display, at least one server, and at least one user input device in accordance with some of the disclosed subject matter of interest.
Figure 5 shows an example of an information flow between a user computing device that selects and/or uploads content and/or a presentation to a server, and a head-mounted display that receives the content and presents the content accordingly. with the presentation in accordance with some modalities of the matter of interest described.
Figure 6 shows an example of a process for distributing content to one or more head-mounted displays, according to some embodiments of the subject matter described.
Figure 7 shows an example of a process for generating an augmented reality presentation using a head-mounted display, according to some embodiments of the subject matter described.
Figure 8 shows an example of a user device and a head-mounted display that performs a pairing operation with a server in accordance with some embodiments of the disclosed subject matter.
Figure 9 shows an example of an information flow between a user device, a server and a head-mounted display during a login and/or pairing operation as described above in relation to Figure 8, of agreement with some modalities of the matter of interest described.
Figure 10 shows an example of an information flow between a first head-mounted display, a server and a second head-mounted display, to associate a three-dimensional (3D) model with a user of the UI or first head-mounted display. the head (e.g., as an avatar) and present the 3D model on the second head-mounted display in accordance with some embodiments of the subject matter described.
Figure 11 shows an example of a display space for presenting several models in a sequence according to some modalities of the subject matter described.
Figure 12 shows an example of a process for presenting a sequence of content in a limited physical space, according to some modalities of the subject of interest described.
Figure 13A shows an example of a first review mode in which a user of a first head-mounted display and a user of a second head-mounted display are interacting with a virtual accident victim according to some embodiments of the matter of interest described.
Figure 13B shows an example of another view of the scene shown in Figure 13A at a different moment in time according to some embodiments of the subject matter described.
Figure 13C shows an example of a bird's eye view of the scene shown in Figures 13A and 13B at yet another time, in accordance with some embodiments of the subject matter described.
Figure 13D shows an example of a reproduction of an augmented reality session according to some modalities of the subject of interest described.
Figure 14 shows an example of a process for reviewing media recorded by one or more head-mounted displays, in accordance with some embodiments of the subject matter described.
Detailed description of the invention
Before any embodiment of the subject matter described is explained in detail, it should be understood that the subject matter described is not limited in its application to the details of construction and arrangement of components set forth in the following description or illustrated in the following figures. The subject of interest described is capable of other modalities and can be practiced or carried out in various ways. Furthermore, it should be understood that the phraseology and terminology used in this document are for the purpose of description and should not be considered limiting. The use of include, understand or have and their variations herein is intended to encompass the articles listed below and their equivalents, as well as additional articles. Unless otherwise specified or limited, the terms mounted, connected, supported, and coupled and their variations are used widely and encompass both direct and indirect mountings, connections, supports, and couplings. Furthermore, connected and coupled are not restricted to physical or mechanical connections or couplings.
The following discussion is presented to enable a person skilled in the art to make and use embodiments of the subject matter described. Various modifications to the illustrated embodiments will be readily apparent to those skilled in the art, and the generic principles of this document may be applied to other embodiments and applications without departing from the embodiments of the subject matter described. Therefore, the modalities of the subject matter described are not intended to be limited to the modalities shown, but rather should be given the broadest scope in accordance with the principles and characteristics described in this document. The following detailed description should be read with reference to the figures, in which similar elements in different figures have similar reference numerals. The figures, which are not necessarily to scale, represent selected modalities and are not intended to limit the scope of the modalities of the subject matter described. Those skilled in the art will recognize that the examples provided herein have many useful alternatives and are within the scope of the embodiments of the subject matter described.
ινΐΛ/a/zuzz/uiui uo
In accordance with some embodiments of the described subject matter, mechanisms (which may include systems, methods and/or means) are provided for displaying interactive augmented reality presentations. In some embodiments, a user may generate an interactive presentation to be presented using augmented reality devices. For example, an instructor can create and/or select content to be used to display various holograms (e.g., 3D models, charts, 2D graphics, etc.) to help understand the concepts the instructor is trying to convey to learners. students. In a more particular example, the instructor can create a variety of different holograms showing different aspects of human anatomy.
In some embodiments, a user may select different portions of the interactive presentation for presentation at different physical locations, different virtual locations, and/or different times. For example, the instructor can place different 3D models of human anatomy that illustrate different concepts (or the same concepts in different ways) in an ordered presentation, and/or can assign the different 3D models of human anatomy to different physical locations (e.g. , stations as described below in relation to Figure 2) and/or virtual locations (e.g. presentation spaces within a virtual museum, as described below in relation to Figures 10 and 11). In a more particular example, the instructor can discuss what is shown in a series of 3D models (e.g., similar to a slideshow), while students have the opportunity to move freely around the models while listening and /or interact with the instructor. After finishing the presentation, the different models can be presented in different physical and/or virtual locations (for example, according to the instructions entered by the instructor when building the presentation), and students can move freely between the different models to later explore the concepts discussed in class
In some embodiments, a user may use one or more user input devices to highlight one or more locations in content presented through an augmented reality device worn by the user. The same location(s) may be highlighted by other augmented reality devices that present that same content to one or more users. For example, an instructor may use the augmented reality device to view a 3D model, and may use the augmented reality device and/or a separate device such as a virtual laser pointer to highlight one or more features in the 3D model presented by the instructor. augmented reality device worn by the instructor. In such an example, a corresponding pointer can be replicated by other augmented reality devices worn by the instructor's students at the same location on the same 3D model.
In some embodiments, multiple augmented reality devices may be networked with a common server or servers to provide relevant content based on the time and/or location of the augmented reality devices. For example, as described above, the instructor can assign different 3D models to different physical spaces. In such an example, the server can transmit only the content of the space closest to a particular student. This can allow the instructor to have a large amount of content available, without overwhelming the individual AR devices. Additionally or alternatively, this may allow collaboration between different students (or other users) by making input provided by a first user (for example, through a laser pointer used by the instructor) available in a hologram projected by a second user device (for example, a student's augmented reality device). Furthermore, providing content and/or instructions from the server to augmented reality devices in a similar situation can facilitate collaboration of users of the different augmented reality devices, ensuring that the different augmented reality devices present the same content.
Although the mechanisms described herein are generally described in relation to use in a classroom environment, the mechanisms can be configured for use in a variety of applications. For example, the mechanisms described here can be configured to provide interactive augmented reality museum exhibits, to provide multiplayer augmented reality gaming experiences, to provide collaborative workspaces when creating highly detailed 3D designs, etc.
Figure 1 shows an example 100 of a head-mounted display (HMD) that may be used in accordance with some embodiments of the disclosed subject matter. As shown in Figure 1, the head-mounted display 100 may include a display processor 104 and a transparent display 102 that may be used to present images, such as holographic objects, to the eyes of a user of the HMD 100. In some embodiments, the transparent display 102 may be configured to visually increase the appearance of a physical environment to a user viewing the physical environment through the transparent display 102. For example, in some embodiments, the appearance of the physical environment may be augmented with graphical content (e.g., one or more pixels, each with a respective color and brightness) that is presented through the transparent display 102 to create an environment of augmented reality. Additionally or alternatively, in some embodiments, the transparent display 102 may be configured to generate a completely opaque virtual environment (e.g., using one or more techniques to block the physical environment from being visible through the HMD 100). In some of these embodiments, the HMD 100 may be used to present a virtual reality environment.
As shown in Figure 1, in some embodiments, the transparent display 102 may include one or more image-producing elements (e.g., display pixels) located within the lenses 106 (such as, for example, display pixels). a transparent Organic Light Emitting Diode (OLED) display). Additionally or alternatively, in some embodiments, the transparent screen 102 may include a light modulator at one edge of the lenses 106.
In some embodiments, the HMD 100 may include various sensors and/or other related systems. For example, the HMD 100 may include a gaze tracking system 108 that may include one or more image sensors that may generate gaze tracking data representing a direction of gaze. from the eyes of a user. In some embodiments, the eye tracking system 108 may include any suitable number and arrangement of light sources and/or image sensors. For example, as shown in Figure 1, the gaze tracking system 108 of the HMD 100 may use at least one inward-facing sensor 109. In some embodiments, the user may be asked to allow the acquisition and use of gaze information to track a position and/or movement of the user's eyes.
In some embodiments, the HMD 100 may include a head tracking system 110 that may use one or more motion sensors, such as the motion sensors 112 shown in Figure 1, to capture head position data that is They can be used to track the position of the user's head, for example, by determining the direction and/or orientation of the user's head. In some embodiments, the head tracking system 110 may include an inertial measurement unit configured as a three-axis or three-degree-of-freedom position sensing system.
In some embodiments, the head tracking system 110 may also support other suitable positioning techniques, such as the Global Positioning System (GPS) or other global navigation systems. Furthermore, although specific examples of position sensor systems have been described, it will be appreciated that any other suitable position sensor system may be used. For example, head position and/or motion data may be determined based on sensor information from any suitable combination of sensors mounted on the user and/or external to the user, including, but not limited to, any number of gyroscopes, accelerometers, inertial measurement units (IMUs), GPS devices, barometers, magnetometers, cameras (for example, visible light cameras, infrared light cameras, time-of-flight depth cameras, structured light depth cameras, etc.), communication devices (e.g. Wi-Fi antennas/interfaces, Bluetooth, etc.), etc.
In some embodiments, the HMD 100 may include an optical sensor system that may use one or more outwardly facing sensors, such as optical sensor 114, to capture image data from the environment. In some embodiments, the captured image data may be used to detect movements captured in the image data, such as gesture-based inputs and/or any other suitable movement by a user alerting the HMD 100, by another person. in the field of view of the optical sensor 114, or by a physical object within the field of view of the optical sensor 114. Additionally, in some embodiments, one or more outward-facing sensors may capture 2D image information and/or depth information of the physical environment and/or physical objects in the environment. For example, outward-facing sensors may include a depth camera, a visible light camera, an infrared light camera, a position tracking camera, and/or any other suitable image sensor or combination of image sensors.
In some embodiments, a structured light depth camera may be configured to project structured infrared illumination, and to generate reflected illumination image data from a scene into which the illumination is projected. In such embodiments, a depth map of the scene can be constructed based on the spacing between features in different regions of an imaged scene. Additionally or alternatively, in some embodiments, a time-of-flight depth camera, configured to project pulsed infrared illumination onto a scene and detect reflected illumination from the scene, may be incorporated into the HMD 100. In some embodiments, the illumination may be ui uo provided by an infrared light source 116.
In some embodiments, the HMD 100 may include a microphone system that may include one or more microphones, such as microphone 118, that may capture audio data. In other examples, audio may be presented to the user through one or more speakers, such as speaker 120.
In some embodiments, the HMD 100 may include a controller, such as controller 122, which may include, for example, a processor and memory (as described below in relation to Figure 4) that are in communication with the various HMD 100 sensors and systems. In some embodiments, the controller may store, in memory, instructions executable by the processor to receive signal inputs from the sensors, determine a position of the HMD 100, and adjust display properties for content displayed using the transparent display. 102.
In some embodiments, the HMD 100 may have any other suitable features or combination of features, such as the features described in United States Patent No. 9,495,801 issued to Microsoft Technology Licensing, LLC, which is incorporated herein by reference herein. In its whole. The description in this document of the HMD 100 is merely to illustrate the hardware that may be used in connection with the UI or topic described. However, the subject matter described may be used with any suitable augmented reality device, such as the HoloLens® manufactured by Microsoft®, and/or the devices described in United States Patent No. 8,847,988, United States Patent United States No. 8,941,559, United States Patent Application Publication 2014/0160001, each of which is incorporated herein by reference herein in its entirety.
Figure 2 shows an example 200 of a networked HMD system 100 in accordance with some embodiments of the subject matter described. As shown in Figure 2, system 200 may include multiple HMDs 100-1 to 100-5 located in the same physical space (e.g., in the same room). The system 200 may include several stations 202-1 to 202-3, which may correspond to points in physical space at which the HMDs are to display one or more images. For example, each station 202 may be used by the HMDs 100 as a predetermined spatial anchor for one or more images. In a more particular example, stations 202 may define spatial anchors for images to be displayed by an HMD (e.g., HMD 100) if the HMD is instructed to display an image corresponding to the station, as long as the station is in the field of view, even if the HMD is moved relatively far from the station (for example, more than five meters from the station).
As yet another example, each station 202 can be used to define a coordinate system in which the HMDs 100 can place one or more images. In a more particular example, stations 202 may define the origin of a global coordinate system in which an HMD (e.g., HMD 100) is instructed to present an image corresponding to the station only when the user is relatively close. of a particular station and/or when the HMD is instructed to only present one or more images corresponding to the closest station in the field of view (e.g. as described below in relation to system 200 and in relation to Figure 6). In some embodiments, each station 202 may be passive and/or active. For example, one or more stations 202 may be a sheet of paper that has a particular symbol (e.g., letter, number, icon, QR code, etc.) that may be recognized by the HMD 100 (e.g., from an image captured by an optical sensor 114). As yet another example, one or more stations 202 may be a particular object or part of an object (e.g., a piece of furniture, an action figure, a toy, etc.) that may be recognized by the HMD 10 0 (e.g. , from an image captured by the optical sensor 114). As yet another example, one or more stations 202 may be an active device such as a Bluetooth device (e.g., a Bluetooth low energy beacon) that may communicate with the HMD 100. As yet another example, the stations 202 can be an active or passive RFID device with which the HMD 100 can communicate. In some embodiments, the locations of the stations 202 can be visually highlighted by HMDs 100-1 to 100-5 to Help users move to different stations. For example, one or more stations 202 in a user's field of view may be represented by an image of a ball, text, a summary of the content to be presented in relation to the station, and/or any other suitable visual aid.
In some embodiments, system 200 may include a server 204 that may control the content to be presented in connection with each station. In some embodiments, the server 204 may be implemented using any suitable computing device, such as a server computer, an HMD, a tablet computer, a smartphone, a personal computer, a laptop, etc. In some embodiments, each HMD 100 may connect to the communication network 206 through a communications link 208, and the server 204 may connect to the communications network 206 through a communications link 212. In some of these embodiments (e.g., embodiments in which the stations 202 are active devices), the stations 202 may connect to the communications network 206 via a communications link 210. In some embodiments, a user computing device 220 may be connected to the communications network 206 via a communications link 222. The communications network 206 may be any suitable communications network or a combination of communications networks. For example, the communication network 206 may be a Wi-Fi network (which may include one or more wireless routers, one or more switches, etc.), a peer-to-peer network (e.g., a Bluetooth network, a Zigbee mesh, etc.), a cellular network (for example, a 3G network, a 4G network, etc., complying with any suitable standard, such as CDMA, GSM, LTE, LTE Advanced, WiMAX, etc.), a wired network, etc. The communication links 208, 210 and 212 may each be any suitable communication link or a combination of communication links, such as Wi-Fi links, Bluetooth links, cellular links, etc.
In some embodiments, a user may interact with the server 204 through the user's computing device 220 to select content to be presented in connection with each station 202. For example, the user can instruct the server 204 to cause the HMD near station 202-2 to display images showing an interactive 3D model of the human vascular system, in the absence of other anatomical features (e.g., in the absence of muscles). , in the absence of the skeletal system, etc.), while the user can instruct the server 204 to cause the HMDs near station 202-3 to display images showing an interactive 3D model showing how the vascular system integrates into certain major muscle groups. Please note that these are only given as examples, and the user can select any suitable content to present in relation to each station. In some embodiments, the user can direct the server 204 to present different content for each station, such that the server 204 causes the HMDs 100 to present different content for each station 202. In some of these embodiments, users of HMDs 100 can move between stations to observe different content on each station, which the user may have selected to demonstrate different concepts. Additionally or alternatively, in some embodiments, the user can direct the server 204 to present the same content at each station. For example, in such embodiments, all students in a class can follow along as an instructor discusses certain content that all HMDs 100 are displaying on the system 200, regardless of the station at which each HMD 100 is located. In some embodiments, the user may specify the location of one or more stations 202 relative to one or more reference points (e.g., locations in a room, reference points relative to a particular device, etc.).
In some embodiments, the user may generate a presentation that will be presented in connection with one or more stations 202 through the user's computing device 220 and/or server 204. Such a presentation may include, for example, what content will be presented at each station, the times (e.g., a period of time, a period of time during the presentation, etc.) at which the content will be presented at the stations, an order in which the content will be presented on each station (and/or all stations), which content will be presented on which HMD 100 and/or which user associated with an HMD 100, and/or any other appropriate information . In some embodiments, such a presentation may be transmitted by server 204 to each HMD 100 at the time of presentation as a document that references the content to be presented, the order in which it will be presented, a time or times. (the time) it will be presented, what content will be presented in relation to each station, etc. For example, server 2 04 can send an XML file that an HMD 10 0 can use to generate the presentation of content already loaded on the HMD 100.
ui uo
In some embodiments, the user may upload content and/or content identification information to server 204 that will be presented by the HMDs 100 from the user's computing device 220. For example, the user may upload anatomical models from the user's computing device 220 to server 204 which may be used (e.g., by the HMDs 100) to generate a 3D representation of one or more anatomical features. As yet another example, the user may provide location information (e.g., a URL) at which one or more anatomical models can be accessed. In some embodiments, the HMDs 100 may download and/or save content at any suitable time. For example, an administrator may upload, download and/or transfer the content to each HMD 100 for use during the presentation of augmented reality content and/or other presentation of such content. In a more particular example, if the HMDs 100 are owned by an institution, a user associated with the institution can preload content on each of the HMDs 100. As yet another example, in some embodiments, a user of an HMD 100 can Download an app that can be used to present the content. In such an example, the user uploading the content may associate the content with the application, and the content may be downloaded with the application and/or through the application after the application is installed on the HMD. As yet another example, in some embodiments, a user of an HMD 100 may select content to download and/or the content may be downloaded automatically based on information known about the user. In a more particular example, the user may be allowed to download the content based on the user's registration to participate in an event (e.g., a class) associated with the content. In another more particular example, content may be downloaded automatically based on the user's association with the event (e.g., class) during which the content will be presented. As yet another example, the content may be streamed and/or downloaded in an on-demand manner as the HMD 100 needs the content. In some embodiments, the user may be asked to pay for the content and/or to take out a subscription to the content.
In some embodiments, the user's computing device 220 may be any suitable computing device or combination of devices, such as a personal computer, a laptop computer, a tablet, a smartphone, a laptop, a wall-mounted display. head (e.g. HMD 100), etc. In some embodiments, a user may select content, generate a presentation, upload content, etc., using the computing device 220 and/or the on/n Ln/zznz/e/YiAi server 204 using any suitable technique or combination of techniques. . For example, the user computing device 220 may execute a presentation application from memory that is configured to generate and/or edit content presentations for any suitable number of stations and/or any suitable number of HMDs. As yet another example, the user's computing device 220 may interact with a presentation application run by another computing device (e.g., server 204, a cloud server, etc.) over network 206 via of a web browser executed by the computing device 220 or other application that facilitates interaction with a remotely executed presentation application.
In some embodiments, each HMD 100 may run an application that may interact with the server 204 (e.g., via communication network 206) to present content associated with each station. When a particular HMD 100 comes within a predetermined distance of a station (e.g., when HMD 100-2 approaches station 202-2), server 204 may provide content associated with station 202-2. Networking the HMDs 100 with the server 204 may facilitate the HMDs 100 to present more content than an HMD 100 could present from memory. Additionally, networking the HMDs 100 with the server 204 may make it easier for a presenter (for example, a user of the HMD 100-1) to control the content being presented by the various other HMDs 100 during an interactive presentation.
In some embodiments, the system 200 may determine what content a particular HMD 100 should display using any suitable technique or combination of techniques. For example, the HMD 100 may determine which station (or stations) it is closest to, and may request content associated with that station from the server 204 and/or may present content associated with that station from memory. In such an example, the HMD 100 may use any suitable technique to determine which station 202 (or stations) is closest, such as by analyzing image data captured by an outward-facing camera (e.g., optical sensor 114), analyzing the strength of various signals (e.g., Bluetooth signals) received from various stations 202, analyzing the GPS coordinates of the HMD 100 determined using a GPS receiver, etc. As yet another example, the HMD 100 may provide information (e.g., one or more images, signal strength of various signals, GPS coordinates, etc.) to the server 204, which may determine which station (or stations) is closest. of the HMD 100. As yet another example, the server 204 may receive information from the stations 202 indicating which HMDs are closest to the station (for example, as a list of HMDs that are closer to that station than others from nearby stations, such as a distance from the station to various HMDs, etc.) based on any suitable data (for example, the signal strength of a Bluetooth signal received by the station from the various HMDs). In such an example, each station can coordinate with other nearby stations, so that each HMD is on the list indicated by a single station, which HMD can determine.
In some embodiments, the HMD 100 may determine that different content will be presented at any suitable time. For example, HMD 100-2 may determine that HMD 100-2 has left the vicinity of station 202-2 and approached station 202-3, and may, based on that determination, present and/or request content for station 202-3 in response to the determination that HMD 100-2 has approached station 202-3. Additionally or alternatively, in some embodiments, the server 204 may send instructions and/or content to HMD 100-2 at any suitable time. For example, the server 204 may determine that the HMD 100-2 has left the vicinity of the station 202-2 and has approached the station 202-3, and may send instructions to display the content (and/or may send the content itself) associated with station 202-3 to the HMD in response to the determination that HMD 100-2 has approached station 202-3. As another example, the server 204 may receive an instruction to change the content presented by any suitable station or stations 202 (e.g., from a presenter). In response to such an instruction, the server 204 may send an instruction to present the new content (and/or the new content itself) to the appropriate HMDs 100. As yet another example, server 204 may receive instructions assigning particular HMDs 100 to receive particular content at particular times. In such an example, the user of a particular HMD 100 may be asked to move to an assigned station for which the HMD 100 is presenting content after receiving an indication that the content is associated with the station from the server 204. (and/or after receiving the content itself).
In some embodiments, one or more stations 202 may be used by a presenter to monitor what HMDs near other stations are presenting. For example, in some embodiments, a user of the HMD 100-1 can interact with the content presented at the station 202-1 using any user interface device suitable for controlling the content presented at one or more of the stations 202-1. 2 and 202-3 (and/or any other suitable station). In such an example, the user of the HMD 100-1 may use any suitable input device or combination of devices, such as voice inputs to a speech recognition system, gestures as inputs to a gesture recognition system (e.g., integrated on the HMD 100-1), an input device of another computing device (for example, a touch screen of a computing device such as a smartphone, tablet, laptop, etc.), a mouse and/or a keyboard of a computing device such as a laptop, a personal computer, etc.), a dedicated input device (for example, as described below in relation to Figure 3A), etc. In some embodiments, the server 204 may communicate additional information to the HMDs 100 during content presentation, such as instructions to one or more of the HMDs 100 regarding how to present the content and/or additional content to be presented. For example, as described below in relation to Figures 3A and 3B, a user of a first HMD 100-1 can use an input device to point (for example, via a line through space, a point on the content, the user's hand, etc.) to a particular portion of the content presented by the HMD 100-1, and the server 204 may send instructions to one or more HMDs 100 that present the same content, which causes each of those HMDs to present complementary content that shows the user of the HMD 100-1 is pointing to a particular portion of the content. In some embodiments, such additional information may be used to control the presentation of content by the HMDs 100. For example, a user of the HMD 100-1 may control a presentation through input to the HMD 100-1 (and/or any other suitable device), and one or more other HMDs 100 may receive instructions and/or content from the server. 204 that cause one or more HMDs 100 to change what content is presented according to user input from the HMD 100-1. In some embodiments, an HMD 100 may access a recording of a presentation (e.g., including changes to which content is presented), and instructions that were sent by the server 204 during the presentation may be included (e.g., as a file) with the recording (which may include, for example, a document indicating what content to present) and/or may transmit instructions when the recording is presented by the HMD 100. For example, an HMD 100 may present a particular 3D model according to a first part of a presentation, and may present a pointer in association with the 3D model based on instructions sent by the server 204 during the presentation of the 3D model during the presentation. presentation. In such an example, the audio that was recorded during the presentation can also be presented to the user (for example, through the speakers
120). This can make it easier for a user to experience the presentation as experienced by users who were present when the presentation was given.
In some embodiments, audio information may also be associated with each station, which may be presented in relation to visual content via the HMD 100.
Additionally or alternatively, in some embodiments, audio may be recorded at each station (e.g., by hardware that is part of station 202 and/or by microphone 118 of one or more HMDs 100). In some embodiments, audio may be recorded at the request of the user of a particular HMD 100 for later access (e.g., as a study aid).
Although HMDs 100-1 to 100-5 are described above as local to each other (e.g., in the same room), the HMDs in system 200 may be located locally to each other and/or remote from each other. For example, system 200 may be used to collaborate and/or interact with one or more users of HMDs 100 located at one or more remote locations. In some embodiments, two HMDs 100 may be distant from each other if there is no line of sight between them. For example, two HMDs 100 can be considered remote from each other if they are located in different rooms, regardless of whether or not they are both connected to the same local area network (LAN) or different networks. As yet another example, two HMDs 100 that are connected to different LANs can be considered remote from each other. As yet another example, two HMDs 100 that are connected to different subnets can be considered remote from each other. In some embodiments, for example, as described below in relation to Figure 3B, two HMDs 100 that are remote from each other can be used to collaborate by representing a remote user with an avatar in connection with a hologram presented by at least one of the two HMDs 100.
In some embodiments, the server 204 may be located locally or remotely from the HMDs 100. Additionally, in some embodiments, multiple servers 204 (which may be located in different physical locations) may be used to provide different content, provide redundant functions, etc. In some embodiments, one of the HMDs in system 200 may perform one or more of the operations of server 204 described herein, such as telling other HMDs when to move through the presentation, to distribute updated information, etc. For example, local HMDs 100 in system 200 may be interconnected to form a mesh network, and an HMD acting as server 204 (e.g., HMD 100-1) may control the operation of the other HMDs by providing ui uo updated information. Additionally, in some embodiments, the HMD acting as server 2 04 may be a node in the mesh network and may communicate over another network (e.g., a LAN, cellular, etc.) to receive other information, such as information related to a remote user (for example, as described below in relation to Figure 3B). In some such embodiments, the HMD acting as server 204 may determine to which HMD or HMDs it will distribute information indicating that a remote user's avatar should be presented in connection with a hologram, avatar location information, etc.
In some embodiments, a user of any suitable HMD (e.g., HMD 100-1) may control the presentation of content (e.g., in a manner similar to a slideshow) by providing input to the HMD. For example, to advance through an augmented reality presentation, the user can touch a user input (e.g., a button, a touch sensor, etc.) and/or perform a gesture that can be captured by a touch sensor. image (for example, sensor 114). As yet another example, to go back through the augmented reality presentation, the user can touch and hold the user's input (e.g., press and hold a button, press and hold a touch sensor, ui uo etc.) and/or or perform a different gesture. In some embodiments, the HMD 100-1 may generate instructions to advance (or rewind) through the augmented reality presentation, and transmit the instructions to the server 204 (which may be another HMD), which may cause other HMDs to present new content according to the user input received on the HMD 100-1. Additionally or alternatively, in some embodiments, if the HMD 100-1 acts as a server 204, the HMD 100-1 may cause the other HMDs to present new content according to input received by the user at the HMD 100-1 in response. upon receipt of entry. Although the system 200 is generally described in relation to presenting an augmented reality presentation in a physical environment on an augmented reality device, the system can be configured to present any type of mixed reality (e.g., an augmented virtuality presentation). or a completely virtual reality presentation. For example, instead of stations 202 corresponding to locations in a physical environment, the stations may correspond to points in a virtual environment. Additionally or alternatively, in some embodiments, one or more HMDs in system 200 may be augmented reality devices, while other HMDs are virtual reality devices. For example, a remotely located user can use a virtual reality device to join a group at a particular station. In such an example, the virtual reality device may present the 3D model, corresponding avatars to other users (e.g., users of augmented reality devices located in physical proximity to the station and/or other users of virtual reality devices ) in positions relative to the 3D model that represents the user's current view of the 3D model, etc. In some embodiments, a user of a virtual reality device can cause a view of the presented 3D model to change with any techniques, such as inputs received by a user input device (e.g., a game controller, a touch panel, etc.), outputs indicating physical movements of the user (e.g. rotations, translations, etc.), or any other appropriate information. Additionally or alternatively, in some embodiments, a user of a virtual reality device may adopt the point of view of an augmented reality device that is viewing the same 3D model. In some embodiments, a virtual reality device used to join a group around a particular station may feature one or more portions of video captured at and/or near the station (e.g., by a camera that captures video from 360 degrees of the environment around the station) to generate a UI or mixed reality presentation, you can present the 3D model in a virtual environment (for example, a virtual room, which may include other stations) which may or may not be similar to the physical environment of the station, or only present the 3D model and information with respect to other users (e.g. present the 3D model in a blank environment (e.g. using a single background color).
Figure 3A shows an example 300 of a system for interacting with an image presented in accordance with some embodiments of the subject matter described. As shown in Figure 3A, a user input device 302 may communicate with the HMD 100-1 via a communications link 304. In some embodiments, the communications link 304 may be any suitable communications link that can facilitate communication between the user input device 302 and the HMD 1001. For example, the communications link 304 may be a wired link (e.g. (for example, a USB link, an Ethernet link, a proprietary wired communication link, etc.) and/or a wireless link (for example, a Bluetooth link, a Wi-Fi link, etc.). In some embodiments, the user input device 302 may include any sensor suitable for determining a position of the user input device 302 with respect to one or more devices and/or other objects (e.g., the HMD 100u i uo
1, station 202, a particular body part of a user of the HMD 100-1, etc.), and/or a relative change in position (for example, based on sensor outputs indicating that the device user input device 3 02 has been accelerated in a particular direction, that the user input device 302 has been rotated inward a certain direction, etc.). For example, in some embodiments, user input device 302 may include one or more accelerometers, one or more gyroscopes, one or more electronic compasses, one or more image sensors, an inertial measurement unit, etc.
In some embodiments, the user of the HMD 100-1 ui uo
<td>You can use</td><td>he</td><td>device</td><td>user input 3 02 as</td>
<td>device</td><td colspan="2">marker for</td><td>highlight a particular part of the</td>
<td>content (j</td><td>by</td><td>example, a</td><td>part of hologram 306-1) which is</td>
<td>presented</td><td>by</td><td colspan="2">the HMD 100, to select a portion</td>
<td>particular</td><td>of the</td><td colspan="2">hologram 306-1, to make a portion</td>
<td>particular</td><td>of the</td><td>hologram</td><td>306-1 move in a way</td>
<td>particular</td><td>(by</td><td>example, in</td><td>a click-and-click action</td>
drag), etc. For example, a user interface element 308 that highlights a particular region of the hologram 306-1 may be presented relative to the hologram 306-1 at a location that is based on the direction in which the user input device 302 is facing. pointed out in relation to hologram 306-1. As the picture shows
3Α, a second HMD 100-2 that presents a second hologram 306-2 that includes the same content that is presented in the hologram 306-1 may also present the user interface element 308 (e.g., based on instructions received from the server 204, which may be implemented by an HMD such as HMD 100-1, HMD 100-2, and/or another HMD).
In some embodiments, the HMD 100-1 and/or the server 204 may receive data from the user input device 302 that indicates motion and/or position data from the user input device 302. Based on the data from the user input device 302, the HMD 100-1 and/or the server 204 may determine a location and/or address of the user interface element 308 to be presented as part of the hologram 306-1 ( and as part of any other hologram presented by another HMD 100 that presents the same content as hologram 306-2).
In some embodiments, the user input device 302 may be an integral part of the HMD 100-1, which may determine a direction in which the HMD 100-1 is pointing with respect to the hologram 306-1 (which, as described above in connection with Figure 2, may be anchored at station 202-1 or any other suitable location). Information about the direction in which the HMD 100-1 is pointing can be used to infer a ui or direction in which the user's eyes are looking (which, for example, can be augmented according to the gaze information, in some cases). In some embodiments, the inferred location that the user of the HMD 100 is looking at may be used as input to position the user interface element 308 with respect to the hologram 306-1 (e.g., as a line, a point, multiple points). , etc.) showing where the HMD 100-1 user is looking).
In some embodiments, user input device 302 may be a separate device that may transmit location information to HMD 100-1 and/or server 204, which may then be used to generate user interface element 308 for display. where the user of the HMD 100-1 is pointing. Any suitable technique or combination of techniques may be used to generate the user interface element based on the location information of the user input device 302. For example, in some embodiments, the HMD 1001 and/or server 204 may determine a location of the user input device 302 with respect to a part of the user's body (e.g., the center of the user's body, which may, for example, For example, inferred based on the location of the HMD 100-1) and may draw a line intersecting that part of the user's body and the user input device 302. As yet another example, in some embodiments, the HMD 100-1 and/or the server 204 may determine a location and/or orientation of the user input device 302 with respect to the hologram 306-1, and may draw a line from the user input device 302 based on location and orientation. In such an example, the location of the user input device 302 may require more precise calibration than in the previous example, and may be calculated at the local coordinates of the hologram. Accordingly, in such an example, the accuracy of the location at which the user interface element 308 is displayed may vary depending on the accuracy of the calibration, the distance from an anchor point (or other location reference) of the 306-1 hologram (since distances further from the anchor point can be determined with less precision), etc.
As yet another example, in some embodiments, the HMD 100-1 and/or the server 204 may receive a first input from the user input device 302, which may indicate that a user of the HMD 100-1 is initiating generation of the user interface element 308 on hologram 306. Upon receiving the user's first input (e.g., a first button press), the HMD 100-1 and/or the server 204 may render the user interface element 308 at a predetermined location based on the user's current location in relationship with hologram ui uo
306-1 (e.g., a straight line from the user's body toward the center of the hologram 306-1). After pressing the first button, the HMD 100 and/or the server 204 may change the direction of the user interface element (for example, the point at which the line crosses the hologram 306-1 and/or the direction in which line crosses hologram 306-1) based on the output received from user input device 302. In such an example, after pressing a first button, the user can move the user interface device 302 to raise/lower and/or move left/right the point at which the line intersects the hologram. 306-1, and may rotate the user input device 302 to change an orientation in which the line intersects the hologram 306-1. Upon receiving a second input from the user, the HMD 100-1 and/or the server 204 may freeze the position and/or orientation of the user interface element 308 with respect to the hologram 306-1. Such a control scheme for the line to be presented in hologram 306-1 may have some similarity to the operation of a computer mouse to control a pointer (e.g., a cursor) in a 2D graphical user interface.
In some embodiments, the HMDs 100 can be used to administer exams to users of the HMD 100. For example, a user of the server 204 can create a presentation that causes content to be presented to the HMDs 10 0 so that there are no two HMDs that present the same content in the same orientation in the same location. That is, in such an example, instead of facilitating collaboration, content can be distributed in such a way that each user is presented with individualized content. In some embodiments, an administrative user (e.g., the exam instructor or proctor) may be presented with the same content as any HMD 100 presenting the exam content. In some embodiments, a user (e.g., a student) may use a pointing device, such as user input device 302, to point to a specific location on a hologram to provide an answer to an exam question. Additionally, in some embodiments, the HMD 100 and/or the server 204 may determine a location in the hologram that the user is highlighting with the pointing device, to automatically determine whether or not the user has correctly answered an exam question. For example, the user may be asked to locate a particular muscle on an anatomical hologram, and the server 204 may determine whether the location the user is pointing at with the user input device 302 corresponds to the muscle.
Figure 3B shows an example 310 of another system for interacting with an image presented in accordance with some embodiments of the subject matter described. As shown in Figure 3B, a first HMD 100-1 worn by a first user 312 at a first location may display a hologram 306-1. In some embodiments, the HMD 100-1 may track the position of a hand 314 of the user 312 with respect to the hologram 306-1. In some embodiments, the HMD 100-1 may use any suitable technique or combination of techniques to track the location and/or orientation of the user's hand. For example, the HMD 100-1 may track the location of the user's hand visually using images produced by one or more image sensors (e.g., optical sensor 114) and/or any other suitable data, such as depth information. in a scene. As yet another example, the HMD 100-1 may track the location of the user's hand using one or more sensors to detect a position of a device held by (or otherwise attached to) the user's hand.
In some embodiments, HMD 100-1 may transmit information to server 204 indicating the position of HMD 100-1 and the user's hand relative to hologram 306-1. As shown in Figure 3B, the server 204 can transmit information to a second HMD 100-2 that presents a hologram 306-2 that includes the same content as the hologram 306-1, where the information can indicate a position to present a avatar 316 representing the user 312 of the HMD 100-1 with respect to the hologram 306-2. HMD 100-2 may use such information to present avatar 316 and a handheld item 318 with hologram 306-2 to a second user 320. In some embodiments, the HMD 100-1 may be caused to present an avatar of the user 320 in relation to the hologram 306-1 (not shown).
Figure 4 shows an example 4 00 of hardware that can be used to implement at least one of the HMD 100, the server 204 and the user input device 302 in accordance with some embodiments of the described subject matter. As shown in Figure 4, in some embodiments, the HMD 100 may include a processor 402, a display 404, one or more inputs 406, one or more communication systems 408, and/or memory 410. In some embodiments, the processor 402 may be any suitable hardware processor or a combination of processors, such as a central processing unit (CPU), a graphics processing unit (GPU). ), etc. In some embodiments, display 404 may include any suitable display device(s), such as a transparent display as described above in connection with Figure 1. In some embodiments, inputs 406 may include any suitable input device(s) and/or sensor(s) that may be used to receive information from the user, such as eye tracking system 108, eye tracking system head tracking 110, motion sensors 112, optical sensor 114, microphone 118, etc.
In some embodiments, communications systems 408 may include any hardware, firmware, and/or software suitable for communicating information over communication network 206 and/or any other suitable communication network. For example, communications systems 408 may include one or more transceivers, one or more communication chips and/or chipsets, etc. In a more particular example, communications systems 408 may include hardware, firmware, and/or software that may be used to establish a Wi-Fi connection, a Bluetooth connection, a cellular connection, etc.
In some embodiments, the memory 410 may include any suitable storage device or devices that can be used to store instructions, values, etc., which can be used, for example, by the processor 402 to present content using the display 404, to communicate with the server 204 through the communications system(s) 408, etc. Memory 410 may include any suitable volatile memory, non-volatile memory, storage, any other suitable type of storage medium, or any suitable combination thereof. For example, memory 410 may include RAM,
ROM, EEPROM, one or more flash drives, one or more hard drives, one or more solid state drives, one or more optical drives, etc. In some embodiments, memory 410 may have a computer program encoded therein to control the operation of the HMD 100. In some such embodiments, the processor 402 may execute at least a portion of the computer program to display content (e.g., one or more holograms), to receive content from the server 204, to transmit information to the server 204, etc. In some embodiments, the HMD 100 may use any suitable hardware and/or software to render the content received from the server 204, such as Unity 3D available from Unity Technologies. Additionally, in some embodiments, any suitable communications protocol may be used to communicate control data, image data, audio, etc., between the HMD 100 and the server 204, such networking software being available from Unity Technologies.
In some embodiments, the server 204 may include a processor 412, a display 414, one or more inputs 416, one or more communication systems 418, and/or memory 420. In some embodiments, the processor 412 may be any suitable hardware processor. or a combination of processors, such as a central processing unit, a graphics processing unit, etc. In some embodiments, display 414 may include any suitable display device, such as a computer monitor, touch screen, television, etc. In some embodiments, inputs 416 may include any suitable input devices and/or sensors that can be used to receive input from the user, such as a keyboard, mouse, touch screen, microphone, etc.
In some embodiments, the communications systems 418 may include any hardware, firmware, and/or software suitable for communicating information over the communication network 2 06 and/or any other suitable communication network. For example, communications systems 418 may include one or more transceivers, one or more communication chips and/or chipsets, etc. In a more particular example, communications systems 418 may include hardware, firmware, and/or software that may be used to establish a Wi-Fi connection, a Bluetooth connection, a cellular connection, etc.
In some embodiments, memory 420 may include any suitable storage device or devices that can be used to store instructions, values, etc., which can be used, for example, by processor 412 to present content using display 414, to communicate with one or more HMDs 100, etc. Memory 420 may include any suitable volatile memory, non-volatile memory, storage, ui or any other suitable type of storage medium, or any suitable combination thereof. For example, memory 420 may include RAM, ROM, EEPROM, one or more flash drives, one or more hard drives, one or more solid state drives, one or more optical drives, etc. In some embodiments, memory 420 may have a server program encoded therein to control the operation of server 204. In such embodiments, the processor 412 may execute at least a portion of the computer program to transmit content (e.g., one or more holograms) to one or more HMDs 100, receive content from one or more of the HMDs 100, receive instructions from one or more devices (e.g., the HMD 100-1, the user input device 302, another server, a personal computer, a laptop, a tablet, a smartphone, etc.).
In some embodiments, the user input device 302 may include a processor 422, one or more inputs 224, one or more communication systems 426, and/or memory 428. In some embodiments, the processor 422 may be any suitable hardware processor. or combination of processors, such as a central processing unit, a graphics processing unit, etc. In some embodiments, inputs 424 may include any suitable input devices and/or sensors that can be used to receive input from the user, such as one or more physical or software buttons, one or more motion sensors, a microphone. , a touch screen, etc.
In some embodiments, communications systems 426 may include any hardware, firmware, and/or software suitable for communicating information over communications link 304 and/or any other suitable communications link. For example, communications systems 426 may include one or more transceivers, one or more communication chips and/or chipsets, etc. In a more particular example, communications systems 426 may include hardware, firmware, and/or software that may be used to establish a Wi-Fi connection, a Bluetooth connection, a cellular connection, etc.
In some embodiments, memory 428 may include any suitable storage device or devices that can be used to store instructions, values, etc., which can be used, for example, by processor 422 to determine when user input is received, to record sensor data, to communicate sensor data with one or more HMDs 100, etc. Memory 428 may include any suitable volatile memory, non-volatile memory, storage, any other suitable type of storage medium, or ινΐΛ/a/zuzz/uiui or any suitable combination thereof. For example, memory 428 may include RAM, ROM, EEPROM, one or more flash drives, one or more hard drives, one or more solid state drives, one or more optical drives, etc. In some embodiments, memory 428 may have encoded therein a computer program to control the operation of user input device 302. In such embodiments, processor 422 may execute at least a portion of the computer program to transmit data (e.g. for example, representing sensor outputs) to one or more HMDs 100, to transmit data (for example, representing sensor outputs) to one or more servers 204, etc.
Figure 5 shows an example 500 of an information flow between a user computing device 220 that selects and/or uploads content and/or a presentation to the server 204, and the HMD 100 that receives the content and presents the content accordingly. with the presentation in accordance with some modalities of the matter of interest described.
As shown in Figure 5, at 502, in some embodiments, the user's computing device 220 may select a body of content from which one or more presentations will be created. In some embodiments, a user of the user computing device 220 may select a body of content using any suitable technique or combination of techniques. For example, in some embodiments, a user may create the content using any suitable application or combination of applications executed at least in part by the user's computing device 220. As yet another example, a user of the user's computing device 220 may select content from a web page associated with a creator and/or publisher of the content, and may download the content to the user's computing device 220 and/or server. 204. As yet another example, a user of the user's computing device 220 may select content using an application executed at least in part by the user's computing device 220 that provides access to such content. As yet another example, a user of the user's computing device 220 may select the contents of a storage medium (e.g., a USB drive, an external hard drive, an optical storage medium, etc.) attached to the computing device. 220 of the user.
In some embodiments, the content set may include a preselected collection of content generated by a content editor, such as a collection of 3D anatomical models of human anatomy from which a user can select a particular combination of features to display. Additionally or alternatively, in some embodiments, the content set may ui or include 3D models collected by a user of the user's computing device 220 from various sources.
At 504, in some embodiments, the user's computing device 220 may upload the body of the content and/or information indicating where the server 204 may access the content. In some embodiments, the user's computing device 220 may use any suitable technique or combination of techniques to upload content and/or location information to the server 204. For example, the user's computing device 220 may upload content and/or location information through an application program interface (API) associated with the server 204. As yet another example, the user's computing device 220 User may upload content and/or location information through a web page and/or other application associated with server 204. As yet another example, the user's computing device 220 may upload content and/or location information using any other suitable technique or combination of techniques such as file transfer protocol (ftp). Additionally or alternatively, in some embodiments, the user's computing device 220 may store the body of the content locally (e.g., using a hard drive connected to the user's computing device 220).
At 506, in some embodiments, the server 204 may receive content uploaded by the user's computing device 220 and/or may download content from one or more locations identified by the user's computing device 220, and may store the contained in the storage associated with the server 204 so that it is accessible to a user of the user's computing device 220 (e.g., through a web page, an API, etc.).
At 508, in some embodiments, the server 204 may provide the body of the selected content to one or more HMDs that will present at least a portion of the content during a presentation. In some embodiments, the server 204 may upload a portion of the content body, or the entire body, to the HMDs using any suitable technique or combination of techniques. For example, the server 204 may provide at least a portion of the body as part of an application that is downloaded to an HMD. As yet another example, the server 204 may provide at least a portion of the body in response to a request from an HMD. As yet another example, server 204 may provide content on demand and/or may stream content to the HMD as needed. In a more particular example, before the presentation begins, the server 204 may provide content used in that presentation to the HMDs.
At 510, in some embodiments, a user of the UI or user computing device 220 may generate a presentation from the selected content, using a locally executed presentation application that accesses the body of the content locally and/or remotely (e.g. example, from server 204). In some embodiments, the presentation application may facilitate the creation of scenes that include a subset of content from the body of the content. For example, the presentation application may allow a user to select a particular portion(s) and layer(s) of the human body (e.g., skin, muscle, bone, nerves, etc.) to present in a 3D model of human anatomy, and a sequence in which to present the different parts and/or layers. Additionally, in such an example, the presentation application may allow a user to highlight a particular portion of the 3D model in a portion of the presentation, such as a particular muscle or nerve.
In some embodiments, at 510, the user of the user computing device 220 may select particular content for each of various stations (e.g., stations 202), each of several users or groups of users (e.g., student users of HMDs 100), each of the different presentation spaces, etc.
At 512, in some embodiments, the user computing device 220 may upload ui or presentation information indicating what content is used in the presentation, an order in which the content will be presented, supplemental content that will be presented (e.g. , text, audio, etc.), etc., to server 204. In some embodiments, the presentation information can be formatted in any suitable format. For example, presentation information may be uploaded from the user's computing device 220 as an Extensible Markup Language (XML) document. As yet another example, the presentation may be uploaded as a media file that includes the content itself (in which case the body of the content may not need to be uploaded to server 204). Note that, in some embodiments, the server 204 may be omitted and/or may perform fewer functions than those shown in Figure 5. For example, in some embodiments, content may be loaded from the computing device 220 of the user (or any other source) to the HMD 100 without first being uploaded to the server 204. As yet another example, in some embodiments, presentation information may be sent from the user's computing device 220 to the HMDs 100 without being sent through the server 204 (although one or more servers, such as nodes on the Internet, one or more more email servers, one or more storage servers, etc., may be involved in the transmission of the presentation information).
Additionally, or as an alternative, to generate a presentation using an application that is being executed by the user's computing device 220, the user's computing device 220 may interact with the server 204 to generate a presentation using an application executed at least partly by server 204. For example, the user computing device 220 can be used to provide a graphical user interface for an application that the server 204 is running, and the inputs received by the user computing device 22 0 can be used to control the operation. of the application. In some embodiments, if a presentation is generated using an application executed at least in part by the server 204, the server 204 may generate presentation information (e.g., as an XML document), and not receive such information from the computing device. 220 of the user.
At 516, in some embodiments, the server 204 may provide presentation information for at least one particular presentation to the HMD 100 to be used to experience the presentation. In some embodiments, the server 204 may provide the presentation information at any suitable time. For example, the server 204 may provide access to the UI or presentation information after creating it on any HMD associated with a user included in a particular class or group to which the presentation is to be given (e.g., as identified a user of the user's computing device 220). Co yet another example, the server 204 may provide access to presentation information at the beginning of the presentation (e.g., as indicated by a user of the user computing device 220, the HMD 100-1, etc.) to the users. HMDs that are present at a particular location, HMDs associated with users included in a particular class or group to which the presentation is to be given (e.g., as identified by a user of the user computing device 220), etc In some embodiments, presentation information may be received in connection with the content. For example, the presentation information may be a file that is transferred to the HMD 100 as part of the content.
At 518, in some embodiments, the HMDs that have received the presentation information may present content (e.g., from the content uploaded to the HMD at 508) in accordance with the presentation information. For example, as described above in relation to Figure 2, an HMD (e.g., HMD 100-2) may present a particular 3D model in connection with a third station based on instructions received in the ui or information from presentation indicating that the HMD must present the particular 3D model in connection with the third station.
Additionally or alternatively, in some embodiments, the server 204, at 520, may transmit content to one or more HMDs based on the presentation information and based on the information received from the HMDs. For example, as described above in relation to Figure 2, an HMD may provide information about which station(s) are closest to the HMD and/or within the field of view of the user of the HMD, and the server 204 can transmit the appropriate content to the HMD. As yet another example, an HMD may provide information that the server 204 may use to determine which station(s) are closest to the HMD and/or which station(s) are within the user's field of view. of the HMD, and the server 204 may transmit the appropriate content to the HMD. As yet another example, the server 204 may receive information from a first HMD (e.g., HMD 100-2) and/or a user input device (e.g., user input device 302) indicating that a The user of the HMD 100-2 is pointing to a particular portion of a 3D model, and the server 204 may transmit the information to another HMD (e.g., the HMD 100-1) by viewing the same content as supplemental content to be integrated into the HMD 100-2. content for the second
HMD.
At 522, in some embodiments, the HMD 100 may present content streamed from the server 204. In some embodiments, the streamed content at 522 may be any suitable streamed content, such as a complete 3D model, a change to a 3D model, content supplementary, etc.
Figure 6 shows an example 60 0 of a process for distributing content to one or more head-mounted displays, according to some embodiments of the subject matter described. As shown in Figure 6, at 602 the process 600 may receive content to be used to create one or more augmented reality presentations by the HMDs. In some embodiments, the content may be received in any suitable format and/or from any suitable source. For example, a user of a user computing device (e.g., user computing device 220) may upload the content (e.g., to server 204). As yet another example, a user may submit address identification information and/or credentials that may be used to retrieve content. In some embodiments, the content may include any suitable visual information that can be used to create one or more 3D models that can be presented by an HMD (e.g., as holograms). For example, in some embodiments, the content may include various 3D models of human anatomy that may be used by the HMD to generate holograms displaying various systems of human anatomy.
At 604, process 600 may receive one or more instructions that may be used to present at least a portion of the content as an augmented reality presentation. For example, the instructions may identify different portions of the content to be presented, an order in which to present different portions of the content, locations (e.g., in a room, in connection with stations, etc.) in which to present particular content, etc. In some embodiments, the instructions may be received in any suitable format and/or using any suitable technique or combination of techniques. For example, in some embodiments, the instructions may be received as an XML file generated on the user's device that received the user's input specifying the instructions. As yet another example, instructions may be received from the user's device through a web page or other suitable user interface that may be presented by the user's device, and may receive input from the user to specify an augmented reality presentation. In such an example, the user's input may be transmitted to a server associated with the web page, which may generate the instructions (e.g., as an XML document).
At 606, process 600 may receive a request for the content from a head-mounted display. For example, as described above, an HMD associated with a particular user (e.g., such an association may be created by the user logging into an application that is running the HMD) may request content in response to the request. user input, based on information associated with the user (e.g. information indicating that the user is associated with a class for which the content is assigned) and/or uses any other appropriate technique or combination of techniques. In some embodiments, the request may be received using any suitable technique or combination of techniques. For example, the HMD may navigate to a particular address (e.g., IP address, URL, etc.) associated with the content. As yet another example, the HMD may access an application repository and send a request to download an application that includes (and/or can download) the content.
At 608, process 600 may determine whether the HMD is authorized to receive the content. For example, process 600 may determine whether or not the HMD is registered with a user account that has been authorized to receive the content. As yet another example, process 600 may determine whether an application that is running the HMD is logged in to a user account that has been authorized to receive the content. If process 600 determines, at 608, that the HMD is not authorized to receive the content (NOT at 608), process 600 may move to 620 and request the user to log in to access the content (e.g., by generating a registration on the screen to be presented, by asking a user to capture an image of an appropriate visual code as described below in relation to Figure 8, etc.), and may return to 608 when the user has successfully registered the HMD to an appropriate account.
Otherwise, if process 600 determines, at 608, that the HMD is authorized to receive the content (YES at 608), process 600 may proceed to 610. At 610, process 600 may transmit the content to the requesting HMD. the content. In some embodiments, the content may be transmitted using any suitable protocol, in any suitable format and/or with any suitable compression applied.
At 612, process 600 may transmit a token to the authorized HMD that may be used to access instructions for generating augmented reality presentations from the content (and/or access the content and/or services associated with the content). . In some embodiments, the token may take any suitable form.
Additionally, in some embodiments, the token may be configured to expire after a predetermined period of time.
At 614, process 600 may receive a request for an augmented reality presentation based on content that the head-mounted display previously obtained. In some embodiments, the HMD may send the request in response to any suitable input. For example, a user may provide user input indicating that the HMD is to request augmented reality presentation. As yet another example, the HMD may be configured to automatically request augmented reality presentation (e.g., without user intervention, with user input only required to authorize the request, etc.) when used in a particular location and /or at a particular time. As yet another example, the HMD may be configured to automatically request augmented reality presentation (e.g., without user intervention, with user input only required to authorize the request, etc.) in response to receipt of a request. particular signal (e.g., from a Bluetooth beacon) and/or in response to capturing one or more images of a particular visual signal (e.g., a QR code). In some embodiments, the request may be transmitted with the token transmitted to the HMD at 612. In some embodiments, the request received at 614 may be a request for instructions for a particular augmented reality presentation. Alternatively, in some embodiments, the request received at 614 may be a generic request for instructions for an augmented reality presentation, and the instructions returned may be instructions selected by an administrator.
At 616, process 600 may determine whether the HMD requesting the instructions for the augmented reality presentation is authorized to receive the augmented reality presentation. For example, process 600 may determine whether the HMD sent a valid toben and/or whether or not the HMD has logged into an authorized user account. If process 6 00 determines that the HMD is authorized to receive the augmented reality presentation (YES at 616), process 600 may proceed to 618, and provide instructions to the HMD to perform the augmented reality presentation using at least a portion Of content. Otherwise, if process 600 determines that the HMD is not authorized to receive the augmented reality presentation (NO at 616), process 600 may move to 620 and prompt the user of the HMD to log in, indicating that the user is not is authorized to receive the presentation, present an error message, etc. In some embodiments, one or more portions of process 600 may be executed by server 204 (or multiple servers 204).
Figure 7 shows an example 700 of a process for generating an augmented reality presentation using a head-mounted display, in accordance with some embodiments of the subject matter described. As shown in Figure 7, at 702, process 700 may receive input specifying user identification information. For example, a user can use a virtual keyboard presented by the HMD 100 to type a username and/or password. As yet another example, a user may speak information that can be used to identify the user, and process 700 may use any suitable speech recognition technique or a combination of techniques to verify the identity of the user. As yet another example, in some embodiments, a user may pair another device (e.g., smartphone, tablet, keyboard) with the HMD (e.g., using Bluetooth), and use an input from the linked device to enter information. user identification. As yet another example, as described below in relation to Figure 8, the HMD may capture an image that may be used to identify the user.
ui uo
At 704, process 700 may request that content be used to generate an augmented reality presentation. In some embodiments, the request may be generated using any suitable technique or combination of techniques. For example, an HMD execution process 700 may navigate to a particular address (e.g., IP address, URL, etc.) based on user input, and may request content at the address (e.g., selecting a link). on a web page, automatically in response to the request for information on the address, etc.). As yet another example, the HMD may request the content using an application that the HMD is running, which may automatically download the content based on other information (e.g., information indicating that the user specified at 702 is registered for a class that uses the content).
At 706, process 700 may receive and store content to be used to generate the augmented reality presentation. In some embodiments, the content may be stored in any suitable location, such as memory 410.
At 708, process 700 may receive a token to be used to authenticate the HMD that is executing process 700 when it requests additional information, such as instructions to generate a particular augmented reality presentation from the content. In some UI or embodiments, the token may be received in any suitable format, and may include any suitable information that may be used, for example, by the server 204, to determine that the HMD is authorized to access the augmented reality presentation. .
At 710, the process 700 may transmit a request (and/or the token) for the information that may be used to generate the augmented reality presentation from the content. As described above in connection with 614 of Figure 6, process 700 may transmit the augmented reality display request in response to any suitable input. For example, the HMD can be navigated to a particular address (e.g. URL), which can function as a request for the augmented reality presentation. As yet another example, the HMD may automatically request augmented reality presentation when certain conditions are met (for example, the HMD is within a certain geographic location at a certain time, the HMD is receiving a particular signal from another device, etc.).
At 712, process 700 may receive information (e.g., instructions) that may be used to generate the augmented reality presentation. In some embodiments, the information may be received in any suitable format. For example, the information can be a ui uo document
XML indicating what content will be presented, in what order the content will be presented, in what location(s) certain content will be presented, etc.
At 714, process 700 may generate the augmented reality presentation from the content based on the instructions received. For example, process 700 may determine which station is closest to HMD execution process 700 and may present a hologram corresponding to that station based on the information received at 712. In some embodiments, process 700 may cause the HMD to transmit information to a server (e.g., server 204) indicating which portion of the augmented reality presentation is currently presented to the user. In some embodiments, such information may be used by the server to transmit updated information about the particular content being presented. Alternatively, the server may send updated information with identifying information regarding which portion of the augmented reality presentation the updated information corresponds to, and the HMD may interpret the identifying information to determine whether the updated information is relevant to the content currently presented. .
At 716, process 700 may determine whether or not updated information has been received.
In some embodiments, the updated information may include any suitable information from a server (e.g., server 204) with instructions to alter the presentation of the content presented as part of the augmented reality presentation. If process 700 determines that no updated information has been received (NOT at 716), process 700 may return to 716 (and/or 714) to continue to determine whether or not updated information has been received (and/or to determine whether another portion of the augmented reality presentation will be generated and/or presented). Otherwise, if process 700 determines that updated information has been received (YES at 716), process 700 may proceed to 718.
At 718, process 700 may generate an updated augmented reality presentation based on the updated information. In some embodiments, the updated information may include any appropriate information that may affect the augmented reality presentation. For example, the updated information may be an indication of the location of a user interface element corresponding to an address of a pointing device (e.g., as described above in relation to Figure 3B). In such an example, process 700 may insert the user interface element into the hologram that is currently being presented (if the user interface element ui uo can be seen from the angle at which the hologram is being viewed). . As yet another example, the updated information may be an instruction to change the portion of the augmented reality presentation generated by the HMD, such as an instruction to move forward through the presentation or backward through the presentation. As yet another example, the updated information may be a 3D model (e.g., an avatar) of a user of another HMD (e.g., located at a distance from the HMD execution process 700) and position information indicating where it will be presented. the avatar in relation to the hologram that is presented.
Figure 8 shows an example 800 of a user device 220 and the HMD 100-1 performing a pairing operation with the server 204 in accordance with some embodiments of the subject matter described. As shown in Figure 8, a user device 802 (e.g., a smartphone, a tablet, a personal computer, a laptop, etc., which may or may not be used as a user computing device 220) presents a visual code (more particularly, a QR code). In some embodiments, user device 802 may be used to log into an application or service associated with the augmented reality content and/or presentations described herein. In some such embodiments, the user device 802 can be used to retrieve the QR code (e.g., from the server 204) over a communications link 804 (e.g., which may include a LAN connection, a connection cell phone, etc.) in response to the selection of a link (or any other appropriate user action). In some embodiments, the user device 802 may be used to retrieve an email with the link to the QR code, may receive a push notification with the link to the QR code (and/or the QR code itself), may receive a text message with the link to the QR code (and/or the QR code itself), you can access an application through which the QR code can be retrieved from the server 204, etc. The HMD 100-1 may capture an image of the QR code (e.g., using optical sensor 114), which may cause the HMD 100-1 to send a request (e.g., to server 204) over a communications link. 806 which may indicate that the HMD 100-1 should be paired with the user 802. In some embodiments, the server 204 may associate the user device 802 with the HMD 100-1 for any suitable duration (e.g., the duration of a class, a day, a week, a month, a semester, for a period of indefinite time, etc.), and may provide content through the user device 802. For example, the server 204 may send (or otherwise make available) content to the user device 802 that complements part of the augmented reality presentation that is currently presented by the HMD 100-1. In a more particular example, user device 802 may present supplemental text related to the augmented reality presentation. In another more particular example, user device 802 may provide exam questions related to the augmented reality presentation. As yet another example, a user may use the user device 802 to take notes (e.g., use a virtual keyboard, voice recognition, etc.), which may be automatically associated with the portion of the augmented reality presentation being presented. at the moment. As yet another example, the user device 802 may receive information from the HMD 100-1 (e.g., images, text, video, audio, etc., captured during the presentation), which may be used by a user to supplement notes, as a memory aid, etc.
Figure 9 shows an example 900 of an information flow between the user device 802, the server 204 and the HMD 100 during a login and/or pairing operation as described above in relation to Figure 8, according to with some modalities of the matter of interest described. As shown in Figure 9, the user device 802 may receive input from the ui uo user to log in to the HMD 100. For example, at 902, the user device 802 may navigate to a web page and/or execute an application associated with the use of the HMD 100-1 to generate the augmented reality presentation. In such an example, user device 802 may be used to provide login credentials (e.g., a username, password, biometric information, etc.).
At 904, the user device 802 may request that a visual code be scanned by the HMD 100-1 from the server 204. For example, as described above in relation to Figure 8, the user device 802 may request the code QR that can be scanned with the HMD 100-1 to pair the HMD 100-1 with the user device 802 on the server 204 and/or to authenticate the HMD 100-1 with the server 204.
At 906, the server 204 may provide the requested visual code as long as the user device 802 is determined to be authorized. In some embodiments, the server 204 may provide the visual code in any suitable format and/or as any suitable data type. For example, although a QR code was described above in relation to Figure 8, this is simply an example and any suitable machine-readable visual code can be used, such as a UI or barcode, an image with stegenographically encoded information, etc Additionally, in some embodiments, in addition to, or instead of, a visual code, the server 2 04 may cause the user device 802 to emit a coded sound that the HMD 100-1 may use to pair with the user device 802. (and/or to log in).
At 908, the user device 802 may present the visual code and may prompt the user to direct an image sensor (e.g., optical sensor 114) of the HMD 100-1 to the visual code (e.g., as shown in Figure 8). At 910, the HMD 100-1 may capture an image of the visual code presented by the user device 802 and may decode the information included in the visual code at 912.
At 914, the HMD 100-1 may send information to the server 204 based on the information decoded from the visual code image. For example, the HMD 100-1 may navigate to a particular web page and/or send a request to a particular address in response to capturing the visual code image.
At 916, the server 204 may pair the user device 802 and the HMD 100-1 in response to receiving information sent by the HMD 100-1 to 914, and/or may log in to the HMD 100-1. . In some embodiments, the indication that the two devices are paired may be indicated using any suitable technique or combination of techniques, such as through an entry in a database of devices maintained in the database 204.
At 918, the HMD 100-1 may present augmented reality display content when the user of the HMD 100-1 moves to different stations, for example. At 920, the HMD 100-1 may transmit information indicating what content of the augmented reality presentation is currently being presented by the HMD 100-1. Additionally or alternatively, the server 204 may track what content is being presented (e.g., based on updated instructions for advancing through the presentation, based on the location of the HMD 100-1, etc.).
At 922, the server 204 may send supplemental content and/or instructions to the user device 802 based on the content currently presented by the HMD 1001. Additionally or alternatively, the user device 802 may periodically request updated information, if any, to the user device 802. server 204. At 924, the user device 802 may present the additional content sent by the server 204 at 922.
Figure 10 shows an example 1000 of an information flow between a first HMD 100-1, the server 204 and a second HMD 100-2 to associate a 3D model with a user of the HMD 100-1 (e.g., as an avatar ) and present the 3D model by the HMD 100-2 in accordance with some modalities of the matter of interest described. As shown in Figure 10, the HMD 100-1 may receive input indicating that a particular 3D model should be associated with a user 100-1. In some embodiments, the HMD 100-1 may present any number of 3D models from which the user may choose a particular 3D model to associate with the user. For example, 3D models can be masks that are presented over the user's face and/or head by other HMDs. As yet another example, 3D models can be 3D avatars that can be used as a proxy for the user by another HMD. In some embodiments, a user may be provided with a user interface to customize and/or design a 3D model. Additionally or alternatively, in some embodiments, a paired user device (e.g., user device 802 as described above in connection with Figures 8 and 9) can be used to select, customize, design, etc., a model 3D, which can be presented by the HMD 100-1 for user review.
At 1004, the HMD 100-1 (and/or a paired user device) may send a request to the server 204 to associate the selected 3D model with the user. In on / n Ln/zznz/e/YiAi some modalities, the request may include the 3D model, identification information of the 3D model, an address of the 3D model, etc. At 1006, the server 204 may associate a user of the HMD 100-1 with the selected 3D model, such that the 3D model is used in relation to the user.
At 1008, HMD 100-2 may request a 3D model associated with HMD 100-1. Alternatively, the server 204 may send the 3D model to the HMD 100-2. In some embodiments, the 3D model may be requested by scanning a visual code provided by a user of the HMD 100-1 to a user of the HMD 100-2. For example, a user of the HMD 100-1 may present the visual code to be scanned by the HMD 100-2 (e.g., using a paired user device). As yet another example, a user of the HMD 100-1 may share the visual code with a user of the HMD 100-2 (e.g., via a message sent from paired user devices associated with each HMD, such as a text message). ). At 1010, the server 204 may transmit the 3D model information for the user from the HMD 100-1 to the HMD 100-2.
At 1012, the HMD 100-2 may represent the 3D model associated with the user of the HMD 100-1. In some embodiments, the HMD 100-2 may represent the 3D model relative to the physical presence of the user. For example, the 3D model may be a mask, helmet, outfit, etc., on / n Ln/zznz/e/YiAi that the HMD 100-2 can overlay on a part of the user 100-1 to provide an effect augmented reality. Additionally or alternatively, the HMD 100-2 may represent the 3D model as an avatar to the user of the HMD 100-1.
Although a user of the HMD 100-1 is shown in Figure 10 selecting a 3D model, a user of the HMD 100-2 may select a 3D model for use in connection with the user of the HMD 100-1.
Figure 11 shows an example 1100 of a display space for presenting several models in a sequence, according to some embodiments of the subject matter described. As shown in Figure 11, display space 1100 may include a physical area 1102, which may or may not be coextensive with a structure, such as a room in a building. In some embodiments, a barrier 1104 may divide physical area 1102 into two or more areas. Although barrier 1104 is shown as a straight barrier dividing physical area 1102 approximately in half, this is merely an example, and barrier 1104 may have any suitable shape, which may subdivide physical area 1102 into any suitable number of areas. . For example, the barrier 1104 may form a more complex shape, such as a stepped pattern, a U shape, etc. In some embodiments, barrier 1104 may be a physical barrier οη/ηιη/ζζηζ/Β/γίΛΐ formed by a permanent or temporary structure erected in physical space 1102, such as a wall, curtain, etc. Alternatively, in some embodiments, barrier 1104 may be a completely virtual barrier that is presented by an HMD (e.g., HME 100-1), but does not correspond to a physical barrier.
In some embodiments, barrier 1104 may create multiple display spaces 1106 and 1108, which may, for example, act as the focal point of virtual rooms created by barrier 1104. Note that although two display spaces are shown, this is simply an example, and any suitable number of display spaces can be associated with a barrier, with several display spaces potentially presented on the same side of the barrier, with another group of spaces display located on the other side of the barrier.
In some embodiments, physical space 1102 may be subdivided into multiple sections 1110-1116, which may correspond to a virtual sensor. For example, one or more physical points within physical space 1102 may be designated as reference points to determine in which section the HMD 100 is located. In such an example, the HMD 100 may determine the distance to one or more of the points to determine the current section of the HMD 100. In such an example, virtual sensors may be implemented by the HMD 100. As yet another example, signals from one or more active devices, such as Bluetooth beacons, may be used to determine the current section of the HMD 100. In some embodiments, when the HMD 100-1 is present in the section 1110, it may load content for the display space 1106, and may present that content when the display space 1106 is within the field of view of the user 312. When the As user 312 moves from section 1110 to section 1112, HMD 100-1 may load content for display space 1108 in preparation for the user moving around barrier 1104. In some embodiments, an order in which content is presented in the display spaces may be based on any suitable information, such as display information generated by a user of the user's computing device 220, as described above in connection with the Figures 2 and 5. In some embodiments, as the user 312 uses the HMD 100-1 moves to the section 1114, so that the display space 1108 is within the field of view of the user 312, the HMD 100-1 may begin to present the content uploaded in connection with the display space 1108 when the user moved to the section 1112.
In some embodiments, when user 312 moves to section 1116 of section 1114, HMD 100-1 may load the next portion of content for space 1106, replacing previously loaded content associated with that space, so that when the user 312 moves around the barrier 1104 the HMD 100-1 presents new content in the display space 1106. However, if the user 312 returns to the section 1114, the HMD 100-1 may load the previous content for the display space 1106, so that the user can rewind the presentation. In some embodiments, a sequence of content in a presentation may advance as the user moves clockwise around the barrier 1104, and may rewind if the user begins to move around the barrier counterclockwise. clockwise. However, this is merely an example.
In some embodiments, the presentation may be designed to begin when an HMD first enters section 1110 (or any other designated section), so that the same content is presented in the same display spaces, regardless of where the user enter physical space 1102. Alternatively, in some embodiments, the display may be in the display space closest to the user when the user first enters the physical space 1102.
ui uo
100
In some embodiments, HMDs associated with users moving around barrier 1104 may together present the same content in display spaces 1106 and 1108 if the users have moved around barrier 1104 the same number of times. This can facilitate a shared experience between different users. In some of these embodiments, two different HMDs that have not moved around the barrier 1104 the same number of times may present different content in the display spaces 1106 and 1108. Additionally or alternatively, in some embodiments, two or more different HMDs They can be linked together so that they present the same content in the display spaces 1106 and/or 1108. For example, a particular HMD may be designated as a master HMD, and HMDs paired with the master HMD may present the same content in display spaces 1106 and/or 1108 even if they do not move around barrier 1104 with the master HMD. . As yet another example, the linked HMDs can collectively determine what content to display (e.g., based on the location of the most HMDs, based on the HMD that has moved around the barrier 1104 the most times, based on the HMD that has moved around barrier 1104 the fewest number of times, etc.). In some embodiments, two or more different HMDs can be linked together using ui or
101 any suitable technique or combination of techniques. For example, the HMDs to be linked may be based on the presence of a configuration file that designates the HMD as linked with one or more HMDs. As yet another example, when initially entering physical space 1102, launching an application associated with physical space 1102, etc., a user may be prompted to select a group as part of a configuration routine. In such an example, users who want to have a shared experience can indicate that they are part of the same group. As yet another example, each HMD that is to be linked can capture an image of a particular visual code (e.g., a QR code), which can cause the HMDs to link. As yet another example, a device linked to an HMD (e.g., smartphone, tablet, etc.) can be used to select a group to join and/or can select one or more HMDs to link to.
In some embodiments, the HMD 100-1 may skip content that would otherwise be presented when the user moves around the barrier to navigate to particular content. For example, the user can cause the HMD 100-1 to present a menu (e.g., by pressing a hardware button) on the HMD 100-1, and from the menu, a user can select a command to present particular content. , to advance the content, etc. Like another ui uo
102 As another example, the user can access an application on a paired device (for example, a paired smartphone) to select the content to be presented, advance through the content, etc. As yet another example, the HMD 100-1 may receive an instruction and/or content from a server (e.g., server 204) indicating what content will be presented in the display space 1106 and/or 1108, which may cause that the particular content is presented by the HMD 100-1.
In some embodiments, an order in which content is presented in display spaces as users move around the barrier can be generated using any suitable technique or combination of techniques. For example, as described above in relation to the stations in Figure 2, an administrative user can use an application to assemble a presentation that includes an ordered list of content to be presented in the display spaces. As yet another example, an order of content can be presented randomly. As yet another example, an order in which content is presented can be determined from an order in which it is stored in the body of the content. In some embodiments, content to be presented in display spaces 1106 and/or 1108 may be preloaded on the HMD and/or may be received while a user is sitting.
103 moving through physical space 1102. For example, all content that is to be presented, downloaded, uploaded, etc., on the HMD before the HMD begins presenting the content. As yet another example, a portion of the content may be preloaded on the HMD, and when the preloaded content is presented, the HMD may acquire additional content (e.g., downloading the content from the server 204, streaming the content from the server 204, etc.). .). As yet another example, the HMD can stream content in real time as needed.
Figure 12 shows an example 1200 of a process for presenting a sequence of content in a limited physical space in accordance with some embodiments of the disclosed subject matter. As shown in Figure 12, at 1202, process 1200 may determine an initial section in which an HMD (e.g., HMD 100-1) is located between multiple sections around a barrier (e.g., barrier 1104). ). In some embodiments, the process 1200 may determine the initial section of the HMD using any suitable technique or combination of techniques, such as those based on signals from one or more beacons (e.g., Bluetooth beacons), images captured by an image sensor of the HMD, a GPS Position of the HMD, etc. In some embodiments, the determination at 1202 may be made by the HMD and/or another computing device, such as a server (e.g.
104 example, server 204).
At 1204, process 200 may access content for a first display space corresponding to at least the initial section and one other section. For example, as described above in relation to Figure 11, two sections can be associated with a display space. In some embodiments, the content to be presented in the first display space may be, for example, a first portion of content in a content stream. In a more particular example, the content to be presented in the first display space may be a first exhibit in a sequence of exhibits.
At 1206, process 1200 may present the content for the first display slot. For example, as described above in connection with Figure 11, when the first display space is within the user's field of view, process 1200 may cause the content of the first display space to be presented.
At 1208, process 1200 may determine whether the HMD has moved to a last section corresponding to a first display space. In some embodiments, each display space may be associated with one or more sections from which the display space is ui uo
105 visible. Process 1200 may determine when an HMD moves to the last section corresponding to the first display space using any suitable technique or combination of techniques, such as the techniques described above in connection with Figure 11 and 1202. In some embodiments, the sections may be defined in a particular order, such that when moving through the sections in a first direction, a next portion of the content of a presentation is presented when the HMD moves to a section corresponding to the next. display space that could not be seen in the last section corresponding to the first display space. For example, the last section can be determined as the last section from which the first display space that is clockwise from the first section can be viewed. In such an example, as a user moves clockwise around a barrier, a presentation may advance forward through a sequence, such as a sequence of 3D scenes.
At 1210, if process 1200 determines that the HMD has moved to the last area corresponding to the first display space (YES at 1210), process 1200 may move to 1212. At 1212, process 1200 may access the content for the following presentation space. in ui uo
106 In some embodiments, process 1200 may access content from internal memory and/or from remote storage (e.g., downloading content from a server, such as server 204). In some embodiments, the process 1200 may preload the content (so that it is ready to be presented when the next display space enters the HMD user's field of view).
At 1214, process 1200 may determine whether the HMD has moved to a section corresponding to the next display space (e.g., whether the user has moved around barrier 1104). If process 1200 determines that the HMD has moved to the next display space (YES at 1214), process 1200 may cause content corresponding to the next display space to be presented, at 1216, when the next display space is within of the HMD wearer's field of view.
At 1210, if the process 1200 determines that the HMD has not moved to the last area corresponding to the first display space (NOT at 1210), or if the process 1200 determines that the HMD has not moved to the next display space ( NOT at 1214), process 1200 may move to 1218 and determine whether the HMD has moved back to a first section associated with the first space.
107 display. Additionally, while content is presented for the next display space at 1216, the user may return to the sections associated with the first display space, and process 1200 may move to 1218.
If process 1200 determines that the HMD has not moved back to the first section corresponding to the first slot (NOT at 1218), process 1200 may return to 1208, where it may determine whether the HMD has moved to the last associated section. with the current viewspace (i.e., the next viewspace when the HMD was in the sections corresponding to the first viewspace). Otherwise, if process 1200 determines that the HMD has returned to the first section corresponding to the first slot (YES at 1218), process 1200 may access a portion of the content preceding the currently presented content, at 1220, so that the HMD can present the content if the HMD moves back to the previous display space (which may be the same physical space as the next display space). In some embodiments, the process 1200 may ensure that when the user moves to the next or previous display space (e.g., on the other side of the barrier 1104 in either direction), the HMD is always ready to present the on / n Ln/zznz/e/YiAi
108 content corresponding to that viewing space.
In some embodiments, process 1200 may be executed by an HMD or by a server. Additionally or alternatively, certain parts of the process 1200 may be executed by an HMD, while other parts are executed by one or more devices, such as a server, a sensor, etc.
Figures 13A to 13D show examples of scenes from a playback of a recorded session of HMDs that are used to present content for use in accordance with some embodiments of the described subject matter. In some embodiments, the HMDs 100 and/or the server 204 may record media (e.g., audio, video, and/or computer-generated graphics) representing the actions of one or more users, and this media may be accessed for viewing. review (for example, by one of the users, by an instructor, etc.). Figure 13A shows an example of a first review mode in which a first user represented by avatar 1302 (HLA) and a second user represented by avatar 1304 (HLB) are interacting with a virtual accident victim 1306 (AI). according to some modalities of the matter of interest described. In the mode shown in Figure 13A, text 1308 representing a transcript of a conversation may be presented as the scene progresses. Additionally, windows 1310 and 1312 can ui uo
109 displaying first-person views of the HMDs worn by the first user 1302 and the second user 1304, respectively. In some embodiments, different users may be represented by avatars of different colors (and/or custom avatars), and windows 1310 and 1312 may be color-coded (and/or otherwise labeled) to clarify which user was viewing which part. of the scene. In some embodiments, the content being reviewed may represent a virtual reality session, and may include graphics and/or images of a scene that was presented to users through HMDs worn by users during the session being reviewed. reviewing.
Additionally or alternatively, the content being reviewed may represent an augmented reality (or other mixed reality) session, and may not include the image date of the general environment in which users were located, beyond the image data captured by the HMDs (e.g., as shown in windows 1310 and 1312).
In some embodiments, any suitable computing device may be used to review recorded content during a session. For example, a personal computer, laptop, tablet, etc., can be used to present review content as two-dimensional images. As another example, the content οη/ηιη/ζζηζ/Β/γίΛΐ
110 can be presented by an HMD (e.g., as an augmented reality or virtual reality experience), and a user of the HMD can navigate around the recorded content (e.g., to view the content from different viewpoints) by physically moving through the scene, and the content presented by the HMD can be based on the user's current position and field of view. As yet another example, a user of the HMD may issue one or more commands to control which part of the session is presented (i.e., to navigate in time) or to enter a different review mode (e.g., to present a bird's-eye view, to present video content recorded by an HMD (and/or play content associated with a point of view of an HMD that was not recorded by the HMD, e.g. for a VR review session) in a fully immersive review mode (i.e., images corresponding to the HMD user's field of view are presented in first-person mode).
In some embodiments, during reviewing content, a reviewer may select a particular avatar (e.g., avatar 1302 or 1304), and/or a particular window (e.g., window 1310 or 1312) to enter review mode in first-person in which the content corresponding to the first-person views, associated with a particular user, is presented as an αη/ηίη/ζζηζ/Β/γ view
111 main (for example, instead of the third-person view shown in Figure 13A). In a first-person view, windows corresponding to other users may or may not be presented.
Figure 13B shows an example of another view of the scene shown in Figure 13A at a different moment in time according to some embodiments of the subject matter described. In some embodiments, a user reviewing the recording can navigate to any portion of the recording, for example, by fast forwarding or rewinding, dragging user interface element 1314 along debugger 1316, searching for a keyword (e.g. , from a transcription), etc. Figure 13C shows an example of a bird's eye view of the scene shown in Figures 13A and 13B at yet another time in accordance with some embodiments of the subject matter described. In some embodiments, a user may navigate to a particular point (in time) in the content using any suitable technique or combination of techniques, and the available technique or techniques may depend on the hardware used to present the content. For example, if the content is being presented by a 2D display (for example, by a personal computer or tablet computer), the user can use the user interface elements presented in relation to the content (not displayed) to
112 pause, play, fast forward, rewind, skip, etc., by selecting user interface elements (for example, using a mouse, trackpad, touch screen, game controller, etc.). As yet another example, if content is being presented by a 2D display or HMD, the user can use touch commands (for example, on a touchpad of a paired device, a touchscreen of a paired device, a sensitive input touch on the HMD) to navigate through content (e.g., tap to play/pause, swipe one direction to fast forward, another direction to rewind, etc.). As yet another example, if content is being presented by a 2D display or HMD, the user can use voice commands to navigate through the content.
Figure 13D shows an example of a reproduction of an augmented reality session according to some modalities of the subject of interest described. As shown in Figure 13D, video of the wider surrounding physical environment may not be available for playback, but users' avatars, a hologram 1318, and windows showing video recorded by the HMDs may be presented, with or without audio and/or text representing a conversation during the recording of video content.
ui uo
113
In some embodiments, information that may be used to present content during review may be received by a computing device at any suitable time and using any suitable technique or combination of techniques. In some embodiments, content that was presented during the session (e.g., 3D models, one or more virtual environments or parts of virtual environments, etc.) may be received at any suitable time from any suitable source. For example, content may be downloaded, uploaded, transferred, etc., to the computing device before the time it was used during the presentation, during the presentation, and/or after the presentation. As yet another example, at least a portion of the content may already be stored on the computing device (for example, if the computing device was used to prepare a presentation that was presented during the session being reviewed, if the computing device compute is an HMD configured to present the content that was presented during the presentation, etc.). In some embodiments, information about dynamic portions of a session (e.g., position of HMDs, audio, supplemental content, etc.) may be received at any suitable time. For example, the computing device may receive recorded information about the position of the HMDs in relation to the presented content, the
114 environment and/or other HMDs in response to a request to present a particular session (e.g., from a server such as server 204). As yet another example, the computing device may receive information about the position of the HMDs in relation to the presented content, the environment, and/or other HMDs during the session to be reviewed (e.g., the computing device may record information during the session). As yet another example, the computing device may receive information about the position of the HMDs in relation to the presented content, the environment, and/or other HMDs during session review (e.g., the content may be transmitted or communicated another way when necessary to review the session). In some embodiments, portions of the dynamic content may be communicated using different formats. For example, information about the position of HMDs, displayed content, supplementary content, etc., can be communicated as an XML file, and audio content and/or video content can be received as an media file.
Figure 14 shows an example 1400 of a process for reviewing media recorded by one or more HMDs in accordance with some embodiments of the disclosed subject matter. As shown in Figure 14, at 1402, process 1400 may receive a selection of content to be reviewed. In οη/ηιη/ζζηζ/Β/γίΛΐ
115 In some embodiments, the content to be reviewed may correspond to a particular session in which HMDs were used to view an augmented reality presentation. For example, the content to be reviewed may correspond to a class taught to a group of students using HMDs to follow along with the reading. In some embodiments, the content may be organized in any suitable way, such as by date, title, user, etc.
At 1404, process 1400 may download, stream, upload, and/or otherwise access the selected content. In some embodiments, the recorded content may be stored in any suitable location by any suitable computing device. For example, the recorded content may be stored by a user computing device (e.g., user computing device 220), by a server on a local network, by a remote server, by network attached storage, etc In some embodiments, selected content may be retrieved from storage for display at 1404 .
At 1406, process 1400 may present the recorded content of the selected session in a selected or default mode (e.g., if no selection was made). For example, process 1400 may present the recorded content from a view perspective.
116 from a bird's eye view, from a ground level perspective, from the perspective of one of the HMDs that recorded the session, etc. In some embodiments, process 1400 may display the text of a transcript.
At 1408, process 1400 may determine whether the display mode and/or one or more settings have been updated. For example, a user can select a new display mode, can turn text on or off, can turn audio on or off, can turn a view on or off from a particular HMD, etc. If process 1400 determines that the display mode and/or one or more settings have been updated (YES at 1408), process 1400 may move to 1410 and may present updated content based on the new display mode and/or settings. Otherwise, if process 1400 determines that the display mode and/or one or more settings have not been updated (NOT at 1408), process 1400 may move to 1412.
At 1412, process 1400 may determine whether or not input has been received to navigate within the recorded content. For example, a user can search for a particular time or keyword, can select a fast-forward UI element, can move a progress indicator along a scroll bar, etc. If process 1400 determines that ui uo has been
117 received input to navigate within the recorded content (YES at 1412), process 1400 can move to 1414 and can change the presentation of the content based on the navigation inputs received. Otherwise, if process 1400 determines that input to navigate within the recorded content has not been received (NOT at 1412), process 1400 may return to 1406 and continue presenting the content in a current display mode with the current settings. .
In some embodiments, any suitable computer-readable medium may be used to store instructions for performing the functions and/or processes described herein. For example, in some embodiments, the computer-readable media may be transient or non-transitory. For example, non-transitory computer readable media may include media such as magnetic media (such as hard drives, floppy disks, etc.), optical media (such as compact discs, digital video discs, Blu-ray discs, etc.) , semiconductor media (such as RAM, flash memory, electrically programmable read-only memory (EPROM), electrically programmable read-only memory (EEPROM), etc.), any suitable medium that is not fleeting or lacking any appearance of permanence during the
118 transmission, and/or any suitable tangible medium. As yet another example, transient computer-readable media may include signals on networks, in cables, conductors, optical fibers, circuits, any other suitable medium that is fleeting and lacking any appearance of permanence during transmission, and/or any medium suitable intangible.
Those skilled in the art will appreciate that while the subject matter described has been described above in relation to particular embodiments and examples, the invention is not necessarily limited, and that many other embodiments, examples, uses, modifications and deviations from the embodiments, examples and uses are intended to be included in the attached claims. The complete description of each patent and publication cited herein is incorporated herein by reference, as if each such patent or publication were individually incorporated by reference herein.
Various characteristics and advantages of the invention are set forth in the following claims.
It is stated that in relation to this date, the best method known to the applicant to put the aforementioned invention into practice is the one that is clear from the present description of the invention.
16 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16
36 members in 10 offices
Priority claims8
| Document | Office | Kind | Date |
|---|---|---|---|
| 201662430179 | United States of America | P | |
| 62430179 | United States of America | – | |
| 201762479214 | United States of America | P | |
| 62479214 | United States of America | – | |
| 201762492832 | United States of America | P | |
| 62492832 | United States of America | – | |
| 201762560869 | United States of America | P | |
| 62560869 | United States of America | – |
Members36
| Document | Office | Kind | |
|---|---|---|---|
| CA3046077A1 | Canada | A1 | |
| WO2018106735A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2017373858A1 | Australia | A1 | |
| KR20190088545A | Republic of Korea | A | |
| IL267052A | Israel | A | |
| IL267052D0 | Israel | D0 | |
| CN110300909A | China | A | |
| US2019304406A1 | United States of America | A1 | |
| EP3548958A1 | European Patent Office (EPO) | A1 | |
| JP2020501265A | Japan | A | |
| EP3548958A4 | European Patent Office (EPO) | A4 | |
| MX2019006567A | Mexico | A | |
| MX2019006567A | Mexico | A | |
| US10937391B2 | United States of America | B2 | |
| US2021312887A1 | United States of America | A1 | |
| CN110300909B | China | B | |
| US2022013084A1 | United States of America | A1 | |
| JP2022046670A | Japan | A | |
| CN114236837A | China | A | |
| MX2022010708AThis record | Mexico | A | |
| MX2022010708AThis record | Mexico | A | |
| AU2017373858B2 | Australia | B2 | |
| AU2022291565A1 | Australia | A1 | |
| US11580935B2 | United States of America | B2 | |
| US2024005892A1 | United States of America | A1 | |
| JP7409692B2 | Japan | B2 | |
| US11915670B2 | United States of America | B2 | |
| KR20240033136A | Republic of Korea | A | |
| JP2024037868A | Japan | A | |
| IL267052B1 | Israel | B1 | |
| US12020667B2 | United States of America | B2 | |
| US2024290299A1 | United States of America | A1 | |
| IL267052B2 | Israel | B2 | |
| MX395185B | Mexico | B | |
| US12260842B2 | United States of America | B2 | |
| CN114236837B | China | B |
Numbers
- Publication
- 2022010708
- Application
- 2022010708
Titles2
- Spanish
- SISTEMAS, MÉTODOS Y MEDIOS PARA MOSTRAR PRESENTACIONES INTERACTIVAS DE REALIDAD AUMENTADA
- English
- SYSTEMS, METHODS AND MEANS FOR DISPLAYING INTERACTIVE PRESENTATIONS OF AUGMENTED REALITY
Classification
- CPC, 20
- G02B27/017
- G09G5/14
- G02B2027/0134
- G02B2027/014
- G02B2027/0178
- G06T19/00
- G06F3/011
- G06F3/0304
- G06F3/013
- G06F3/017
- G06F3/012
- G06T19/006
- G06F3/0346
- G06T15/20
- G06T2200/04
- G06T2200/24
- G06T2219/024
- G09G2354/00
- G09G2370/022
- H04L67/10
- IPC, 2
- G02B27 01
- G06T19 00