Permutation-based coding for data storage and data transmission
AssigneeUse-256 B.V.
InventorJohannes Gerardus DE FROE
Life of this patent
Estimating the term…
Loading patent…
AssigneeUse-256 B.V.
InventorJohannes Gerardus DE FROE
Estimating the term…
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.
A method of encoding data by an encoding apparatus, the method comprising:
(canceled)
A method of decoding a data key by a decoding apparatus, the data key being encoded by an encoder apparatus based on a first dictionary of permutation indices and a first permutation function, the method comprising:
An encoding apparatus comprising:
(canceled)
A decoding apparatus comprising:
Dependencies are inferred from the claim text.