Integer Sequence Transformation for Biased Unary-Golomb Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing encoding methods, such as Golomb-Rice coding, are inefficient for sequences with values biased towards small values, leading to increased average bit numbers and reduced compression performance, especially when the distribution of values is significantly biased towards zero or small values.

Innovation Solution

The method involves converting non-negative integer sequences using unary coding, bit-reversing the '0' and '1' bits, and then applying unary decoding, followed by Golomb coding, to optimize bit length and improve compression efficiency for sequences with large value biases.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If Golomb-Rice coding is used for sequences with values biased towards small values, then the encoding process remains simple, but the average bit number increases and compression performance deteriorates

Engineering Contradiction:
Improveencoding process simplicityVSAvoidcompression performance
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by performing value transformation on the input sequence before Golomb-Rice encoding. Specifically, it transforms values x where x < s into s - x, and values x ≥ s into x - s + 1, where s is the Golomb parameter. This preliminary transformation redistributes the value frequencies to better match the assumptions of Golomb-Rice coding, thereby improving compression performance while maintaining encoding simplicity.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If a short code is assigned to an integer value with high probability of occurrence, then compression performance improves, but decodability constraints require long codes to be assigned to other integer values

Engineering Contradiction:
Improvecompression performanceVSAvoidcode configuration constraints
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by transforming the input values to alter their frequency distribution. The transformation x → s - x for x < s and x → x - s + 1 for x ≥ s changes the parameters (value frequencies) of the input sequence, making them more suitable for Golomb-Rice coding where short codes are efficiently assigned to high-probability values without violating decodability constraints.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If the Golomb parameter s is a power of 2 (Golomb-Rice code), then the encoding configuration is simplified, but sequences with large value bias cannot be efficiently encoded

Engineering Contradiction:
Improveencoding configuration simplicityVSAvoidcompression efficiency for biased sequences
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by transforming the input values before encoding. This transformation redistributes the frequency of values so that sequences with large value bias (many small values) are converted into sequences with a distribution better suited for Golomb-Rice coding. The transformation x → s - x for x < s and x → x - s + 1 for x ≥ s ensures that the transformed sequence has improved compression efficiency when encoded with Golomb-Rice code, while the encoding configuration remains simple.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12021549B2Transformation apparatus, encoding apparatus, decoding apparatus, transformation method, encoding method, decoding method, and program
Publication Date: 2024.06.25 NIPPON TELEGRAPH & TELEPHONE CORP
  • US12021549B2 patent drawing
  • US12021549B2 patent drawing
  • US12021549B2 patent drawing

AI summary

Provided is a technique for converting an integer value sequence for encoding/decoding which allows an integer value sequence having a distribution including small values other than a zero value and greatly biased to small values to be encoded with a small average bit number. Provided are: a unary coding unit which subjects an input sequence of non-negative integer values to unary coding to obtain a unary code sequence; a bit reversing unit which replaces a bit value ‘0’ with a bit value ‘1’ and a bit value ‘1’ with a bit value ‘0’ in the bits in the unary code sequence to obtain a replaced code sequence; and a unary decoding unit which subjects the replaced code sequence to unary decoding to obtain a sequence of non-negative integer values.