IP Library Granted Patent US 9,667,967
Granted Patent B2
US 9,667,967 · App. 14/696,035 · Granted May 30, 2017

Systems and methods for encoding alternative streams of video for use in adaptive bitrate streaming

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,667,967
App. No.
14/696,035
Granted
May 30, 2017
Kind
B2
Abstract

Systems and methods for encoding alternative streams for use in adaptive bitrate streaming based upon the delay of each stream in accordance with embodiments of the invention are described. One embodiment of the invention includes memory, and a processor configured by a source encoding application to: receive multimedia content, where the multimedia content includes source video data having a primary resolution and a primary sample aspect ratio; and encode the source video data as a set of alternative video streams, where: the alternative video streams have different maximum bitrates; and the alternative video streams are encoded to have an upper bound seek delay that is equal to or less than the upper bound seek delay of streams in the set of alternative video streams that are encoded at a higher maximum bitrate.

Claims (159)

1. An adaptive bit rate streaming system that includes a content server and a source encoder server, the system comprising:

a source encoder server configured to encode source video as a number of alternative video streams, the source encoder comprising:

memory; and

a processor configured by a source encoding application stored in the memory to:

receive multimedia content, where the multimedia content comprises source video data having a primary resolution and a primary sample aspect ratio;

encode the source video data as a set of alternative video streams, where:

the alternative video streams have different maximum bitrates; and

the alternative video streams are encoded to have an upper bound seek delay that is equal to or less than the upper bound seek delay of streams in the set of alternative video streams that are encoded at a higher maximum bitrate where the upper seek bound delay of a particular one of the alternative video streams is determined as follows:

Delay

=

level

buffersize

+

level

rate

·

duration

chunk

rate

where level buffersize is the maximum buffer size constraint used in encoding the video stream;

duration chunk is the time taken to playback a single chunk of video of the particular one of the alternative video streams;

level rate is the maximum bitrate of the particular one of the alternative video streams;

rate is a network data rate; and

provide the plurality of alternative video streams to a content server; and

a content server configured communicate with a playback to provide the source video content to the playback device using adaptive bit rate streaming comprising:

memory; and

a processor configured by an application stored in the memory to:

receive a request for a portion of one of the plurality of alternative video streams encoded by the encoding server from a playback device, and

provide the requested portion of the one of the plurality of alternative video streams encoded by the encoding server from a playback device.

2. The adaptive bit rate streaming system of claim 1 , wherein:

the source encoding application further configures the processor to encode the alternative video streams at predetermined maximum bitrates and maximum buffer sizes; and

the upper bound seek delay of a stream is determined by dividing the predetermined maximum buffer size of the stream by the predetermined maximum bitrate of the stream.

3. The adaptive bit rate streaming system of claim 1 , wherein the source encoding application further configures the processor to encode the alternative video streams so that each stream in the set of alternative streams has the same aspect ratio.

4. The adaptive bit rate streaming system of claim 1 , wherein the source encoding application further configures the processor to determine a lower bound seek delay for each stream in the set of alternative video streams.

5. The adaptive bit rate streaming system of claim 4 , wherein the source encoding application further configures the processor to include within each stream its lower bound seek delay.

6. The adaptive bit rate streaming system of claim 4 , wherein the source encoding application further configures the processor to:

determine the alternative stream that has the highest lower bound seek delay; and

include the highest lower bound seek delay within each stream.

7. The adaptive bit rate streaming system of claim 6 , wherein the alternative video streams are encoded in accordance with the H.264 standard.

8. The adaptive bit rate streaming system of claim 7 , wherein the source encoding application further configures the processor to include the highest lower bound seek delay in a initial_cpb_removal_delay field in an SEI buffering message within each stream.

9. The adaptive bit rate streaming system of claim 4 , wherein the source encoding application configures the processor to determine the lower bound seek delay as follows:

Delay

=

max

chunks

(

i

=

0

n

size

chunk

i

rate

-

(

n

-

1

)

·

duration

chunk

)

where:

size chunk i is a size of a particular chunk, i, in the particular one of the alternative streams,

where rate is the network data rate, and

duration chunk is the time taken to playback a single chunk of video of the particular one of the alternative video streams.

10. A method of providing source video as a number of alternative video streams, comprising:

receiving multimedia content, where the multimedia content comprises source video data having a primary resolution and a primary sample aspect ratio using a source encoder;

encoding the source video data as a set of alternative video streams using the source encoder, where:

the alternative video streams have different maximum bitrates; and

the alternative video streams are encoded to have an upper bound seek delay that is equal to or less than the upper bound seek delay of streams in the set of alternative video streams that are encoded at a higher maximum bitrate where the upper seek bound delay of a particular one of the alternative video streams is determined as follows:

Delay

=

level

buffersize

+

level

rate

·

duration

chunk

rate

where level buffersize is the maximum buffer size constraint used in encoding the video stream;

duration chunk is the time taken to playback a single chunk of video of the particular one of the alternative video streams;

level rate is the maximum bitrate of the particular one of the alternative video streams;

rate is a network data rate; and

provide the plurality of alternative video streams to a content server; and

providing the plurality alternative video streams from the source encoder to a content server.

11. The method of claim 10 , further comprising:

encoding the alternative video streams at predetermined maximum bitrates and maximum buffer sizes using the source encoder;

wherein the upper bound seek delay of a stream is determined by dividing the predetermined maximum buffer size of the stream by the predetermined maximum bitrate of the stream.

12. The method of claim 10 , further comprising encoding the alternative video streams so that each stream in the set of alternative streams has the same aspect ratio.

13. The method of claim 10 , further comprising determining a lower bound seek delay for each stream in the set of alternative video streams.

14. The method of claim 13 , further comprising including within each stream its lower bound seek delay.

15. The method of claim 13 , further comprising:

determining the alternative stream that has the highest lower bound seek delay; and

including the highest lower bound seek delay within each stream.

16. The method of claim 15 , wherein the alternative video streams are encoded in accordance with the H.264 standard.

17. The method of claim 16 , further comprising including the highest lower bound seek delay in a initial_cpb_removal_delay field in an SEI buffering message within each stream.

18. The method of claim 13 , further comprising determining the lower bound seek delay as follows:

Delay

=

max

chunks

(

i

=

0

n

size

chunk

i

rate

-

(

n

-

1

)

·

duration

chunk

)

where:

size chunk i is a size of a particular chunk, i, in the particular one of the alternative streams,

where rate is the network data rate, and

duration chunk is the time taken to playback a single chunk of video of the particular one of the alternative video streams.

Assignments (5)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 5, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050407/0104 →
CHANGE OF NAME Recorded Mar 5, 2018
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 045498/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: SONIC IP, INC.; DIVX, LLC
To: DIVX CF HOLDINGS LLC
Reel/Frame 045310/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2015
From: VAN DER SCHAAR, AUKE SJOERD
To: DIVX, LLC
Reel/Frame 036803/0800 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2015
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 036803/0842 →