Decoder-Side Motion Vector Refinement for Affine Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding technologies, such as the VVC standard, limit decoder-side motion vector refinement to non-affine coded blocks, preventing accurate refinement of motion vectors for affine motion compensation, which affects coding efficiency.
Innovation Solution
Implementing decoder-side motion vector refinement for affine motion compensation by applying decoder-side motion vector refinement tools to affine merge mode-coded blocks, allowing refinement of motion vectors and improving coding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If decoder-side motion vector refinement is applied only to non-affine coded blocks, then the complexity of the decoding process is reduced, but the accuracy of motion vector refinement for affine motion compensation deteriorates
Solution Approach 1:
The patent applies different refinement strategies to different block types: for affine coded blocks, it uses affine DMVR with affine motion models to refine motion vectors at subblock level, while for non-affine blocks it uses traditional DMVR. This local differentiation allows optimal refinement accuracy for each block type without unnecessarily increasing overall complexity.
Solution Approach 2:
The patent segments the motion compensation process into two distinct paths: one for affine coded blocks using affine motion models and another for non-affine blocks using traditional translation models. This segmentation allows each path to use the most appropriate refinement technique, improving overall accuracy without forcing complex affine processing on all blocks.
2Measurement precision
If decoder-side motion vector refinement is applied to all blocks including affine coded blocks, then the accuracy of motion vector refinement is improved, but the computational complexity increases
Solution Approach 1:
The patent dynamically selects the refinement approach based on the block's coding mode. For affine coded blocks, it activates affine DMVR which uses affine motion models and subblock-level processing. For non-affine blocks, it uses standard DMVR. This dynamic adaptation ensures high accuracy where needed while maintaining efficiency elsewhere.
Solution Approach 2:
The patent changes the motion model parameters based on block type: affine coded blocks use affine motion models with multiple control points and subblock-level motion vectors, while non-affine blocks use simple translation models with single motion vectors. This parameter adaptation allows accurate refinement for affine blocks without imposing unnecessary complexity on other blocks.
3Adaptability or versatility
If affine motion compensation is used, then the ability to capture complex motion patterns is improved, but the bitrate required for signaling motion vectors increases
Solution Approach 1:
The patent performs motion vector refinement at the decoder side using already-decoded information from neighboring blocks and reference frames. This preliminary action allows the system to derive accurate refined motion vectors without requiring additional signaling, thus capturing complex affine motion patterns while avoiding increased bitrate.
Solution Approach 2:
The decoder uses its own decoded output from neighboring blocks and reference frames to generate refinement information for affine motion compensation. This self-service approach eliminates the need for additional encoder signaling, allowing versatile motion pattern capture without bitrate penalty.
Data Source
AI summary
A VVC-standard encoder and a VVC-standard decoder are provided, implementing application of DMVR on affine merge mode-coded blocks to refine the motion vector accuracy and thereby improve coding efficiency. A refined motion vector (MV) search is performed for a control point motion vector (CPMV) of an inter-coded coding block (CB), outputting a refined MV of the CB. A refined MV search includes deriving a MV of a subblock of the CB based on a CPMV of the CB, performing subblock MV refinement for the MV of the subblock, and outputting the refined MV of the CB based on a refined MV of the subblock. A refined MV search further includes deriving an affine model parameter based on a plurality of CPMVs of the CB, performing an affine parameter offset search for the affine model parameter, and outputting the refined MV of the CB based on an optimal parameter offset.


