System and method for synchronizing media presentation at multiple recipients
First Claim
1. A client device, comprising:
- a network interface for network communications;
a media interface for presenting processed media data;
a local clock; and
a processor coupled to the network interface, the media interface, and the local clock, wherein the processor is configured to;
receive a request from a host device for sending information about latency within the client device;
receive one or more media packets that are sent from the host device based on a packet timeline determined for the client device;
receive a playback timeline from the host device, the playback timeline indicative of when to play back, at the client device, media data included in the one or more media packets, wherein the playback timeline is determined by the host device based at least in part on the latency associated with the client device; and
play back media data included in each of the one or more media packets based on the playback timeline.
1 Assignment
0 Petitions
Accused Products
Abstract
A network media delivery system includes client devices and a host device. Each client device has a network interface, an engine for processing media data, and a media interface. The host device, which can be a computer, establishes network communication links with the client devices, which can be networked media stations, and sends media data to the client devices. The media data can be sent wirelessly as packets of media data transmitted at intervals to each client device. In one embodiment, the host device controls processing of media data such that processed media is delivered in a synchronized manner at each of the client devices. In another embodiment, the host device controls processing of media data such that processed media is delivered in a synchronized manner at the host device and at least one client device.
-
Citations
17 Claims
-
1. A client device, comprising:
-
a network interface for network communications; a media interface for presenting processed media data; a local clock; and a processor coupled to the network interface, the media interface, and the local clock, wherein the processor is configured to; receive a request from a host device for sending information about latency within the client device; receive one or more media packets that are sent from the host device based on a packet timeline determined for the client device; receive a playback timeline from the host device, the playback timeline indicative of when to play back, at the client device, media data included in the one or more media packets, wherein the playback timeline is determined by the host device based at least in part on the latency associated with the client device; and play back media data included in each of the one or more media packets based on the playback timeline. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable medium including a plurality of instructions for controlling a processor in a client device to play back media data, the plurality of instructions comprising:
-
instructions that cause the processor to receive a request from a host device for sending information about latency information within the client device; instructions that cause the processor to receive a unicast stream of media packets from the host device, each of the media packets in the unicast stream including a first timestamp, a portion of the media data, and a sequence number, wherein the unicast stream of media packets is sent from the host device to the client device using a packet timeline determined by the host device based at least in part on the latency information associated with the client device; instructions that cause the processor to receive a playback timeline from the host device, the playback timeline determined by the host device and indicating when each portion of the media data is to be outputted at the client device; and instructions that cause the processor to play back the media data based on the playback timeline. - View Dependent Claims (10, 11)
-
-
12. A method comprising:
-
receiving, by a client device, one or more media packets for play back, each of the one or more media packets including a first timestamp, a sequence number, and a portion of media data, wherein the one or more media packets are sent by a host device based on a packet timeline determined for the client device; receiving, by the client device, a playback timeline indicating when each portion of the media data is to be outputted by the client device; synchronizing, by the client device, a local clock of the client device to a reference clock of the host device; receiving, by the client device, a time announcement packet, the time announcement packet including the first timestamp, a network time protocol (NTP) timestamp associated with the playback timeline, and a second timestamp indicative of when a time difference between the first timestamp and the NTP timestamp is to be applied to the playback timeline; adjusting, by the client device, the playback timeline based on the second timestamp; and outputting, by the client device, each portion of the media data based on the adjusted playback timeline; wherein the time announcement packet is different from the one or more media packets. - View Dependent Claims (13, 14, 15)
-
-
16. A method, comprising:
-
receiving, by a plurality of client devices, separate streams including a plurality of media packets, wherein each stream of media packets is transmitted from a host device based on a separate packet timeline determined by the host device for each of the plurality of client devices; communicating, by each of the plurality of client devices to a host device, information about latency within the client device; and receiving, by the plurality of client devices, a playback timeline indicative of when to play back, at the client device, media data associated with the plurality of media packets, wherein the playback timeline is determined by the host device based on the latency information associated for each of the plurality of client devices. - View Dependent Claims (17)
-
Specification