Non-local Adaptive Loop Filter for Video Compression Noise Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Video compression techniques using block-based motion compensation, transform, and quantization introduce compression noise, leading to artifacts like blocking, ringing, and blurring in reconstructed pictures, which existing in-loop filters struggle to fully mitigate.
Innovation Solution
A non-local adaptive loop filtering method that divides reconstructed video data into patches, forms patch groups with similar reference patches, determines noise levels using pixel variance and standard deviation, and applies non-local denoising technologies like NLM, BM3D, or LRA to reduce compression noise, with lookup tables and bit shifting techniques to simplify processing and reduce computational complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If block-based motion compensation, transform, and quantization are employed for video compression, then compression performance is improved, but compression noise and artifacts (blocking, ringing, blurring) are introduced in reconstructed pictures
Solution Approach 1:
The picture is divided into multiple patches, and each patch is further divided into sub-blocks for noise analysis. This segmentation allows the filter to process different regions with appropriate filtering strength, reducing artifacts while preserving compression efficiency
Solution Approach 2:
The filter adapts its behavior to local picture characteristics by calculating noise levels and filtering parameters separately for each patch and sub-block. Different regions receive different filtering treatments based on their local noise characteristics, improving overall picture quality without compromising compression performance
2Object-affected harmful factors
If existing in-loop filters are used to reduce compression noise, then picture quality is improved, but the filters cannot fully mitigate artifacts and may increase computational complexity
Solution Approach 1:
The filter dynamically adjusts its parameters based on local picture characteristics. Noise levels are calculated adaptively for each patch, and filtering strength is modulated according to the local noise magnitude and picture content, allowing effective noise reduction without uniform high complexity across the entire picture
Solution Approach 2:
The filter uses reference pictures and copied pixel values from neighboring regions to reconstruct noisy areas. By copying reliable pixel values from reference frames and blending them with current picture data, the filter reduces noise without requiring complex processing of every pixel
3Manufacturing precision
If non-local adaptive loop filtering is applied to reduce compression noise, then picture quality and reference picture quality are improved, but computational complexity increases
Solution Approach 1:
The picture is segmented into patches, and each patch is processed independently with its own noise level calculation and filtering parameters. This segmentation reduces the overall computational burden by breaking down the global optimization problem into smaller, more manageable local problems
Solution Approach 2:
The filter applies full non-local adaptive processing only to regions where it is most beneficial, while using simplified filtering for other regions. By selectively applying complex processing where needed rather than uniformly across the entire picture, the system achieves high picture quality with reduced overall computational complexity
Data Source
AI summary
Aspects of the disclosure provide a method for non-local adaptive loop filtering. The method can include receiving reconstructed picture, dividing the picture into current patches, forming patch groups each including a current patch and a number of reference patches, determining a noise level for each of the patch groups, and denoising the patch groups with a non-local denoising technology. The determining a noise level for each of the patch groups can include calculating a pixel variance for a respective patch group, determining a pixel standard deviation (SD) of the respective patch group according to the calculated pixel variance by searching in a lookup table that indicates mapping relationship between patch group pixel SDs and patch group pixel variances, and calculating a noise level for the respective patch group based on a compression noise model that is a function of the pixel SD.


