Sub-block Motion Vector Derivation for Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemotion estimation precisionVSAvoidcoding complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvemotion estimation precisionVSAvoidbit generation
Core Design Contradiction:
Measurement precisionVSLoss of information

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3167613B1Method of motion vector derivation for video coding
Publication Date: 2024.05.15 HFI INNOVATION INC
  • EP3167613B1 patent drawingFigure 1
  • EP3167613B1 patent drawingFigure 2
  • EP3167613B1 patent drawing

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.