Video Decoder Hardware Acceleration Error Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video decoding technologies face challenges in handling errors during decoding, particularly when using hardware acceleration, as dedicated hardware may not robustly respond to bitstream errors, leading to potential crashes or poor video quality.

Innovation Solution

The implementation adjusts the level of hardware acceleration based on error rates in the bitstream, switching between hardware-accelerated and software-only decoding to leverage superior error handling capabilities of software decoding when error rates are high, using statistical analysis and error models to determine when to switch between these modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware acceleration is used for video decoding, then decoding speed and efficiency are improved, but error handling capability deteriorates

Engineering Contradiction:
Improvedecoding speedVSAvoiderror handling capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts the level of hardware acceleration based on real-time error detection in the bitstream. When errors are detected, the system reduces hardware acceleration involvement and increases software decoding participation to leverage superior error handling capabilities. This dynamic adaptation resolves the contradiction by making the system flexible rather than static in its use of hardware acceleration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of the decoding system by adjusting the degree of hardware acceleration based on error conditions. Instead of using fixed hardware acceleration, the system modifies acceleration parameters dynamically, switching between fully hardware-accelerated mode, partially hardware-accelerated mode, and software-only mode depending on bitstream quality.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If software decoding is used instead of hardware acceleration, then error handling capability is improved, but decoding speed deteriorates

Engineering Contradiction:
Improveerror handling capabilityVSAvoiddecoding speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies partial software decoding intervention rather than complete software decoding. When errors are detected in the bitstream, only the problematic portions are re-decoded using software, while the rest continues to use hardware acceleration. This partial application of software decoding maintains error handling capability while preserving overall decoding speed.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system introduces an intermediary error detection and management layer that sits between the hardware decoder and the output. This intermediary monitors bitstream quality and selectively engages software decoding only when needed, acting as a mediator that coordinates between hardware speed and software reliability without fully sacrificing either.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If high level hardware acceleration is maintained during errors, then decoding efficiency is preserved, but system stability deteriorates

Engineering Contradiction:
Improvedecoding efficiencyVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system implements error detection and response mechanisms beforehand to cushion against potential instability. By continuously monitoring the bitstream for errors and having pre-prepared fallback software decoding paths, the system prevents crashes and instability before they occur rather than reacting after failures happen.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

4Reliability

If error detection and switching mechanisms are added, then system reliability is improved, but device complexity increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddecoding system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The error detection and switching system operates autonomously without requiring external intervention. The decoder self-monitors its own performance and bitstream quality, automatically detecting errors and switching between hardware and software modes as needed. This self-service approach improves reliability while minimizing the complexity burden on external control systems.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9131241B2Adjusting hardware acceleration for video playback based on error detection
Publication Date: 2015.09.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9131241B2 patent drawing
  • US9131241B2 patent drawing
  • US9131241B2 patent drawing

AI summary

Adjustment of hardware acceleration level in a video decoder utilizing hardware acceleration is described. Errors are detected in a bitstream as it is decoded using different levels of error detection based on decoding characteristics. A statistical analysis is performed on the error values as they are detected. In one technique, if the bitstream is categorized as fitting a high error rate state in a bitstream model, then hardware acceleration is dropped. In another technique, error statistics based on run-lengths of good and bad bitstream units are kept, and compared to predetermined thresholds. If the thresholds are exceeded, the hardware acceleration level is dropped. The level is dropped in order to take advantage of superior error handing abilities of software-based decoding over hardware-accelerated decoding.