IP Library › Granted Patent US 11,372,655
Granted Patent B2
US 11,372,655 · App. 16/800,562 · Granted Jun 28, 2022

Computer-generated reality platform for generating computer-generated reality environments

Inventors: Helmut Garstenauer (Santa Clara, CA); Martin Garstenauer (Santa Clara, CA); Edwin Iskandar (San Jose, CA); Timothy R. Oriol (San Jose, CA); Geoffrey Stahl (San Jose, CA); Cody J. White (San Francisco, CA)
Assignee: Apple Inc.
G06F9/451G06F3/011G06T19/006
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,372,655
App. No.
16/800,562
Filed
Feb 25, 2020
Granted
Jun 28, 2022
Kind
B2
Art Unit
2611
USPC
345/419
Abstract

The present disclosure relates to providing a computer-generated reality (CGR) platform for generating CGR environments including virtual and augmented reality environments. In some embodiments, the platform includes an operating-system-level (OS-level) process that simulates and renders content in the CGR environment, and one or more application-level processes that provide information related to the content to be simulated and rendered to the OS-level process.

Claims (80)

1. An electronic device, comprising:

one or more processors; and

memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for:

receiving a first input indicative of a request to launch a first application in a three-dimensional computer-generated reality environment;

in response to receiving the first input, initiating a process of the first application;

receiving a second input indicative of a request to launch a second application different from the first application in the three-dimensional computer-generated reality environment;

in response to receiving the second input, initiating a process of the second application different from the process of the first application;

providing to a process of an operating system of the electronic device, by the process of the first application, data object data for a first data object, wherein:

the process of the operating system is different from the process of the first application and from the process of the second application,

the first data object includes a first portion that is subject to a sharing restriction and a second portion that is not subject to the sharing restriction, and

the data object data includes the second portion without including the first portion;

substituting graphic content corresponding to the first portion of the first data object with replacement content;

providing to the process of the operating system, by the process of the second application, a second data object different from the first data object;

rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the first data object in the three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object;

rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the second data object in the three-dimensional computer-generated reality environment; and

causing a display of the rendered three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object.

2. The electronic device of claim 1 , the one or more programs including instructions for:

generating, by the process of the first application, the first data object; and

generating, by the process of the second application, the second data object.

3. The electronic device of claim 1 , wherein the first data object includes data representative of one or more of:

one or more properties of the first data object;

one or more behaviors of the first data object; and

one or more events of the first data object.

4. The electronic device of claim 3 , wherein the one or more properties include a value indicative of an appearance of the rendered three-dimensional representation of the first data object, wherein the three-dimensional representation of the first data object is rendered based on the value indicative of the appearance.

5. The electronic device of claim 3 , wherein the one or more behaviors are indicative of one or more actions by the three-dimensional representation of the first data object in the computer-generated reality environment.

6. The electronic device of claim 3 , wherein the one or more events are indicative of one or more actions by the three-dimensional representation of the first data object performed in response to a state change in the computer-generated reality environment.

7. The electronic device of claim 1 , wherein the process of the operating system operates at a kernel level access level.

8. The electronic device of claim 1 , wherein the process of the first application and the process of the second application operate at a lower access level than a kernel level access level.

9. The electronic device of claim 1 , wherein the three-dimensional representation of the first data object is rendered based on the first data object and the second data object.

10. The electronic device of claim 1 , wherein the operating system and the first application are associated with different service providers.

11. The electronic device of claim 1 , wherein the first application and the second application are associated with different service providers.

12. The electronic device of claim 1 , wherein the electronic device is a headset base station.

13. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for:

receiving a first input indicative of a request to launch a first application in a three-dimensional computer-generated reality environment;

in response to receiving the first input, initiating a process of the first application;

receiving a second input indicative of a request to launch a second application different from the first application in the three-dimensional computer-generated reality environment;

in response to receiving the second input, initiating a process of the second application different from the process of the first application;

providing to a process of an operating system of the electronic device, by the process of the first application, data object data for a first data object, wherein:

the process of the operating system is different from the process of the first application and from the process of the second application,

the first data object includes a first portion that is subject to a sharing restriction and a second portion that is not subject to the sharing restriction, and

the data object data includes the second portion without including the first portion;

substituting graphic content corresponding to the first portion of the first data object with replacement content;

providing to the process of the operating system, by the process of the second application, a second data object different from the first data object;

rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the first data object in the three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object;

rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the second data object in the three-dimensional computer-generated reality environment; and

causing a display of the rendered three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object.

14. The non-transitory computer-readable storage medium of claim 13 , the one or more programs including instructions for:

generating, by the process of the first application, the first data object; and

generating, by the process of the second application, the second data object.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the first data object includes data representative of one or more of:

one or more properties of the first data object;

one or more behaviors of the first data object; and

one or more events of the first data object.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the one or more properties include a value indicative of an appearance of the rendered three-dimensional representation of the first data object, wherein the three-dimensional representation of the first data object is rendered based on the value indicative of the appearance.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the one or more behaviors are indicative of one or more actions by the three-dimensional representation of the first data object in the computer-generated reality environment.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the process of the operating system operates at a kernel level access level.

19. The non-transitory computer-readable storage medium of claim 13 , wherein the process of the first application and the process of the second application operate at a lower access level than a kernel level access level.

20. A method for providing a computer-generated reality platform capable of generating a three-dimensional computer-generated reality environment, the method comprising:

at an electronic device with one or more processors and memory:

receiving a first input indicative of a request to launch a first application in the three-dimensional computer-generated reality environment;

in response to receiving the first input, initiating a process of the first application;

receiving a second input indicative of a request to launch a second application different from the first application in the three-dimensional computer-generated reality environment;

in response to receiving the second input, initiating a process of the second application different from the process of the first application;

providing to a process of an operating system of the electronic device, by the process of the first application, data object data for a first data object, wherein:

the process of the operating system is different from the process of the first application and from the process of the second application,

the first data object includes a first portion that is subject to a sharing restriction and a second portion that is not subject to the sharing restriction, and

the data object data includes the second portion without including the first portion;

substituting graphic content corresponding to the first portion of the first data object with replacement content;

providing to the process of the operating system, by the process of the second application, a second data object different from the first data object;

rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the first data object in the three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object;

rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the second data object in the three-dimensional computer-generated reality environment; and

causing a display of the rendered three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object.

21. The method of claim 20 , further comprising:

generating, by the process of the first application, the first data object; and

generating, by the process of the second application, the second data object.

22. The method of claim 20 , wherein the first data object includes data representative of one or more of:

one or more properties of the first data object;

one or more behaviors of the first data object; and

one or more events of the first data object.

23. The method of claim 22 , wherein the one or more properties include a value indicative of an appearance of the rendered three-dimensional representation of the first data object, wherein the three-dimensional representation of the first data object is rendered based on the value indicative of the appearance.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2020
From: GARSTENAUER, HELMUT; GARSTENAUER, MARTIN; ISKANDAR, EDWIN; ORIOL, TIMOTHY R.; STAHL, GEOFFREY; WHITE, CODY J.
To: APPLE INC.
Reel/Frame 052628/0640 →
Continuity (4)
Continuation PCTUS2018052732 · Sep 25, 2018
Provisional Application 62622725 · Jan 26, 2018
Provisional Application 62565831 · Sep 29, 2017
Related Publication 20200233681A1 · Jul 23, 2020