Motion Vector Difference Entropy Coding With Shared Bin Contexts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video codecs face challenges in achieving high coding efficiency for entropy coding of motion vector differences due to issues with context adaptation and probability estimation, particularly when the number of contexts is either too high or too low.

Innovation Solution

The proposed solution involves using a decoder and encoder configuration that binarizes horizontal and vertical components of motion vector differences using a truncated unary code and a combination of a prefix and an Exp-Golomb code, with a cutoff value of two and an order of one for the Exp-Golomb code, and employing context-adaptive binary entropy decoding with a single context per bin position.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a high number of contexts is provided for coding motion vector differences, then coding flexibility increases, but coding complexity increases and probability adaptation fails to perform effectively

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

Solution Approach 1:

The invention segments the context selection process by dividing the motion vector difference coding into multiple bin positions, where each bin position uses a dedicated context. This segmentation allows the system to maintain multiple contexts without increasing overall complexity, as each context is assigned to a specific bin position rather than requiring complex context selection logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention applies local quality by assigning different contexts to different bin positions based on their specific statistical characteristics. Each bin position receives a context optimized for its local probability distribution, improving coding efficiency without requiring a global increase in the number of contexts. This localized approach resolves the contradiction by providing adaptability where needed while maintaining simplicity elsewhere.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If a high number of contexts is provided for coding motion vector differences, then coding flexibility increases, but probability estimation fails to effectively adapt

Engineering Contradiction:
Improvecoding flexibilityVSAvoidprobability estimation accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

By segmenting the coding process into multiple bin positions with dedicated contexts, the invention ensures that each context receives sufficient data for accurate probability estimation. This segmentation prevents the dilution of probability adaptation that occurs when too many contexts compete for limited data, thereby maintaining both flexibility and estimation accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each context serves itself by being dedicated to a specific bin position, allowing it to accumulate statistics independently and adapt its probability estimation without interference from other contexts. This self-service mechanism ensures reliable probability adaptation while maintaining coding flexibility through the multi-context structure.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If multiple contexts are provided for a certain bin, then coding adaptability increases, but decoding complexity increases due to inspection of neighboring bins

Engineering Contradiction:
Improvecoding adaptabilityVSAvoiddecoding ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The invention segments the context assignment such that each bin position has its own dedicated context, eliminating the need for complex context selection during decoding. This segmentation approach maintains coding adaptability through multiple contexts while simplifying decoding by removing the need to inspect neighboring bins for context selection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By assigning contexts locally to specific bin positions rather than requiring global context selection, the invention improves decoding ease. Each bin position independently uses its assigned context without requiring inspection of neighboring bins, thereby maintaining coding adaptability while simplifying the decoding process.

Inventive Principle:
Principle #3Local quality

4Device complexity

If a low number of contexts is provided, then coding complexity decreases, but bins of highly varying actual symbol statistics are grouped together

Engineering Contradiction:
Improvecoding complexityVSAvoidcoding efficiency
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The invention segments the motion vector difference coding into multiple bin positions, each with its own context. This segmentation allows the system to maintain low overall complexity while avoiding the grouping of bins with highly varying statistics, as each bin position can be assigned a context optimized for its specific statistical characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By applying local quality through dedicated contexts for each bin position, the invention ensures that bins with highly varying statistics are not grouped together. Each bin position receives a context tailored to its local statistics, maintaining coding efficiency without requiring a high number of contexts overall.

Inventive Principle:
Principle #3Local quality

Data Source

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