Affine Motion Vector Control in Video Encoders for Lower Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding technologies face challenges in efficiently processing the increasing amount of digital video data, particularly in managing motion vectors to optimize encoding and decoding processes.
Innovation Solution
The encoder and decoder systems utilize an affine mode to derive and adjust motion vectors by determining a base motion vector and a first motion vector difference, modifying the first motion vector when the difference exceeds a threshold, to ensure the variation of motion vectors falls within a predetermined range, thereby reducing memory access and improving coding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If motion vector variations within video blocks are allowed to vary freely, then encoding flexibility is maintained, but memory access size increases and coding efficiency deteriorates
Solution Approach 1:
The patent applies parameter changes by modifying motion vectors based on gradient information. Specifically, motion vectors are adjusted according to the gradient magnitude and direction calculated from pixel differences, which changes the motion vector parameters to better match actual motion patterns. This reduces the variation range of motion vectors within blocks, thereby reducing memory access size while maintaining coding efficiency.
Solution Approach 2:
The patent implements dynamics by adaptively adjusting motion vectors based on local gradient characteristics. The motion compensation process dynamically modifies motion vectors according to the calculated gradients, allowing the system to adapt to varying motion patterns within different regions of the video block. This dynamic adjustment optimizes both memory access requirements and coding efficiency.
2Measurement precision
If motion vectors are modified based on gradient calculations, then prediction accuracy improves, but computational complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the video block into smaller regions and calculating gradients separately for each region. This allows the complex gradient-based motion vector modification to be applied locally rather than globally, reducing overall computational complexity while maintaining prediction accuracy in each segmented region.
Solution Approach 2:
The patent implements partial action by applying gradient-based motion vector modification selectively rather than to all motion vectors uniformly. The modification is applied based on gradient thresholds and local characteristics, performing the computationally intensive operation only where necessary to improve prediction accuracy, thus balancing accuracy gains with computational cost.
Data Source
AI summary
Provided is an encoder including circuitry and memory coupled to the circuitry. A prediction mode for a current block is an affine mode, and in operation, the circuitry: derives a base motion vector which is a motion vector to be used in a prediction process for the current block, and is a motion vector at an affine-mode control point in the current block; derives a first motion vector different from the base motion vector; derives a motion vector difference based on a difference between the base motion vector and the first motion vector; determines whether the motion vector difference is greater than a threshold; if so, modifies a second motion vector different from the base motion vector and the first motion vector, and if not, does not modify the second motion vector; and encodes the current block using the second motion vector modified or the second motion vector not modified.


