Affine Inter-Prediction With Independent CPMV Refinement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding techniques face challenges in accurately predicting video blocks using affine motion prediction, leading to inefficiencies in bitrate and decoding latency.
Innovation Solution
Implement decoder-side motion vector refinement (DMVR) techniques, such as bilateral matching and template matching, to refine control point motion vectors (CPMVs) independently for each CPMV, reducing latency and improving prediction accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If common offsets are used for all control point motion vectors in affine motion prediction, then device complexity is reduced, but measurement precision of motion vectors deteriorates
Solution Approach 1:
The patent divides the motion vector refinement process into independent segments, where each control point motion vector (CPMV) is refined separately using individual DMVR processes. This segmentation allows each CPMV to receive customized offset adjustments based on its specific characteristics, improving precision without requiring a monolithic complex system.
Solution Approach 2:
The patent applies local quality by determining specific offsets for each control point motion vector rather than using a common offset for all CPMVs. Each CPMV receives tailored refinement based on its local motion characteristics, achieving higher measurement precision while maintaining manageable device complexity through targeted rather than universal processing.
2Measurement precision
If independent DMVR processes are performed on each control point motion vector, then measurement precision of motion vectors is improved, but loss of time increases due to sequential processing
Solution Approach 1:
The patent merges multiple independent DMVR processes into a parallel execution framework where each CPMV refinement operates simultaneously rather than sequentially. This combining of independent processes in parallel time reduces the total latency while maintaining the precision benefits of individualized offset determination for each control point motion vector.
Solution Approach 2:
The patent introduces dynamic parallel processing where the refinement of multiple CPMVs adapts to available computational resources and data dependencies. By dynamically orchestrating independent DMVR processes in parallel, the system achieves both high precision through individualized refinement and low latency through concurrent execution when conditions permit.
3Productivity
If multiple control point motion vectors are refined independently, then productivity of video decoding is improved through parallel processing, but device complexity increases
Solution Approach 1:
The patent segments the video decoding pipeline into independent refinement stages for each control point motion vector, enabling parallel processing that boosts productivity. Each segmented CPMV refinement module operates independently with standardized interfaces, achieving high throughput while controlling complexity through modular design rather than monolithic processing.
Solution Approach 2:
The patent implements universal DMVR processes that can handle multiple types of control point motion vectors through a common refinement framework. This multi-functionality allows the same basic DMVR mechanism to serve all CPMVs with different characteristics, improving productivity through standardized parallel processing while reducing complexity by avoiding specialized handling for each vector type.
Data Source
AI summary
An example device for decoding video data includes a memory configured to store video data; and a processing system comprising one or more processors implemented in circuitry, the processing system being configured to: refine a first control point motion vector (CPMV) of a current block of the video data using a first decoder-side motion vector refinement (DMVR) process to form a first refined CPMV for the current block; refine a second CPMV of the current block of video data using a second DMVR process, independently of the first DMVR process, to form a second refined CPMV for the current block; form a prediction block for the current block using the first refined CPMV and the second refined CPMV; and decode the current block using the prediction block. In some examples, the CPMVs may each be decoded using a respective merge index and a respective motion vector difference (MVD).


