Shared augmented reality games in a shared coordinate space
By creating a shared coordinate space in augmented reality games and aligning the relative coordinate space of the device using spatial alignment images and AR game identifiers, the problem of inconsistent image positioning in augmented reality applications is solved, achieving a high-quality AR experience.
Patent Information
- Application Number
- CN202080036555.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-16
- Filing Date
- 2020-04-12
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2040-04-12
AI Technical Summary
In augmented reality applications where multiple participants share the same physical environment, inconsistent positioning of computer-generated images relative to real-world images leads to a downgrade of the AR experience.
By creating a shared coordinate space between multiple user gaming devices, aligning the relative coordinate space of the device using spatial alignment images and AR game identifiers, achieving consistent image positioning in augmented reality games.
It realizes consistency and immersion of augmented reality gaming experience in the shared coordinate space, reduces the consumption of computing resources and bandwidth, and improves the quality of the AR experience.
Smart Images

Figure CN113840637B_ABST
Abstract
Description
[0001] background
[0002] Augmented reality (AR) systems (such as video games) display real-world images overlaid with virtual experiences (e.g., interactive three-dimensional object(s)). Thus, AR systems enable participants to view real-world images in conjunction with contextually relevant computer-generated images. Images from the real world and computer-generated images are combined and presented to the user so that they appear to share the same physical space. In AR applications where multiple participants share the same physical environment, inconsistent positioning of computer-generated images relative to real-world images can cause significant interference, which degrades the AR experience.
[0003] Overview
[0004] A system for sharing an augmented reality game within a shared coordinate space is described herein, comprising: a computer including a processor and a memory having computer executable instructions stored thereon, which, when executed by the processor, cause the computer to: create a shared coordinate space in an augmented reality game between multiple user gaming devices; use the created shared coordinate space to provide a first mode of the augmented reality game to multiple users associated with the multiple user gaming devices, wherein in the first mode, at least some of the multiple users engage in game play actions that produce results according to pre-established game rules; and use the created shared coordinate space to provide a second mode of the augmented reality game to multiple users associated with the multiple user gaming devices, wherein in the second mode, at least some of the multiple users engage in non-destructive game play actions that do not produce results once the second mode has terminated.
[0005] Further described herein is a method for using geographic location information within an augmented reality game, comprising: joining a plurality of user game devices to an augmented reality game; determining, at a first user game device of the plurality of user game devices, that at least one other user game device of the plurality of user game devices has a physical location within a threshold physical distance of a physical location of the first user game device; and initiating, at the first user game device, a virtual action that causes a corresponding virtual action to be displayed on a map of a virtual environment that is at least partially parallel to a physical environment, the map being displayed on a second user game device.
[0006] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 is a functional block diagram illustrating a system for sharing augmented reality games in a shared coordinate space.
[0008] Figure 2 is a functional block diagram illustrating a system for creating a shared coordinate space in an augmented reality game between at least two devices having disjoint relative coordinate spaces.
[0009] Figure 3 and 4 is an exemplary user interface.
[0010] Figure 5 is a functional block diagram illustrating a system for using geolocation information within an AR session.
[0011] Figure 6 is an exemplary user interface.
[0012] Figure 7 is a flow chart illustrating a method for sharing an augmented reality game within a shared coordinate space.
[0013] Figure 8 is a flow chart illustrating a method for using geolocation information within an AR session.
[0014] Fig. 9 is a flow chart illustrating a method performed by a first user gaming device to create a shared coordinate space in an augmented reality game between at least two devices having disjoint relative coordinate spaces.
[0015] Fig.10 is a flow chart illustrating a method, performed by a second user gaming device, of creating a shared coordinate space in an augmented reality game between at least two devices having disjoint relative coordinate spaces.
[0016] Fig.11 and 12 is a flow chart illustrating a method of creating a shared coordinate space in an augmented reality game between at least two devices having disjoint relative coordinate spaces.
[0017] Fig.13 is a functional block diagram illustrating an exemplary computing system. DETAILED DESCRIPTION
[0018] Various technologies related to shared augmented reality games in a shared coordinate space are now described with reference to the accompanying drawings, wherein the same reference numerals are used throughout the accompanying drawings to refer to the same elements. In the following description, for the sake of explanation, numerous specific details are set forth to provide a comprehensive understanding of one or more aspects. However, it is apparent that these (these) aspects can be implemented without these specific details. In other examples, well-known structures and devices are shown in block diagram form to facilitate description of one or more aspects. In addition, it is to be understood that the functionality described as being performed by a particular system component may be performed by multiple components. Similarly, for example, a component may be configured to perform functions described as being implemented by multiple components.
[0019] The present disclosure supports various products and processes that perform or are configured to perform various actions with respect to a shared augmented reality game within a shared coordinate space. The following are one or more exemplary systems and methods.
[0020] Aspects of the present disclosure relate to the technical problem of sharing augmented reality games in a shared coordinate space. The technical features associated with solving this problem involve using displayed spatial alignment images and AR game identifiers to create a shared coordinate space in an augmented reality game between multiple user game devices that each initially has a non-intersecting relative coordinate space; using the created shared coordinate space to provide a first mode of the augmented reality game to multiple users associated with the multiple user game devices, wherein in the first mode, at least some of the multiple users participate in game play actions that produce results according to pre-established game rules; and using the created shared coordinate space to provide a second mode of the augmented reality game to multiple users associated with the multiple user game devices, wherein in the second mode, at least some of the multiple users participate in non-destructive game play actions that do not produce results once the second mode has terminated. Therefore, various aspects of these technical features show a more efficient and effective technical effect of sharing augmented reality games in a shared coordinate space to save computing resources and / or bandwidth.
[0021] Furthermore, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless specified otherwise or clear from the context, the phrase "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, the phrase "X employs A or B" is satisfied by any of the following instances: X employs A; X employs B; or X employs both A and B. In addition, the articles "a", "an", and "an" as used in this application and the appended claims should generally be construed to mean "one or more" unless stated otherwise or clear from the context to be directed to the singular form.
[0022] As used herein, the terms "component" and "system" and their various forms (e.g., component, system, subsystem, etc.) are intended to refer to a computer-related entity, which can be hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to: a process running on a processor, a processor, an object, an instance, an executable code, a thread of execution, a program, and / or a computer. As an illustration, both an application running on a computer and a computer can be a component. One or more components can reside within a process and / or a thread of execution, and a component can be located on one computer and / or distributed between two or more computers. In addition, as used herein, the term "exemplary" is intended to mean an illustration or example of something and is not intended to indicate a preference.
[0023] "User gaming device" refers to a mobile personal computing device, including, for example, a mobile phone, laptop, tablet, phablet, personal digital assistant ("PDA"), e-reader, wearable computer, head mounted display (HMD), or any other mobile computing device having components for displaying (e.g., playing) and / or interacting with an augmented reality game. "Real objects" are objects that exist in the environment surrounding an AR participant. "Virtual objects" are computer-generated constructs that do not exist in the physical environment surrounding a participant but can be experienced (e.g., seen, heard, etc.) via AR technology.
[0024] An AR system (such as a video game) displays a real-world image overlaid with a virtual experience (e.g., interactive three-dimensional object(s)). Thus, the AR system enables participants to view real-world images in conjunction with contextually relevant computer-generated images. Aligning user gaming devices to enable a shared AR experience can be a complex problem, which often results in inconsistent positioning of computer-generated images relative to real-world images. For example, a shared coordinate space in an augmented reality session between two devices with disjoint relative coordinate spaces may be created, as disclosed in co-pending U.S. patent application Ser. No. 16 / 277,591, filed on Feb. 15, 2019, and entitled “Aligning Location for a Shared Augmented Reality Experience,” which is incorporated herein by reference.
[0025] A system and method for experiencing an AR experience (e.g., an AR video game) with a shared coordinate space is described herein. In a first mode ("game play mode"), once two or more users have created a shared coordinate space in an AR game, the users participate in an AR video game, where actions (all) produce results (all) according to pre-established game rules (all). In a second mode ("sandbox mode"), within the shared coordinate space of the AR game, two or more users participate in a non-destructive session of the AR game, where actions (all) produce only temporary or limited results (all) according to at least some of the pre-established game rules (all). However, because the second mode is non-destructive, the results (all) are reset upon expiration of the second mode and / or in response to a game reset action.
[0026] refer to Figure 1 , explains a system for sharing an augmented reality game within a shared coordinate space 100. The system 100 can initially create a shared coordinate space in an AR game between two or more user gaming devices. Once the shared coordinate space in the AR game has been created, during a first mode ("game play mode"), a user uses a user gaming device in the AR game to participate in an AR video game, where (actions) produce (results) according to (pre-established) game rules. In a second mode ("sandbox mode"), within the shared coordinate space of the AR game, two or more users participate in a non-destructive session of an AR video game, where (actions) produce only (temporary) or limited results according to at least some of (pre-established) game rules. However, since the second mode is non-destructive, the results (can be reset) upon exiting the second mode and / or in response to a game reset action.
[0027] Align positions for shared augmented reality experiences
[0028] The system 100 includes a shared coordinate space creation component 110 that creates a shared coordinate space in an augmented reality game between at least two devices having disjoint relative coordinate spaces. Initially, the two devices synchronize their clocks (e.g., with each other and / or with a network time server) and start AR tracking separately. When AR tracking is initiated, each device establishes its own relative coordinate space.
[0029] During an AR session (e.g., an AR game), the first device displays a spatial alignment image visible to the second device and, optionally, an AR game identifier of the AR game. While displaying the spatial alignment image, the first device tracks its position (e.g., six degrees of positioning) at different time intervals using timestamps. The second device recognizes the spatial alignment image and records its position (e.g., six degrees of positioning) and timestamp (e.g., a timestamp consistent with the position when the spatial alignment was recognized) when the spatial alignment image was recognized. "Six degrees of positioning" (also called "six degrees of freedom") refers to the freedom of movement of an object in three-dimensional space along three orthogonal spatial axes (e.g., x, y, and z) and the freedom of orientation change of an object around three orthogonal rotation axes (e.g., yaw, pitch, and roll).
[0030] Thereafter, the second device sends a request for information to the first device along with a timestamp when the second device identified the spatially aligned images. In response to the request, the first device sends the second device the location of the first device at or near the timestamp when the second device identified the spatially aligned images (e.g., six-degree positioning) and the spatial origin of the first device.
[0031] Using the received position of the first device and the spatial origin, the second device can calculate the offset between the second device and the first device, thereby establishing a shared coordinate space between the first device and the second device. The second device can then display the virtual image(s) of the AR game being displayed by the first device in the shared coordinate space. In some embodiments, the shared coordinate space can be corrected to within millimeter accuracy, that is, the second device can align its coordinate space with the coordinate space of the first device within an accuracy of approximately one millimeter.
[0032] refer to Figure 2 , illustrates a system 200 for creating a shared coordinate space in an augmented reality session (e.g., an AR game) between at least two devices (having disjoint relative coordinate spaces). The system 200 can facilitate a first user game device 210 to share an AR game originally hosted on the first user game device 210 with one or more second user game devices 220. The first user game device 210 and the second user game device 220 are coupled to each other, for example, using a high-speed wireless network connection. In some embodiments, the shared coordinate space creation component 110 includes a portion of the components of the system 200. In some embodiments, the shared coordinate space creation component 110 includes all of the components of the system 200.
[0033] In some embodiments, system 200 can overcome the constraints of some conventional shared AR game systems that utilize stationary reference objects to spatially anchor user game devices in shared AR games. By utilizing stationary reference objects, the mobility of AR game users is severely limited. For example, a user cannot roam around a park at will and decide to participate in a shared AR game. In addition, many conventional shared AR systems lack the ability to accurately locate user game devices in space, resulting in inconsistent positioning of computer-generated images relative to real-world images and less enjoyable shared AR games.
[0034] The first user game device 210 includes a shared AR game invitation component 230 that provides information about a particular AR game and the coordinate space of the first user game device 210 to the second user game device 220. The second user game device 220 includes a join shared AR game component 240 that coordinates communications with the first user game device 210 to create a shared coordinate space with the first user game device 210, for example, by aligning the coordinate space of the second user game device 220 with the coordinate space of the first user game device 210.
[0035] In order to share the AR game, the clocks of the first user game device 210 and the second user game device 220 may be synchronized. In some embodiments, the clocks of the first user game device 210 and the second user game device 220 are synchronized with each other. In some embodiments, the clocks of the first user game device 210 and the second user game device 220 are synchronized with the AR system 250 (e.g., a local AR system and / or a cloud-based AR system). In some embodiments, the clocks of the first user game device 210 and the second user game device 220 are synchronized with a network time server (not shown).
[0036] The first user game device 210 and the second user game device 220 start AR tracking (e.g., identify feature points) separately so that each user game device 210, 220 has its own relative coordinate space. For example, the first user game device 210 has its own spatial origin (e.g., 0,0,0 of a three-dimensional Cartesian coordinate system) and the second user game device 220 has its own spatial origin (e.g., 0,0,0 of another three-dimensional Cartesian coordinate system). In some embodiments, the coordinates are expressed as Cartesian coordinates (X, Y, Z). In some embodiments, the coordinates are expressed as global coordinates (latitude, longitude, altitude).
[0037] The user of the first user gaming device 210 may place virtual object(s) and / or virtual encounter(s) within the AR game. Thereafter, the user of the first user gaming device 210 may initiate sharing of the AR game with the user of the second user gaming device 220. The first user gaming device 210 and the second user gaming device 220 may share information about the respective users (e.g., player identifiers) directly and / or through the AR system 250.
[0038] The shared AR game invitation component 230 may display a spatially aligned image on the first user gaming device 210 that is visible to the second user gaming device 220. The user of the first user gaming device 210 may further provide an AR game identifier to the user of the second user gaming device 220 to identify the particular AR game. In some embodiments, the AR game identifier may be a globally unique identifier (e.g., a GUID). In some embodiments, the AR game identifier may be a multi-dimensional barcode (e.g., a Quick Response or "QR" code, an Aztec code, a Data Matrix code, a Data Glyph, a MaxiCode, a PDF417 code, an Ultra Code, a UCC RSS-2D barcode, and / or other optical codes) displayed by the shared AR game invitation component 230 on the first user gaming device 210 and visible to the second user gaming device 220. In some embodiments, the AR game identifier may be electronically communicated from the first user gaming device 210 to the second user gaming device 220, for example based on explicit user input (e.g., a share AR game identifier command) and / or received electronically based on the display of a spatially aligned image of the first user gaming device 210 and the second user gaming device 220 on the first user gaming device 210.
[0039] Briefly turn to Figure 3 , illustrates an exemplary user interface 300 displayed on a first user gaming device 210. The user interface 300 includes a spatial alignment image 310 that allows a second user gaming device 220 to determine its position relative to the first user gaming device 210. In some embodiments, the spatial alignment image 310 is displayed at a predetermined size and with a plurality of features (e.g., a predefined specific grouping of pixels of a predefined color and / or predefined intensity) that allow the second user gaming device 220 to determine its position / location (e.g., six degrees of location) relative to the first user gaming device 210. The user interface 300 further includes a multi-dimensional barcode 320 (e.g., an identifier) that uniquely identifies a particular AR game.
[0040] Reference Figure 2When displaying the spatially aligned image, the shared AR game invitation component 230 tracks (e.g., stores) location information about the first user game device 210 (e.g., information about the six-degree positioning of the first user game device) at various time intervals using a timestamp (e.g., associated with each location of the first user game device 210).
[0041] In some embodiments, the second user gaming device 220 may infer a desire for the user to initiate joining the AR game. For example, based at least in part on the proximity of the second user gaming device 220 to the first user gaming device 210, the join shared AR game component 240 may infer a desire for the user to initiate joining the AR game.
[0042] In some embodiments, the user of the second user gaming device 220 may explicitly initiate joining the AR game. Figure 4 , the exemplary user interface 400 includes a “Join a friend's AR session” control 410 , selection of which causes the join shared AR game component 240 to initiate joining the AR game.
[0043] Reference Figure 2 , the joining shared AR game component 240 of the second user game device 220 can utilize the displayed spatial alignment image (e.g., using one or more cameras (not shown) of the second user game device 220) to spatially link the second user game device 220 to the first user game device 210. The joining shared AR game component 240 can record the position information (e.g., six-degree positioning) and timestamp (e.g., the position and timestamp when the spatial alignment image is recognized) of the second user game device 220 when it is spatially linked to the first user game device 210.
[0044] Thereafter, the second user game device 220 sends a request for information to the first user game device 210 along with a timestamp when the spatial linking by the second user game device 220 occurred. In response to the request, the first user game device 210 sends to the second user game device 220 the location (e.g., six degrees of positioning) of the first user game device 210 at or near the timestamp when the second user game device 220 was spatially linked to the first user game device 210, as well as the spatial origin of the first user game device.
[0045] Using the received position and spatial origin of the first user game device 220, along with the spatial origin of the second user game device 220 and the recorded position of the second user game device 220 when the second user game device 220 was spatially linked to the first user game device 210, the join shared AR game component 240 can calculate the offset between the second user game device 220 and the first user game device 210. The join shared AR game component 240 can use the calculated offset to establish a shared coordinate space between the first user game device 210 and the second user game device 220 by aligning the coordinate space of the second user game device 220 with the coordinate space of the first user game device 210.
[0046] The second user game device 220 and the first user game device 210 can then display and / or interact with the virtual image(s) of the AR game in the shared coordinate space. Once the shared coordinate space has been established, each user game device 210, 220 provides the current position and interaction information to the other device(s) and / or the AR system 250.
[0047] The system 200 can thus allow two or more user gaming devices to align their respective views of the same virtual object so that the virtual object has the same orientation regardless of the viewing angle (e.g., viewed from either of the two or more user gaming devices). In some embodiments, the system 200 can be used to subsequently share an AR game with multiple other user gaming devices, where each of the multiple other user gaming devices aligns its respective coordinate space with the coordinate space of the first user gaming device 210.
[0048] In some embodiments, the system 200 may be used as part of a multi-player AR gaming experience. For example, the AR gaming experience may allow a first user to begin building a virtual object or scene that includes multiple virtual objects using virtual building blocks. The first user may use the system 200 to share the AR gaming experience with one or more other users by providing an AR gaming identifier and displaying spatially aligned images visible to the user gaming devices of one or more other users (e.g., simultaneously visible and / or sequentially visible). In this way, multiple users can simultaneously participate in building the same virtual object or scene so that all users see the same virtual object or scene in the same orientation, thereby achieving an accurate and immersive multi-player AR gaming experience.
[0049] In some embodiments, the system 200 can be used to "anchor" virtual objects in highly variable environments, such as a home desktop. That is, the system 200 can coordinate the spatial alignment lock of the device regardless of the characteristics of the physical environment.
[0050] In some embodiments, both the first user gaming device 210 and the second user gaming device 220 each include a shared AR game invitation component 230 and a join shared AR game component 240. In this way, each device has the ability to initiate an invitation to join a shared AR game and to join a shared AR game.
[0051] For purposes of explanation and not limitation, the system 200 has been discussed with reference to a spatial alignment image used by the join shared AR game component 240 of the second user gaming device 220 to determine the spatial position of the second user gaming device 220 relative to the first user gaming device 210. In some embodiments, spatial sound may be utilized in place of the spatial alignment image to facilitate the join shared AR game component 240 to determine the spatial position of the second user gaming device 220 relative to the first user gaming device 210.
[0052] Game Mode
[0053] Reference Figure 1 , the system 100 further includes an augmented reality game mode component 120, which provides a first mode ("game mode") of an augmented reality game, in which at least some of the multiple users participate in game play operations that produce results according to pre-established game rules.
[0054] In some embodiments, once the shared coordinate space in the AR game has been established, the user can experience one of two modes during the AR game. During the first mode ("game play mode"), the user uses the user's gaming device in the AR game to participate in the AR video game, where action(s) produce results(s) according to pre-established game rules(s).
[0055] For example, an AR game may include an open AR virtual game where (users) virtually place (blocks) and go on an adventure. Users can decide for themselves what they want to do. During the game mode, users can participate in a creative mode game where players can be given unlimited resources to build anything they choose. During the game mode, users can further participate in a survival mode where players explore the world and mine its resources to feed, house and / or defend themselves.
[0056] Sandbox Mode
[0057] The system 100 also includes an augmented reality sandbox mode component 130 that provides a second mode of the augmented reality game in which at least some of the multiple users engage in non-destructive game play actions that have no consequences once the second mode has terminated (e.g., session-based, rather than permanent).
[0058] In the second mode ("sandbox mode" or "editing mode"), two or more users participate in a non-destructive session of an AR game within a shared coordinate space of the AR game, where actions produce only temporary or limited results according to at least some of the pre-established game rules. However, because the second mode is non-destructive, at least some of the results may be reset upon exit of the second mode and / or in response to a game reset action.
[0059] In some embodiments, the AR game may include an open AR virtual game in which the user(s) virtually place the block(s) and go on an adventure. In a sandbox mode, the user may experience the AR game in full (e.g., according to the game rules(s)) or in a limited manner (e.g., based on the predefined sandbox rules(s)).
[0060] In some embodiments, a user can selectively switch between game mode and sandbox mode.
[0061] Share location information
[0062] Steering Figure 5 , illustrates a system 500 for using geographic location information within an AR session. The system 500 includes a plurality of user gaming devices 510 coupled to an augmented reality gaming system 520 via a network 530 (such as the Internet). Each of the user gaming devices 510 has an associated physical location. In some embodiments, the augmented reality gaming system 520 can utilize the latitude and longitude provided by the GPS of the user gaming device 510.
[0063] The augmented reality game system 520 can join multiple user game devices 510 to an augmented reality game, session, and / or experience. Using information about the physical locations of the multiple user game devices 510, the augmented reality game system 520 can determine, with respect to a first user game device 510, that a second user game device 510 has a physical location within a threshold physical distance (e.g., 10 feet, 100 feet, 1 mile) of the physical location of the first user game device 510.
[0064] A user of first user gaming device 510 may initiate a virtual action that causes a corresponding virtual action to be displayed on a map of a virtual environment displayed via second user gaming device 510 that is parallel to at least a portion of the physical environment.
[0065] In some embodiments, the virtual action includes an animation of an icon or other position indicator indicating the physical relative location of the first user gaming device 510. For example, the icon may be a moving or waving icon to indicate the location of the first user gaming device 510 and the willingness of the user of the first user gaming device 510 to participate in a shared augmented reality gaming session. In this way, the system 500 may facilitate a map-based collaborative experience.
[0066] In some embodiments, the virtual action includes an animated geo-location map indicator visible to other users (e.g., public participants) via the user gaming device 510. For example, instantiating an animation including fireworks on a map of the virtual environment is a visual effect visible to other users based on the determined distance.
[0067] In some embodiments, shared geolocation augmentations with social effect(s) may be facilitated within game play of augmented reality gaming system 520 such that the effect(s) of a particular augmentation is only available to users of user gaming devices 510 within a threshold distance (e.g., within a particular radius). In some embodiments, these shared geolocation augmentations may be applied over time and gain additional benefits as more users participate in the game play.
[0068] Brief reference Figure 6 , illustrates an exemplary user interface 600. User interface 600 displays a map of a virtual environment that is at least partially parallel to a physical environment as displayed by a second user gaming device. User interface 600 includes a location indicator associated with second user gaming device 610 (e.g., the user's own location) and a location indicator associated with first user gaming device 620 (e.g., the first user's location).
[0069] In response to an action initiated by the first user on the first user gaming device 510, a virtual action may be displayed via the user interface 600. For example, a location indication associated with the first user game 620 may become animated or otherwise provide a geographic location-based signal to the second user via the user interface 600.
[0070] The user interface 600 also includes virtual items 630 (eg, virtual fireworks) that are placed or animated based on actions initiated by the first user on the first user gaming device 510 .
[0071] Figure 7 An exemplary method for sharing an augmented reality game within a shared coordinate space is illustrated. Figure 8 An exemplary method of using geographic location information within an AR session is illustrated. Figure 9-12Exemplary methods related to creating a shared coordinate space in an augmented reality session between at least two devices having disjoint relative coordinate spaces are explained. Although the methods are represented and described as a series of actions performed sequentially, it is to be understood that the methods are not limited by the order of the sequence. For example, some actions can occur in a different order than described herein. In addition, an action can occur concurrently with another action. Moreover, in some instances, not all actions are required to implement the methods described herein.
[0072] In addition, the actions described herein may be computer-executable instructions that can be implemented by one or more processors and / or stored on one or more computer-readable media. Computer-executable instructions may include routines, subroutines, programs, threads of execution, etc. In addition, the results of the actions of these methods may be stored in computer-readable media, displayed on a display device, etc.
[0073] refer to Figure 7 , illustrates a method 700 of sharing an augmented reality game (eg, an AR video game) within a shared coordinate space 700. In some embodiments, the method 700 is performed by the system 100.
[0074] At 710, a shared coordinate space in an augmented reality game between multiple user game devices is created. At 720, a first mode of the augmented reality game is provided to multiple users associated with the multiple user game devices using the created shared coordinate space. In the first mode, at least some of the multiple users participate in game play actions that produce results according to pre-established game rules. At 730, a second mode of the augmented reality game is provided to multiple users associated with the multiple user game devices using the created shared coordinate space. In the second mode, at least some of the multiple users participate in non-destructive game play actions that do not produce results once the second mode has terminated (e.g., session-based, not permanent). In some embodiments, a user can selectively switch between a first mode ("game mode") and a second mode ("sandbox mode").
[0075] Steering Figure 8 , illustrates a method for using geographic location information within an AR session. In some embodiments, method 800 is performed by system 500.
[0076] At 810, a plurality of user gaming devices join an augmented reality game. At 820, at a first user gaming device of the plurality of user gaming devices, it is determined that at least one other user gaming device of the plurality of user gaming devices has a physical location within a threshold physical distance of a physical location of the first user gaming device.
[0077] At 830, at the first user gaming device, a virtual action is initiated that causes a corresponding virtual action to be displayed on a map of a virtual environment that is parallel to at least a portion of the physical environment. The map is displayed on a second user gaming device. At 840, at the second user device, the corresponding virtual action is displayed on the map of the virtual environment.
[0078] Steering Fig. 9 , illustrates a method 900 of creating a shared coordinate space in an augmented reality game between at least two devices having disjoint relative coordinate spaces. In some embodiments, the method 900 is performed by a first user gaming device 210.
[0079] At 910, augmented reality tracking is performed to establish a relative coordinate space of a first user gaming device. At 920, the first user gaming device displays a spatially aligned image. At 930, an identifier of the augmented reality game is provided. At 940, position information about the first user gaming device and an associated timestamp for at least a portion of the time that the spatially aligned image is displayed is stored.
[0080] At 950, a request for information is received from a second user gaming device, the request including a timestamp. At 960, in response to the request, location information about the first user gaming device at or near the timestamp and the spatial origin of the first user gaming device are provided.
[0081] refer to Fig.10 , illustrates a method 1000 of creating a shared coordinate space in an augmented reality game between at least two devices having disjoint relative coordinate spaces. In some embodiments, the method 1000 is performed by a second user gaming device 220.
[0082] At 1010, augmented reality tracking is performed to establish a relative coordinate space of the second user gaming device. At 1020, a spatially aligned image displayed on the first user gaming device is identified and an identifier of the augmented reality game is received.
[0083] At 1030, the position of the second user gaming device within the coordinate space of the second user gaming device associated with the identification of the spatially aligned image and a timestamp associated with the clock of the second user gaming device are recorded.
[0084] At 1040, a request for information is sent to the first user gaming device, the request including the timestamp. At 1050, in response to the request, information is received from the first user gaming device including a position of the first user gaming device in the relative coordinate space of the first user gaming device at or near the timestamp and a spatial origin of the first user gaming device.
[0085] At 1060, an offset between the coordinate space of the second user gaming device and the coordinate space of the first user gaming device is calculated based at least in part on the received information (e.g., the position of the first user gaming device at or near the timestamp within the relative coordinate space of the first user gaming device and the spatial origin of the first user gaming device) and used to create a shared coordinate space. At 1070, the shared coordinate space and the identifier are used to display the augmented reality game.
[0086] Next, refer to Fig.11 and 12 , illustrates a method 1100 of creating a shared coordinate space in an augmented reality session between at least two devices having disjoint relative coordinate spaces. In some embodiments, the method 1100 is performed by the system 200.
[0087] At 1104, augmented reality tracking is performed by the first user gaming device and the second user gaming device to establish separate relative coordinate spaces for the first user gaming device and the second user gaming device.
[0088] At 1108, an identifier of the augmented reality game is provided by the first user gaming device. At 1112, the spatially aligned image is displayed by the first user gaming device. At 1116, position information about the first user gaming device (e.g., a position within a relative coordinate space of the first user gaming device) and an associated timestamp are stored by the first user gaming device for at least a portion of the time that the spatially aligned image is displayed by the first user gaming device.
[0089] The spatially aligned image displayed on the first user gaming device is identified by the second user gaming device at 1120. An identifier of the augmented reality game is further received by the second user gaming device.
[0090] At 1124, the position of the second user gaming device in the coordinate space of the second user gaming device associated with the identification of the spatially aligned image and a timestamp associated with the clock of the second user gaming device are recorded by the second user gaming device. At 1128, a request for information is sent by the second user gaming device to the first user gaming device. The request includes the timestamp.
[0091] At 1132, a request for information is received by the first user gaming device from the second user gaming device. At 1136, in response to the request, the first user gaming device provides (to the second user gaming device) location information about the first user gaming device at or near the timestamp and the spatial origin of the first user gaming device.
[0092] At 1140, the second user game device receives, in response to the request, information from the first user game device including the position of the first user game device in the relative coordinate space of the first user game device at or near the timestamp and the spatial origin of the first user game device. At 1144, the second user game device calculates an offset between the coordinate space of the second user game device and the coordinate space of the first user game device to create a shared coordinate space based at least in part on the received information (e.g., the position of the first user game device in the relative coordinate space of the first user game device at or near the timestamp and the spatial origin of the first user game device). At 1148, the second user game device uses the shared coordinate space and the identifier to display / participate in the augmented reality game.
[0093] A system for sharing an augmented reality game within a shared coordinate space is described herein, comprising: a computer including a processor and a memory having computer executable instructions stored thereon, which, when executed by the processor, cause the computer to: create a shared coordinate space in an augmented reality game between multiple user gaming devices; use the created shared coordinate space to provide a first mode of the augmented reality game to multiple users associated with the multiple user gaming devices, wherein in the first mode, at least some of the multiple users engage in game play actions that produce results according to pre-established game rules; and use the created shared coordinate space to provide a second mode of the augmented reality game to multiple users associated with the multiple user gaming devices, wherein in the second mode, at least some of the multiple users engage in non-destructive game play actions that do not produce results once the second mode has terminated.
[0094] The system may further include: wherein the pre-established rules are determined and agreed upon by at least some of the plurality of users. The system may further include: wherein creating a shared coordinate space in an augmented reality game between a plurality of user game devices includes: the plurality of user game devices include a first user game device and a second game device, and wherein by the second user game device: performing augmented reality tracking to establish a relative coordinate space of the second user game device; identifying a spatial alignment image displayed on the first user game device and receiving an identifier of the augmented reality game; recording a position of the second user game device in the coordinate space of the second user game device associated with the identification of the spatial alignment image and a timestamp associated with a clock of the second user game device; sending a request for information to the first user game device, the request including a timestamp; in response to the request, receiving from the first user game device information including a position of the first user game device in the relative coordinate space of the first user game device at or near the timestamp and a spatial origin of the first user game device; calculating an offset between the coordinate space of the second user game device and the coordinate space of the first user game device based at least in part on the received information to create a shared coordinate space; and displaying the augmented reality game using the shared coordinate space and the identifier.
[0095] The system may further include: wherein the spatially aligned image is displayed at a predetermined size and with a plurality of features (including a predefined specific grouping of pixels of a predefined color and a predefined intensity) that allow the second user gaming device to determine its position relative to the first user gaming device (in a six degree positioning format). The system may further include: wherein the clock of the second user gaming device is synchronized to the clock of the first user gaming device by the second user gaming device. The system may further include: wherein the game identifier is displayed on the first user gaming device and comprises a multi-dimensional barcode.
[0096] The system may further include: wherein the augmented reality game comprises a multi-party augmented reality construction video game. The system may include a memory having further computer executable instructions stored thereon, which when executed by the processor cause the computer to: display a virtual object associated with the augmented reality game on a display of the first user gaming device and a display of the second user gaming device. The system may further include: wherein the second user gaming device comprises a mobile phone.
[0097] The present invention describes a method for sharing an augmented reality game within a shared coordinate space, comprising: creating a shared coordinate space in an augmented reality game between multiple user gaming devices; using the created shared coordinate space to provide a first mode of the augmented reality game to multiple users associated with the multiple user gaming devices, wherein in the first mode, at least some of the multiple users participate in game play actions that produce results according to pre-established game rules; and using the created shared coordinate space to provide a second mode of the augmented reality game to multiple users associated with the multiple user gaming devices, wherein in the second mode, at least some of the multiple users participate in non-destructive game play actions that do not produce results once the second mode has terminated.
[0098] The method may further include: wherein the plurality of user game devices include a first user game device and a second user game device, and creating a shared coordinate space in an augmented reality game between the plurality of user game devices includes: performing augmented reality tracking by the first user game device and the second user game device to establish separate relative coordinate spaces for the first user game device and the second user game device; providing an identifier of the augmented reality game by the first user game device; displaying a spatial alignment image by the first user game device; storing, by the first user game device, position information and an associated timestamp about the first user game device for at least a portion of the time the spatial alignment image is displayed; identifying, by the second user game device, the spatial alignment image displayed on the first user game device and receiving the identifier of the augmented reality game; recording, by the second user game device, the position of the second user game device in the coordinate space of the second user game device and the associated timestamp associated with the identification of the spatial alignment image; a timestamp associated with a clock of a gaming device; sending, by a second user gaming device, a request for information to the first user gaming device, the request including the timestamp; receiving, by the first user gaming device, a request for information from the second user gaming device, the request including the timestamp; providing, by the first user gaming device in response to the request, information about the position of the first user gaming device at or near the timestamp and the spatial origin of the first user gaming device; receiving, by the second user gaming device in response to the request, from the first user gaming device information including the position of the first user gaming device within the relative coordinate space of the first user gaming device at or near the timestamp and the spatial origin of the first user gaming device; calculating, by the second user gaming device, an offset between the coordinate space of the second user gaming device and the coordinate space of the first user gaming device based at least in part on the received information to create a shared coordinate space; and displaying, by the second user gaming device, the augmented reality game using the shared coordinate space and the identifier.
[0099] The method may further include where the spatially aligned image is displayed at a predetermined size and with a plurality of features (comprising a predefined specific grouping of pixels of a predefined color and a predefined intensity) that allow the second user gaming device to determine its position relative to the first user gaming device (in a six degree positioning format).
[0100] The method may further include: further synchronizing the clock of the second user gaming device to the clock of the first user gaming device. The method may further include: wherein the game identifier is displayed on the first user gaming device and includes a multi-dimensional barcode. The method may further include: wherein the augmented reality game includes a multi-party augmented reality construction video game. The method may further include: displaying a virtual object associated with the augmented reality game on the first user gaming device and the second user gaming device.
[0101] A method for using geographic location information within an augmented reality session is described herein, comprising: joining a plurality of user game devices to an augmented reality game; determining, at a first user game device of the plurality of user game devices, that at least one other user game device of the plurality of user game devices has a physical location within a threshold physical distance of a physical location of the first user game device; and initiating, at the first user game device, a virtual action that causes the corresponding virtual action to be displayed on a map of a virtual environment that is at least partially parallel to a physical environment, the map being displayed on a second user game device.
[0102] The method may further include: wherein the corresponding virtual action includes movement of a virtual object representing the location of the first user gaming device. The method may further include: wherein the corresponding virtual action includes animation of the virtual object to be displayed on a map. The method may further include: wherein at the second user gaming device, the corresponding virtual action is displayed on a map of the virtual environment.
[0103] refer to Fig.13 , illustrates an example general purpose computer or computing device 1302 (e.g., a mobile phone, desktop, laptop, tablet, watch, server, handheld device, programmable consumer or industrial electronics, set-top box, gaming system, computing node, etc.). For example, computing device 1302 can be used in system 100 for sharing augmented reality games in a shared coordinate space and / or system 500 for using geographic location information within an AR session.
[0104] The computer 1302 includes one or more processors 1320, a memory 1330, a system bus 1340, a mass storage device(s) 1350, and one or more interface components 1370. The system bus 1340 is communicatively coupled to at least the above-mentioned system components. However, it will be appreciated that in its simplest form, the computer 1302 may include one or more processors 1320 coupled to the memory 1330, which one or more processors 1320 execute various computer-executable actions, instructions, and / or components stored in the memory 1330. These instructions may be, for example, instructions for implementing the functions described as being performed by the above-mentioned one or more components or instructions for implementing one or more of the above-mentioned methods.
[0105] Processor(s) 1320 may be implemented with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in an alternative, the processor may be any processor, controller, microcontroller, or state machine. Processor(s) 1320 may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, a multi-core processor, one or more microprocessors in combination with a DSP core, or any other such configuration. In one embodiment, processor(s) 1320 may be a graphics processor.
[0106] Computer 1302 may include or otherwise interact with various computer-readable media to facilitate controlling computer 1302 to implement one or more aspects of the claimed subject matter. Computer-readable media can be any available media that can be accessed by computer 1302 and includes both volatile and nonvolatile media and removable and non-removable media. Computer-readable media can include two different and mutually exclusive types, namely computer storage media and communication media.
[0107] Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media include storage devices such as memory devices (e.g., random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), etc.), magnetic storage devices (e.g., hard disks, floppy disks, cassettes, tapes, etc.), optical disks (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), and solid-state devices (e.g., solid-state drives (SSDs), flash drives (e.g., cards, sticks, key drives), etc.), or any other similar media that stores (as opposed to transmitting or communicating) the desired information that can be accessed by the computer 1302. Therefore, computer storage media excludes modulated data signals and those described with respect to communication media.
[0108] Communication media embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in a manner that encodes information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
[0109] Memory 1330 and mass storage device(s) 1350 are examples of computer-readable storage media. Depending on the exact configuration and type of computing device, memory 1330 may be volatile (e.g., RAM), non-volatile (e.g., ROM, flash memory, etc.), or some combination of the two. As an example, a basic input / output system (BIOS), including basic routines such as transferring information between elements within computer 1302 during startup, may be stored in non-volatile memory, while volatile memory may act as external cache memory to facilitate processing by processor 1320, etc.
[0110] The mass storage device(s) 1350 include removable / non-removable, volatile / non-volatile computer storage media for storing large amounts of data relative to the memory 1330. For example, the mass storage device(s) 1350 include, but are not limited to, one or more devices such as a magnetic or optical drive, a floppy drive, a flash memory, a solid state drive, or a memory stick.
[0111] The memory 1330 and the mass storage device(s) 1350 may include or have stored therein an operating system 1360, one or more applications 1362, one or more program modules 1364, and data 1366. The operating system 1360 is used to control and allocate resources of the computer 1302. The applications 1362 include one or both of system and application software, and may utilize the management of resources by the operating system 1360 to perform one or more actions through the program modules 1364 and data 1366 stored in the memory 1330 and / or the mass storage device(s) 1350. Thus, the applications 1362 may transform the general-purpose computer 1302 into a special-purpose machine according to the logic provided thereby.
[0112] All or portions of the claimed subject matter may be implemented using standard programming and / or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed functionality. By way of example and not limitation, the system 100 or portions thereof may be or form part of an application 1362 and include one or more modules 1364 and data 1366 stored in memory and / or mass storage device(s) 1350 whose functionality may be implemented when executed by one or more processors 1320.
[0113] According to a specific embodiment, (all) processors 1320 may correspond to a similar architecture including or integrating hardware and software on a single integrated circuit base. Here, (all) processors 1320 may include one or more processors and memories similar to (all) processors 1320 and memory 1330, etc. Conventional processors include a minimum amount of hardware and software and are widely dependent on external hardware and software. In contrast, the SOC implementation of the processor is more powerful because it embeds hardware and software therein to enable specific functions with minimal hardware and software or without relying on external hardware and software. For example, system 100 and / or associated functionality may be embedded in the hardware in the SOC architecture.
[0114] The computer 1302 also includes one or more interface components 1370 that are communicatively coupled to the system bus 1340 and facilitate interaction with the computer 1302. As examples, the interface component 1370 can be a port (e.g., serial, parallel, PCMCIA, USB, Firewire, etc.) or an interface card (e.g., sound, video, etc.), etc. In one example implementation, the interface component 1370 can be embodied as a user input / output interface that enables a user to input commands and information into the computer 1302, such as through one or more input devices (e.g., a pointing device such as a mouse, a trackball, a stylus, a touch pad, a keyboard, a microphone, a joystick, a game pad, a satellite dish, a scanner, a camera, other computers, etc.), such as by way of one or more gestures or voice input. In another example implementation, the interface component 1370 can be embodied as an output peripheral interface that provides output to a display (e.g., LCD, LED, plasma, etc.), a speaker, a printer, and / or other computers, etc. Additionally, interface component 1370 may be embodied as a network interface that enables communications with other computing devices (not shown), such as through a wired or wireless communication link.
[0115] What has been described above includes examples of various aspects of the claimed subject matter. Of course, it is not possible to describe every conceivable combination of components or methods for the purpose of describing the claimed subject matter, but one of ordinary skill in the art will recognize that many further combinations and permutations of the claimed subject matter are possible. Therefore, the disclosed subject matter is intended to cover all such changes, modifications and variations that fall within the spirit and scope of the appended claims. In addition, to the extent the term "comprising" is used in the detailed description or in the claims, this term is intended to be inclusive in a manner similar to that in which the term "comprises" is interpreted when used as a transition word in the claims.
Claims
1. A system for sharing an augmented reality game in a shared coordinate space, comprising: A computer comprising a processor and a memory having computer executable instructions stored thereon, the computer executable instructions when executed by the processor causing the computer to: creating a shared coordinate space in the augmented reality game between a plurality of user gaming devices; After creating the shared coordinate space, using the created shared coordinate space to provide a first mode of the augmented reality game to a plurality of users associated with the plurality of user gaming devices, wherein in the first mode at least some of the plurality of users engage in game play actions that produce outcomes according to pre-established game rules; as well as Using the created shared coordinate space to provide a second mode of the augmented reality game to the multiple users associated with the multiple user gaming devices, wherein in the second mode, at least some of the multiple users engage in non-destructive game play actions, the non-destructive game play actions having temporary or limited results, at least some of the results being reset once the second mode has terminated, and wherein at least some of the multiple users are able to switch between the first mode and the second mode.
2. The system of claim 1, wherein the pre-established game rules are determined and agreed upon by at least some of the plurality of users.
3. The system of claim 1, wherein creating the shared coordinate space in the augmented reality game between the plurality of user gaming devices comprises: The plurality of user gaming devices include a first user gaming device and a second user gaming device, and wherein the second user gaming device: performing augmented reality tracking to establish a relative coordinate space of the second user gaming device; identifying a spatially aligned image displayed on the first user gaming device and receiving an identifier of the augmented reality game; recording a position of the second user gaming device within the coordinate space of the second user gaming device associated with the identification of the spatially aligned image and a timestamp associated with a clock of the second user gaming device; sending a request for information to the first user gaming device, the request including the timestamp; receiving, in response to the request, from the first user gaming device information including a position of the first user gaming device at or near the timestamp within a relative coordinate space of the first user gaming device and a spatial origin of the first user gaming device; calculating an offset between a coordinate space of the second user gaming device and a coordinate space of the first user gaming device based at least in part on the received information to create the shared coordinate space; as well as The augmented reality game is displayed using the shared coordinate space and the identifier.
4. The system of claim 3, wherein the spatially aligned image is displayed at a predetermined size and with a plurality of features comprising a predefined grouping of pixels of a predefined color and a predefined intensity, the plurality of features allowing the second user gaming device to determine its position relative to the first user gaming device in a six degree positioning format.
5. The system of claim 3, wherein a clock of the second user gaming device is synchronized to a clock of the first user gaming device by the second user gaming device.
6. The system of claim 3, wherein the game identifier is displayed on the first user gaming device and comprises a multi-dimensional bar code.
7. The system of claim 3, wherein the augmented reality game comprises a multi-party augmented reality construction video game.
8. The system of claim 3, the memory having further computer executable instructions stored thereon that when executed by the processor cause the computer to: A virtual object associated with the augmented reality game is displayed on a display of the first user gaming device and a display of the second user gaming device.
9. The system of claim 3, wherein the second user gaming device comprises a mobile phone.
10. A method for sharing an augmented reality game in a shared coordinate space, comprising: Creating a shared coordinate space in an augmented reality game between multiple user gaming devices; After creating the shared coordinate space, using the created shared coordinate space to provide a first mode of the augmented reality game to a plurality of users associated with the plurality of user gaming devices, wherein in the first mode at least some of the plurality of users engage in game play actions that produce outcomes according to pre-established game rules; as well as Using the created shared coordinate space to provide a second mode of the augmented reality game to the multiple users associated with the multiple user gaming devices, wherein in the second mode, at least some of the multiple users engage in non-destructive game play actions, the non-destructive game play actions having temporary or limited results, at least some of the results being reset once the second mode has terminated, and wherein at least some of the multiple users are able to switch between the first mode and the second mode.
11. The method of claim 10, wherein the plurality of user gaming devices comprises a first user gaming device and a second user gaming device, and creating the shared coordinate space in the augmented reality game between the plurality of user gaming devices comprises: performing augmented reality tracking by the first user gaming device and the second user gaming device to establish separate relative coordinate spaces for the first user gaming device and the second user gaming device; providing, by the first user gaming device, an identifier of the augmented reality game; displaying, by the first user gaming device, a spatially aligned image; storing, by the first user gaming device, position information and an associated timestamp regarding the first user gaming device for at least a portion of the time that the spatially-aligned image is displayed; identifying, by the second user gaming device, the spatially aligned image displayed on the first user gaming device and receiving the identifier of the augmented reality game; recording, by the second user gaming device, a position of the second user gaming device within the coordinate space of the second user gaming device associated with the identification of the spatially aligned image and a timestamp associated with a clock of the second user gaming device; Sending, by the second user gaming device, a request for information to the first user gaming device, the request including the timestamp; receiving, by the first user gaming device from the second user gaming device, the request for information, the request including the timestamp; providing, by the first user gaming device in response to the request, location information about the first user gaming device at or near the timestamp and a spatial origin of the first user gaming device; receiving, by the second user game device in response to the request, from the first user game device information including a position of the first user game device in a relative coordinate space of the first user game device at or near the timestamp and a spatial origin of the first user game device; calculating, by the second user gaming device at least in part based on the received information, an offset between a coordinate space of the second user gaming device and a coordinate space of the first user gaming device to create the shared coordinate space; as well as The augmented reality game is displayed by the second user gaming device using the shared coordinate space and the identifier.
12. A method as claimed in claim 11, wherein the spatially aligned image is displayed at a predetermined size and with multiple features of a predefined grouping of pixels of predefined colors and predefined intensities, the multiple features allowing the second user gaming device to determine its position relative to the first user gaming device in a six-degree positioning form.
13. The method of claim 11, further comprising: The clock of the second user gaming device is synchronized to the clock of the first user gaming device.
14. The method of claim 11, wherein the game identifier is displayed on the first user gaming device and comprises a multi-dimensional bar code.
15. The method of claim 11, wherein the augmented reality game comprises a multi-party augmented reality construction video game.
16. The method of claim 11, further comprising: A virtual object associated with the augmented reality game is displayed on the first user gaming device and the second user gaming device.
Citation Information
Patent Citations
Aligning location for a shared augmented reality experience
US11090561B2
Cross-platform augmented reality experience
CN103760972A
System and method for selecting targets in an augmented reality environment
US20130293580A1