Template-Matched Block Vectors for Intra-Block Copy and AMVP Lists
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding systems face inefficiencies in determining optimal block vectors for intra-block copy and advanced motion vector prediction, leading to suboptimal compression and increased bandwidth requirements.
Innovation Solution
A system and method for determining and storing a best-by-cost block vector in candidate lists, such as intra-block copy and advanced motion vector prediction lists, by calculating template matching costs and selecting and combining block vectors for improved prediction accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional block vector selection methods are used in video coding, then the coding process is simpler, but the compression efficiency is suboptimal and bandwidth requirements increase
Solution Approach 1:
The patent performs preliminary template matching cost calculations for multiple candidate block vectors before final selection. By pre-calculating costs for candidates including IBC merge, AMVP, and ITMP modes, the system identifies the best block vector in advance, improving compression efficiency without requiring complex real-time decisions during encoding
Solution Approach 2:
The patent segments the block vector selection process into distinct candidate types (IBC merge candidates, AMVP candidates, ITMP candidates) with different selection criteria. Each segment is evaluated independently using appropriate template matching methods, allowing the system to optimize for compression efficiency while managing complexity through structured segmentation
2Measurement precision
If more candidate block vectors are evaluated with template matching, then prediction accuracy improves, but computational complexity and processing time increase
Solution Approach 1:
The patent evaluates a limited set of promising candidate block vectors (IBC merge, AMVP, and ITMP candidates) rather than exhaustively searching all possible candidates. This partial evaluation approach achieves sufficient prediction accuracy by focusing on the most likely optimal candidates while avoiding excessive processing time
Solution Approach 2:
The patent changes the evaluation parameter from simple motion vector difference to template matching cost (SAD/SSE metrics). This parameter change improves prediction accuracy by directly measuring template similarity, while the structured candidate selection process keeps processing time manageable
3Measurement precision
If the best template matching block vector is stored separately from the selected block vector, then decoding accuracy improves, but storage requirements increase
Solution Approach 1:
The patent merges the best template matching block vector into the existing block vector candidate lists (IBC merge/AMVP candidate list or ITMP candidate list) rather than storing it separately. This combining approach maintains decoding accuracy by ensuring the best candidate is available, while avoiding increased storage requirements through integration with existing data structures
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
Systems, methods, and instrumentalities are disclosed for determining whether to include a best-by-cost block vectors (BV) in a list of candidates such as, for example, an intra-block copy (IBC) merge and advanced motion vector prediction (AMVP) candidate list. A device, which may be, for example, an encoder device and/or decoder device, may be configured to determine for a current block, a plurality of candidate block vectors. The device may determine, for each of the plurality of candidate block vectors, a respective template matching cost. The device may determine, from the plurality of candidate block vectors, a block vector with a best template matching cost and may store the block vector with the best template matching cost for decoding a second block. The device may determine to store the block vector or condition that the current block is coded with IBC mode.