It is not that complicated, to make a simple example with strings:
AAAABBBABABAB takes up 13 spaces, but write (compress) it like 4A3B3AB take up 6 spaces compressing it more than 50%.
Now double it like AAAABBBABABABAAAABBBABABAB with 26 spaces and write it as 2(4A3B3AB) with 9 spaces it takes only 30% of the space.
Compression algorithms just look for those repetitive spaces.
Takes those letters and imagine them being colored pixels of a picture to compress a picture
Once you get into audio, images and video it revolves a lot around converting temporal and/or positional data into the frequency domain rather than simple token replacement.
It is not that complicated, to make a simple example with strings: AAAABBBABABAB takes up 13 spaces, but write (compress) it like 4A3B3AB take up 6 spaces compressing it more than 50%.
Now double it like AAAABBBABABABAAAABBBABABAB with 26 spaces and write it as 2(4A3B3AB) with 9 spaces it takes only 30% of the space.
Compression algorithms just look for those repetitive spaces.
Takes those letters and imagine them being colored pixels of a picture to compress a picture
Once you get into audio, images and video it revolves a lot around converting temporal and/or positional data into the frequency domain rather than simple token replacement.
Wait, isn’t your first example goes from 13 spaces binary to a 6 spaces of base 12 (base 10 + the two values A or B).
That would make the “compressed” result be 110111010111011101110011 which is larger than the original message when both are in binary…
Don’t overthink my example, it was just a representation