Can we modify the Lempel-Ziv 77 algoritm utilizing periodic functions in mathematical analysis?

34 Views Asked by At

The Lempel-Ziv 77 is a classical data compression scheme which was popular in early data compression algorithms. For example in deflate and GIF.

One useful and curious special property of LZ77 is its ability to do run length encoding having seen only one symbol.

A generalization of this allows to do run length encoding of whole groups of symbols.

In the language of mathematical analysis - it is able to efficiently replicate discretized periodic functions.

For example if we let [ denote current position of encoding, the string

I-am-dog[dogdogdog-and-not-cat

we can in the lz77 compression scheme encode the following "dogdogdog" string by saying "go back 3 steps and copy and write the next 9 symbols".

Can this allow us to expand LZ77 into a more complicated algorithm which allows us to capture near-periodic functions?

For example an adventurer might later in the story we want to compress experience the terrifyingly thick dog bog fog.

enter image description here

As we can see, viewed as a function, the two strings are very similar. Could we somehow use continous mathematics to modify the lz77 algorithm to allow for matching such near-periodic functions ?