Intra Block Copy Buffer Management for Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding technologies face challenges in efficiently managing buffers and block vectors for intra block copy mode, leading to complex encoder/decoder processing, invalid block vectors, inefficient coding, and handling of CTU sizes smaller than 128x128, particularly in determining valid block vectors for chroma blocks due to dual tree partition structures.
Innovation Solution
The implementation of a regular buffer for intra block copy (IBC) mode to store reference samples, with methods to initialize, update, and validate block vectors, including normalization and precision adjustments, to ensure valid reference areas and efficient prediction calculations, while adapting to different CTU and VPDU sizes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If intra block copy mode is implemented with buffer management for reference samples, then coding efficiency is improved, but device complexity increases due to buffer initialization, update, and validation operations
Solution Approach 1:
The reference buffer is divided into multiple regions corresponding to different coding tree units (CTUs). Each CTU has its own reference buffer region, allowing independent management and validation. This segmentation reduces the complexity of managing large buffers by breaking them into smaller, manageable units that can be processed independently.
Solution Approach 2:
The reference buffer is initialized before encoding/decoding operations begin. Reference samples are pre-computed and stored in the buffer, and block vectors are pre-validated to ensure they point to valid reference areas. This preliminary preparation reduces runtime complexity and ensures efficient coding operations.
2Reliability
If block vectors are validated against buffer boundaries and CTU sizes, then reliability of prediction is improved, but processing time increases due to additional validation checks
Solution Approach 1:
Validation checks are applied locally to each block vector based on its specific context (CTU size, buffer boundaries, reference area). Rather than applying uniform validation to all blocks, the validation criteria are adapted to local requirements, reducing unnecessary checks while ensuring reliability where needed.
Solution Approach 2:
The block vector validation process uses information already available in the encoding/decoding context (CTU dimensions, buffer boundaries, reference sample locations) to perform self-validation. The system validates its own data structures using existing parameters without requiring external verification, reducing processing overhead.
3Manufacturing precision
If normalization and precision adjustments are applied to block vectors, then manufacturing precision of prediction is improved, but computational complexity increases
Solution Approach 1:
Block vectors undergo normalization and precision adjustments by changing their parameter representation. Vectors are normalized to standard ranges and adjusted to match the precision requirements of reference sample locations. This parameter transformation ensures accurate prediction while using efficient computational operations.
4Adaptability or versatility
If different CTU sizes are supported in intra block copy mode, then adaptability of the coding system is improved, but device complexity increases due to handling various buffer configurations
Solution Approach 1:
The reference buffer configuration is made dynamic to adapt to different CTU sizes. Buffer dimensions, boundaries, and validation criteria are adjusted based on the actual CTU size being processed. This dynamic adaptation allows the system to handle various CTU configurations (e.g., 64x64, 128x128, 256x256) without requiring separate fixed configurations for each size.
Data Source
AI summary
A method of visual media processing includes determining, for a conversion between a current video block of visual media data and a bitstream representation of the current video block, a buffer that stores reference samples for prediction in an intra block copy mode; for a sample spatially located at location of the current video block relative to an upper-left position of a coding tree unit including the current video block and having a block vector, computing a corresponding reference in the buffer at a reference location, wherein the reference location is determined using the block vector and the location; and upon determining that the reference location lies outside the buffer, re-computing the reference location based at least in part on a location of the current video block relative to the coding tree unit including the current video block.


