Affine Motion Compensation With Adaptive Sub-Block Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding and decoding methods face challenges in improving processing efficiency, picture quality, and reducing circuit size, particularly in the context of H.265 high efficiency video coding (HEVC).
Innovation Solution
The proposed encoder and decoder utilize an affine motion vector calculation for sub-blocks based on neighboring block motion vectors, adjusting the shape or size of these sub-blocks to enhance motion compensation, allowing for larger sub-CUs in the affine motion compensation mode, thereby reducing processing requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If affine motion vector calculation is performed for each sub-block with fixed small size, then motion compensation precision is improved, but processing complexity and circuit size increase
Solution Approach 1:
The patent applies dynamics by making the sub-block size variable rather than fixed. The sub-block division unit dynamically adjusts sub-block sizes based on motion characteristics of neighboring blocks, allowing the system to adapt between fine-grained subdivision for complex motion and coarser subdivision for simple motion, thus balancing precision and complexity
Solution Approach 2:
The patent changes the parameter of sub-block size from a fixed value to a variable parameter that depends on motion characteristics. By analyzing motion vectors of neighboring blocks and determining optimal sub-block sizes based on motion variation, the system achieves high precision where needed while reducing complexity in simpler regions
2Manufacturing precision
If affine motion vector calculation is performed for each sub-block, then picture quality is improved, but processing time and circuit size increase
Solution Approach 1:
The patent segments the current block into sub-blocks based on motion characteristics rather than uniform segmentation. By dividing blocks adaptively according to motion variations, the system performs affine motion compensation only where necessary, improving picture quality while reducing overall processing time compared to applying it uniformly to all sub-blocks
Solution Approach 2:
The patent applies local quality by using different sub-block sizes and affine motion compensation strategies for different regions of the current block based on their motion characteristics. Regions with high motion variation receive finer segmentation and affine compensation, while regions with simple motion use coarser segmentation, optimizing both quality and processing time
3Productivity
If small fixed-size sub-blocks are used for affine motion compensation, then encoding efficiency is improved, but the number of sub-CUs increases leading to larger circuit size
Solution Approach 1:
The patent makes the sub-CU structure dynamic by allowing variable sub-block sizes based on motion characteristics. This dynamic adaptation enables the circuit to handle complex motion with finer granularity when needed while using coarser granularity for simple motion, maintaining encoding efficiency without requiring a large fixed circuit structure for all cases
Solution Approach 2:
The patent creates a universal sub-block division mechanism that can adapt to different motion scenarios. The same circuit structure can handle both complex and simple motion by adjusting sub-block sizes, making the encoder multi-functional and reducing the need for specialized circuitry for different cases
Data Source
AI summary
An encoder includes circuitry and memory. Using the memory, the circuitry: in an inter prediction mode in which an affine motion vector is calculated for each of sub-blocks constituting a current block of a picture in the video, based on motion vectors of neighboring blocks of the current block, changes a shape or size of the sub-block according to a variation in direction or variation in magnitude among the motion vectors of the neighboring blocks; calculates the affine motion vector for the sub-block having the shape or size changed; and performs the motion compensation for the sub-block having the shape or size changed.


