Motion Vector Difference Entropy Coding With Shared Contexts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video codecs face inefficiencies in entropy coding of motion vector differences due to high context numbers affecting coding complexity and accuracy, leading to suboptimal probability estimation and increased data transmission.

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

VSEngineering 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 estimation accuracy deteriorates

Engineering Contradiction:
Improvecoding adaptabilityVSAvoidcoding complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the motion vector difference domain into two intervals: a first interval for small differences (−3 to 3) coded with truncated unary code, and a second interval for larger differences coded with exponential Golomb code. This segmentation allows different coding strategies to be applied to different ranges, improving overall efficiency while maintaining manageable complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different coding methods to different parts of the motion vector difference range. The truncated unary code with one shared context is used for small differences where high probability adaptation is needed, while exponential Golomb code is used for larger differences. This local optimization resolves the contradiction by providing adaptability where needed without uniformly increasing complexity.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If a high number of contexts is provided for entropy coding, then probability estimation accuracy may improve, but the adaptation process becomes less effective when contexts are visited too rarely

Engineering Contradiction:
Improveprobability estimation accuracyVSAvoidcoding efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent merges the context modeling for horizontal and vertical motion vector difference components into a single shared context for the truncated unary code. This merging ensures sufficient visit frequency to the context for effective probability adaptation, while still providing accurate estimation by combining statistics from both components. This resolves the contradiction by ensuring adequate sample size for adaptation while maintaining estimation accuracy.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If the cutoff value for binarization is set high, then more motion vector differences can be coded with exponential Golomb code, but the truncated unary code portion becomes less effective

Engineering Contradiction:
Improvecoding throughputVSAvoidcoding precision
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent optimizes the cutoff value parameter to 3, dividing the motion vector difference range into two intervals: (−3 to 3) for truncated unary code and values beyond this range for exponential Golomb code. This parameter optimization balances the effectiveness of both coding methods, ensuring the truncated unary code handles small differences with high precision while exponential Golomb code efficiently handles larger values, resolving the contradiction between precision and throughput.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10425644B2Entropy coding of motion vector differences
Publication Date: 2019.09.24 DOLBY VIDEO COMPRESSION LLC
  • US10425644B2 patent drawing
  • US10425644B2 patent drawing
  • US10425644B2 patent drawing

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.