Arithmetic Decoding Context Grouping for Accurate CABAC Initialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for initializing context variables in context-based binary arithmetic coding and decoding are inadequate, leading to improper initialization and reduced coding efficiency.

Innovation Solution

A method is introduced where context variables are initialized using a determined initialization method specific to the given variable or group, considering factors like quantization step, maximum number of reference pictures, resolution, and position of a slice, to accurately specify the probability of binary string elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a single initialization method is used for all context variables, then the initialization process is simple, but the context variables may be improperly initialized leading to reduced coding efficiency

Engineering Contradiction:
Improveinitialization process simplicityVSAvoidcontext variable initialization accuracy
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent divides context variables into multiple groups (first group and second group) and applies different initialization methods to each group. Specifically, context variables related to chrominance components are initialized using chrominance quantization values, while other context variables are initialized using luminance quantization values. This segmentation resolves the contradiction by maintaining initialization simplicity through systematic grouping while improving accuracy through targeted initialization methods for each group.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies the principle of local quality by using different initialization values for different groups of context variables based on their specific characteristics. Chrominance-related context variables receive initialization values derived from chrominance quantization steps, while other variables receive initialization from luminance quantization steps. This localized approach ensures each context variable group is initialized with appropriate values for its specific function, resolving the contradiction between simple universal initialization and accurate specialized initialization.

Inventive Principle:
Principle #3Local quality

2Productivity

If context variables are initialized using multiple different methods, then coding efficiency is improved, but the complexity of the initialization process increases

Engineering Contradiction:
Improvecoding efficiencyVSAvoidinitialization process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments context variables into distinct groups with clear boundaries and applies specific initialization methods to each segment. The arithmetic decoding unit determines which group a context variable belongs to and applies the corresponding initialization method. This segmentation approach improves coding efficiency through accurate initialization while managing complexity by organizing the multiple initialization methods into a structured, systematic framework rather than a chaotic collection of separate processes.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10462463B2Arithmetic decoding method and arithmetic coding method
Publication Date: 2019.10.29 SUN PATENT TRUST
  • US10462463B2 patent drawing
  • US10462463B2 patent drawing
  • US10462463B2 patent drawing

AI summary

An arithmetic decoding method is a method in which a context variable specifying a probability of a possible value of each of elements included in a binary string corresponding to a value of a given variable is initialized and arithmetic decoding is performed, using the context variable. The method includes: determining, from among a plurality of initialization methods as a method of initializing the context variable, an initialization method corresponding to the given variable or a group which includes the given variable; and initializing the context variable using the determined initialization method.