Integer Sequence Encoding with Unary Bit Reversal for Small-Value Bias
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 reduced compression performance and difficulty in determining optimal bit lengths for sequences with distributions like p(x, 2 -2< ).
Innovation Solution
The proposed solution involves converting sequences using unary coding, bit-reversing, and subsequent unary decoding to adapt sequences for efficient encoding with Golomb coding, effectively reversing the bias in probability distributions to achieve optimal bit lengths.
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 complexity remains simple, but the compression performance deteriorates
Solution Approach 1:
The patent applies preliminary action by performing value transformation on the input sequence before encoding. Specifically, it transforms values x to x' using expressions like x' = 2^r - 1 - x or x' = 2^r - x, which reverses the distribution bias so that originally small values become large values and vice versa. This preliminary transformation enables subsequent Golomb-Rice coding to achieve optimal compression performance while maintaining simple encoding complexity.
2Productivity
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 modifying the distribution parameters of the input sequence through value transformation. By transforming x to x' using expressions like x' = 2^r - 1 - x, the patent changes the statistical parameters (mean, variance) of the sequence, making it suitable for Golomb-Rice coding with specific parameters (k, r). This parameter transformation enables optimal code assignment where short codes are naturally assigned to high-probability values without complex manual configuration.
3Device complexity
If the Golomb parameter s is a natural number, then the coding structure remains simple, but sequences with non-integer optimal s values cannot be efficiently encoded
Solution Approach 1:
The patent applies preliminary action by pre-transforming the input values to compensate for the discrete nature of the Golomb parameter. By transforming x to x' using expressions involving 2^r, the patent effectively scales and shifts the distribution so that the optimal Golomb parameter becomes an integer or power of 2. This preliminary adjustment maintains simple coding structure while achieving encoding optimality that would otherwise require non-integer parameters.
Solution Approach 2:
The patent applies parameter changes by transforming the input distribution parameters to match the discrete parameter requirements of Golomb-Rice coding. Through value transformations like x' = 2^r - 1 - x, the patent adjusts the mean and variance of the sequence to align with optimal integer parameters (k, r), thereby achieving near-optimal encoding performance while maintaining simple coding structure with natural number parameters.
Data Source
Figure 1
Figure 2
Figure 3
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.