Rice Parameter Initialization for Adaptive Coefficient Level Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding techniques, such as those in the HEVC standard, initialize the Rice parameter to zero for each coefficient group, which may not be optimal for coding coefficient levels, especially for screen content or lossless coding, as it does not adapt efficiently to large coefficient values.

Innovation Solution

The proposed technique determines an initial value for the Rice parameter based on statistics of coefficient levels from previously coded coefficients, allowing it to adapt to large coefficient values by setting a non-zero value at the beginning of each coefficient group, thereby improving coding efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the Rice parameter is initialized to zero for each coefficient group, then the coding process is simple and consistent, but the coding efficiency deteriorates for screen content and lossless coding with large coefficient values

Engineering Contradiction:
Improvecoding efficiencyVSAvoidparameter initialization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The Rice parameter initialization is changed from a static fixed value (zero) to a dynamic value that adapts based on the characteristics of previously coded coefficient groups. The initializer computes the Rice parameter based on the maximum absolute coefficient value in the previous group, allowing the parameter to dynamically adjust to the actual data distribution, thereby improving coding efficiency for screen content and lossless coding scenarios.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The Rice parameter for the current coefficient group is determined in advance using statistics from previously coded groups before actual coding begins. This preliminary computation of the Rice parameter based on historical data allows the coding process to start with an optimized parameter value rather than a default value, improving efficiency without adding complexity during the main coding loop.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the Rice parameter is initialized to a non-zero value based on previous coefficient statistics, then the adaptation to large coefficient values improves, but the computational complexity increases

Engineering Contradiction:
Improvecoefficient level coding precisionVSAvoidstatistics computation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The Rice parameter initialization is performed locally for each coefficient group based on its specific characteristics rather than using a global fixed value. The initializer computes the parameter using only the statistics from the immediately preceding coefficient group, maintaining local adaptability while keeping the computational scope limited and manageable.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The Rice parameter value is changed from a fixed constant (zero) to a variable value that changes based on the statistical properties of the input data. The parameter is computed as a function of the maximum absolute coefficient value from previous groups, allowing it to adapt its value to match the actual data distribution and improve coding precision.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3020187B1Rice parameter initialization for coefficient level coding in video coding process
Publication Date: 2020.10.21 QUALCOMM INC
  • EP3020187B1 patent drawingFigure 1
  • EP3020187B1 patent drawingFigure 2
  • EP3020187B1 patent drawingFigure 3

AI summary

Techniques are described for initializing a Rice parameter used to define codes for coefficient level coding. According to the techniques, the initial value of the Rice parameter is determined for a coefficient group (CG) in a transform block of video data based on statistics of coefficient levels that are gathered for previously coded coefficients of the video data. The statistics may be statistics of absolute values of coefficient levels or remaining absolute values of coefficient levels of previously coded coefficients. A value of the statistics may be initialized to zero at a beginning of a video slice and updated based on coefficient levels coded in each CG of the slice. The statistics may be updated once per CG. In some cases, statistics may be gathered separately for each of a plurality of different categories of CGs that are defined based on characteristics of transform blocks that include the CGs.