Patent ID: 6674908
Filing Date: 2004-01-06
Classification: H03M

Abstract:
A method of binary data compression of a sequence of data values for transmission or storage, using a dictionary sequence for compressing a stream of data, comprising:a) generating an input numerical sequence comprising of samples of numerical equivalents, associated with the input binary sequence wherein said numerical equivalents have predetermined both a peak amplitude and a length; b) generating dictionary sequences of numerical samples utilizing random number generators with predetermined both a peak amplitude and a length; wherein said random number generators having a said peak amplitude an about similar as said peak amplitude of samples of said input numerical sequence; wherein said random number generators having said length sufficient to cover approximately multiple amplitudes of said input numerical sequence; c) generating a sequence of indexes having a value of positions of said numerical samples of said dictionary sequences in said dictionary sequences by utilizing an addressable memory area; d) selecting a best dictionary sample having a shortest distance between said numerical sample of said dictionary sequences and said input numerical sample for said input numerical sequence; e) generating a sequence of said indexes of said best dictionary samples; f) generating a protocol with a sequence of both predetermined and calculated parameters of said input numerical and dictionary sequences, comprising: said lengths of both said input numerical and dictionary sequences, said peak amplitude of said input numerical sequence, the seeds of said random number generators; g) generating output sequence comprising: said shortest distances, said indexes of corresponding dictionary samples, having said shortest distances, and said protocol; thereby providing reversible transforming of the input random binary data with a small number of repetitions to said output sequence comprising a sequence having small amplitude and many repetitions; h) performing compression for said output sequence; i) selecting a method of said compression from a list comprising: Lempel-Ziv type dictionary compression, statistical coding, decorrelation, memory cells packing, according to one or more criteria, selected based on a particular application; whereby providing losseless compression of a random said input binary sequence with a calculated random said dictionary sequence, approximately matching said input numerical sequence.