Adaptive Motion Vector Candidate List Construction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding techniques face inefficiencies in merge-based motion vector prediction, particularly in determining optimal merge candidates and implementing adaptive ordering and pruning methods, which affects decoder complexity and bit-savings.
Innovation Solution
The proposed techniques involve constructing a motion vector candidate list based on motion information from neighboring blocks, using adaptive ordering and pruning to prioritize closer values, and applying these methods to various codecs, including H.266 and QTBT-based codecs, to enhance efficiency and flexibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the number of neighboring blocks considered for motion vector candidate list is increased beyond 5, then the accuracy of motion vector prediction is improved, but the decoder complexity and memory requirements increase
Solution Approach 1:
The patent dynamically adjusts the number of neighboring blocks considered for motion vector candidate list based on block size parameters. For larger blocks (e.g., 64x64), more neighboring blocks are examined to improve prediction accuracy, while for smaller blocks, fewer neighbors are considered to reduce complexity. This parameter-based adaptation resolves the contradiction by making the system flexible rather than fixed.
Solution Approach 2:
The motion vector candidate list construction is made dynamic rather than static. The patent introduces adaptive ordering and pruning methods where the candidate list is constructed and refined based on actual motion information from neighboring blocks, rather than using a fixed predetermined list. This dynamic approach allows the system to optimize between accuracy and complexity for each specific coding situation.
2Loss of information
If adaptive ordering and pruning methods are implemented to prioritize closer motion vector candidates, then bit-savings are improved, but the processing complexity increases
Solution Approach 1:
The patent applies preliminary ordering and pruning to the motion vector candidate list before final selection. By pre-organizing candidates in order of likelihood and removing obviously suboptimal candidates early in the process, the system reduces the search space for subsequent encoding decisions. This preliminary action achieves bit-savings by focusing computational effort on the most promising candidates while avoiding exhaustive search of all possible candidates.
Solution Approach 2:
The patent extracts and removes suboptimal motion vector candidates from the candidate list through pruning operations. By identifying and eliminating candidates that are unlikely to provide optimal prediction (e.g., candidates with very different motion characteristics from the current block), the system reduces the number of candidates that need to be evaluated in detail, thereby achieving bit-savings without requiring exhaustive processing of all possible candidates.
3Reliability
If motion information from more neighboring blocks is used, then the quality of motion vector prediction is improved, but the memory requirements increase
Solution Approach 1:
The patent applies different levels of neighbor examination based on the local characteristics of each block being coded. Rather than uniformly examining the same number of neighbors for all blocks, the system adapts the scope of neighbor examination to the specific local context, such as block size, position in the picture, and motion characteristics of surrounding blocks. This local quality approach improves prediction quality where needed while conserving memory for blocks where extensive neighbor examination is less critical.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of decoding video data includes constructing a motion vector candidate list of merge candidates for the current block of video data based on motion information from a number of neighboring blocks relative to the current block, wherein the number of neighboring blocks considered for the motion vector candidate list is based on the size of the current block, and wherein the number of neighboring blocks is greater than 5. A histogram of motion vector information for the neighboring blocks is derived, wherein the histogram is constructed with a certain weight proportional to the size of the neighboring blocks. An order of spatial merge candidates in the motion vector candidate list is determined using the histogram. A current motion vector is determined from the motion vector candidate list and the current block of video data is decoded using the current motion vector.