Motion Vector Refinement Using Integer Rounding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Motion vector refinement in video encoding and decoding requires increased on-chip memory or external memory access, leading to performance slowdowns, especially when initial motion vectors point to fractional positions, necessitating interpolation of multiple samples which can be costly in terms of memory access.
Innovation Solution
Rounding initial motion vector coordinates to integer positions reduces the complexity of interpolation and memory access by limiting the search space to integer sample positions, thereby reducing the number of fractional positions and samples needed for interpolation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If motion vector refinement is performed with fractional sample positions, then prediction accuracy is improved, but memory access requirements and computational complexity increase
Solution Approach 1:
The patent segments the motion vector refinement process into two distinct stages: first performing refinement on integer sample positions, then optionally performing a second refinement pass on fractional sample positions. This segmentation allows the system to balance between prediction accuracy and memory access requirements by enabling selective application of computationally intensive fractional refinement only where needed.
Solution Approach 2:
The patent applies partial action by performing motion vector refinement only on a subset of motion vectors rather than all motion vectors in the picture. The system identifies candidate motion vectors that benefit most from refinement and applies the computationally intensive fractional sample position refinement selectively to these candidates, rather than uniformly to all motion vectors.
2Measurement precision
If motion vector refinement is performed with fractional sample positions, then prediction accuracy is improved, but processing speed decreases
Solution Approach 1:
The patent segments the motion vector refinement process into two distinct stages: first performing refinement on integer sample positions, then optionally performing a second refinement pass on fractional sample positions. This segmentation allows the system to balance between prediction accuracy and memory access requirements by enabling selective application of computationally intensive fractional refinement only where needed.
Solution Approach 2:
The patent applies partial action by performing motion vector refinement only on a subset of motion vectors rather than all motion vectors in the picture. The system identifies candidate motion vectors that benefit most from refinement and applies the computationally intensive fractional sample position refinement selectively to these candidates, rather than uniformly to all motion vectors.
3Measurement precision
If search space includes fractional positions, then motion vector precision is improved, but on-chip memory size requirements increase
Solution Approach 1:
The patent segments the motion vector refinement process into two distinct stages: first performing refinement on integer sample positions, then optionally performing a second refinement pass on fractional sample positions. This segmentation allows the system to balance between prediction accuracy and memory access requirements by enabling selective application of computationally intensive fractional refinement only where needed.
Solution Approach 2:
The patent applies partial action by performing motion vector refinement only on a subset of motion vectors rather than all motion vectors in the picture. The system identifies candidate motion vectors that benefit most from refinement and applies the computationally intensive fractional sample position refinement selectively to these candidates, rather than uniformly to all motion vectors.
Data Source
AI summary
A motion vector determination employs template matching. At first, an initial motion vector is obtained. If the initial motion vector points to a position that is fractional, and thus, requires interpolation from the integer sample positions, the initial motion vector is rounded to a closest integer sample position. The rounded position is then used to define the search space for the template matching to define a refinement of the initial motion vector.


