IP Library Granted Patent US 9,344,755
Granted Patent B2
US 9,344,755 · App. 14/042,301 · Granted May 17, 2016

Fast-resume audio playback

Inventors: Luis Vega (Cambridge, MA); Ted Lin (Santa Barbara, CA); Jim Dolan (Boston, MA)
Assignee: SONOS, INC.
H04N21/4333G06F3/165G11B27/005G11B27/11H04N21/43615H04N21/8106H04N21/8547
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 9,344,755
App. No.
14/042,301
Granted
May 17, 2016
Kind
B2
Abstract

Embodiments are provided for fast-resume of audio playback. An example method includes transmitting a plurality of frames, each frame comprising audio information and playback timing information, the playback timing information identifying a time to play the audio information of the respective frame, wherein the playback timing information comprises a time relative to a clock; receiving a pause command, wherein the pause command indicates that the at least one playback device is to cease playback of the audio information; subsequent to receiving the pause command, receiving a resume command; based on the resume command, identifying a range of frames previously transmitted, wherein the range of frames have playback timing information subsequent to a time of receiving the pause command; and, based on the resume command, instructing at least one playback device to (i) update the playback timing information in the range of frames, and (ii) play the audio information.

Claims (57)

1. A method comprising:

transmitting, by a device to at least one playback device, a plurality of frames, each frame of the plurality of frames comprising audio information and playback timing information, the playback timing information identifying a time to play the audio information of the respective frame, wherein the playback timing information comprises a time relative to a master clock;

receiving, by the device, a pause command, wherein the pause command indicates that the at least one playback device is to cease playback of the audio information;

subsequent to receiving the pause command, receiving, by the device, a resume command;

based on the resume command, identifying, by the device, a range of frames previously transmitted by the device to the at least one playback device, wherein the range of frames have playback timing information subsequent to a time that the device received the pause command; and selecting a new start time corresponding to the range of frames;

based on the resume command, instructing, by the device, the at least one playback device to (i) update the playback timing information in the range of frames based on the new start time, and (ii) play based on the new start time the audio information; and

play the audio information, by the device, in synchrony with the at least one playback device based on the new start time;

wherein instructing the at least one playback device to update the playback timing information in the range of frames based on the new start time comprises instructing the at least one playback device to update one or more first timestamps in the range of frames based on the new start time; and

wherein playing the audio information, by the device, in synchrony with the at least one playback device based on the new start time comprises updating one or more second timestamps to be synchronized with the one or more first timestamps and playing, by the device, the audio information based on the one or more second timestamps.

2. The method of claim 1 , wherein the instructing, by the device, the at least one playback device to update the playback timing information in the range of frames further comprises:

instructing, by the device, the at least one playback device to update the playback timing information in the range of frames when the range of frames is above a threshold number of frames.

3. The method of claim 1 , wherein the audio information is received in a first audio stream by the device prior to transmission, by the device, to the at least one playback device.

4. The method of claim 3 , wherein the first audio stream is associated with a first cryptographic key.

5. The method of claim 4 , further comprising:

based on the pause command, terminating, by the device, reception of the first audio stream.

6. The method of claim 5 , further comprising:

based on the resume command, initiating reception, by the device, of the audio information in a second audio stream;

determining, by the device, whether the second audio stream is associated with the first cryptographic key or with a different cryptographic key; and

when the second audio stream is associated with the different cryptographic key, providing, by the device, the different cryptographic key to the at least one playback device.

7. The method of claim 1 , wherein the device comprises a playback device.

8. A non-transitory computer-readable storage medium including a set of instructions for execution by a processor, the set of instructions, when executed cause a device to:

transmit, to at least one playback device, a plurality of frames, each frame of the plurality of frames comprising audio information and playback timing information, the playback timing information identifying a time to play the audio information of the respective frame, wherein the playback timing information comprises a time relative to a master clock;

receive a pause command, wherein the pause command indicates that the at least one playback device is to cease playback of the audio information;

subsequent to receiving the pause command, receive a resume command;

based on the resume command, identify a range of frames previously transmitted by the device to the at least one playback device, wherein the range of frames have playback timing information subsequent to a time that the device received the pause command; and selecting a new start time corresponding to the range of frames;

based on the resume command, instruct the at least one playback device to (i) update the playback timing information in the range of frames based on a new start time, and (ii) play based on the new start time the audio information; and

