IP Library Granted Patent US 11,386,623
Granted Patent B2
US 11,386,623 · App. 16/839,727 · Granted Jul 12, 2022

Methods, systems, and computer program product for managing and displaying webpages in a virtual three-dimensional space with a mixed reality system

Inventors: Yi Huang (Plantation, FL); Genevieve Mak (Fort Lauderdale, FL)
Assignee: Magic Leap, Inc.
G06T19/006G06F3/1454G06T19/20G06T2219/2016
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,386,623
App. No.
16/839,727
Granted
Jul 12, 2022
Kind
B2
Abstract

Disclosed are methods, systems, and articles of manufacture for managing and displaying web pages and web resources in a virtual three-dimensional (3D) space with an extended reality system. These techniques receive an input for 3D transform for a web page or a web page panel therefor. In response to the input, a browser engine coupled to a processor of an extended reality system determines 3D transform data for the web page or the web page panel based at least in part upon the 3D transform of the web page or the web page panel, wherein the 3D transform comprises a change in 3D position, rotation, or scale of the web page or the web page panel therefor in a virtual 3D space. A universe browser engine may present contents of the web page in a virtual 3D space based at least in part upon the 3D transform data.

Claims (118)

1. A computer implemented method, comprising:

receiving, at an extended reality system, an input from a web site for a three-dimensional (3D) transform for a web page or a web page panel therefor, wherein the 3D transform comprises a change in 3D position data, 3D rotation data, or scale of the web page or the web page panel therefor;

determining 3D transform data for the web page or the web page panel therefor based at least in part upon the 3D transform;

determining a 3D boundary for a virtual 3D space based at least in part upon the 3D transform data for the web page or the web page panel therefor, wherein the 3D transform transforms the web page or the web page panel to a 3D position in the virtual 3D space having the 3D boundary[[determined by the universe browser engine]];

presenting contents of the web page at a candidate position in the virtual 3D space based at least in part upon the 3D position indicated by the 3D transform data;

modifying the 3D transform data into updated 3D transform data in response to a user moving and/or rotating the web page;

receiving, at the extended reality system, a request from the web site for an updated 3D transform;

updating the 3D transform data with the updated 3D transform; and

returning, by the extended reality system, the updated 3D transform data to the web site.

2. The computer implemented method of claim 1 , further comprising

storing the 3D transform data in a non-transitory computer readable medium.

3. The computer implemented method of claim 1 , wherein

a browser engine performs the 3D transform receiving, 3D transform data determination, 3D transform update request receiving, and updated 3D transform data returning steps; and

a universe browser engine performs the 3D boundary determination, web page content presenting, web page moving and/or rotating, and 3D transform data updating steps.

4. The computer implemented method of claim 3 , further comprising

sending the 3D transform data from the browser engine to the universe browser engine.

5. The computer implemented method of claim 3 , further comprising:

initializing the browser engine;

determining a unique identifier for the browser engine; and

registering a listener instance for the browser engine with the universe browser engine.

6. The computer implemented method of claim 5 , further comprising:

identifying or generating a virtual three-dimensional volume having a three-dimensional boundary in the virtual 3D space created by the extended reality system for the web page or the web page panel therefor based in part or in whole upon one or more behavior types;

associating, by the universe browser engine, the virtual three-dimensional volume with the listener instance;

assigning the virtual three-dimensional volume to the browser engine; and

positioning the virtual three-dimensional volume in the virtual 3D space at least by using at least a scene graph structure.

7. The computer implemented method of claim 1 , further comprising

determining an existing prism or generating a new prism in the virtual 3D space, wherein the contents of the web page are confined by the prism.

8. The computer implemented method of claim 1 , further comprising:

receiving a first user input indicative of a user's interest in contents of the web page or the web page panel therefor;

in response to the first user input, generating the contents of the web page; and

determining a virtual three-dimensional volume in the virtual 3D space into which the contents are to be rendered.

9. The computer implemented method of claim 8 , further comprising:

receiving a second user input indicative of the 3D transform for the web page or the web page panel therefor; and

rendering the contents into the virtual three-dimensional volume in the virtual 3D space based at least in part upon the second user input.

