Adaptive Motion Vector Resolution for Affine Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video signal processing methods lack efficiency in coding, particularly in handling adaptive motion vector resolution and affine motion compensation.

Innovation Solution

The method involves parsing flags from a bitstream to determine the use of adaptive motion vector differential resolution and affine motion compensation, modifying motion vector differences based on resolution information, and signaling these flags at various units such as coding tree units, slices, tiles, or sequences.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If adaptive motion vector differential resolution is used, then coding efficiency is improved, but device complexity increases due to multiple flags and resolution levels

Engineering Contradiction:
Improvecoding efficiencyVSAvoidcomplexity of motion vector processing
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic motion vector resolution by allowing the resolution level to vary adaptively across different blocks and reference picture lists. The system selects from multiple resolution levels (e.g., 1/4 pel, 1/2 pel, 1 pel) based on local motion characteristics, enabling fine-grained motion areas to use higher resolution while coarser areas use lower resolution, thus improving coding efficiency without uniformly increasing complexity across the entire picture.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different motion vector resolutions to different local regions (blocks) of the picture based on their specific motion characteristics. By using the amvr_precision_flag and amvr_precision_cb_flag at the block level, the system assigns appropriate resolution quality locally rather than uniformly, which improves compression for complex motion regions while maintaining acceptable quality for simpler regions, thereby balancing coding efficiency and complexity.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If multiple resolution levels are supported for motion vectors, then measurement precision is improved, but loss of information increases due to additional flag signaling

Engineering Contradiction:
Improvemotion vector precisionVSAvoidbitstream overhead from flags
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent segments the motion vector precision control into separate flags for different reference picture lists (amvr_precision_flag for list 0, amvr_precision_cb_flag for list 1). This segmentation allows independent optimization of precision for each reference list based on actual motion characteristics, avoiding the need to signal precision information for all possible cases, thus reducing overall bitstream overhead while maintaining high precision where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the precision parameter of motion vectors dynamically based on block characteristics and reference picture list. By using precision flags that indicate the actual resolution level (e.g., 0 for 1/4 pel, 1 for 1/2 pel, 2 for 1 pel), the system adapts the motion vector precision parameter to match local motion complexity, achieving high measurement precision for complex motions while using lower precision for simple motions, thereby reducing the average information loss.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12368874B2Video signal processing method and apparatus using adaptive motion vector resolution
Publication Date: 2025.07.22 WILUS INSTITUTE OF STANDARDS & TECHNOLOGY INC
  • US12368874B2 patent drawing
  • US12368874B2 patent drawing
  • US12368874B2 patent drawing

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.