Transform Block Coding With Joint Zero-Run Entropy Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional transform coding methods are inefficient for compressing wide dynamic range data due to high dynamic range transform coefficients, leading to increased memory requirements and computational complexity, especially when using run-length entropy coding techniques.

Innovation Solution

A digital media codec that jointly encodes non-zero coefficients with succeeding runs of zero-value coefficients, using context switching and adaptive coding techniques to reduce code table size and improve entropy coding efficiency, allowing for efficient encoding and decoding of wide-range transform coefficients.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If conventional run-length entropy coding techniques are used for transform coefficients, then encoding simplicity is maintained, but code table size increases and computational complexity increases for wide dynamic range data

Engineering Contradiction:
Improvecode table sizeVSAvoidencoding efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the transform coefficient encoding process into distinct phases: encoding non-zero coefficients with their succeeding zero-runs, and separately encoding the last non-zero coefficient with a dedicated last indicator. This segmentation allows the use of smaller, more manageable code tables for each phase rather than requiring a single large code table to handle all coefficient types, thereby reducing overall memory requirements while maintaining encoding efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic context switching based on the position and characteristics of non-zero coefficients within the transform block. The encoder dynamically selects between different coding modes (regular run-length encoding vs. last indicator encoding) depending on whether a coefficient is the last non-zero coefficient or not. This dynamic adaptation allows the system to optimize code table usage for each specific encoding situation, reducing the need for oversized static code tables.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If wide dynamic range transform coefficients are encoded using conventional methods, then all coefficient values are captured, but memory requirements increase and encoding speed decreases

Engineering Contradiction:
Improvecoefficient representation accuracyVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts the 'last' property from regular transform coefficients and creates a separate indicator for it. By taking out this special property and handling it separately with a dedicated last indicator, the system can use smaller code tables for the majority of coefficients while still accurately representing the complete wide dynamic range of transform coefficient values, thereby reducing memory requirements without sacrificing precision.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the encoding parameters dynamically based on the coefficient being encoded. When a non-zero coefficient is identified as the last one in the block, the encoder switches to a different parameter set (last indicator encoding) compared to regular coefficients. This parameter change allows the system to maintain accurate representation of all wide dynamic range values while using more efficient, smaller code tables for the majority of encoding operations.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If conventional entropy coding is used for transform coefficients, then implementation simplicity is maintained, but encoding speed decreases for wide-range coefficients

Engineering Contradiction:
Improvecoding structureVSAvoidencoding speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent performs preliminary identification of the last non-zero coefficient during the encoding process. By proactively identifying which coefficient is the last one before completing the encoding of all coefficients, the system can prepare the appropriate last indicator in advance. This preliminary action avoids the need for complex post-processing or large code tables to handle the last coefficient, thereby simplifying the overall coding structure while improving encoding speed through more direct, efficient encoding paths.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8599925B2Efficient coding and decoding of transform blocks
Publication Date: 2013.12.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8599925B2 patent drawing
  • US8599925B2 patent drawing
  • US8599925B2 patent drawing

AI summary

A block transform-based digital media codec more efficiently encodes transform coefficients by jointly-coding non-zero coefficients along with succeeding runs of zero-value coefficients. When a non-zero coefficient is the last in its block, a last indicator is substituted for the run value in the symbol for that coefficient. Initial non-zero coefficients are indicated in a special symbol which jointly-codes the non-zero coefficient along with initial and subsequent runs of zeroes. The codec allows for multiple coding contexts by recognizing breaks in runs of non-zero coefficients and coding non-zero coefficients on either side of such a break separately. The codec also reduces code table size by indicating in each symbol whether a non-zero coefficient has absolute value greater than 1 and whether runs of zeros have positive value, and separately encodes the level of the coefficients and the length of the runs outside of the symbols.