IP Library › Granted Patent US 12,647,624
Granted Patent B2
US 12,647,624 · App. 18/480,104 · Granted Jun 2, 2026

Rendering multiple live-streams on a user interface with minimal resources

Inventors: Adam Amir Mostafavi (Foster City, CA); Adnan Begovic (Seattle, WA); Alexander Crettenand (San Martin, CA); Mohammad Aleagha (Redwood City, CA); Heidi Muth (Oakland, CA); Daniel Fredrick Zucker (Palo Alto, CA); Nikita Slushkin (Ladera Ranch, CA); Nicholas Michael Ritchie (Ben Lomond, CA); Cale Williams Hopkins (Cupertino, CA); Howard Zeng (Unionville, CA); Jeremy Newton-Smith (Mountain View, CA); Jonathan Chen (San Mateo, CA); Teddy Ku (Mountain View, CA)
Assignee: Google LLC
H04N21/2187H04N21/431
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,647,624
App. No.
18/480,104
Granted
Jun 2, 2026
Kind
B2
Abstract

The present document describes devices and methods for rendering multiple live-streams on a user interface (UI) with minimal resources. The UI is activated, having a first set of remote sensors loaded for rendering. The first set of remote sensors receive a first activation signal and begin streaming first data, which the UI renders. Respondent to an action changing the set of remote sensors to be rendered on the UI, a second set of remote sensors are loaded for rendering. The second set of remote sensors receive a second activation signal and begin streaming second data, which the UI renders while the first set of remote sensors continue streaming the first data. The first data is no longer streamed after a threshold time is reached.

Claims (78)

1 . An electronic device, the electronic device comprising:

a display;

a network interface;

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to:

present a user interface on the display, the user interface associated with one or more remote sensors, the remote sensors remote from the electronic device;

transmit, over the network interface, a first activation signal to one or more first sensors, the one or more first sensors comprising a first subset of the remote sensors;

receive, over the network interface, first sensor data associated with first signals sensed by the one or more first sensors;

render one or more first images in the user interface, the one or more first images based on the first sensor data associated with the first signals sensed by the one or more first sensors;

determine, at a first time, a lack of interaction with the one or more first images in the user interface;

responsive to the determination of the lack of interaction, cease to render the one or more first images in the user interface;

determine, at a second time, that an idle time has passed since the first time, the idle time comprising a difference between the first time and the second time; and

responsive to the idle time being greater than a threshold value, transmit, over the network interface, a command to the one or more first sensors to cease transmission of the first sensor data.

2 . The electronic device of claim 1 , wherein the instructions further cause the one or more processors to receive a user input and, responsive to reception of the user input:

transmit, over the network interface, a second activation signal to one or more second sensors, the one or more second sensors comprising a second subset of the remote sensors;

receive, over the network interface, second sensor data associated with second signals sensed by the one or more second sensors; and

render one or more second images in the user interface, the one or more second images based on the second sensor data associated with the second signals sensed by the one or more second sensors.

3 . The electronic device of claim 1 , wherein the electronic device is one of a mobile device, a display device, a hub device, or a personal computing device.

4 . The electronic device of claim 1 , wherein the instructions further cause the one or more processors to:

set one or more render aspect ratios for the rendering of the one or more first images in the user interface, the one or more render aspect ratios based on one or more physical aspect ratios of the one or more first sensors; and

store, in the memory, the one or more render aspect ratios.

5 . The electronic device of claim 4 , wherein the storage of the one or more aspect ratios in the memory comprises storage into a cache file.

6 . The electronic device of claim 1 , wherein:

the first signals sensed by the one or more first sensors comprise both video signals and audio signals;

the reception of the first sensor data includes reception of video data based on the video signals; and

the reception of the first sensor data does not include reception of audio data based on the audio signals.

7 . The electronic device of claim 6 , wherein the instructions further cause the one or more processors to, responsive to a user selection of one of the one or more first images rendered in the user interface:

receive the audio data for the user-selected one of the one or more first images rendered in the user interface; and

render both the audio data and the video data associated with the user-selected one of the one or more first images rendered in the user interface.

8 . The electronic device of claim 1 , wherein the instructions further cause the one or more processors to:

request, over the network interface, authentication information for the one or more first sensors;

receive, over the network interface, the authentication information for the one or more first sensors; and

store the authentication information for the one or more first sensors in the memory.

9 . The electronic device of claim 1 , wherein the user interface comprises a user-scrollable list of live feeds.

10 . The electronic device of claim 1 , wherein the instructions further cause the one or more processors to determine the lack of interaction based on one or more parameters relating to at least one of the first sensors, a user interaction with the electronic device, one or more applications currently executing on the electronic device, or a state of the electronic device.

11 . A method for simultaneously displaying multiple feeds from remote sensors, the method comprising:

presenting a user interface on a display, the user interface associated with one or more remote sensors, the remote sensors remote from an electronic device;

transmitting, by a main electronic device and over a network interface, a first activation signal to one or more first sensors, the one or more first sensors comprising a first subset of the remote sensors;

receiving, by the main electronic device and over the network interface, first sensor data associated with first signals sensed by the one or more first sensors;

rendering one or more first images in the user interface, the one or more first images based on the first sensor data associated with the first signals sensed by the one or more first sensors;

determine, at a first time, a lack of interaction with the one or more first images in the user interface;

responsive to the determination of the lack of interaction, ceasing to render the one or more first images in the user interface;

determining, at a second time, that an idle time has passed since the first time, the idle time comprising a difference between the first time and the second time; and

responsive to the idle time being greater than a threshold value, transmitting, by the main electronic device and over the network interface, a command to the one or more first sensors to cease transmission of the first sensor data.

12 . The method of claim 11 , further comprising receiving a user input and, responsive to receiving the user input:

