IP Library › Granted Patent US 12,340,142
Granted Patent B1
US 12,340,142 · App. 18/504,031 · Granted Jun 24, 2025

Media streaming to augmented reality glasses over a local network

Inventors: Jeremy Littel (Seattle, WA); Dmitry Sobinov (Rockdale, AU)
Assignee: SNAP INC.
G06F3/1454G06F3/017
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,340,142
App. No.
18/504,031
Filed
Nov 7, 2023
Granted
Jun 24, 2025
Kind
B1
Art Unit
2626
USPC
345/2.2
Abstract

The subject technology receives, by one or more hardware processors implementing a local wireless network, a request from a client device to mirror media content displayed on a screen of the client device on a wearable device. In response to the request, the subject technology causes a display of the media content in a mirroring lens of the wearable device. While the media content is being displayed in the mirroring lens of the wearable device, the subject technology tracks hand gestures of a user wearing the wearable device and viewing the media content displayed in the mirroring lens of the wearable device. The subject technology processes navigational or manipulation data based on the tracked hand gestures and sends a navigation or manipulation instruction to the client device or a mirroring lens processor of the wearable device based on the tracked hand gestures.

Claims (42)

1. A method, comprising:

receiving, by one or more hardware processors, a request for mirrored video content, the request initiated by a user at a client device to mirror video content displayed in a screen of the client device in a mirroring lens of a wearable device, the wearable device connected to the client device by a short-range wireless connection;

in response to receiving the request, communicating with a messaging application implementing at the client device to send an instruction, via the short-range wireless connection, to a realtime service implementing at the wearable device to identify and open a connection socket, the connection socket visible only in a local wireless network;

based on a successful opening of the connection socket, by the one or more hardware processors, using the open connection to the local wireless network to direct a flow of mirrored video content from the client device to a mirroring lens at the wearable device;

while mirrored video content is being displayed in the mirroring lens of the wearable device, tracking, by the one or more hardware processors, hand gestures of a user using the wearable device to view the mirrored video content displayed in the mirroring lens of the wearable device;

processing, by the one or more hardware processors, navigational or manipulation data based on the tracked hand gestures;

sending a navigation or manipulation instruction to a lenses application to adjust a view of the mirrored video content based on the tracked hand gestures; and

causing an automatic fallback connection to a proxy local wireless network to direct a flow of mirrored video content from the client device to the lenses application in the event of an unsuccessful opening of the connection socket.

2. The method of claim 1 , wherein the mirrored video content displayed in the mirroring lens of the wearable device augments a real-world view of the user wearing the wearable device, the real-world view including a real-world view of a user's hand making the tracked hand gestures.

3. The method of claim 2 , wherein the video content displayed in the screen of the client device includes a display of an interactive user interface for receiving user inputs into the client device, and wherein the mirrored video content displayed in the mirroring lens of the wearable device includes a virtual user interface based in appearance on the interactive user interface displayed in the client device.

4. The method of claim 3 , wherein the virtual user interface displayed in the mirroring lens of the wearable device is a visual replica of the interactive user interface displayed in the screen of the client device.

5. The method of claim 4 , wherein an identified hand gesture among the hand gestures tracked by the one or more hardware processors is associated with a desired user navigation or manipulation of the virtual user interface displayed in the mirroring lens of the wearable device, and wherein a navigation or manipulation instruction based on the desired user navigation or manipulation is included in the navigation or manipulation instruction to the client device or a mirroring lens processor of the wearable device.

6. The method of claim 5 , wherein the navigation or manipulation instruction based on the identified hand gesture is associated with one or more of a hover, a resize, a reorientation, a rotation, and a repositioning of the virtual user interface displayed in the mirroring lens of the wearable device.

7. The method of claim 6 , further comprising causing or performing, by the one or more hardware processors, a navigation or manipulation of the virtual user interface displayed in the mirroring lens of the wearable device based on a received navigation or manipulation instruction.

8. The method of claim 7 , wherein the identified hand gesture includes a finger pinch hand gesture.

9. The method of claim 7 , wherein the identified hand gesture includes a single hand gesture.

10. The method of claim 7 , wherein the identified hand gesture includes a double-handed gesture.

