Adaptive Loop Filter Parallel Processing for Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video compression systems suffer from compression noise due to coarse quantization and motion compensation, leading to artifacts like blocking, ringing, and blurring, which conventional in-loop filters struggle to fully mitigate.

Innovation Solution

The implementation of an adaptive loop filter (ALF) in a video coding system that performs parallel processing of multiple target samples within a block, utilizing a buffer to store samples and reuse data, allowing for block-level filtering instead of picture-level processing, and employing finite impulse response (FIR) filters to minimize mean square error between original and reconstructed samples.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If picture-level adaptive loop filter processing is performed, then video quality is improved by reducing compression noise, but processing delay and buffer size increase

Engineering Contradiction:
Improvevideo qualityVSAvoidprocessing delay
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent divides the picture-level filtering operation into smaller block-level operations. The adaptive loop filter processes individual blocks or groups of blocks independently rather than waiting for the entire picture to be reconstructed. This segmentation allows earlier output of filtered blocks, reducing processing delay while maintaining quality through localized filtering operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables the adaptive loop filter to begin processing blocks before the entire picture reconstruction is complete. By performing filtering operations on available blocks in advance and using predicted or previously filtered samples for remaining samples, the system produces output earlier than traditional picture-level processing, thus reducing delay.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If picture-level adaptive loop filter processing is performed, then video quality is improved by reducing compression noise, but buffer size increases

Engineering Contradiction:
Improvevideo qualityVSAvoidbuffer size
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The patent segments the large picture-level buffer requirement into smaller block-level buffer requirements. By processing and outputting blocks individually or in small groups, the system only needs to store a limited number of block-sized samples in the buffer at any time, dramatically reducing the total buffer size needed compared to storing entire picture data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and processes only the necessary sample data for each block being filtered, rather than maintaining buffers for all picture data. The buffer stores only the current block and potentially a few neighboring blocks, extracting exactly what is needed for the filtering operation and discarding processed data, thus minimizing buffer occupancy.

Inventive Principle:
Principle #2Taking out (Extraction)

3Device complexity

If conventional in-loop filters are used, then processing complexity is reduced, but compression noise artifacts remain

Engineering Contradiction:
Improveprocessing complexityVSAvoidcompression noise artifacts
Core Design Contradiction:
Device complexityVSObject-generated harmful factors

Solution Approach 1:

The patent implements adaptive filtering where filter parameters such as coefficients and strength are dynamically adjusted based on local picture characteristics like variance, gradient, or edge detection results. This dynamic adaptation allows the filter to strengthen filtering in noisy flat regions while reducing or skipping filtering in edge-rich areas, effectively removing compression artifacts without excessive complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different filtering strengths and parameters to different regions within blocks based on local characteristics. By analyzing local variance, edge presence, or texture features, the filter adapts its behavior locally, applying strong filtering where needed and minimal or no filtering where it would harm image quality, thus effectively reducing artifacts with moderate complexity.

Inventive Principle:
Principle #3Local quality

4Productivity

If parallel ALF processing is performed for multiple target samples, then processing speed is improved, but data reuse requirements increase

Engineering Contradiction:
Improveprocessing speedVSAvoiddata reuse requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges the data storage requirements for parallel processing by using a single buffer structure that serves multiple parallel ALF processing operations. The buffer is organized to efficiently provide data to multiple processing units or threads simultaneously, consolidating what would otherwise be separate data copies into a shared resource, thus reducing total data storage requirements while enabling parallelism.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11051045B2High efficiency adaptive loop filter processing for video coding
Publication Date: 2021.06.29 MEDIATEK INC
  • US11051045B2 patent drawing
  • US11051045B2 patent drawing
  • US11051045B2 patent drawing

AI summary

A method and a circuit for adaptive loop filtering in a video coding system are described. The method can include receiving a block of samples generated from a previous-stage filter circuit in a filter pipeline, the block of samples being one of multiple blocks included in a current picture, performing, in parallel, adaptive loop filter (ALF) processing for multiple target samples in the block of samples, while the previous-stage filter circuit is simultaneously processing another block in the current picture, storing, in a buffer, first samples each having a filter input area defined by a filter shape that includes at least one sample which has not been received, and storing, in the buffer, second samples included in the filter input areas of the first samples.