Sub-block Motion Vector Derivation for Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Block-based motion estimation in video coding fails to accurately capture complex motions such as rotation, zooming, and deformation of moving objects, as it assumes uniform displacement across all pixels within a block.
Innovation Solution
Deriving sub-block motion vectors using an affine motion-model function based on the location of the sub-block within a current block, with parameters determined from neighboring coded blocks, allowing for more granular motion description and efficient coding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If block-based motion estimation is used, then coding complexity is reduced and processing is simplified, but motion estimation precision deteriorates because it cannot capture complex motions such as rotation, zooming, and deformation
Solution Approach 1:
The current block is divided into multiple sub-blocks, and motion vectors are derived for each sub-block independently using affine motion models. This segmentation allows different motion characteristics to be captured in different regions, improving motion estimation precision while keeping each sub-block's computation manageable
Solution Approach 2:
Different affine motion parameters are applied to different sub-blocks based on their local motion characteristics. Each sub-block can have its own motion vector derived from local control points, allowing the system to adapt to local variations in motion patterns such as rotation and deformation without requiring complex global models
2Measurement precision
If affine motion estimation is used to capture complex motions, then motion estimation precision is improved, but bit generation increases and coding complexity rises
Solution Approach 1:
By dividing the block into sub-blocks and deriving motion vectors for each, the patent avoids the need to encode full affine parameters for the entire block. Only essential motion information for each sub-block is transmitted, reducing bit generation while maintaining the ability to represent complex motions
Solution Approach 2:
The patent derives motion vectors for sub-blocks using affine models but transmits only the derived motion vectors or their differences from reference vectors, rather than transmitting all affine parameters. This parameter transformation reduces the amount of data that needs to be coded while preserving motion estimation precision
Data Source
Figure 1
Figure 2
AI summary
A method and apparatus for deriving a sub-block motion vector for the current sub-block based on a motion-model function depending on the current sub-block location are disclosed. The derived sub-block motion vector is then used for encoding or decoding the sub-block. The motion-model function may correspond to an affine motion-model function or a bilinear motion-model function. In one embodiment, a new Merge mode can be used to apply prediction of a current block by applying prediction on the sub-block basis using the sub-block motion vector derived from the motion-model function. In another embodiment, an additional inter prediction mode can be used to apply prediction of a current block by applying prediction on the sub-block basis using the sub-block motion vector derived from the motion-model function.