IP Library › Granted Patent US 12,406,452
Granted Patent B2
US 12,406,452 · App. 18/657,711 · Granted Sep 2, 2025

Virtual anchoring systems and methods for extended reality

Inventors: Michael E. Buerli (San Francisco, CA); Samuel L. Iglesias (Palo Alto, CA); Tyler R. Calderone (Cupertino, CA); Mark A. Ebbole (Austin, TX); Andrew P. Richardson (San Francisco, CA)
Assignee: Apple Inc.
G06T19/006G02B27/017G06F3/04815G06T7/50G06T19/20G06T2207/10028
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,406,452
App. No.
18/657,711
Granted
Sep 2, 2025
Kind
B2
Abstract

Implementations of the subject technology provide virtual anchoring for extended reality (XR) display devices. A device may generate an XR environment that includes computer-generated (CG) content for display relative to various physical objects in a physical environment. In order to position the CG content, an XR application may request a physical anchor object to which the CG content can be anchored. In circumstances in which the physical anchor object is not available in the physical environment, a virtual anchor and/or a virtual anchor object corresponding to the physical anchor object can be provided to which the CG content can be anchored.

Claims (48)

1. A device comprising:

a processor; and

a computer-readable medium storing instructions thereon, which when executed cause the processor to:

obtain, by a system process of an electronic device, environment information for a physical environment of the electronic device;

receive, by the system process, a request for a physical anchor object in the physical environment;

generate, by the system process, a virtual anchor having a location in the physical environment; and

render, by the system process of the electronic device, virtual content for display at the location in the physical environment using the virtual anchor.

2. The device of claim 1 , wherein the instructions further cause the processor to:

update, by the system process, a position or orientation of the virtual content based on information from an application running on the electronic device.

3. The device of claim 1 , wherein the system process includes a mapping engine, wherein the environment information for the physical environment is obtained at least in part by the mapping engine based on one or more sensors of the electronic device.

4. The device of claim 1 , wherein the physical anchor object comprises a general physical object or a specific physical object, wherein the general physical object comprises a planar surface.

5. The device of claim 2 , wherein the instructions further cause the processor to:

receive a virtual object generated by the application, the virtual object corresponding to the physical anchor object, wherein the rendering of the virtual content comprises rendering the virtual object for display relative to the virtual anchor.

6. The device of claim 5 , wherein the virtual object is a first virtual object, wherein the instructions further cause the processor to:

generate a second virtual object; and

render the second virtual object relative to the virtual anchor, wherein a portion of the first virtual object separates a position of the second virtual object from the virtual anchor.

7. The device of claim 1 , wherein the instructions further cause the processor to:

define the virtual anchor relative to at least one physical object in the physical environment.

8. The device of claim 1 , wherein the instructions further cause the processor to:

provide, for display, one or more highlighted locations in the physical environment corresponding to potential locations in the physical environment with sufficient room to display the virtual content.

9. The device of claim 8 , where the one or more highlighted locations are displayed automatically based at least in part on a detected field of view, gaze location, or velocity of movement.

10. The device of claim 1 , wherein the instructions further cause the processor to:

render a virtual portal for display over a portion of the physical environment, wherein rendering the virtual content comprises rendering the virtual content for display in the virtual portal.

11. The device of claim 1 , wherein the instructions further cause the processor to:

determine, by the system process and based on the environment information, that the physical anchor object is not available in the physical environment.

12. A method comprising:

obtaining, by a system process of an electronic device, environment information for a physical environment of the electronic device;

receiving, by the system process, a request for a physical anchor object in the physical environment;

generating, by the system process, a virtual anchor having a location in the physical environment; and

rendering, by the system process of the electronic device, virtual content for display at the location in the physical environment using the virtual anchor.

13. The method of claim 12 , further comprising:

updating, by the system process, a position or orientation of the virtual content based on information from an application running on the electronic device.

