Let's Build a JPEG Decoder

Back to Series

Concepts (Jan 2013)
This first part explores the concepts behind the compression techniques used by JPEG.
File Structure (Jan 2013)
Aside from the concepts explored in the previous part of this series, the JPEG file format is composed of segments which encode the various portions of information needed to decode an image. This article implements a simple method of traversing the segments of a JPEG file.
Huffman Tables (Feb 2013)
Various levels of compression and encoding are employed in the production of a JPEG file. The first step in decompressing an image is decoding the data, which is compressed with a variant of Huffman encoding. This article looks at the data attached to a JPEG file which allows the Huffman decoding to proceed.
Frames and Bitstreams (May 2013)
Continuing a series exploring the concepts behind JPEG image compression, this part begins delving into the relationship between the image, its colour constituents and the encoded data by breaking open the Start of Frame segment.