Dual Interpolation Filter for Video Motion Compensation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video compression techniques often result in sub-optimal compression performance due to the use of a single interpolation filter type per prediction block, which may not adequately address the different frequency responses required in vertical and horizontal directions for sub-pixel motion prediction.
Innovation Solution
The implementation of a dual filter type system, where different interpolation filters are used along each axis based on the characteristics of the motion vector, allowing for sub-pixel level motion prediction, and these filters are entropy encoded considering the types used in neighboring blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single interpolation filter type is used per prediction block, then device complexity is reduced, but compression performance deteriorates due to inability to address different frequency responses in vertical and horizontal directions
Solution Approach 1:
The patent segments the interpolation filter selection process by axis direction. Different interpolation filters are selected independently for the first axis (horizontal) and second axis (vertical) based on their respective frequency responses. This segmentation allows the system to optimize compression performance for each direction separately without requiring a single complex filter to handle all cases, thus improving compression performance while keeping the complexity manageable through independent axis-based filter selection.
2Measurement precision
If different interpolation filters are used for each axis, then prediction accuracy is improved, but computational complexity increases
Solution Approach 1:
The patent applies local quality by selecting interpolation filters based on the local frequency response characteristics of each axis. The system determines whether sub-pixel motion is present in the first component and second component of the motion vector separately, and selects appropriate interpolation filters (e.g., first interpolation filter for horizontal, second interpolation filter for vertical) based on the local frequency response in each direction. This localized filter selection improves prediction accuracy by matching the filter characteristics to the local motion characteristics while avoiding the need to use complex filters universally.
3Measurement precision
If sub-pixel motion is detected in both components, then prediction precision is improved, but processing complexity increases due to dual filter application
Solution Approach 1:
The patent implements dynamics by making the filter application process adaptive based on detected sub-pixel motion characteristics. The system dynamically determines whether to apply the first interpolation filter, the second interpolation filter, or both filters based on the presence of sub-pixel motion in the first and second components of the motion vector. This dynamic adaptation allows the system to improve prediction precision when sub-pixel motion is present while avoiding unnecessary computational overhead when sub-pixel motion is not detected, thus balancing precision improvement with encoding efficiency.
Data Source
AI summary
Inter-prediction using a dual filter type is described. To decode a video frame, a block location within a reference frame is determined using a motion vector and a location of a current block to be decoded. Rows of pixel values of a temporal pixel block or columns of pixel values of the temporal pixel block are generated applying a first interpolation filter to pixels corresponding to the block location along a first axis. Columns of pixel values or rows of pixel values for a first prediction block are generated by applying a second interpolation filter to the pixel values of the temporal pixel block along a second axis perpendicular to the first axis. The first and second interpolation filters are different. An encoded residual block is decoded to generate a residual block, and combining the residual block with the first prediction block reconstructs the current block.


