IP Library Granted Patent US 12,225,252
Granted Patent B2
US 12,225,252 · App. 18/179,281 · Granted Feb 11, 2025

Dynamic selection of candidate bitrates for video encoding

Inventors: Chen Liu (Beijing, CN); Wenhao Zhang (Beijing, CN); Scott Labrozzi (Cary, NC); Yuanyi Xue (Alameda, CA); Xuchang Huangfu (Beijing, CN); Xiaobo Liu (Beijing, CN)
Assignees: Disney Enterprises, Inc.; Beijing YoJaJa Software Technology Development Co., Ltd.
H04N21/238H04N21/23418H04N21/2662H04N21/8456
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 12,225,252
App. No.
18/179,281
Granted
Feb 11, 2025
Kind
B2
Abstract

In some embodiments, a method generates a first representation of a first relationship between bitrate and quality based on first features of a first portion of a video. Also, the method generates a second representation of a second relationship between bitrate and quality based on second features of a second portion of a video. The first representation is analyzed to determine a first list of bitrates for the first portion of video and the second representation is analyzed to determine a second list of bitrates for the second portion of video. The first list of bitrates is different from the second list of bitrates. The method outputs the first list of bitrates for use encoding the first portion of video and the second list of bitrates for use encoding the second portion of video.

Claims (77)

1. A method comprising:

generating, by a computing device, a first representation of a first relationship between bitrate and quality based on first features of a first portion of a video;

generating, by the computing device, a second representation of a second relationship between bitrate and quality based on second features of a second portion of the video;

analyzing, by the computing device, the first representation to determine a first list of bitrates for the first portion of video and analyzing the second representation to determine a second list of bitrates for the second portion of video, wherein the first list of bitrates is different from the second list of bitrates, wherein analyzing the first representation or analyzing the second representation comprises:

generating a list of potential bitrates based on the first representation or the second representation, and

refining the list of potential bitrates based to a quality associated with the potential bitrates to determine the first list of bitrates or the second list of bitrates, wherein refining the list of potential bitrates comprises:

adding a first potential bitrate to the list of potential bitrates; and

outputting, by the computing device, the first list of bitrates for encoding the first portion of video and the second list of bitrates for encoding the second portion of video.

2. The method of claim 1 , wherein:

generating the first representation comprises generating a first prediction of the first relationship for bitrate and quality, and

generating the second representation comprises generating a second prediction of the second relationship for bitrate and quality.

3. The method of claim 1 , wherein:

generating the first representation comprises:

inputting the first features into a prediction network; and

generating a first prediction of the first representation based on the first features, and

generating the second representation comprises:

inputting the second features into the prediction network; and

generating a second prediction of the second representation based on the second features.

4. The method of claim 1 , wherein refining the list of potential bitrates comprises:

removing a first potential bitrate from the list of potential bitrates.

5. The method of claim 4 , wherein removing the potential bitrate comprises:

determining a second potential bitrate;

comparing a first quality of the first potential bitrate to a second quality of the second potential bitrate; and

determining whether to remove the first potential bitrate based on the comparing.

6. The method of claim 5 , wherein the first potential bitrate is removed from the list of potential bitrates when a difference between the first quality and the second quality meets a threshold.

7. The method of claim 1 , wherein adding the potential bitrate comprises:

determining a second potential bitrate and a third potential bitrate that are in the list of potential bitrates;

comparing a first quality of the second potential bitrate to a second quality of the third potential bitrate; and

determining whether to add the first potential bitrate based on the comparing.

8. The method of claim 7 , wherein the first potential bitrate is added when a difference between the first quality and the second quality meets a threshold.

9. The method of claim 1 , wherein analyzing the first representation or analyzing the second representation comprises:

analyzing a plurality of first representations for a plurality of segments in the first portion of video or the second portion of video;

determining a first minimum bitrate and a first maximum bitrate for each of the plurality of first representations; and

determining a second minimum bitrate and a second maximum bitrate for the first portion of video or the second portion of video based on the first minimum bitrate and the first maximum bitrate for each of the plurality of first representations.

