Video Coding De-Blocking Filter With Parallel Edge Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

De-blocking filters in video coding standards like HEVC are computationally intensive, increasing decoder/encoder complexity and requiring improved methods to reduce bit rate.

Innovation Solution

A de-blocking filter that estimates a boundary strength index at vertical and horizontal edges of video blocks, filtering vertical edges before horizontal edges, using a pipeline architecture with parallel processing to reduce computational load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If de-blocking filters are applied to remove blocking artifacts in video coding, then video quality is improved, but processing complexity increases

Engineering Contradiction:
Improvevideo qualityVSAvoidprocessing complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The de-blocking filter is divided into multiple independent filter engines (first filter engine, second filter engine, third filter engine) that process different blocks simultaneously. Each filter engine operates on a separate block of video data, enabling parallel processing that maintains video quality while distributing computational complexity across multiple units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The filter controller pre-assigns blocks to different filter engines based on block characteristics and boundary strength indices before filtering begins. This preliminary assignment optimizes the processing pipeline by ensuring that blocks requiring different filtering strengths are handled by appropriate engines, reducing overall processing complexity.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If de-blocking filters process all blocks with high filtering strength, then blocking artifacts are removed, but processing time increases

Engineering Contradiction:
Improveblocking artifact removalVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The filter controller calculates boundary strength indices for each block and assigns filtering strength locally based on actual block characteristics. Blocks with low boundary strength indices (indicating smooth transitions) are assigned to filter engines that apply weaker filtering, while only blocks with high boundary strength indices receive strong filtering. This local adaptation removes blocking artifacts where needed while minimizing processing time for blocks that don't require intensive filtering.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts filtering parameters (filtering strength, kernel size) based on boundary strength indices and block types. By changing these parameters adaptively rather than applying uniform strong filtering to all blocks, the system effectively removes blocking artifacts while reducing overall processing time.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple filter engines process blocks in parallel, then processing speed increases, but device complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple filter engines are designed with identical, standardized architectures that can handle different block types (luma, chroma, intra-prediction, inter-prediction) through a unified filtering framework. This universality allows parallel processing to increase speed while limiting complexity growth, as each engine is a replicated, predictable unit rather than a uniquely complex component.

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

Solution Approach 2:

The filter controller acts as an intermediary that manages the parallel filter engines, assigning blocks to appropriate engines and coordinating their operation. This centralized control simplifies the complexity of managing multiple parallel processors by providing a single point of decision-making that routes work efficiently without requiring complex inter-engine communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If boundary strength indices are calculated for all block edges, then filtering accuracy improves, but computational load increases

Engineering Contradiction:
Improvefiltering accuracyVSAvoidcomputational load
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The filter controller calculates boundary strength indices selectively for only those block edges that require filtering, rather than computing indices for all possible edges in all blocks. By performing partial action (calculating indices only where needed based on block assignment and edge characteristics), the system maintains filtering accuracy at block boundaries while reducing the overall computational load of index calculation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12368867B2De-blocking filter for video coding
Publication Date: 2025.07.22 TEXAS INSTRUMENTS INC
  • US12368867B2 patent drawing
  • US12368867B2 patent drawing
  • US12368867B2 patent drawing

AI summary

A method of de-blocking filtering a processed video is provided. The processed video includes a plurality of blocks and each block includes a plurality of sub-blocks. A current block of the plurality of blocks includes vertical edges and horizontal edges. The processed video further includes a set of control parameters and reconstructed pixels corresponding to the current block. A boundary strength index is estimated at the vertical edges and at the horizontal edges of the current block. The set of control parameters, the reconstructed pixels corresponding to the current block and partially filtered pixels corresponding to a set of adjacent sub-blocks are loaded. The vertical edges and the horizontal edges of the current block are filtered based on the boundary strength index and the set of control parameters such that a vertical edge of the current block is filtered before filtering at least one horizontal edge of the current block.