IP Library › Granted Patent US 10,516,718
Granted Patent B2
US 10,516,718 · App. 14/735,489 · Granted Dec 24, 2019

Platform for multiple device playout

Inventors: Mikhal Shemer (Mountain View, CA); Patrik Göran Westin (Mountain View, CA)
Assignee: GOOGLE LLC
H04L65/80G06F9/54H04L65/602H04L67/10
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 10,516,718
App. No.
14/735,489
Granted
Dec 24, 2019
Kind
B2
Abstract

Provided is a platform for data devices in which the architecture and runtime parameters of the platform are adaptively updated based on real-time data collected about a network on which the platform operates, the source type (e.g., codec selection) for data being communicated between devices, the grouping/architecture of the devices, or any combination thereof. The platform is thus able to support multiple different types and configurations of data devices under varied, constantly-changing conditions. The platform offers a flexible architecture for a content management and rendering system in which multiple data devices connected via the network each play a unique role in the operation of the system. The data devices are capable of dynamically switching between different roles while the system is in active operation. The platform also includes adaptive delay capabilities as well as adaptive codec selection capabilities.

Claims (44)

1. A system comprising:

a plurality of media devices connected to at least one network, including a master media device, each of the media devices operating using respective at least one processor and a memory, wherein each of the media devices is configured to:

operate in accordance with a determined operating role, wherein the determined operating role is one of a plurality of operating roles that together define a group of the media devices, and wherein each of the operating roles is characterized by specific functions to be performed by the media device within the group; and

switch between different operating roles, different groups of media devices, or both, while the system is in active operation based on one or more parameters associated with the network, with the media device, and/or with other media devices;

wherein the plurality of media devices are configured to play out simultaneously, wherein each of the plurality of media devices is configured to inform the master media device, at startup of the system and directly or indirectly, of a network delay associated with the media device, and wherein the master media device determines, and applies to the plurality of media devices, a computed playout latency that adheres to a weakest link in the system.

2. The system of claim 1 , wherein each of the plurality of media devices is configured to:

receive data from a data source;

send the received data to each of the other media devices within the group of the media devices; and

playback the data from the data source in a pre-set time established for the group of the media devices.

3. The system of claim 2 , wherein a media device in the group operating in accordance with a first operating role is configured to:

establish the pre-set time for playback of the data from the data source; and

communicate the pre-set time to the other media devices in the group such that the playback of the data by the group of media devices is in synchronization.

4. The system of claim 1 , wherein a media device operating in accordance with a first operating role is configured to:

receive data from a data source;

determine, for each of the other media devices in the group of media devices, a format in which to send the received data to the media device based on a level of connectivity with the media device and/or a capability of the media device; and

send the data to each of the other media devices in the determined format for the respective media device.

5. The system of claim 4 , wherein the determined format for sending the received data to each of the other media devices is as raw data or as coded data.

6. The system of claim 1 , wherein the one or more parameters associated with the network, with the data module, and/or with other media devices includes one or more of: a condition of the network, a configuration of the network, a capability of the media device, and a capability of the other media devices.

7. The system of claim 4 , wherein determining the format in which to send the received data to each of the other media devices in the group is based on one or more of: network capacity between different media devices, physical proximity between different media devices, hardware capabilities of each of the media devices, and available licensing for the data to be transmitted.

8. The system of claim 1 , wherein a media device operating in accordance with a first operating role is configured to:

determine a delay associated with each of the other media devices in the group of media devices; and

modify a common delay applied to the playout of data between different media devices in the group based on the determined delays associated with each of the other media devices.

9. The system of claim 8 , wherein the delay associated with each of the other media devices in the group is one or both of a network delay and a processing delay internal to the media device.

10. The system of claim 8 , wherein the media device operating in accordance with the first operating role is configured to:

receive aggregated delay values from media devices in the group operating in accordance with a second operating role;

determine a maximum delay from the aggregated delay values; and

modify the common delay applied to the playout of data between different media devices based on the determined maximum delay.

11. The system of claim 10 , wherein the aggregated delay values received from the media devices operating in accordance with a second operating role include delay values associated with media devices in the group operating in accordance with a third operating role, wherein the third operating role is characterized by playout of the data from the data source.

12. The system of claim 2 , wherein the data received from the data source is audio data.

13. The system of claim 12 , wherein each of the plurality of media devices is an independent audio device.

14. The system of claim 12 , wherein at least one of the plurality of media devices is an independent audio device.

15. The system of claim 14 , wherein the audio device is a loudspeaker device.

16. A computer-implemented method comprising:

determining, by a data module, an operating role for the data module to operate within a group of data modules in communication with one another over a network, including a master data module, wherein the determined operating role is one of a plurality of operating roles that together define the group of data modules, and wherein each of the operating roles is characterized by specific functions to be performed by the data module within the group;

operating, by the data module, in accordance with the determined operating role; and

while operating, switching to a different operating role, to a different group of data modules, or both, based on one or more parameters associated with the network, with the data module, and/or with other data modules in the group;

wherein the group of data modules are configured to play out simultaneously, wherein each of the group of data modules is configured to inform the master data module, at startup and directly or indirectly, of a network delay associated with the data module, and wherein the master data module determines, and applies to the group of data modules, a computed playout latency that adheres to a weakest link among the group of data modules.

17. The method of claim 16 , wherein the one or more parameters associated with the network, with the data module, and/or with other data modules in the group includes one or more of: a condition of the network, a configuration of the network, a capability of the data module, and a capability of the other data modules.

18. The method of claim 16 , wherein operating in accordance with the determined operating role includes one or more of:

receiving data from a data source;

sending the received data to one or more of the other data modules within the group of the data modules; and

playing back the data from the data source in a pre-set time established for the group of the data modules.

19. The method of claim 18 , wherein the data received from the data source is audio data.

20. The method of claim 16 , wherein the group of data modules is a group of independent audio devices.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2016
From: SHEMER, MIKHAL; WESTIN, PATRIK GORAN
To: GOOGLE INC.
Reel/Frame 037911/0711 →
Continuity (1)
Related Publication 20160366206A1 · Dec 15, 2016