IP Library Granted Patent US 10,930,077
Granted Patent B1
US 10,930,077 · App. 16/131,068 · Granted Feb 23, 2021

Systems and methods for rendering augmented reality mapping data

Inventors: Richard Andrew Newcombe (Seattle, WA); Jakob Julian Engel (Seattle, WA); Julian Straub (Redmond, WA); Thomas John Whelan (Redmond, WA); Steven John Lovegrove (Woodinville, WA); Yuheng Ren (Newcastle, WA)
Assignee: Facebook Technologies, LLC
G06T19/006G06K9/00671G06T7/74G06T15/20G06T17/05G06T2207/30244
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 10,930,077
App. No.
16/131,068
Granted
Feb 23, 2021
Kind
B1
Abstract

The disclosed computer-implemented method may include determining a local position and a local orientation of a local device in an environment and receiving, by the local device and from a mapping system, object data for objects within the environment. The object data may include position data and orientation data for the objects and relationship data between the objects. The method may also include deriving, based on the object data received from the mapping system, and the local position and orientation of the local device, a contextual rendering of the objects that provides contextual data that modifies a user's view of the environment. The method may include displaying, using the local device, the contextual rendering of at least one of the plurality of objects to modify the user's view of the environment. Various other methods, systems, and computer-readable media are also disclosed.

Claims (57)

1. A method comprising:

determining a local position and a local orientation of a local device in an environment;

receiving, by the local device and from a mapping system, object data for a plurality of objects within the environment, wherein the object data includes position data and orientation data for each of the plurality of objects and relationship data between the plurality of objects;

deriving, based on the object data received from the mapping system, the local position of the local device, the local orientation of the local device, and contextual settings, a contextual rendering of at least one of the plurality of objects that provides contextual data that modifies a user's view of the environment, wherein the contextual settings indicate the contextual data to include an object interaction that includes a description of both a change from a past state of the at least one of the plurality of objects to a current state of the at least one of the plurality of objects and which of the plurality of objects caused the change, and wherein the object interaction is determined from the relationship data; and

displaying, using the local device, the contextual rendering of at least one of the plurality of objects to modify the user's view of the environment.

2. The method of claim 1 , further comprising:

sending, to the mapping system, the local position and the local orientation of the local device;

selecting, by the mapping system, the plurality of objects based on the local position and the local orientation of the local device; and

selecting, by the mapping system, the object data for the selected plurality of objects.

3. The method of claim 2 , wherein selecting the object data for the plurality of objects is further based on contextual settings.

4. The method of claim 1 , wherein the contextual settings include at least one of identifying objects, hiding visible objects, showing occluded objects, showing past states of objects, showing current states of objects, identifying interactions between objects, or playing audio outside of detection by the local device.

5. The method of claim 4 , wherein deriving the contextual rendering comprises:

determining whether at least one of the plurality of objects is occluded in the user's view of the environment based on both the local position and the local orientation of the local device and the position data of at least one of the plurality of objects; and

rendering a contextual representation of at least one of the plurality of objects when at least one of the plurality of objects is occluded in the user's view of the environment and the contextual settings indicate showing occluded objects.

6. The method of claim 5 , wherein the contextual representation comprises at least one of an outline rendering, an opaque rendering, a transparent rendering, or an icon.

7. The method of claim 4 , wherein deriving the contextual rendering comprises:

determining whether at least one of the plurality of objects is visible in the user's view of the environment based on both the local position and the local orientation of the local device and the position data of the at least one of the plurality of objects; and

rendering a contextual representation of at least one of the plurality of objects when at least one of the plurality of objects is visible in the user's view of the environment and the contextual settings indicate hiding visible objects, wherein the contextual representation comprises at least one of an outline rendering, a transparent rendering, or an icon.

8. The method of claim 4 , wherein deriving the contextual rendering comprises:

determining, based on the contextual settings, whether to render additional contextual data related to at least one of the plurality of objects; and

including, in the contextual rendering, the additional contextual data.

9. The method of claim 8 , wherein the additional contextual data comprises at least one of a rendering corresponding to a past state, an indication of an interaction between objects, or an audio file.

10. The method of claim 1 , wherein the plurality of objects includes a virtual object.

11. A system comprising:

one or more processors;

a memory comprising instructions that when executed by the one or more processors cause the system to:

determine a local position and a local orientation of a local device in an environment;

receive, by the local device and from a mapping system, object data for a plurality of objects within the environment, wherein the object data includes position data and orientation data for each of the plurality of objects and relationship data between the plurality of objects;

