Adaptive Video Codec Selection for Performance Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems with multiple video codecs face performance limitations due to variability in codec performance across different systems, video qualities, and resource conditions, leading to suboptimal video processing.

Innovation Solution

The system identifies and configures suitable combinations of video processing tools based on performance measurements, considering factors like processing time, rate-distortion performance, and power consumption, to select the most appropriate hardware or software decoders, encoders, and conversion processors for specific scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple video codecs are available for video processing, then the system can handle different video formats and scenarios, but the performance becomes variable and suboptimal due to inability to select the best codec for each scenario

Engineering Contradiction:
Improvevideo format compatibilityVSAvoidvideo processing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic codec selection by measuring performance metrics (processing time, rate-distortion performance, power consumption) for different video processing tool combinations and selecting the optimal combination based on current scenario conditions. This transforms the static, variable performance into a dynamic, optimized selection process that adapts to different video formats, qualities, and resource conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters by introducing performance measurements across multiple dimensions (processing time, rate-distortion performance, power consumption) and using these parameters to configure and select video processing tool combinations. This allows the system to optimize performance by selecting tools based on measured parameters rather than relying on default or fixed selections.

Inventive Principle:
Principle #35Parameter changes

2Speed

If hardware decoders and encoders are used, then processing speed improves, but power consumption increases

Engineering Contradiction:
Improvevideo processing speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent measures and compares power consumption as a specific performance parameter alongside processing speed. By configuring video processing tool combinations based on both speed and power consumption measurements, the system can select hardware accelerators when speed is critical and software implementations when power efficiency is prioritized, optimizing the speed-power tradeoff for different scenarios.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If software video processing tools are used, then flexibility and adaptability improve, but processing time increases

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidvideo processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent measures processing time as a key performance parameter and uses these measurements to configure video processing tool combinations. The system can select software tools when adaptability is prioritized and hardware accelerators when processing speed is critical, optimizing the flexibility-speed tradeoff based on measured performance data for different video scenarios.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9407921B2Adaptive codec selection
Publication Date: 2016.08.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9407921B2 patent drawing
  • US9407921B2 patent drawing
  • US9407921B2 patent drawing

AI summary

A computing system is disclosed and may include a processor, a plurality of video processing tools, and memory. The plurality of video processing tools include plural alternative video decoder implementations for a first video format, plural alternative video conversion processor implementations, and plural alternative video encoder implementations for a second video format, wherein the plurality of video processing tools form a plurality of transcoding paths. The memory stores instructions for decoding video data in the first video format based on configuration information for the plurality of video processing tools, modifying the decoded video data based on the configuration information for the plurality of video processing tools, and encoding the modified decoded video data into the second video format based on the configuration information for the plurality of video processing tools.