Decoder-Side Motion Vector Refinement Block Size Restriction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding technologies face decoding latency issues due to interdependency between coding of spatial neighboring coding units during decoder-side motion vector refinement (DMVR), particularly in the HEVC standard, where refined motion vectors of one unit are needed for predicting another, leading to inefficiencies and potential performance declines.
Innovation Solution
Implementing a restriction on block sizes for DMVR, where it is only applied to blocks larger than 8×8 pixels, allowing for improved coding efficiency without impacting distortion, by using original motion vectors for spatial prediction and refined vectors for temporal prediction, thus breaking the interdependency and reducing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If decoder-side motion vector refinement (DMVR) is performed on all block sizes, then motion vector accuracy is improved, but decoding latency increases due to interdependency between spatial neighboring coding units
Solution Approach 1:
The patent applies different DMVR processing strategies to different block size categories. Large blocks (≥8×8) undergo full DMVR refinement to achieve high motion vector accuracy, while small blocks (<8×8) use simplified or alternative methods to avoid excessive latency. This local differentiation resolves the contradiction by optimizing for accuracy where it matters most while controlling overall decoding time.
Solution Approach 2:
The patent changes the block size parameter as a threshold condition to determine whether to apply DMVR. By setting 8×8 pixels as the cutoff point, the system dynamically adjusts processing intensity based on block dimensions, thereby balancing motion vector refinement quality against decoding latency across different spatial scales.
2Measurement precision
If DMVR is applied to small blocks (width or height less than 8 pixels or 8×8 pixels), then motion compensation accuracy is improved, but computational complexity and processing overhead increase
Solution Approach 1:
The patent recognizes that small blocks have different motion characteristics and refinement needs compared to large blocks. By applying DMVR selectively based on block size, the system avoids unnecessary processing overhead on small blocks where refinement provides minimal benefit, while concentrating computational resources on large blocks where accuracy improvements are more significant.
Solution Approach 2:
The patent applies partial action by performing full DMVR only on blocks that meet the size threshold (≥8×8 pixels). For smaller blocks, the system performs reduced or alternative processing, accepting slightly lower refinement accuracy in exchange for significantly reduced computational complexity and processing overhead.
3Productivity
If original motion vectors are used for spatial prediction, then decoding latency is reduced by breaking interdependency, but motion prediction accuracy may be compromised
Solution Approach 1:
The patent applies different motion vector strategies based on block size and prediction type. For spatial prediction, original motion vectors are used to eliminate interdependency and improve decoding speed. For temporal prediction and large blocks, refined motion vectors from DMVR are applied to maintain high accuracy. This local differentiation resolves the contradiction between speed and accuracy.
Data Source
AI summary
A video coding device, such as a video encoder or video decoder, may determine that a block of video data has at least one of a width less than 8 pixels, a height less than 8 pixels, or the width and the height being equal to 8 pixels; in response, determine that the block is not coded using decoder-side motion vector refinement (DMVR); and code the block without performing DMVR for the block. The video coding device may determine that a second block of video data has a size of at least 8×N or N×8, wherein N is an integer value greater than 8, in response to determining that the second block of video data has the size of at least 8×N or N×8, and then determine whether to code the second block using DMVR.


