Block Vector Predictor for Intra Picture Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video coding techniques face inefficiencies in intra-picture coding, particularly in removing redundancy from text and artificial graphics regions, where repeated patterns exist, due to limitations in block vector prediction methods.

Innovation Solution

The implementation of Intra Block Copy (Intra BC) techniques, which allow for the use of a plurality of block vector predictor candidates, including neighboring blocks and default vectors, to construct a block vector candidate list and encode syntax elements indicating the selected predictor, reducing data usage by encoding differences rather than absolute block vector values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If Intra Block Copy techniques with multiple block vector predictor candidates are implemented, then coding efficiency is improved and data required for encoding is reduced, but device complexity increases due to constructing candidate lists and processing multiple predictors

Engineering Contradiction:
Improvecoding efficiencyVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The block vector prediction process is segmented into multiple candidate vectors (first candidate from spatial neighboring blocks, second candidate from temporal neighboring blocks, third candidate as default). This segmentation allows the decoder to process predictions in stages, improving efficiency while managing complexity through structured organization of prediction candidates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Block vector candidates are constructed and prepared in advance before the actual decoding process. The candidate list is built using previously decoded block vectors from spatial and temporal neighbors, allowing the current block to benefit from pre-computed prediction options without real-time computation overhead.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If block vector differences are encoded instead of absolute block vector values, then data usage is reduced, but measurement precision requirements increase to accurately determine the difference values

Engineering Contradiction:
Improvedata usageVSAvoidmeasurement precision
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

Instead of encoding the complete block vector, the method extracts and encodes only the difference between the block vector and its predictor candidate. This extraction approach significantly reduces the number of bits required for encoding while the decoder can precisely reconstruct the original block vector by adding the encoded difference to the known candidate vector.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The encoding parameter is changed from absolute block vector values to relative difference values. This parameter transformation reduces the magnitude and variability of the encoded data, leading to more efficient compression while maintaining the ability to accurately reconstruct the original block vector through simple addition operations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9756354B2Block vector predictor for intra block copying
Publication Date: 2017.09.05 QUALCOMM INC
  • US9756354B2 patent drawing
  • US9756354B2 patent drawing
  • US9756354B2 patent drawing

AI summary

An example method for decoding video data includes constructing a block vector (BV) candidate list for a current block of the video data, the BV candidate list including a plurality of BV predictor candidates, each respective BV predictor candidate of the plurality of BV predictor candidates is one of: a BV of a neighboring block, a BV of a previously coded block, and a default BV; determining, based on a syntax element obtained from an encoded video bitstream, a particular BV predictor candidate from the plurality of BV predictor candidates; determining, based on the particular BV predictor candidate, a value of a BV that represents a displacement between the current block and a predictor block of video data in a picture in which the current block resides; determining, based on the value the BV, the predictor block; and reconstructing the current block based on the predictor block.