CABAC Range Derivation Using Inverted Probability Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing entropy coding techniques for image and video coding, such as CABAC, face challenges in reducing computational complexity while maintaining coding performance, particularly due to large lookup tables that increase hardware costs and degrade efficiency.

Innovation Solution

The method involves deriving an LPS range using mathematical operations involving an LPS probability index and a range index, with the LPS probability index determined based on the current probability, and storing only the probability range from 0.0 to 0.5 in a lookup table, allowing the other half of the range to be inverted for efficient encoding and decoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a full probability range lookup table (0.0 to 1.0) is used for CABAC, then coding accuracy is maintained, but hardware cost and computational complexity increase

Engineering Contradiction:
Improvecoding accuracyVSAvoidhardware cost
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The probability range [0, 1) is segmented into two halves: [0, 0.5) and [0.5, 1). The lookup table only stores rangeLPS values for the first half [0, 0.5). For probabilities in the second half [0.5, 1), the system inverts the probability to map it back to the first half, performs the lookup, and then inverts the result. This segmentation reduces the lookup table size by approximately half while maintaining coding accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

When the current probability p is greater than or equal to 0.5, the system inverts the probability to (1-p), which maps it to the range [0, 0.5). The lookup table stores rangeLPS values for inverted probabilities. After retrieving rangeLPS from the table using the inverted probability as index, the system inverts the result to obtain the correct rangeLPS for the original probability. This inversion technique allows the use of a smaller lookup table without loss of precision.

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

2Productivity

If a large lookup table is used to store all probability ranges, then coding efficiency is maintained, but memory usage and processing overhead increase

Engineering Contradiction:
Improvecoding efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The probability space is divided into two segments: probabilities less than 0.5 and probabilities greater than or equal to 0.5. The lookup table only needs to store entries for the first segment. For the second segment, the system uses probability inversion to map queries to the first segment, retrieves values from the table, and inverts the results. This segmentation reduces memory usage by approximately 50% while preserving coding efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of storing duplicate rangeLPS values for both probability ranges [0, 0.5) and [0.5, 1), the system creates a virtual copy of the lookup table entries through mathematical inversion. When a probability p >= 0.5 is queried, the system looks up (1-p) in the table and inverts the result, effectively creating the needed value without physical storage duplication. This reduces memory requirements while maintaining full functionality.

Inventive Principle:
Principle #26Copying

3Device complexity

If probability inversion is used to reduce lookup table size, then hardware costs decrease, but computational steps increase

Engineering Contradiction:
Improvehardware costVSAvoidcomputational steps
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system changes the parameter representation by using inverted probabilities as lookup table indices. Instead of directly indexing with probability p, the system uses (1-p) when p >= 0.5. This parameter transformation enables the use of a smaller lookup table. The additional inversion operations are simple bitwise or arithmetic operations that are computationally inexpensive compared to the memory access savings achieved by using a smaller table.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3560201B1Method and apparatus for range derivation in context adaptive binary arithmetic coding
Publication Date: 2023.05.10 HFI INNOVATION INC
  • EP3560201B1 patent drawingFigure 1~2
  • EP3560201B1 patent drawingFigure 3
  • EP3560201B1 patent drawing

AI summary

A method and apparatus of entropy coding of coding symbols using Context-Based Adaptive Binary Arithmetic Coder (CABAC) are disclosed. According to the present invention, CABAC encoding or decoding is applied to a current bin of a binary data of a current coding symbol according to a current probability for a binary value of the current bin and a current range associated with the current state of arithmetic coder. An LPS probability index corresponding to an inverted current probability or the current probability is derived depending on whether the current probability is greater than 0.5. A range index is derived for identifying one range interval containing the current range. An LPS range is then derived using one or more mathematical operations comprising calculating a multiplication of a first value related to the LPS probability index and a second value related to the range index n.