This coding exercise was inspired by "macroblocking," a side-effect of the lossy video compression algorithms
that enable streaming video over limited bandwidth. There are many flavors of such algorithms, some even proprietary, but
most are in some way based on the Discrete Cosine Transform (DCT) which is the foundation also for none other than the jpeg format. It works by breaking an image into squares of pixels --
8x8 in the case of jpeg -- and performing the transform on the pixel values. The transform itself is a kind of spectral analysis, much like its close cousin the fourier transform.
The result is an image with about the same dimensions, but with cryptic monochromatic patterns replacing the original subject. Normally this cryptic format is purposely
simplified to save memory, before the computer attempts to translate it back into an image. Usually the translation successfully recovers most of the image, but sometimes
there are noticeable defects. By reproducing the basic algorithm, I was able to produce my own artifacts deliberately.
The results are fascinating portraits of a computer playing a game of telephone with itself.