IP Library Granted Patent US 11,551,403
Granted Patent B2
US 11,551,403 · App. 17/447,902 · Granted Jan 10, 2023

Artificial reality system architecture for concurrent application execution and collaborative 3D scene rendering

Inventors: Denis Gladkov (San Francisco, CA); Daniel Lehmann (Los Gatos, CA); Paul B. Menage (Mountain View, CA); Clifford Merritt Boyd (Mountain View, CA); Anton Vaneev (Oceanside, NY); Luiz Afonso Coimbra Barbosa Silva (Redwood City, CA); Mandeep S Baines (Saratoga, CA); Aaron David Lieberman (Seattle, WA); Rodney Huff (Tiburon, CA); Cyril Daniel Saint Girons (Seattle, WA)
Assignee: Meta Platforms Technologies, LLC
G06T15/005G06F3/011G06F3/017G06F9/45512
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 11,551,403
App. No.
17/447,902
Granted
Jan 10, 2023
Kind
B2
Abstract

The disclosure describes a distributed, pluggable architecture for an artificial reality (AR) system that enables concurrent execution and collaborative scene rendering for multiple artificial reality applications. For example, an AR system includes an image capture device configured to capture image data representative of a physical environment. The AR system also includes a head-mounted display (HMD) configured to output artificial reality content. The AR system further includes a plurality of concurrently executing artificial reality client applications. The AR system also includes a concurrent application engine configured to control rendering the artificial reality content as a common scene that include one or more objects from each of the plurality of artificial reality applications.

Claims (40)

1. A method comprising:

receiving, by a concurrent application engine of an artificial reality system, modeling information of objects from each of a plurality of artificial reality applications;

aggregating, by the concurrent application engine, the modeling information of objects from each of the plurality of artificial reality applications;

rendering, by the concurrent application engine, artificial reality content as a common scene that includes the objects from each of the plurality of artificial reality applications;

validating, by the concurrent application engine, whether the objects can logically be placed on a layout of one or more offer areas specified by the plurality of artificial reality applications; and

sending, by the concurrent application engine, the common scene to a head mounted display (HMD) of the artificial reality system to output the common scene.

2. The method of claim 1 ,

wherein receiving the modeling information of objects from each of the plurality of artificial reality applications comprises receiving, by a client interface of the concurrent application engine, a high-level scene graph comprising a set of functions to specify the modeling information of the objects from each of the plurality of artificial reality applications; and

wherein aggregating the modeling information of objects from each of the plurality of artificial reality applications comprises aggregating, by a backend shell of the concurrent application engine, the modeling information of objects from each of the plurality of artificial reality applications received from the client interface.

3. The method of claim 2 , further comprising:

receiving, by the concurrent application engine, dynamic updates to at least one of the objects from each of the plurality of artificial reality applications; and

rendering, by the concurrent application engine, the common scene that includes the dynamic updates to the objects from each of the plurality of artificial reality applications.

4. The method of claim 3 , wherein the dynamic updates comprise at least one of a user interaction to the objects from each of the plurality of artificial reality applications or a network update to the plurality of artificial reality applications.

5. The method of claim 1 , wherein receiving the modeling information of objects from each of the plurality of artificial reality applications comprises:

receiving information specifying an offer area of the one or more offer areas that specifies a surface for placing the objects of any of the plurality of client applications; and

receiving a request for attachments that specify connections between the objects of the plurality of artificial reality applications and the offer area.

6. The method of claim 5 , wherein receiving information specifying the offer area comprises receiving metadata specifying a specific object to provide the offer area, pose of the offer area relative to the object, surface shape of the offer area, and size of the offer area.

7. The method of claim 5 , further comprising:

automatically placing the objects of any of the plurality of artificial reality applications on the offer area based on heuristic information of the one or more offer areas.

8. The method of claim 7 , wherein the heuristic information of the one or more offer areas comprises at least one of dimensions of the one or more offer areas and the objects placed on the one or more offer areas, semantic information including a type of the one or more offer areas and the objects placed on the one or more offer areas, or physics information of the one or more offer areas and the objects placed on the one or more offer areas.

9. A non-transitory computer-readable medium comprising instructions that, when executed, cause one or more processors of an artificial reality system to:

receive modeling information of objects from each of a plurality of artificial reality applications;

aggregate the modeling information of objects from each of the plurality of artificial reality applications;

render artificial reality content as a common scene that include the objects from each of the plurality of artificial reality applications;

validate whether the objects can logically be placed on a layout of one or more offer areas specified by the plurality of artificial reality applications; and

output the common scene.

10. The non-transitory computer-readable medium of claim 9 ,

wherein to receive the modeling information of objects from each of the plurality of artificial reality applications, the instructions further cause the one or more processors to receive a high-level scene graph comprising a set of functions to specify the modeling information of the objects from each of the plurality of artificial reality applications; and

wherein to aggregate the modeling information of objects from each of the plurality of artificial reality applications, the instructions further cause the one or more processors to aggregate the modeling information of objects from each of the plurality of artificial reality applications received from the client interface.

11. The non-transitory computer-readable medium of claim 10 , wherein the instructions further cause the one or more processors to:

receive dynamic updates to at least one of the objects from each of the plurality of artificial reality applications; and

render the common scene that includes the dynamic updates to the objects from each of the plurality of artificial reality applications.

12. The non-transitory computer-readable medium of claim 11 , wherein the dynamic updates comprise at least one of a user interaction to the objects from each of the plurality of artificial reality applications or a network update to the plurality of artificial reality applications.

13. The non-transitory computer-readable medium of claim 9 , wherein to receive the modeling information of objects from each of the plurality of artificial reality applications, the instructions further cause the one or more processors to:

receive information specifying an offer area of the one or more offer areas that specifies a surface for placing the objects of any of the plurality of client applications; and

receive a request for attachments that specify connections between the objects of the plurality of artificial reality applications and the offer area.

14. The non-transitory computer-readable medium of claim 13 , wherein to receive information specifying the offer area, the instructions further cause the one or more processors to receive metadata specifying a specific object to provide the offer area, pose of the offer area relative to the object, surface shape of the offer area, and size of the offer area.

15. The non-transitory computer-readable medium of claim 13 , wherein the instructions further cause the one or more processors to:

automatically place the objects of any of the plurality of artificial reality applications on the offer area based on heuristic information of the one or more offer areas.

16. The non-transitory computer-readable medium of claim 15 , wherein the heuristic information of the one or more offer areas comprises at least one of dimensions of the one or more offer areas and the objects placed on the one or more offer areas, semantic information including a type of the one or more offer areas and the objects placed on the one or more offer areas, or physics information of the one or more offer areas and the objects placed on the one or more offer areas.

Assignments (1)
CHANGE OF NAME Recorded Jul 21, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060802/0799 →
Continuity (2)
Division 16576367 · Sep 19, 2019
Related Publication 20220005254A1 · Jan 6, 2022
Cited By (1)
US 12,299,835