Back to results
US 12,321,662 B2Granted
Synchronizing playback of audio information received from other networks
AssigneeSonos, Inc.
InventorsCameron Ellison Korb, Nicholas Maniskas, Ted Lin, Meng Wang, Richard John Bannon
Life of this patent
Estimating the term…
Abstract
Disclosed herein are playback devices, groups of playback devices, and methods of operating playback devices and groupings thereof to cause the playback devices in a group of playback devices communicating over a first network to play audio content received via second network.
Claims20
A first playback device comprising:
- a first wireless communication interface configured to facilitate communication over at least one Personal Area Network (PAN);
- a second wireless communication interface configured to facilitate communication over at least one Wireless Local Area Network (WLAN);
- one or more processors;
- at least one non-transitory computer-readable medium comprising program instructions that are executable by the one or more processors such that the first playback device is configured to:
- receive, using the first wireless communication interface, a first stream of data comprising a first series of frames from a first user device, wherein an individual packet in the first series of frames has a first format, and wherein the first series of frames comprises encoded audio data;
- extract the encoded audio data from the first series of frames;
- generate a second series of frames, wherein an individual frame in the second series of frames has a second format, and wherein the second series of frames comprises (i) portions of the encoded audio data extracted from the first series of frames and (ii) playback timing information starting from a reference start time, wherein the playback timing information comprises playback timing for the portions of the encoded audio data extracted from the first series of frames;
- transmit, using the second wireless communication interface, a second stream of data comprising the second series of frames to a second playback device;
- use the playback timing information to play audio content based on portions of the encoded audio data extracted from the first series of frames in synchrony with the second playback device;
- while playing the audio content in synchrony with the second playback device based on the portions of the encoded audio data extracted from the first series of frames in synchrony with the second playback device, determine whether the first series of frames comprising the encoded audio data is missing more than a threshold number of portions of the encoded audio data;
- and
- when the first series of frames is missing more than the threshold number of portions of the encoded audio data, resynchronize playback of the audio content with the second playback device, wherein resynchronizing playback of the audio content with the second playback device comprises (i) deleting at least one of (a) packets queued for transmission to the second playback device or (b) audio data extracted from the first series of frames queued in a buffer for playback by the first playback device, (ii) sending one or more commands to the second playback device to cause the second playback device to delete at least some of its current buffer of the second series of audio frames queued for playback, and (iii) resetting the reference start time from which to restart generating playback timing information for the second series of frames.
9 more elements
A method of operating a first playback device, the method comprising:
- receiving, using a first wireless communication interface configured to facilitate communication over at least one personal area network, a first stream of data comprising a first series of frames, wherein an individual packet in the first series of frames has a first format, and wherein the first series of frames comprises encoded audio data;
- extracting the encoded audio data from the first series of frames;
- generating a second series of frames, wherein an individual frame in the second series of frames has a second format, and wherein the second series of frames comprises (i) portions of the encoded audio data extracted from the first series of frames and (ii) playback timing information starting from a reference start time, wherein the playback timing information comprises playback timing for the portions of the encoded audio data extracted from the first series of frames;
- transmitting, using a second wireless communication interface configured to facilitate communication over at least one wireless local area network, a second stream of data comprising the second series of frames to a second playback device;
- using the playback timing information to play audio content based on portions of the encoded audio data extracted from the first series of frames in synchrony with the second playback device;
- while playing the audio content in synchrony with the second playback device based on the portions of the encoded audio data extracted from the first series of frames in synchrony with the second playback device, determining whether the first series of frames comprising the encoded audio data is missing more than a threshold number of portions of the encoded audio data;
- and
- when the first series of frames is missing more than the threshold number of portions of the encoded audio data, resynchronizing playback of the audio content with the second playback device, wherein resynchronizing playback of the audio content with the second playback device comprises (i) deleting at least one of (a) packets queued for transmission to the second playback device or (b) audio data extracted from the first series of frames queued in a buffer for playback by the first playback device, (ii) sending one or more commands to the second playback device to cause the second playback device to delete at least some of its current buffer of the second series of audio frames queued for playback, and (iii) resetting the reference start time from which to restart generating playback timing information for the second series of frames.
5 more elements
Tangible, non-transitory computer-readable media comprising program instructions that are executable by at least one processor such that a first playback device is configured to:
- receive, using a first wireless communication interface of the first playback device, a first stream of data comprising a first series of frames from a first user device, wherein an individual packet in the first series of frames has a first format, and wherein the first series of frames comprises encoded audio data;
- extract the encoded audio data from the first series of frames;
- generate a second series of frames, wherein an individual frame in the second series of frames has a second format, and wherein the second series of frames comprises (i) portions of the encoded audio data extracted from the first series of frames and (ii) playback timing information starting from a reference start time, wherein the playback timing information comprises playback timing for the portions of the encoded audio data extracted from the first series of frames;
- transmit, using a second wireless communication interface of the first playback device, a second stream of data comprising the second series of frames to a second playback device;
- use the playback timing information to play audio content based on portions of the encoded audio data extracted from the first series of frames in synchrony with the second playback device;
- while playing the audio content in synchrony with the second playback device based on the portions of the encoded audio data extracted from the first series of frames in synchrony with the second playback device, determine whether the first series of frames comprising the encoded audio data is missing more than a threshold number of portions of the encoded audio data;
- and
- when the first series of frames is missing more than the threshold number of portions of the encoded audio data, resynchronize playback of the audio content with the second playback device, wherein resynchronizing playback of the audio content with the second playback device comprises (i) deleting at least one of (a) packets queued for transmission to the second playback device or (b) audio data extracted from the first series of frames queued in a buffer for playback by the first playback device, (ii) sending one or more commands to the second playback device to cause the second playback device to delete at least some of its current buffer of the second series of audio frames queued for playback, and (iii) resetting the reference start time from which to restart generating playback timing information for the second series of frames.
5 more elements
Dependencies are inferred from the claim text.