Adaptive Loop Filtering with Virtual Boundaries for Block Artifacts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding standards face challenges in effectively reducing coding artifacts and improving image quality at block boundaries, particularly due to limitations in adaptive loop filtering techniques.
Innovation Solution
The implementation of an adaptive loop filter (ALF) that utilizes neighboring samples from multiple sources and virtual boundaries to generate correction values for filtering, including samples processed by deblocking filters and sample adaptive offset, with modified block classification and padding techniques to handle boundary issues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If adaptive loop filter uses neighboring samples from multiple sources to generate correction values, then image quality is improved by minimizing mean square error, but device complexity increases due to multiple sample sources and virtual boundaries
Solution Approach 1:
The patent segments the filtering process by introducing virtual boundaries that divide the picture into distinct regions. Each region can be filtered using appropriate neighboring samples from multiple sources (current picture, reference pictures, interpolated samples) depending on its location relative to CTU boundaries. This segmentation allows complex multi-source filtering to be applied selectively only where needed, rather than uniformly across the entire picture.
Solution Approach 2:
The patent applies local quality by treating different regions of the picture differently based on their proximity to block boundaries. Samples near CTU boundaries use a different set of neighboring samples (including reference picture samples and interpolated samples) compared to samples in the middle of blocks. This local adaptation optimizes filtering quality at critical boundary regions while maintaining efficiency in other areas.
2Object-generated harmful factors
If adaptive loop filter processes samples at block boundaries using multiple sources, then coding artifacts are reduced, but processing time increases
Solution Approach 1:
The patent performs preliminary actions by pre-calculating and storing interpolated samples at virtual boundaries before the actual filtering process. The virtual boundary samples are generated in advance using interpolation from available reference pictures, so that when the ALF processing reaches these boundary regions, the necessary neighboring samples are already prepared and available, avoiding additional processing delays during the main filtering pass.
3Measurement precision
If virtual boundaries are introduced to handle CTU boundaries, then filtering accuracy at boundaries is improved, but algorithm complexity increases
Solution Approach 1:
The patent introduces virtual boundaries as intermediary elements between the actual CTU boundaries and the filtering process. These virtual boundaries act as mediators that define where multi-source sampling should occur, serving as a simple geometric construct that guides the selection of neighboring samples without requiring complex decision logic during filtering.
Solution Approach 2:
The patent uses copying by creating virtual copies of boundary samples through interpolation from reference pictures. Instead of directly accessing complex multi-source data structures, the patent generates simplified copied samples at virtual boundary positions that can be used as neighboring samples, reducing the complexity of data access and management during filtering.
Data Source
AI summary
A method for implementing an adaptive loop filter (ALF) in a video system is provided. A video coder receives data for a block of pixels to be encoded or decoded as a current block of a current picture of a video. The video coder receives a current sample of the current block. The video coder applies a filter to the current sample to generate a correction value. Neighboring samples from two or more different sources are used as inputs to the filter. When a first neighboring sample is within a virtual boundary, the first neighboring sample is used as an input to the filter. When the first neighboring sample is beyond the virtual boundary, the first neighboring sample is precluded as an input to the filter. The video coder adds the correction value to the current sample as a filtered sample of the current block.


