Prediction Vector Pruning With Similarity Thresholds in Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding standards like HEVC and VVC face inefficiencies in predicting pixel blocks due to large candidate lists for motion vectors, leading to increased computational complexity and reduced coding efficiency.
Innovation Solution
Implementing a threshold of similarity to prune the candidate list of prediction vectors before refinement, using template matching (TM) to refine the selected vector, and applying this method across various prediction modes such as merge, CIIP, GPM, and IBC, thereby optimizing the coding process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a large candidate list of motion vectors is used for prediction, then prediction accuracy is improved, but computational complexity increases
Solution Approach 1:
The patent extracts and removes redundant motion vector candidates from the candidate list based on similarity threshold criteria. By identifying and eliminating duplicate or highly similar candidates before refinement, the system reduces the number of vectors requiring computational processing while preserving the essential prediction accuracy from the remaining diverse candidates.
Solution Approach 2:
The patent introduces a similarity threshold parameter to dynamically control the pruning process. By adjusting this threshold parameter, the system can adaptively balance between maintaining prediction accuracy (higher threshold) and reducing computational complexity (lower threshold), transforming the fixed candidate list approach into a flexible, parameter-driven solution.
2Device complexity
If redundant candidate vectors are removed from the list, then computational complexity is reduced, but prediction accuracy may deteriorate
Solution Approach 1:
The patent carefully extracts only the redundant motion vector candidates while preserving the unique and diverse candidates. By using similarity comparison against already-selected candidates, the system ensures that only truly duplicate vectors are removed, maintaining the quality and diversity of the remaining candidate set for accurate prediction.
Solution Approach 2:
The patent performs preliminary pruning of the candidate list before the refinement stage. By removing redundant candidates in advance based on similarity thresholds, the system prepares an optimized candidate set that maintains prediction accuracy while reducing the computational burden of subsequent refinement operations.
3Loss of time
If the candidate list is pruned before refinement, then processing time is reduced, but the quality of selected candidate may decrease
Solution Approach 1:
The patent performs preliminary pruning of the candidate list based on similarity thresholds before the refinement stage. This early filtering action removes obviously redundant candidates, reducing the number of vectors that require computationally intensive refinement processing, while preserving candidates that could potentially yield high-quality predictions.
Solution Approach 2:
The patent extracts and removes only the redundant candidates from the list, preserving the quality candidates for refinement. By using similarity comparison, the system ensures that high-quality unique candidates are not mistakenly removed, maintaining candidate quality while reducing processing time for the refinement stage.
Data Source
AI summary
A video coder generates a list of candidate prediction vectors for the current block. The video coder prunes the list of candidate prediction vectors by removing a first prediction vector that is within a threshold of a second prediction vector from the list. The threshold has a first value when refinement is enabled and a second value when refinement is not enabled. The video coder selects a candidate prediction vector from the pruned list of candidate prediction vectors. When refinement is enabled, the video coder refines the selected prediction vector and encodes or decodes the current block by using the refined prediction vector to reconstruct the current block. When refinement is not enabled, the video coder encodes or decodes the current block by using the selected prediction vector to reconstruct the current block.


