NN In-Loop Filter Architecture Using CP-Separable Convolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing NN-based in-loop filters for video coding are power and processing intensive, making them unsuitable for use on battery-powered mobile devices.
Innovation Solution
A simplified NN-based in-loop filter architecture utilizing a Canonical Polyadic (CP) decomposition with separable convolution, comprising a head block, transition block, one or more backbone blocks, and a tail block, to reduce complexity and improve performance on constrained devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If a unified architecture (UA) for neural network-based in-loop filters is used, then video coding performance is improved, but power consumption and processing complexity increase significantly
Solution Approach 1:
The neural network filter is divided into distinct functional blocks: head block for input processing, transition block for feature transformation, backbone blocks for hierarchical feature extraction, and tail block for output generation. Each block performs specific operations with optimized complexity, allowing the system to achieve high video coding performance while managing processing requirements through modular architecture.
Solution Approach 2:
Different blocks within the neural network apply specialized operations tailored to their specific functions. The head block uses specific convolution kernels for input processing, the transition block applies feature transformation operations, the backbone blocks use hierarchical feature extraction with varying complexity, and the tail block employs output generation operations. This localized optimization of operations within each block reduces overall processing complexity while maintaining high coding performance.
2Manufacturing precision
If a unified architecture (UA) for neural network-based in-loop filters is used, then video coding performance is improved, but memory requirements increase
Solution Approach 1:
The neural network filter is divided into distinct functional blocks: head block for input processing, transition block for feature transformation, backbone blocks for hierarchical feature extraction, and tail block for output generation. Each block processes data in a segmented manner, reducing the peak memory requirements compared to a monolithic architecture while maintaining the comprehensive functionality needed for high video coding performance.
Solution Approach 2:
The architecture employs dynamic feature map dimensions and adaptive filtering operations that adjust memory usage based on the specific processing requirements of each block. The backbone blocks, in particular, use hierarchical feature extraction that dynamically manages memory by processing features at multiple scales with varying memory footprints, optimizing the balance between performance and memory consumption.
Data Source
AI summary
Example techniques for filtering video data are described. An example device for at least one of encoding or decoding video data includes one or more memories configured to store the video data and one or more processors. The one or more processors are configured to receive a picture of video data and reconstruct the picture of video data. The one or more processors are also configured to apply a neural network (NN)-based filter to the reconstructed picture of video data. The NN-based filter includes a unified filter. The unified filter includes a head block, a transition block, one or more backbone blocks, and a tail block. At least one of the head block, the transition block, the one or more backbone blocks, or the tail block includes a Canonical Polyadic (CP) decomposition with separable convolution.


