GPU Variable Length Decoding for Multi-Standard Video Streams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face challenges in efficiently decoding video streams due to hardware-only or software-only solutions, which lead to inflexibility and rapid obsolescence, especially when handling different coding standards like H.264, CABAC, and CAVLC.

Innovation Solution

A multithreaded parallel computational core in a graphics processing unit (GPU) with a software programmable core processing unit incorporating a variable length decoding (VLD) unit that can selectively implement decoding using a combination of hardware and software, supporting multiple coding standards through a shader and execution unit data path.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hardware-only solutions are used for video decoding, then processing speed is improved, but flexibility and adaptability to different encoding standards deteriorate

Engineering Contradiction:
Improveprocessing speedVSAvoidflexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements a unified decoding architecture that can handle multiple video coding standards (H.264, VC-1, MPEG-2, etc.) through a single hardware platform. The variable length decoding unit is designed to support different entropy coding methods including CABAC, CAVLC, and other standards, allowing the system to be versatile without requiring separate hardware for each standard.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system employs dynamic configuration where the decoding mode can be switched between different standards and methods based on the input video stream requirements. The architecture allows runtime selection of decoding algorithms and parameters, enabling adaptability to various encoding formats while maintaining hardware acceleration performance.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If software-only solutions are used for video decoding, then flexibility is improved, but processing speed and performance deteriorate

Engineering Contradiction:
ImproveflexibilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent replaces pure software decoding with a hardware-accelerated decoding unit implemented in the GPU. The variable length decoding functionality is translated into hardware logic that executes shader programs, providing hardware-level speed while maintaining the flexibility of programmable architecture. This substitution eliminates the speed bottleneck of software-only solutions.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system changes the implementation parameter of the decoding engine from software to hardware (specifically, shader-based hardware execution). This parameter change enables the system to achieve hardware processing speeds while retaining the ability to programmatically control decoding behavior through shader programs, thus maintaining flexibility.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If fixed-function hardware decoders are used, then processing efficiency is improved, but adaptability to new encoding standards deteriorates

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidadaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal decoding hardware platform that can process multiple video coding standards through a single unified architecture. The variable length decoding unit is designed to accommodate different entropy coding methods (CABAC, CAVLC, and others) without requiring separate dedicated hardware for each standard, thus achieving both efficiency and adaptability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system implements dynamic adaptability where the hardware decoder can be reconfigured at runtime to handle new or different encoding standards. The shader-based approach allows the decoding algorithm to be dynamically adjusted and updated without changing the underlying hardware structure, enabling the system to adapt to evolving video coding standards while maintaining processing efficiency.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If multiple decoding standards are supported, then versatility is improved, but device complexity increases

Engineering Contradiction:
ImproveversatilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple decoding standard support into a single unified hardware unit. Instead of implementing separate hardware decoders for H.264, VC-1, MPEG-2, and other standards, the system combines them into one variable length decoding unit that can handle all these standards through a single programmable architecture, thus reducing overall device complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The universal decoding architecture serves multiple standards through a single platform. The variable length decoding unit is designed with generic structures that can be configured to handle different entropy coding methods, eliminating the need for multiple specialized hardware blocks and thereby reducing device complexity while maintaining versatility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7626518B2Decoding systems and methods in computational core of programmable graphics processing unit
Publication Date: 2009.12.01 VIA TECH INC
  • US7626518B2 patent drawing
  • US7626518B2 patent drawing
  • US7626518B2 patent drawing

AI summary

Various embodiments of decoding systems and methods are disclosed. One system embodiment, among others, comprises a software programmable core processing unit having a variable length decoding unit (VLD) unit configured to execute a shader, the shader configured to selectively implement decoding of a video stream coded based on a plurality of different coding methods to provide a decoded data output, wherein the decoding is implemented using a combination of software and hardware.