transmitting, by the main electronic device and over the network interface, a second activation signal to one or more second sensors, the one or more second sensors comprising a second subset of the remote sensors;

receiving, by the main electronic device and over the network interface, second sensor data associated with second signals sensed by the one or more second sensors; and

rendering one or more second images in the user interface, the one or more second images based on the second sensor data associated with the second signals sensed by the one or more second sensors.

13 . The method of claim 11 , further comprising:

setting, by the main electronic device, one or more render aspect ratios for the rendering of the one or more first images in the user interface, wherein the rendering of the one or more first images in the user interface comprises displaying the one or more first images with the one or more render aspect ratios; and

storing, in a memory of the main electronic device, the one or more render aspect ratios.

14 . The method of claim 13 , wherein the storing of the one or more render aspect ratios in the memory of the main electronic device comprises writing the one or more render aspect ratios to a cache file.

15 . The method of claim 11 , wherein:

the first signals sensed by the one or more first sensors comprise both video signals and audio signals;

the reception of the first sensor data includes receiving video data based on the video signals; and

the reception of the first sensor data does not include receiving audio data based on the audio signals.

16 . The method of claim 15 , further comprising, responsive to a user selection of one of the one or more first images rendered in the user interface:

receiving the audio data for the user-selected one of the one or more first images rendered in the user interface; and

rendering both the audio data and the video data associated with the user-selected one of the one or more first images rendered in the user interface.

17 . The method of claim 11 , further comprising:

requiring authentication information for the one or more first sensors for the receiving of the first sensor data;

requesting, over the network interface, the authentication information for the one or more first sensors;

receiving, over the network interface, the authentication information for the one or more first sensors; and

storing the authentication information for the one or more first sensors in a memory of the main electronic device.

18 . The method of claim 11 , wherein the user interface comprises a user-scrollable list of live feeds.

19 . A non-transitory, computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

present a user interface on a display, the user interface associated with one or more remote sensors, the remote sensors remote from an electronic device;

transmit, over a network interface, a first activation signal to one or more first sensors, the one or more first sensors comprising a first subset of the remote sensors;

receive, over the network interface, first sensor data associated with first signals sensed by the one or more first sensors;

render one or more first images in the user interface, the one or more first images based on the first sensor data associated with the first signals sensed by the one or more first sensors;

determine, at a first time, a lack of interaction with the one or more first images in the user interface;

responsive to the determination of the lack of interaction, cease to render the one or more first images in the user interface;

determine, at a second time, that an idle time has passed since the first time, the idle time comprising a difference between the first time and the second time; and

responsive to the idle time being greater than a threshold value, transmit, over the network interface, a command to the one or more first sensors to cease transmission of the first sensor data.

20 . The non-transitory, computer-readable medium of claim 19 , wherein the instructions further cause the one or more processors to receive a user input and, responsive to receiving the user input:

transmit, by the main electronic device and over the network interface, a second activation signal to one or more second sensors, the one or more second sensors comprising a second subset of the remote sensors;

receive, by the main electronic device and over the network interface, second sensor data associated with second signals sensed by the one or more second sensors; and

render one or more second images in the user interface, the one or more second images based on the second sensor data associated with the second signals sensed by the one or more second sensors.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2023
From: MOSTAFAVI, ADAM AMIR; BEGOVIC, ADNAN; CRETTENAND, ALEXANDER; ALEAGHA, MOHAMMAD; MUTH, HEIDI; ZUCKER, DANIEL FREDRICK; SLUSHKIN, NIKITA; RITCHIE, NICHOLAS MICHAEL; HOPKINS, CALE WILLIAMS; ZENG, HOWARD; NEWTON-SMITH, JEREMY; CHEN, JONATHAN; KU, TEDDY
To: GOOGLE LLC
Reel/Frame 065136/0193 →
Continuity (1)
Related Publication 20250113067A1 · Apr 3, 2025
References Cited (18)
US 8060908B2 · Bountour · 2011 [cited by examiner]
US 9009805B1 · Kirkby · 2015 [cited by examiner]
US 10602035B2 · Rukes · 2020 [cited by examiner]
US 10897637B1 · Pham et al. · 2021 [cited by applicant]
US 11115630B1 · Lemberger · 2021 [cited by examiner]
US 11457411B1 · Hires · 2022 [cited by examiner]
US 12181847B1 · Brett · 2024 [cited by examiner]
US 20010019360A1 · Tanaka · 2001 [cited by examiner]
US 20140375441A1 · Rezvani · 2014 [cited by examiner]
US 20180113577A1 · Burns · 2018 [cited by examiner]
US 20190342622A1 · Carrigan · 2019 [cited by examiner]
US 20210029298A1 · Mysore · 2021 [cited by examiner]
US 20210329165A1 · Liu · 2021 [cited by examiner]
US 20220295008A1 · Nold · 2022 [cited by examiner]
“Live streaming with Azure Media Services v3”, https://learn.microsoft.com/en-us/azure/media-services/latest/stream-live-streaming-concept, Jan. 9, 2023. [cited by applicant]
“SDK Quickstart”, Retrieved at: https://docs.agora.io/en/interactive-live-streaming/get-started/get-started-sdk?platform=android—on Jul. 12, 2023, 13 pages. [cited by applicant]
“Subscribing to a live data stream with AG Grid using RxJS Observables”, https://blog.ag-grid.com/subscribing-live-data-stream-ag-grid-rxjs-observables/, Jul. 30, 2023, 15 pages. [cited by applicant]
“Use Multiple Camera Streams Simultaneously”, Retrieved at: https://developer.android.com/training/camera2/multiple-camera-streams-simultaneously—on Jun. 22, 2023, 26 pages. [cited by applicant]