Georgios Balaouras
 Back to projects

Project February 2020

JPEG Image Compression

A baseline JPEG encoder and decoder built around DCT, quantization, and entropy coding.

Flowchart of JPEG compression and decompression stages, from color conversion to entropy coding and back.
Project image: JPEG encoder and decoder pipeline. Open full-size image ↗

Project details

I implemented the baseline sequential JPEG encoding and decoding pipeline described in ISO/IEC 10918-1:1994. The project follows an image through three main stages:

  • Color preparation: Convert RGB to YCbCr and apply 4:4:4, 4:2:2, or 4:2:0 chroma sampling.
  • Transform and quantization: Apply an 8 × 8 discrete cosine transform (DCT) and quantize the coefficients.
  • Entropy coding: Encode the resulting coefficients with run-length and Huffman coding, then reverse the steps to reconstruct the image.

The linked PDF explains the implementation in Greek.