38.1 Introduction to Compression
As an introduction to compression, consider the processes of creating and unzipping a zip file.
$ zip mobydick.zip mobydick.txt
adding: mobydick.txt (deflated 59%)
$ ls -l
-rw-rw-r-- 1 jug jug 643207 Apr 24 10:55 mobydick.txt
-rw-rw-r-- 1 jug jug 261375 Apr 24 10:55 mobydick.zip
Note that before and after unzipping, the file size changes!
In our first model of compression, we consider compression as applying a compression algorithm on a sequence of bits. To reverse the compression, we apply the inverse decompression algorithm.
Compression and decompression.
Say you had a text file called
example.txt. If you were to zip that text file, you'd get
example.zip, a zip file with a size much lesser than the original
example.txtfile. This is the main idea behind compression--a technique used to reduce file size.
Then, if you were to unzip
example.zipinto a file called
unzippedexample.txt, you would notice no difference between
unzippedexample.txt.This is an indicator of lossless compression, where no information is lost.