Compression
- Lossless Compression Algorithms
- Lossy Compression Algorithms
- Dictionary-Based Compression Algorithms
- Statistical Compression Algorithms
- Adaptive Compression Algorithms
“While some statistical compression algorithms are lossless, meaning that they allow the original data to be exactly reconstructed from the compressed data, not all lossless algorithms are statistical. Similarly, not all statistical algorithms are lossless.”
Worst Case: Best Case: Average Case:
Lossless Compression Algorithms
Huffman coding
Run-length encoding
Burrows-Wheeler transform
Differential coding
DEFLATE
“DEFLATE is a lossless data compression algorithm that is used in many different file formats, including ZIP, gzip, and PNG. The DEFLATE algorithm uses a combination of LZ77 (Lempel-Ziv 77) and Huffman coding to compress the input data.
In the DEFLATE algorithm, the input data is first processed using the LZ77 algorithm, which replaces repeated strings of data with references to earlier occurrences of the same strings. This can significantly reduce the size of the input data by eliminating redundancy.
Next, the DEFLATE algorithm applies Huffman coding to the compressed data, which assigns fixed-length codewords to each symbol in the data based on the symbol’s probability of occurring. This allows the algorithm to represent the data using fewer bits, further reducing the size of the data.”
Lossy Compression Algorithms
Fractal compression
Dictionary-Based Compression Algorithms
LZW
Statistical Compression Algorithms
Shannon-Fano coding
Adaptive Compression Algorithms
PPM (Prediction by Partial Matching) algorithm
LZ77 (Lempel-Ziv 77) algorithm
LZ78 (Lempel-Ziv 78)
LZMA (Lempel-Ziv-Markov chain-Algorithm)
JPEG2000 image compression standard
MPEG-4 video compression standard
algorithms
]