WO2024258320A1 - Location procedure of an xr device - Google Patents
Location procedure of an xr device Download PDFInfo
- Publication number
- WO2024258320A1 WO2024258320A1 PCT/SE2023/050588 SE2023050588W WO2024258320A1 WO 2024258320 A1 WO2024258320 A1 WO 2024258320A1 SE 2023050588 W SE2023050588 W SE 2023050588W WO 2024258320 A1 WO2024258320 A1 WO 2024258320A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- feature point
- controller
- real
- user
- localization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Definitions
- Embodiments presented herein relate to a method, a controller, a computer program, and a computer program product for performing localization of an extended reality device.
- VR virtual reality
- Non-limiting examples of VR technologies can be found in entertainment applications (such as video games, and movies), in education applications (such as medical or military training, robot navigation, construction modelling, and airplane simulation) and business applications (such as virtual meetings or computer conferencing).
- VR can be combined with augmented reality technologies and mixed reality technologies, sometimes referred to as extended reality technologies.
- VR systems are examples of more general extended reality (XR) systems, that in addition to VR systems also include augmented reality (AR) systems, and mixed reality (MR) systems.
- XR extended reality
- AR augmented reality
- MR mixed reality
- XR systems commonly use either headsets or multi -projected environments to generate realistic images, sounds and other sensations that simulate a user's physical presence in a virtual environment defining the simulated experience.
- a user using an XR device is able to look around in the simulated experience, move around in it, and interact with virtual features or items.
- the effect is commonly created by headsets comprising a head-mounted display with a small screen to be placed in front of the eyes of the user.
- a tablet computer, or mobile handset such as a user equipment (UE), often referred to as a smart phone, equipped with a camera can be used as an XR device, using so-called pass-through technology.
- UE user equipment
- a process of localization called inside-out tracking can be used that utilizes cameras and sensors in the XR device to perform visual Simultaneous Localization and Mapping (SLAM), with no external sensors aiding the localization.
- SLAM Simultaneous Localization and Mapping
- An object of embodiments herein is to provide efficient localization of an XR device that overcome the above-mentioned disadvantages.
- a particular object is to provide efficient localization of an XR device that does not involve visual SLAM.
- a particular object is to provide efficient localization of an XR device that does not involve the use of an outward-facing camera during the localization.
- a controller for performing localization of an XR device.
- the controller comprises processing circuitry.
- the processing circuitry is configured to cause the controller to prompt a user of the XR device to orient himself/herself towards a feature point in a real-world environment.
- the processing circuitry is configured to cause the controller to obtain orientation data of the XR device for when the user is oriented towards the feature point.
- the processing circuitry is configured to cause the controller to perform localization of the XR device for matching the feature point to a 3D digital representation of the real-world environment by cross-referencing the orientation data with data points that in the 3D digital representation represent the feature point.
- a computer program for performing localization of an XR device.
- the computer program comprises computer code which, when run on processing circuitry of a controller, causes the controller to perform actions.
- One action comprises the controller to prompt a user of the XR device to orient himself/herself towards a feature point in a real-world environment.
- One action comprises the controller to obtain orientation data of the XR device for when the user is oriented towards the feature point.
- One action comprises the controller to perform localization of the XR device for matching the feature point to a 3D digital representation of the real-world environment by cross-referencing the orientation data with data points that in the 3D digital representation represent the feature point.
- a computer program product comprising a computer program according to the second aspect and a computer readable storage medium on which the computer program is stored.
- the computer readable storage medium could be a non-transitory computer readable storage medium.
- these aspects provide efficient localization of an XR device without using visual SLAM.
- these aspects provide efficient localization of an XR device without using any camera during the localization.
- Fig. 1 schematically illustrates an XR device according to an embodiment
- Fig. 2 schematically illustrates a real-world environment in which a user wearing an XR device is located according to an embodiment
- Fig. 3 is a flowchart of methods according to embodiments.
- Fig. 4 schematically illustrates localization of an XR device based on three feature points according to an embodiment
- Fig. 5 schematically illustrates views as displayed on an XR device according to an embodiment
- Fig. 6 is a flowchart of methods according to embodiments.
- Fig. 7 is a schematic diagram showing functional units of a controller according to an embodiment
- Fig. 8 is a schematic diagram showing functional modules of a controller according to an embodiment.
- Fig. 9 shows one example of a computer program product comprising computer readable storage medium according to an embodiment.
- the embodiments disclosed herein relate to techniques for performing localization of an XR device.
- a controller a method performed by the controller, a computer program product comprising code, for example in the form of a computer program, that when run on a controller, causes the controller to perform the method.
- Fig. i is a schematic diagram illustrating an XR device no according to an embodiment.
- the XR device no is intended to be used by a user (see, Fig. 2).
- Fig. 1 schematically illustrates an example where the XR device 110 is provided as a head-mounted display taking the shape of a pair of glasses.
- the XR device no could also be provided as a tablet computer, or smartphone, where a 3D digital representation is provided as an overlay on an image, as captured by the camera, of the real-world environment in which the XR device no is located is shown, and where images as captured by the camera are not stored for any further purpose than to just provide an (instantaneous) view of the real-world environment.
- the XR device no therefore comprises a user interface 112 for rendering a 3D digital representation on top of a real-world environment (see, Fig. 5).
- the user interface 112 may comprise two small high- resolution monitors adapted to provide separate images for each eye for stereoscopic graphics rendering a 3D virtual environment, a binaural audio system, positional and rotational real-time head tracking (e.g., by means of an inertial measurement unit (IMU) for six degrees of movement.
- the XR device 110 might comprises a communication interface 112 for communicating with one or more other XR devices and/or with a controller 200.
- the communication interface 112 might be a wired communication interface, an infrared communication interface, a visible light communication interface, or some other kind of communication interface.
- the XR device 110 might be configured for direct communication with another XR device or for communicating with another XR device via at least one other device, such as a controller 200, a mobile phone, personal computer, gaming machine, a server, a cloud computational system, or the like.
- the XR device no further comprises a processing unit 118, for controlling operation of the XR device no.
- the processing unit 118 implements the functionality of, or comprises, a controller 200.
- a controller 200 for example of Fig.
- the XR device no further comprises a speaker and/or microphone 116 or other type of audio playing or recording device.
- the XR device no might be configured to track movements made by its user. In this respect, how to perform localization of the XR device no will be disclosed below.
- Fig. 2 is a schematic illustration of a real-world environment 100 in terms of a room. It is assumed that a user 140 wearing an XR device 110 is present in the room and that localization of the XR device 110 is to be performed.
- the room has a door 120.
- the upper right-hand corner of the door 120 is denoted a feature point 130a. How one or more feature points 130a can be used for performing localization of the XR device 110 will be disclosed next.
- Fig. 3 is a flowchart illustrating embodiments of methods for performing localization of the XR device 110.
- the methods are performed by the controller 200.
- the controller 200 comprises processing circuitry 210.
- the methods are advantageously provided as a computer program 920.
- the controller 200 prompts a user 140 of the XR device no to orient himself/herself towards a feature point 1300:1300 in a real -wo rid environment 100.
- the controller 200 obtains orientation data of the XR device 110 for when the user 140 is oriented towards the feature point 1300:1300.
- the user 140 might confirm, e.g., by providing a gesture, voice command, input via a hand control or other type of device, etc. when he/she is oriented towards the feature point 1300:130c.
- the registered orientation data is used to determine where the user 140 is located, and thus where the XR device 110 is located, matching the feature point 1300:130c to a 3D digital representation 4100:410c of the real-world environment 100.
- the controller 200 perform localization of the XR device no.
- the localization of the XR device 110 is performed for matching the feature point 1300:130c to a 3D digital representation 4103:410c of the real-world environment 100.
- the localization of the XR device 110 is performed by the controller 200 cross-referencing the orientation data with data points that in the 3D digital representation 4103:4100 represent the feature point 1303:130c.
- the controller 200 is to prompt the user 140 of the XR device 110 to orient himself/herself towards the feature point 1303:130c in S106.
- the user 140 of the XR device 110 is prompted to orient himself/herself towards the feature point 1303:130c when calibration (in terms of localization) of the XR device 110 is needed.
- an XR device 110 provided with an IMU or other type of inertial sensor can use dead reckoning to estimate updates to the position of the XR device 110.
- Such updates can be provided as input to SLAM algorithms, or the like.
- the updates of the position of the XR device 110 are estimates that as such have drift errors that increase over time.
- the processing circuitry 210 is configured to cause the controller 200 to perform (optional) action S102.
- the controller 200 obtains an indication that prompts localization of the XR device 110 to be performed.
- the user 140 of the XR device 110 is then prompted to orient himself/herself towards the feature point 1303:130c in the real -wo rid environment 100 in response thereto (i.e., in response to the controller 200 having obtained the indication in S102).
- the indication pertains to any, or any combination, of: - an indication of unexpected change of luminosity in the real-world environment 100,
- the light sensor can identify whether the light sensor detects a change of luminosity in the real- world environment 100 that does not correlate with the expected change based on position and estimated movement.
- the XR device 110 is equipped with a radar device, then the distance to, for example, physical objects in the real-world environment 100 can be estimated and compared with the expected distance (as given by an expected correspondence between the 3D digital representation 4ioa:4ioc and the real-world environment 100) to these physical objects based on the estimated position.
- Too large deviation can trigger a re-calibration depending on the accuracy need of the application run in the XR device 110.
- the user 140 might identify that virtual objects are not positioned in logical places, request a re-calibration, and thereby provide user input indicating a need for calibration of the XR device 110.
- a relative deviation of the positions can be estimated using different device-to -device communication techniques, such as Bluetooth, possibly in combination with angle- of-arrival measurements or angle-of-departure measurements, can be used estimate a relative drift in terms of position between the XR devices.
- different applications as run in the XR device no might have different needs for accuracy with respect to position.
- the XR device no might have an estimated position with an estimated accuracy which is acceptable for one application (e.g., when only visualizing text).
- a message is played out on the XR device 110. That is, in some embodiments, the user 140 of the XR device 110 is prompted to orient himself/herself towards the feature point 1300:1300 in the real -wo rid environment 100 by the controller 200 causing a message to be played out on the XR device 110.
- the message is played out as a text message that thus is displayed to the user 140. In some non-limiting examples, the message is played out as an audio message.
- the 3D digital representation 4100:4100 of the real-world environment 100 is assumed to exist before the localization of the XR device 110 is performed. That is, according to some embodiments, the 3D digital representation 4100:4100 has been generated prior to the localization being performed. In this respect, the 3D digital representation 4100:410c might have been generated previously using another device, such as another XR device, a dedicated camera device, or the like. The 3D digital representation 4100:410c might even have been generated previously using the same XR device 110, but where for some reason the 3D digital representation 4100:410c has been removed from memory or otherwise been made inaccessible to the XR device 110.
- the 3D digital representation 4100:410c might have been generated already in connection to construction of the real-world environment 100 or in connection with later remodeling of the real-world environment 100.
- the 3D digital representation 4103:410c is a 3D scene graph of the real-world environment 100.
- the 3D digital representation 4103:410c comprises point or mesh information of the real-world environment 100 and semantic information of objects in the real-world environment 100.
- the 3D digital representation 4103:410c could take the form of a 3D scene graph.
- the semantic information represents tagged object information.
- the feature point 1303:130c is selected based on location of the point or mesh information and/or the semantic information.
- this information can used by the controller 200 to generate the feature point 1303:130c; relatively static objects such as walls, doorways and corners in the real-world environment 100 are semantically known also within the 3D digital representation 4103:410c, and are thus a good basis for the feature point 1303:130c.
- Such feature points 1303:130c could be stored based on earlier visits to the real-world environment 100. Over time the controller 200 can learn where certain types of feature points 1303:130c are. This could for instance be how corners of a room and doors normally are represented since there will be many users, many visits and many rooms with doors and corners.
- one or more physical objects in the real-world environment 100 could, based on the semantic data about the room (e.g., as low corners in the room or windows that could have curtains over them), have a high risk of obscuring a feature point 1303:130c, then such a possibly obscured feature point 1303:130c is less favored over those feature points 1303:130c with higher likelihood of availability.
- a feature point 1303:130c is occluded and cannot be seen by the user 140 from his/her current position.
- the user 140 might himself/herself request a new feature point 1303:130c.
- the user 140 is allowed to make a small movement in the real-world environment 100, where this movement can be estimated by using an IMU or other type of inertial sensor in the XR device 110.
- the number of feature points 1303:130c needed for the localization of the XR device 110 could vary, for example based on the required accuracy of the localization, but also with respect to the distance and/or angles between the XR device no and the feature points 130a: 130c, and the relative distribution of feature points 1300:1300 in the real -wo rid environment 100. In some examples, it might be sufficient to use one single feature point 1300:1300 to obtain localization of the XR device 110 with sufficient accuracy. However, in other examples, two or more feature points 1300:130c are needed. The feature points 1300:130c localization of the XR device 110 can then be based on triangulation.
- the localization procedure (as defined by actions S106, S108, S112) is repeated for at least two feature points 1300:130c, e.g., allowing to use triangulation to obtain localization of the XR device 110.
- the feature point 1300:130c is a first feature point 130a
- the processing circuitry 210 is configured to cause the controller 200 to repeat the prompting and the obtaining for at least one second feature point 130b, 130c in the real-world environment 100, and to perform the localization of the XR device no also based on the at least one second feature point 130b, 130c.
- the controller 200 might then determines the location of the user 140 (as part of localizing the XR device no) by comparing where vectors meet, placing the user 140 virtually in the 3D digital representation 4100:4100.
- matching each of the first feature point 130a and the at least one second feature point 130b, 130c to the 3D digital representation 4100:4100 comprises determining a respective vector.
- Each vector points towards a respective one of the first feature point 130a and the at least one second feature point 130b, 130c.
- the localization of the XR device 110 can then be defined by a coordinate in a plane or space where two or more of the vectors are estimated to cross each other.
- feature points 1300:1300 there can be different ways to select the feature points 1300:1300.
- feature points 1300:1300 can be placed on relatively static objects such as walls, doorways and corners in the real-world environment 100.
- the feature points 1300:130c are distributed along a (straight) line and the user 140 is in S106 prompted to orient himself/herself by following the line from one feature point 1300:130c to the next. That is, the user 140 might in this way be prompted follow a line, or part of a line, instead of a specific feature point 1300:130c.
- the 3D digital representation 4100:410c includes such a line, which in the real-world environment 100 could correspond to a physical edge, like a doorframe or the joint between wall and ceiling or an actual painted line on the wall.
- the movement of the user 140 might then create a plane in which the position of the XR device 110 can be found.
- Such a line is less likely to be obstructed from view. Therefore, in some embodiments, the first feature point 130a and the at least one second feature point 130b, 130c are all placeable on one and the same straight line.
- the placement of the feature points 1300:1300 is based on taking the user’s 140 likely position in a given real-world environment 100 into account. Based on the 3D digital representation 4100:4100, the controller 200 could favor feature points 1300:130c that would be easy viewable from positions a user 140 is expected to be at. For example, if the 3D digital representation 4100:410c has knowledge of a table often being in the middle of a room, and that the doorway to the room remains unobstructed, feature points 1300:130c might be selected to favor the user 140 standing in the doorway as that is where the user 140 is most likely to be. This can be extended to height as well; feature points 1300:130c visible from normal standing sight might be favored.
- the orientation data of the XR device 110 is obtained for when the user 140 is oriented towards the feature point 1300:130c in S108. In some aspects, this depends on in what sense the user 140 is oriented towards the feature point 1300:130c. In one example, the user 140 simply gazes towards the feature point 1300:130c. That is, in some embodiments, the user 140 is prompted to orient himself/herself towards the feature point 1300:130c by gazing towards the feature point 1300:130c. Matching the feature point 1300:130c to the 3D digital representation 4100:410c might then comprise gaze tracking of the user 140. In other examples, the user 140 turns his/her head towards the feature point 1300:130c.
- the user 140 is prompted to orient himself/herself towards the feature point 1300:130c by directly facing the feature point 1300:130c.
- Matching the feature point 1300:130c to the 3D digital representation 4100:410c might then comprise pose tracking of the XR device 110.
- the pose of the XR device 110 will then give the direction towards the feature point 1303:130c. This forces the user 140 to turn his/her head (or even complete body) to look towards the feature point 1303:130c.
- position information with respect to other XR devices within the real-world environment 100 can be used to determine whether or not localization of the XR device 110 is needed. Further in this respect, relative and/or absolute position information with respect to such other XR devices can also be used during the localization procedure itself. That is, one or more further XR devices (possibly worn by other users that are also present in the real-world environment 100) can share position information. In this way, all the XR devices in the real-world environment 100 can reduce the positioning error by collaborative triangulation. The XR devices could also sense other XR devices in the same real-world environment 100 using, for example, directional Bluetooth techniques or other types of device-to-device communication techniques. Therefore, according to some embodiments, the processing circuitry 210 is configured to cause the controller 200 to perform (optional) action S110.
- the controller 200 obtain first positioning information of the XR device 110 and second positioning information of at least one other XR device located in the real-world environment 100.
- the localization of the XR device 110 can then further be based on a comparison between the first positioning information and the second positioning information.
- the XR device 110 can have a prior estimate of position also in the new room.
- the localization procedure can then select feature points 1300:1300 suitable for the estimated position of the XR device 110, and it is likely that the number of feature points 130a: 130c needed will be fewer than if no prior estimate of the position of the XR device 110 is available.
- a virtual overlay showing the 3D digital representation 4100:4100 could be displayed in the XR device 110. If the user 140 is not satisfied with the calibration (as defined by the localization of the XR device 110), the user 140 might adjust his/her positioning manually through an interface. Additionally or alternatively, such an overlay could be displayed in the XR device 110 when the localization procedure has been initialized, for example in conjunction with prompting the user 140 to orient himself/herself towards the feature point 1300:1300.
- the processing circuitry 210 is configured to cause the controller 200 to, in conjunction with prompting the user 140 to orient himself/herself towards the feature point 1300:1300, and/or when having performed the localization of the XR device 110, perform (optional) action S104 and/or action S114:
- the controller 200 displays the 3D digital representation 4100:410c as a virtual overlay on the XR device 110.
- the virtual overlay comprises an indication , for example representing a data point 52oa:52od, of the feature point 1300:130c. This could aid the user 140 to orient himself/herself with respect to the 3D digital representation 4100:410c.
- the controller 200 displays the 3D digital representation 4100:410c as a virtual overlay on the XR device 110 once the localization procedure has been completed, the user 140 is allowed to determine how accurate the localization of the XR device 110 has been. This could be achieved by having an outlined mesh display from the virtual perspective of the user 140, where lines in the display should ideally match up with lines in the real-world environment 100 (such as walls meeting the floor / ceiling, corners, table edges, etc.). It could also be a small 3D overview of the real-world environment 100 showing the location and movement of the user 140.
- the XR device 110 might, in the 3D digital representation 4100:4100, provide an illustration of the needed structure of the real-world environment 100 to show the next feature point 1300:1300, e.g., by showing the gridlines of the walls and roof in such a way it estimates that the user 140 can see the room given how the XR device 110 is currently positioned and directed.
- the first time the needed structure is illustrated the orientation with respect to the real-world environment 100 is likely very wrong, but as the user 140 moves his/her head and/or his/her gaze towards the first feature point 130a, the orientation will improve.
- the user 140 can then be prompted to move his/her head and/or his/her gaze towards one or more further feature points 130b: 130c, where the outline structure of the room based on the updated estimation of position and direction is shown. This time, the orientation is likely more correct.
- the XR device 110 is thereby able to visualize a gradually better oriented outline structure of the room.
- the number of needed feature points 1300:1300 might vary depending on the real -wo rid environment 100, the needed accuracy of the application run in the XR device 110, any access to additional information, other XR devices in the vicinity, etc.
- the controller 200 detects that the user’s 140 relative positioning is not congruent with the expected movements when looking at the feature points 130a: 130c, the localization procedure might be performed once again, possible using another set of feature points 1300:1300.
- Fig. 4 is schematically illustrated an example where the localization of an XR device 110 is based on three feature points 1300:1300.
- the XR device 110 that has access to a 3D digital representation 410a, 410b, 410c of a real-world environment 100.
- Fig. 4(a) is illustrated a user 140 located in a real-world environment 100 represented by a room.
- the user 140 is wearing an XR device 110 that has access to a 3D digital representation 410a of the real-world environment 100.
- the XR device 110 does not have any knowledge of the user’s 140 positioning relative to the room itself.
- the user 140 can see the real-world environment 100.
- Fig. 4 is schematically illustrated an example where the localization of an XR device 110 is based on three feature points 1300:1300.
- the XR device 110 that has access to a 3D digital representation 410a, 410b, 410c of a real-world environment 100.
- FIG. 4(b) is provided an illustration where the user 140 has been prompted to orient himself/herself towards three feature points 1300:1300 in the real -wo rid environment IOO.
- Orientation data as obtained for when the user 140 is oriented towards each of the feature points 1300:1300 can then be cross-references with data points that in the 3D digital representation 410b represent the feature points 1300:1300.
- each of the three feature points 1300:130c is represented by a respective corner in the room.
- the user 140 moves his/her head and looks at, or gazes at, the feature points 1300:130c.
- Orientation data of the XR device 110 for when the user 140 is oriented towards each of the feature points 1300:130c is then obtained.
- the head motions and eye gaze of the user 140 is registered, determining the directions / poses the user 140 is in.
- no sensors are used to determine the distances between the user 140 and each feature point 1300:130c
- only direction, angle, and relative movement of the user 140 between registered feature points 1300:130c are used to create vectors extending through the user and the feature points 1300:130c.
- the location of the user 140 (and thus of the XR device 110) is determined by comparing where the registered vectors meet, enabling the user 140 to be correctly (virtually) placed in the 3D digital representation 410c, as indicated by the virtual user 140’ wearing a virtual XR device 110’.
- the controller 200 in S112 performs localization of the XR device 110 by cross-referencing the orientation data with data points that in the 3D digital representation 4100:410c represent the feature point 1300:130c. Reference is here made to Fig. 5.
- Fig. 5 is schematically illustrated views as displayed on the user interface 112 of an XR device 110. It is understood that these are simplified views since the true views displayed on the user interface 112 generally are 3D stereoscopic images.
- the user 140 is assumed to look towards a door 120 in the real-world environment.
- a virtual door 510a, 510b, 510c, 5iod is therefore displayed as an overlay on the door 120.
- the virtual door 510a, 510b, 510c, 5iod will thus have a different relative size, position, and orientation with respect to the door 120.
- a feature point 130a is located at the upper right-hand corner of a door 120.
- the feature point 130a has a correspondence to a data point located at the upper right-hand corner of the virtual door 510a, 510b, 510c, 5iod in the 3D digital representation.
- the feature point 130a is distanced a distance di from the data point 520a located at the upper right-hand corner of the virtual door 510a.
- the virtual door 510a appears to be larger than the door 120, indicating that the XR device 110 is located farther away from the door 120 than as estimated from current positioning information of the XR device 110.
- the feature point 130a is distanced a distance d2 from the data point 520b located at the upper right-hand corner of the virtual door 510b. Further, the virtual door 510b appears to be smaller than the door 120, indicating that the XR device 110 is located closer to the door 120 than as estimated from current positioning information of the XR device 110. According to the example in Fig. 5(c), the feature point 130a is distanced a distance d3 from the data point 520c located at the upper right-hand corner of the virtual door 510c.
- the virtual door 510c is oriented as offset to the left of the door 120, indicating that the XR device 110 is located farther to the left of the door 120 than as estimated from current positioning information of the XR device 110.
- the feature point 130a and the data point 52od located at the upper right-hand corner of the virtual door 5iod almost coincide.
- the virtual door 5iod is oriented to almost overlap perfectly with the door 120, indicating that the XR device 110 has been correctly localized.
- FIG. 6 illustrating a method for performing localization of an XR device 110 in accordance with at least some of the above disclosed embodiments, aspects, and examples.
- a user 140 wearing an XR device 110, is entering a room (S201).
- the XR device 110 shows an overlay of a previously created virtual map of the room, selected by either the user 140 manually selecting it from a list, or larger map, and/or based on the position of the XR device 110 (S202). Distinct points in the room are selected as feature points 1300:1300 (S203).
- the user’s current pose is registered (S204).
- One of the feature points 130a: 130c is selected and the user 140 is prompted to look at the real -wo rid equivalent (S205). Confirmation is obtained that the user 140 is looking at the real- world equivalent of the selected feature point 1300:1300 (S206). Orientation data of the XR device 110 for when the user 140 is oriented towards the feature point 1300:130c is recorded (S207). It is checked whether enough orientation data of the XR device 110 has been obtained or not to localize the XR device 110 (S208).
- the procedure can be repeated for more feature points 1300:130c (by action S205 being entered again for a new selected feature point 1303:130c) until the controller 200 deems the information received is sufficient to localize the XR device 110 virtually in the map, matching the real-world location. Localization of the XR device 110 is then performed based on all obtained orientation data of the XR device 110 with respect to the different feature points 1303:1300 (S209).
- Fig. 7 schematically illustrates, in terms of a number of functional units, the components of a controller 200 according to an embodiment.
- Processing circuitry 210 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 910 (as in Fig. 9), e.g. in the form of a storage medium 230.
- the processing circuitry 210 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- the processing circuitry 210 is configured to cause the controller 200 to perform a set of operations, or actions, as disclosed above.
- the storage medium 230 may store the set of operations
- the processing circuitry 210 may be configured to retrieve the set of operations from the storage medium 230 to cause the controller 200 to perform the set of operations.
- the set of operations may be provided as a set of executable instructions.
- the processing circuitry 210 is thereby arranged to execute methods as herein disclosed.
- the storage medium 230 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
- the controller 200 may further comprise a communications (comm.) interface 220 at least configured for communications with other entities, functions, nodes, and devices.
- the communications interface 220 may comprise one or more transmitters and receivers, comprising analogue and digital components.
- the processing circuitry 210 controls the general operation of the controller 200 e.g. by sending data and control signals to the communications interface 220 and the storage medium 230, by receiving data and reports from the communications interface 220, and by retrieving data and instructions from the storage medium 230.
- Other components, as well as the related functionality, of the controller 200 are omitted in order not to obscure the concepts presented herein.
- Fig. 8 schematically illustrates, in terms of a number of functional modules, the components of a controller 200 according to an embodiment.
- the controller 200 of Fig. 8 comprises a number of functional modules; a prompt module 210c configured to perform action S106, an obtain module 2iod configured to perform action S108, and a localize module 2iof configured to perform action S112.
- the controller 200 of Fig. 8 may further comprise a number of optional functional modules, such as any of an obtain module 210a configured to perform action S102, a display module 210b configured to perform action S104 and/or S114, and an obtain module 2ioe configured to perform action S110.
- each functional module 210a: 2iof may in one embodiment be implemented only in hardware and in another embodiment with the help of software, i.e., the latter embodiment having computer program instructions stored on the storage medium 230 which when run on the processing circuitry makes the controller 200 perform the corresponding actions mentioned above in conjunction with Fig 8.
- the modules correspond to parts of a computer program, they do not need to be separate modules therein, but the way in which they are implemented in software is dependent on the programming language used.
- one or more or all functional modules 210a: 2iof may be implemented by the processing circuitry 210, possibly in cooperation with the communications interface 220 and/or the storage medium 230.
- the processing circuitry 210 may thus be configured to from the storage medium 230 fetch instructions as provided by a functional module 2ioa:2iof and to execute these instructions, thereby performing any actions as disclosed herein.
- the controller 200 may be provided as a standalone device or as a part of at least one further device.
- a first portion of the instructions performed by the controller 200 may be executed in a first device
- a second portion of the of the instructions performed by the controller 200 may be executed in a second device; the herein disclosed embodiments are not limited to any particular number of devices on which the instructions performed by the controller 200 may be executed.
- the methods according to the herein disclosed embodiments are suitable to be performed by a controller 200 residing in a cloud computational environment. Therefore, although a single processing circuitry 210 is illustrated in Fig. 7 the processing circuitry 210 may be distributed among a plurality of devices, or nodes. The same applies to the functional modules 2ioa:2iof of Fig. 8 and the computer program 920 of Fig. 9.
- Fig. 9 shows one example of a computer program product 910 comprising computer readable storage medium 930.
- a computer program 920 can be stored, which computer program 920 can cause the processing circuitry 210 and thereto operatively coupled entities and devices, such as the communications interface 220 and the storage medium 230, to execute methods according to embodiments described herein.
- the computer program 920 and/or computer program product 910 may thus provide means for performing any actions as herein disclosed.
- the computer program product 910 is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc.
- the computer program product 910 could also be embodied as a memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory.
- the computer program 920 is here schematically shown as a track on the depicted optical disk, the computer program 920 can be stored in any way which is suitable for the computer program product 910.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
Claims
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23941773.6A EP4728475A1 (en) | 2023-06-13 | 2023-06-13 | Location procedure of an xr device |
| PCT/SE2023/050588 WO2024258320A1 (en) | 2023-06-13 | 2023-06-13 | Location procedure of an xr device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/SE2023/050588 WO2024258320A1 (en) | 2023-06-13 | 2023-06-13 | Location procedure of an xr device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024258320A1 true WO2024258320A1 (en) | 2024-12-19 |
Family
ID=93852531
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/SE2023/050588 Ceased WO2024258320A1 (en) | 2023-06-13 | 2023-06-13 | Location procedure of an xr device |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP4728475A1 (en) |
| WO (1) | WO2024258320A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210343087A1 (en) * | 2020-04-29 | 2021-11-04 | Magic Leap, Inc. | Cross reality system for large scale environments |
| US11276201B1 (en) * | 2020-06-01 | 2022-03-15 | Snap Inc. | Localizing an augmented reality device |
| US11410328B1 (en) * | 2019-04-30 | 2022-08-09 | Apple Inc. | Techniques for maintaining feature point maps |
| US11417069B1 (en) * | 2021-10-05 | 2022-08-16 | Awe Company Limited | Object and camera localization system and localization method for mapping of the real world |
| EP4050564A1 (en) * | 2021-02-26 | 2022-08-31 | Samsung Electronics Co., Ltd. | Method and apparatus with augmented reality pose determination |
-
2023
- 2023-06-13 WO PCT/SE2023/050588 patent/WO2024258320A1/en not_active Ceased
- 2023-06-13 EP EP23941773.6A patent/EP4728475A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11410328B1 (en) * | 2019-04-30 | 2022-08-09 | Apple Inc. | Techniques for maintaining feature point maps |
| US20210343087A1 (en) * | 2020-04-29 | 2021-11-04 | Magic Leap, Inc. | Cross reality system for large scale environments |
| US11276201B1 (en) * | 2020-06-01 | 2022-03-15 | Snap Inc. | Localizing an augmented reality device |
| EP4050564A1 (en) * | 2021-02-26 | 2022-08-31 | Samsung Electronics Co., Ltd. | Method and apparatus with augmented reality pose determination |
| US11417069B1 (en) * | 2021-10-05 | 2022-08-16 | Awe Company Limited | Object and camera localization system and localization method for mapping of the real world |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4728475A1 (en) | 2026-04-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11257292B2 (en) | Object holographic augmentation | |
| US12249036B2 (en) | Augmented reality eyewear with speech bubbles and translation | |
| US11740313B2 (en) | Augmented reality precision tracking and display | |
| US11689877B2 (en) | Immersive augmented reality experiences using spatial audio | |
| US10803663B2 (en) | Depth sensor aided estimation of virtual reality environment boundaries | |
| US10650600B2 (en) | Virtual path display | |
| US11195341B1 (en) | Augmented reality eyewear with 3D costumes | |
| US11915453B2 (en) | Collaborative augmented reality eyewear with ego motion alignment | |
| EP4172708B1 (en) | Visual-inertial tracking using rolling shutter cameras | |
| US10600253B2 (en) | Information processing apparatus, information processing method, and program | |
| US20200413021A1 (en) | Image display system | |
| US12072406B2 (en) | Augmented reality precision tracking and display | |
| US20210406542A1 (en) | Augmented reality eyewear with mood sharing | |
| CN106873300B (en) | Virtual space projection method and device for intelligent robot | |
| EP4728475A1 (en) | Location procedure of an xr device | |
| US20250371827A1 (en) | Information processing device, program, and information processing system | |
| Piérard et al. | I-see-3D! An interactive and immersive system that dynamically adapts 2D projections to the location of a user's eyes | |
| HK40090666B (en) | Visual-inertial tracking using rolling shutter cameras | |
| HK40090666A (en) | Visual-inertial tracking using rolling shutter cameras |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23941773 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023941773 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2023941773 Country of ref document: EP Effective date: 20260113 |
|
| ENP | Entry into the national phase |
Ref document number: 2023941773 Country of ref document: EP Effective date: 20260113 |
|
| ENP | Entry into the national phase |
Ref document number: 2023941773 Country of ref document: EP Effective date: 20260113 |
|
| ENP | Entry into the national phase |
Ref document number: 2023941773 Country of ref document: EP Effective date: 20260113 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023941773 Country of ref document: EP |