Integer Sequence Transformation for Biased Unary-Golomb Coding
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


