H03M7/4093

Low complexity optimal parallel Huffman encoder and decoder
12113554 · 2024-10-08 · ·

A memory device includes a memory; and at least one processor configured to: obtain a symbol stream including a plurality of symbols; determine a Huffman tree corresponding to the symbol stream, wherein each symbol of the plurality of symbols is assigned a corresponding prefix code from among a plurality of prefix codes based on the Huffman tree; generate a prefix length table based on the Huffman tree, wherein the prefix length table indicates a length of the corresponding prefix code for each symbol; generate a logarithm frequency table based on the prefix length table, wherein the logarithm frequency table indicates a logarithm of a frequency count for each symbol, generate a cumulative frequency table which indicates a cumulative frequency count corresponding to each symbol; generate a compressed bitstream by iteratively applying an encoding function to the plurality of symbols based on the logarithm frequency table and the cumulative frequency table; and store the compressed bitstream in the memory.

Parallel processing of data having data dependencies for accelerating the launch and performance of operating systems and other computing applications

Representative embodiments are disclosed for a rapid and highly parallel decompression of compressed executable and other files, such as executable files for operating systems and applications, having compressed blocks including run length encoded (RLE) data having data-dependent references. An exemplary embodiment includes a plurality of processors or processor cores to identify a start or end of each compressed block; to partially decompress, in parallel, a selected compressed block into independent data, dependent (RLE) data, and linked dependent (RLE) data; to sequence the independent data, dependent (RLE) data, and linked dependent (RLE) data from a plurality of partial decompressions of a plurality of compressed blocks, to obtain data specified by the dependent (RLE) data and linked dependent (RLE) data, and to insert the obtained data into a corresponding location in an uncompressed file. The representative embodiments are also applicable to other types of data processing for applications having data dependencies.

Noniterative entropy coding
12119847 · 2024-10-15 · ·

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.

Compressing indices in a video stream

In one embodiment a system, apparatus, and method for optimizing index value lengths when indexing data items in an array of data items is described, the method including producing, at a first processor, an ordered series of index values, sending the ordered series of index values to an indexing processor, receiving, at the indexing processor, a data object including the array of data items, associating, at the indexing processor, a first part of one of the index values with a first one data item of the array of data items, associating, at the indexing processor, a second part of the one of the index values with a next one data item of the array of data items, repeating the steps of associating a first part of one of the index values and associating a second part of the one of the index values until all of the data items in the array of data items are indexed.

IMPROVED COMPRESSION AND/OR ENCRYPTION OF A FILE
20180131386 · 2018-05-10 · ·

A computing device (100), comprising a memory (240) and a controller (210) is provided. The controller (210) is configured to encrypt and/or compress a file (410) by transforming at least a portion of said file (410) to a number (X) and transforming the number (X) to an exponent vector (exp) comprising at least one exponent, wherein each exponent corresponds to a base in a base vector (base), whereby the file (410) is represented by the exponent vector (exp) and a family constant (F). The family constant (F) is configured to align the number (X) to be compressed and/or encrypted into a table family number (Ft), and the table family number (Ft) represents a number family which is evenly dividable with the number (X).

Efficient adaptive seismic data flow lossless compression and decompression method

An efficient adaptive seismic data flow lossless compression and decompression method, which aims at solving the problem that data occupies the storage space and affects the transmission efficiency and is used for efficiently compressing geophysical instrument data, particularly seismic data after 24-bit analog-to-digital conversion. In the method, a data flow is compressed in a lossless mode in real time, and sampling data is adaptively compressed into 1 byte or 2 bytes or 3 bytes from original 24 bits and 3 bytes in a coding manner. Besides the foregoing data ranges, other integers that can be expressed by other 24-bit integer data with symbols are required to be expressed by 4 bytes after being operated through a compression algorithm. The method has the advantages of saving a large amount of storage space and remarkably increasing the data transmission efficiency.

Systems and methods for data processing

The present disclosure provides a data processing system and method. The method may include obtaining preliminary data. The method may also include generating first encoded data by compressing the preliminary data in a first encoding procedure. The method may further include determining whether a compression ratio of the first encoded data is below a compression threshold. The method may still further include generating second encoded data by compressing the preliminary data in a second encoding procedure in response to determining that the compression ratio of the first encoded data is below the compression threshold, wherein the first encoding procedure and the second encoding procedure are lossless compressions.

Parallel Processing of Data Having Data Dependencies for Accelerating the Launch and Performance of Operating Systems and Other Computing Applications

Representative embodiments are disclosed for a rapid and highly parallel decompression of compressed executable and other files, such as executable files for operating systems and applications, having compressed blocks including run length encoded (RLE) data having data-dependent references. An exemplary embodiment includes a plurality of processors or processor cores to identify a start or end of each compressed block; to partially decompress, in parallel, a selected compressed block into independent data, dependent (RLE) data, and linked dependent (RLE) data; to sequence the independent data, dependent (RLE) data, and linked dependent (RLE) data from a plurality of partial decompressions of a plurality of compressed blocks, to obtain data specified by the dependent (RLE) data and linked dependent (RLE) data, and to insert the obtained data into a corresponding location in an uncompressed file. The representative embodiments are also applicable to other types of data processing for applications having data dependencies.

Parallel processing of data having data dependencies for accelerating the launch and performance of operating systems and other computing applications

Representative embodiments are disclosed for a rapid and highly parallel decompression of compressed executable and other files, such as executable files for operating systems and applications, having compressed blocks including run length encoded (RLE) data having data-dependent references. An exemplary embodiment includes a plurality of processors or processor cores to identify a start or end of each compressed block; to partially decompress, in parallel, a selected compressed block into independent data, dependent (RLE) data, and linked dependent (RLE) data; to sequence the independent data, dependent (RLE) data, and linked dependent (RLE) data from a plurality of partial decompressions of a plurality of compressed blocks, to obtain data specified by the dependent (RLE) data and linked dependent (RLE) data, and to insert the obtained data into a corresponding location in an uncompressed file. The representative embodiments are also applicable to other types of data processing for applications having data dependencies.

Partitional data compression

A system collects statistical data for a data page, divides the data page into parts, analyzes the data page and the statistical data, based on compression efficiency of one or more compression methods for each part of each page, to determine a compression method for each part of page, and compresses, based on the analyzing, the parts of the data page.