Integer-Quantized ResNet In-Loop Filters for Lower Video Coding Complexity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Neural network (NN)-based filtering techniques for video coding are computationally complex and require significant processing power, which can be a bottleneck in video encoding and decoding processes.
Innovation Solution
Integrate attention blocks into a ResNet-based in-loop filtering architecture and apply integer quantization to transformer blocks, allowing video decoders to perform filtering using only integer arithmetic, thereby reducing computational complexity without significant degradation of coding quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If transformer blocks with non-linear operators are used in ResNet-based in-loop filtering, then coding quality is improved, but computational complexity increases significantly
Solution Approach 1:
The patent applies parameter changes by transforming the transformer block operators from floating-point arithmetic to integer arithmetic. This is achieved through rounding floating-point values to nearest integers and using integer quantization techniques. The parameter transformation maintains the functional behavior of the transformer operators while enabling efficient integer-based computation, thereby reducing computational complexity without significant degradation of coding quality.
Solution Approach 2:
The patent substitutes the mechanical computation system by replacing floating-point arithmetic operations with integer arithmetic operations in the transformer blocks. This substitution is implemented through integer quantization of the transformer operators, which allows the system to perform the same filtering function using simpler integer math instead of complex floating-point math, thus reducing computational burden while maintaining acceptable coding performance.
2Manufacturing precision
If floating-point arithmetic is used in transformer blocks, then coding quality is maintained, but processing speed decreases due to higher computational complexity
Solution Approach 1:
The patent changes the arithmetic parameter from floating-point to integer by applying rounding operations to convert floating-point values to integers and using integer quantization schemes. This parameter change enables faster processing speed because integer arithmetic operations are computationally simpler and can be executed more efficiently on hardware, while the quantization process preserves sufficient precision to maintain acceptable coding quality.
3Device complexity
If integer quantization is applied to transformer operators, then computational complexity is reduced, but coding quality may degrade
Solution Approach 1:
The patent carefully designs the integer quantization parameters to achieve an optimal balance between computational complexity and coding quality. By adjusting the quantization precision and rounding strategies, the patent reduces computational complexity through integer arithmetic while minimizing quality degradation. The quantization parameters are optimized to retain sufficient information for effective in-loop filtering.
Solution Approach 2:
The patent applies partial quantization selectively to specific transformer operators rather than all operations, or uses asymmetric quantization where different precision levels are applied to different parts of the computation. This partial action approach reduces overall computational complexity while maintaining coding quality in critical regions where full precision is most beneficial.
Data Source
AI summary
A video decoder is configured to determine, from the encoded video data, a block of a picture; apply a neural network (NN)-based filter to the block to generate a filtered block, wherein applying the NN-based filter comprises transforming the block of the picture with a transform block, wherein transforming the block of the picture with the transform block comprises rounding a floating point value to a nearest integer; determine a decoded version of the block based on the filtered block; and output a decoded version of the picture comprising the decoded version of the block.


