Entropy Coding with Fixed State Thresholds for SIMD Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current entropy coding methods, such as Asymmetric Numeral System (ANS) and Arithmetic Coding (AC), are computationally and memory-intensive due to their iterative approaches, which hinder performance in single instruction, multiple data (SIMD) parallel implementations and increase latency in data compression and decompression processes.

Innovation Solution

Implementing a noniterative entropy encoding and decoding technique that uses fixed state thresholds to manage the state variable within bounds, eliminating the need for conditional loops and reducing computational and memory requirements by determining the number of bits to remove or add based on these thresholds during encoding and decoding processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If iterative entropy coding methods (ANS/AC) are used to achieve optimal compression ratios, then compression efficiency is improved, but computational complexity and memory bandwidth requirements increase

Engineering Contradiction:
Improvecompression efficiencyVSAvoidcomputational complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The state variable is segmented into fixed-width fields (e.g., 16-bit or 32-bit segments) that can be processed independently. This segmentation allows the encoding operation to be divided into discrete, parallelizable steps that manipulate specific bit segments rather than requiring full iterative processing of the entire state.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The iterative arithmetic coding mechanism is replaced with a direct bit-manipulation approach using bitwise operations. Instead of repeatedly applying arithmetic operations to converge on the encoded value, the patent uses single-step bitwise shifts, masks, and logical operations to achieve the same entropy coding effect without iteration.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Loss of information

If iterative entropy coding methods are used to achieve optimal compression ratios, then compression efficiency is improved, but processing speed decreases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidprocessing speed
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The necessary bit manipulations are prepared and executed in a predetermined sequence using fixed-width state variables. The encoding process performs all necessary operations in advance within a known number of steps, eliminating the need for iterative convergence and enabling predictable, high-speed processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Iterative arithmetic operations are replaced with direct bitwise operations that execute in constant time. The patent uses bitwise shifts, masks, and logical operations to perform entropy coding in a single pass rather than requiring multiple iterative steps, dramatically increasing processing speed.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Loss of information

If iterative entropy coding methods are used to achieve optimal compression ratios, then compression efficiency is improved, but parallelization capability is reduced

Engineering Contradiction:
Improvecompression efficiencyVSAvoidparallelization capability
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The state variable is divided into independent fixed-width segments that can be processed in parallel. Each segment can be encoded independently using the same bitwise operations, allowing multiple segments to be processed simultaneously using SIMD (Single Instruction Multiple Data) instructions or multi-threaded architectures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The fixed-width state variable approach creates a universal encoding mechanism that can be applied identically to multiple data elements simultaneously. The same bitwise operations work on any fixed-width state, enabling the encoding function to be replicated and executed in parallel across multiple data streams or image blocks.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Loss of information

If iterative entropy coding methods are used to achieve optimal compression ratios, then compression efficiency is improved, but latency increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidlatency
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

All necessary encoding operations are performed in a predetermined sequence within a fixed number of steps. The patent prepares and executes the complete encoding process in advance using fixed-width state variables, eliminating the variable-time iterative convergence and enabling constant-latency processing suitable for real-time applications.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The time-consuming iterative arithmetic operations are replaced with fast bitwise operations that execute in constant time. The patent uses single-cycle bitwise shifts, masks, and logical operations to achieve entropy coding without the multiple iterative steps required by traditional methods, dramatically reducing processing latency.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS12119847B2Noniterative entropy coding
Publication Date: 2024.10.15 SYNAPTICS INC
  • US12119847B2 patent drawing
  • US12119847B2 patent drawing
  • US12119847B2 patent drawing

AI summary

This disclosure provides methods, devices, and systems for data compression and decompression. The present implementations more specifically relate to entropy encoding and decoding techniques for keeping a state variable within upper and lower bounds using a noniterative process. The entropy encoding uses a fixed state threshold to determine a number of bits to remove and removes the bits from a current state prior to encoding a symbol with the current state. The entropy decoding decodes encoded data in a bitstream based on a current state to obtain the symbol and a new state and determines a number of bits to read from the bitstream and to add to the new state to update the current state.