IP Library › Granted Patent US 12,321,659
Granted Patent B1
US 12,321,659 · App. 18/589,088 · Granted Jun 3, 2025

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 12,321,659
App. No.
18/589,088
Filed
Feb 27, 2024
Granted
Jun 3, 2025
Kind
B1
Art Unit
2619
USPC
345/156
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 (57)

1. 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 an application executing at an artificial reality (XR) device to one or more separate artificial reality devices, the process comprising:

displaying, to a user via an XR device, an XR environment, wherein a shell application executing at the XR device provides the XR environment and the XR device is executing an additional application providing content to the shell application;

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

in response to the streaming, outputs a version of the remote content; and

receives and processes input relative to the remote content, 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.

2. The non-transitory computer-readable storage medium 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 outputting the version of the remote content includes displaying an other three-dimensional virtual object, within an other XR environment, associated with the three-dimensional virtual object.

3. The non-transitory computer-readable storage medium of claim 2 ,

wherein the input relative to the remote content is input relative to the other three-dimensional virtual object;

wherein the input is translated into input for the additional application executing at the XR device before being transmitted from the other XR device to the XR device; and

wherein the performed functionality includes A) altering the three-dimensional virtual object, B) causing an alteration to the other three-dimensional virtual object, or C) both.

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

5. The non-transitory computer-readable storage medium of claim 1 , wherein the XR environment and an other XR environment provided by the other XR device are a shared XR environment that includes a virtual presence for the user and a virtual presence for an other user of the other XR device.

6. The non-transitory computer-readable storage medium of claim 1 , wherein the process further comprises:

displaying, to the user via the XR device and in addition to the content for the shell application, a representation virtual object within the XR environment that displays the version of the remote content that is being output by the other XR device.

7. The non-transitory computer-readable storage medium of claim 1 , wherein the content for the shell application is provided as a first virtual object by the XR device, the version of the remote content is provided as a second virtual object by the other XR device, and the first virtual object differs in display properties from the second virtual object.

8. The non-transitory computer-readable storage medium of claim 1 ,

wherein the content provided to the shell application is output to a virtual object and the shell application manages a position of the virtual object within the XR environment; and

wherein the other XR devices executes an other shell application that manages a position of an other virtual object that includes the version of the remote content.

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

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.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the other shell application translates the input, received at the other XR device, for the additional application executing at the XR device.

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

displaying, to a user via an XR device, an XR environment, wherein a shell application executing at the XR device provides the XR environment and the XR device is executing an additional application providing content to the shell application;

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

in response to the streaming, outputs a version of the remote content; and

receives and processes input relative to the remote content, 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.

12. The method of claim 11 ,

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 outputting the version of the remote content includes displaying an other three-dimensional virtual object, within an other XR environment, associated with the three-dimensional virtual object.

13. The method of claim 12 ,

wherein the input relative to the remote content is input relative to the other three-dimensional virtual object;

wherein the input is translated into input for the additional application executing at the XR device before being transmitted from the other XR device to the XR device; and

wherein the performed functionality includes A) altering the three-dimensional virtual object, B) causing an alteration to the other three-dimensional virtual object, or C) both.

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

15. The method of claim 11 , wherein the XR environment and an other XR environment provided by the other XR device are a shared XR environment that includes a virtual presence for the user and a virtual presence for an other user of the other XR device.

16. The method of claim 11 , wherein the process further comprises:

displaying, to the user via the XR device and in addition to the content for the shell application, a representation virtual object within the XR environment that displays the version of the remote content that is being output by the other XR device.

17. A computing system for streaming interactive content from an application executing at an artificial reality (XR) device to one or more separate 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 an XR device, an XR environment, wherein a shell application executing at the XR device provides the XR environment and the XR device is executing an additional application providing content to the shell application;

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

in response to the streaming, outputs a version of the remote content; and

receives and processes input relative to the remote content, 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.

18. The computing system of claim 17 , wherein the content for the shell application is provided as a first virtual object by the XR device, the version of the remote content is provided as a second virtual object by the other XR device, and the first virtual object differs in display properties from the second virtual object.

19. The computing system of claim 17 ,

wherein the content provided to the shell application is output to a virtual object and the shell application manages a position of the virtual object within the XR environment; and

wherein the other XR devices executes an other shell application that manages a position of an other virtual object that includes the version of the remote content.

