Model-Based Motion Vector Refinement for Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding techniques face challenges in efficiently deriving motion vectors at the decoder side, particularly in refining integer-motion vector differences to fractional-pixel precision, which affects bitrate and decoding efficiency.
Innovation Solution
The proposed solution involves techniques such as template matching, bilateral prediction, and model-based fractional-pixel motion vector refinement to derive refined motion vectors from initial integer-motion vector differences, applicable to existing codecs like HEVC and future standards.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If template matching and model-based fractional-pixel motion vector refinement are performed at the decoder side, then motion vector precision is improved, but computational complexity and processing time increase
Solution Approach 1:
An initial motion vector is determined before the template matching search process using integer-motion vector difference precision. This preliminary action provides a starting point that narrows the search range and reduces the computational burden of subsequent refinement operations.
Solution Approach 2:
The motion vector refinement process is divided into discrete stages: initial integer-precision determination, template matching search in a defined search range, and model-based fractional-pixel refinement. Each stage operates on specific precision levels and produces intermediate results that feed into the next stage.
2Measurement precision
If a wide search range is used in template matching to improve matching accuracy, then motion vector precision improves, but processing time and computational load increase
Solution Approach 1:
The search process focuses computational resources on local regions around the initial motion vector position. The search range is defined relative to the initial motion vector, concentrating the template matching effort where the best match is most likely to be found rather than searching the entire reference picture uniformly.
Solution Approach 2:
The initial motion vector determination establishes a reference point that defines the search range for template matching. This preliminary positioning allows the algorithm to limit the search to a reasonable vicinity around the expected match location, avoiding exhaustive searches across the entire reference picture.
3Measurement precision
If model-based fractional-pixel motion vector refinement is applied to all blocks, then overall video quality improves, but bitrate and processing overhead increase
Solution Approach 1:
The motion vector precision is changed from integer to fractional-pixel based on the refinement results. The model-based fractional-pixel refinement adjusts the motion vector parameters to achieve sub-pixel accuracy only when necessary, rather than applying a fixed precision level to all blocks uniformly.
Solution Approach 2:
Fractional-pixel refinement is applied selectively rather than universally to all video blocks. The process determines whether refinement is needed for each block based on the initial integer-precision motion vector and template matching results, applying fractional precision only where it provides meaningful improvement.
Data Source
AI summary
An example device for decoding video data includes a memory configured to store video data; and one or more processors configured to: decode data representing an initial motion vector for a current block of the video data, the initial motion vector having integer-motion vector difference (MVD) precision; determine a search range around a reference area identified by the initial motion vector in a reference picture; perform a template matching search process in the search range to identify a best matching region; determine error values for neighboring pixels to the best matching region; use the error values for the neighboring pixels to perform a model-based fractional-pixel motion vector refinement to derive motion vector difference values; apply at least one of the motion vector difference values to the initial motion vector to determine a refined motion vector for the current block; and decode the current block using the refined motion vector.


