Motion Vector Difference Entropy Coding With Shared Contexts
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, and low context numbers result in poor symbol statistics encoding.
Innovation Solution
Implementing a decoder and encoder that use context-adaptive binary entropy coding with a truncated unary code and exponential Golomb code for motion vector differences, reducing the cutoff value to two bin positions and using a single context for both horizontal and vertical components, along with advanced motion vector prediction and merging concepts 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 coding motion vector differences, then the adaptability to different symbol statistics is improved, but the device complexity and coding complexity increase
Solution Approach 1:
The invention segments the motion vector difference coding space by introducing a cutoff value that divides the coding range into two parts: a first interval for small magnitude differences and a second interval for larger magnitude differences. This segmentation allows different coding strategies to be applied to different segments, reducing the need for numerous contexts while maintaining adaptability to different symbol statistics
Solution Approach 2:
The invention applies different coding properties to different parts of the motion vector difference space. Specifically, the first interval uses one coding approach while the second interval uses another, optimizing the coding efficiency for each local region of the symbol statistics distribution without requiring high complexity across the entire space
2Adaptability or versatility
If a high number of contexts is provided for coding motion vector differences, then the adaptability to different symbol statistics is improved, but the loss of time increases due to ineffective probability adaptation
Solution Approach 1:
By segmenting the coding space with a cutoff value, the invention reduces the number of contexts needed while maintaining effective probability adaptation. Each segment can be handled with fewer contexts, reducing the time spent on context selection and probability estimation during decoding
3Device complexity
If the number of contexts is reduced for coding motion vector differences, then the device complexity is reduced, but the coding efficiency deteriorates due to poor symbol statistics encoding
Solution Approach 1:
The invention applies different coding properties to different parts of the motion vector difference space. Specifically, the first interval uses one coding approach while the second interval uses another, optimizing the coding efficiency for each local region of the symbol statistics distribution without requiring high complexity across the entire space
Solution Approach 2:
The invention changes the coding parameters (cutoff value, binarization method) based on the magnitude of the motion vector difference. By adapting the coding parameters to the local characteristics of the data, the system achieves good coding efficiency with fewer contexts
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.


