JPEG Compressor in C

Description

This was a project for the Software Systems class offered at Olin. With this project, we wanted to implement a program in C that could take a bitmap image as an input and generate a JPEG file (more specifically JFIF) as an output. JPEG is both a ubiquitous file format and set of typical compression techniques designed to drastically reduce the file size. Some of the steps for compression include sub-sampling the image, converting from the RGB colorspace to YCbCr, utilizing the Discrete Cosine transform to express blocks of the image as sums of cosines, and encode the data using huffman encoding. A properly working program should produce a JPEG file that looks similar to the original image while being magnitudes smaller in file size.

Tools Used: C

Team

# of Members: 2