On-the-fly Motion Field Vector Generation for Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional video coding methods require a post-processing stage to wait for the completion of a pre-processing stage for motion vector determination, leading to degradation in encoding/decoding performance due to the off-line method of preparing motion field motion vectors for all blocks of a current frame.

Innovation Solution

The proposed method generates motion field motion vectors for blocks of a current frame in an on-the-fly manner by applying motion vector projection to reference frames and storing the results in a buffer, allowing for the use of pre-generated motion vectors in motion vector determination before the completion of the projection process for other blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If an off-line method is used to traverse all blocks of reference frames and prepare MFMVs before motion vector determination, then the MFMV buffer is fully populated with pre-computed motion vectors, but the post-processing stage must wait for the completion of the pre-processing stage, resulting in degradation of encoding/decoding performance

Engineering Contradiction:
ImproveMFMV accuracyVSAvoidencoding/decoding performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies preliminary action by computing and storing MFMVs for all blocks of reference frames before the motion vector determination stage. This ensures that when motion vector determination needs to access MFMVs, they are already available in the MFMV buffer, eliminating the need for real-time computation and avoiding performance degradation due to waiting.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the frame processing into distinct stages: a pre-processing stage that computes MFMVs for all blocks and stores them in the MFMV buffer, and a post-processing stage that performs motion vector determination. This segmentation allows each stage to be optimized independently and enables parallel processing of different blocks.

Inventive Principle:
Principle #1Segmentation

2Reliability

If motion vector determination waits for complete pre-processing of all blocks, then accurate MFMVs are available for all blocks, but processing time is increased due to sequential execution

Engineering Contradiction:
Improvemotion vector accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent computes MFMVs for all blocks in advance and stores them in the MFMV buffer during a pre-processing stage. This preliminary computation ensures that accurate MFMVs are readily available during motion vector determination, eliminating the need to wait for real-time computation and significantly reducing processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy of motion vector information by storing computed MFMVs in the MFMV buffer. This copied data can be efficiently accessed during motion vector determination without requiring the original computation resources to be available, enabling faster processing while maintaining accuracy.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11025947B2Method and apparatus for generating motion field motion vectors for blocks of current frame in on-the-fly manner
Publication Date: 2021.06.01 MEDIATEK INC
  • US11025947B2 patent drawing
  • US11025947B2 patent drawing
  • US11025947B2 patent drawing

AI summary

A motion vector (MV) projection method includes generating motion field motion vectors (MFMVs) for a first portion of a current frame by applying MV projection to MVs of a portion of each of reference frames and storing the MFMVs of the first portion of the current frame into an MFMV buffer, and generating MFMVs for a second portion of the current frame by applying MV projection to MVs of a portion of each of the reference frames and storing the MFMVs of the second portion of the current frame into the MFMV buffer. The second portion does not overlap the first portion. Before generating the MFMVs for the second portion of the current frame is done, at least one of the MFMVs of the first portion is read from the MFMV buffer and involved in motion vector determination of at least one coding block included in the first portion.