IP Library Granted Patent US 11,947,862
Granted Patent B1
US 11,947,862 · App. 18/148,600 · Granted Apr 2, 2024

Streaming native application content to artificial reality devices

Inventors: Jonathan Lindo (Emerald Hills, CA); Agustin Fonts (Santa Clara, CA); Michael James Armstrong (Bellevue, WA); Nandit Tiku (Sammamish, WA); Biju Mathew (San Ramon, CA); Rukmani Ravisundaram (Newark, CA); Bryce Masatsune Matsumori (San Francisco, CA)
Assignee: Meta Platforms Technologies, LLC
G06F3/1454G06F3/011
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,947,862
App. No.
18/148,600
Granted
Apr 2, 2024
Kind
B1
Abstract

Aspects of the present disclosure are directed to streaming interactive content from a native application executing at an artificial reality (XR) device into an artificial reality environment and/or to nearby XR device(s). A shell environment at an XR system can manage the software components of the system. The shell environment can include a shell application and a three-dimensional shell XR environment displayed to a user. An additional application, natively executing at the XR system, can provide a host version of content and a remote version of content. A two-dimensional virtual object displayed in the shell XR environment can display the host version of the content, and the remote version of the content can be streamed to a remote XR system. The remote XR system can display the remote content within another two-dimensional virtual object, for example in another shell XR environment displayed by the remote XR system.

Claims (49)

1. A method for streaming interactive content from a native application executing at an artificial reality (XR) device to one or more nearby artificial reality devices, the method comprising:

displaying, to a user via a XR device, a XR environment and a two-dimensional virtual object within the XR environment, wherein the XR environment is provided by a shell application executing at the XR device and content hosted by the two-dimensional virtual object within the XR environment is provided by an additional application executing at the XR device, the shell application being separate from the additional application;

streaming, to an other XR device, remote content from the additional application executing at the XR device, wherein the other XR device:

in response to the streaming displays, in an other XR environment, an other two-dimensional virtual object that hosts the remote content, wherein the XR device and other XR device are co-located in a physical space; and

receives and processes input, from an other user of the other XR device, relative to the other two-dimensional virtual object, wherein the processed input is transmitted from the other XR device to the XR device; and

performing functionality for the additional application executing at the XR device in response to the transmitted input, wherein the functionality alters the content hosted at the two-dimensional virtual object, a version of the remote content hosted at the other two-dimensional virtual object, or both.

2. The method of claim 1 , wherein the additional application executing at the XR device streams data for a three-dimensional virtual object to the other XR device, and wherein, in response to the streamed data for the three-dimensional virtual object, the other XR device displays an other three-dimensional virtual object within the other XR environment, the other three-dimensional virtual object being associated with the other two-dimensional virtual object.

3. The method of claim 2 ,

wherein the other XR device receives and processes additional input relative to the other three-dimensional virtual object, wherein the additional input is translated into input for the additional application executing at the XR device, and the translated input is transmitted from the other XR device to the XR device; and

wherein additional functionality for the additional application executing at the XR device is performed in response to the translated input, the additional functionality altering the version of the remote content hosted at the other two-dimensional virtual object, the other three-dimensional virtual object, or both.

4. The method of claim 3 , wherein an other shell application at the other XR device manages the other two-dimensional virtual object and the other three-dimensional virtual object, and the other shell application translates the additional input into the translated input, the translated input comprising input relative to the other two-dimensional virtual object.

5. The method of claim 1 , wherein the user, the other user, the XR device, and other XR device are co-located in a physical room.

6. The method of claim 1 , wherein the XR environment and the other XR environment comprise a shared XR environment that includes a virtual presence for the user and a virtual presence for the other user.

7. The method of claim 1 , further comprising:

displaying, to the user via the XR device, a representation two-dimensional virtual object within the XR environment that displays the remote content from the additional application executing at the XR device that is streamed to the other XR device.

8. The method of claim 7 ,

wherein the shell application receives and processes next input, from the user of the XR device, relative to the two-dimensional virtual object, and performs functionality for the additional application executing at the XR device in response to the next input, and

wherein the shell application does not permit the user of the XR device to provide input relative to the representation two-dimensional virtual object.

9. The method of claim 7 , wherein the content from the additional application executing at the XR device hosted at the two-dimensional virtual object differs from the remote content.

10. The method of claim 1 ,

wherein the shell application manages a position of the virtual object within in the XR environment, and the additional application executing at the XR device provides the content displayed at the virtual object, and

