Dynamic Encoder-Time Scaling for Adaptive Streaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content delivery systems face challenges in optimizing video encoding for varying bitrates and resolutions, leading to suboptimal quality and increased encoding complexity, especially when dealing with content of different complexities within a single video file.

Innovation Solution

A dynamic encoder-time scaling system that determines optimal resolutions for each fragment of a video file based on its encoding complexity, generating multiple video representations for a target bitrate, allowing clients to switch between resolutions for improved quality and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If a single resolution is used for all fragments in a video file, then device complexity is reduced, but manufacturing precision deteriorates because content complexity varies across different fragments

Engineering Contradiction:
Improvevideo encoding qualityVSAvoidencoding complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The video file is divided into multiple fragments, and each fragment is encoded at a different resolution based on its specific content complexity. This segmentation allows the system to apply appropriate encoding parameters to each fragment independently, improving overall encoding quality while managing complexity through modular processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different resolution levels are assigned to different fragments based on their local content characteristics. Fragments with high motion or complexity are encoded at lower resolutions, while simpler fragments maintain higher resolutions. This local quality adjustment optimizes the overall video quality without uniformly increasing encoding complexity across the entire video file.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If multiple video representations are generated for different resolutions, then adaptability improves, but device complexity increases due to additional encoding processing

Engineering Contradiction:
Improveclient adaptability to bitrateVSAvoidencoder complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The encoding system dynamically adjusts resolution based on content complexity analysis performed during the encoding process. This dynamic adaptation allows the system to generate multiple video representations with varying resolutions without requiring manual configuration, thereby improving client adaptability while automating the complexity management through content-driven decision making.

Inventive Principle:
Principle #15Dynamics

3Manufacturing precision

If higher resolution encoding is applied to all fragments, then manufacturing precision improves, but productivity deteriorates due to increased encoding time

Engineering Contradiction:
Improvevideo qualityVSAvoidencoding speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The encoding resolution parameter is changed dynamically based on the measured content complexity of each fragment. Instead of applying a uniform high resolution to all fragments, the system adjusts the resolution parameter locally according to content needs, thereby maintaining video quality where necessary while reducing encoding time for less demanding segments, thus improving overall productivity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12088821B1Dynamic encoder-time scaling service for live and on-demand adaptive streaming
Publication Date: 2024.09.10 AMAZON TECH INC
  • US12088821B1 patent drawing
  • US12088821B1 patent drawing
  • US12088821B1 patent drawing

AI summary

Techniques for a dynamic encoder-time scaling service for live and on-demand adaptive streaming are described. As one example, a computer-implemented method includes determining a first resolution for a first fragment of a video file based on a first encoding complexity of the first fragment at a bitrate, encoding the first fragment at the first resolution for the bitrate to generate an encoded first fragment, determining a second different resolution for a second fragment of the video file based on a second different encoding complexity of the second fragment at the bitrate, encoding the second fragment at the second different resolution for the bitrate to generate an encoded second fragment, receiving a request for a manifest for the video file from a client device, generating the manifest for the client device that identifies a single video representation for the bitrate that comprises the encoded first fragment and the encoded second fragment, and sending the manifest to the client device.