Fractional-Pel Interpolation Filter Switching for Affine Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding technologies face challenges in improving encoding efficiency, image quality, reducing processing amount, and circuitry scale, while appropriately selecting filters, block sizes, motion vectors, and reference blocks.
Innovation Solution
An encoder and decoder that switch between first and second interpolation filters with different tap numbers based on block size to balance memory bandwidth and image quality, using 8-tap and 6-tap filters for larger and smaller blocks respectively, with a threshold size of 4×4 pixels for affine mode.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If an interpolation filter with more taps is used, then image quality is improved, but memory bandwidth consumption increases and processing load increases
Solution Approach 1:
The patent applies different interpolation filter configurations to different block sizes. Large blocks use filters with more taps for higher quality, while small blocks use filters with fewer taps to reduce processing load. This local differentiation resolves the contradiction by optimizing each block according to its specific size requirements rather than applying a uniform filter configuration throughout the video stream.
Solution Approach 2:
The patent dynamically changes the interpolation filter parameters (specifically the number of taps) based on block size. The system switches between different filter configurations - using 8-tap filters for large blocks and 6-tap filters for small blocks. This parameter adaptation resolves the contradiction by adjusting the filter complexity to match the actual processing needs of each block.
2Manufacturing precision
If an interpolation filter with more taps is used, then image quality is improved, but processing amount increases
Solution Approach 1:
The patent implements local quality by tailoring the interpolation filter complexity to the specific block size. Large blocks that benefit more from high-quality interpolation receive 8-tap filters, while small blocks use 6-tap filters. This resolves the contradiction by concentrating processing resources where they provide the most benefit rather than uniformly applying high-complexity filtering everywhere.
Solution Approach 2:
The system changes the interpolation filter parameters based on block size classification. By switching between 8-tap and 6-tap filter configurations, the patent optimizes the balance between image quality and processing amount, reducing unnecessary processing for small blocks while maintaining high quality for large blocks.
3Device complexity
If a single interpolation filter configuration is used for all block sizes, then device complexity is reduced, but encoding efficiency deteriorates
Solution Approach 1:
The patent introduces dynamics by making the interpolation filter configuration adaptive rather than static. The system dynamically selects between different filter configurations based on the block size being processed. This resolves the contradiction by adding just enough complexity - a simple size-based decision mechanism - to enable efficient encoding without requiring a fully complex adaptive filter system.
Solution Approach 2:
The patent changes the interpolation filter parameters according to block size, switching between 8-tap and 6-tap configurations. This parameter adaptation improves encoding efficiency by optimizing the quality-processing trade-off for each block type, while the decision logic remains simple enough to avoid excessive device complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An encoder (100) that encodes a current block to be encoded in an image is provided. The encoder includes: processor (a1); and memory (a2) coupled to the processor (a1), in which, in operation, the processor (a1): generates a first prediction image based on a motion vector, the first prediction image being an image with full-pel precision; generates a second prediction image using an interpolation filter by interpolating a value at a fractional-pel position between full-pel positions included in the first prediction image; and encodes the current block based on the second prediction image, and in the using of the interpolation filter, the interpolation filter is switched between a first interpolation filter and a second interpolation filter differing in a total number of taps from the first interpolation filter.