Integer Sequence Coding for Zero-Run and Small-Value Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing encoding techniques, such as Golomb-Rice encoding, struggle with efficiently compressing sequences of integer values heavily biased towards small values, including zero values, leading to suboptimal compression performance and increased bit length.
Innovation Solution
The proposed solution involves an encoding apparatus and method that uses a combination of code trees or correspondence tables to assign shorter bit lengths to runs of zero values and non-zero values, allowing for efficient encoding and decoding of sequences with distributions that cannot be effectively handled by existing methods.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If Golomb-Rice encoding is used with a fixed Rice parameter r, then the encoding is simple and achieves minimum expected bit length for Laplacian distributions, but compression efficiency deteriorates when the distribution deviation is large because r cannot take negative values
Solution Approach 1:
The patent makes the Rice parameter dynamic by allowing it to take negative values, which enables adaptation to distributions with large deviations. The negative Rice parameter extends the conventional encoding to handle cases where the distribution is more concentrated around zero than standard Laplacian distributions, thus improving compression efficiency without sacrificing encoding simplicity
Solution Approach 2:
The patent changes the parameter space of the Rice parameter from non-negative integers to integers that can be negative. This parameter extension allows the encoding to adapt to a broader range of distributions, particularly those heavily biased toward small values, resolving the contradiction between simplicity and efficiency
2Loss of energy
If a short code is assigned to high probability integer values to improve compression, then the expected bit length is reduced, but a long code must be assigned to other values to maintain decodability
Solution Approach 1:
The patent segments the code space by introducing a sign bit that separates the encoding into two distinct regions: one for non-negative values and one for negative values. This segmentation allows independent optimization of code lengths for each region, enabling short codes for high-probability values while maintaining decodability through structured code space division
3Loss of energy
If the Rice parameter is set to handle small deviations, then sequences with small deviation values achieve small average bit length, but sequences with large deviations suffer from deteriorated compression efficiency
Solution Approach 1:
The patent extends the Rice parameter to negative values, creating a continuous parameter space that adapts to both small and large deviations. Negative Rice parameters specifically target distributions heavily biased toward zero, while positive parameters handle standard Laplacian cases, achieving versatility across different distribution characteristics
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
An encoding/decoding technique is provided with which encoding can be performed using a small average number of bits even for a sequence of integer values including small non-zero values and having a distribution heavily biased toward small values. The present invention includes an integer encoding part 110 that, with respect to an inputted sequence of non-negative integer values x_n, n∈ {1, 2, ..., N} (hereinafter referred to as an "integer sequence"), obtains a 1-bit code as a code corresponding to a run of integer values 0 of length L, a predetermined number which satisfies 2 ≤ L ≤ 2K-1, which is included in the integer sequence and obtains a (K×x_n)-bit or (K×x_n+1)-bit code as a code corresponding to a set of a run of integer values 0 of length from 0 to L-1 and one non-zero integer value x_n included in the integer sequence, where K is assumed to be an integer equal to or larger than 2.