Motion Vector Difference Entropy Coding With Truncated Unary Cutoff
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video codecs face inefficiencies in entropy coding of motion vector differences due to high context numbers, which lead to ineffective probability adaptation and increased coding complexity, while low context numbers fail to accurately encode bins with varying symbol statistics.
Innovation Solution
Implementing a decoder and encoder that use context-adaptive binary entropy coding with a truncated unary code and Exp-Golomb code for motion vector differences, reducing the cutoff value to two bin positions, using a single context for both horizontal and vertical components, and employing advanced motion vector prediction methods to reduce the number of motion vector differences.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a high number of contexts is provided for entropy coding of motion vector differences, then coding flexibility and adaptability are improved, but coding complexity increases and probability adaptation becomes ineffective
Solution Approach 1:
The patent segments the motion vector difference coding process by applying different binarization methods (truncated unary code for small values, Exp-Golomb code for larger values) based on a cutoff value, and uses separate context models for horizontal and vertical components. This segmentation allows targeted optimization without requiring excessive contexts for all cases.
Solution Approach 2:
The patent changes the cutoff value parameter to two, which fundamentally alters the binarization strategy. This parameter change reduces the number of bins requiring context modeling while maintaining coding efficiency for both small and large motion vector differences.
2Measurement precision
If a high number of contexts is provided for entropy coding, then probability estimation coverage is improved, but probability adaptation fails due to insufficient visitation frequency
Solution Approach 1:
The patent merges the context modeling for horizontal and vertical motion vector difference components by using a single shared context model. This consolidation increases the visitation frequency of each context, enabling effective probability adaptation while maintaining accurate estimation for both components.
3Manufacturing precision
If multiple contexts are provided for certain bins, then coding precision for varying symbol statistics is improved, but decoding complexity increases due to neighbor inspection requirements
Solution Approach 1:
The patent segments the motion vector difference values at a cutoff point (value of two), applying truncated unary code to smaller values and Exp-Golomb code to larger values. This segmentation simplifies the context selection process by reducing the number of bins requiring complex multi-context evaluation.
4Adaptability or versatility
If the cutoff value is increased, then truncated unary code coverage is improved, but Exp-Golomb code efficiency decreases
Solution Approach 1:
The patent optimizes the cutoff value parameter to two, finding the optimal balance point where truncated unary code effectively handles small motion vector differences (which are most frequent) while Exp-Golomb code efficiently encodes larger values. This parameter optimization maximizes overall coding efficiency.
Data Source
AI summary
An entropy decoder is configured to, for horizontal and vertical components of motion vector differences, derive a truncated unary code from the data stream using context-adaptive binary entropy decoding with exactly one context per bin position of the truncated unary code, which is common for horizontal and vertical components of the motion vector differences, and an Exp-Golomb code using a constant equi-probability bypass mode to obtain the binarizations of the motion vector differences. A desymbolizer is configured to debinarize the binarizations of the motion vector difference syntax elements to obtain integer values of the horizontal and vertical components of the motion vector differences. A reconstructor is configured to reconstruct a video based on the integer values of the horizontal and vertical components of the motion vector differences.


