Motion Vector Difference Entropy Coding With Fewer Contexts

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecoding precisionVSAvoiddevice complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvecoding precisionVSAvoidprobability adaptation effectiveness
Core Design Contradiction:
Manufacturing precisionVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvedevice complexityVSAvoidcoding efficiency
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvecoding precisionVSAvoiddecoding execution time
Core Design Contradiction:
Manufacturing precisionVSLoss of 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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3930330B1Entropy coding of motion vector differences
Publication Date: 2023.06.07 GE VIDEO COMPRESSION LLC
  • EP3930330B1 patent drawingFigure 1
  • EP3930330B1 patent drawingFigure 2A~2C
  • EP3930330B1 patent drawingFigure 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.