Adaptive Motion Vector Precision for Video Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video coding technologies face challenges in efficiently encoding and decoding video data due to high bandwidth and storage requirements, particularly in reducing redundancy and managing motion vectors effectively across varying block sizes and reference pictures.

Innovation Solution

The proposed solution involves advanced methods for determining motion vector precision based on block size, using context-dependent flags and switch bins to adapt motion vector resolution, and employing symmetric motion vector difference modes for bi-prediction, which enable efficient encoding and decoding by optimizing motion vector prediction and reference picture selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If motion vector precision is increased to improve prediction accuracy, then manufacturing precision is improved, but device complexity increases

Engineering Contradiction:
Improvemotion vector precisionVSAvoidcoding complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent applies dynamics by making the motion vector precision adaptive rather than fixed. The precision level is dynamically adjusted based on the block size of the current video block being encoded. Larger blocks use lower precision (e.g., integer pixel precision) while smaller blocks use higher precision (e.g., 1/4 pixel or 1/8 pixel precision), allowing the system to optimize between accuracy and complexity on a block-by-block basis

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the precision parameter of motion vectors based on block size conditions. Different precision levels (1/4 pixel, 1/8 pixel, integer pixel) are selected according to the dimensions of the video block, transforming a static parameter into a conditional one that adapts to the specific encoding scenario

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If motion vector precision is increased to improve prediction accuracy, then measurement precision is improved, but loss of information increases due to higher bitrate requirements

Engineering Contradiction:
Improvemotion vector precisionVSAvoidbitrate
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent applies local quality by applying different precision levels to different regions (blocks) of the video based on their specific needs. Instead of using high precision uniformly across the entire video stream, the system applies high precision only where necessary (smaller blocks that benefit from it) and lower precision where sufficient (larger blocks), thereby reducing overall bitrate while maintaining necessary accuracy

Inventive Principle:
Principle #3Local quality

3Manufacturing precision

If block size is decreased to improve prediction accuracy, then manufacturing precision is improved, but device complexity increases due to more blocks to process

Engineering Contradiction:
Improveprediction accuracyVSAvoidnumber of blocks
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent makes the block processing dynamic by adjusting precision requirements based on the actual block size. Rather than forcing all blocks through high-precision processing, the system dynamically adapts the precision level to match the block dimensions, reducing the overall processing complexity while maintaining prediction accuracy where it matters most

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12143614B2Setting motion vector precision for intra prediction with motion vector difference
Publication Date: 2024.11.12 TENCENT AMERICA LLC
  • US12143614B2 patent drawing
  • US12143614B2 patent drawing
  • US12143614B2 patent drawing

AI summary

A method for video encoding includes setting a motion vector precision associated with a current block to be encoded in a current picture, and determining a motion vector for encoding the current block based on the motion vector precision. The method also includes determining a motion vector difference for the current block based on (i) the determined motion vector for encoding the current block, (ii) a predicted motion vector of the current block in inter prediction mode, and (iii) the motion vector precision. The method further includes encoding the current block according to the determined motion vector, and generating a coded video bitstream including the encoded current block and including prediction information indicating that the current block is coded in inter prediction mode and indicating the determined motion vector difference for the current block.