Single-Pass Entropy Coding for Last Non-Zero Transform Coefficients

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current entropy coding methods, such as CABAC, are inefficient for larger block sizes in video coding due to the need for two scanning passes and are not systematically implemented, leading to reduced compression efficiency.

Innovation Solution

A systematic entropy coding method that uses a flag to indicate the last non-zero coefficient in a block, allowing for encoding and decoding in a single scanning pass, reducing binary bins and improving compression efficiency by eliminating unnecessary binary arithmetic coding operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CABAC coding is used for quantized transform coefficients, then coding efficiency is improved, but two scanning passes are required which increases processing complexity and time

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

Solution Approach 1:

The patent segments the coding process by separating significance map coding from level coding, but then reorganizes them to be performed in a single unified pass through the transform coefficients, eliminating the need for multiple scanning passes while maintaining the benefits of context-adaptive binary arithmetic coding

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary identification of non-zero coefficient positions during the single pass, using flags to mark significance and level information, allowing the decoder to reconstruct the coefficient block without requiring a second scanning pass

Inventive Principle:
Principle #10Preliminary action

2Productivity

If CABAC coding is used for smaller block sizes, then high coding efficiency is achieved, but performance degrades for larger block sizes

Engineering Contradiction:
Improvecoding efficiencyVSAvoidadaptability to block sizes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic adaptability by allowing the coding process to handle variable block sizes (4×4, 8×8, 16×16, 32×32, 64×64) efficiently through a unified single-pass approach with context-adaptive binary arithmetic coding, where the context models are adapted based on the actual block size and coefficient distribution patterns

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If two scanning passes are performed for CABAC coding, then significance map and non-zero values are coded separately, but this increases processing time and reduces speed

Engineering Contradiction:
Improvecoding precisionVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent merges the significance map coding and level coding processes into a single scanning pass, where both the significance flags and level information for non-zero coefficients are coded sequentially in one pass through the transform coefficients, eliminating the time penalty of separate scanning passes

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12052439B2Methods and apparatus for improved entropy encoding and decoding
Publication Date: 2024.07.30 INTERDIGITAL VC HOLDINGS INC
  • US12052439B2 patent drawing
  • US12052439B2 patent drawing
  • US12052439B2 patent drawing

AI summary

Methods and apparatus are provided for improved entropy encoding and decoding. An apparatus includes a video encoder (200) for encoding at least a block in a picture by transforming a residue of the block to obtain transform coefficients, quantizing the transform coefficients to obtain quantized transform coefficients, and entropy coding the quantized transform coefficients. The quantized transform coefficients are encoded using a flag to indicate that a current one of the quantized transform coefficients being processed is a last non-zero coefficient for the block having a value greater than or equal to a specified value.