CABAC Probability Initialization for Adaptive Video Entropy Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding techniques, such as those in the HEVC standard, face inefficiencies in entropy coding due to fixed window sizes and probability updating speeds that do not adapt to varying frequencies of syntax elements, leading to suboptimal probability estimation and increased storage requirements.

Innovation Solution

The implementation of a context-adaptive binary arithmetic coding (CABAC) process that uses different window sizes and probability updating speeds based on context and syntax elements, allowing for more accurate probability estimation and reduced storage needs by using a look-up table to convert initialization values from lower precision to higher precision.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If fixed window sizes are used in entropy coding, then device complexity is reduced, but coding efficiency deteriorates due to inability to adapt to varying syntax element frequencies

Engineering Contradiction:
Improvecoding efficiencyVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic window sizes that adapt based on the frequency characteristics of syntax elements being coded. Instead of using a fixed window size, the system adjusts the window size dynamically to match the actual frequency patterns in the video data, allowing the entropy coder to optimize its probability estimates for different coding scenarios while managing complexity through adaptive control mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the window size parameter based on the statistical properties of the syntax elements being encoded. By monitoring frequency patterns and adjusting the window size parameter accordingly, the entropy coder can adapt its behavior to match the actual data characteristics, improving coding efficiency without requiring a complete redesign of the coding architecture.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If higher precision initialization values are used, then probability estimation accuracy is improved, but storage requirements increase

Engineering Contradiction:
Improveprobability estimation accuracyVSAvoidstorage requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies partial precision by using different precision levels for different contexts in the entropy coding process. Instead of uniformly applying high precision to all initialization values, the system uses higher precision only where it provides the most benefit (for syntax elements with varying frequencies) and lower precision elsewhere, thereby achieving good probability estimation accuracy while limiting the overall storage increase.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If fixed probability updating speeds are used, then device complexity is reduced, but coding efficiency deteriorates due to suboptimal probability estimation

Engineering Contradiction:
Improvecoding efficiencyVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements dynamic probability updating speeds that adapt to the frequency characteristics of syntax elements. For syntax elements that occur frequently, the system uses faster updating speeds to quickly adapt probability estimates, while for less frequent elements, slower updating speeds are used. This dynamic approach improves coding efficiency by matching the updating speed to the actual data patterns while avoiding the complexity of a completely adaptive system.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10368072B2Advanced arithmetic coder
Publication Date: 2019.07.30 QUALCOMM INC
  • US10368072B2 patent drawing
  • US10368072B2 patent drawing
  • US10368072B2 patent drawing

AI summary

An example method of entropy coding video data includes obtaining a pre-defined initialization value for a context of a plurality of contexts used in a context-adaptive entropy coding process to entropy code a value for a syntax element in a slice of the video data, wherein the pre-defined initialization value is stored with N-bit precision; determining, using a look-up table and based on the pre-defined initialization value, an initial probability state of the context for the slice of the video data, wherein a number of possible probability states for the context is greater than two raised to the power of N; and entropy coding, based on the initial probability state of the context, a bin of the value for the syntax element.