20. The computing system of claim 19 ,

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.

Continuity (1)
Continuation 18148600 · Dec 30, 2022
References Cited (205)
US 770149A · Bailey · 1904 [cited by applicant]
US 6842175B1 · Schmalstieg et al. · 2005 [cited by applicant]
US 7650575B2 · Cummins et al. · 2010 [cited by applicant]
US 7701439B2 · Hillis et al. · 2010 [cited by applicant]
US 8335991B2 · Douceur et al. · 2012 [cited by applicant]
US 8558759B1 · Prada Gomez et al. · 2013 [cited by applicant]
US 8947351B1 · Noble · 2015 [cited by applicant]
US 9055404B2 · Setlur et al. · 2015 [cited by applicant]
US 9081177B2 · Wong et al. · 2015 [cited by applicant]
US 9117274B2 · Liao et al. · 2015 [cited by applicant]
US 9292089B1 · Sadek · 2016 [cited by applicant]
US 9477368B1 · Filip et al. · 2016 [cited by applicant]
US 9530252B2 · Poulos et al. · 2016 [cited by applicant]
US 9817472B2 · Lee et al. · 2017 [cited by applicant]
US 10127290B1 · Armstrong et al. · 2018 [cited by applicant]
US 10220303B1 · Schmidt et al. · 2019 [cited by applicant]
US 10248284B2 · Itani et al. · 2019 [cited by applicant]
US 10473935B1 · Gribetz et al. · 2019 [cited by applicant]
US 10477104B1 · Roessler · 2019 [cited by applicant]
US 10504277B1 · Haitani · 2019 [cited by examiner]
US 10521944B2 · Sareen et al. · 2019 [cited by applicant]
US 10713831B2 · Arana · 2020 [cited by examiner]
US 10796489B1 · Cordes · 2020 [cited by examiner]
US 10867450B2 · Todeschini · 2020 [cited by applicant]
US 10909762B2 · Karalis et al. · 2021 [cited by applicant]
US 10963144B2 · Fox et al. · 2021 [cited by applicant]
US 11023096B2 · Schneider et al. · 2021 [cited by applicant]
US 11087029B1 · Satpathy · 2021 [cited by examiner]
US 11087529B2 · Yeung et al. · 2021 [cited by applicant]
US 11126320B1 · Thompson · 2021 [cited by examiner]
US 11132066B1 · Blachly · 2021 [cited by examiner]
US 11132827B2 · Gladkov · 2021 [cited by examiner]
US 11176755B1 · Tichenor et al. · 2021 [cited by applicant]
US 11238664B1 · Tavakoli et al. · 2022 [cited by applicant]
US 11947862B1 · Lindo et al. · 2024 [cited by applicant]
US 12008717B2 · Noris et al. · 2024 [cited by applicant]
US 20080089587A1 · Kim et al. · 2008 [cited by applicant]
US 20090313299A1 · Bonev et al. · 2009 [cited by applicant]
US 20100251177A1 · Geppert et al. · 2010 [cited by applicant]
US 20100306716A1 · Perez · 2010 [cited by applicant]
US 20110267265A1 · Stinson · 2011 [cited by applicant]
US 20120069168A1 · Huang et al. · 2012 [cited by applicant]
US 20120143358A1 · Adams et al. · 2012 [cited by applicant]
US 20120188279A1 · Demaine · 2012 [cited by applicant]
US 20120206345A1 · Langridge · 2012 [cited by applicant]
US 20120275686A1 · Wilson et al. · 2012 [cited by applicant]
US 20120293544A1 · Miyamoto et al. · 2012 [cited by applicant]
US 20130051615A1 · Lim et al. · 2013 [cited by applicant]
US 20130063345A1 · Maeda · 2013 [cited by applicant]
US 20130069860A1 · Davidson · 2013 [cited by applicant]
US 20130117688A1 · Yerli · 2013 [cited by applicant]
US 20130125066A1 · Klein et al. · 2013 [cited by applicant]
US 20130141419A1 · Mount · 2013 [cited by examiner]
US 20130147793A1 · Jeon et al. · 2013 [cited by applicant]
US 20130169682A1 · Novak et al. · 2013 [cited by applicant]
US 20130265220A1 · Fleischmann · 2013 [cited by examiner]
US 20140125598A1 · Cheng et al. · 2014 [cited by applicant]
US 20140149901A1 · Hunter · 2014 [cited by applicant]
US 20140236996A1 · Masuko et al. · 2014 [cited by applicant]
US 20140268065A1 · Ishikawa et al. · 2014 [cited by applicant]
US 20140357366A1 · Koganezawa et al. · 2014 [cited by applicant]
US 20140375683A1 · Salter et al. · 2014 [cited by applicant]
US 20140375691A1 · Kasahara · 2014 [cited by applicant]
US 20140378022A1 · Muthyala et al. · 2014 [cited by applicant]
US 20150015504A1 · Lee et al. · 2015 [cited by applicant]
US 20150035746A1 · Cockburn et al. · 2015 [cited by applicant]
US 20150054742A1 · Imoto et al. · 2015 [cited by applicant]
US 20150062160A1 · Sakamoto et al. · 2015 [cited by applicant]
US 20150077592A1 · Fahey · 2015 [cited by applicant]
US 20150094142A1 · Stafford · 2015 [cited by examiner]
US 20150153833A1 · Pinault et al. · 2015 [cited by applicant]
US 20150160736A1 · Fujiwara · 2015 [cited by applicant]
US 20150169076A1 · Cohen et al. · 2015 [cited by applicant]
US 20150181679A1 · Liao et al. · 2015 [cited by applicant]
US 20150206321A1 · Scavezze et al. · 2015 [cited by applicant]
US 20150220150A1 · Plagemann et al. · 2015 [cited by applicant]
US 20150253862A1 · Seo et al. · 2015 [cited by applicant]
US 20150261659A1 · Bader et al. · 2015 [cited by applicant]
US 20150356774A1 · Gal et al. · 2015 [cited by applicant]
US 20160026253A1 · Bradski et al. · 2016 [cited by applicant]
US 20160093108A1 · Mao · 2016 [cited by examiner]
US 20160110052A1 · Kim et al. · 2016 [cited by applicant]
US 20160147308A1 · Gelman et al. · 2016 [cited by applicant]
US 20160170603A1 · Bastien et al. · 2016 [cited by applicant]
US 20160173359A1 · Brenner · 2016 [cited by examiner]
US 20160180590A1 · Kamhi et al. · 2016 [cited by applicant]
US 20160378291A1 · Pokrzywka · 2016 [cited by applicant]
US 20170060230A1 · Faaborg et al. · 2017 [cited by applicant]
US 20170075420A1 · Yu et al. · 2017 [cited by applicant]
US 20170076500A1 · Maggiore et al. · 2017 [cited by applicant]
US 20170109936A1 · Powderly · 2017 [cited by examiner]
US 20170139478A1 · Jeon et al. · 2017 [cited by applicant]
US 20170192513A1 · Karmon et al. · 2017 [cited by applicant]
US 20170206691A1 · Harrises · 2017 [cited by examiner]
US 20170242675A1 · Deshmukh · 2017 [cited by applicant]
US 20170243465A1 · Bourne, Jr. et al. · 2017 [cited by applicant]
US 20170262063A1 · Blénessy et al. · 2017 [cited by applicant]
US 20170278304A1 · Hildreth et al. · 2017 [cited by applicant]
US 20170287225A1 · Powderly et al. · 2017 [cited by applicant]
US 20170296363A1 · Yetkin et al. · 2017 [cited by applicant]
US 20170311129A1 · Lopez-Uricoechea et al. · 2017 [cited by applicant]
US 20170323488A1 · Mott et al. · 2017 [cited by applicant]
US 20170364198A1 · Yoganandan et al. · 2017 [cited by applicant]
US 20170372225A1 · Foresti · 2017 [cited by applicant]
US 20180005429A1 · Osman · 2018 [cited by examiner]
US 20180059901A1 · Gullicksen · 2018 [cited by applicant]
US 20180075659A1 · Browy · 2018 [cited by examiner]
US 20180091304A1 · Brook · 2018 [cited by examiner]
US 20180095616A1 · Valdivia · 2018 [cited by examiner]
US 20180107278A1 · Goel et al. · 2018 [cited by applicant]
US 20180113599A1 · Yin · 2018 [cited by applicant]
US 20180189647A1 · Calvo et al. · 2018 [cited by applicant]
US 20180288391A1 · Lee · 2018 [cited by examiner]
US 20180300557A1 · Rodenas et al. · 2018 [cited by applicant]
US 20180307303A1 · Powderly et al. · 2018 [cited by applicant]
US 20180322701A1 · Pahud et al. · 2018 [cited by applicant]
US 20180329718A1 · Klein · 2018 [cited by examiner]
US 20180335925A1 · Hsiao et al. · 2018 [cited by applicant]
US 20180342106A1 · Rosado · 2018 [cited by examiner]
US 20180357780A1 · Young et al. · 2018 [cited by applicant]
US 20190005724A1 · Pahud et al. · 2019 [cited by applicant]
US 20190094981A1 · Bradski et al. · 2019 [cited by applicant]
US 20190107894A1 · Hebbalaguppe et al. · 2019 [cited by applicant]
US 20190114061A1 · Daniels et al. · 2019 [cited by applicant]
US 20190155481A1 · DiVerdi et al. · 2019 [cited by applicant]
US 20190172262A1 · McHugh et al. · 2019 [cited by applicant]
US 20190197785A1 · Tate-Gans et al. · 2019 [cited by applicant]
US 20190213792A1 · Jakubzak · 2019 [cited by examiner]
US 20190258318A1 · Qin et al. · 2019 [cited by applicant]
US 20190278376A1 · Kutliroff et al. · 2019 [cited by applicant]
US 20190279424A1 · Clausen et al. · 2019 [cited by applicant]
US 20190279426A1 · Musunuri et al. · 2019 [cited by applicant]
US 20190286231A1 · Burns et al. · 2019 [cited by applicant]
US 20190317965A1 · Remis et al. · 2019 [cited by applicant]
US 20190340833A1 · Furtwangler et al. · 2019 [cited by applicant]
US 20190362562A1 · Benson · 2019 [cited by applicant]
US 20190369391A1 · Cordesses et al. · 2019 [cited by applicant]
US 20190377406A1 · Steptoe et al. · 2019 [cited by applicant]
US 20190377416A1 · Alexander · 2019 [cited by applicant]
US 20200066047A1 · Karalis et al. · 2020 [cited by applicant]
US 20200082629A1 · Jones et al. · 2020 [cited by applicant]
US 20200097077A1 · Nguyen et al. · 2020 [cited by applicant]
US 20200097091A1 · Chou et al. · 2020 [cited by applicant]
US 20200174584A1 · Schliemann · 2020 [cited by examiner]
US 20200210127A1 · Browy · 2020 [cited by examiner]
US 20200218423A1 · Ohashi · 2020 [cited by applicant]
US 20200219319A1 · Lashmar et al. · 2020 [cited by applicant]
US 20200225736A1 · Schwarz et al. · 2020 [cited by applicant]
US 20200225758A1 · Tang et al. · 2020 [cited by applicant]
US 20200226814A1 · Tang et al. · 2020 [cited by applicant]
US 20200285761A1 · Buck et al. · 2020 [cited by applicant]
US 20200285977A1 · Brebner · 2020 [cited by applicant]
US 20200351273A1 · Thomas · 2020 [cited by examiner]
US 20200363924A1 · Flexman et al. · 2020 [cited by applicant]
US 20200363930A1 · Srinivasan et al. · 2020 [cited by applicant]
US 20210012113A1 · Petill et al. · 2021 [cited by applicant]
US 20210014408A1 · Timonen et al. · 2021 [cited by applicant]
US 20210097768A1 · Malia et al. · 2021 [cited by applicant]
US 20210104100A1 · Whitney · 2021 [cited by examiner]
US 20210192856A1 · Lee · 2021 [cited by applicant]
US 20210256769A1 · Bailey · 2021 [cited by examiner]
US 20210272375A1 · Lashmar et al. · 2021 [cited by applicant]
US 20210295602A1 · Scapel et al. · 2021 [cited by applicant]
US 20210306238A1 · Cheng et al. · 2021 [cited by applicant]
US 20210329044A1 · Sommer et al. · 2021 [cited by applicant]
US 20210358201A1 · Cady et al. · 2021 [cited by applicant]
US 20210390765A1 · Laaksonen et al. · 2021 [cited by applicant]
US 20220084279A1 · Lindmeier et al. · 2022 [cited by applicant]
US 20220091722A1 · Faulkner et al. · 2022 [cited by applicant]
US 20220101612A1 · Palangie et al. · 2022 [cited by applicant]
US 20220121344A1 · Pastrana Vicente et al. · 2022 [cited by applicant]
US 20220139052A1 · Tavakoli et al. · 2022 [cited by applicant]
US 20220214743A1 · Dascola et al. · 2022 [cited by applicant]
US 20220253125A1 · Wallen · 2022 [cited by examiner]
US 20220254120A1 · Berliner · 2022 [cited by examiner]
US 20220269888A1 · Stoeva et al. · 2022 [cited by applicant]
US 20220326837A1 · Dessero et al. · 2022 [cited by applicant]
US 20220392093A1 · Poulad · 2022 [cited by examiner]
US 20230050933A1 · Xiao et al. · 2023 [cited by applicant]
US 20230092282A1 · Boesel et al. · 2023 [cited by applicant]
US 20230206571A1 · Darling · 2023 [cited by examiner]
US 20230237192A1 · Kahan · 2023 [cited by examiner]
US 20230260233A1 · Goncalves et al. · 2023 [cited by applicant]
US 20240152244A1 · Dedonato et al. · 2024 [cited by applicant]
US 20240176839A1 · Chrysanthou · 2024 [cited by examiner]
US 20240303932A1 · Noris et al. · 2024 [cited by applicant]
US 20240331331A1 · Goncalves et al. · 2024 [cited by applicant]
EP 2887322B1 · 2020 [cited by applicant]
WO 2018235371A1 · 2018 [cited by applicant]
WO 2020226832A1 · 2020 [cited by applicant]
WO 2022055822A1 · 2022 [cited by applicant]
WO 2024085996A1 · 2024 [cited by applicant]
Broitman A., “Learn and Do More with Lens in Google Images,” Oct. 25, 2018, Retrieved from the Internet: URL: https://www.blog.google/products/search/learn-and-do-more-lens-google-images/ , 4 pages. [cited by applicant]
Game Ui Examples: “[VR] Half Life Alyx Menu/Settings/UI,” Feb. 27, 2021, 2 pages, retrieved from the Internet URL: https://www.youtube.com/watch?v =-iNR-J2whJQt=7s. [cited by applicant]
Hincapie-Ramos J.D., et al., “GyroWand: IMU-Based Raycasting for Augmented Reality Head-Mounted Displays,” Proceedings of the 3rd Association for Computing Machinery (ACM) Symposium on Spatial User Interaction, Los Ange… [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2020/051763, mailed Feb. 3, 2021, 11 Pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2022/032288, mailed Sep. 16, 2022, 11 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2023/033526, mailed Dec. 1, 2023, 13 pages. [cited by applicant]
Invitation to Pay Additional Fees for International Application No. PCT/US2021/044098, Nov. 3, 2021, 15 pages. [cited by applicant]
Mayer S., et al, “The Effect of Offset Correction and Cursor on Mid-Air Pointing in Real and Virtual Environments,” Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems, Montreal, QC, Canada, Apr… [cited by applicant]
Melnick K., “Google Rolls out New AR Features for Its Lens APP,” May 28, 2019, Retrieved from the Internet: URL: https://vrscout.com/news/new-ar-features-google-lens/ , 3 pages. [cited by applicant]
Olwal A., et al., “The Flexible Pointer: An Interaction Technique for Selection in Augmented and Virtual Reality,” Proceedings of ACM Symposium on User Interface Software and Technology (UIST), Vancouver, BC, Nov. 2-5, … [cited by applicant]
Renner P., et al., “Ray Casting”, Central Facility Labs [Online], [Retrieved on Apr. 7, 2020], 2 pages, Retrieved from the Internet: URL:https://www.techfak.uni-bielefeld.de/˜tpfeiffe/lehre/VirtualReality/interaction/ra… [cited by applicant]
Schweigert R., et al, “EyePointing: A Gaze-Based Selection Technique,” Proceedings of Mensch and Computer, Hamburg, Germany, Sep. 8-11, 2019, pp. 719-723. [cited by applicant]
Unity Gets Toolkit for Common AR/VR Interactions, Unity XR interaction Toolkit Preview [Online], Dec. 19, 2019 Retrieved on Apr. 7, 2020], 1 page, Retrieved from the Internet: URL: http://youtu.be/ZPhv4qmT9EQ. [cited by applicant]