10. The method of claim 9 , wherein analyzing the first representation or analyzing the second representation comprises:

generating the list of potential bitrates based on the second minimum bitrate and the second maximum bitrate, wherein potential bitrates in the list of potential bitrates are analyzed to determine the first list of bitrates or the second list of bitrates.

11. The method of claim 10 , wherein analyzing the first representation or analyzing the second representation comprises:

determining potential removal candidate bitrates for each of the plurality of first representations, wherein a potential removal candidate bitrate is a potential removal from the list of potential bitrates; and

determining whether to remove a potential removal candidate bitrate based on the potential removal candidate bitrate being included as a potential removal candidate in one or more of each of the plurality of first representations.

12. The method of claim 10 , wherein analyzing the first representation or analyzing the second representation comprises:

determining potential added candidate bitrates for each of the plurality of first representations, wherein a potential added candidate is a potential addition to the list of potential bitrates; and

determining whether to add a potential bitrate based on the potential added candidate bitrate being included as a potential added candidate in one or more of each of the plurality of first representations.

13. The method of claim 1 , wherein:

the first list of bitrates includes a bitrate that is not included in the second list of bitrates.

14. The method of claim 1 , further comprising:

encoding the first portion of video using the first list of bitrates to generate a plurality of first encoded portions for the first portion of video; and

encoding the second portion of video using the second list of bitrates to generate a plurality of second encoded portions for the second portion of video.

15. The method of claim 14 , further comprising:

selecting an encoded segment from the plurality of first encoded portions for a first profile in a profile ladder; and

selecting an encoded segment from the plurality of second encoded portions for the first profile in the profile ladder.

16. A non-transitory computer-readable storage medium having stored thereon computer executable instructions, which when executed by a computing device, cause the computing device to be operable for:

generating a first representation of a first relationship between bitrate and quality based on first features of a first portion of a video;

generating a second representation of a second relationship between bitrate and quality based on second features of a second portion of the video;

analyzing the first representation to determine a first list of bitrates for the first portion of video and analyzing the second representation to determine a second list of bitrates for the second portion of video, wherein the first list of bitrates is different from the second list of bitrates, wherein analyzing the first representation or analyzing the second representation comprises:

generating a list of potential bitrates based on the first representation or the second representation, and

refining the list of potential bitrates based on a quality associated with the potential bitrates to determine the first list of bitrates or the second list of bitrates, wherein refining the list of potential bitrates comprises:

adding a first potential bitrate to the list of potential bitrates; and

outputting the first list of bitrates for use encoding the first portion of video and the second list of bitrates for use encoding the second portion of video.

17. The non-transitory computer-readable storage medium of claim 16 , wherein:

generating the first representation comprises generating a first prediction of the first relationship for bitrate and quality, and

generating the second representation comprises generating a second prediction of the second relationship for bitrate and quality.

18. The non-transitory computer-readable storage medium of claim 16 , wherein refining the list of potential bitrates comprises:

removing a first potential bitrate from the list of potential bitrates.

19. The non-transitory computer-readable storage medium of claim 16 , wherein adding the potential bitrate comprises:

determining a second potential bitrate and a third potential bitrate that are in the list of potential bitrates;

comparing a first quality of the second potential bitrate to a second quality of the third potential bitrate; and

determining whether to add the first potential bitrate based on the comparing.

20. An apparatus comprising:

one or more computer processors; and

a computer-readable storage medium comprising instructions for controlling the one or more computer processors to be operable for:

generating a first representation of a first relationship between bitrate and quality based on first features of a first portion of a video;

generating a second representation of a second relationship between bitrate and quality based on second features of a second portion of the video;

analyzing the first representation to determine a first list of bitrates for the first portion of video and analyzing the second representation to determine a second list of bitrates for the second portion of video, wherein the first list of bitrates is different from the second list of bitrates, wherein analyzing the first representation or analyzing the second representation comprises:

generating a list of potential bitrates based on the first representation or the second representation; and

refining the list of potential bitrates based on a quality associated with the potential bitrates to determine the first list of bitrates or the second list of bitrates, wherein refining the list of potential bitrates comprises:

adding a first potential bitrate to the list of potential bitrates; and

outputting the first list of bitrates for use encoding the first portion of video and the second list of bitrates for use encoding the second portion of video.

Assignments (3)
CHANGE OF NAME Recorded Sep 24, 2024
From: BEIJING HULU SOFTWARE TECHNOLOGY DEVELOPMENT CO., LTD.
To: BEIJING YOJAJA SOFTWARE TECHNOLOGY DEVELOPMENT CO., LTD.
Reel/Frame 068684/0455 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2023
From: LIU, CHEN; ZHANG, WENHAO; HUANGFU, XUCHANG; LIU, XIAOBO
To: BEIJING HULU SOFTWARE TECHNOLOGY DEVELOPMENT CO., LTD.
Reel/Frame 062897/0099 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2023
From: LABROZZI, SCOTT; XUE, YUANYI
To: DISNEY ENTERPRISES, INC.
Reel/Frame 062897/0156 →
Continuity (1)
Related Publication 20240305842A1 · Sep 12, 2024
References Cited (21)
US 11190826B1 · Labrozzi et al. · 2021 [cited by applicant]
US 11729438B1 · Jain · 2023 [cited by examiner]
US 20160014418A1 · Shao et al. · 2016 [cited by applicant]
US 20160295216A1 · Aaron et al. · 2016 [cited by applicant]
US 20180124146A1 · Chen · 2018 [cited by examiner]
US 20190297329A1 · Bampis et al. · 2019 [cited by applicant]
US 20200296362A1 · Chadwick et al. · 2020 [cited by applicant]
US 20210360260A1 · Rehman et al. · 2021 [cited by applicant]
US 20220030247A1 · Olekas et al. · 2022 [cited by applicant]
US 20220046305A1 · Labrozzi · 2022 [cited by examiner]
US 20230188764A1 · Pahalawatta · 2023 [cited by examiner]
US 20240119575A1 · Bampis et al. · 2024 [cited by applicant]
Liu, et al, “Prediction of Rate Distortion Curves for Video Encoding,” U.S. Appl. No. 18/295,184, filed Apr. 3, 2023, 83 pages. [cited by applicant]
Liu, et al., “Encoding Operational Points Selection for Video Encoding,” U.S. Appl. No. 18/435,842, filed Feb. 7, 2024, 71 pages. [cited by applicant]
De Cock Jan et al: “Complexity-based consistent-quality encoding in the cloud”, 2016 IEEE International Conference on Image Processing (ICIP), IEEE, Sep. 25, 2016 (Sep. 25, 2016), pp. 1484-1488, XP033016722, DOI: 10.110… [cited by applicant]
Extended European Search Report for Application No. 24156318.8, dated Jun. 14, 2024, 11 pgs. [cited by applicant]
Zabrovskiy Anatoliy et al: “Faust” Fast Per-Scene Encoding Using Entropy-Based Scene Detection and Machine Learning:, 2021 30th Conference of Open Innovations Associateion Fruct, Fruct, Oct. 27, 2021 (Oct. 27, 2021), pp… [cited by applicant]
Extended European Search Report for European Application No. 24156321.2, dated Jul. 22, 2024, 11 pgs. [cited by applicant]
Somdyuti Paul et al: “Efficient Per-Shot, Convex Hull Prediction by Recurrent Learning”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Jun. 10, 2022 (Jun. 10, 2022}, XP0912… [cited by applicant]
Zabrovskiy Anatoliy et al: “Faust: Fast Per-scene Encoding using Entropy-Based scene Detection and Machine Learning”, 2021 30th Conference of Open Innovations Association Fruct, Fruct, Oct. 27, 2021 (Oct. 27, 2021), pp.… [cited by applicant]
Zhengfang Duanmu et al: “Modeling Generalized Rate-Distortion Functions”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Jun. 12, 2019 (Jun. 12, 2019}, XP081376508, 17 pgs. [cited by applicant]
Cited By (2)
US 12,506,877 US 12,598,308