10. The computer implemented method of claim 1 , further comprising:

identifying a transform tree structure and a node in the transform tree structure for the web page or the web page panel therefor; and

determining whether the node has a parent node in the transform tree structure.

11. The computer implemented method of claim 10 , further comprising identifying one or more parents of the web page or the web page panel therefor from the transform tree structure.

12. The computer implemented method of claim 1 , wherein the 3D transform is limited to modify only an orientation of the web page or the web page panel therefor.

13. A system, comprising:

at least one processor;

a non-transitory computer accessible storage medium storing thereupon program code which, when executed by the at least one processor, causes the at least one processor to:

receive, in an extended reality system, an input from a web site for a three-dimensional (3D) transform for a web page or a web page panel therefor,

wherein the 3D transform comprises a change in 3D position data, 3D rotation data, or scale of the web page or the web page panel therefor;

determine 3D transform data for the web page or the web page panel therefor based at least in part upon the 3D transform;

determine a 3D boundary for a virtual 3D space based at least in part upon the 3D transform data for the web page or the web page panel therefor, wherein the 3D transform transforms the web page or the web page panel to a 3D position in the virtual 3D space having the 3D boundary[[determined by the universe browser engine]];

present contents of the web page at a candidate position in the virtual 3D space based at least in part upon the 3D position indicated by 3D transform data;

modify the 3D transform data into updated 3D transform data in response to a user moving and/or rotating the web page;

receive, at the extended reality system, a request from the web site for an updated 3D transform;

update the 3D transform data with the updated 3D transform; and

return, by the extended reality system, the updated 3D transform data to the web site.

14. The system for claim 13 , the at least one processor further executing the program code at least further to:

store the 3D transform data in a non-transitory computer readable medium.

15. The system for claim 13 , wherein:

the 3D transform data determination, 3D transform update request receiving, and updated 3D transform data returning steps are performed by a browser engine; and

the 3D boundary determination, web page content presenting, web page moving and/or rotating, and 3D transform data updating steps are performed by a universe browser engine.

16. The system for claim 15 , the at least one processor further executing the program code at least further to:

send the 3D transform data from the browser engine to the universe browser engine.

17. The system for claim 15 , the at least one processor further executing the program code to:

initialize the browser engine;

determine a unique identifier for the browser engine; and

register a listener instance for the browser engine with the universe browser engine.

18. The system for claim 17 , the at least one processor further executing the program code to:

identify or generate a virtual three-dimensional volume having a three-dimensional boundary in the virtual 3D space created by the extended reality system for the web page or the web page panel therefor based in part or in whole upon one or more behavior types;

associate, by the universe browser engine, the virtual three-dimensional volume with the listener instance;

assign the virtual three-dimensional volume to the browser engine; and

position the virtual three-dimensional volume in the virtual 3D space at least by using at least a scene graph structure.

19. The system for claim 13 , the at least one processor further executing the program code at least further to:

determine an existing prism or generate a new prism in the virtual 3D space, wherein the contents of the web page are confined by the prism.

20. The system for claim 13 , the at least one processor further executing the program code to:

receive a first user input indicative of a user's interest in contents of the web page or the web page panel therefor;

in response to the first user input, generate the contents of the web page; and

determine a virtual three-dimensional volume in the virtual 3D space in which the contents are to be rendered.

21. The system for claim 20 , the at least one processor further executing the program code to:

receive a second user input indicative of the 3D transform for the web page or the web page panel therefor; and

render the contents into the virtual three-dimensional volume in the virtual 3D space based at least in part upon the second user input.

22. The system for claim 13 , the at least one processor further executing the program code to:

identify a transform tree structure and a node in the transform tree structure for the web page or the web page panel therefor; and

determine whether the node has a parent node in the transform tree structure.

23. The system for claim 22 , the at least one processor further executing the program code to identify one or more parents of the web page or the web page panel therefor from the transform tree structure.

24. The system claim 13 , wherein the 3D transform is limited to modify only an orientation of the web page or the web page panel therefor.

25. An extended reality system, comprising:

at least one processor;

a browser engine coupled to the at least one processor;

