Email or username:

Password:

Forgot your password?
David Buchanan
hello welcome to my tutorial on how the JPEG file format works
An edited version of the "how to draw an owl" meme. The title is "How to encode a JPEG of an owl". The first step is labeled "get some of these thingies", with a visualisation of the 2D cosine basis of the discrete cosine transform (a common sight in explainer articles). The second part is labeled "encode the rest of the fucking owl" (with the original and detailed owl picture above)
3 comments
Fabian Giesen

@retr0id although to be fair (writing as co-author of several DCT-based image/video codecs and co-maintainer of JPEG de-/encoding libraries) JPEG really is so much more of a one trick pony than pretty much anything that came after it that once you're over that DCT hump, you're mostly there

Fabian Giesen

@retr0id whereas with say HEVC it's more like
1. understand the DCT and implement the various transforms in the various sizes
2. now you have 2391 other problems

Fabian Giesen

@retr0id For JPEG DCT is the one thing you just have to accept and then (de)quantization, YCbCr, RLE, delta coding of DCs, canonical Huffman coding, as well as things like MCUs and Marker Segments are things you need to learn but you can successfully explain all of them half-drunk to your buddy in a bar with a pen and a napkin (ok, probably a few for all of it) and get the point across just fine [progressive JPEG, you'll want to defer until baseline is working and you're sober.]

Go Up