Variable-Length Integer Coding for Small-Value Biased Sequences
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing encoding techniques, such as Golomb-Rice encoding, face challenges in efficiently compressing sequences of integer values heavily biased towards small values, particularly when the distribution deviates significantly from a Laplacian distribution, leading to suboptimal compression performance and increased bit length.
Innovation Solution
The proposed technique employs a variable-length encoding method that assigns specific codes to runs of zero values and non-zero values using a code tree or correspondence table, allowing for efficient encoding and decoding of sequences with distributions heavily biased towards small values by using a parameter K to determine optimal code lengths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If Golomb-Rice encoding is used for sequences heavily biased towards small values, then the encoding complexity remains simple, but the compression performance deteriorates and bit length increases
Solution Approach 1:
The patent introduces a new parameter K (where K ≥ 2) that generalizes the traditional Rice parameter. By allowing K to vary and be optimized based on the distribution characteristics of the integer sequence, the encoding adapts to heavily biased distributions. The code length formula B(x) = K×⌊log_K(x+1)⌋ + (K-1)×(x mod K) uses this parameter to dynamically adjust code lengths, improving compression for small-value biased sequences while maintaining systematic encoding structure.
Solution Approach 2:
The patent makes the encoding dynamic by allowing the parameter K to be selected or optimized based on the statistical properties of the input sequence. Instead of using a fixed Rice parameter, the system can adapt K to match the distribution characteristics, making the encoding scheme flexible and responsive to different data patterns while preserving the simplicity of the encoding mechanism.
2Loss of substance
If variable length codes are assigned to improve compression performance, then the expected bit length reduces, but the decoding constraints increase and configuration complexity rises
Solution Approach 1:
The patent segments the code structure into two distinct parts: a quotient part (⌊log_K(x+1)⌋) and a remainder part (x mod K). This segmentation allows independent optimization of each component - the quotient determines the number of K-bit groups needed, while the remainder specifies the offset within the last group. This structured segmentation simplifies both encoding and decoding while achieving optimal variable length codes for the given distribution.
Solution Approach 2:
The patent employs asymmetric code assignment where different portions of the code (quotient vs. remainder) have different bit allocations and interpretations. The quotient part uses ⌊log_K(x+1)⌋ bits to represent the scale, while the remainder part uses (K-1)×(x mod K) bits for the offset. This asymmetric structure optimizes the expected bit length by matching the code structure to the Laplacian distribution characteristics, where small values are more probable.
3Device complexity
If the Rice parameter r is constrained to non-negative integers, then the encoding remains simple, but the compression efficiency deteriorates for distributions with large deviation
Solution Approach 1:
The patent changes the parameter definition from the traditional Rice parameter r (non-negative integer) to a new parameter K (integer ≥ 2). This parameter transformation enables the encoding to handle distributions with large deviation more effectively. The new parameter K allows for more flexible code length adjustments while maintaining the simplicity of integer-based parameter constraints, thus improving compression efficiency without significantly increasing complexity.
Data Source
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.


