Intra Block Copy Vector Coding Using Higher Order Golomb Codes
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
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
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.
Data Source
Figure 1
Figure 2
Figure 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.