Image Interpolation Using Directional Segmentation for Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding technologies face challenges in accurately interpolating sub-integer pixel values for non-translational motion models, leading to reduced accuracy and complexity in image processing, particularly with existing interpolation filters that either blur images or generate artifacts.
Innovation Solution
An image processing apparatus and method that determines interpolated pixel values by obtaining a direction angle, selecting primary and secondary interpolation support pixels, and calculating their weighted sums based on distances, allowing for improved precision and reduced complexity in inter prediction for video coding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If short-tap filters (e.g., bilinear) are used for interpolation, then device complexity is reduced, but image quality deteriorates due to blurring and suppression of high frequencies
Solution Approach 1:
The patent divides the interpolation process into multiple stages: first performing interpolation in one direction to create intermediate results, then performing interpolation in the perpendicular direction to obtain final results. This segmentation of the interpolation operation into sequential steps allows the use of simpler filters at each stage while achieving quality comparable to complex single-stage filters.
Solution Approach 2:
The patent performs preliminary interpolation in one direction before performing interpolation in the other direction. By preparing intermediate interpolated values first, the system can use simpler computational operations at each stage rather than requiring complex simultaneous interpolation, thus reducing device complexity while maintaining image quality.
2Manufacturing precision
If long-tap filters (e.g., sinc-based) are used for interpolation, then image quality improves by preserving high frequencies, but device complexity increases and ringing artifacts are generated
Solution Approach 1:
The patent segments the interpolation into two directional passes, allowing the use of shorter, simpler taps in each pass rather than requiring long sinc-based taps in a single pass. The intermediate results from the first pass serve as input for the second pass, achieving high-frequency preservation without the complexity and ringing artifacts of long-tap filters.
3Manufacturing precision
If accuracy of interpolation and prediction is increased for non-translational motion models, then image quality improves, but device complexity increases
Solution Approach 1:
The patent divides the prediction unit into multiple sub-blocks, where each sub-block has constant displacement vector. This segmentation allows the system to maintain high prediction accuracy within each simple sub-block while reducing overall complexity by avoiding complex variable displacement calculations across the entire prediction unit.
Solution Approach 2:
The patent applies different interpolation approaches to different regions (sub-blocks) of the prediction unit. Within each sub-block, simple translational interpolation is used, while the overall non-translational motion is handled by the sub-block arrangement. This local simplification maintains accuracy where needed while reducing complexity elsewhere.
Data Source
AI summary
The disclosure relates to an image processing apparatus. The image processing apparatus comprises processing circuitry configured to: obtain a direction angle value associated with the target pixel (12a-c); select for the target pixel (12a-c) a plurality of primary interpolation support pixels (10a-d) from the array of pixels (10a-d) on the basis of the position of the target pixel (12a-c); determine pixel values of a first and a second secondary interpolation support pixels (11ac, 11bd) on the basis of the pixel values of the selected primary interpolation support pixels (10a-d), the direction angle value (a, b) and the position of the target pixel (12a-c); and determine the interpolated pixel value of the target pixel (12a-c) on the basis of the pixel values of the first and second secondary interpolation support pixel (11ac, 11bd) and the position of the target pixel (12a-c).


