Affine Motion Vector Refinement With Adaptive Bilateral Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding and decoding technologies face inefficiencies in refining motion vectors, particularly when one predictor already has sufficient accuracy, leading to suboptimal coding efficiency in affine motion vector refinement processes.
Innovation Solution
Adaptive affine decoder side motion vector refinement (DMVR) techniques are employed, where the motion vector difference of one reference picture list is set to zero, allowing refinement of control point motion vectors associated with the second list, enhancing coding efficiency by selectively refining only one predictor.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If both predictors are refined simultaneously in affine DMVR, then motion vector accuracy is improved, but computational complexity increases
Solution Approach 1:
The patent applies partial action by selectively refining only one predictor (either first or second) based on the motion vector difference magnitude, rather than always refining both predictors simultaneously. This partial refinement approach maintains sufficient motion vector accuracy while reducing unnecessary computational operations.
Solution Approach 2:
The patent introduces dynamic adaptation by adjusting the refinement strategy based on the calculated motion vector difference. When the motion vector difference exceeds a threshold, both predictors are refined; when it is within the threshold, only one predictor is refined. This dynamic approach optimizes computational complexity based on actual motion characteristics.
2Measurement precision
If motion vectors from both reference lists are refined, then prediction accuracy is improved, but coding efficiency decreases
Solution Approach 1:
The patent implements partial action by performing refinement on only one predictor when motion vector difference is small, rather than refining both predictors. This reduces the number of computational operations and improves coding efficiency while maintaining adequate prediction accuracy for cases with small motion variations.
Solution Approach 2:
The patent changes the refinement parameter (number of predictors to refine) based on the motion vector difference threshold. This parameter adaptation allows the system to switch between full refinement (both predictors) and partial refinement (one predictor) modes, optimizing coding efficiency according to the actual motion characteristics of the video content.
3Productivity
If adaptive affine DMVR with selective refinement is used, then coding efficiency is improved, but one predictor may not achieve optimal accuracy
Solution Approach 1:
The patent employs feedback by using the motion vector difference as a decision criterion to determine the refinement strategy. This feedback mechanism allows the system to adaptively select whether to refine one or both predictors based on the actual motion characteristics, ensuring that predictor accuracy is maintained at an acceptable level while improving coding efficiency.
Solution Approach 2:
The patent introduces dynamic adaptation where the refinement strategy changes based on the motion vector difference threshold. When motion is small (within threshold), selective refinement is applied to improve coding efficiency. When motion is large (exceeds threshold), full refinement is applied to maintain optimal predictor accuracy. This dynamic approach balances coding efficiency and predictor accuracy based on actual content requirements.
Data Source
AI summary
A video coder is configured to receive a first block of video data to be coded using adaptive affine decoder side motion vector refinement (DMVR). The video coder may determine to set a first motion vector difference (MVD) for a first reference picture list to zero, and then refine control point motion vectors (CPMVs) associated with a second reference picture list to generate refined CPMVs. The video coder may then code the first block of video data using the refined CPMVs.


