Sub Prediction Block Motion Vector Refinement Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Motion vector refinement in video encoding and decoding requires increased memory accesses or larger on-chip memory, leading to slower processing and higher costs, especially at the decoder side.

Innovation Solution

The solution involves determining motion vectors for prediction blocks by accessing samples within a defined window, without accessing samples outside this window, and using template matching to refine initial motion vectors within this window, thereby reducing memory access and processing complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If motion vector refinement is performed by accessing samples outside the window, then motion vector accuracy is improved, but memory access requirements and processing time increase

Engineering Contradiction:
Improvemotion vector accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The prediction block is divided into multiple sub prediction blocks, and motion vector refinement is performed independently for each sub-block. This segmentation allows the processing to be distributed and optimized, reducing the overall processing time while maintaining accuracy for each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and utilizes already decoded neighboring blocks that are spatially adjacent to the current prediction block. By taking out these pre-decoded blocks and using them as reference samples within the window, the method avoids the need to access samples outside the window, thereby reducing memory access time while maintaining refinement accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If motion vector refinement is performed by accessing samples outside the window, then motion vector accuracy is improved, but on-chip memory size increases

Engineering Contradiction:
Improvemotion vector accuracyVSAvoidon-chip memory size
Core Design Contradiction:
Measurement precisionVSVolume of stationary object

Solution Approach 1:

The patent combines multiple already decoded neighboring blocks within the spatial window to form a comprehensive set of reference samples. By merging these pre-existing blocks, the method creates sufficient reference data for accurate motion vector refinement without requiring additional on-chip memory storage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The method uses the already decoded neighboring blocks (which are self-sufficient and already in memory) to provide the reference samples needed for motion vector refinement. This self-service approach eliminates the need for additional memory allocation, as the system utilizes its own existing decoded data.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If motion vector refinement is performed by accessing samples outside the window, then motion vector accuracy is improved, but external memory access increases

Engineering Contradiction:
Improvemotion vector accuracyVSAvoidencoding/decoding efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary decoding of neighboring blocks before the motion vector refinement process. By having these blocks already decoded and available in memory before refinement begins, the method eliminates the need for external memory access during the refinement stage, thereby improving encoding/decoding efficiency while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11245916B2Memory access window for sub prediction block motion vector derivation
Publication Date: 2022.02.08 HUAWEI TECH CO LTD
  • US11245916B2 patent drawing
  • US11245916B2 patent drawing
  • US11245916B2 patent drawing

AI summary

The present disclosure relates to means to enable reduction of memory access in motion vector determination and/or refinement for a prediction block. In particular, the present disclosure relates to means to enable reduction of memory access in motion vector determination and/or refinement performed on a sub prediction block basis. In other words, a prediction block is split into sub prediction blocks for which at least the motion vector refinement is performed individually. The memory access window which limits the samples accessible during the motion vector determination and refinement of the sub prediction blocks does not exceed the memory access window for performing the motion vector determination and/or refinement for the prediction block.