Motion Vector Refinement Using SATD for Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current motion vector refinement methods in video coding, such as those used in VVC, do not optimally minimize transformed and quantized residual coefficients, leading to inefficiencies in compression, particularly in homogeneous areas where SAD is large despite easy compression in the frequency domain, and in complex areas where high-frequency information is difficult to compress.
Innovation Solution
The method involves refining motion vectors based on the sum of absolute transformed differences (SATD) instead of sum of absolute differences (SAD), using transforms like Hadamard, DCT, or DST to assess the accuracy of motion vectors, and applying downsampling and secondary transforms to reduce computational complexity while maintaining coding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If motion vector refinement uses SAD (sum of absolute differences), then computational complexity is reduced, but compression efficiency deteriorates because it does not optimally minimize transformed and quantized residual coefficients
Solution Approach 1:
The patent changes the parameter used for motion vector refinement from SAD (spatial domain metric) to SATD (frequency domain metric). This parameter change allows the system to minimize transformed and quantized residual coefficients more effectively, improving compression efficiency while the transform is applied to the difference between reference blocks and predicted blocks
Solution Approach 2:
The patent introduces a transform (Hadamard, DCT, or DST) as an intermediary step between block difference calculation and SAD computation. This intermediary transform converts spatial domain differences into frequency domain representation, allowing better optimization of residual coefficients before the final comparison metric is calculated
2Measurement precision
If motion vector refinement uses SATD (sum of absolute transformed differences), then coding efficiency is improved, but computational complexity increases
Solution Approach 1:
The patent changes the evaluation metric from SAD to SATD, where the transform is applied to the block difference. This parameter change improves motion vector accuracy by better predicting residual energy in the frequency domain, which is where the actual compression occurs
Solution Approach 2:
The patent applies the transform only to the difference block rather than to the entire reference or predicted blocks. This partial action approach achieves the necessary frequency domain analysis for accuracy improvement while avoiding the excessive computational cost of transforming large blocks
3Device complexity
If downsampling and secondary transforms are applied, then computational complexity is reduced, but measurement precision may deteriorate
Solution Approach 1:
The patent extracts only the essential frequency information needed for motion vector refinement by applying downsampling after the transform. This extraction approach reduces computational complexity by working with smaller downsampled data while retaining the most important frequency components for accurate motion estimation
Solution Approach 2:
The patent applies different processing levels to different regions or blocks based on their characteristics. By using secondary transforms and selective downsampling, the system maintains high precision where needed while reducing complexity in regions where full precision is less critical, optimizing the overall balance between accuracy and computational load
Data Source
AI summary
The present disclosure provides a method and an apparatus for motion vector refinement. An exemplary method includes: determining a plurality of first blocks associated with a first motion vector and a plurality of second blocks associated with a second motion vector; determining a sum of absolute transformed difference (SATD) between one of the plurality of first blocks and one of the plurality of second blocks; and refining the first motion vector and the second motion vector based on the determined SATDs.


