Integer Sequence Encoding via Bijective Transformation and Golomb-Rice
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for encoding integer sequences, such as those following distributions other than Laplacian, face challenges with memory size and calculation processing due to large mapping tables or reduced compression efficiency under low bit rates.
Innovation Solution
An encoder and decoder system that uses algebraically-representable bijective transformations to transform integer sets into single or multiple values, allowing for Golomb-Rice encoding, which reduces bit length and memory/calculations by associating codes with transformed integers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a mapping table is used to encode integer sequences with distributions other than Laplacian, then compression performance is improved, but memory size increases
Solution Approach 1:
The patent extracts only the essential transformation rules from the complete mapping table approach. Instead of storing and searching entire mapping tables, the invention extracts algebraic transformation formulas (e.g., y = (x1 + x2) / 2, y = (x1 + x2 + 1) / 2) that can generate the mapping relationships on-the-fly, eliminating the need for large pre-computed tables while maintaining compression performance.
Solution Approach 2:
The patent transforms the static mapping table approach into a dynamic algebraic transformation approach. The encoding relationships are no longer fixed in a pre-computed table but are generated dynamically through algebraic formulas during the encoding process, allowing the system to adapt to different input sequences without requiring large memory storage.
2Productivity
If a mapping table is used to encode integer sequences with distributions other than Laplacian, then compression performance is improved, but calculation processing increases
Solution Approach 1:
The patent replaces the mechanical system of table lookup and search with an algebraic calculation system. Instead of searching through mapping tables to find appropriate transformations, the invention uses direct algebraic formulas that compute the transformed values through simple arithmetic operations, significantly reducing calculation processing time.
Solution Approach 2:
The patent performs preliminary analysis to identify the distribution characteristics of the integer sequence and selects the appropriate algebraic transformation formula in advance. This preliminary action allows the system to use the most efficient transformation for each sequence type, avoiding the need for time-consuming searches during the actual encoding process.
3Device complexity
If Golomb-Rice code is used for integer sequences with distributions other than Laplacian, then encoding simplicity is maintained, but compression efficiency deteriorates
Solution Approach 1:
The patent changes the parameters of the encoding approach by introducing algebraic transformations that modify the integer sequences before applying Golomb-Rice coding. By transforming the input sequences through algebraic operations (such as averaging pairs of integers or applying linear transformations), the patent adapts the data distribution to better match the assumptions of Golomb-Rice coding, thereby improving compression efficiency while maintaining the simplicity of the overall encoding process.
Data Source
Figure 1
Figure 2~3
Figure 4~5
AI summary
A sequence of integer values is encoded and decoded with a number of bits of a decimal value substantially assigned per sample or/and with a smaller memory amount or calculation processing amount than in the prior art. The encoder receives the sequence of integer values as input and outputs an integer code corresponding to the sequence of integer values. An integer transformer (11) obtains one integer value (transformed integer) through algebraically-representable bijective transformation for each of a plurality of sets of integer values included in the inputted sequence of integer values. An integer encoder (12) encodes the transformed integer to thereby obtain an integer code.