play the audio information, by the device, in synchrony with the at least one playback device based on the new start time;

wherein instructing the at least one playback device to update the playback timing information in the range of frames based on the new start time comprises instructing the at least one playback device to update one or more first timestamps in the range of frames based on the new start time; and

wherein playing the audio information, by the device, in synchrony with the at least one playback device based on the new start time comprises updating one or more second timestamps to be synchronized with the one or more first timestamps and playing, by the device, the audio information based on the one or more second timestamps.

9. The computer-readable medium of claim 8 , wherein the device instructs the at least one playback device to update the playback timing information in the range of frames when the range of frames is above a threshold number of frames.

10. The computer-readable medium of claim 8 , wherein the audio information is received in a first audio stream by the device prior to transmission, by the device, to the at least one playback device.

11. The computer-readable medium of claim 10 , wherein the first audio stream is associated with a first cryptographic key.

12. The computer-readable medium of claim 11 , further comprising instructions that when executed cause the device to:

terminate, based on the pause command, reception of the first audio stream.

13. The computer-readable medium of claim 12 , further comprising instructions that when executed cause the device to:

based on the resume command, initiate reception of the audio information in a second audio stream;

determine whether the second audio stream is associated with the first cryptographic key or with a different cryptographic key; and

when the second audio stream is associated with the different cryptographic key, provide the different cryptographic key to the at least one playback device.

14. The computer-readable medium of claim 8 , wherein the device comprises a playback device.

15. A computing device including a processor, the computing device arranged to:

transmit, to at least one playback device, a plurality of frames, each frame of the plurality of frames comprising audio information and playback timing information, the playback timing information identifying a time to play the audio information of the respective frame, wherein the playback timing information comprises a time relative to a master clock;

receive a pause command, wherein the pause command indicates that the at least one playback device is to cease playback of the audio information;

subsequent to receiving the pause command, receive a resume command;

based on the resume command, identify a range of frames previously transmitted by the device to the at least one playback device, wherein the range of frames have playback timing information subsequent to a time that the device received the pause command; and selecting a new start time corresponding to the range of frames;

based on the resume command, instruct the at least one playback device to (i) update the playback timing information in the range of frames based on a new start time and (ii) play based on the new start time the audio information; and

play the audio information, by the device, in synchrony with the at least one playback device based on the new start time;

wherein instructing the at least one playback device to update the playback timing information in the range of frames based on the new start time comprises instructing the at least one playback device to update one or more first timestamps in the range of frames based on the new start time; and

wherein playing the audio information, by the device, in synchrony with the at least one playback device based on the new start time comprises updating one or more second timestamps to be synchronized with the one or more first timestamps and playing, by the computing device, the audio information based on the one or more second timestamps.

16. The computing device of claim 15 , wherein the audio information is received in a first audio stream by the device prior to transmission, by the device, to the at least one playback device.

17. The computing device of claim 16 , wherein the first audio stream is associated with a first cryptographic key.

18. The computing device of claim 17 , further arranged to:

terminate, based on the pause command, reception of the first audio stream.

19. The computing device of claim 18 , further arranged to:

based on the resume command, initiate reception of the audio information in a second audio stream;

determine whether the second audio stream is associated with the first cryptographic key or with a different cryptographic key; and

when the second audio stream is associated with the different cryptographic key, provide the different cryptographic key to the at least one playback device.

20. The device of claim 15 , wherein the device comprises a playback device.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Oct 18, 2021
From: JPMORGAN CHASE BANK, N.A.
To: SONOS, INC.
Reel/Frame 058213/0597 →
SECURITY AGREEMENT Recorded Oct 15, 2021
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058123/0206 →
SECURITY INTEREST Recorded Aug 30, 2018
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 046991/0433 →
RELEASE OF SECURITY INTEREST Recorded Jul 25, 2018
From: GORDON BROTHERS FINANCE COMPANY
To: SONOS, INC.
Reel/Frame 046625/0882 →
SECURITY INTEREST Recorded Apr 1, 2016
From: SONOS, INC.
To: GORDON BROTHERS FINANCE COMPANY
Reel/Frame 038329/0253 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: VEGA, LUIS; LIN, TED; DOLAN, JIM
To: SONOS, INC.
Reel/Frame 031994/0519 →
Continuity (1)
Related Publication 20150094834A1 · Apr 2, 2015