derive, based on the object data received from the mapping system, the local position of the local device, the local orientation of the local device, and contextual settings, a contextual rendering of at least one of the plurality of objects that provides contextual data that modifies a user's view of the environment, wherein the contextual settings indicate the contextual data to include an object interaction that includes a description of both a change from a past state of the at least one of the plurality of objects to a current state of the at least one of the plurality of objects and which of the plurality of objects caused the change, and wherein the object interaction is determined from the relationship data; and

display, using the local device, the contextual rendering of at least one of the plurality of objects to modify the user's view of the environment.

12. The system of claim 11 , wherein the instructions further comprise instructions for:

sending, to the mapping system, the local position and the local orientation of the local device;

selecting, by the mapping system, the plurality of objects based on the local position and the local orientation of the local device; and

selecting, by the mapping system, the object data for the selected plurality of objects.

13. The system of claim 11 , wherein the contextual settings include at least one of identifying objects, hiding visible objects, showing occluded objects, showing past states of objects, showing current states of objects, identifying interactions between objects, or playing audio outside of detection by the local device.

14. The system of claim 13 , wherein deriving the contextual rendering comprises:

determining whether at least one of the plurality of objects is occluded in the user's view of the environment based on both the local position and the local orientation of the local device and the position data of at least one of the plurality of objects; and

rendering a contextual representation of at least one of the plurality of objects when at least one of the plurality of objects is occluded in the user's view of the environment and the contextual settings indicate showing occluded objects, wherein the contextual representation comprises at least one of an outline rendering, an opaque rendering, a transparent rendering, or an icon.

15. The system of claim 13 , wherein deriving the contextual rendering comprises:

determining whether at least one of the plurality of objects is visible in the user's view of the environment based on both the local position and the local orientation of the local device and the position data of the at least one of the plurality of objects; and

rendering a contextual representation of at least one of the plurality of objects when at least one of the plurality of objects is visible in the user's view of the environment and the contextual settings indicate hiding visible objects, wherein the contextual representation comprises at least one of an outline rendering, a transparent rendering, or an icon.

16. The system of claim 13 , wherein deriving the contextual rendering comprises:

determining, based on the contextual settings, whether to render additional contextual data related to at least one of the plurality of objects; and

including, in the contextual rendering, the additional contextual data, wherein the additional contextual data comprises at least one of a rendering corresponding to a past state, an indication of an interaction between objects, or an audio file.

17. A non-transitory computer-readable medium comprising computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

determine a local position and a local orientation of a local device in an environment;

receive, by the local device and from a mapping system, object data for a plurality of objects within the environment, wherein the object data includes position data and orientation data for each of the plurality of objects and relationship data between the plurality of objects;

derive, based on the object data received from the mapping system, the local position of the local device, the local orientation of the local device, and contextual settings, a contextual rendering of at least one of the plurality of objects that provides contextual data that modifies a user's view of the environment, wherein the contextual settings indicate the contextual data to include an object interaction that includes a description of both a change from a past state of the at least one of the plurality of objects to a current state of the at least one of the plurality of objects and which of the plurality of objects caused the change, and wherein the object interaction is determined from the relationship data; and

display, using the local device, the contextual rendering of at least one of the plurality of objects to modify the user's view of the environment.

18. The computer-readable medium of claim 17 , further comprising instructions for:

sending, to the mapping system, the local position and the local orientation of the local device;

selecting, by the mapping system, the plurality of objects based on the local position and the local orientation of the local device; and

selecting, by the mapping system, the object data for the selected plurality of objects.

19. The computer-readable medium of claim 17 , wherein the contextual settings include at least one of identifying objects, hiding visible objects, showing occluded objects, showing past states of objects, showing current states of objects, identifying interactions between objects, or playing audio outside of detection by the local device.

20. The computer-readable medium of claim 19 , wherein deriving the contextual rendering comprises:

determining, based on the contextual settings, whether to render additional contextual data related to at least one of the plurality of objects; and

including, in the contextual rendering, the additional contextual data, wherein the additional contextual data comprises at least one of a rendering corresponding to a past state, an indication of an interaction between objects, or an audio file.

Assignments (3)
CHANGE OF NAME Recorded May 26, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060199/0876 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2019
From: NEWCOMBE, RICHARD ANDREW; ENGEL, JAKOB JULIAN; STRAUB, JULIAN; WHELAN, THOMAS JOHN; LOVEGROVE, STEVEN JOHN; REN, YUHENG
To: OCULUS VR, LLC
Reel/Frame 050973/0909 →
CHANGE OF NAME Recorded Sep 20, 2018
From: OCULUS VR, LLC
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 047112/0836 →