H03M7/405

File compression system

Examples of the disclosure describe systems and methods for implementing a file compression system. In an example method, a source string to be compressed is received. The source string comprises a plurality of characters. A first frequency is determined for each character of the plurality of characters of the source string. A first tree corresponding to the source string is determined based on the first frequencies. The source string is encoded using the first tree to generate a first encoded string. It is determined whether a total number of bits in the first encoded string is a multiple of eight. In accordance with a determination that the total number of bits in the first encoded string is not a multiple of eight, the first encoded string is appended with zeroes so that a new total number of bits in the first encoded string is a multiple of eight. In accordance with a determination that the total number of bits in the first encoded string is a multiple of eight, the method forgoes appending the first encoded string with zeroes. The first encoded string is divided into one or more eight-bit segments and a placeholder character is assigned to each eight-bit segment. A second frequency for each of the placeholder characters in the first encoded string is determined. A second tree corresponding to the first encoded string is determined based on the second frequencies. The first encoded string is encoded using the second tree to generate a second encoded string.

Generating compressed representations of sorted arrays of identifiers

A method includes obtaining an array of sorted identifiers to be stored in a designated portion of a memory of a given computing system, determining a segment size for splitting elements of the array into a plurality of segments, splitting the array into the plurality of segments based at least in part on the determined segment size, and compressing the plurality of segments to create a plurality of compressed segments. The method also includes generating a balanced binary search tree comprising a plurality of nodes each identifying a range of elements of the array corresponding to a given one of the segments and comprising a pointer to a given compressed segment corresponding to the given segment. The method further includes maintaining the balanced binary search tree and the compressed segments in the designated portion of the memory, and processing queries to the array utilizing the balanced binary search tree.

Deflate compression using sub-literals for reduced complexity Huffman coding

An input sequence that has a plurality of bits is received where the input sequence is associated with a first section of data within a compressed block. The plurality of bits in the input sequence are divided into a first sub-sequence comprising a first set of bits and a second sub-sequence comprising a second set of bits. The first sub-sequence is encoded using a first Huffman code tree to obtain a first codeword and the second sub-sequence is encoded using a second Huffman code tree to obtain a second codeword. Encoded data that includes information associated with the first Huffman code tree, information associated with the second Huffman code tree, the first codeword, and the second codeword is output.

COMPRESSING DEVICE AND METHOD USING PARAMETERS OF QUADTREE METHOD

A device configured to compress a tensor including a plurality of cells includes: a quadtree generator configured to generate a quadtree searching for a non-zero cell included in the tensor and extract at least one parameter value from the quadtree; a mode selector configured to determine a compression mode based on the at least one parameter; and a bitstream generator configured to generate a bitstream by compressing the tensor based on the compression mode.

Methods and Devices for Binary Entropy Coding of Point Clouds
20210343046 · 2021-11-04 ·

Methods and devices for encoding or decoding a point cloud. A bit sequence signaling an occupancy pattern for sub-volumes of a volume is coded using entropy coding. For a current sub-volume, probabilities of respective entropy coders for entropy coding the occupancy pattern may be selected based on occupancy data for a plurality of neighbouring sub-volumes of the current sub-volume and on occupancy data for subdivisions of the neighbouring sub-volumes.

System and method for secure, fast communications between processors on complex chips

A system and method for fast communication between processors on complex chips using encoding, wherein a training data set is used to find patterns and associated smaller indices, or codewords, which are stored in a reference codebook library, and where reconstruction and deconstruction algorithms are used to encode and decode data as it is received. The codebook and algorithms may be stored in the firmware of a semiconductor which enable reduced resources and cost when transmitting data between or among devices that utilize such semiconductors.

DATA DECOMPRESSION DEVICE, MEMORY SYSTEM, AND DATA DECOMPRESSION METHOD
20230291418 · 2023-09-14 ·

According to one embodiment, a data decompression device decodes a code included in compressed data into a symbol. The data decompression device includes a first code length generation unit and a second code length generation unit. The first code length generation unit generates a first code length of a first code included in the compressed data by arithmetic calculation. The second code length generation unit generates a second code length of a second code by using a table. The second code is included in the compressed data. The second code is subsequent to the first code. The table indicates at least the first code and the second code length that is associated with the first code.

COMPRESSION CIRCUITS AND METHODS USING TREE BASED ENCODING OF BIT MASKS
20230283296 · 2023-09-07 ·

Embodiments of the present disclosure include techniques for compressing data using a tree encoded bit mask that may result in higher compression ratios. In one embodiment, an input vector having a plurality of values is received by a first plurality of switch circuits. Selection of the input values is controlled by sets of bits from the bit mask. The sets of bits specify locations of portions of the input vector where particular value of interest reside. The switch circuits output multiple values of the input vector, which include the particular value of interest. A second stage of switch circuits is controlled by logic circuit that detects values on the outputs of the first stage of switch circuits and outputs the values of interest. In some embodiments, the values of interest may be non-zero values of a sparse input vector, and the switch circuits may be multiplexers.

CODE TABLE GENERATION DEVICE, MEMORY SYSTEM, AND CODE TABLE GENERATION METHOD
20230283295 · 2023-09-07 ·

According to one embodiment, a code table generation device includes a table generation unit, a merge unit and a tree generation unit. The table generation unit generates a frequency table including symbols and frequencies of occurrence respectively associated with the symbols, based on a frequency of occurrence for each symbol of input symbols. The merge unit acquires top K symbols in descending order of the frequencies of occurrence and remaining symbols from the symbols, divides the remaining symbols into one or more symbol sets, and determines a frequency of occurrence associated with a root node of each of subtrees correspond to the respective symbol sets. The tree generation unit generates a Huffman tree using the K symbols and the root node of each of the subtrees.

Searching compression profiles for trained neural networks

Compression profiles may be searched for trained neural networks. An iterative compression profile search may be performed response to a search request. Different prospective compression profiles may be generated for trained neural networks according to a search policy. Performance of compressed versions of the trained neural networks according to the compression profiles may be tracked. The search policy may be updated according to an evaluation of the performance of the compression profiles for the compressed versions of the trained neural networks using compression performance criteria. When a search criteria is satisfied, a result for the compression profile search may be provided.