H03M7/4093

Multiple symbol decoder
10917110 · 2021-02-09 · ·

An electronic device for decompressing compressed data includes a decoding subsystem having a symbol decoder and a second symbol resolver with a number of local symbol decoders and a symbol selector. The symbol decoder decodes a first symbol from a first code for which a symbol is available in a block of the compressed data and communicates a length of the code to the second symbol resolver. Each local symbol decoder, substantially in parallel with the decoding of the first symbol in the symbol decoder, decodes a respective symbol from a first code for which a symbol is available in a respective sub-block of the block of the compressed data. The second symbol resolver selects, as a second symbol, based on the length received from the symbol decoder, one of the respective symbols from the local symbol decoders. The decoding subsystem then provides the first and second symbols.

SYSTEM, APPARATUS AND METHOD FOR DATA COMPACTION AND DECOMPACTION
20210076047 · 2021-03-11 · ·

A system, an apparatus and a method for encoding data are provided. The method includes: (a) compressing the data to generate a first compressed data according to a compression configuration; (b) compacting the data to generate a first compacted data according to a compaction configuration; (c) determining whether the first compressed data satisfy a target condition; and (d) selecting the first compressed data if the first compressed data satisfy the target condition, and selecting the first compacted data if the first compressed data fail to satisfy the target condition. The compression configuration has variable compression ratios. The compaction configuration has a predetermined compaction ratio.

SYSTEM, APPARATUS AND METHOD FOR DATA COMPACTION AND DECOMPACTION
20210076048 · 2021-03-11 · ·

A system, an apparatus and a method for encoding data are provided. The method includes (a) receiving encoded data; (b) determining a type of encoding scheme of the encoded data; (c) if the encoded data is determined as a first type of encoding scheme, decompressing the encoded data; and (d) if the encoded data is determined as a second type of encoding scheme different from the first type of encoding scheme, decompacting the encoded data. The first type of encoding scheme has a variable compression ratio. The second type of encoding scheme has a predetermined compaction ratio.

System, Apparatus and Method for Data Compaction and Decompaction
20210075440 · 2021-03-11 · ·

A system includes a transmission bus and an encoding module. The encoding module is connected to the transmission bus. The encoding module includes a first encoding unit, a second encoding unit and a selection unit. The first encoding unit is configured to convert data into a first compressed data by adopting a compression configuration having variable compression ratios. The second encoding unit is configured to convert the data into a first compacted data by adopting a compaction configuration having a predetermined compaction ratio. The selection unit is connected to the first encoding unit and the second encoding unit and configured to select the first compressed data to be transmitted to the transmission bus if the first compressed data satisfy a target condition, and to select the first compacted data to be transmitted to the transmission bus if the first compressed data fail to satisfy the target condition.

Compression and decompression engines and compressed domain processors
10951231 · 2021-03-16 · ·

Compressed domain processors configured to perform operations on data compressed in a format that preserves order. The Compressed domain processors may include operations such as addition, subtraction, multiplication, division, sorting, and searching. In some cases, compression engines for compressing the data into the desired formats are provided.

Symbol pair encoding for data compression

Methods, apparatuses, and computer-readable media for compressing data for storage or transmission. Input data is compressed in a first stage utilizing a first compression algorithm and the frequencies of occurrence of symbols and symbol pairs in the output from the first stage is calculated. The output from the first stage is then encoded to a final compressed bit string in a second stage utilizing a second compression algorithm based on the calculated frequencies of occurrence of the symbols and the symbol pairs.

STREAM DECOMPRESSION CIRCUIT
20210218415 · 2021-07-15 ·

A stream decompression circuit is disclosed. The stream decompression circuit includes a coding length first-in-first-out (FIFO) and a calculation circuit. The coding length FIFO is coupled to a variable length coding (VLC) circuit and used to store a coding length that the VLC circuit codes sub-streams and output a specific number of bits when the coding length accumulates over the specific number of bits. The calculation circuit is coupled between the coding length FIFO and a multiplexer circuit and used to calculate a number of bits required for decompression and output an output multiplex control signal to the multiplexer circuit to control the multiplexer circuit to output the sub-streams according to a specific order.

Bit string compression
10903849 · 2021-01-26 · ·

Systems, apparatuses, and methods related to bit string compression are described. A method for bit string compression can include determining that a particular operation is to be performed using a bit string formatted according to a universal number format or a posit format to alter a bit width associated with the bit string from a first bit width to a second bit width and performing a compression operation on a bit string formatted according to a universal number format or a posit format to alter a bit width associated with the bit string from a first bit width to a second bit width. The method can further include writing the bit string having the second bit width to a first register, performing an arithmetic operation or a logical operation, or both using the bit string having the second bit string width, and monitoring a quantity of bits of a result of the operation.

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.

FEATURES OF RANGE ASYMMETRIC NUMBER SYSTEM ENCODING AND DECODING

Innovations in range asymmetric number system (RANS) coding and decoding are described herein. Some of the innovations relate to hardware implementations of RANS decoding that organize operations in two phases, which can improve the computational efficiency of RANS decoding. Other innovations relate to adapting RANS encoding/decoding for different distributions or patterns of values for symbols. For example, RANS encoding/decoding can adapt by switching a default symbol width (the number of bits per symbol), adjusting symbol width on a fragment-by-fragment basis for different fragments of symbols, switching between different static probability models on a fragment-by-fragment basis for different fragments of symbols, and/or selectively flushing (or retaining) the state of a RANS decoder on a fragment-by-fragment basis for different fragments of symbols. In many cases, such innovations can improve compression efficiency while also providing computationally efficient performance.