IP Library › Granted Patent US 9,781,183
Granted Patent B2
US 9,781,183 · App. 14/519,862 · Granted Oct 3, 2017

Accelerated playback of streaming media

Inventors: Eli Chen (San Mateo, CA); Greg Peters (San Francisco, CA)
Assignee: NETFLIX, INC.
H04L65/4092H04L65/80
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,781,183
App. No.
14/519,862
Granted
Oct 3, 2017
Kind
B2
Abstract

One embodiment provides a technique for dynamically adjusting streaming media bit rates in response to user requests for accelerated playback. A user request to increase a playback speed at which the units of digital content are played back on a content player is received. Upon receiving the user request to increase the playback speed, while previously downloaded units of the digital content having a first bit rate are being output for display, and prior to downloading a next unit of digital content from a content server, embodiments determine that the increased playback speed cannot be maintained without buffer underrun if subsequent units of digital content are downloaded from the content server at the first bit rate. A second bit rate, lower than the first bit rate, is determined and the next unit of digital content is downloaded from the content server for playback at the second bit rate.

Claims (61)

1. A method, comprising:

receiving a user request to increase a playback rate at which units of digital content are played back on a content player from a first playback rate to a second playback rate; and

upon receiving the user request to increase the playback rate, while previously downloaded units of the digital content having a first bit rate are being output for display, and prior to downloading a next unit of digital content from a content server:

determining that the second playback rate cannot be maintained without buffer underrun if subsequent units of digital content are downloaded from the content server at the first bit rate, based on a measure of currently available network bandwidth for data communications between the content server and the content player;

determining a second bit rate, lower than the first bit rate, at which to download a next unit of digital content, based on the second playback rate and the measure of currently available network bandwidth; and

downloading the next unit of digital content from the content server for playback at the second bit rate.

2. The method of claim 1 , wherein the next unit of digital content downloaded into the buffer for playback is decoded and rendered on the output display device at the second playback rate.

3. The method of claim 1 , wherein the digital content encodes an audio stream and a video stream.

4. The method of claim 3 , further comprising pitch correcting the audio stream to compensate for the second playback rate.

5. The method of claim 1 , further comprising:

receiving a request to modify the playback rate from the second playback rate to the first playback rate;

rendering a display of the units of digital content on the output display device at the first playback rate; and

determining a bit rate for a next unit of digital content to be requested from the content server, based on the first playback rate and on an available network bandwidth for data communications between the content server and the content player.

6. The method of claim 1 , wherein the units of digital content are stored in a buffer on the content player prior to playback, and further comprising:

decoding the units of digital content stored in the buffer at the first bit rate; and

rendering a display of the decoded units of digital content on an output display device at the second playback rate.

7. The method of claim 6 , further comprising:

storing the next unit of digital content in the buffer;

decoding the next unit of digital content stored in the buffer at the second bit rate; and

rendering a display of the decoded next unit of digital content on the output display device at the second playback rate.

8. A non-transitory computer-readable medium containing a program that, when executed, performs an operation comprising:

receiving a user request to increase a playback rate at which units of digital content are played back on a content player from a first playback rate to a second playback rate; and

upon receiving the user request to increase the playback rate, while previously downloaded units of the digital content having a first bit rate are being output for display, and prior to downloading a next unit of digital content from a content server:

determining that the second playback rate cannot be maintained without buffer underrun if subsequent units of digital content are downloaded from the content server at the first bit rate, based on a measure of currently available network bandwidth for data communications between the content server and the content player;

determining a second bit rate, lower than the first bit rate, at which to download a next unit of digital content, based on the second playback rate and the measure of currently available network bandwidth; and

downloading the next unit of digital content from the content server for playback at the second bit rate.

9. The non-transitory computer-readable medium of claim 8 , wherein the next unit of digital content downloaded into the buffer for playback is decoded and rendered on the output display device at the second playback rate.

10. The non-transitory computer-readable medium of claim 8 , wherein the digital content encodes an audio stream and a video stream.

11. The non-transitory computer-readable medium of claim 10 , the operation further comprising pitch correcting the audio stream to compensate for the second playback rate.

12. The non-transitory computer-readable of claim 8 , the operation further comprising:

receiving a request to modify the playback rate from the second playback rate to the first playback rate;

rendering a display of the units of digital content on the output display device at the first playback rate; and

determining a bit rate for a next unit of digital content to be requested from the content server, based on the first playback rate and on an available network bandwidth for data communications between the content server and the content player.

13. The non-transitory computer-readable of claim 1 , wherein the units of digital content are stored in a buffer on the content player prior to playback, and the operation further comprising:

decoding the units of digital content stored in the buffer at the first bit rate; and

rendering a display of the decoded units of digital content on an output display device at the second playback rate.

14. The non-transitory computer-readable of claim 13 , the operation further comprising:

storing the next unit of digital content in the buffer;

decoding the next unit of digital content stored in the buffer at the second bit rate; and

rendering a display of the decoded next unit of digital content on the output display device at the second playback rate.

15. A system, comprising:

a processor; and

a memory containing a program that, when executed, performs an operation comprising:

receiving a user request to increase a playback rate at which units of digital content are played back on a content player from a first playback rate to a second playback rate; and

upon receiving the user request to increase the playback rate, while previously downloaded units of the digital content having a first bit rate are being output for display, and prior to downloading a next unit of digital content from a content server:

determining that the second playback rate cannot be maintained without buffer underrun if subsequent units of digital content are downloaded from the content server at the first bit rate, based on a measure of currently available network bandwidth for data communications between the content server and the content player;

determining a second bit rate, lower than the first bit rate, at which to download a next unit of digital content, based on the second playback rate and the measure of currently available network bandwidth; and

downloading the next unit of digital content from the content server for playback at the second bit rate.

16. The system of claim 15 , wherein the digital content encodes an audio stream and a video stream.

17. The system of claim 16 , the operation further comprising pitch correcting the audio stream to compensate for the second playback rate.

18. The system of claim 15 , the operation further comprising:

receiving a request to modify the playback rate from the second playback rate to the first playback rate;

rendering a display of the units of digital content on the output display device at the first playback rate; and

determining a bit rate for a next unit of digital content to be requested from the content server, based on the first playback rate and on an available network bandwidth for data communications between the content server and the content player.

19. The system of claim 15 , wherein the units of digital content are stored in a buffer on the content player prior to playback, and the operation further comprising:

decoding the units of digital content stored in the buffer at the first bit rate; and

rendering a display of the decoded units of digital content on an output display device at the second playback rate.

20. The system of claim 19 , the operation further comprising:

storing the next unit of digital content in the buffer;

decoding the next unit of digital content stored in the buffer at the second bit rate; and

rendering a display of the decoded next unit of digital content on the output display device at the second playback rate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2016
From: CHEN, ELI; PETERS, GREG
To: NETFLIX, INC.
Reel/Frame 040218/0105 →
Continuity (2)
Continuation 12556372 · Sep 9, 2009
Related Publication 20150110474A1 · Apr 23, 2015