Outer Rim Archives
Archives · 2024 · 20240305842

Application (pre-grant publication)

DYNAMIC SELECTION OF CANDIDATE BITRATES FOR VIDEO ENCODING

Number
20240305842
Published
2024-09-12
Filed
2023-03-06
Assignee
Beijing Hulu Software Technology Development Co., Ltd.
Inventors
Liu; Chen et al.
CPC
H04N19/115; H04N19/147; H04N21/8456; H04N21/23418; H04N21/23439; H04N19/146; H04N21/238; H04N19/179; H04N21/2662
Verdict
Set aside video encoding codec, plumbing (note: assignee is Hulu subsidiary, not Disney/Lucasfilm directly - search-match anomaly via affiliated entity)
Source
Google Patents · FreePatentsOnline

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.

Background

BACKGROUND

One method of delivering videos to client devices uses Adaptive Bitrate Streaming (ABR). Adaptive bitrate streaming is predicated on providing multiple streams (often referred to as variants or profiles) that are encoded at different levels of video attributes, such as different levels of bitrate and/or quality. A profile ladder lists different profiles that are available for a client to use when streaming segments of a video. Clients can dynamically select profiles based on network conditions and other factors. The video is segmented (e.g., split into discrete segments, usually a few seconds long each), and clients can switch from one profile to another at segment boundaries as network conditions change. For example, a video delivery system would like to provide clients with a profile that has a higher bitrate when network conditions with higher available bandwidth are being experienced, which improves the quality of the video being streamed. When network conditions with lower available bandwidth are being experienced, the video delivery system would like to provide clients with a profile with a lower bitrate such that the clients can play the video without any playback issues, such as rebuffering or downloading failures.

Claims

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 a 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; and outputting, by the computing device, 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. || 18. 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 a 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; 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. || 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 a 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; 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.