Motion Vector Difference Entropy Coding With Fewer Contexts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding technologies face inefficiencies in entropy coding of motion vector differences due to high context numbers, leading to ineffective probability adaptation and increased coding complexity, while low context numbers fail to accurately encode bins with varying symbol statistics.
Innovation Solution
Reducing the cutoff value for truncated unary coding 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 transmitted, along with merging blocks to cluster motion vector differences for transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If a high number of contexts is provided for coding motion vector differences, then the coding precision is improved, but the device complexity increases and probability adaptation becomes ineffective
Solution Approach 1:
The patent segments the binarization process into two distinct parts: truncated unary code for small motion vector differences (0-2) and exponential Golomb code for larger values (3+). This segmentation allows each coding method to be optimized independently, with the truncated unary code using a single context model that avoids the complexity of multiple contexts while maintaining coding precision for the most frequent small values.
Solution Approach 2:
The patent changes the cutoff parameter from the conventional value of 9 to 2, which fundamentally alters the coding strategy. By setting cutoff=2, the truncated unary code handles only the two most significant bins (0 and 1) with a single context, while the exponential Golomb code handles the remaining bins. This parameter change reduces context complexity while maintaining or improving coding efficiency.
2Manufacturing precision
If a high number of contexts is provided for coding motion vector differences, then the coding precision is improved, but the probability adaptation fails to perform effectively
Solution Approach 1:
The patent segments the context modeling into a single unified context for the truncated unary code bins, rather than providing multiple contexts for each bin position. This segmentation simplifies probability adaptation by ensuring sufficient sampling for each context, allowing the probability estimation to converge reliably and perform effective probability adaptation.
Solution Approach 2:
By changing the cutoff parameter to 2, the patent ensures that the single context for truncated unary code bins receives sufficient probability adaptation samples. This parameter change resolves the probability adaptation failure by balancing the number of bins per context with the available training data, enabling reliable probability estimation.
3Device complexity
If the number of contexts is reduced, then the device complexity is decreased, but bins with highly varying symbol statistics are grouped together leading to poor coding efficiency
Solution Approach 1:
The patent segments the coding approach by applying different code types to different ranges of motion vector difference values. The truncated unary code with a single context handles bins 0 and 1, while exponential Golomb code handles bins 3 and above. This segmentation allows the system to maintain low device complexity while achieving high coding efficiency by matching the coding method to the statistical characteristics of each bin range.
Solution Approach 2:
By setting cutoff=2, the patent optimizes the boundary between the two coding methods. This parameter change ensures that bins with highly varying symbol statistics are appropriately handled: bins 0 and 1 use the simplified single-context truncated unary code, while bins 3+ use the more flexible exponential Golomb code, thereby maintaining coding efficiency without requiring multiple contexts for each bin.
4Manufacturing precision
If multiple contexts are provided for each bin position, then the coding precision is improved, but the inspection of neighboring bins increases execution time
Solution Approach 1:
The patent segments the context requirements by applying a single context model to the truncated unary code bins (0 and 1), eliminating the need to inspect neighboring bins for context selection. This segmentation significantly reduces decoding execution time for the most frequent small motion vector differences, while exponential Golomb code bins (3+) can use their own context mechanisms if needed.
Solution Approach 2:
By changing the cutoff to 2, the patent reduces the number of bins requiring complex multi-context inspection. Only bins 0 and 1 use the single-context truncated unary code, minimizing the time loss from context inspection. This parameter change optimizes the trade-off between coding precision and decoding speed by applying the simplified single-context approach to the most frequently occurring bins.
Data Source
Figure 1
Figure 2A~2C
Figure 3
AI summary
A decoder for decoding a video from a data stream into which horizontal and vertical components of motion vector differences are coded using binarizations of the horizontal and vertical components is described, the binarizations equaling a truncated unary code of the horizontal and vertical components, respectively, within a first interval of the domain of the horizontal and vertical components below a cutoff value, and a combination of a prefix in form of the truncated unary code for the cutoff value and a suffix in form of a Exp-Golomb code of the horizontal and vertical components, respectively, within a second interval of the domain of the horizontal and vertical components inclusive and above the cutoff value, wherein the cutoff value is two and the Exp-Golomb code has order one. An entropy decoder is configured to, for the horizontal and vertical components of the motion vector differences, derive the 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 the horizontal and vertical components of the motion vector differences, and the 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 the video based on the integer values of the horizontal and vertical components of the motion vector differences.