Video Coding Block Vector Derivation Using Template Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video coding techniques restrict block vector prediction to within the bounds of the current picture, limiting the effectiveness of intra block copy and decoder-side motion vector refinement, which can lead to increased bitrate and reduced performance.
Innovation Solution
The techniques allow for the derivation of block vector difference values that ensure the search region for the block vector remains within the current picture boundaries, enabling effective intra block copy and decoder-side motion vector refinement by constructing a block vector predictor list and selecting valid block vector difference candidates based on a template size, thereby improving prediction accuracy and reducing bitrate.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional techniques restrict block vector prediction to within the bounds of the current picture, then the implementation is simple and compliant with basic coding standards, but the effectiveness of intra block copy and decoder-side motion vector refinement is limited, leading to increased bitrate and reduced performance
Solution Approach 1:
The patent changes the parameter constraints for block vector prediction by allowing block vectors to extend beyond current picture boundaries while maintaining validity through template matching. This parameter change enables more flexible search regions and improves prediction accuracy without significantly increasing bitrate, as the template-based validation ensures coding efficiency is maintained.
Solution Approach 2:
The patent applies preliminary action by performing template matching and validation before finalizing block vector predictions. The template is constructed and compared in advance to determine valid block vector differences, ensuring that only predictions meeting quality criteria are selected. This preliminary validation improves prediction reliability while controlling bitrate through selective acceptance of valid candidates.
2Reliability
If the search region for block vector extends beyond the current picture boundaries, then more reference blocks are available for prediction improving accuracy, but the complexity of boundary handling and validation increases
Solution Approach 1:
The patent introduces an intermediary mechanism - the template - that mediates between block vectors extending beyond picture boundaries and the need for validation. The template acts as a reference framework that allows extended search regions while providing automatic validation criteria. This intermediary simplifies boundary handling by using template matching to implicitly validate whether extended block vectors produce acceptable predictions.
Solution Approach 2:
The system applies self-service by using the template itself to validate block vector predictions. The template, constructed from available reference samples, automatically determines whether extended block vectors are valid through self-comparison. This self-validation mechanism reduces the need for complex external boundary checking logic while maintaining prediction accuracy.
3Reliability
If template matching is used for decoder-side motion vector refinement, then prediction accuracy is improved, but the computational complexity and processing time increase
Solution Approach 1:
The patent applies partial action by performing template matching selectively rather than exhaustively for all block vectors. The template matching is applied to refine motion vectors only when beneficial, and the search is constrained to valid block vector differences identified through preliminary filtering. This partial application of template matching improves motion vector refinement accuracy while reducing computational complexity compared to exhaustive template matching.
Data Source
AI summary
An example device for decoding video data includes a processing system configured to determine an initial block vector predictor (BVP) for a current block of video data; determine a set of valid block vector difference (BVD) values using a template size, the valid BVD values being BVD values that, when added to the BVP, refer to a region of a picture that is entirely within a search area of the picture, the region including a reference block and a template, the template having the template size and being used to perform template matching decoder-side block vector derivation; select one of the valid BVD values as a final BVD; add the final BVD to the BVP to form a block vector (BV); generate a prediction block using the BV; and decode the current block using the prediction block.


