Representative Motion Vector Derivation for Video Coding Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In video coding systems, particularly with the High-Efficiency Video Coding (HEVC) standard, there is a need to efficiently derive and store representative motion vectors for sub-blocks within a current block, especially when split into triangular prediction units, to enhance coding efficiency and reduce complexity in motion compensation.

Innovation Solution

A method is introduced where a current block is split into sub-blocks, and representative motion vectors are derived and stored for each grid, with different vectors used for non-weighted and weighted areas based on their lists and adaptive selection, allowing for efficient motion compensation and encoding/decoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If motion information is inherited from spatial neighboring blocks or temporal collocated blocks in Skip or Merge mode, then coding efficiency is improved, but the complexity of motion vector derivation and storage increases

Engineering Contradiction:
Improvecoding efficiencyVSAvoidcomplexity of motion vector derivation and storage
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The current block is divided into multiple grids, and representative motion vectors are derived and stored for each grid independently. This segmentation allows the system to handle motion information at a finer granularity, improving coding efficiency while managing complexity through localized processing rather than global derivation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different representative motion vectors are used for different grids within the current block, with specific vectors assigned to non-weighted and weighted areas. This local differentiation optimizes motion compensation accuracy for each region while avoiding the need to derive and store comprehensive motion information for the entire block, thus balancing coding efficiency with computational complexity.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If the current block is split into sub-blocks with different motion vectors, then motion compensation accuracy is improved, but the quantity of motion information to be stored increases

Engineering Contradiction:
Improvemotion compensation accuracyVSAvoidquantity of motion information to be stored
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

Instead of storing all motion vectors for all sub-blocks, the invention extracts and stores only representative motion vectors for each grid. This selective extraction maintains the necessary motion information for accurate compensation while significantly reducing the total quantity of motion data that needs to be stored and transmitted.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Rather than deriving one representative motion vector for the entire current block, the invention inverts the approach by deriving representative motion vectors for each individual grid within the block. This inversion allows for more precise local motion representation while managing storage requirements through distributed, localized vector assignment.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS11785242B2Video processing methods and apparatuses of determining motion vectors for storage in video coding systems
Publication Date: 2023.10.10 HFI INNOVATION INC
  • US11785242B2 patent drawing
  • US11785242B2 patent drawing
  • US11785242B2 patent drawing

AI summary

Video processing methods and apparatuses for coding a current block include receiving input data of a current block, splitting the current block into sub-blocks, deriving motion information for the sub-blocks, performing motion compensation for the sub-blocks using the motion information to derive a final predictor, deriving and storing a representative motion vector for each grid in the current block, and encoding or decoding the current block using the final predictor. The representative motion vector for grids in a weighted area is determined by combining the motion vectors of the sub-blocks if the motion vectors of the sub-blocks are in different lists. The representative motion vector for grids in the weighted area is determined as one of the motion vectors of the sub-blocks if the motion vectors of the sub-blocks are in the same list.