Intra Block Copy Buffer Management for Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecoding efficiencyVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveprediction validityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If normalization and precision adjustments are applied to block vectors, then manufacturing precision of prediction is improved, but computational complexity increases

Engineering Contradiction:
Improveprediction precisionVSAvoidcomputational complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
ImproveCTU size flexibilityVSAvoidbuffer configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11985308B2Implementation aspects in intra block copy in video coding
Publication Date: 2024.05.14 DOUYIN VISION CO LTD
  • US11985308B2 patent drawing
  • US11985308B2 patent drawing
  • US11985308B2 patent drawing

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.