IP Library Granted Patent US 11,178,435
Granted Patent B2
US 11,178,435 · App. 16/902,136 · Granted Nov 16, 2021

Systems and methods for saving encoded media streamed using adaptive bitrate streaming

Inventors: Ben Ziskind (San Marcos, CA); Song Cen (San Diego, CA); Tung Lin (San Diego, CA); Jason Braness (San Diego, CA); Kourosh Soroushian (San Diego, CA)
Assignee: DIVX, LLC
H04N21/23439H04L63/0428H04L65/4069H04L65/604H04L65/607H04N19/00H04N19/44H04N21/23608H04N21/234309H04N21/4331H04N21/4344H04N21/44209H04N21/4621H04N21/6373H04N21/85406H04W4/12H04L65/4092
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 11,178,435
App. No.
16/902,136
Granted
Nov 16, 2021
Kind
B2
Abstract

Systems and methods for saving encoded media streamed using adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. In one embodiment of the invention, a playback device configured to perform adaptive bitrate streaming of media includes a video decoder application and a processor, where the video decoder application configures the processor to select a download stream from a set of alternative streams of video data, measure streaming conditions and request a stream of video data from the alternative streams of video data, receive portions of video data from the requested stream of video data, decode the received video data, save the received video data to memory, when the received video data is from the download stream and separately download and save the corresponding portion of video data from the download stream to memory, when the received video data is not from the download stream.

Claims (44)

1. A playback device configured to perform adaptive bitrate streaming of media including a set of alternative streams of video data, comprising:

memory including a video decoder application;

a processor, where the video decoder application configures the processor to:

select a download stream from a set of alternative streams of video data, where the alternative streams of video data are encoded at different maximum bitrates;

adaptively request portions of video data from the alternative streams of video data based upon the measured streaming conditions;

receive the requested portions of video data from the alternative streams of video data;

save received portions of video data from the download stream to memory;

decode the received portions of video data from the alternative streams; and

for received portions of video data not from the download stream, separately download and save a corresponding portion of video data from the download stream to memory after streaming of video data from the alternative streams of video data has ceased.

2. The playback device of claim 1 , wherein the video decoder application configures the processor to select multiple download streams of video data from the set of alternative streams of video data.

3. The playback device of claim 1 , wherein the media further includes a set of additional streams of data and where the video decoder application further configures the processor to select at least one additional download stream from the set of additional streams of data.

4. The playback device of claim 3 , wherein the video decoder application configures the processor to request a selected additional stream of data and to save the stream of data to memory.

5. The playback device of claim 3 , wherein the video decoder application configures the processor to separately download data from a selected additional stream of data.

6. The playback device of claim 3 , wherein the additional streams of data are from the group consisting of an alternative audio stream, a subtitle stream, a trick play stream, and an additional alternative video stream.

7. The playback device of claim 1 , wherein the video decoder application further configures the processor to multiplex the download stream into a container file.

8. The playback device of claim 7 , wherein the container file is in the Extensible Binary Meta Language file format.

9. The playback device of claim 7 , wherein the container file is a Matroska container file.

10. The playback device of claim 7 , wherein the video decoder application further configures the processor to:

request header information and index information; and

generate header and index information for the container file using information including the requested header and index information.

11. The playback device of claim 10 , wherein:

the video data in the download stream is encrypted; and

the video decoder application further configures the processor to include cryptographic information in the header of the container file that enables playback of the encrypted video data.

12. The playback device of claim 11 , wherein the cryptographic information is unique to the playback device.

13. The playback device of claim 11 , wherein the cryptographic information is unique to a specific user.

14. An adaptive streaming system, comprising:

a media server, where the media server stores media including a set of alternative streams of video data;

a playback device in communication with the media server, where the playback device is configured to:

request media from the media server;

select a download stream from a set of alternative streams of video data, where the alternative streams of video data are encoded at different maximum bitrates;

adaptively request portions of video data from the alternative streams of video data based upon the measured streaming conditions;

receive the requested portions of video data from the alternative streams of video data;

save received portions of video data from the download stream to memory;

decode the received portions of video data from the alternative streams using a video decoder; and

for received portions of video data not from the download stream, separately download and save a corresponding portion of video data from the download stream to memory after streaming of video data from the alternative streams of video data has ceased.

15. The adaptive streaming system of claim 14 , wherein the playback device is configured to separately download and save the corresponding portion of video data from the media server.

16. The adaptive streaming system of claim 14 , wherein the playback device is configured to separately download and save the corresponding portion of video data from at least one peer playback device via a peer-to-peer network.

17. A method of performing adaptive bitrate streaming of media using a playback device, comprising:

selecting a download stream from a set of alternative streams of video data using a playback device, where the alternative streams of video data are encoded at different maximum bitrates;

adaptively requesting portions of video data from the alternative streams of video data based upon the measured streaming conditions using the playback device;

receiving the requested portions of video data from the alternative streams of video data using the playback device;

decoding the received portions of video data from the alternative streams using the playback device;

saving received portions of video data from the download stream to memory using the playback device; and

for received portions of video data not from the download stream, separately downloading and saving a corresponding portion of video data from the download stream to memory using the playback device after streaming of video data from the alternative streams of video data has ceased.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2021
From: ZISKIND, BEN; CEN, SONG; LIN, TUNG; BRANESS, JASON; SOROUSHIAN, KOUROSH
To: DIVX, LLC
Reel/Frame 055828/0788 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2021
From: SONIC IP, INC.
To: DIVX CF HOLDINGS LLC
Reel/Frame 055828/0795 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2021
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 055828/0814 →
CHANGE OF NAME Recorded Apr 5, 2021
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 055828/0828 →
Continuity (5)
Continuation 15587182 · May 4, 2017
Continuation 14629154 · Feb 23, 2015
Continuation 13436922 · Mar 31, 2012
Provisional Application 61530366 · Sep 1, 2011
Related Publication 20200374571A1 · Nov 26, 2020