wherein the other XR environment is provided by an other shell application executing at the other XR device, the other shell application manages a position of the other virtual object within the other XR environment, and the additional application executing at the XR device provides the remote content streamed to the other XR device and displayed at the other virtual object.

11. The method of claim 10 ,

wherein the shell application manages user input relative to the virtual object received via the XR device and translates the user input for the additional application executing at the XR device, and

wherein the additional application executing at the XR device performs application functionality in response to the translated user input and alters the content displayed at the virtual object.

12. The method of claim 10 , wherein the other shell application manages the input received from the other user of the other XR device and translates the input for the additional application executing at the XR device, the translated input comprising the input transmitted from the other XR device to the XR device.

13. A non-transitory computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform a process for streaming interactive content from a native application executing at an artificial reality (XR) device to one or more nearby artificial reality devices, the process comprising:

displaying, to a user via a XR device, a XR environment and a virtual object, wherein a shell application executing at the XR device provides the XR environment and an additional application, separate from the shell application, executing at the XR device provides the content for the virtual object;

streaming, to an other XR device, remote content from the additional application, wherein the other XR device:

in response to the streaming displays, in an other XR environment, an other virtual object that hosts the remote content; and

receives and processes input relative to the other virtual object, wherein the processed input is transmitted from the other XR device to the XR device; and

performing functionality for the additional application in response to the transmitted input, the functionality altering the content hosted at the virtual object, a version of the remote content, or both.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the additional application executing at the XR device streams data for a three-dimensional virtual object to the other XR device, and wherein, in response to the streamed data for the three-dimensional virtual object, the other XR device displays an other three-dimensional virtual object within the other XR environment, the other three-dimensional virtual object being associated with the other virtual object.

15. The non-transitory computer-readable storage medium of claim 14 ,

wherein the other XR device receives and processes additional input relative to the other three-dimensional virtual object, wherein the additional input is translated into input for the additional application executing at the XR device, and the translated input is transmitted from the other XR device to the XR device; and

wherein additional functionality for the additional application executing at the XR device is performed in response to the translated input, the additional functionality altering the version of the remote content hosted at the other virtual object, the other three-dimensional virtual object, or both.

16. The non-transitory computer-readable storage medium of claim 15 , wherein an other shell application at the other XR device manages the other virtual object and the other three-dimensional virtual object, and the other shell application translates the additional input into the translated input, the translated input comprising input relative to the other virtual object.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the user, the other user, the XR device, and other XR device are co-located in a physical room.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the XR environment and the other XR environment comprise a shared XR environment that includes a virtual presence for the user and a virtual presence for the other user.

19. The non-transitory computer-readable storage medium of claim 13 , further comprising:

displaying, to the user via the XR device, a representation virtual object within the XR environment that displays the remote content from the additional application executing at the other XR device.

20. A computing system for streaming interactive content from a native application executing at an artificial reality device to one or more nearby artificial reality devices, the computing system comprising:

one or more processors; and

one or more memories storing instructions that, when executed by the one or more processors, cause the computing system to perform a process comprising:

displaying, to a user via a XR device of the computing system, a XR environment and a virtual object, wherein a shell application executing at the XR device provides the XR environment and an additional application, separate from the shell application, executing at the XR device provides the content for the virtual object;

streaming, to an other XR device, remote content from the additional application executing at the XR device, wherein the other XR device:

in response to the streaming displays, in an other XR environment, an other virtual object that hosts the remote content, wherein the XR device and other XR device are co-located in a physical space; and

receives and processes input, from an other user of the other XR device, relative to the other virtual object, wherein the processed input is transmitted from the other XR device to the XR device; and

performing functionality for the additional application executing at the XR device in response to the transmitted input, wherein the functionality alters the content hosted at the virtual object, a version of the remote content hosted at the other virtual object, or both.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT FROM MATTHEW TO MATHEW PREVIOUSLY RECORDED AT REEL: 062476 FRAME: 0166. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 1, 2023
From: LINDO, JONATHAN; FONTS, AGUSTIN; ARMSTRONG, MICHAEL JAMES; TIKU, NANDIT; MATHEW, BIJU; RAVISUNDARAM, RUKMANI; MATSUMORI, BRYCE MASATSUNE
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 062900/0580 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: LINDO, JONATHAN; FONTS, AGUSTIN; ARMSTRONG, MICHAEL JAMES; TIKU, NANDIT; MATTHEW, BIJU; RAVISUNDARAM, RUKMANI; MATSUMORI, BRYCE MASATSUNE
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 062476/0166 →
Cited By (5)
US 12,321,659 US 12,353,680 US 12,374,050 US 12,444,152 US 12,547,237