Adaptive Loop Filter Coefficient Prediction for Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding technologies struggle to effectively reduce inter-block correlation of pixels while maintaining high compression efficiency, leading to high bit-rates for transmission.
Innovation Solution
Implement adaptive loop filtering (ALF) techniques that involve constructing multiple sets of filter coefficients and applying geometric transforms to these coefficients or their support regions, predicting filter coefficients from fixed filters, and encoding filter information in the bitstream to ensure consistent filtering at the encoder and decoder.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If adaptive loop filtering with multiple filter coefficient sets is implemented, then decoded video quality is improved, but device complexity increases
Solution Approach 1:
The patent divides the filtering process into multiple classes of blocks (e.g., intra-coded blocks, inter-coded blocks with different motion vector types) and assigns different filter coefficient sets to each class. This segmentation allows the system to apply appropriate filtering complexity only where needed, improving video quality while managing device complexity through selective application.
Solution Approach 2:
The patent changes the parameters of filter coefficients based on block characteristics. By constructing multiple sets of filter coefficients with different parameters (e.g., different tap lengths, different coefficient values) and selecting appropriate sets based on block type, the system adapts filtering to local requirements, improving quality without uniformly increasing complexity across all blocks.
2Manufacturing precision
If geometric transforms are applied to filter coefficients or support regions, then filtering precision is improved, but computational complexity increases
Solution Approach 1:
The patent pre-constructs multiple sets of filter coefficients and determines their support regions in advance, before actual filtering is needed. By performing the computationally intensive geometric transform operations during filter construction rather than during actual filtering, the system achieves high filtering precision while reducing real-time computational complexity.
Solution Approach 2:
The patent makes the filter support region dynamic by applying geometric transforms (such as rotations or flips) to the support region based on block characteristics. This allows the filtering operation to adapt its shape and orientation to match the local block structure, improving precision while the transform operations are managed through efficient pre-computation and selection.
3Reliability
If filter information is encoded in the bitstream, then filtering consistency between encoder and decoder is improved, but bit-rate increases
Solution Approach 1:
The patent encodes filter information (such as filter coefficient indices or geometric transform parameters) only for specific block types or regions where adaptive filtering is beneficial. By applying local quality encoding rather than uniform encoding across all blocks, the system ensures filtering consistency where needed while minimizing the additional bit-rate required.
Solution Approach 2:
The patent designs a universal filter construction framework that can handle multiple block types and filtering scenarios using a common set of tools and parameters. By making the filter information encoding multi-functional (applicable to various block types with different characteristics), the system achieves consistent filtering across diverse blocks while reducing redundancy in the encoded information.
Data Source
AI summary
An example device for filtering a decoded block of video data includes one or more processing units configured to construct a plurality of filters for classes of blocks of a current picture of video data. To construct the plurality of filters for each of the classes, the processing units are configured to determine a value of a flag that indicates whether a fixed filter is used to predict a set of filter coefficients of the class, and in response to the fixed filter being used to predict the set of filter coefficients, determine an index value into a set of fixed filters and predict the set of filter coefficients of the class using a fixed filter of the set of fixed filters identified by the index value.