14. The method of claim 13 , further comprising:

receiving a virtual object generated by the application, the virtual object corresponding to the physical anchor object, wherein the rendering of the virtual content comprises rendering the virtual object for display relative to the virtual anchor.

15. The method of claim 12 , further comprising:

determining, by the system process and based on the environment information, that the physical anchor object is not available in the physical environment.

16. A non-transitory computer-readable medium comprising instructions, which when executed by a computing device, cause the computing device to:

obtain, by a system process of an electronic device, environment information for a physical environment of the electronic device;

receive, by the system process, a request for a physical anchor object in the physical environment;

generate, by the system process, a virtual anchor having a location in the physical environment; and

render, by the system process of the electronic device, virtual content for display at the location in the physical environment using the virtual anchor.

17. The non-transitory computer-readable medium of claim 16 , wherein the system process includes a mapping engine, wherein the environment information for the physical environment is obtained at least in part by the mapping engine based on one or more sensors of the electronic device.

18. The non-transitory computer-readable medium of claim 16 , wherein the instructions further cause the computing device to:

update, by the system process, a position or orientation of the virtual content based on information from an application running on the electronic device.

19. The non-transitory computer-readable medium of claim 18 , wherein the instructions further cause the computing device to:

receive a virtual object generated by the application, the virtual object corresponding to the physical anchor object, wherein the rendering of the virtual content comprises rendering the virtual object for display relative to the virtual anchor.

20. The non-transitory computer-readable medium of claim 16 , wherein the instructions further cause the computing device to:

determine, by the system process and based on the environment information, that the physical anchor object is not available in the physical environment.

Continuity (3)
Continuation 17184588 · Feb 24, 2021
Provisional Application 63011973 · Apr 17, 2020
Related Publication 20240290052A1 · Aug 29, 2024
References Cited (25)
US 8022967B2 · Okuno et al. · 2011 [cited by applicant]
US 9269003B2 · Schmalstieg · 2016 [cited by applicant]
US 10186087B2 · Davis et al. · 2019 [cited by applicant]
US 10319150B1 · Canada · 2019 [cited by examiner]
US 10885701B1 · Patel · 2021 [cited by applicant]
US 20150062117A1 · Reitmayr · 2015 [cited by examiner]
US 20190197599A1 · Zia · 2019 [cited by applicant]
US 20190221040A1 · Shantharam · 2019 [cited by applicant]
US 20190340825A1 · Laurent · 2019 [cited by examiner]
US 20200081530A1 · Greenberg · 2020 [cited by applicant]
US 20200118346A1 · Gough · 2020 [cited by applicant]
US 20200151965A1 · Forbes · 2020 [cited by applicant]
US 20200226823A1 · Stachniak · 2020 [cited by examiner]
CN 103460256A · 2013 [cited by applicant]
CN 104603865A · 2015 [cited by applicant]
CN 107251100A · 2017 [cited by applicant]
CN 110603515A · 2019 [cited by applicant]
EP 3495926 · 2019 [cited by applicant]
WO WO2012135546 · 2012 [cited by applicant]
Chinese Notice of Allowance from Chinese Patent Application No. 202110407376.4, dated Sep. 23, 2024, 6 pages including English language translation. [cited by applicant]
Chinese Office Action from Chinese Patent Application No. 202110407376.4, dated Jan. 27, 2024, 13 pages including machine-generated English language translation. [cited by applicant]
Extended European Search Report from European Patent Application No. 21169012.8, dated Sep. 16, 2021, 9 pages. [cited by applicant]
European Office Action from European Patent Application No. 21169012.8, dated Apr. 3, 2023, 5 pages. [cited by applicant]
European Office Action from European Patent Application No. 21169012.8, dated Feb. 9, 2024, 5 pages. [cited by applicant]
Indian Office Action from Indian Patent Application No. 202114017465, dated Feb. 9, 2022, 5 pages. [cited by applicant]