IP Library Granted Patent US 12,028,530
Granted Patent B2
US 12,028,530 · App. 17/649,712 · Granted Jul 2, 2024

Adaptive transcoding of profile ladder for videos

Inventors: Chen Liu (Beijing, CN); Wenhao Zhang (Beijing, CN); Xuchang Huangfu (Beijing, CN); Xiaobo Liu (Beijing, CN); Deliang Fu (Beijing, CN); Lan Xie (Beijing, CN); Rui Zhang (Beijing, CN); Shuai Lou (Beijing, CN); Chao Zhang (Beijing, CN)
Assignee: HULU, LLC
H04N19/147H04N19/115H04N19/166H04N19/184
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,028,530
App. No.
17/649,712
Granted
Jul 2, 2024
Kind
B2
Abstract

In some embodiments, a method analyzes content of a video to generate a representation for a video that represents a relationship of a bitrate to a quality measurement for the video. A plurality of candidate points on the representation are selected. Then, the method selects a profile ladder from at least a portion of the plurality of candidate points. Each profile in the profile ladder is associated with a candidate point and the profile includes a corresponding bitrate and a quality measurement for the respective candidate point. The profile ladder is used for the video.

Claims (59)

1. A method comprising:

analyzing, by a computing device, content of a video to generate a representation for a video that represents a relationship of a bitrate to a quality measurement for the video;

selecting, by the computing device, a plurality of candidate points on the representation;

generating, by the computing device, a plurality of combinations from at least a portion of the plurality of candidate points to form a plurality of profile ladders, wherein profile ladders in the plurality of profile ladders include a plurality of profiles, wherein profiles in the plurality of profiles are associated with second values;

determining, by the computing device, a plurality of second values that is associated with the plurality of profiles for each profile ladder in the plurality of profile ladders;

generating, by the computing device, a first value that represents the bitrate or quality for profile ladders in the plurality of profile ladders, wherein the first value for a respective profile ladder is generated by combining the plurality of second values for profiles in the profile ladder into the first value;

selecting, by the computing device, a profile ladder from the plurality of profile ladders based on a comparison of respective first values generated for the profile ladder and other profile ladders in the plurality of profile ladders; and

using, by the computing device, the profile ladder for the video.

2. The method of claim 1 , further comprising:

receiving playback information; and

selecting the profile ladder based on the playback information.

3. The method of claim 2 , wherein the playback information is from playback of the video or playback of another video.

4. The method of claim 2 , wherein the playback information is used to select the candidate points on the representation.

5. The method of claim 2 , wherein:

the playback information is used to select a first boundary and a second boundary for the candidate points on the representation, and

candidate points in the plurality of candidate points are selected based on the first boundary and the second boundary.

6. The method of claim 5 , wherein the first boundary and the second boundary are selected using bitrates that were played back in the playback information to determine the first boundary or the second boundary.

7. The method of claim 1 , wherein the representation is generated by:

analyzing characteristics of the video to generate a relationship between the bitrate and the quality.

8. The method of claim 1 , wherein selecting the plurality of candidate points on the representation comprises:

analyzing a quality associated with a position on the representation to determine whether to select the position as a candidate point in the plurality of candidate points.

9. The method of claim 1 , wherein profiles in a profile ladder are selected by:

selecting less than all of the plurality of candidate points; and

using the less than all of the plurality of candidate points to select the profiles in the profile ladder.

10. The method of claim 1 , wherein selecting the profile ladder comprises:

calculating the first value as a bitrate representation that is based on second values of bitrates for profiles in a current profile ladder from the plurality of profile ladders; and

determining whether to select the current profile ladder as the profile ladder based on the bitrate representation.

11. The method of claim 10 , wherein the bitrate representation comprises a weighted bitrate that is based on bitrates associated with the profiles of the current profile ladder and a probability of playback of the respective profiles.

12. The method of claim 1 , wherein selecting the profile ladder comprises:

calculating the first value as a quality measurement representation for a current profile ladder in the plurality of profile ladders, wherein the quality measurement representation is based on quality measurements of second values for profiles in a current profile ladder; and

determining whether to select the current profile ladder based on the quality measurement representation.

13. The method of claim 12 , wherein the quality measurement representation comprises a weighted quality measurement representation that is based on quality measurements associated with the profiles of the current profile ladder and a probability of playback of the respective profiles.

14. The method of claim 1 , wherein using the profile ladder for the video comprises:

transcoding the video into a plurality of video streams based on profiles in the profile ladder.

15. The method of claim 14 , wherein transcoding the video into the plurality of video streams comprises:

transcoding each video stream based on at least one of the bitrate and the quality measurement associated with a respective profile.

16. The method of claim 1 , wherein using the profile ladder for the video comprises:

selecting profiles from a standard profile ladder based on the profiles of the selected profile ladder.

17. The method of claim 16 , wherein selecting profiles from the standard profile ladder based on the profiles of the selected profile ladder comprises:

selecting a profile from the standard profile that has at least one of the bitrate and the quality measurement closest to a profile in the selected profile ladder.

18. The method of claim 1 , wherein each profile in the profile ladder is associated with a candidate point and the profile includes a corresponding bitrate and a quality measurement for the respective candidate point.

19. A non-transitory computer-readable storage medium containing instructions, that when executed, control a computer system to be operable for:

analyzing content of a video to generate a representation for a video that represents a relationship of a bitrate to a quality measurement for the video;

selecting a plurality of candidate points on the representation;

generating a plurality of combinations from at least a portion of the plurality of candidate points to form a plurality of profile ladders, wherein profile ladders in the plurality of profile ladders include a plurality of profiles, wherein profiles in the plurality of profiles are associated with second values;

determining a plurality of second values that is associated with the plurality of profiles for each profile ladder in the plurality of profile ladders;

generating a first value that represents the bitrate or quality for profile ladders in the plurality of profile ladders, wherein the first value for a respective profile ladder is generated by combining the plurality of second values for profiles in the profile ladder into the first value;

selecting a profile ladder from the plurality of profile ladders based on a comparison of respective first values generated for the profile ladder and other profile ladders in the plurality of profile ladders; and

using the profile ladder for the video.

20. An apparatus comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be operable for:

analyzing content of a video to generate a representation for a video that represents a relationship of a bitrate to a quality measurement for the video;

selecting a plurality of candidate points on the representation;

generating a plurality of combinations from at least a portion of the plurality of candidate points to form a plurality of profile ladders, wherein profile ladders in the plurality of profile ladders include a plurality of profiles, wherein profiles in the plurality of profiles are associated with second values;

determining a plurality of second values that is associated with the plurality of profiles for each profile ladder in the plurality of profile ladders;

generating a first value that represents the bitrate or quality for profile ladders in the plurality of profile ladders, wherein the first value for a respective profile ladder is generated by combining the plurality of second values for profiles in the profile ladder into the first value;

selecting a profile ladder from the plurality of profile ladders based on a comparison of respective first values generated for the profile ladder and other profile ladders in the plurality of profile ladders; and

using the profile ladder for the video.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2022
From: LIU, CHEN; ZHANG, WENHAO; HUANGFU, XUCHANG; LIU, XIAOBO; FU, DELIANG; XIE, LAN; ZHANG, RUI; LOU, SHUAI; ZHANG, CHAO
To: HULU, LLC
Reel/Frame 058866/0494 →
Continuity (2)
Continuation 17085589 · Oct 30, 2020
Related Publication 20220159268A1 · May 19, 2022