I count three ways to compress data:
- Make common quantas of data short, uncommon ones long. e.g. Huffman encoding. I, am, not, be, a, or, prestidigitation, gesticulate, onomatopoeia, redundant.
- Reference known data. e.g. Symbols. ZIP file encoding of references to repeated byte strings. Refer to a whole book’s worth of information by referencing the title. One if by land, two if by sea.
- Drop information that is not needed. e.g. JPG images. MP3 music. Forget it all. Don’t do it.
Are there any more?
In a sense, all optimization is data compression, is it not?