# US 12,010,369 B2 · Segment quality-guided adaptive stream creation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,010,369 B2
- Document ID: US12010369B2
- Status: Granted
- Kind: B2
- Application number: 18/162,698
- Filed: 2023-01-31
- Published: 2023-06-01
- Granted: 2024-06-11
- Earliest claimed: 2020-06-25
- Assignees: Disney Enterprises, Inc.
- Applicants: Disney Enterprises, Inc.
- Inventors: Scott C. Labrozzi; Chetan K. Mathur; Yuanyi Xue; Michael J. Bracco
- Web page: https://patentgrep.com/patent/US12010369B2

## CPC

- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04L 65/70: Media network packetisation
- H04L 65/80: Responding to QoS
- H04N 21/234345: {the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment}
- H04N 21/23439: {for generating different versions}
- H04N 21/2662: Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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.

## Claims

### Claim 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.

### Claim 2 (depends on 1)

The method of claim 1, the method further comprising:
selecting, for the first segment at the second bitrate, the second encoded segment; and
upon determining that the second encoded segment is used for both the first segment at the first bitrate and the first segment at the second bitrate:
storing a shared copy of the second encoded segment; and
associating the first segment at the first bitrate and the first segment at the second bitrate with the shared copy of the second encoded segment.

### Claim 3 (depends on 1)

The method of claim 1, the method further comprising:
selecting, for the first bitrate, a first sequence of output segments for the plurality of segments;
selecting, for the second bitrate, a second sequence of output segments for the plurality of segments; and
upon determining that the first sequence of output segments is within a threshold difference from the second sequence of output segments, eliminating either the first bitrate or the second bitrate.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first quality of the second encoded segment is generated by evaluating the second encoded segment using one or more objective quality algorithms configured to evaluate visual quality of the second encoded segment.

### Claim 5 (depends on 1)

The method of claim 1, the method further comprising:
determining, for the first segment at the first bitrate, a pool of potential segments comprising the first encoded segment and one or more additional encoded segments encoded at bitrates below the first bitrate; and
selecting the second encoded segment for the first segment at the first bitrate by selecting a segment from the pool of potential segments.

### Claim 6 (depends on 5)

The method of claim 5, wherein selecting the segment from the pool of potential segments comprises:
identifying a lowest bitrate segment in the pool of potential segments, wherein the lowest bitrate segment is associated with a quality within the tolerance of the second quality associated with the first encoded segment.

### Claim 7 (depends on 1)

The method of claim 1, the method further comprising:
selecting, for the first bitrate, a sequence of output segments for the plurality of segments, wherein each output segment in the sequence of output segments is encoded at a bitrate that is equal to or lower than the first bitrate; and
upon receiving a request for the media asset at the first bitrate, outputting the sequence of output segments.

### Claim 8 (depends on 1)

The method of claim 1, wherein the encoding ladder is a content-specific encoding ladder selected based on a type of the media asset.

### Claim 9

One or more non-transitory computer-readable media collectively 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.

### Claim 10 (depends on 9)

The one or more non-transitory computer-readable media of claim 9, the operation further comprising:
selecting, for the first segment at the second bitrate, the second encoded segment; and
upon determining that the second encoded segment is used for both the first segment at the first bitrate and the first segment at the second bitrate:
storing a shared copy of the second encoded segment; and
associating the first segment at the first bitrate and the first segment at the second bitrate with the shared copy of the second encoded segment.

### Claim 11 (depends on 9)

The one or more non-transitory computer-readable media of claim 9, the operation further comprising:
selecting, for the first bitrate, a first sequence of output segments for the plurality of segments;
selecting, for the second bitrate, a second sequence of output segments for the plurality of segments; and
upon determining that the first sequence of output segments is within a threshold difference from the second sequence of output segments, eliminating either the first bitrate or the second bitrate.

### Claim 12 (depends on 9)

The one or more non-transitory computer-readable media of claim 9, the operation further comprising:
determining, for the first segment at the first bitrate, a pool of potential segments comprising the first encoded segment and one or more additional encoded segments encoded at bitrates below the first bitrate; and
selecting the second encoded segment for the first segment at the first bitrate by selecting a segment from the pool of potential segments.

### Claim 13 (depends on 12)

The one or more non-transitory computer-readable media of claim 12, wherein selecting the segment from the pool of potential segments comprises:
identifying a lowest bitrate segment in the pool of potential segments, wherein the lowest bitrate segment is associated with a quality within the tolerance of the second quality associated with the first encoded segment.

### Claim 14 (depends on 9)

The one or more non-transitory computer-readable media of claim 9, the operation further comprising:
selecting, for the first bitrate, a sequence of output segments for the plurality of segments, wherein each output segment in the sequence of output segments is encoded at a bitrate that is equal to or lower than the first bitrate; and
upon receiving a request for the media asset at the first bitrate, outputting the sequence of output segments.

### Claim 15

A system, comprising:
one or more computer processors; and
one or more memories collectively 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.

### Claim 16 (depends on 15)

The system of claim 15, the operation further comprising:
selecting, for the first segment at the second bitrate, the second encoded segment; and
upon determining that the second encoded segment is used for both the first segment at the first bitrate and the first segment at the second bitrate:
storing a shared copy of the second encoded segment; and
associating the first segment at the first bitrate and the first segment at the second bitrate with the shared copy of the second encoded segment.

### Claim 17 (depends on 15)

The system of claim 15, the operation further comprising:
selecting, for the first bitrate, a first sequence of output segments for the plurality of segments;
selecting, for the second bitrate, a second sequence of output segments for the plurality of segments; and
upon determining that the first sequence of output segments is within a threshold difference from the second sequence of output segments, eliminating either the first bitrate or the second bitrate.

### Claim 18 (depends on 15)

The system of claim 15, the operation further comprising:
determining, for the first segment at the first bitrate, a pool of potential segments comprising the first encoded segment and one or more additional encoded segments encoded at bitrates below the first bitrate; and
selecting the second encoded segment for the first segment at the first bitrate by selecting a segment from the pool of potential segments.

### Claim 19 (depends on 18)

The system of claim 18, wherein selecting the segment from the pool of potential segments comprises:
identifying a lowest bitrate segment in the pool of potential segments, wherein the lowest bitrate segment is associated with a quality within the tolerance of the second quality associated with the first encoded segment.

### Claim 20 (depends on 15)

The system of claim 15, the operation further comprising:
selecting, for the first bitrate, a sequence of output segments for the plurality of segments, wherein each output segment in the sequence of output segments is encoded at a bitrate that is equal to or lower than the first bitrate; and
upon receiving a request for the media asset at the first bitrate, outputting the sequence of output segments.
