Patent classifications
H03M7/3077
Estimating an optimal ordering for data compression
A system orders a set of objects to be optimally compressed using techniques such as delta encoding which compress data by saving differences between sequential objects. In one embodiment, the system determines transition costs associated with transitioning from each object in the set to each other object in the set. The system determines an ordering of the objects that minimizes a total of all the transition costs and compresses the set in the determined order. In another embodiment, the system determines an estimated optimal ordering for data compression. The system extracts feature values from the objects and applies a projection function to the feature values to generate scalar representations of the objects, for example, by projecting the feature values onto a space filling curve. An ordering of the scalar values for the objects determines an ordering for compressing the objects.
FLOATING POINT DATA COMPRESSION/COMPRESSOR
A computer-implemented method includes reading at least two thirty two-bit floating point values, converting the at least two floating point values to at least two thirty two-bit unsigned integer values, and storing the at least two unsigned integer values serially in a memory location of a memory device. The computer-implemented method further includes parsing each of the at least two unsigned integer values into four bytes, and rearranging first bytes of the at least two unsigned integer values in series in a first memory location, second bytes of the at least two unsigned integer values in series in a second memory location, third bytes of the at least two unsigned integer values in series in a third memory location, and fourth bytes of the at least two unsigned integer values in series in a fourth memory location. The computer-implemented method further includes compressing the rearranged bytes.
Sorting network-based dynamic Huffman encoding method, apparatus and device
Provided is a dynamic Huffman encoding method based on a sorting network. Compared with traditional dynamic Huffman coding solutions, the method implements sorting on the basis of the sorting network, therefore the sorting process is not only stable, but also may ensure a stable sorting result; and moreover, sorting steps and related operations are simpler, thereby greatly simplifying the sorting and iteration processes, and thus the sorting efficiency is higher. In addition, the sorting process better facilitates program implementation and transplantation, and implementation of hardware and software may achieve good effects. In addition, the present disclosure further provides a dynamic Huffman coding apparatus and device based on a sorting network, and a readable storage medium, and the technical effects thereof correspond to the technical effects of the above method.
Image processing apparatus and method
The present disclosure relates to an image processing apparatus and a method that enable decoding of encoded data of an octree in various processing orders. The octree corresponding to point cloud data is encoded after the context is initialized for each layer of the octree. Further, a breadth-first order or a depth-first order is selected as the decoding order for the encoded data of the octree corresponding to point cloud data, and the encoded data is decoded in the selected decoding order. The present disclosure can be applied to an image processing apparatus, an electronic apparatus, an image processing method, a program, or the like, for example.
PARALLEL ENTROPY CODING
Methods and apparatuses are described to encoded data into a bitstream and to decode data from a bitstream. The method is able to perform parallel encoding and decoding efficiently and avoids padding of substreams thus reducing the amount of bits within the bitstream. Portions of input data channels are multiplexed and encoded into substreams. During the multiplexing shuffling methods are applied in order to obtain substreams of more uniform lengths. The amount of bits within the substream may be further reduced by including only the relevant significant bits within the trailing bits of the encoding process.
DATA COMPRESSION FOR COLUMNAR DATABASES INTO ARBITRARILY-SIZED PERSISTENT PAGES
A method for compressing columnar data may include generating, for a data column included in a data chunk, a dictionary enumerating, in a sorted order, a first set of unique values included in the first data column. A compression technique for generated a compressed representation of the data column having a fewest quantity of bytes may be identified based at least on the dictionary. The compression technique including a dictionary compression applying the dictionary and/or another compression technique. A compressed data chunk may be generated by applying the compression technique to compress the data column included in the data chunk. The compressed data chunk may be stored at a database in a variable-size persistent page whose size is allocated based on the size of the compressed representation of the data column. Related systems and articles of manufacture are also provided.
Systems and methods for version chain clustering
A system, a method and a computer program product for storing data, which include receiving a data stream having a plurality of transactions that include at least one portion of data, determining whether at least one portion of data within at least one transaction is substantially similar to at least another portion of data within at least one transaction, clustering together at least one portion of data and at least another portion of data within at least one transaction, selecting one of at least one portion of data and at least another portion of data as a representative of at least one portion of data and at least another portion of data in the received data stream, and storing each representative of a portion of data from each transaction in the plurality of transactions, wherein a plurality of representatives is configured to form a chain representing the received data stream.
Data compression with inline compression metadata
Techniques for handling data compression in which metadata that indicates which portions of data are compressed are which portions of data are not compressed are disclosed. Segments of a buffer referred to as block groups store compressed blocks of data along with uncompressed blocks of data and hash blocks. If a block group includes a block that is a hash of another block in the block group, then the other block is considered to be compressed. If the block group does not include a block that is a hash of another block in the block group, then the blocks in the block group are uncompressed. The hash function to generate the hash is selected to prevent collisions, which occur when the data being stored in the buffer is such that it is possible for a hash block and an uncompressed block to be the same.
ENHANCED IMAGE COMPRESSION WITH CLUSTERING AND LOOKUP PROCEDURES
An image encoder includes a processor and a memory. The memory includes instructions configured to cause the processor to perform operations. In one example implementation, the operations may include determining whether a dictionary item is available for replacing a block of an image being encoded, the determining based on a hierarchical lookup mechanism, and encoding the image along with reference information of the dictionary item in response to determining that the dictionary item is available. In one more example implementation, the operations may include performing principal component analysis (PCA) on a block to generate a corresponding projected block, the block being associated with a group of images, comparing the projected block with a corresponding threshold, descending the block recursively based on the threshold until a condition is satisfied, and identifying a left over block as a cluster upon satisfying of the condition.
Enhanced image compression with clustering and lookup procedures
An image encoder includes a processor and a memory. The memory includes instructions configured to cause the processor to perform operations. In one example implementation, the operations may include determining whether a dictionary item is available for replacing a block of an image being encoded, the determining based on a hierarchical lookup mechanism, and encoding the image along with reference information of the dictionary item in response to determining that the dictionary item is available. In one more example implementation, the operations may include performing principal component analysis (PCA) on a block to generate a corresponding projected block, the block being associated with a group of images, comparing the projected block with a corresponding threshold, descending the block recursively based on the threshold until a condition is satisfied, and identifying a left over block as a cluster upon satisfying of the condition.