VLIW Video Loop Deblocking via Parallel Speculative Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video compression standards, such as the H.264 standard, face challenges in efficiently filtering block artifacts at macroblock boundaries due to conditional branching and lack of parallelism in the deblocking filtering code, making it unsuitable for deeply pipelined processors and parallel hardware implementations.

Innovation Solution

The method computes all possible filter results speculatively and simultaneously in parallel, determines conditions for applying filter results, and writes them to memory conditionally, exposing inherent parallelism and reducing conditional branching, thus enabling effective block filtering on very long instruction word (VLIW) data processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If extensive conditional branching is used to implement deblocking filtering decisions, then filtering accuracy is improved, but processor suitability for pipelined architectures deteriorates

Engineering Contradiction:
Improvefiltering accuracyVSAvoidcode complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The deblocking filtering process is segmented into multiple independent parallel tasks, each handling specific boundary conditions. The decision matrix is divided into separate filtering operations that can be executed simultaneously on different boundaries, eliminating the need for extensive sequential conditional branching while maintaining filtering accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Boundary strength values and filtering decisions are pre-computed and stored in lookup tables during the encoding phase. This preliminary action eliminates the need for complex conditional branching during decoding, as the filtering decisions are already determined and can be directly applied without extensive runtime condition checking.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If sequential conditional branching is used for filter selection, then filtering precision is improved, but processing speed deteriorates

Engineering Contradiction:
Improvefilter selection precisionVSAvoidprocessing speed
Core Design Contradiction:
Manufacturing precisionVSSpeed

Solution Approach 1:

Multiple filter selection operations are merged into a single parallel execution model. Instead of sequentially checking conditions and branching to different filters, the system combines multiple filter computations and merges their results, allowing simultaneous execution of filter operations that would otherwise be sequential.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The optimal filter selection is performed in advance during encoding by pre-computing boundary strength values and storing them in lookup tables. This preliminary filter determination eliminates runtime conditional branching for filter selection, significantly improving processing speed while maintaining precise filter selection based on pre-calculated boundary characteristics.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If parallel filtering operations are implemented, then processing efficiency is improved, but code structure complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcode structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A universal parallel filtering framework is implemented that handles multiple boundary conditions through a single unified structure. The same code framework processes different boundary types (vertical, horizontal, macroblock boundaries) by utilizing pre-computed boundary strength values, eliminating the need for separate specialized code for each boundary condition and reducing overall code structure complexity.

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

Solution Approach 2:

All filtering parameters and decision logic are pre-computed during encoding and stored in lookup tables. This preliminary action allows the decoding phase to simply retrieve and apply pre-determined filter parameters without complex runtime calculations, significantly simplifying the code structure while enabling parallel processing for improved efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7457362B2Loop deblock filtering of block coded video in a very long instruction word processor
Publication Date: 2008.11.25 TEXAS INSTRUMENTS INC
  • US7457362B2 patent drawing
  • US7457362B2 patent drawing
  • US7457362B2 patent drawing

AI summary

This invention is applicable to filtering block artifacts of macroblock and block oriented video compression. This invention computes all possible filter results speculatively and simultaneously in parallel, computes conditions for application of corresponding filter results simultaneously in parallel, and writes filter results to memory conditionally dependent upon computed corresponding conditions. This invention permits effective block filtering on a very long instruction word data processor.