Virtual Buffer Mapping for Intra-Block Copy Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding standards face challenges in efficiently managing virtual buffers for intra block copy (IBC) operations, particularly when CTU sizes exceed 128x128, and there is a lack of clarity on the relationship between virtual buffer size and reference sample size, leading to restricted subpicture areas and potential chroma QP table misdesign.
Innovation Solution
The implementation of general virtual buffers for IBC, where the size of the virtual buffer is determined by the virtual pipeline data unit (VPDU) size, CTB/CTU size, and specific constraints are applied to ensure that reference blocks are fully within VPDU rows or columns, with additional operations required to fill prediction values when blocks cross multiple VPDUs, and block vectors are constrained within specific ranges.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the virtual buffer size is increased to support larger CTU sizes (greater than 128x128), then the IBC operation capability is improved, but the memory usage and buffer management complexity increase
Solution Approach 1:
The virtual buffer is divided into multiple sub-picture areas, each independently managed. This segmentation allows the system to handle large CTU sizes by processing smaller, manageable sub-regions, reducing the complexity of buffer management while maintaining support for large block copy operations
Solution Approach 2:
The buffer management system dynamically adjusts the virtual buffer size and subpicture area boundaries based on the actual CTU size and IBC operation requirements. This dynamic adaptation allows the system to optimize memory usage for different picture sizes and coding scenarios
2Ease of operation
If the reference block must be fully within VPDU rows or columns, then the buffer management becomes simpler, but the flexibility in IBC operations is reduced
Solution Approach 1:
The patent introduces a virtual buffer coordinate system that maps logical reference block positions to physical buffer locations. This dimensional transformation allows reference blocks to logically span across VPDU boundaries while physically being managed within constrained regions, maintaining both simplicity and flexibility
3Manufacturing precision
If additional operations are performed to fill prediction values when blocks cross multiple VPDUs, then the prediction accuracy is improved, but the computational complexity increases
Solution Approach 1:
The system pre-calculates and stores prediction values in the virtual buffer before actual IBC operations are performed. When blocks cross VPDU boundaries, these pre-computed values are readily available, avoiding complex real-time calculations and reducing computational complexity while maintaining prediction accuracy
4Quantity of substance
If the virtual buffer size is determined by VPDU size and CTB/CTU size, then the memory usage efficiency is improved, but the adaptability to different picture configurations is reduced
Solution Approach 1:
The virtual buffer dimensions are defined as functions of VPDU size and CTB/CTU size parameters, allowing the buffer configuration to automatically adapt to different picture resolutions and coding tree block sizes. This parameter-based approach maintains memory efficiency while providing flexibility across various picture configurations
Data Source
AI summary
A method for video processing includes determining, for a conversion between a current video block of a video picture of a video and a bitstream of the video, a number of reference samples in a virtual buffer comprising reference samples derived from the video picture based on a rule, wherein the rule specifies that a maximum number of available reference samples in the virtual buffer is less than a size of the virtual buffer; and performing the conversion based on the determining, wherein the current video block is coded in a prediction mode in which prediction samples are derived from blocks of the available reference samples in the virtual buffer based on a block vector.


