IP Library Granted Patent US 10,708,587
Granted Patent B2
US 10,708,587 · App. 15/334,068 · Granted Jul 7, 2020

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

Inventors: Kourosh Soroushian (San Diego, CA); Auke Sjoerd van der Schaar (London, GB)
Assignee: DIVX, LLC
H04N19/115H04N5/85H04N9/80H04N19/132H04N19/136H04N19/154H04N19/16H04N19/164H04N19/172H04N19/85H04N21/23439H04N21/234363
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,708,587
App. No.
15/334,068
Granted
Jul 7, 2020
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 (34)

1. An adaptive bitrate streaming system comprising:

a set of one or more source encoding servers, wherein each encoding server of the set of encoding servers comprises:

a non-volatile storage containing an encoding application; and

at least one processor;

wherein the encoding applications cause the processors of the encoding servers to encode source content as a plurality of alternative streams of video for playback on a playback device and direct the processors of the encoding servers to:

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

determine a plurality of encoding combinations, wherein each encoding combination comprises one of a plurality of resolutions and one of a plurality of sample aspect ratios, wherein the resolution and the sample aspect ratio of each encoding combination results in a common display aspect ratio corresponding to the primary display aspect ratio of the original source video;

determine a recommended encoding combination for each maximum bitrate of a plurality of maximum bitrates by:

determining an estimated bitrate for each encoding combination based on the resolution of the encoding combination, wherein the estimated bitrate for at least one encoding combination is less than the determined maximum bitrate for the at least one encoding combination; and

selecting an encoding combination with an estimated bitrate less than the maximum bitrate as the determined encoding combination; and

encode the source video data as alternative streams of video for each maximum bitrate of the plurality of maximum bitrates, wherein each alternative stream of video is encoded with the recommended encoding combination for each maximum bitrate, wherein each pixel of encoded video is scaled to an integer number of pixels on a display of the playback device.

2. The adaptive bitrate streaming system of claim 1 , wherein each encoding combination further comprises a frame rate, wherein the maximum bitrate for each encoding combination is a maximum bitrate threshold beyond which higher video quality can be achieved using a higher resolution than the resolution at the frame rate of the encoding combination and the recommended bitrate is a maximum predetermined bitrate of a plurality of predetermined bitrates that is not greater than the maximum bitrate threshold.

3. The adaptive bitrate streaming system of claim 2 , wherein the encoding applications further direct the processors of the encoding servers to determine the maximum bitrate threshold for each encoding combination using an adjusted number of macroblocks per second determined based upon the resolution and frame rate for the encoding combination.

4. The adaptive bitrate streaming system of claim 1 , wherein the playback device can transition between the alternative streams without the need to resample the alternative streams or add padding rows and columns to the decoded video to fit to a display resolution of the display of the playback device.

5. The adaptive bitrate streaming system of claim 2 , wherein the the plurality of predetermined bitrates corresponds to maximum effective data rates of network connections of playback devices.

6. The adaptive bitrate streaming system of claim 1 , wherein different alternative streams encode the source video data at different frame rates.

7. The adaptive bitrate streaming system of claim 2 , wherein the plurality of predetermined bitrates correspond to a predetermined network connection maximum data rate typically experienced by a set of playback devices that use a particular technology and Internet Service Provider to connect to the Internet.

8. The adaptive bitrate streaming system of claim 3 , wherein the adjusted number of macroblocks per second is adjusted based on an adjustment factor computed for each frame rate of a plurality of frame rates.

9. The adaptive bitrate streaming system of claim 2 , wherein the maximum bitrate threshold for each encoding combination is determined irrespective of the content of the video.

10. A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:

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

determine a plurality of encoding combinations, wherein each encoding combination comprises one of a plurality of resolutions and one of a plurality of sample aspect ratios, wherein the resolution and the sample aspect ratio of each encoding combination results in a common display aspect ratio corresponding to the primary display aspect ratio of the original source video;

determine a recommended encoding combination for each maximum bitrate of a plurality of maximum bitrates by:

determining an estimated bitrate for each encoding combination based on the resolution of the encoding combination, wherein the estimated bitrate for at least one encoding combination is less than the determined maximum bitrate for the at least one encoding combination; and

selecting an encoding combination with an estimated bitrate less than the maximum bitrate as the determined encoding combination; and

encode the source video data as alternative streams of video for each maximum bitrate of the plurality of maximum bitrates, wherein each alternative stream of video is encoded with the recommended encoding combination for each maximum bitrate, wherein each pixel of encoded video is scaled based on the resolution and the sample aspect ratio of the encoding combination of each alternative stream to an integer number of pixels on a display of the playback device.

11. The non-transitory machine readable medium of claim 10 , wherein each encoding combination further comprises a frame rate, wherein the maximum bitrate for each encoding combination is a maximum bitrate threshold beyond which higher video quality can be achieved using a higher resolution than the resolution at the frame rate of the encoding combination and the recommended bitrate is a maximum predetermined bitrate of a plurality of predetermined bitrates that is not greater than the maximum bitrate threshold.

12. The non-transitory machine readable medium of claim 11 , wherein execution of the instructions by a processor further causes the processor to determine the maximum bitrate threshold for each encoding combination using an adjusted number of macroblocks per second determined based upon the resolution and frame rate for the encoding combination.

13. The non-transitory machine readable medium of claim 10 , wherein the playback device can transition between the alternative streams without the need to resample the alternative streams or add padding rows and columns to the decoded video to fit to a display resolution of the display of the playback device.

14. The non-transitory machine readable medium of claim 11 , wherein the plurality of predetermined bitrates corresponds to maximum effective data rates of network connections of playback devices.

15. The non-transitory machine readable medium of claim 10 , wherein different alternative streams encode the source video data at different frame rates.

16. The non-transitory machine readable medium of claim 10 , wherein the plurality of predetermined bitrates correspond to a predetermined network connection maximum data rate typically experienced by a set of playback devices that use a particular technology and Internet Service Provider to connect to the Internet.

17. The non-transitory machine readable medium of claim 12 , wherein the adjusted number of macroblocks per second is adjusted based on an adjustment factor computed for each frame rate of a plurality of frame rates.

18. The non-transitory machine readable medium of claim 11 , wherein the maximum bitrate threshold for each encoding combination is determined irrespective of the content of the video.

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 26, 2016
From: SOROUSHIAN, KOUROSH; VAN DER SCHAAR, AUKE SJOERD
To: DIVX, LLC
Reel/Frame 040143/0075 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2016
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 040143/0093 →
Continuity (4)
Continuation 14464146 · Aug 20, 2014
Continuation 13432521 · Mar 28, 2012
Provisional Application 61529204 · Aug 30, 2011
Related Publication 20170041604A1 · Feb 9, 2017
Cited By (5)
US 12,244,878 US 12,250,404 US 12,262,051 US 12,407,906 US 12,470,781