Intra Block Copy Prediction for Merged Chroma Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Intra block copy prediction in video codecs faces issues when chroma blocks are merged, leading to cases where the block vector value references sample values outside the picture or boundary, causing encoding or decoding failures.

Innovation Solution

A media encoder and decoder implement special case handling for intra block copy prediction by deriving block vector values for secondary component blocks based on adjacent units, with constraints and clipping or padding to ensure valid sample values within boundaries, preventing reference to out-of-boundary sample values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If chroma blocks are merged for intra BC prediction to reduce complexity, then device complexity is reduced, but the block vector value may reference sample values outside the picture boundary causing encoding or decoding failures

Engineering Contradiction:
Improvecomplexity of handling multiple small chroma blocksVSAvoidreliability of intra BC prediction
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The picture is divided into multiple chroma blocks that are processed individually rather than merged, ensuring each block has valid reference samples within boundaries while maintaining processing efficiency through systematic handling of each segment

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The block vector values are validated and adjusted before intra BC prediction to ensure they reference valid sample values within picture boundaries, preventing encoding or decoding failures from occurring

Inventive Principle:
Principle #10Preliminary action

2Productivity

If chroma blocks are merged into a single block for intra BC prediction, then the number of blocks is reduced, but rate-distortion performance deteriorates

Engineering Contradiction:
Improveencoding speedVSAvoidrate-distortion performance
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

Different chroma blocks are handled with individualized processing based on their specific characteristics and positions, allowing optimization of rate-distortion performance for each block while maintaining overall encoding efficiency through selective processing

Inventive Principle:
Principle #3Local quality

3Manufacturing precision

If the minimum block size for intra BC prediction is set to 4×4, then prediction accuracy is improved, but small chroma blocks (2×2, 2×4, 4×2) cannot be processed independently

Engineering Contradiction:
Improveprediction accuracyVSAvoidability to handle different chroma block sizes
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The system dynamically adapts its processing based on chroma block size, applying intra BC prediction with 4×4 minimum block size requirement while using alternative methods or merging strategies for smaller chroma blocks, thus maintaining both prediction accuracy and adaptability to various block dimensions

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9591325B2Special case handling for merged chroma blocks in intra block copy prediction mode
Publication Date: 2017.03.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9591325B2 patent drawing
  • US9591325B2 patent drawing
  • US9591325B2 patent drawing

AI summary

Innovations in intra block copy (“BC”) prediction facilitate handling of special cases when chroma blocks are merged for purposes of the intra BC prediction. For example, encoding includes intra BC prediction for a set of adjacent units (e.g., prediction units of a coding unit). An encoder derives a block vector (“BV”) value for secondary component blocks (e.g., chroma blocks) of the set of adjacent units using one or more of the BV values associated with the adjacent units. The encoding includes special case handling for any derived BV value referencing sample values outside a boundary (e.g., picture boundary, slice boundary, tile boundary). The special case handling can use constraints on values of the BVs, clipping of the derived BV value, or padding of sample values at the boundary. In some implementations, corresponding decoding includes special case handling.