Motion Vector Difference Coding With Shared Context Models
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video codecs face inefficiencies in entropy coding of motion vector differences due to inappropriate context selection and probability estimation, leading to increased coding complexity and reduced efficiency.
Innovation Solution
Implementing a decoder and encoder that use context-adaptive binary entropy decoding and a constant equi-probability bypass mode for motion vector differences, with a truncated unary code below a cutoff value of two and an order one Exp-Golomb code above, reducing the need for context selection and improving probability adaptation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a high number of contexts are provided for coding motion vector differences, then coding flexibility is improved, but coding complexity increases and probability adaptation fails to perform effectively
Solution Approach 1:
The invention segments the context selection process by dividing motion vector difference bins into two distinct groups: those coded with truncated unary code and those coded with exponential Golomb code. Each group uses a dedicated context model, avoiding the need to select from multiple contexts for each individual bin. This segmentation resolves the contradiction by maintaining coding flexibility through separate models while reducing complexity by eliminating context selection overhead.
Solution Approach 2:
Instead of providing multiple contexts for each bin and requiring selection among them, the invention inverts the approach by providing one context per code type (truncated unary and exponential Golomb) and selecting the code type based on the bin position. This inversion eliminates the context selection problem while maintaining adaptability through code-type-specific probability models.
2Adaptability or versatility
If a high number of contexts are provided for coding motion vector differences, then coding flexibility is improved, but probability estimation fails to effectively adapt
Solution Approach 1:
The invention segments the probability estimation process by creating separate context models for truncated unary code bins and exponential Golomb code bins. Each context model adapts probability estimates independently based on the statistics of its specific bin group, preventing the dilution of probability adaptation that occurs when multiple contexts are sparsely visited. This segmentation maintains coding flexibility while improving probability estimation accuracy for each bin type.
3Device complexity
If the number of contexts is provided too low, then coding complexity is reduced, but bins of highly varying actual symbol statistics are grouped together
Solution Approach 1:
The invention applies local quality by tailoring the probability estimation approach to the specific characteristics of each bin group. Truncated unary code bins use one context model optimized for their statistics, while exponential Golomb code bins use another context model optimized for their different statistics. This localized approach allows each context to accurately model its specific bin type without being diluted by heterogeneous bin statistics, maintaining low complexity with only two contexts total.
4Adaptability or versatility
If several contexts are provided for a certain bin, then coding flexibility is improved, but the selection process necessitates inspection of neighboring bins increasing decoding complexity
Solution Approach 1:
The invention inverts the conventional approach by not providing several contexts for each bin requiring selection. Instead, it provides one context per code type and determines the code type (and thus the context) based on the bin position and cutoff value, eliminating the need for inspecting neighboring bins during decoding. This inversion maintains coding flexibility through code-type-specific models while dramatically simplifying the decoding process.
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.