11. A system comprising:

a processor implementing a local wireless network; and

a memory including instructions that, when executed by the processor, cause the processor to perform operations comprising:

receiving, by one or more hardware processors, a request for mirrored video content, the request initiated by a user at a client device to mirror video content displayed in a screen of the client device in a mirroring lens of a wearable device, the wearable device connected to the client device by a short-range wireless connection;

in response to receiving the request, communicating with a messaging application implementing at the client device to send an instruction, via the short-range wireless connection, to a realtime service implementing at the wearable device to identify and open a connection socket, the connection socket visible only in a local wireless network;

based on a successful opening of the connection socket, by the one or more hardware processors, using the open connection to the local wireless network to direct a flow of mirrored video content from the client device to a mirroring lens at the wearable device;

while mirrored video content is being displayed in the mirroring lens of the wearable device, tracking, by the one or more hardware processors, hand gestures of a user using the wearable device to view the mirrored video content displayed in the mirroring lens of the wearable device;

processing, by the one or more hardware processors, navigational or manipulation data based on the tracked hand gestures;

sending a navigation or manipulation instruction to a lenses application to adjust a view of the mirrored video content based on the tracked hand gestures; and

causing an automatic fallback connection to a proxy local wireless network to direct a flow of mirrored video content from the client device to the lenses application in the event of an unsuccessful opening of the connection socket.

12. The system of claim 11 , wherein the mirrored video content displayed in the mirroring lens of the wearable device augments a real-world view of the user wearing the wearable device, the real-world view including a real-world view of a user's hand making the tracked hand gestures.

13. The system of claim 12 , wherein the video content displayed in the screen of the client device includes a display of an interactive user interface for receiving user inputs into the client device, and wherein the mirrored video content displayed in the mirroring lens of the wearable device includes a virtual user interface based in appearance on the interactive user interface displayed in the client device.

14. The system of claim 13 , wherein the virtual user interface displayed in the mirroring lens of the wearable device is a visual replica of the interactive user interface displayed in the screen of the client device.

15. The system of claim 14 , wherein an identified hand gesture among the hand gestures tracked by the one or more hardware processors is associated with a desired user navigation or manipulation of the virtual user interface displayed in the mirroring lens of the wearable device, and wherein a navigation or manipulation instruction based on the desired user navigation or manipulation is included in the navigation or manipulation instruction to the client device or a mirroring lens processor of the wearable device.

16. The system of claim 15 , wherein the navigation or manipulation instruction based on the identified hand gesture is associated with one or more of a hover, a resize, a reorientation, a rotation, and a repositioning of the virtual user interface displayed in the mirroring lens of the wearable device.

17. The system of claim 16 , wherein the operations further comprise causing or performing, by the one or more hardware processors, a navigation or manipulation of the virtual user interface displayed in the mirroring lens of the wearable device based on a received navigation or manipulation instruction.

18. The system of claim 17 , wherein the identified hand gesture includes one of a finger pinch hand gesture, a single hand gesture, or a double-handed gesture.

19. A non-transitory computer-readable medium comprising instructions, which when executed by a computing device, cause the computing device to perform operations comprising:

receiving, by one or more hardware processors, a request for mirrored video content, the request initiated by a user at a client device to mirror video content displayed in a screen of the client device in a mirroring lens of a wearable device, the wearable device connected to the client device by a short-range wireless connection;

in response to receiving the request, communicating with a messaging application implementing at the client device to send an instruction, via the short-range wireless connection, to a realtime service implementing at the wearable device to identify and open a connection socket, the connection socket visible only in a local wireless network;

based on a successful opening of the connection socket, by the one or more hardware processors, using the open connection to the local wireless network to direct a flow of mirrored video content from the client device to a mirroring lens at the wearable device;

while mirrored video content is being displayed in the mirroring lens of the wearable device, tracking, by the one or more hardware processors, hand gestures of a user using the wearable device to view the mirrored video content displayed in the mirroring lens of the wearable device;

processing, by the one or more hardware processors, navigational or manipulation data based on the tracked hand gestures;

