Outer Rim Archives
Archives · 2023 · 20230171454

Application (pre-grant publication)

SEGMENT QUALITY-GUIDED ADAPTIVE STREAM CREATION

Number
20230171454
Published
2023-06-01
Filed
2023-01-31
Assignee
Disney Enterprises, Inc.
Inventors
Labrozzi; Scott C. et al.
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 first encoded segment is generated by encoding a first segment, of a plurality of segments in a media asset, using a first bitrate of a plurality of bitrates specified in an encoding ladder. A second encoded segment is generated by encoding the first segment using a second bitrate, where the second bitrate is lower than the first bitrate. Upon receiving a request for the first segment at the first bitrate, the second encoded segment is output based at least in part on determining that a first quality of the second encoded segment is within a tolerance of a second quality of the first encoded 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 encoded segment by encoding a first segment, of a plurality of segments in a media asset, using a first bitrate of a plurality of bitrates specified in an encoding ladder; generating a second encoded segment by encoding the first segment using a second bitrate, wherein the second bitrate is lower than the first bitrate; and upon receiving a request for the first segment at the first bitrate, outputting the second encoded segment based at least in part on determining that a first quality of the second encoded segment is within a tolerance of a second quality of the first encoded 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 encoded segment by encoding a first segment, of a plurality of segments in a media asset, using a first bitrate of a plurality of bitrates specified in an encoding ladder; generating a second encoded segment by encoding the first segment using a second bitrate, wherein the second bitrate is lower than the first bitrate; and upon receiving a request for the first segment at the first bitrate, outputting the second encoded segment based at least in part on determining that a first quality of the second encoded segment is within a tolerance of a second quality of the first encoded 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 encoded segment by encoding a first segment, of a plurality of segments in a media asset, using a first bitrate of a plurality of bitrates specified in an encoding ladder; generating a second encoded segment by encoding the first segment using a second bitrate, wherein the second bitrate is lower than the first bitrate; and upon receiving a request for the first segment at the first bitrate, outputting the second encoded segment based at least in part on determining that a first quality of the second encoded segment is within a tolerance of a second quality of the first encoded segment.