摘要 |
A method is provided for compressing data from a stream of values using one or many distinct memory addresses as workspace, each memory address containing one or many values. The method works by reading two contiguous data values, of length K and N bits, from the stream, as a memory address reference (MAR) and a symbol, respectively. If the symbol does not match any of the values in the memory address pointed to by MAR, the symbol replaces one of those values, and a MISS code, followed by the symbol, is appended to the compressed stream; otherwise, a HIT code is appended to the compressed stream, said code representing a function of the location where the matched value was found in the memory address. Advantageously, the workspace behaves analogous to a cache memory used in computer architecture, allowing hardware or software parallel implementations using content addressable memory or associative arrays. |