Sub Prediction Block Motion Vector Refinement Memory Access
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