sending a navigation or manipulation instruction to a lenses application to adjust a view of the mirrored video content based on the tracked hand gestures; and

causing an automatic fallback connection to a proxy local wireless network to direct a flow of mirrored video content from the client device to the lenses application in the event of an unsuccessful opening of the connection socket.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2024
From: LITTEL,, JEREMY; SOBINOV, DMITRY
To: SNAP INC.
Reel/Frame 069426/0905 →
Continuity (1)
Provisional Application 63479514 · Jan 11, 2023
References Cited (73)
US 7971156B2 · Albertson et al. · 2011 [cited by applicant]
US 7996793B2 · Latta et al. · 2011 [cited by applicant]
US 8487938B2 · Latta et al. · 2013 [cited by applicant]
US 8856691B2 · Geisner et al. · 2014 [cited by applicant]
US 9225897B1 · Sehn et al. · 2015 [cited by applicant]
US 9230160B1 · Kanter · 2016 [cited by applicant]
US 9276886B1 · Samaranayake · 2016 [cited by applicant]
US 9705831B2 · Spiegel · 2017 [cited by applicant]
US 9742713B2 · Spiegel et al. · 2017 [cited by applicant]
US 10102423B2 · Shaburov et al. · 2018 [cited by applicant]
US 10284508B1 · Allen et al. · 2019 [cited by applicant]
US 10439972B1 · Spiegel et al. · 2019 [cited by applicant]
US 10509466B1 · Miller et al. · 2019 [cited by applicant]
US 10514876B2 · Sehn · 2019 [cited by applicant]
US 10614855B2 · Huang · 2020 [cited by applicant]
US 10748347B1 · Li et al. · 2020 [cited by applicant]
US 10958608B1 · Allen et al. · 2021 [cited by applicant]
US 10962809B1 · Castañeda · 2021 [cited by applicant]
US 10996846B2 · Robertson et al. · 2021 [cited by applicant]
US 10997787B2 · Ge et al. · 2021 [cited by applicant]
US 11012390B1 · Al Majid et al. · 2021 [cited by applicant]
US 11030454B1 · Xiong et al. · 2021 [cited by applicant]
US 11036368B1 · Al Majid et al. · 2021 [cited by applicant]
US 11062498B1 · Voss et al. · 2021 [cited by applicant]
US 11087728B1 · Canberk et al. · 2021 [cited by applicant]
US 11092998B1 · Castañeda et al. · 2021 [cited by applicant]
US 11106342B1 · Al Majid et al. · 2021 [cited by applicant]
US 11126206B2 · Meisenholder et al. · 2021 [cited by applicant]
US 11143867B2 · Rodriguez, II · 2021 [cited by applicant]
US 11169600B1 · Canberk et al. · 2021 [cited by applicant]
US 11227626B1 · Krishnan Gorumkonda et al. · 2022 [cited by applicant]
US 11868531B1 · Tasci · 2024 [cited by examiner]
US 20090012788A1 · Gilbert et al. · 2009 [cited by applicant]
US 20110301934A1 · Tardif · 2011 [cited by applicant]
US 20140171036A1 · Simmons · 2014 [cited by applicant]
US 20150120293A1 · Wohlert et al. · 2015 [cited by applicant]
US 20150370320A1 · Connor · 2015 [cited by applicant]
US 20170123487A1 · Hazra et al. · 2017 [cited by applicant]
US 20170236330A1 · Seif · 2017 [cited by examiner]
US 20170277684A1 · Dharmarajan Mary · 2017 [cited by applicant]
US 20170277685A1 · Takumi · 2017 [cited by applicant]
US 20170351910A1 · Elwazer et al. · 2017 [cited by applicant]
US 20180158370A1 · Pryor · 2018 [cited by applicant]
US 20210011612A1 · Dancie et al. · 2021 [cited by applicant]
US 20210074016A1 · Li et al. · 2021 [cited by applicant]
US 20210166732A1 · Shaburova et al. · 2021 [cited by applicant]
US 20210174034A1 · Retek et al. · 2021 [cited by applicant]
US 20210241529A1 · Cowburn et al. · 2021 [cited by applicant]
US 20210303075A1 · Cowburn et al. · 2021 [cited by applicant]
US 20210303077A1 · Anvaripour et al. · 2021 [cited by applicant]
US 20210303140A1 · Mourkogiannis · 2021 [cited by applicant]
US 20210382564A1 · Blachly et al. · 2021 [cited by applicant]
US 20210397000A1 · Rodriguez, II · 2021 [cited by applicant]
US 20230185513A1 · Liu · 2023 [cited by examiner]
CN 103049761B · 2016 [cited by applicant]
CN 110869889A · 2020 [cited by examiner]
CN 112947758A · 2021 [cited by examiner]
EP 3707693A1 · 2020 [cited by applicant]
WO WO2016168591A1 · 2016 [cited by applicant]
WO WO2019094618A1 · 2019 [cited by applicant]
“VITURE One—Game and Stream Anywhere, Anytime”, Kickstarter, [Online]. Retrieved from the Internet: <URL: https://web.archive.org/web/20230110181733/https://www.kickstarter.com/projects/viture/viture-game-and-stream-any… [cited by applicant]
“Agora Real-Time Voice and Video Engagement”, [Online]. Retrieved from the Internet: <URL: https://web.archive.org/web/20230111202940/https://www.agora.io/en/>, (Archived on Jan. 11, 2023), 16 pgs. [cited by applicant]
“Airplay server detection protocol . . .”, Apple Developer Forums, [Online]. Retrieved from the Internet: < URL: https://developer.apple.com/forums/thread/66007>, (Oct. 2016), 2 pgs. [cited by applicant]
“App Extensions Overview”, Apple Developer, [Online]. Retrieved from the Internet: <URL: https://web.archive.org/web/20221022162245/https://developer.apple.com/app-extensions/>, (Archived on Oct. 22, 2022), 4 pgs. [cited by applicant]
“AudioManager”, Android Developers, [Online]. Retrieved from the Internet: <URL: https://developer.android.com/reference/android/media/AudioManager>, (Last updated Feb. 13, 2025), 166 pgs. [cited by applicant]
“ReplayKit”, Apple Developer Documentation, [Online]. Retrieved from the Internet: <URL: https://web.archive.org/web/20220407130844/https://developer.apple.com/documentation/replaykit>, (Archived on Apr. 7, 2022), 2 pgs. [cited by applicant]
“RPSystemBroadcastPickerView”, Apple Developer, [Online] Retrieved from the Internet: <URL: https://web.archive.org/web/20220627084731/https://developer.apple.com/documentation/replaykit/rpsystembroadcastpickerview>, (A… [cited by applicant]
“Serezhka / java-airplay-server—Acts like Apple TV”, Github, [Online] Retrieved from the Internet: <URL: https://github.com/serezhka/java-airplay-server/>, (Dec. 14, 2022), 3 pgs. [cited by applicant]
“Snapchat / djinni—A tool for generating cross-language type declarations and interface bindings.”, GitHub, [Online]. Retrieved from the Internet: <URL: https://web.archive.org/web/20220829192530/https://github.com/Snap… [cited by applicant]
“STUN”, Wikipedia, [Online]. Retrieved from the Internet: <URL: https://en.wikipedia.org/w/index.php?title=STUN&oldid=1096426898>, (Jul. 4, 2022), 4 pgs. [cited by applicant]
“Traversal Using Relays around NAT”, Wikipedia, [Online]. Retrieved from the Internet: <URL: https://en.wikipedia.org/w/index.php?title=Traversal_Using_Relays_around_NAT&oldid=1115742687>, (Oct. 13, 2022), 3 pgs. [cited by applicant]
“WWDC18 Videos”, Apple Developer, [Online]. Retrieved from the Internet: <URL: https://web.archive.org/web/20220831052829/https://developer.apple.com/videos/wwdc2018>, (Archived on Aug. 31, 2022), 21 pgs. [cited by applicant]
Robertson, Adi, “Nreal's $379 AR glasses launch in the US today”, The Verge, [Online]. Retrieved from the Internet: <URL: https://www.theverge.com/2022/9/27/23373228/nreal-air-ar-glasses-streaming-video-us-launch-pricin… [cited by applicant]