IP Library Granted Patent US 8,818,171
Granted Patent B2
US 8,818,171 · App. 13/432,521 · Granted Aug 26, 2014

Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates

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 8,818,171
App. No.
13/432,521
Granted
Aug 26, 2014
Kind
B2
Abstract

Systems and methods for adaptive bitrate streaming of alternative streams of video encoded at resolution and sample aspect ratio combinations and maximum bitrates in accordance with embodiments of the invention are disclosed. In one embodiment of the invention, a source encoder configured to encode a source video stream as a plurality of alternative streams of video for playback on a playback device includes a processor configured to receive multimedia content including source video data having a primary resolution, a primary sample aspect ratio, and a primary frame rate and to encode the source video data as alternative streams of video, where the resolution and sample aspect ratio of at least one of the alternative streams of video are selected to have an aspect ratio that is the same as a predetermined display aspect ratio and at least one of the alternative streams is encoded at a maximum bitrate.

Claims (43)

1. A source encoder configured to encode a source video stream as a plurality of alternative streams of video for playback on a playback device, comprising:

an encoding profile, where the encoding profile specifies a plurality of maximum bitrates including a maximum bitrate corresponding to a predetermined network connection maximum data rate;

a processor configured by an encoding application to:

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

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

the resolution and sample aspect ratio of at least one of the alternative streams of video are selected to have an aspect ratio that is the same as a predetermined display aspect ratio; and

at least one of the alternative streams is encoded at a maximum bitrate corresponding to the predetermined network connection maximum data rate;

wherein the encoding application further configures the processor to:

select a resolution, sample aspect ratio and frame rate for each alternative stream;

determine a maximum bitrate threshold beyond which higher video quality can be achieved using a higher resolution than the selected resolution at the selected frame rate of each alternative stream by configuring the processor to determine the maximum bitrate threshold using an adjusted number of macroblocks per second determined based upon the selected resolution, and frame rate;

select a maximum bitrate from the profile for each alternative stream, where the selected maximum bitrate is the highest maximum bitrate specified in the profile that is less than the maximum bitrate threshold determined for the alternative stream; and

generate each alternative stream by encoding the source video stream at the selected maximum bitrate, selected resolution, sample aspect ratio and frame rate;

wherein the encoding application configures the processor to determine the adjusted number of macroblocks per second (AMBPS) as follows:

AMBPS=((width*height*FPS)/256)*AdjustmentFactor(FPS),

where width and height are the width and height of the encoding resolution,

FPS is the frame rate per second for the video data, and

AdjustmentFactor(FPS) is a predetermined value based on the FPS of the video data;

wherein the adjustment factor is selected from the group comprising:

an AdjustmentFactor(FPS)=1, where FPS=29.97;

an AdjustmentFactor(FPS)=1.1333, where FPS=25; and

an AdjustmentFactor(FPS)=1.1606, where FPS=23.976.

2. The source encoder of claim 1 , wherein the encoding application configures the processor to determine the adjustment factor is determined as follows:

AdjustmentFactor(FPS)=1+((MaxFPS−FPS)/(MaxFPS*1.25)) where MaxFPS is Ceiling(FPS/30)*30.

3. A method of encoding a source video stream as a plurality of alternative streams of video for playback on a playback device, comprising:

retrieving an encoding profile using the source encoder, where the encoding profile specifies a plurality of maximum bitrates including a maximum bitrate corresponding to a predetermined network connection maximum data rate;

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

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

selecting the resolution and sample aspect ratio of at least one of the alternative streams of video to have an aspect ratio that is the same as the predetermined display aspect ratio; and

encoding at least one of the alternative streams at a maximum bitrate corresponding to the predetermined network connection maximum data rate;

wherein encoding the source video further comprises:

selecting a resolution, sample aspect ratio and frame rate for each alternative stream;

determining a maximum bitrate threshold beyond which higher video quality can be achieved using a higher resolution than the selected resolution at the selected frame rate of each alternative stream using the source encoder by using an adjusted number of macroblocks per second determined based upon the selected resolution, and frame rate;

selecting a maximum bitrate from the profile for each alternative stream using the source encoder, where the selected maximum bitrate is the highest maximum bitrate specified in the profile that is less than the maximum bitrate threshold determined for the alternative stream; and

wherein the adjusted number of macroblocks per second (AMBPS) is determined as follows:

AMBPS=((width*height*FPS)/256)*AdiustmentFactor(FPS),

where width and height are the width and height of the encoding resolution, FPS is the frame rate per second for the video data, and AdjustmentFactor(FPS) is a predetermined value based on the FPS of the video data;

wherein the adjustment factor is selected from the group comprising:

an AdjustmentFactor(FPS)=1, where FPS=29.97;

an AdjustmentFactor(FPS)=1.1333, where FPS=25; and

an AdiustmentFactor(FPS)=1.1606, where FPS=23.976.

4. The method of claim 3 , wherein the adjustment factor is determined as follows:

AdjustmentFactor(FPS)=1+((MaxFPS−FPS)/(MaxFPS*1.25))

where MaxFPS is Ceiling (FPS/30)*30.

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 Nov 22, 2013
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 031713/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2012
From: SOROUSHIAN, KOUROSH; VAN DER SCHAAR, AUKE SJOERD
To: DIVX, LLC
Reel/Frame 028445/0707 →