this type of compression works by reducing how much waste space is in a piece of data. for example, if you receive a data package which contains "aaaaabbbb", you could compress that into "5a4b", which has the same meaning but takes up less space. this type of compression is called "run-length encoding", because you define how long the "run" of a character is. in the above example, there are two runs: a run of 5 a's, and another of 4 b's.