Well everyone has come across the jpg file format! Its biggest popularity has come because of the boom in the internet,
people using a 56k modem can't be downloading images of 100-500k... it would take ages! So the jpg format fixes that my compressing
the the image format ... so where you would have a typical .bmp file of 200k you could expect to reduce this to
a 20k .jpg file.
I've put together some pieces of code and tutorials in the hope that it will open your eyes to the internal workings of the
jpg file format and its reasons. Again its an advanced topic... it involved for one thing loads of bit shifting and hex!
The tutorials/code will be broken into pieces... I'll be outlining the parts of the jpeg, then expanding on each sub-section as I go
along... I'll also be putting together some hex dumps so you can actually see what each part of the file is doing! For example
a hex dump of the SOS (Start Of Scan) data section contains the variable length data bits, by looking at this data closely and looking
at the corresponding Huffman tables you can de-duce what is going on better I think.
Tutorials
o - JPEG File Format Basics
o - Coding a decoder - Dumping Tags
o - Image
Dimensions, Tag Names (soon)
o - ...
Ideas and Hints
o - JPG File Layout
o - SOS Section in Detail
o - JPEG Gems - Code Snippets
o - JPEG Decoder Source Code
(DumpJpeg)
Demo Code
o - Full Simplified Jpeg Encoder &
Decoder Source Code Demo
o - 'Robust'
version of the Jpg Decoder/Encoder Demo
|