a universe browser engine coupled to the at least one processor and the browser engine; and

a non-transitory computer accessible storage medium storing thereupon program code which, when executed by the at least one processor, causes the at least one processor to:

receive, at the browser engine of a browser in an extended reality system, one or more requests from a web site pertaining to a presentation of a webpage on the extended reality system;

receive, at the universe browser engine, a request to set a three-dimensional (3D) transform of the web page to be displayed or a web page panel therefor in a virtual 3D space provided by the extended reality system, wherein the 3D transform comprises a change in 3D position data, 3D rotation data, or scale of the web page or the web page panel therefor;

determine, by the universe browser engine, 3D transform data in response to the request to set the 3D transform of the web page or the web page panel;

determine, by the universe browser engine, a 3D boundary for a virtual 3D space based at least in part upon the 3D transform data for the webpage, wherein the 3D transform transforms the webpage to a 3D position in the virtual 3D space having the 3D boundary determined by the universe browser engine;

present, by the universe browser engine, contents of the web page at a candidate position in the virtual 3D space based at least in part upon the 3D position indicated by the 3D transform data;

modify, by the universe browser engine, the 3D transform data into updated 3D transform data in response to a user moving and/or rotating the web page;

receive, at the browser engine, a request from the web site for an updated 3D transform;

update, by the universe browser engine, the 3D transform data with the updated 3D transform; and

return, by the browser engine, the updated 3D transform data to the web site.

26. The extended reality system of claim 25 , wherein the program code which, when executed by the at least one processor, further causes the at least one processor to determine an existing prism or generate a new prism in the virtual 3D space, wherein the contents of the web page are confined by the prism.

27. The extended reality system of claim 25 ,

wherein the program code which, when executed by the at least one processor, further causes the at least one processor to:

initialize the browser engine;

determine a unique identifier for the browser engine; and

register a listener instance for the browser engine with the universe browser engine.

28. The extended reality system of claim 27 , wherein the program code which, when executed by the at least one processor, further causes the at least one processor to:

identify or generate a virtual three-dimensional volume having a three-dimensional boundary in the virtual 3D space created by the extended reality system for the web page or the web page panel therefor based in part or in whole upon one or more behavior types;

associate, by the universe browser engine, the virtual three-dimensional volume with the listener instance;

assign the virtual three-dimensional volume to the browser engine; and

position the virtual three-dimensional volume in the virtual 3D space at least by using at least a scene graph structure.

29. The extended reality system of claim 25 , wherein the program code which, when executed by the at least one processor, further causes the at least one processor to:

receive a first user input indicative of a user's interest in contents of the web page or the web page panel therefor;

in response to the first user input, generating the contents of the web page; and

determining a virtual three-dimensional volume in the virtual 3D space into which the contents are to be rendered.

30. The extended reality system of claim 29 , wherein the program code which, when executed by the at least one processor, further causes the at least one processor to:

receive a second user input indicative of the 3D transform for the web page or the web page panel therefor; and

render the contents into the virtual three-dimensional volume in the virtual 3D space based at least in part upon the second user input.

31. The extended reality system of claim 25 , wherein the program code which, when executed by the at least one processor, further causes the at least one processor to:

identify a transform tree structure and a node in the transform tree structure for the web page or the web page panel therefor; and

determine whether the node has a parent node in the transform tree structure.

32. The extended reality system of claim 25 , wherein the program code which, when executed by the at least one processor, further causes the at least one processor to identify one or more parents of the web page or the web page panel therefor from the transform tree structure.

33. The extended reality system of claim 25 , wherein the 3D transform is limited to modify only an orientation of the web page or the web page panel therefor.

Assignments (2)
SECURITY INTEREST Recorded May 24, 2022
From: MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC; MAGIC LEAP, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 060338/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2021
From: HUANG, YI; MAK, GENEVIEVE
To: MAGIC LEAP, INC.
Reel/Frame 055212/0139 →
Continuity (3)
Provisional Application 62976254 · Feb 13, 2020
Provisional Application 62828917 · Apr 3, 2019
Related Publication 20200320794A1 · Oct 8, 2020
Cited By (1)
US 12,573,156