Motion Vector Prediction Using Non-Adjacent Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding standards, such as HEVC, face limitations in motion vector prediction efficiency due to reliance on immediately adjacent blocks, which can restrict prediction accuracy and compression performance, especially in scenarios with strong spatial correlations.
Innovation Solution
The proposed technique involves constructing a motion vector predictor candidate list that includes non-adjacent blocks within a coding tree unit (CTU) or line buffer, allowing for the selection of motion vectors from these blocks to improve prediction efficiency, particularly by incorporating spatially correlated motion information from further away blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If motion vector prediction uses only immediately adjacent blocks, then device complexity is reduced, but motion vector prediction accuracy deteriorates
Solution Approach 1:
The patent segments the prediction block selection into two categories: adjacent blocks and non-adjacent blocks. The motion vector prediction process is divided into checking adjacent blocks first, then selectively incorporating non-adjacent blocks from the buffer when adjacent blocks are insufficient. This segmentation allows the system to maintain simplicity for common cases while improving accuracy when needed.
Solution Approach 2:
The patent applies local quality by treating different block positions differently. Adjacent blocks are given priority as they are more likely to have similar motion characteristics. Non-adjacent blocks are only considered when adjacent blocks are unavailable, and only within a restricted buffer range. This local quality approach optimizes prediction accuracy where it matters most while controlling complexity.
2Measurement precision
If motion vector prediction includes non-adjacent blocks from larger search area, then motion vector prediction accuracy is improved, but loss of information increases due to buffer management
Solution Approach 1:
The patent performs preliminary action by pre-storing motion information from previously decoded blocks in a buffer before the actual prediction process. This buffer is maintained and updated as decoding progresses, so when non-adjacent blocks are needed for prediction, the required motion information is already available in the buffer, preventing information loss.
Solution Approach 2:
The buffer acts as an intermediary between previously decoded blocks and the current prediction process. It stores and manages motion information from non-adjacent blocks, allowing the predictor to access this information without direct dependency on the decoding order. This intermediary buffer prevents information loss by maintaining a restricted set of relevant motion data.
3Productivity
If non-adjacent blocks are used as motion vector predictors, then compression efficiency is improved, but device complexity increases due to buffer management
Solution Approach 1:
The patent applies dynamics by making the buffer content and selection process adaptive. The buffer is dynamically updated as decoding progresses, and the selection of non-adjacent blocks as predictors is dynamic based on the availability and quality of candidates. This dynamic approach improves compression efficiency by adapting to local video characteristics while keeping buffer management complexity manageable through structured update rules.
Data Source
AI summary
An example device for coding video data includes a memory configured to store video data; and one or more processors implemented in circuitry and configured to: construct a motion vector predictor candidate list for a current block of the video data, the motion vector predictor candidate list identifying one or more blocks that are non-adjacent to the current block, each of the non-adjacent blocks being in a coding tree unit (CTU) including the current block or a line buffer including the current block; select a motion vector predictor from one of the blocks that is non-adjacent to the current block and in the motion vector predictor candidate list; and code motion information of the current block using the motion vector predictor.


