Data compression method and apparatus for waveforms having recurring features
First Claim
1. A method of compressing an input sequence of data items produced by sampling a periodic waveform, the method comprising the steps of:
- a) searching a First History Buffer operable to store consecutive data items, to locate a stored sequence of consecutive data items matching said input sequence, said matching occurring when each data item in said input sequence is within non-equal upper and lower limits of its corresponding data item in said stored sequence; and
b) when a stored sequence matching said input sequence is located, producing compressed output data representing said stored sequence and storing said stored sequence in the First History Buffer to succeed the data items already in said First History Buffer; and
c) when a stored sequence matching said input sequence is not located, producing uncompressed output data including a representation of the first data item in said input sequence and storing said first data item in the First History Buffer to succeed the data items already stored in said First History Buffer.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method for compressing an input sequence of data items produced by sampling a periodic waveform compresses such input sequence by searching a history buffer operable to store consecutive data items, to locate a stored sequence of consecutive data items matching the input sequence. Matching is deemed to occur when each data item in the input sequence is within non-equal upper and lower limits of its corresponding data item in the stored sequence. When a stored sequence matching the input sequence is located compressed output data is produced to represent the stored sequence and the stored sequence is again stored in the history buffer to succeed the data items already stored therein. When a stored sequence matching the input sequence is not located, a representation of the first data item in the input sequence is produced and the first data item is stored in the history buffer to succeed the data items already stored therein. In addition, there is disclosed a system employing the above compression method in combination with a decompression method.
-
Citations
53 Claims
-
1. A method of compressing an input sequence of data items produced by sampling a periodic waveform, the method comprising the steps of:
-
a) searching a First History Buffer operable to store consecutive data items, to locate a stored sequence of consecutive data items matching said input sequence, said matching occurring when each data item in said input sequence is within non-equal upper and lower limits of its corresponding data item in said stored sequence; and b) when a stored sequence matching said input sequence is located, producing compressed output data representing said stored sequence and storing said stored sequence in the First History Buffer to succeed the data items already in said First History Buffer; and c) when a stored sequence matching said input sequence is not located, producing uncompressed output data including a representation of the first data item in said input sequence and storing said first data item in the First History Buffer to succeed the data items already stored in said First History Buffer. - View Dependent Claims (2, 3, 4, 5, 6, 9, 12, 13, 14)
-
- 7. A method, as claimed in 1, wherein the step of producing said compressed output data includes identifying the position of said stored sequence in said First History Buffer and identifying the length of said stored sequence.
-
10. An apparatus for compressing an input sequence of data items produced by sampling a periodic waveform, the apparatus including:
-
a) a First History Buffer operable to store consecutive data items in stored sequences; b) searching means for searching said First History Buffer to locate a stored sequence of consecutive data items matching said input sequence, said matching occurring when each data item in said input sequence is within non-equal upper and lower limits of its corresponding data item in said stored sequence; c) compressed output producing means for producing compressed output data representing said stored sequence when a stored sequence matching said input sequence is located; d) storing means for storing said stored sequence represented by said compressed output data, in the First History Buffer, to succeed the data items already in said First History Buffer; e) data output producing means for producing uncompressed output data including a representation of the first data item in said input sequence when a stored sequence matching said input sequence is not located; and f) storing means for storing said first data item in the First History Buffer to succeed the data items already stored in said First History Buffer. - View Dependent Claims (11, 19)
-
- 15. An apparatus as claimed in claim 1O further including determining means for determining the length of a longest stored sequence of data items which matches said input sequence, said compressed output data item representing said longest stored sequence.
- 17. An apparatus, as claimed in 10, wherein said compressed output data representing said stored sequence includes position data identifying the position of said stored sequence in said First History Buffer and length data identifying the length of said stored sequence.
-
20. An apparatus for compressing an input sequence of data items produced by sampling a periodic waveform, the apparatus including:
-
a) a First History Buffer operable to store consecutive data items in stored sequences; b) processing means for; i) searching said First History Buffer to locate a stored sequence of consecutive data items matching said input sequence, said matching occurring when each data item in said input sequence is within non-equal upper and lower limits of its corresponding data item in said stored sequence; and ii) when a stored sequence matching said input sequence is located, producing compressed output data representing said stored sequence and storing said stored sequence in the First History Buffer to succeed the data items already in said First History Buffer; and iii) when a stored sequence matching said input sequence is not located, producing uncompressed output data including a representation of the first data item in said input sequence and storing said first data item in the First History Buffer to succeed the data items already stored in said First History Buffer. - View Dependent Claims (21, 22, 23)
-
-
24. A method of handling input sequences of data derived from an analog source, the method comprising the steps of:
-
a) compressing said input sequences by; i) searching a First History Buffer operable to store consecutive data items, to locate a stored sequence of consecutive data items matching said input sequence, said matching occurring when each data item in said input sequence is within non-equal upper and lower limits of its corresponding data item in said stored sequence; and ii) when a stored sequence matching said input sequence is located, presenting to a transfer medium compressed output data representing said stored sequence and storing said stored sequence in the First History Buffer to succeed the data items already in said First History Buffer; and iii) when a stored sequence matching said input sequence is not located, presenting to said transfer medium uncompressed output data including a representation of the first data item in said input sequence and storing said first data item in the First History Buffer to succeed the data items already stored in said First History Buffer; and b) decompressing said output data item by retrieving data from said transfer medium and; i) when compressed output data is retrieved locating the corresponding stored sequence in a Second History Buffer operable to store sequences of data items and providing to an output medium said stored sequence and storing said stored sequence in said Second History Buffer to succeed the data items already in said Second History Buffer; and ii) when uncompressed data is retrieved, providing to said output medium said first data item and storing said first data item in the Second History Buffer to succeed the data items already stored in said Second History Buffer. - View Dependent Claims (25, 26, 27, 28, 29, 32)
-
- 30. A method, as claimed in 24, wherein the step of producing said compressed output data includes identifying the position of said stored sequence in said First History Buffer and identifying the length of said stored sequence.
-
33. An apparatus for handling input sequences of data derived from an analog source, apparatus including:
-
a) compressing means for compressing said sequences of data, said compressing means including; i) a First History Buffer operable to store consecutive data items in stored sequences; ii) searching means for searching said First History Buffer to locate a stored sequence of consecutive data items matching said input sequence, said matching occurring when each data item in said input sequence is within non-equal upper and lower limits of its corresponding data item in said stored sequence; iii) compressed output producing means for presenting to a transfer medium compressed output data representing said stored sequence when a stored sequence matching said input sequence is located; iv) storing means for storing said stored sequence represented by said compressed output data item, in the First History Buffer, to succeed the data items already in said First History Buffer; v) uncompressed data output producing means for applying to said transfer medium a representation of the first data item in said input sequence when a stored sequence matching said input sequence is not located; and vi) storing means for storing said first data item in the First History Buffer to succeed the data items already stored in said First History Buffer; b) decompressing means for decompressing data from said transfer medium, said decompressing means including; i) retrieving means for retrieving data from said transfer medium; ii) a Second History Buffer operable to store sequences of data items; iii) locating means for locating said stored sequence in a Second History Buffer when a compressed output data item representing said stored sequence is retrieved by said retrieving means; iv) sequence output means for providing to an output medium said stored sequence; and v) sequence storing means for storing said stored sequence in said Second History Buffer to succeed the data items already in said Second History Buffer; and vi) data output means for providing to said output medium said first data item when uncompressed data is retrieved by said retrieving means; and vii) data storing means for storing said uncompressed data item in the Second History Buffer to succeed the data items already stored in said Second History Buffer. - View Dependent Claims (34, 35, 36, 37, 38, 39, 42, 43, 44, 45)
-
- 40. An apparatus, as claimed in 33, wherein said output data item representing said stored sequence includes position data identifying the position of said stored sequence in said First History Buffer and length data identifying the length of said stored sequence.
-
46. An apparatus for handling input sequences of data derived from an analog source, the apparatus comprising:
-
a) compressing means for compressing said input sequences said compressing means including first data processing means for; i) searching a First History Buffer operable to store consecutive data items, to locate a stored sequence of consecutive data items matching said input sequence, said matching occurring when each data item in said input sequence is within non-equal upper and lower limits of its corresponding data item in said stored sequence; and ii) when a stored sequence matching said input sequence is located, presenting to a transfer medium compressed output data representing said stored sequence and storing said stored sequence in the First History Buffer to succeed the data items already in said First History Buffer; and iii) when a stored sequence matching said input sequence is not located, presenting to said transfer media output a representation of the first data item in said input sequence and storing said first data item in the First History Buffer to succeed the data items already stored in said First History Buffer; and b) decompressing means for decompressing data from said transfer medium, said decompressing means including second data processing means for; i) retrieving data from said transfer medium and; i) when a compressed output data item representing said stored sequence is retrieved, locating said stored sequence in a Second History Buffer operable to store sequences of data items and providing to an output medium said stored sequence and storing said stored sequence in said Second History Buffer to succeed the data items already in said Second History Buffer; and ii) when uncompressed output data is retrieved, providing to said output media said uncompressed output data item and storing said uncompressed data item in the Second History Buffer to succeed the data items already stored in said Second History Buffer. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53)
-
Specification