“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