Steve August 28, 2020

[Ottverse] has an interesting series in progress to demystify video compression. The latest installment promises to explain discrete cosine transforms as though you were five years old.

We’ll be honest. At five, we probably didn’t know how to interpret this sentence:

…the Discrete Cosine Transform takes a set of N correlated (similar) data-points and returns N de-correlated (dis-similar) data-points (coefficients) in such a way that the energy is compacted in only a few of the coefficients M where M << N.

Still, the explanation is pretty clear and we really liked the analogy with the spheres and the stars in a constellation.

The example Matlab code is probably also lost on a five-year-old, but we liked it. Anyone, we think, can understand the practical result where removing too much data — high compression — resulted in a poor quality image, but the image quality was pretty good even when 75% of the data vanishes.

So while you might not want to show this to your five-year-old, you might enjoy it and even learn something. The rest of the series is pretty good, too. There are discussions of data compression, codecs, and encoders. We are sure there’s more to come, also.

If you are not into Matlab, you could probably do the same trick with SciPy pretty easily. Or, try Octave, one of several open-source projects that are similar to Matlab.

Read More