JPEG images are in common use every day - You see it everywhere on the internet, and your camera very likely takes JPEG images as well. Despite that, the underlying technology that drives it is surprisingly complex.

JPEG encoding is done in several steps:
- Chroma Subsampling, where color information (which is harder to perceive) is reduced in resolution
- Frequency domain transformation and quantization (which allows finer, less visible details to be discarded)
- Huffman coding (to find an efficient encoding for the information)

In the video, I demonstrate how discrete cosine transform (DCT) works by using a visualization that was built in Java. I have since revamped the program. It is now a web app that runs directly in your browser! Check it out: http://resources.nerdfirst.net/dct


- Credit -
Y'CbCr Graphic is uploaded to the Public Domain by Wikipedia user LivingShadow, and can be found at the following URL: https://en.wikipedia.org/wiki/File:YCbCr-CbCr_Scaled_Y50.png

For the programmers - DCT logic was implemented with the help of a GNU Classpath library: https://github.com/penberg/classpath/blob/master/gnu/javax/imageio/jpeg/DCT.java


= CODE DOWNLOAD =
To view and download the code written in this video, check out the following Bitbucket repository: https://bitbucket.org/nerdfirst/dct-explorer/

To download, first click on "Downloads" in the left sidebar. Then, in the subsequent page, click "Download Repository".


= 0612 TV =
0612 TV is your one stop for general geekery! Learn about a variety of technology-related subjects, including Photography, General Computing, Audio/Video Production and Image Manipulation! Enjoy your stay, and don't hesitate to drop me a comment or a personal message to my inbox =) If you like my work, don't forget to subscribe!

More about me: http://about.me/lcc0612
Official Twitter: http://twitter.com/0612tv