Patent classifications
H03M7/405
METHODS AND DEVICES FOR ENTROPY CODING POINT CLOUDS
Methods and devices for encoding a point cloud. A current node associated with a sub-volume is split into further sub-volumes, each further sub-volume corresponding to a child node of the current node, and, at the encoder, an occupancy pattern is determined for the current node based on occupancy status of the child nodes. A probability distribution is selected from among a plurality of probability distributions based on occupancy data for a plurality of nodes neighbouring the current node. The encoder entropy encodes the occupancy pattern based on the selected probability distribution to produce encoded data for the bitstream and updates the selected probability distribution. The decoder makes the same selection based on occupancy data for neighbouring nodes and entropy decodes the bitstream to reconstruct the occupancy pattern.
SYSTEM AND METHOD FOR DATA COMPACTION UTILIZING MISMATCH PROBABILITY ESTIMATION
A system and method for encoding data utilizing mismatch probability estimates. A training data set can be statistically analyzed to calculate a mismatch probability estimate which is the estimated frequency at which a data packet received during system runtime is not part of (i.e., a mismatch) the training data set. A plurality of tokens may be created, based on the mismatch probability estimate, to represent potential mismatched data that may be encountered during runtime, and an entropy encoder may generate codewords for the tokens using the mismatch probability estimate. An opcode, indicating a mismatch, may be generated and appended to the generated codewords to form a mismatch codeword. During runtime when a mismatch occurs, the system can retrieve a mismatch codeword and assign it to the mismatched data, making the encoder system robust against previously unencountered data.
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.
System and method for data compaction and security using multiple encoding algorithms
A system and method for encoding data using a plurality of encoding libraries. Portions of the data are encoded by different encoding libraries, depending on which library provides the greatest compaction for a given portion of the data. This methodology not only provides substantial improvements in data compaction over use of a single data compaction algorithm with the highest average compaction, but provides substantial additional security in that multiple decoding libraries must be used to decode the data. In some embodiments, each portion of data may further be encoded using different sourceblock sizes, providing further security enhancements as decoding requires multiple decoding libraries and knowledge of the sourceblock size used for each portion of the data. In some embodiments, encoding libraries may be randomly or pseudo-randomly rotated to provide additional security.
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.
SYSTEMS, METHODS AND DEVICES FOR ELIMINATING DUPLICATES AND VALUE REDUNDANCY IN COMPUTER MEMORIES
A computer memory compression method involves analyzing computer memory content with respect to occurrence of duplicate memory objects as well as value redundancy of data values in unique memory objects. The computer memory content is encoded by eliminating the duplicate memory objects and compressing each remaining unique memory object by exploiting data value locality of the data values thereof. Metadata is provided to represent the memory objects of the encoded computer memory content. The metadata reflects eliminated duplicate memory objects, remaining unique memory objects as well as a type of compression used for compressing each remaining unique memory object. A memory object in the encoded computer memory content is located using the metadata.
SYSTEMS AND METHODS OF DATA COMPRESSION
There is provided a computer-implemented method of compressing a baseline dataset, comprising: creating a weight function that calculates a weight for each instance of each unique data elements in the baseline dataset, as a function of sequential locations of each of the instances of each respective unique data element within the baseline dataset, creating an output dataset storing a codeword for each one of the unique data elements, wherein codewords are according to a compression rule defining data elements associated with a relatively higher weight as being associated with codewords that are relatively shorter, dynamically creating the compressed dataset by sequentially iterating, for each current sequential location of the baseline dataset: determining an encoded data element mapped to the respective data element of the current sequential location according to the weight function, and adjusting the codewords of the output dataset according to the current weights to maintain the compression rule.
Double-pass Lempel-Ziv data compression with automatic selection of static encoding trees and prefix dictionaries
A method includes receiving an input data stream at a processor, and for each byte sequence from a plurality of byte sequences of the input data stream, a hash is generated and compared to a hash table to determine whether a match exists. If a match exists, that byte sequence is incrementally expanded to include one or more additional adjacent bytes from the input data stream, to produce multiple expanded byte sequences. Each of the expanded byte sequences is compared to the hash table to identify a maximum-length matched byte sequence from a set that includes the byte sequence and the plurality of expanded byte sequences. A representation of the maximum-length matched byte sequence is stored in the memory. If a match does not exist, a representation of that byte sequence is stored as a byte sequence literal in the memory.
APPARATUS AND METHOD FOR PROVIDING AUTHENTICATION, NON-REPUDIATION, GOVERNED ACCESS AND TWIN RESOLUTION FOR DATA UTILIZING A DATA CONTROL SIGNATURE
A non-transitory computer readable storage medium has instructions executed by processors to receive an original collection of symbols at a first machine operative as a coding machine in a network. The original collection of symbols is conveyed via the network from a second machine operative as a client machine in the network. A single use coding function is applied at the first machine to the original collection of symbols to form a new collection of symbols. The first machine subsequently applies a different single use coding function to the original collection of symbols to form a different new collection of symbols recoverable as the original collection of symbols. Encryption keys associated with a user of the client machine are formed and conveyed via the network to a client wallet on the second machine. The new collection of symbols is encrypted to form a recoded encrypted symbol file. A lossless compression function is applied to the encrypted symbol file to form a compressed file with a bit size less than or equal to a bit size of the encrypted symbol file. The compressed file is conveyed via the network to a third machine for storage. A distributed ledger entry is formed with a hash of the compressed file. The distributed ledger entry is written to a fourth machine in the network, where the fourth machine is a node in a distributed ledger. The distributed ledger entry at the fourth machine is accessed. The compressed file is read from the third machine. The data control signature formed using the single use coding function encrypted with the private key and a symmetric key is utilized to convert the compressed file to the original collection of symbols.
Methods and Devices for Binary Entropy Coding of Point Clouds
Methods and devices for encoding a point cloud. A bit sequence signalling an occupancy pattern for sub-volumes of a volume is coded using binary entropy coding. For a given bit in the bit sequence, a context may be based on a sub-volume neighbour configuration for the sub-volume corresponding to that bit. The sub-volume neighbour configuration depends on an occupancy pattern of a group of sub-volumes of neighbouring volumes to the volume, the group of sub-volumes neighbouring the sub-volume corresponding to the given bit. The context may be further based on a partial sequence of previously-coded bits of the bit sequence.