H03M7/6011

GUARANTEED DATA COMPRESSION USING REDUCED BIT DEPTH DATA
20220158653 · 2022-05-19 ·

A method of data compression in which the total size of the compressed data is determined and based on that determination, the bit depth of the input data may be reduced before the data is compressed. The bit depth that is used may be determined by comparing the calculated total size to one or more pre-defined threshold values to generate a mapping parameter. The mapping parameter is then input to a remapping element that is arranged to perform the conversion of the input data and then output the converted data to a data compression element. The value of the mapping parameter may be encoded into the compressed data so that it can be extracted and used when subsequently decompressing the data.

Compression device and decompression device

According to one embodiment, an interleaving unit divides a symbol string into first and second symbols. A first coding unit converts the first symbols to first codewords. A first packet generating unit generates first packets including the first codewords. A first request generating unit generates first packet requests including sizes of variable length packets. A second coding unit converts the second symbols to second codewords. A second packet generating unit generates second packets including the second codewords. A second request generating unit generates second packet requests including sizes of variable length packets. A multiplexer outputs a compressed stream including the first and second variable length packets cut out from the first and second packets.

DYNAMIC SEQUENCING OF DATA PARTITIONS FOR OPTIMIZING MEMORY UTILIZATION AND PERFORMANCE OF NEURAL NETWORKS

Optimized memory usage and management is crucial to the overall performance of a neural network (NN) or deep neural network (DNN) computing environment. Using various characteristics of the input data dimension, an apportionment sequence is calculated for the input data to be processed by the NN or DNN that optimizes the efficient use of the local and external memory components. The apportionment sequence can describe how to parcel the input data (and its associated processing parameters—e.g., processing weights) into one or more portions as well as how such portions of input data (and its associated processing parameters) are passed between the local memory, external memory, and processing unit components of the NN or DNN. Additionally, the apportionment sequence can include instructions to store generated output data in the local and/or external memory components so as to optimize the efficient use of the local and/or external memory components.

PERMUTATION-BASED CODING FOR DATA STORAGE AND DATA TRANSMISSION
20220149865 · 2022-05-12 · ·

Methods of encoding and decoding data are described wherein the encoding method comprises: receiving a data file and dividing the data file or data stream into one or more data blocks, each data block having a predetermined size N and comprising a sequence of data units, e.g. byte values; and, iteratively encoding the data file into a data key based on a first permutation function and a first dictionary of permutation indices, preferably the encoded data file having a total size that is equal to or smaller than the original data file and preferably the data key having a size that is equal to or smaller than size of a data block. Iteratively encoding the data file comprises one or more encoding iterations, wherein each encoding iteration includes: determining a first permutation index defining a permutation to generate the first input data block from a first ordered data block, the generating including providing at least the first input data block to an input of the first permutation function, and the first ordered data block being obtainable by ordering the first input data block; determining a first permutation dictionary index representing a location in the first dictionary in which the first permutation index is stored; generating a first frequency data block defining the number of occurrences for each potential data value in the input data block, preferably determining the number of occurrences for each potential data value in the input data block and ordering the determined occurrences in a sequence of values in a hierarchical order, e.g. increasing or decreasing order of the data value; processing the frequency data block; and determining an encoded data block, the encoded data block comprising the first permutation dictionary index and the processed frequency data block. The encoding method further comprises outputting the data key comprising the one or more encoded data blocks and, optionally, iteration information.

Adaptive loop filter signalling

Example techniques are described for coding video data by obtaining a block of video data, obtaining an adaptive parameter set, determining a set of adaptive loop filter parameters for a plurality of filters for the block of video data based on the adaptive parameter set, wherein a plurality of adaptive loop parameters of the set of adaptive loop filter parameters are signaled using the same signaling parameter for each of the plurality of filters of the adaptive parameter set, and coding the block of video data using the set of adaptive loop filter parameters. The example techniques can be performed as part of an encoding or decoding process and/or by an encoder or a decoder.

System and method for multiple pass data compaction utilizing delta encoding

The inventor has conceived, and reduced to practice, a system and method for data compaction using that applies delta encoding methods to entropy encoding methods to improve data compaction of entropy encoding methods under certain conditions and when compacting data having certain characteristics. Delta encoding may be applied to entropy encoding methods to further compact data sets by reducing the number of sourceblocks included in a codebook to those most commonly encountered in data to be encoded and, where mismatches occur during encoding, using delta encoding of bit differences with existing sourceblocks in the codebook rather than adding new sourceblocks to the codebook.

QUALITY SCORE COMPRESSION
20220139502 · 2022-05-05 ·

Methods, systems, and computer programs for compressing nucleic acid sequence data. A method can include obtaining nucleic acid sequence data representing: (i) a read sequence, and (ii) a plurality of quality scores, determining whether the read sequence includes at least one “N” base, based on a determination that the read sequence does not include at least one “N” base, generating a first encoded data set by using a first encoding process to encode each of the quality scores of the read sequence using a base-(x minus 1) number, where x is an integer representing a number of different quality scores used by the nucleic acid sequencing device, and using a second encoding process to encode the first encoded data set, thereby compressing the data to be compressed.

LOCALLY VARYING NUMERICAL RANGES FOR DATA COMPRESSION

Data compression techniques are described for saving memory space by using fewer bits to store information while achieving high fidelity. A data set may be partitioned into a plurality of regions. Locally varying numerical ranges of data values (e.g., the minimum and maximum extents) may be determined for the plurality of regions. The data in the individual regions may be encoded using a lower number of bits as interpolation values in reference to the local extents rather than being encoded using a higher number of bits as absolute values. Where there are multiple channels of data in the regions, the number of available bits for encoding the data may be dynamically allocated per region based on the relative degrees of variance in data among the multiple channels.

ReLU COMPRESSION TO REDUCE GPU MEMORY
20220140841 · 2022-05-05 ·

A method is presented for compressing data of a Rectified Linear Unit (ReLU) function on a graphical processing unit (GPU) employed in a learning process of a deep neural network. The method includes converting an initial data structure including nonzero data and zero data into a compressed data structure including only the nonzero data of the initial data structure as compressed data by generating a nonzero data bitmap region, generating a nonzero data number table region by employing a parallel reduction algorithm, calculating a nonzero data array index per block region of all blocks from the nonzero data number table region by employing a parallel prefix sum scan algorithm, allocating a buffer for the compressed data; and copying the nonzero data from the initial data structure into a nonzero data array region in a compressed data format in parallel.

Additional compression for existing compressed data
11728827 · 2023-08-15 · ·

Techniques are provided for implementing additional compression for existing compressed data. Format information stored within a data block is evaluated to determine whether the data block is compressed or uncompressed. In response to the data block being compressed according to a first compression format, the data block is decompressed using the format information. The data block is compressed with one or more other data blocks to create compressed data having a second compression format different than the first compression format.