Affine Motion Compensation with Derived High-Precision Motion Vectors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding techniques face challenges in achieving accurate motion compensation while managing increased memory and bit requirements due to higher precision motion vectors, which can affect coding efficiency and rate-distortion performance.
Innovation Solution
Implementing affine motion compensation with higher precision motion vectors, such as per-pixel or subblock motion vectors, while maintaining efficient memory usage by coding control point motion vectors at a lower precision, and deriving motion vectors at a higher precision for improved accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If higher precision motion vectors are used in affine motion compensation, then motion compensation accuracy is improved, but memory requirements and bit requirements increase
Solution Approach 1:
The patent applies different precision levels to different parts of the motion vector data structure. Control point motion vectors are stored at lower precision (e.g., 1/4 pixel or 1/8 pixel), while derived motion vectors for specific blocks or subblocks use higher precision (e.g., 1/16 pixel or 1/32 pixel). This local differentiation allows high accuracy where needed while maintaining efficient memory usage for the base control points.
Solution Approach 2:
The patent segments the motion compensation process into multiple stages: first storing control point motion vectors at lower precision, then deriving higher precision motion vectors for specific blocks or subblocks as needed. This segmentation allows the system to maintain a compact representation of the overall motion field while providing high precision locally where required for accurate compensation.
2Measurement precision
If higher precision motion vectors are used in affine motion compensation, then motion compensation accuracy is improved, but bit requirements increase
Solution Approach 1:
The patent applies different precision levels to different parts of the motion vector data structure. Control point motion vectors are stored at lower precision (e.g., 1/4 pixel or 1/8 pixel), while derived motion vectors for specific blocks or subblocks use higher precision (e.g., 1/16 pixel or 1/32 pixel). This local differentiation allows high accuracy where needed while maintaining efficient memory usage for the base control points.
Solution Approach 2:
The patent implements dynamic precision selection where the precision level of motion vectors is adapted based on the specific block or subblock being processed. Rather than uniformly applying high precision across all blocks, the system derives higher precision vectors only where needed, allowing flexible adaptation of bit requirements to actual content needs.
3Quantity of substance
If control point motion vectors are coded at lower precision, then memory efficiency is improved, but motion compensation accuracy may deteriorate
Solution Approach 1:
The patent performs preliminary encoding of control point motion vectors at lower precision to establish an efficient base representation. Then, higher precision motion vectors are derived as needed for specific blocks or subblocks. This preliminary action at lower precision, followed by localized enhancement, achieves both memory efficiency and sufficient accuracy.
Solution Approach 2:
The patent creates a composite motion vector representation that combines low-precision control point vectors with high-precision derived vectors. This composite structure allows the system to leverage the efficiency of low-precision storage while incorporating high-precision details where necessary, achieving a balance between memory efficiency and compensation accuracy.
Data Source
AI summary
A video coder is configured to receive a block of video data to be coded using an affine motion compensation process, determine control point motion vectors for the block of video data, wherein the control point motion vectors have a first motion vector precision, derive motion vectors based on the control point motion vectors, wherein the motion vectors have a second motion vector precision, and wherein the second motion vector precision is higher than the first motion vector precision, and code the block of video data using the affine motion compensation process and the motion vectors.


