Outer Rim Archives
Archives · 2022 · 20220046305

Application (pre-grant publication)

SEGMENT QUALITY-GUIDED ADAPTIVE STREAM CREATION

Number
20220046305
Published
2022-02-10
Filed
2021-10-20
Assignee
Disney Enterprises, Inc.
Inventors
LABROZZI; Scott C., MATHUR; Chetan K., XUE; Yuanyi, BRACCO; Michael J.
CPC
H04L65/70; H04L65/80; H04N21/234345; H04N21/23439; H04N21/2662; H04N21/8456
Verdict
Set aside streaming segment quality, codec plumbing
Source
Google Patents · FreePatentsOnline

Abstract

Embodiments provide for improved stream generation. A target average bitrate (TAB) segment is generated by encoding a first segment, of a plurality of segments in a video, using a first maximum average bitrate (MAB) of a plurality of MABs specified in an encoding ladder. An intermediate average bitrate (IAB) segment is generated by encoding the first segment using a first intermediate bitrate, wherein the first intermediate bitrate is lower than the first MAB. Upon receiving a request for the first segment at the first MAB, the IAB segment is output based at least in part on determining that a first quality score of the IAB segment is within a predefined tolerance of a second quality score of the TAB segment.

Background

BACKGROUND

Streaming services (e.g., video streams, audio streams, or multimedia streams) have become increasingly common and desired by a wide variety of users. Streaming content enables users to receive the multimedia they desire at the time they desire/need it, rather than downloading it ahead of time. That is, rather than force users to wait long periods of time for large downloads (e.g., an entire movie), which also forces users to store large amounts of data, streaming enables the user to fetch smaller segments of a larger video on an as-needed basis (e.g., just before the segment begins).

To improve streaming services, Adaptive Bitrate Streaming (ABR) has been developed. ABR is predicated on providing multiple streams (often referred to as variants) at varying bitrates, enabling clients to dynamically select variants based on network conditions and other factors. These variants are encoded using an encoding ladder with a number of rungs, each rung corresponding to a desired output bitrate. Often, multiple resolutions (e.g., 1920×1080, 1280×720, and the like) can coexist on an encoding ladder, with a given resolution at one or more consecutive rungs. The ABR streams are segmented (e.g., split into discrete sub-assets, usually a few seconds long each), and clients can adapt from one variant to another at segment boundaries, as network conditions change.

Claims

1. A method, comprising: generating a first target average bitrate (TAB) segment by encoding a first segment, of a plurality of segments in a video, using a first maximum average bitrate (MAB) of a plurality of MABs specified in an encoding ladder; generating a first intermediate average bitrate (IAB) segment by encoding the first segment using a first intermediate bitrate, wherein the first intermediate bitrate is lower than the first MAB; and upon receiving a request for the first segment at the first MAB, outputting the first IAB segment based at least in part on determining that a first quality score of the first IAB segment is within a predefined tolerance of a second quality score of the first TAB segment. || 9. A non-transitory computer-readable medium containing computer program code that, when executed by operation of one or more computer processors, performs an operation comprising: generating a first target average bitrate (TAB) segment by encoding a first segment, of a plurality of segments in a video, using a first maximum average bitrate (MAB) of a plurality of MABs specified in an encoding ladder; generating a first intermediate average bitrate (IAB) segment by encoding the first segment using a first intermediate bitrate, wherein the first intermediate bitrate is lower than the first MAB; and upon receiving a request for the first segment at the first MAB, outputting the first IAB segment based at least in part on determining that a first quality score of the first IAB segment is within a predefined tolerance of a second quality score of the first TAB segment. || 15. A system, comprising: one or more computer processors; and a memory containing a program which when executed by the one or more computer processors performs an operation, the operation comprising: generating a first target average bitrate (TAB) segment by encoding a first segment, of a plurality of segments in a video, using a first maximum average bitrate (MAB) of a plurality of MABs specified in an encoding ladder; generating a first intermediate average bitrate (IAB) segment by encoding the first segment using a first intermediate bitrate, wherein the first intermediate bitrate is lower than the first MAB; and upon receiving a request for the first segment at the first MAB, outputting the first IAB segment based at least in part on determining that a first quality score of the first IAB segment is within a predefined tolerance of a second quality score of the first TAB segment.