Adaptive Loop Filter Parallel Processing for Video Coding
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Manufacturing precision
If picture-level adaptive loop filter processing is performed, then video quality is improved by reducing compression noise, but buffer size increases
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.
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.
3Device complexity
If conventional in-loop filters are used, then processing complexity is reduced, but compression noise artifacts remain
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.
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.
4Productivity
If parallel ALF processing is performed for multiple target samples, then processing speed is improved, but data reuse requirements increase
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.
Data Source
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.


