Motion Vector Difference Coding With Reduced Context Adaptation

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 leading to ineffective probability adaptation and increased coding complexity, as well as low context numbers failing to accurately encode bins with varying symbol statistics.

Innovation Solution

Implementing a decoder and encoder that use context-adaptive binary entropy decoding and encoding with a truncated unary code and Exp-Golomb code, where the cutoff value is reduced to two, and a single context is used for both horizontal and vertical components, eliminating the need for context selection based on neighboring bins and reducing the complexity of probability adaptation.

Engineering Contradictions & Design Principles

VSEngineering 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

Engineering Contradiction:
Improveadaptability to symbol statisticsVSAvoidcoding complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the motion vector difference coding into two distinct parts: a truncated unary code for small values (below cutoff) and an exponential Golomb code for larger values (at and above cutoff). This segmentation allows each code to be optimized for its specific range, reducing the overall complexity while maintaining adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of the cutoff value to optimize the boundary between the two coding methods. By adjusting this parameter, the system adapts to different symbol statistics without requiring multiple contexts, thus reducing complexity while maintaining versatility.

Inventive Principle:
Principle #35Parameter changes

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 due to ineffective probability adaptation increases

Engineering Contradiction:
Improveprobability adaptation effectivenessVSAvoidcoding time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent extracts the probability adaptation mechanism from the context selection process. By using a single context with a fixed probability model for the exponential Golomb code portion, it eliminates the time-consuming process of selecting and adapting multiple contexts while maintaining effective coding.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of adapting multiple contexts to match symbol statistics, the patent inverts the approach by using a fixed, simple probability model that works effectively across different statistics. This inversion reduces the computational overhead and time loss associated with complex probability adaptation.

Inventive Principle:
Principle #13The other way round (Inversion)

3Device complexity

If the number of contexts is reduced, then the device complexity is decreased, but the manufacturing precision of probability estimation deteriorates

Engineering Contradiction:
Improvecontext numberVSAvoidprobability estimation accuracy
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The patent applies local quality by using different coding strategies for different ranges of motion vector differences. The truncated unary code provides precise encoding for small values, while the exponential Golomb code handles larger values efficiently, together achieving high overall precision with minimal contexts.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent uses a partial approach by applying complex probability adaptation only where necessary (truncated unary portion) and using a simple fixed model for the rest (exponential Golomb portion). This partial action maintains sufficient precision while reducing overall complexity.

Inventive Principle:
Principle #16Partial or excessive action

4Adaptability or versatility

If context selection based on neighboring bins is required, then the adaptability to local statistics is improved, but the ease of operation and decoding process simplicity deteriorates

Engineering Contradiction:
Improvelocal statistics adaptationVSAvoiddecoding process simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent performs preliminary action by pre-defining the cutoff value and the structure of the combined code. This allows the decoder to directly apply the appropriate decoding method without needing to perform complex context selection or inspect neighboring bins during the decoding process, thereby simplifying operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses parameter changes (the cutoff value) to determine which decoding method to apply. This simple parameter-based decision rule replaces complex context selection mechanisms, maintaining adaptability while greatly simplifying the decoding process and improving ease of operation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9930371B2Entropy coding of motion vector differences
Publication Date: 2018.03.27 DOLBY VIDEO COMPRESSION LLC
  • US9930371B2 patent drawing
  • US9930371B2 patent drawing
  • US9930371B2 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.