Affine Motion Compensation with Adaptive Vector Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video signal processing methods lack efficiency in coding, particularly in handling adaptive motion vector resolution and affine motion compensation, which are crucial for effective video compression.
Innovation Solution
The method and apparatus implement adaptive motion vector resolution (AMVR) and affine motion compensation by parsing flags from a bitstream to determine the use of these techniques, modifying motion vector differences based on resolution information, and generating a bitstream with entropy coding, thereby optimizing coding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If adaptive motion vector resolution (AMVR) is used to improve coding efficiency, then the complexity of motion vector processing increases due to multiple resolution levels and flag parsing
Solution Approach 1:
The patent implements dynamic motion vector resolution by allowing the resolution of motion vectors to vary adaptively across different regions and blocks in the video sequence. The sps_amvr_enabled_flag and related parameters enable the system to dynamically select between different resolution levels (e.g., 1/4 pel, 1/2 pel, 1 pel) based on local motion characteristics, thereby optimizing coding efficiency while managing complexity through conditional application rather than uniform high-resolution processing throughout the entire sequence
Solution Approach 2:
The patent applies local quality by enabling AMVR on a block-by-block or region-by-region basis using flags such as inter_affine_flag and amvr_enabled_flag. Different blocks within the same picture can use different motion vector resolutions according to their specific motion complexity requirements. This allows high-resolution motion vectors to be applied only where necessary (e.g., regions with complex motion) while using lower resolution elsewhere, thus improving overall coding efficiency without uniformly increasing processing complexity across the entire video sequence
2Productivity
If affine motion compensation with AMVR is implemented to enhance video compression, then the number of flags and parameters to parse increases
Solution Approach 1:
The patent employs preliminary action by defining a hierarchical flag structure where high-level flags (sps_amvr_enabled_flag, sps_affine_enabled_flag) are parsed first at the sequence or picture level to establish whether AMVR and affine motion compensation are enabled. Based on these preliminary decisions, lower-level flags (amvr_enabled_flag, inter_affine_flag, affine_amvr_enabled_flag) are conditionally parsed at the block level. This preliminary action reduces the average number of flags that need to be parsed by eliminating unnecessary parsing when features are not enabled, thereby enhancing compression efficiency while managing parsing complexity through conditional execution
Solution Approach 2:
The patent segments the flag parsing process into distinct hierarchical levels: sequence-level flags (sps_amvr_enabled_flag), picture-level flags (amvr_enabled_flag), and block-level flags (inter_affine_flag, affine_amvr_enabled_flag). This segmentation allows the decoder to parse only the relevant flags for each specific context rather than processing all possible flags uniformly. The segmented approach enables efficient video compression by applying complex features like affine motion compensation with AMVR only where needed, while reducing parsing complexity through conditional flag processing at each hierarchical level
Data Source
AI summary
The present disclosure relates to a method and apparatus for processing a video signal and, more specifically, comprises the steps of: parsing, from a bitstream, an adaptive motion vector resolution (AMVR) enabled flag (sps_amvr_enabled_flag) indicating whether or not adaptive motion vector differential resolution is used; parsing, from the bitstream, an affine enabled flag (sps_affine_enabled_flag) indicating whether or not affine motion compensation is usable; on the basis of the affine enabled flag, determining whether or not the affine motion compensation is usable; when the affine motion compensation is usable, determining, on the basis of the AMVR enabled flag, whether or not the adaptive motion vector differential resolution is used; and, when the adaptive motion vector differential resolution is used, parsing, from the bitstream, an affine AMVR enabled flag (sps_affine_amvr_enabled flag) indicating whether or not the adaptive motion vector differential resolution is usable for the affine motion compensation.


