IP Library Granted Patent US 10,097,607
Granted Patent B2
US 10,097,607 · App. 15/089,163 · Granted Oct 9, 2018

Bit rate stream switching

Inventors: Chung-Ping Wu (Sunnyvale, CA); Christian Kaiser (San Jose, CA); Yung-Hsiao Lai (Fremont, CA); James Mitch Zollinger (San Jose, CA); David Randall Ronca (Campbell, CA)
Assignee: NETFLIX, INC.
H04L65/60H04L65/607H04N19/115H04N19/164H04N19/167H04N19/177H04N19/46H04N19/61H04N21/2368H04N21/23424H04N21/23439H04N21/23611H04N21/2662H04N21/26258H04N21/4325H04N21/4346H04N21/44016H04N21/44029H04N21/4621
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 10,097,607
App. No.
15/089,163
Granted
Oct 9, 2018
Kind
B2
Abstract

Embodiments for changing bit rates in streaming media are provided. As portions of a streaming media file are downloaded for playback, the size of the portion is compared with an expected size determined prior to initiating playback of streaming AV data. The portion of the media file may be padded such that the size of the portion matches the size specified prior to initiating playback of streaming AV data.

Claims (43)

1. A method, comprising:

downloading from a content server a first clip file associated with a first encoded version of a media title encoded at a first bit rate, wherein the first clip file includes a first plurality of groups of pictures (GOPs);

determining that a first GOP included in the first plurality of GOPs has a size that is less than a size indicated in a first clip information file corresponding to the first clip file, wherein the size comprises an expected length for GOPs included in the first clip file;

padding the first GOP with one or more null packets to produce a first padded GOP that has a size equal to the size indicated in the clip information file; and

playing back the first clip file, including the first padded GOP, to display a first portion of the media title.

2. The method of claim 1 , further comprising determining that a second GOP included in the first plurality of GOPs has a size equal to the size indicated in the clip information file, and not padding the second GOP with any null packets.

3. The method of claim 2 , wherein playing back the clip file comprises playing back the second GOP as well as the first padded GOP.

4. The method of claim 1 , further comprising determining that a change in encoding bit rate is warranted based on network conditions.

5. The method of claim 4 , further comprising downloading from the content server a second file clip associated with a second encoded version of the media title encoded at a second bit rate, wherein the second clip file includes a second plurality of GOPs.

6. The method of claim 5 , further comprising:

determining that a first GOP included in the second plurality of GOPs has a size that is less than a size indicated in a clip information file associated with the second clip file;

padding the first GOP with one or more null packets to produce a second padded GOP that has a size equal to the size indicated in the clip information file; and

playing back the second clip file, including the second padded GOP, to display a second portion of the media title.

7. The method of claim 5 , wherein the second bit rate is greater than the first bit rate.

8. The method of claim 1 , further comprising:

receiving a plurality of streaming media headers from the content server, wherein each streaming media header is associated with a corresponding encoded version of the media title; and

generating a playlist information file that includes a plurality of clip information files based on the plurality of streaming media headers.

9. The method of 8 , wherein each clip information file included in the playlist information file stores an indication of the largest encoded size for one or more sequential portions of the media title.

10. The method of claim 1 , wherein playing back the first clip file comprises decoding the first padded GOP to access the first GOP.

11. A non-transitory computer-readable medium storing instructions that, when executed by a processor, causes the processor to perform the steps of:

downloading from a content server a first clip file associated with a first encoded version of a media title encoded at a first bit rate, wherein the first clip file includes a first plurality of groups of pictures (GOPs);

for each GOP included in the first plurality of GOPs, determining whether the GOP has a size that is less than a size indicated in a first clip information file corresponding to the first clip file, wherein the size comprises an expected length for GOPs included in the first clip file; and

for each GOP included in the first plurality of GOPs having a size that is less than the size indicated in the first clip information file, padding the GOP to produce a padded GOP that has a size equal to the size indicated in the clip information file,

wherein the first clip file, including each padded GOP, is played back to display a first portion of the media title.

12. The non-transitory computer-readable medium of claim 11 , further comprising determining that a change in encoding bit rate is warranted based on network conditions.

13. The non-transitory computer-readable medium of claim 12 , further comprising receiving from the content server a second file clip associated with a second encoded version of the media title encoded at a second bit rate, wherein the second clip file includes a second plurality of GOPs.

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

for each GOP included in the second plurality of GOPs, determining whether the GOP has a size that is less than a size indicated in a second clip information file associated with the second clip file;

for each GOP included in the second plurality of GOPs having a size that is less than the size indicated in the having clip information file, padding the GOP to produce a padded GOP that has a size equal to the size indicated in the clip information file.

15. The non-transitory computer-readable medium of claim 14 , wherein the second clip file, including each padded GOP, is played back to display a second portion of the media title.

16. The non-transitory computer-readable medium of claim 13 , wherein the second bit rate is greater than the first bit rate.

17. The non-transitory computer-readable medium of claim 11 , further comprising:

receiving a plurality of streaming media headers from the content server, wherein each streaming media header is associated with a corresponding encoded version of the media title; and

generating a playlist information file that includes a plurality of clip information files based on the plurality of streaming media headers.

18. The non-transitory computer-readable medium of claim 17 , wherein each corresponding encoded version of the media title is encoded at a different bit rate.

19. The non-transitory computer-readable medium of 17 , wherein each clip information file included in the playlist information file stores an indication of the largest encoded size for one or more sequential portions of the media title across multiple encoded versions of the media title.

20. A system, comprising:

a memory storing playback logic;

a processor that is coupled to the memory and, when executing the playback logic, is configured to:

download from a content server a first clip file associated with a first encoded version of a media title encoded at a first bit rate, wherein the first clip file includes a first plurality of groups of pictures (GOPs);

for each GOP included in the first plurality of GOPs, determine whether the GOP has a size that is less than a size indicated in a first clip information file corresponding to the first clip file, wherein the size comprises an expected length for GOPs included in the first clip file; and

for a first GOP included in the first plurality of GOPs having a size that is less than the size indicated in the first clip information file, pad the first GOP to produce a first padded GOP that has a size equal to the size indicated in the clip information file; and

a decoder that decodes the first clip file, including the first padded GOP, when a first portion of the media title is being played back for display.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2016
From: WU, CHUNG-PING; KAISER, CHRISTIAN; LAI, YUNG-HSIAO; ZOLLINGER, JAMES MITCH; RONCA, DAVID RANDALL
To: NETFLIX CORPORATION
Reel/Frame 038439/0843 →
Continuity (5)
Continuation 13542355 · Jul 5, 2012
Continuation 12642529 · Dec 18, 2009
Provisional Application 61140032 · Dec 22, 2008
Provisional Application 61164327 · Mar 27, 2009
Related Publication 20160219090A1 · Jul 28, 2016
Cited By (2)
US 12,532,008 US 12,689,753