Intra Block Copy Vector Coding Using Higher Order Golomb Codes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding methods, such as those in the HEVC standard, are inefficient in encoding Intra Block Copy (Intra BC) block vectors due to differences in distribution characteristics between Intra BC and conventional inter motion vector fields, leading to suboptimal compression schemes.

Innovation Solution

Implementing a compression scheme that uses higher order exponential Golomb codes to represent block vector differences (BVDs), which takes advantage of the flat and slowly decreasing distribution of BVD values, by encoding syntax elements that indicate whether the absolute value of the BVD is greater than a threshold, and using fixed length codes for values within the threshold.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional motion vector coding schemes are used for Intra BC block vectors, then the encoding process is simpler, but the coding efficiency is suboptimal due to mismatched distribution characteristics

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

Solution Approach 1:

The patent changes the coding parameters by using higher order exponential Golomb codes (order k≥2) instead of conventional motion vector coding schemes. This parameter change adapts the coding method to match the flat and slowly decreasing distribution characteristics of Intra BC block vector differences, thereby improving coding efficiency while managing encoding complexity through systematic parameter selection.

Inventive Principle:
Principle #35Parameter changes

2Loss of substance

If higher order exponential Golomb codes are used to code block vector differences, then the amount of data required is reduced, but the encoding and decoding process becomes more complex

Engineering Contradiction:
Improvedata amountVSAvoidprocessing complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by selecting higher order exponential Golomb codes with order k≥2, which reduces the data amount required to represent block vector differences. The systematic approach to parameter selection and the standardized syntax element structure help manage the increased processing complexity while achieving better compression ratios.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments the coding process into distinct syntax elements (abs_mvd_greater0_flag, abs_mvd_greater1_flag, abs_mvd_minus2, mvd_sign_flag) that can be processed independently. This segmentation allows the complex higher order Golomb coding to be broken down into manageable stages, reducing the perceived processing complexity while maintaining the data reduction benefits.

Inventive Principle:
Principle #1Segmentation

3Productivity

If different syntax elements are used for block vectors compared to motion vectors, then the distribution characteristics are better matched, but the system becomes less unified

Engineering Contradiction:
Improvecompression efficiencyVSAvoidsystem versatility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by using different syntax elements and coding schemes specifically tailored for Intra BC block vectors, rather than applying a universal motion vector coding scheme. This localized approach matches the coding method to the specific distribution characteristics of Intra BC block vector differences, improving compression efficiency for this particular case while maintaining versatility through conditional syntax element selection.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3158738B1Block vector coding for intra block copying
Publication Date: 2020.03.25 QUALCOMM INC
  • EP3158738B1 patent drawingFigure 1
  • EP3158738B1 patent drawingFigure 2
  • EP3158738B1 patent drawingFigure 3

AI summary

An example method for decoding video data includes receiving syntax elements (SEs) for a component of a block vector that represents a displacement between a current block of video data and a predictor block of video data; decoding the SEs to determine a value of the component by at least: decoding a first SE to determine whether or not an absolute value of the component (AbsVal comp ) is greater than zero; where AbsVal comp is greater than zero, decoding a second SE to determine whether AbsVal comp is greater than a threshold based on an order of a set of codes; where AbsVal comp is greater than the threshold, decoding, using the set of codes, a third SE to determine AbsVal comp minus an offset based on the order of the set of codes; and where AbsVal comp is greater than zero, decoding a fourth SE to determine a sign of the value of the component.