System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
First Claim
1. A method for synchronizing audio playback of a plurality of separate audio playing devices with one another, the method comprising:
- receiving, by a playback device, a multicast stream including a plurality of frames from a source device over a local network, wherein each frame of the plurality of frames is associated with audio information and a time indicating when to play the audio information of the respective frame, wherein the time is based on a clock of the source device, which is independent of a clock of the playback device;
periodically receiving, by the playback device, a unicast message transmitted from the source device, the unicast message separate from the multicast stream and including clock information of the source device;
computing, by the playback device, a time differential between the clock of the source device and the clock of the playback device based on a most recently received unicast message;
converting, by the playback device and for each frame of the plurality of frames, a computed output time of the audio information for each respective frame, the converting based on both the time associated with each respective frame and a most recent computation of the time differential;
outputting, by the playback device, audio information based on the plurality of frames by playing audio information for each respective frame based on a clock of the playback device, wherein the playback device is configured to output the audio information in synchrony with the source device; and
adjusting a speed at which the playback device outputs the audio information, wherein the speed is adjusted based on a comparison between an expected output time of audio information for a particular frame and the computed output time of the particular frame.
9 Assignments
0 Petitions
Accused Products
Abstract
A system maintains synchrony of operations among devices that have independent clocking arrangements. The system includes a task distribution device that distributes tasks to a synchrony group of devices that perform the tasks distributed by the task distribution device in synchrony. The task distribution device distributes each task to the members of the synchrony group over a network. Each task is associated with a time stamp that indicates a time, relative to a clock maintained by the task distribution device, at which the members of the synchrony group are to execute the task. Each member of the synchrony group periodically obtains an indication of the current time indicated by its clock, determines a time differential between the task distribution device'"'"'s clock and its respective clock and determines a time at which, according to its respective clock, the time stamp indicates that it is to execute the task.
1486 Citations
20 Claims
-
1. A method for synchronizing audio playback of a plurality of separate audio playing devices with one another, the method comprising:
-
receiving, by a playback device, a multicast stream including a plurality of frames from a source device over a local network, wherein each frame of the plurality of frames is associated with audio information and a time indicating when to play the audio information of the respective frame, wherein the time is based on a clock of the source device, which is independent of a clock of the playback device; periodically receiving, by the playback device, a unicast message transmitted from the source device, the unicast message separate from the multicast stream and including clock information of the source device; computing, by the playback device, a time differential between the clock of the source device and the clock of the playback device based on a most recently received unicast message; converting, by the playback device and for each frame of the plurality of frames, a computed output time of the audio information for each respective frame, the converting based on both the time associated with each respective frame and a most recent computation of the time differential; outputting, by the playback device, audio information based on the plurality of frames by playing audio information for each respective frame based on a clock of the playback device, wherein the playback device is configured to output the audio information in synchrony with the source device; and adjusting a speed at which the playback device outputs the audio information, wherein the speed is adjusted based on a comparison between an expected output time of audio information for a particular frame and the computed output time of the particular frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable medium comprising instructions for synchronizing audio playback of a plurality of separate audio playing devices with one another, the instructions, when executed by a processor, cause the processor to perform the following:
-
receiving, by a playback device, a multicast stream including a plurality of frames from a source device over a local network, wherein each frame of the plurality of frames is associated with audio information and a time indicating when to play the audio information of the respective frame, wherein the time is based on a clock of the source device, which is independent of a clock of the playback device; periodically receiving, by the playback device, a unicast message transmitted from the source device, the unicast message separate from the multicast stream and including clock information of the source device; computing, by the playback device, a time differential between the clock of the source device and the clock of the playback device based on a most recently received unicast message; converting, by the playback device and for each frame of the plurality of frames, a computed output time of the audio information for each respective frame, the converting based on both the time associated with each respective frame and a most recent computation of the time differential; outputting, by the playback device, audio information based on the plurality of frames by playing audio information for each respective frame based on a clock of the playback device, wherein the playback device is configured to output the audio information in synchrony with the source device; and adjusting a speed at which the playback device outputs the audio information, wherein the speed is adjusted based on a comparison between an expected output time of audio information for a particular frame and the computed output time of the particular frame. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification