IP Library Granted Patent US 11,363,322
Granted Patent B2
US 11,363,322 · App. 15/829,723 · Granted Jun 14, 2022

Optimization of encoding profiles for media streaming

Inventors: Yuriy Reznik (Seattle, WA); Karl Lillevold (Seattle, WA); Abhijith Jagannath (Seattle, WA); Justin Greer (Waunakee, WI); Manish Rao (Tempe, AZ)
Assignee: Brightcove, Inc.
H04N21/2662H04N19/40H04N19/46H04N21/23439H04N21/234309H04N21/2402H04N21/258H04N21/26258H04N21/8456H04N21/64769
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,363,322
App. No.
15/829,723
Granted
Jun 14, 2022
Kind
B2
Abstract

Techniques described herein are directed toward creating one or more “dynamic profiles” for media (video) streaming in which an encoding bit rate (and optionally other profile settings) is optimized for particular content. More specifically, techniques involve performing one or more “probe” encodings of the particular content to determine an encoding bit rate (and optionally other profile settings) that results in an encoding having a quality value sufficiently near (within a threshold) a target quality value.

Claims (71)

1. A method of optimization in encoding source content, the method comprising:

obtaining, by a computer system, the source content, wherein the source content comprises a video in a first electronic format;

determining encoding parameters for at least one probe encoding;

conducting the at least one probe encoding, the at least one probe encoding comprising an encoding of a portion of the source content;

using a quality model to determine encoding parameters for a final encoding, wherein using the quality model comprises:

fitting the quality model to at least one quality value from the at least one probe encoding, and

after fitting the quality model to the at least one quality value, determining the encoding parameters from the quality model based on a target quality value; and

generating, with the computer system, a profile for encoding the source content, wherein the profile for encoding the source content:

indicates how the source content is to be encoded to a second electronic format, and

comprises an encoding ladder that includes information indicative of:

the encoding parameters for the final encoding, and

additional encoding parameters for one or more additional encodings of the source content, wherein:

the encoding parameters for the final encoding and the one or more additional encodings include a number of encodings, video resolutions and bitrates for each encoding,

the encoding parameters for the final encoding and the one or more additional encodings are determined using a Figure of Merit function, and

a combination of the number of encodings, a set of bitrates, and a set of resolutions is determined as the encoding parameters for optimizing the Figure of Merit function, wherein:

the optimization occurs for allowed ranges of the set of bitrates and the set of resolutions, and

maximizing of the Figure of Merit.

2. The method of optimization in encoding source content of claim 1 , wherein the at least one quality value from the at least one probe encoding comprises a quality value of a first probe encoding, the method further comprising:

determining that a difference between the quality value of the first probe encoding and the target quality value exceeds a certain threshold value; and

in response to the determination that the difference between the quality value of the first probe encoding and the target quality value exceeds the certain threshold value, determining a bit rate for a second probe encoding of the at least one probe encoding based, at least in part, on a bit rate for the first probe encoding.

3. The method of optimization in encoding source content of claim 2 , wherein the target quality value comprises a perceptually-weighted target quality value.

4. The method of optimization in encoding source content of claim 2 , further comprising determining a video resolution based on the target quality value.

5. The method of optimization in encoding source content of claim 1 , wherein:

the at least one quality value from the at least one probe encoding comprises a quality value of a first probe encoding and a quality value of a second probe encoding, and

fitting the quality model to the at least one quality value comprises fitting the quality model to the quality value of the first probe encoding and the quality value of the second probe encoding.

6. The method of optimization in encoding source content of claim 5 , further comprising determining a gain and shape of the quality model based, at least in part, on the quality value of the first probe encoding.

7. The method of optimization in encoding source content of claim 5 , wherein generating the profile for encoding the source content comprises solving an optimization problem for the Figure of Merit function to determine one or more of the encoding parameters for the final encoding.

8. The method of optimization in encoding source content of claim 7 the method further comprising using the Figure of Merit function to determine a video resolution and a bit rate of at least one of the one or more additional encodings.

9. The method of optimization in encoding source content of claim 1 , further comprising:

encoding the source content to the second electronic format in accordance with the profile for encoding the source content; and

storing the source content encoded to the second electronic format.

10. The method of optimization in encoding source content of claim 1 , wherein determining the encoding parameters for the at least one probe encoding is further based on a target video resolution.

11. The method of optimization in encoding source content of claim 1 , wherein determining the encoding parameters for the final encoding is further based on a target quality value indicative of a Structural Similarity Index Metric (SSIM).

12. A server comprising:

a communication interface;

a memory; and

a processing unit communicatively coupled with the communication interface and the memory and configured to cause the server to:

obtain source content comprising a video in a first electronic format;

determine encoding parameters for at least one probe encoding;

conduct the at least one probe encoding, the at least one probe encoding comprising an encoding of a portion of the source content;

use a quality model to determine encoding parameters for a final encoding at least in part by:

