H03M7/3066

Dynamic clustering-based data compression

Methods, systems, and techniques for data compression. A cluster fingerprint of an uncompressed data block is determined to correspond to a cluster fingerprint of a base block stored in a base array. This determining involves looking up the cluster fingerprint of the first base block from the base array using the cluster fingerprint of the first uncompressed data block. The difference between the uncompressed data block and the base block is determined, and a compressed data block is encoded using this difference. The compressed data block is then stored in a data array.

COMPRESSING/DECOMPRESSING FREQUENCY DOMAIN SIGNALS
20170237831 · 2017-08-17 ·

Various communication systems may benefit from improved bandwidth compression techniques. For example, certain communication systems may benefit from a radio fronthaul traffic compression on a frequency domain data. A method can include identifying a composite waveform corresponding to a real component and an imaginary component of a frequency domain data at a first device. The method may also include causing a transmission of a value that represents the composite waveform to a second device from the first device.

Data compression method and apparatus, and computer readable storage medium
11398832 · 2022-07-26 · ·

A data compression method, comprising: obtaining a plurality of values of a parameter and an occurrence probability of each of the plurality of values (S101) comparing the occurrence probability with a predetermined threshold, wherein values with the occurrence probability less than the predetermined threshold are first set of values, and values with the occurrence probability greater than or equal to the predetermined threshold are second set of values (S102), performing pretreatment on the first set of values (S103), and encoding the second set of values and the pretreated first set of values (S104). By means of the data compression method, the maximum codeword length can be effectively reduced, so as to reduce the requirements of a code table to the storage space.

METHODS AND APPARATUS FOR SPARSE TENSOR STORAGE FOR NEURAL NETWORK ACCELERATORS

Methods, apparatus, systems and articles of manufacture are disclosed for sparse tensor storage for neural network accelerators. An example apparatus includes sparsity map generating circuitry to generate a sparsity map corresponding to a tensor, the sparsity map to indicate whether a data point of the tensor is zero, static storage controlling circuitry to divide the tensor into one or more storage elements, and a compressor to perform a first compression of the one or more storage elements to generate one or more compressed storage elements, the first compression to remove zero points of the one or more storage elements based on the sparsity map and perform a second compression of the one or more compressed storage elements, the second compression to store the one or more compressed storage elements contiguously in memory.

Mixed-precision compression with random access
11211944 · 2021-12-28 · ·

A data compressor includes a zero-value remover, a zero bit mask generator and a non-zero values packer. The zero-value remover receives 2.sup.N bit streams of values and outputs 2.sup.N non-zero-value bit streams having zero values removed from each respective bit stream based on a selected granularity of compression for values contained in the bit streams. The zero bit mask generator receives the 2.sup.N bit streams of values and generates a zero bit mask corresponding to the selected granularity of compression. Each zero bit mask indicates a location of a zero value based on the selected granularity of compression. The non-zero values packer receives the 2.sup.N non-zero-value bit streams and forms at least one first group of packed non-zero values.

CHANNEL-PARALLEL COMPRESSION WITH RANDOM MEMORY ACCESS
20210399740 · 2021-12-23 ·

A data compressor a zero-value remover, a zero bit mask generator, a non-zero values packer, and a row-pointer generator. The zero-value remover receives 2.sup.N bit streams of values and outputs 2.sup.N non-zero-value bit streams having zero values removed from each respective bit stream. The zero bit mask generator receives the 2.sup.N bit streams of values and generates a zero bit mask for a predetermined number of values of each bit stream in which each zero bit mask indicates a location of a zero value in the predetermined number of values corresponding to the zero bit mask. The non-zero values packer receives the 2.sup.N non-zero-value bit streams and forms a group of packed non-zero values. The row-pointer generator that generates a row-pointer for each group of packed non-zero values.

Power-efficient deep neural network module configured for parallel kernel and parallel input processing

A deep neural network (DNN) module utilizes parallel kernel and parallel input processing to decrease bandwidth utilization, reduce power consumption, improve neuron multiplier stability, and provide other technical benefits. Parallel kernel processing enables the DNN module to load input data only once for processing by multiple kernels. Parallel input processing enables the DNN module to load kernel data only once for processing with multiple input data. The DNN module can implement other power-saving techniques like clock-gating (i.e. removing the clock from) and power-gating (i.e. removing the power from) banks of accumulators based upon usage of the accumulators. For example, individual banks of accumulators can be power-gated when all accumulators in a bank are not in use, and do not store data for a future calculation. Banks of accumulators can also be clock-gated when all accumulators in a bank are not in use, but store data for a future calculation.

Data compressor, data decompressor, and data compression/decompression system

A technique to prevent a retrieving process of a conversion rule from taking a longer time is provided. Provided are a conversion table in which a predetermined number of entry regions capable of storing a mapping between first data and second data smaller in size than the first data are included, the predetermined number of entry regions are divided into a plurality of bank regions, and each of the plurality of bank regions includes entry regions smaller in number than the predetermined number, a determination unit configured to uniquely determine, among the plurality of bank regions, a bank region corresponding to the first data, and a processing unit configured to search entry regions of the determined bank region the predetermined number of times each or a smaller number of times than the predetermined number each, output, when the second data corresponding to the first data is stored, the second data, and when the second data corresponding to the first data is not stored, register the second data corresponding to the first data in an entry region in which another piece of second data is not stored and output the first data.

Employing a protected key in performing operations

A select processor obtains a request to perform a requested operation. The request includes encrypted data and a protected key. The protected key is to be used by the select processor on behalf of an entity unauthorized to use the protected key. The encrypted data is decrypted using the protected key to obtain decrypted data. The requested operation is performed on the decrypted data to obtain resulting data. The resulting data is encrypted (e.g., using the protected key) to obtain encrypted resulting data. The encrypted resulting data is provided to a requestor of the request.

SCATTERED GEOMETRY COMPRESSION FOR RAY TRACING ACCELERATION STRUCTURES
20220198741 · 2022-06-23 ·

In examples, a list of elements may be divided into spans and each span may be allocated a respective memory range for output based on a worst-case compression ratio of a compression algorithm that will be used to compress the span. Worker threads may output compressed versions of the spans to the memory ranges. To ensure placement constraints of a data structure will be satisfied, boundaries of the spans may be adjusted prior to compression. The size allocated to a span (e.g., each span) may be increased (or decreasing) to avoid padding blocks while allowing for the span's compressed data to use a block allocated to an adjacent span. Further aspects of the disclosure provide for compaction of the portions of compressed data in memory in order to free up space which may have been allocated to account for the memory gaps which may result from variable compression ratios.