Affine DMVR Motion Refinement for Faster Video Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Sequential performance of affine DMVR processes in video coding is computationally complex and time-consuming, hindering efficient video decoding.
Innovation Solution
Performing affine DMVR processes in parallel and using a cost comparison to select refined control point motion vectors (CPMVs) reduces complexity and enables improved parallel processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If affine DMVR processes are performed sequentially to ensure coding quality, then manufacturing precision is improved, but productivity deteriorates
Solution Approach 1:
The patent segments the affine DMVR processing by dividing video blocks into different types (e.g., blocks with affine motion mode vs. other blocks) and applying different processing sequences to each segment. This allows parallel processing of different block types while maintaining quality for blocks that require sequential processing.
Solution Approach 2:
The patent implements dynamic processing where the DMVR process adapts its execution mode based on block characteristics. For certain block types, full sequential DMVR is performed to ensure quality, while for other blocks, simplified or parallel processing is applied, creating a dynamic balance between quality and speed.
2Productivity
If multiple DMVR processes are performed in parallel to improve productivity, then productivity is improved, but device complexity increases
Solution Approach 1:
The patent divides the parallel processing into distinct segments or stages, where different DMVR processes operate on different data segments simultaneously. This segmentation reduces the complexity of coordinating all processes while maintaining parallel execution benefits.
Solution Approach 2:
Different levels of processing quality are applied to different regions or block types. Some blocks receive full sequential DMVR processing while others receive simplified parallel processing, allowing the system to manage complexity by applying appropriate processing intensity locally rather than uniformly across all blocks.
3Device complexity
If sequential affine DMVR processing is used to reduce device complexity, then device complexity is reduced, but loss of time increases
Solution Approach 1:
The processing mode dynamically switches between sequential and parallel execution based on block characteristics and system state. This dynamic adaptation allows the system to minimize processing time for suitable blocks while keeping complexity manageable for blocks that require simpler processing.
Solution Approach 2:
The patent performs preliminary classification of blocks before DMVR processing to identify which blocks can benefit from parallel processing and which require sequential processing. This preliminary action enables the system to optimize the processing pipeline in advance, reducing overall processing time while managing complexity effectively.
Data Source
AI summary
A device for decoding video data can be configured to determine that a block of the video data is coded in an affine prediction mode; determine a plurality of control point motion vectors (CPMVs) for the affine prediction mode; perform two or more DMVR processes on the CPMVs to determine two or more sets of refined CPMVs, wherein to performing the two or more DMVR processes on the CPMVs to determine the two or more sets of refined CPMVs, the one or more processors are further configured to perform two or more of bilateral matching-based affine DMVR, regression-based DMVR, affine model parameter refinement, affine DMVR CPMV searching, or affine DMVR CPMV search refinement; perform a cost comparison between the two or more DMVR processes to select a set of refined CPMVs from the refined CPMVs; and determine a prediction block for the block based on the set of refined CPMVs.


