Simplified HMVP Candidate Pruning for Video Coding Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding techniques face challenges in efficiently constructing motion vector predictor lists due to the need for numerous comparison operations to identify unique HMVP candidates, which can lead to increased processing time and potential duplicate entries in the predictor list.
Innovation Solution
A simplified pruning operation is performed by comparing a subset of HMVP candidates with a corresponding subset of entries in the motion vector predictor list, adding candidates only if they are different, thereby reducing unnecessary comparison operations and minimizing duplicate entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all HMVP candidates are compared with all entries in the motion vector predictor list to ensure uniqueness, then the reliability of the predictor list is improved, but the processing time and device complexity increase
Solution Approach 1:
The patent segments the HMVP candidate comparison process into two stages: (1) compare with spatial neighbors first, and (2) compare with temporal predictors only if needed. This segmentation reduces the total number of comparisons while maintaining uniqueness by processing candidates in a hierarchical manner based on their likelihood of duplication.
Solution Approach 2:
The patent applies preliminary filtering by first comparing HMVP candidates against spatial neighbor candidates before performing more expensive temporal predictor comparisons. This preliminary action eliminates many duplicates early in the process, avoiding unnecessary subsequent comparisons and reducing overall computational complexity.
2Reliability
If all HMVP candidates are compared with all entries in the motion vector predictor list to ensure uniqueness, then the reliability is improved, but the processing time increases
Solution Approach 1:
The comparison process is segmented into hierarchical stages where spatial neighbor comparisons are performed first (quick filter), followed by temporal predictor comparisons only for candidates that pass the first stage. This segmentation significantly reduces processing time by avoiding redundant comparisons while maintaining candidate uniqueness.
Solution Approach 2:
Preliminary comparison against spatial neighbors is performed as a fast filtering step before more time-consuming temporal predictor comparisons. This preliminary action eliminates many duplicate candidates early, reducing the overall processing time required to ensure uniqueness.
3Reliability
If a full pruning check is performed on all HMVP candidates, then duplicate entries are eliminated, but the productivity of video encoding/decoding decreases
Solution Approach 1:
The pruning operation is segmented into hierarchical stages: spatial neighbor pruning first, then temporal predictor pruning only for remaining candidates. This segmentation maintains the reliability of having unique candidates while improving productivity by reducing the total number of pruning operations required.
Solution Approach 2:
Preliminary pruning against spatial neighbors is performed as a fast initial filter before more expensive temporal predictor pruning. This preliminary action eliminates many duplicates early in the process, reducing the computational burden and improving overall encoding/decoding speed while still ensuring unique candidates.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of coding video data, including constructing a history-based motion vector prediction (HMVP) candidate history table that includes motion vector information of previously coded blocks that extend beyond adjacent neighboring blocks of a current block, constructing a motion vector predictor list, and adding one or more HMVP candidates from the HMVP candidate history table to the motion vector predictor list. Adding the one or more HMVP candidates from the HMVP candidate history table comprises comparing a first HMVP candidate in the HMVP candidate history table to two entries in the motion vector predictor list and no other entries, and adding the first HMVP candidate to the motion vector predictor list when the first HMVP candidate is different than both of the two entries in the motion vector predictor list. The method also includes coding the current block of video data using the motion vector predictor list.