Decision Engine for Dynamic Media Stream Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Online systems face resource wastage due to generating a wide range of content encodings that may not be utilized by client devices, as they lack information about device characteristics and network conditions during content distribution, leading to inefficient transcoding processes.

Innovation Solution

An online system employs a decision engine that dynamically determines optimal content encodings based on characteristics such as device specifications, user popularity, and network conditions, using techniques like filtering, direct mapping, and machine learning to minimize resource waste while ensuring compatible content delivery to various client devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the online system generates a wide set of content encodings to ensure compatibility with all client devices, then the adaptability of content delivery is improved, but the computational resources and time required for encoding are significantly increased

Engineering Contradiction:
Improvecontent encoding compatibilityVSAvoidencoding efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by collecting device characteristics and network condition information before encoding content. The decision engine uses this pre-collected information to determine the optimal set of content encodings in advance, avoiding the need to generate all possible encodings beforehand. This preliminary gathering of contextual information enables targeted encoding that balances compatibility with resource efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the set of content encodings based on real-time or near-real-time device characteristics and network conditions. Rather than using a static, comprehensive set of encodings, the decision engine dynamically selects which encodings to generate based on current contextual information, allowing the system to adapt its encoding strategy to match actual client device capabilities and network states.

Inventive Principle:
Principle #15Dynamics

2Manufacturing precision

If the online system generates high-resolution content encodings (e.g., 8K video) to accommodate future or high-capability devices, then the quality of content delivery is improved, but the computational expense and storage requirements are significantly increased

Engineering Contradiction:
Improvecontent qualityVSAvoidcomputational expense
Core Design Contradiction:
Manufacturing precisionVSLoss of energy

Solution Approach 1:

The system changes encoding parameters such as resolution, bitrate, and format based on the specific characteristics of the client device and network conditions. The decision engine determines appropriate parameter values by analyzing device capabilities and contextual information, generating only the necessary high-quality encodings rather than universally generating all possible high-resolution variants. This parameter-based adaptation ensures content quality matches actual device capabilities.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If the online system generates content encodings without knowledge of client device characteristics, then the ease of content distribution is improved, but the quantity of unnecessary encodings increases

Engineering Contradiction:
Improvecontent distribution simplicityVSAvoidnumber of content encodings
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The system implements feedback mechanisms where client devices provide information about their characteristics, capabilities, and network conditions back to the online system. The decision engine uses this feedback information to intelligently determine which content encodings to generate, reducing the number of unnecessary encodings. The feedback loop enables the system to learn from actual device behavior and optimize its encoding strategy over time.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10681105B2Decision engine for dynamically selecting media streams
Publication Date: 2020.06.09 META PLATFORMS INC
  • US10681105B2 patent drawing
  • US10681105B2 patent drawing
  • US10681105B2 patent drawing

AI summary

An online system receives content (e.g. video content and/or audio content) from a content provider device to be appropriately transcoded and distributed to client devices for consumption. During the transcoding process, the online system decodes the content into an intermediate format, and. considers a variety of characteristics to decide the optimal set of content encodings for encoding the decoded content. Characteristics include source characteristics associated with the content provider device, social graph characteristics of the user of the online system that is using the content provider device, viewer characteristics associated with the client devices that request to access the content, and content characteristics. The online system encodes the content for each client device with appropriate encoders selected based on the optimal set of content encodings. For each client device that requests to access the content, the online system provides encoded content that the client device can appropriately playback.