fitting the quality model to at least one quality value from the at least one probe encoding, and

after fitting the quality model to the at least one quality value, determining the encoding parameters from the quality model based on a target quality value; and

generate a profile for encoding the source content, wherein the profile for encoding the source content:

indicates how the source content is to be encoded to a second electronic format, and comprises an encoding ladder that includes information indicative of:

the encoding parameters for the final encoding, and

additional encoding parameters for one or more additional encodings of the source content, wherein:

the encoding parameters for the final encoding and the one or more additional encodings include a number of encodings, video resolutions and bitrates for each encoding,

the encoding parameters for the final encoding and the one or more additional encodings are determined using a Figure of Merit function, and

a combination of the number of encodings, a set of bitrates, and a set of resolutions is determined as the encoding parameters for optimizing the Figure of Merit function, wherein:

the optimization occurs for allowed ranges of the set of bitrates and the set of resolutions, and

maximizing the Figure of Merit.

13. The server of claim 12 , wherein the at least one quality value from the at least one probe encoding comprises a quality value of a first probe encoding, and wherein the processing unit is further configured to cause the server to:

determine that a difference between the quality value of the first probe encoding and the target quality value exceeds a certain threshold value; and

in response to the determination that the difference between the quality value of the first probe encoding and the target quality value exceeds the certain threshold value, determine a bit rate for a second probe encoding of the at least one probe encoding based, at least in part, on a bit rate for the first probe encoding.

14. The server of claim 13 , wherein the target quality value comprises a perceptually-weighted target quality value.

15. The server of claim 13 , wherein the processing unit is configured to cause the server to determine a video resolution based on the target quality value.

16. The server of claim 12 , wherein:

the at least one quality value from the at least one probe encoding comprises a quality value of a first probe encoding and a quality value of a second probe encoding; and

the processing unit is configured to cause the server to fit the quality model to the at least one quality value at least in part by fitting the quality model to the quality value of the first probe encoding and the quality value of the second probe encoding.

17. The server of claim 16 , wherein the processing unit is configured to cause the server to determine a gain and shape of the quality model based, at least in part, on the quality value of the first probe encoding.

18. The server of claim 12 , wherein the processing unit is configured to cause the server to:

encode the source content to the second electronic format in accordance with the profile for encoding the source content; and

store, in the memory, the source content encoded to the second electronic format.

19. The server of claim 12 , wherein the processing unit is configured to cause the server to determine the encoding parameters for the at least one probe encoding further based on a target video resolution.

20. The server of claim 12 , wherein the processing unit is configured to cause the server to determine the encoding parameters for the final encoding further based on a target quality value indicative of a Structural Similarity Index Metric (SSIM).

21. The server of claim 12 , wherein the Figure of Merit function is an average quality delivered.

22. The server of claim 12 , wherein when minimization of total storage costs is determined, the Figure of Merit function is a sum of bit rates of all encodings in the profile: F (n, R, S)=R1+ . . . +Rn, and when maximization of total achieved resolution is determined, the Figure of Merit function is a sum of resolutions of all encodings in the profile: F (n, R, S)=S1+ . . . +Sn.

23. The server of claim 12 , wherein when maximization of “pixels sent per bit” is determined, the Figure of Merit function is a ratio of sums of resolutions over bitrates used by all encodings in the profile: F (n, R, S)=S1+ . . . +SnR1+ . . . +Rn.

24. The server of claim 12 , wherein the Figure of Merit function F (n, R, S) assigns a certain score to an n-point ladder with rates R={R1, . . . , Rn}, and resolutions Sn={S1, . . . , Sn}.

25. The server of claim 12 , wherein when minimization of average network bandwidth usage is determined, the Figure of Merit function is an estimate of average bandwidth used, and when maximization of average resolution is determined, the Figure of Merit function is an estimate of average resolution delivered.

Assignments (4)
CHANGE OF NAME Recorded Mar 31, 2026
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075304/0073 →
SECURITY INTEREST Recorded May 28, 2025
From: ADEIA INC. (F/K/A XPERI HOLDING CORPORATION); ADEIA HOLDINGS INC.; ADEIA MEDIA HOLDINGS INC.; ADEIA IMAGING LLC; ADEIA MEDIA LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA TECHNOLOGIES INC.; ADEIA GUIDES INC.; ADEIA SOLUTIONS LLC; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR INTELLECTUAL PROPERTY LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA PUBLISHING INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 071454/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2024
From: BRIGHTCOVE INC.
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 067609/0435 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2019
From: REZNIK, YURIY; LILLEVOLD, KARL; JAGANNATH, ABHIJITH; GREER, JUSTIN; RAO, MANISH
To: BRIGHTCOVE INC.
Reel/Frame 049476/0950 →
Continuity (2)
Provisional Application 62428946 · Dec 1, 2016
Related Publication 20180160161A1 · Jun 7, 2018
Cited By (1)
US 12,587,698