Intel Patent | Technologies for time-delayed augmented reality presentations
Patent: Technologies for time-delayed augmented reality presentations
Drawings: Click to check drawins
Publication Number: 20210065456
Publication Date: 20210304
Applicant: Intel
Abstract
Technologies for time-delayed augmented reality (AR) presentations includes determining a location of a plurality of user AR systems located within the presentation site and determining a time delay of an AR sensory stimulus event of an AR presentation to be presented in the presentation site for each user AR system based on the location of the corresponding user AR system within the presentation site. The AR sensory stimulus event is presented to each user AR system based on the determined time delay associated with the corresponding user AR system. Each user AR system generates the AR sensory stimulus event based on a timing parameter that defines the time delay for the corresponding user AR system such that the generation of the AR sensory stimulus event is time-delayed based on the location of the user AR system within the presentation site.
Claims
1-25. (canceled)
-
A server to provide augmented reality (AR) presentations, the server comprising: memory; and at least one processor to execute instructions to: identify a time-delayable AR sensory stimulus event of an AR presentation to be provided to a first user system at a first location and to a second user system at a second location; determine a first time delay of the AR sensory stimulus event for the first user system based on a position of the first location relative to a point of origin of the AR sensory stimulus event; determine a second time delay of the AR sensory stimulus event for the second user system based on a position of the second location relative to the point of origin, the second time delay different than the first time delay, the second time delay to be longer than a duration for a real-world sensory stimulus corresponding to the AR sensory stimulus event to traverse a distance between the second location and the point of origin according to laws of physics; and provide the AR sensory stimulus event to the first and second user systems to cause the first and second user systems to present the AR sensory stimulus event at different points in time based on the first and second time delays.
-
The server of claim 26, wherein the at least one processor is to determine the first and second time delays as a function of respective distances of the first and second locations from the point of origin with the first and second time delays increasing as the respective distances increase.
-
The server of claim 26, wherein the at least one processor is to determine a third time delay of the AR sensory stimulus event for a third user system at a third location different than the first and second locations, the third time delay being different than the first time delay based on the first location being in a different geographic zone than the third location, the third time delay being the same as the second time delay based on the second location being in the same geographic zone as the third location.
-
The server of claim 26, wherein the at least one processor is to provide the AR sensory stimulus event to the first and second user systems by transmitting (i) the AR sensory stimulus event and (ii) either a first timing parameter or a second timing corresponding to the respective first and second user systems, the first and second timing parameters indicative of the corresponding first and second time delays, the first and second user systems to control a timing of presentation of the AR sensory stimulus event based on the respective first and second timing parameters.
-
The server of claim 26, wherein the at least one processor is to provide the AR sensory stimulus event to the first and second user systems by (i) transmitting the AR sensory stimulus event to the first user system at a first point in time and (ii) transmitting the AR sensory stimulus event to the second user system at a second point in time different than the first point in time, a difference between the first point in time and the second point in time based on a difference between the first time delay and the second time delay.
-
The server of claim 26, wherein the time-delayable AR sensory stimulus event is one of a plurality of AR sensory stimulus events, a subset of the AR sensory stimulus events including tags indicating the subset of the AR sensory stimulus events are time-delayable, the at least one processor to identify the time-delayable AR sensory stimulus event based on an associated ones of the tags.
-
The server of claim 26, wherein the at least one processor is to determine a reaction of at least one of a first user of the first user system or a second user of the second user system in response to presentation of the AR sensory stimulus event by the first and second user systems.
-
The server of claim 32, wherein the at least one processor is to adjust at least one of the first time delay or the second time delay based on the reaction of the at least one of the first user or the second user system.
-
At least one machine-readable storage device comprising instructions that, when executed, cause at least one processor to at least: identify a time-delayable augmented reality (AR) sensory stimulus event of an AR presentation to be provided to a first user system at a first location and to a second user system at a second location; determine a first time delay of the AR sensory stimulus event for the first user system based on a first distance from the first location to a point of origin of the AR sensory stimulus event; determine a second time delay of the AR sensory stimulus event for the second user system based on a second distance from the second location to the point of origin, the second time delay different than the first time delay, the second time delay to be longer than a duration for a real-world sensory stimulus corresponding to the AR sensory stimulus event to traverse the second distance according to laws of physics; and provide the AR sensory stimulus event to the first and second user systems to cause the first and second user systems to present the AR sensory stimulus event at different points in time based on the first and second time delays.
-
The at least one machine-readable storage device of claim 34, wherein the instructions cause the at least one processor to determine the first and second time delays as a function of respective distances of the first and second locations from the point of origin with the first and second time delays increasing as the respective distances increase.
-
The at least one machine-readable storage device of claim 34, wherein the instructions cause the at least one processor to determine a third time delay of the AR sensory stimulus event for a third user system at a third location different than the first and second locations, the third time delay being different than the first time delay based on the first location being in a different geographic zone than the third location, the third time delay being the same as the second time delay based on the second location being in the same geographic zone as the third location.
-
The at least one machine-readable storage device of claim 34, wherein the instructions cause the at least one processor to provide the AR sensory stimulus event to the first and second user systems by transmitting (i) the AR sensory stimulus event and (ii) either a first timing parameter or a second timing corresponding to the respective first and second user systems, the first and second timing parameters indicative of the corresponding first and second time delays, the first and second user systems to control a timing of presentation of the AR sensory stimulus event based on the respective first and second timing parameters.
-
The at least one machine-readable storage device of claim 34, wherein the instructions cause the at least one processor to provide the AR sensory stimulus event to the first and second user systems by (i) transmitting the AR sensory stimulus event to the first user system at a first point in time and (ii) transmitting the AR sensory stimulus event to the second user system at a second point in time different than the first point in time, a difference between the first point in time and the second point in time based on a difference between the first time delay and the second time delay.
-
The at least one machine-readable storage device of claim 34, wherein the time-delayable AR sensory stimulus event is one of a plurality of AR sensory stimulus events, a subset of the AR sensory stimulus events including tags indicating the subset of the AR sensory stimulus events are time-delayable, the instructions to cause the at least one processor to identify the time-delayable AR sensory stimulus event based on an associated ones of the tags.
-
The at least one machine-readable storage device of claim 34, wherein the instructions cause the at least one processor to determine a reaction of at least one of a first user of the first user system or a second user of the second user system in response to presentation of the AR sensory stimulus event by the first and second user systems.
-
The at least one machine-readable storage device of claim 40, wherein the instructions cause the at least one processor to adjust at least one of the first time delay or the second time delay based on the reaction of the at least one of the first user or the second user system.
-
An apparatus to present AR presentations, the apparatus comprising: means for determining a first location of a first user system and a second location of a second user system; and means for managing an AR presentation, the AR presentation managing means to: identify a time-delayable AR sensory stimulus event of an AR presentation to be provided to the first and second user systems; determine a first time delay of the AR sensory stimulus event for the first user system based on a position of the first location relative to a point of origin of the AR sensory stimulus event; determine a second time delay of the AR sensory stimulus event for the second user system based on a position of the second location relative to the point of origin, the second time delay different than the first time delay, the second time delay to be longer than a duration for a real-world sensory stimulus corresponding to the AR sensory stimulus event to traverse a distance between the second location and the point of origin according to laws of physics; and provide the AR sensory stimulus event to the first and second user systems to cause the first and second user systems to present the AR sensory stimulus event at different points in time based on the first and second time delays.
-
The apparatus of claim 42, wherein the AR presentation managing means is to determine the first and second time delays as a function of respective distances of the first and second locations from the point of origin with the first and second time delays increasing as the respective distances increase.
-
The apparatus of claim 42, wherein the AR presentation managing means is to determine a third time delay of the AR sensory stimulus event for a third user system at a third location different than the first and second locations, the third time delay being different than the first time delay based on the first location being in a different geographic zone than the third location, the third time delay being the same as the second time delay based on the second location being in the same geographic zone as the third location.
-
The apparatus of claim 42, wherein the AR presentation managing means is to provide the AR sensory stimulus event to the first and second user systems by transmitting (i) the AR sensory stimulus event and (ii) either a first timing parameter or a second timing corresponding to the respective first and second user systems, the first and second timing parameters indicative of the corresponding first and second time delays, the first and second user systems to control a timing of presentation of the AR sensory stimulus event based on the respective first and second timing parameters.
-
The apparatus of claim 42, wherein the AR presentation managing means is to provide the AR sensory stimulus event to the first and second user systems by (i) transmitting the AR sensory stimulus event to the first user system at a first point in time and (ii) transmitting the AR sensory stimulus event to the second user system at a second point in time different than the first point in time, a difference between the first point in time and the second point in time based on a difference between the first time delay and the second time delay.
-
The apparatus of claim 42, wherein the time-delayable AR sensory stimulus event is one of a plurality of AR sensory stimulus events, a subset of the AR sensory stimulus events including tags indicating the subset of the AR sensory stimulus events are time-delayable, the AR presentation managing means to identify the time-delayable AR sensory stimulus event based on an associated ones of the tags.
-
The apparatus of claim 42, further including means for managing user reactions, the user reaction managing means to determine a reaction of at least one of a first user of the first user system or a second user of the second user system in response to presentation of the AR sensory stimulus event by the first and second user systems.
-
The apparatus of claim 48, wherein the user reaction managing means is to adjust at least one of the first time delay or the second time delay based on the reaction of the at least one of the first user or the second user system.
Description
BACKGROUND
[0001] Augmented reality systems project virtual characters and objects onto physical locations, allowing for immersive experiences and novel interaction models. In some augmented reality systems, virtual characters or objects may be inserted into real-world images, for example by overlaying a captured image or video stream with a two- or three-dimensional animated rendering of the virtual character. In some implementations, a physical object recognized in the captured image may be replaced by a virtual object associated with that physical object. For example, recognized vehicles in the captured image may be recognized and replaced with animated vehicles (e.g., military vehicles, cartoon vehicles, etc.). Additionally, a user of the augmented reality system may be able to interact with the various virtual characters and/or objects.
[0002] Augmented reality experiences may be presented to multiple users in some cases. In such situations, each user is able to experience the same augmented reality. For example, a particular augmented reality presentation may include an augmented reality sensor stimulus event, such as a sound or tactile vibration, which is experienced by each of the augmented reality participants. In typical augmented reality systems, however, each participant experiences the augmented reality presentation and stimuli in the same time frame, which can lower the effect of immersion felt by the participants as a group.
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] The concepts described herein are illustrated by way of example and not by way of limitation in the accompanying figures. For simplicity and clarity of illustration, elements illustrated in the figures are not necessarily drawn to scale. Where considered appropriate, reference labels have been repeated among the figures to indicate corresponding or analogous elements.
[0004] FIG. 1 is a simplified diagram illustrating a time-delayed augmented reality stimulus event presented by an augmented reality server and experienced by multiple users of user augmented reality systems within a presentation site;
[0005] FIG. 2 is simplified diagram illustrating another embodiment of a time-delayed augmented reality stimulus event experienced by multiple users of user augmented reality systems;
[0006] FIG. 3 is a simplified block diagram of at least one embodiment of an augmented reality system for presenting time-delayed augmented reality stimulus events;
[0007] FIG. 4 is a simplified block diagram of at least one embodiment of an augmented reality server of the augmented reality system of FIG. 3;
[0008] FIG. 5 is a simplified block diagram of at least one embodiment of a user augmented reality system of the augmented reality system of FIG. 3;
[0009] FIG. 6 is a simplified block diagram of at least one embodiment of an environment of the augmented reality server of FIG. 4;
[0010] FIG. 7 is a simplified block diagram of at least one embodiment of an environment of the user augmented reality system of FIG. 4;
[0011] FIGS. 8 and 9 are a simplified flow diagram of at least one embodiment of a method for presenting a time-delayed augmented reality presentation that may be executed by the augmented reality server of FIGS. 4 and 6;
[0012] FIGS. 10 and 11 are a simplified flow diagram of at least one embodiment of a method for presenting a time-delayed augmented reality presentation that may be executed by the user augmented reality system of FIGS. 5 and 7.
DETAILED DESCRIPTION OF THE DRAWINGS
[0013] While the concepts of the present disclosure are susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will be described herein in detail. It should be understood, however, that there is no intent to limit the concepts of the present disclosure to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives consistent with the present disclosure and the appended claims.
[0014] References in the specification to “one embodiment,” “an embodiment,” “an illustrative embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may or may not necessarily include that particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. Additionally, it should be appreciated that items included in a list in the form of “at least one A, B, and C” can mean (A); (B); (C); (A and B); (A and C); (B and C); or (A, B, and C). Similarly, items listed in the form of “at least one of A, B, or C” can mean (A); (B); (C); (A and B); (A and C); (B and C); or (A, B, and C).
[0015] The disclosed embodiments may be implemented, in some cases, in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried by or stored on a transitory or non-transitory machine-readable (e.g., computer-readable) storage medium, which may be read and executed by one or more processors. A machine-readable storage medium may be embodied as any storage device, mechanism, or other physical structure for storing or transmitting information in a form readable by a machine (e.g., a volatile or non-volatile memory, a media disc, or other media device).
[0016] In the drawings, some structural or method features may be shown in specific arrangements and/or orderings. However, it should be appreciated that such specific arrangements and/or orderings may not be required. Rather, in some embodiments, such features may be arranged in a different manner and/or order than shown in the illustrative figures. Additionally, the inclusion of a structural or method feature in a particular figure is not meant to imply that such feature is required in all embodiments and, in some embodiments, may not be included or may be combined with other features.
[0017] Referring now to FIG. 1, in an illustrative embodiment, a system 100 for presenting a time-delayed augmented reality (AR) presentation includes an AR server 102 and multiple user AR systems 104, which are used, worn, or otherwise operated by users 106 within a presentation site 108 at which the time-delayed AR presentation is to be presented. In use, as discussed in more detail below, the AR server 102 is configured to identify AR sensory stimulus events of the AR presentation, such as audible, visual, or tactile AR stimulus events (or a combination thereof), and delay the generation of those AR sensory stimulus events on the individual user AR systems 104 based on the location of each user AR system 104. In the example shown in FIG. 1, for example, the augmented reality server 102 is presenting an AR presentation 110 that includes a visual AR stimulus event 112 embodied as an AR earthquake crack appearing on the ground of the presentation site 108. As such, each user 106 is able to see the visual AR stimulus event 112 via their user AR system 104. In addition to the visual AR stimulus event 112, the presentation includes an audible AR stimulus event 114, such as a loud cracking sound. However, the audible AR stimulus event 114 is delayed for each user 106 based on the distance of that particular user 106 from the visual AR stimulus event 112. That is, the user AR system 104 of each user 106 generates the audible AR stimulus event 114 in a time-delayed manner. As such, the users 106A and 106B experience the audible AR stimulus event 114 before the user 106C, who experiences the audible AR stimulus event 114 before users 106D and 106E. By time delaying the AR sensory stimulus events, the system 100 allows for new AR experience modalities. For example, because users 106A and 106B experience the audible AR stimulus event 114 (e.g., a loud cracking sound) before users 106D and 106E, users 106A and 106B may react to the AR presentation 110 before users 106D and 106E, who are not in a position to see the visual AR stimulus event 112. The users 106D and 106E may become aware of the visual AR stimulus event 112 in response to the reactions of users 106A and 106B. In some embodiments, the time delay of between the visual AR stimulus event 112 and the audible AR stimulus event 114 may be based on the physical distance from the visual AR stimulus event 112 of the particular user, along with the applicable laws of physics. For example, in some embodiments, the audible AR stimulus event 114 may be experienced (i.e., hears) later by a particular user than that particular user experiences (e.g., sees) the visual AR stimulus event 112 due to the difference in speeds of sound and light.
[0018] Additionally, it should be appreciated that the impact of distance within a particular AR presentation may be increased by artificially increasing the time-delay of associated AR sensory stimulus events. For example, the audible AR stimulus event 114 experienced by the users 106D and 106E of FIG. 1 may be time-delayed for an amount that is greater that the audible delay that the distance between the users 106D and 106E and the visual AR stimulus event 112 would cause in the real world. In this way, the sense and/or impact of distance in AR presentations may be increased because, for example, the user 106E may be able to see the reaction of the user 106D before seeing the visual AR stimulus event 112 and, therefore, react to both the AR presentation and the reactions of the user 106D.
[0019] By delaying the generation of AR sensory stimulus events across multiple user AR systems 104, the AR server 102 may also create a sense of direction in groups of users 106 of the user AR systems 104. For example, in some embodiments as shown in FIG. 2, each user AR system 104 may include a pair of AR goggles 200 and a pair of AR wrist bands 202, which may provide a tactile feedback to the user. In such embodiments, the AR server 102 may cause an AR sensory stimulus event 210, such as an AR tactile stimulus event, to be generated by the user AR systems 104 in a time-delayed manner such that the AR sensory stimulus event 210 propagates down the line of users. Each user experiences the AR sensory stimulus event 210 on AR wrist band 202 of their right arm first, followed by the AR wrist band 202 on their left arm. In this way, the users 106 experience the AR tactile stimulus event as originating from the right of them and propagating toward the left of them. Such time-delayed experiences may be used to create an AR wave of experiences in large groups, such as stadium crowds.
[0020] Referring now to FIG. 3, the illustrative system 100 includes the AR server 102 and multiple user AR systems 104, which are worn by users 106 within the presentation site 108 wherein an AR presentation is to be presented by the AR server 102. The AR server 102 and each of the user AR systems 104 are communicatively coupled via a network 300. In use, as discussed in more detail below, the AR server 102 may transmit AR presentations and/or AR sensory stimulus events to the user AR systems 104 via the network 300. Similarly, each user AR system 104 may transmit reaction data to the AR server 102 indicative of a user’s reaction to AR sensory stimulus events.
[0021] The network 300 may be embodied as any type of network capable of facilitating communications between the AR server 102 and the user AR systems 104. For example, the network 300 may be embodied as, or otherwise include, a wired or wireless local area network (LAN), a wired or wireless wide area network (WAN), a cellular network, and/or a publicly-accessible, global network such as the Internet. As such, in some embodiments, the network 300 may include additional devices, such as additional computers, routers, and switches, to facilitate communications thereacross.
[0022] In some embodiments, the AR server 102 may be located within the presentation site 108. However, in other embodiments, the AR server 102 may be located remotely from the presentation site 108. The system 100 may also include one or more local sensors 302 located within the presentation site to monitor the users of the user AR systems 104. For example, the local sensors 302 may produce sensor data indicative of the location of the users within the presentation site and/or of reactions of the users to the AR sensory stimulus events. As such, the local sensors 302 may be embodied as any type of sensor capable of producing sensor data indicative of a characteristic or action of the users including, but not limited to, cameras, microphones, temperature sensors, motion sensors, proximity sensors, and/or other types of sensors.
[0023] Referring now to FIG. 4, the AR server 102 may be embodied as any type of server or other compute device capable of presenting AR presentations to the user AR systems 104 and performing the functions described herein. For example the AR server 102 may be embodied as, without limitation, one or more server computers, distributed computing systems, workstations, computers, desktop computers, laptop computers, notebook computers, tablet computers, mobile computing devices, network appliances, web appliances, processor-based systems, consumer electronic devices, and/or other compute devices. As such, it should be appreciated that although shown in FIGS. 1, 3, and 4 as a single compute device, the AR server 102 may be embodied as multiple compute devices (e.g., distributed compute devices) in other embodiments.
[0024] As shown in FIG. 4, the illustrative AR server 102 includes a compute engine 400, an input/output (“I/O”) subsystem 406, a data storage 410, a communication subsystem 420, and a master network clock 450. Of course, it should be appreciated that the AR server 102 may include other or additional components, such as those commonly found in a typical compute device (e.g., various input/output devices and/or other components), in other embodiments. Additionally, in some embodiments, one or more of the illustrative components may be incorporated in, or otherwise form a portion of, another component.
[0025] The compute engine 400 may be embodied as any type of device or collection of devices capable of performing various compute functions as described below. In some embodiments, the compute engine 400 may be embodied as a single device such as an integrated circuit, an embedded system, a field-programmable-array (FPGA, a system-on-a-chip (SOC), or other integrated system or device. Additionally, in some embodiments, the compute engine 400 includes or is embodied as a processor 402 and memory 404. The processor 402 may be embodied as any type of processor capable of performing the functions described herein. For example, the processor 402 may be embodied as a single or multi-core processor(s), digital signal processor, microcontroller, or other processor or processing/controlling circuit. Similarly, the memory 404 may be embodied as any type of volatile or non-volatile memory or data storage capable of performing the functions described herein. In operation, the memory 404 may store various data and software used during operation of the AR server 102 such as operating systems, applications, programs, libraries, and drivers.
[0026] The compute engine 400 is communicatively coupled to other components of the AR server 102 via the I/O subsystem 406, which may be embodied as circuitry and/or components to facilitate input/output operations with compute engine 400 (e.g., with the processor 402 and/or memory 404) and other components of the AR server 102. For example, the I/O subsystem 406 may be embodied as, or otherwise include, memory controller hubs, input/output control hubs, firmware devices, communication links (i.e., point-to-point links, bus links, wires, cables, light guides, printed circuit board traces, etc.) and/or other components and subsystems to facilitate the input/output operations. In some embodiments, the I/O subsystem 406 may be incorporated, along with the processor 402, the 404, and other components of the AR server 102, into the compute engine 400.
[0027] The data storage 410 may be embodied as any type of device or devices configured for short-term or long-term storage of data such as, for example, memory devices and circuits, memory cards, hard disk drives, solid-state drives, or other data storage devices. As discussed in detail below, the AR server 102 may store AR presentations, which may include time-delayed AR sensory stimulus event for presentation to the user AR systems 104 of users in the presentation site 108, along with other data.
[0028] The communication subsystem 420 may be embodied as any type of communication circuit, device, or collection thereof, capable of enabling communications between the AR server 102 and user AR systems 104 via the network 300. To do so, the communication subsystem 420 may be configured to use any one or more communication technologies (e.g., wireless or wired communications) and associated protocols (e.g., Ethernet, Bluetooth.RTM., Wi-Fi.RTM., WiMAX, LTE, 5G, etc.) to effect such communication.
[0029] The master network clock 450 may be embodied as any type of device, circuit, and/or collection of devices or circuits capable of generating a clock signal usable by other components of the AR server 102. For example, the master network clock 450 may be embodied as, or otherwise include, a crystal oscillator-based circuit and may generate a clock signal of any suitable type such as square wave or a sine wave. As discussed in more detail below, the master network clock 450 is used to synchronize local clocks of the user AR systems 104 so that the time-delayed AR sensory stimulus events can be generated at the appropriate time across the various users.
[0030] In some embodiments, the AR server 102 may also include one or more peripheral devices 460. The peripheral devices 460 may include any number of additional peripheral or interface devices, such as other input/output devices, storage devices, and so forth. The particular devices included in the peripheral devices 460 may depend on, for example, the type and/or configuration of the AR server 102.
[0031] Referring now to FIG. 5, each user AR system 104 may be embodied as any type of augmented reality device or collection of devices. In some embodiments, the user AR system 104 may be embodied as a single device or interconnected devices that form an AR system. However, in other embodiments, the user AR system 104 may be embodied as individual AR devices that may have little or no communication between each other but are configured to receive AR presentations, including AR sensory stimulus events, from the AR server 102. In some embodiments, the user AR system 104 may be embodied as an AR wearable system designed to be worn by the user such as, for example, an AR eyewear, an AR earpiece, and AR vest, an AR bracelet, AR-enable accessories, AR-enabled clothing, and/or other AR wearable devices or systems. In other embodiments, the user AR system 104 may embodied as an AR device usable by the user to experience an AR sensory stimulus event such as, for example, a smartphone, tablet compute device, laptop compute device, or other non-wearable AR device or collection of devices capable of generating AR sensory stimulus events.
[0032] The illustrative user AR system of FIG. 5 includes a compute engine 500, an input/output (“I/O”) subsystem 506, one or more input sensors 510, one or more location determination sensors 530, one or more output devices 540, a local network clock 550, a communication subsystem 560, and a data storage 570. Of course, it should be appreciated that the user AR system 104 may include other or additional components, such as those commonly found in an AR device (e.g., various input/output devices and/or other components), in other embodiments. Additionally, in some embodiments, one or more of the illustrative components may be incorporated in, or otherwise form a portion of, another component.
[0033] The compute engine 500 may be embodied as any type of device or collection of devices capable of performing various compute functions as described below. In some embodiments, the compute engine 500 may be embodied as a single device such as an integrated circuit, an embedded system, a field-programmable-array (FPGA, a system-on-a-chip (SOC), or other integrated system or device. Additionally, in some embodiments, the compute engine 500 includes, or is embodied as, a processor 502 and memory 504. The processor 502 may be embodied as any type of processor capable of performing the functions described herein. For example, similar to processor 402, the processor 502 may be embodied as a single or multi-core processor(s), digital signal processor, microcontroller, or other processor or processing/controlling circuit. Similarly, the memory 504 may be embodied as any type of volatile or non-volatile memory or data storage capable of performing the functions described herein. In operation, the memory 504 may store various data and software used during operation of the user AR system 104 such as operating systems, applications, programs, libraries, and drivers.
[0034] The compute engine 400 is communicatively coupled to other components of the user AR system 104 via the I/O subsystem 506, which may be embodied as circuitry and/or components to facilitate input/output operations with compute engine 500 (e.g., with the processor 502 and/or memory 504) and other components of the user AR system 104. For example, the I/O subsystem 506 may be embodied as, or otherwise include, memory controller hubs, input/output control hubs, firmware devices, communication links (i.e., point-to-point links, bus links, wires, cables, light guides, printed circuit board traces, etc.) and/or other components and subsystems to facilitate the input/output operations. In some embodiments, the I/O subsystem 506 may be incorporated, along with the processor 502, the 504, and other components of the user AR system 104, into the compute engine 500.
[0035] The input sensors 510 may be embodied as any number of any type of sensors capable of producing data indicative of a reaction of a user of the user AR system 104 to one or more AR sensory stimulus events (e.g., an audible, visual, tactile, heat, or olfactory stimulus event). For example, in some embodiments, the input sensors 510 may include one or more visual input sensors 512. Each visual input sensor 512 may be embodied as any type of sensor capable capturing images of the user and/or the user’s surroundings, such as a camera, image sensor, and/or the like. Additionally, in some embodiments, the input sensors 510 may include one or more audible input sensors 514. Each audible input sensor 514 may be embodied as any type of sensor capable capturing audio or sounds of the user and/or the user’s surrounding, such as a microphone, ear microphone, and/or the like. In some embodiments, the input sensors 510 may also include one or more tactile input sensors 516. Each tactile input sensor 516 may be embodied as any type of sensor capable capturing user tactile interaction, such as a touch sensor or the like. The input sensors 510 may also include one or more proximity input sensors 518. Each proximity input sensor 518 may be embodied as any type of sensor capable capturing sensor data indicative of the proximity of the user to other users and/or structures, such as an electromagnetic sensor, photoelectric sensor, and/or the like. Additionally, in some embodiments, the input sensors 510 may include one or more conductance input sensors 520. Each conductance input sensor 520 may be embodied as any type of sensor capable capturing a skin response or the like of the user, such as a galvanic skin response (GSR) sensor, an electrodemeral response (EDR), a skin conductance response (SCR) sensor, and/or the like. In some embodiments, the input sensors 510 may also include one or more force input sensors 522. Each force input sensor 522 may be embodied as any type of sensor capable measuring an amount of force applied by the user such as a strain gauge, load cell, and/or the like.
[0036] The location determination sensors 530 may be embodied as any type of sensor or collection of sensor capable of producing sensor data indicative of the location of the user AR system 104 within the presentation site 108. To do so, the location determination sensors 530 may utilize any suitable technology to determine the location of the user AR system 104. For example, the location determination sensors 530 may include a WiFi or Bluetooth sensor to facilitate the triangulation or trilateration of the location of the user AR system 104 within the presentation site. Additionally or alternatively, in some embodiments, the location determination sensors 530 may include a global positioning system (GPS) circuit 532 configured to determine the location of the user AR system 104 based on received GPS signals.
[0037] The output devices 540 may be embodied as any number of any type of devices or circuits capable of producing a sensory stimulus (e.g., e.g., an audible, visual, tactile, heat, or olfactory output) to the user of the user AR system 104. For example, in some embodiments, the output devices 540 include one or more visual output devices 542 to display a visual stimulus, such as a display, projector, and/or the like. Additionally, the output devices 540 may include one or more audible output devices 544 to generate an audible stimulus, such as a speaker, an ear transducer, and/or the like. The output devices 540 may also include one or more tactile output devices 546 to generate a tactile or haptic stimulus, such as a vibrator, motor, and/or the like 540. Additionally, the output devices 540 may include one or more olfactory output devices 548 to generate an olfactory stimulus, such as an odor producing device or system.
[0038] The network clock 550 may be similar to the master network clock 450 and may be embodied as any type of device, circuit, and/or collection of devices or circuits capable of generating a clock signal usable by other components of the user AR system 104. For example, the network clock 550 may be embodied as, or otherwise include, a crystal oscillator-based circuit and may generate a clock signal of any suitable type such as square wave or a sine wave. As discussed in more detail below, the network clock 550 is synchronized with the master network clock 450 of the AR server 102 so that the user AR system 104 may generate the time-delayed AR sensory stimulus events at a time designated by the AR server 102.
[0039] The communication subsystem 560 may be embodied as any type of communication circuit, device, or collection thereof, capable of enabling communications between the user AR systems 104 and the AR server 102 and/or other user AR systems 104 via the network 300. To do so, the communication subsystem 560 may be configured to use any one or more communication technologies (e.g., wireless or wired communications) and associated protocols (e.g., Ethernet, Bluetooth.RTM., Wi-Fi.RTM., WiMAX, LTE, 5G, etc.) to effect such communication.
[0040] The data storage 570 may be embodied as any type of device or devices configured for short-term or long-term storage of data such as, for example, memory devices and circuits, memory cards, hard disk drives, solid-state drives, or other data storage devices. As discussed in detail below, the user AR system 104 may store AR presentations, which may include time-delayed AR sensory stimulus events, received from the AR server 102.
[0041] In some embodiments, the user AR system 104 may also include one or more peripheral devices 580. The peripheral devices 580 may include any number of additional peripheral or interface devices, such as other input/output devices, storage devices, and so forth. The particular devices included in the peripheral devices 580 may depend on, for example, the type and/or configuration of the user AR system 104.
[0042] Referring now to FIG. 6, in illustrative embodiment, the AR server 102 may establish an environment 600 during operation. The illustrative environment 600 includes a communicator 602, a user location mapper 604, a network clock synchronizer 606, an AR presentation manager 608, and a user reaction manger 610. Each of the components of the environment 600 may be embodied as hardware, firmware, software, or a combination thereof. As such, in some embodiments, one or more of the components of the environment 600 may be embodied as circuitry or a collection of electrical devices (e.g., communication circuitry 602, a user location mapper circuit 604, a network clock synchronizer circuit 606, an AR presentation manner 608, and a user reaction manger 610). It should be appreciated that, in such embodiments, one or more of the communication circuitry 602, the user location mapper circuit 604, the network clock synchronizer 606, the AR presentation manner 608, and the user reaction manger 610 may form a portion of one or more of the compute engine 400, the I/O subsystem 406, and/or other components of the AR server 102.
[0043] The communicator 602 is configured to manage communications between the AR server 102 and the various user AR systems 104 located within the presentation site 108. For example, as discussed in more detail below, the communicator 602 may control the communication subsystem 420 to transmit AR presentations including time-delayed AR sensory stimulus events to the user AR systems 104 and receive user reaction data from the user AR systems 104 over the network 300. To do so, the communicator 602 utilize any one or more communication technologies (e.g., wireless or wired communications) and associated protocols (e.g., Ethernet, Bluetooth.RTM., Wi-Fi.RTM., WiMAX, LTE, 5G, etc.) to effect such communication.
[0044] The user location mapper 604 is configured to determine the location of each participating user AR system 104 (e.g., the location of each user 106) within the presentation site 108. To do so, in some embodiments, the user location mapper 604 may query the user AR systems 104 for location data indicative of their present location within the presentation site 108. Such location data may be an absolute location value, such as a GPS location, or a relative location value such as location data indicative of the location of the user relative to a known position or device within the presentation site (e.g., relative to a communication node or WiFi hotspot). Additionally or alternatively, in some embodiments, the user location mapper 604 may be configured to utilize sensor data received from one or more local sensors 302 located within the presentation site 108 to infer or otherwise determine the location of each user AR system 104. For example, the user location mapper 604 may analyze images received from one or more local camera sensors 302 to determine the relative location of the users 106 within the presentation site. Further, in some embodiments, the user location mapper 604 may also query each identified user AR system 104 to determine whether the user 106 desires to participate in the AR presentation at that particular presentation site 108.
[0045] The network clock synchronizer 606 is configured to synchronize the network clocks 550 of each user AR system 104 with the master network clock 450 of the AR server 102. To do so, in some embodiments, the AR server 102 may transmit clock information to each user AR system 104. Such clock information may be indicative of the timing of the master network clock 450 or otherwise usable by the user AR system 104 to synchronize its network clock 550 with the master network clock 450. In other embodiments, each user AR system 104 may initially send clock information indicative of the timing of its network clock 550 to the AR server 102, and the AR server 102 may utilize the clock information for each user AR system 104 to determine a timing offset to apply to each particular user AR system 104 so as to synchronize the timing between the master network clock 450 and the network clocks 550 of the user AR systems 104.
[0046] The AR presentation manager 608 is configured to manage and present the time-delayed AR presentations to the user AR systems 104 located within the presentation site 108. To do so, the AR presentation manager 608 includes an AR sensory stimulus event determiner 620 configured to identify AR sensory stimulus events of an AR presentation to be presented at the presentation site 108. For example, in some embodiments, AR presentation may include data tags or identifiers that identify AR sensory stimulus events of the AR presentation that can be time-delayed. In such embodiments, the AR sensory stimulus event determiner 620 may analyze the AR presentation to identify each of the data tags and associated AR sensory stimulus events. In other embodiments in which the AR presentation does not include such data tags or identifiers, the AR sensory stimulus event determiner 620 may analyze the AR presentation itself and infer or otherwise identify one or more AR sensory stimulus events based on such analysis. To do so, the AR sensory stimulus event determiner 620 may utilize any suitable algorithm or analysis to identify the AR sensory stimulus events that can be time-delayed. For example, the AR sensory stimulus event determiner 620 may identify abrupt changes of sensory stimulus present in the AR presentation such as, for example, an abrupt change in volume (which may be indicative of an explosion or the like), an abrupt scene change (which may be indicative of an important event), and/or the like. Furthermore, in those AR presentations including visual data, the AR sensory stimulus event determiner 620 may utilize various image recognition algorithms to identify known visual stimulus that can be time delayed included in the AR presentation.
[0047] After the AR sensory stimulus event determiner 620 has identified the AR sensory stimulus events of the AR presentation that can be time-delayed, the AR sensory stimulus event time delay determiner 622 determines an associated time delay for each identified time-delayed AR sensory stimulus event. To do so, in some embodiments, the AR sensory stimulus event time delay determiner 622 may determine a value of a time delay based on the location of each user AR system 104 (i.e., the location of each user 106) within the presentation site 108 as determined by the user location mapper 604. As discussed above, the location of each user AR system 104 may be an absolute position (e.g., GPS coordinates) or relative to each other or another fixed location (e.g., relative to a location at which an AR sensory stimulus event is to occur). For example, in some embodiments, the AR sensory stimulus event time delay determiner 622 may apply a time delay that is increased based on the distance of the respective user AR system 104 to a reference location within the presentation site 108. In other embodiments, the AR sensory stimulus event time delay determiner 622 may logically divide the presentation site 108 into various zones (e.g., relative to a reference location) and apply time delays on a zone-by-zone basis (i.e., all user AR systems 104 within the same zone are assigned the same time delay), rather than on a per-user AR system 104 basis (i.e., based only on the location of each user AR system 104).
[0048] The particular values of the time delay may depend on various factors such as, for example, the type of AR sensory stimulus event to be time delayed, the size of the presentation site 108, the number of participating user AR systems 104, laws of physics for a particular AR sensory stimulus, and/or other criteria. Additionally, the particular time delay value may be determined relative to the synchronized master network clock 450 or may be determined relative to the network clock 550 of the corresponding user AR system 104 as discussed in more detail below.
[0049] After the AR sensory stimulus event time delay determiner 622 has determined the time delays for each identified AR sensory stimulus event and each user AR system 104, the AR presentation manager 608 is configured to present the time-delayed AR presentation to the participating users located within the presentation site 108. That is, the AR presentation manager 608 presents the identified sensory stimulus events of the time-delayed AR presentation to the users of the user AR systems 104 in a time-delayed manner. To do so, in the illustrative embodiment, the AR presentation manager 608 appends, incorporates, or otherwise associates a timing parameter with each AR sensory stimulus event to be time delayed. The timing parameter is indicative of the corresponding timing delay determined for the particular time-delayed AR sensory stimulus event and for the particular user AR system 104, and is usable by the corresponding user AR system 104 to determine when (i.e., at what time) to present the time-delayed AR sensory stimulus event to the user. As discussed above, the timing parameter may be relative to the master network clock 450 or the network clock 550 of the corresponding user AR system 104. The AR presentation manager 608 may subsequently transmit the time-delayed AR sensory stimulus event with the associated timing parameter to the corresponding user AR system 104. Because the time-delayed AR sensory stimulus event includes the timing parameter, the AR presentation manager 608 may transmit the time delayed AR sensory stimulus event prior to its presentation by each user AR system (e.g., during a presentation initialization period). For example, in some embodiments, the AR presentation manager 608 transmits the time-delayed AR sensory stimulus events, with the timing parameters, as part of the overall AR presentation sent to each user AR system 104.
[0050] In other embodiments, the AR presentation manager 608 may transmit the time-delayed AR sensory stimulus event in real time. In such embodiments, a timing parameter is not associated with each time-delayed AR sensory stimulus event. Rather, the AR presentation manager 608 transmits the AR sensory stimulus event at a transmission time that is based on the delay time determined for that particular AR sensory stimulus event and the particular user AR system 104 receiving the time-delayed AR sensory stimulus event. In such embodiments, the user AR system 104 may immediately or responsively present the corresponding AR sensory stimulus event to produce a relative time-delayed AR sensory stimulus event (i.e., relative to other user AR systems 104).
[0051] The user reaction manager 610 is configured to obtain reaction data indicative of a reaction of the users to one or more time-delayed stimulus events and update the AR presentation (e.g., a time-delayed stimulus event) based on such reaction data. To do so, the user reaction manager 610 includes a user reaction aggregator 630 and an AR presentation updater 632. The user reaction aggregator 630 is configured to obtain user reaction data indicative of a reaction of each user of an user AR system 104 to a time-delayed AR sensory stimulus event. To do so, in some embodiments, the user reaction aggregator 630 may receive the user reaction data from each participating user AR system 104. For example, each user AR system 104 may be configured to transmit user reaction data in response to the presentation of a time-delayed sensory stimulus event on the corresponding user AR system 104. In other embodiments, the AR server 102 may transmit a query to each user AR system 104 requesting the user reaction data. Additionally, in embodiments in which the system 100 incudes the local sensor 302 in the presentation site 108, the user reaction aggregator 630 may receive user reaction data from the local sensors 302. As discussed above, the user reaction data may be embodied as any type of data indicative of a user’s reaction to the time-delayed AR sensory stimulus event such as, for example, visual reaction data, audible reaction data, tactile reaction data, conductance reaction data, force reaction data, movement reaction data, and/or other types of reaction data.
[0052] In some embodiments, the user reaction aggregator 630 is configured to aggregate the various user reaction data received from the user AR systems 104 and/or the local sensors 302. For example, the user reaction aggregator 630 may analyze the aggregate user reaction data to infer or otherwise determine a reaction of each user (e.g., was the particular user surprised, upset, scared, etc.). To do so, the user reaction aggregator 630 may utilize any suitable analysis algorithm or methodology depending on, for example, the type of reaction data (e.g., an image analysis algorithm may be used to interpret visual reaction data).
[0053] The AR presentation updater 632 is configured to update the AR presentation based on the aggregated user reaction data. To do so, in the illustrative embodiment, the AR presentation updater 632 may adjust or update the time delay associated with the particular AR sensory stimulus event. For example, the AR presentation updater 632 may increase or decrease the timing delay for the AR sensory stimulus event associated with a particular user AR system 104.
[0054] The AR server 102 may also maintain an AR content database 650, which may be embodied as any type of database, storage location, or other collection of AR presentations. The AR content database 650 may store AR presentations that have yet to be analyzed for AR sensory stimulus events that can be delayed, as well as AR presentations that have been successfully analyzed and updated. For example, after the AR presentation manager 608 identifies one or more AR sensory stimulus events of an AR presentation and associates a timing delay (e.g., a timing parameter) with each AR sensory stimulus event, the time-delayed AR presentation may be subsequently stored in the AR content database 650. Additionally or alternatively, in some embodiments, individual time-delayed AR sensory stimulus events may be stored in the AR content database with or without an associated AR presentation.
[0055] Referring now to FIG. 7, in illustrative embodiment, each user AR system 104 may establish an environment 700 during operation. The illustrative environment 700 includes a communicator 702, a network clock manager 704, a user location reporter 706, an AR presentation presenter 708 and a user reaction monitor 710. Each of the components of the environment 700 may be embodied as hardware, firmware, software, or a combination thereof. As such, in some embodiments, one or more of the components of the environment 700 may be embodied as circuitry or a collection of electrical devices (e.g., communication circuitry 702, a network clock manager circuit 704, a user location reporter circuit 706, an AR presentation presenter circuit 708, and a user reaction monitor circuit 710). It should be appreciated that, in such embodiments, one or more of the communication circuitry 702, the network clock manager circuit 704, the user location reporter circuit 706, the AR presentation presenter circuit 708, and the user reaction monitor 710 may form a portion of one or more of the compute engine 500, the I/O subsystem 506, and/or other components of the user AR system 104.
[0056] The communicator 702 is configured to manage communications between the user AR system 104 and the AR server 102. For example, as discussed below, the communicator 702 may control the communication subsystem 560 to receive AR presentations including time-delayed AR sensory stimulus events from the AR server 102 and transmit user reaction data to the AR server 102 over the network 300. To do so, the communicator 702 may utilize any one or more communication technologies (e.g., wireless or wired communications) and associated protocols (e.g., Ethernet, Bluetooth.RTM., Wi-Fi.RTM., WiMAX, LTE, 5G, etc.) to effect such communication.
[0057] The network clock manager 704 is configured to synchronize the local network clock 550 with the master network clock 450 of the AR server. To do so, as discussed above, the user AR system 104 may receive clock information from the AR server 102 that is indicative of a timing of the master network clock 450 or is otherwise usable by the network clock manager 704 to synchronize the local network clock 550 with the master network clock 450. Alternatively, in other embodiments, the network clock manager 704 may initially transmit clock information indicative of the timing of the local network clock 550 of the AR server 102, which may be used by the AR server 102 to determine a timing offset for the particular user AR system 104 when generating timing delay information.
[0058] The user location reporter 706 is configured to respond to location queries received from the AR server 102. In response, the user location reporter 706 is configured to transmit location data indicative of the present location of the user AR system 104 within the presentation site. To do so, the user location reporter 706 may determine the location of the user AR system 104 based on the sensor data produced by the location determination sensors 530. As discussed above, the location data may be an absolute location value, such as a GPS location, or a relative location value such as location data indicative of the location of the user AR system 104 relative to known position or device within the presentation site (e.g., relative to a communication node or WiFi hotspot.)
[0059] The AR presentation presenter 708 is configured to receive an AR presentation from the AR server 102 and present the AR presentation to a user of the user AR system 104. To do so, the AR presentation presenter 708 includes a time-delayed AR sensory stimulus event manager 720, which is configured to manage the presentation of the time-delayed sensory stimulus events included in or associated with an AR presentation. That is, the time-delayed AR sensory stimulus event manager 720 is configured to present the time-delayed sensory stimulus events to a user of the user AR system 104 in a time-delayed manner. For example, in embodiments wherein each time-delayed AR sensory stimulus event includes a timing parameter associated therewith, the time-delayed AR sensory stimulus event manager 720 may present the associated time-delayed AR sensory stimulus event based on the timing parameter. That is, the timing parameter defines the time at which to present the associated AR sensory stimulus event relative the network clock 550 of the user AR system 104, which may or may not have been synchronized with the master network clock 450. In other embodiments, as discussed above, the AR server 102 may transmit the AR sensory stimulus events at the delayed time at which it is to be presented by the user AR system 104. In such embodiments, the AR presentation presenter 708 is configured to present the AR sensory stimulus event upon receipt, which has been artificially delayed by the AR server 102 as discussed above.
[0060] The user reaction monitor 710 is configured to determine the user’s reaction to a time-delayed AR sensory stimulus event and transmit user reaction data indicative of such reaction to the AR server 102. To do so, the user reaction monitor 710 may monitor sensor data produced by any one or more of the input sensors 510, aggregate the sensor data, and transmit the captured sensor data to the AR server 102. The user reaction monitor 710 may be configured to transmit the user reaction data in response to presenting the time-delayed AR sensory stimulus event or in response to a query received from the AR server 102. As discussed above, the user reaction data may be embodied as any type of data indicative of a user’s reaction to the time-delayed AR sensory stimulus event including, but not limited to, visual reaction data, audible reaction data, tactile reaction data, conductance reaction data, force reaction data, and/or movement reaction data.
[0061] Each user AR system 104 may maintain local AR content 750, which may be embodied as AR presentations and/or time-delayed AR sensory stimulus events received from the AR server 102. For example, in embodiments in which the time-delayed AR sensory stimulus events include a timing parameter associated therewith, the AR server 102 may transmit the AR presentation and/or time-delayed AR sensory stimulus events some time prior to the time of presentation of the time-delayed AR sensory stimulus events. In such embodiments, the user AR system 104 may store the time-delayed AR sensory stimulus events as local AR content 750 until the time-delayed AR sensory stimulus events is to be presented based on, for example, the associated timing parameter.
……
……
……