Motion Compensation Filter Switching for Block-Based 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, and optimizing constituent elements such as filters and motion vectors.
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.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If a single interpolation filter is used for all block sizes, then the device complexity is reduced, but the image quality deteriorates due to inability to optimize for different block characteristics
Solution Approach 1:
The patent applies local quality by selecting different interpolation filters based on block size characteristics. Large blocks use one filter configuration while small blocks use another, optimizing image quality for each local region's specific requirements rather than applying a uniform filter across all blocks
Solution Approach 2:
The patent implements dynamics by making the interpolation filter selection adaptive and variable based on block size conditions. The system dynamically switches between different filter configurations rather than using a fixed, static filter, allowing optimization to respond to changing block characteristics
2Manufacturing precision
If a high-precision interpolation filter with more taps is used, then the image quality improves, but the processing amount and memory bandwidth increase
Solution Approach 1:
The patent applies parameter changes by varying the interpolation filter tap count based on block size parameters. Instead of using a constant high-tap filter for all blocks, the system adjusts the filter parameter (tap count) to match the block size, achieving high image quality where needed while reducing processing for smaller blocks
Solution Approach 2:
The patent implements partial action by applying high-precision interpolation only to blocks that require it (larger blocks), rather than applying excessive processing to all blocks. Smaller blocks receive appropriate but reduced processing, avoiding unnecessary computational overhead while maintaining quality where it matters
3Productivity
If block-based processing is used, then the encoding efficiency improves, but the image quality may deteriorate due to boundary artifacts between blocks
Solution Approach 1:
The patent applies local quality by using different interpolation filters for different block sizes, which helps mitigate boundary artifacts. By optimizing the filter characteristics to match block characteristics, the transition between blocks becomes smoother and less artifact-prone, improving overall image quality while maintaining block-based processing efficiency
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 (al); 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.