The Unreasonable Effectiveness of JPEG: A Signal Processing Approach

preview_player
Показать описание

Chapters:
00:00 Introducing JPEG and RGB Representation
2:15 Lossy Compression
3:41 What information can we get rid of?
4:36 Introducing YCbCr
6:10 Chroma subsampling/downsampling
8:10 Images represented as signals
9:52 Introducing the Discrete Cosine Transform (DCT)
11:32 Sampling cosine waves
12:43 Playing around with the DCT
17:38 Mathematically defining the DCT
21:02 The Inverse DCT
22:45 The 2D DCT
23:49 Visualizing the 2D DCT
24:35 Introducing Energy Compaction
26:05 Brilliant Sponsorship
27:23 Building an image from the 2D DCT
28:20 Quantization
30:23 Run-length/Huffman Encoding within JPEG
32:56 How JPEG fits into the big picture of data compression

The JPEG algorithm is rather complex and in this video, we break down the core parts of the algorithm, specifically color spaces, YCbCr, chroma subsampling, the discrete cosine transform, quantization, and lossless encoding. The majority of the focus is on the mathematical and signal processing insights that lead to advancements in image compression and the big themes in compression as a whole that we can take away from it.

Animations created jointly by Nipun Ramakrishnan and Jesús Rascón.

References/Additional Resources:

This video wouldn't be possible without the open source library manim created by 3blue1brown and maintained by Manim Community.

All music in the video is from Aakash Gandhi
Рекомендации по теме
Комментарии
Автор

Little secret of JPEG: It actually supports two entropy coders. Huffman coding, and arithmetic coding. The arithmetic coding is superior in performance, and yet almost never used and supported by almost no software. The reason for this is historical: Back when JPEG was new, arithmetic coding was subject to multiple patents. Mostly held by IBM, but not all. That made it very difficult for any program to use arithmetic coding legally, so all the early JPEG implementations were huffman-only. Once the patents expired, it became the classic chicken-and-egg problem: No-one wants to make software that saves jpegs with arithmetic coding because all of the existing software wouldn't be able to display them, and no-one has a reason to make their software able to display arithmetic-coded JPEG because there are none in use to display. So even up to today, we are all using JPEG in the low-performance mode. If it were practical to use the arithmetic option, JPEG files could be about 10% smaller while still maintaining exactly the same quality.

vylbird
Автор

I did a degree in electrical/computer engineering. This is BY FAR one of the best explanations I've seen about this. Doing the math is nothing compared to the understanding this video gives you. Thank you!

akarshkumar
Автор

This was *really* good. Well paced, well explained with great visuals. I have a much greater appreciation for what JPEGs do now. I'd love to see a video outlining some of the other various transformations used in signal processing or some more neat applications of them!

vcubingx
Автор

going to save more images as JPEGs out of sheer respect from now on

slippybean
Автор

Other interesting compression algorithms for people to look up:
- Opus, the successor to MP3/AAC that powers audio on the internet these days.
- QOI, an amazingly fast and simple to understand image format (1-page specification!)
- JPEG XL, the cutting-edge expansion of the original JPEG format shown in this brilliant video :-)

oresteszoupanos
Автор

This channel has some of the most well produced content right now

SamuelsBookReviews
Автор

I would just like to take the time and say; Thank you for making these. As a mathematical engineer, I really appreciate these type of videos, which go into something that is extremely interesting, but I don't have time to explore myself.

SokarEntertainment
Автор

It is no exaggeration to say that the quality of this video's presentation of the subject is beyond superb. Utterly fascinating and presented with outstanding clarity and insight. Left me wanting more, more, more of this content, please! Thank you for the effort and care you put into its creation.

mbmadden
Автор

This is one of the best videos I have seen about how the Fourier Transform is used in JPG compression . The amount of effort, time and money put into it is incredible. Thank you for sharing.

tortellofer
Автор

I’ve actually been studying a lot of control theory and signal processing on my own time, continuous and discrete. The moment you said to look at the brightness component, and how if you move along it it’s like a signal in a way, I put my phone down and went “Oh. My. GOD.” I immediately knew exactly what was about to happen: pick out the lower frequencies and just store those, and reconstruct the signal later. That is absolutely INCREDIBLE. Incredible video. I’m also very proud of myself for recognizing that so naturally

hydropage
Автор

This is such an incredibly well-structured, well-paced, and well-presented lecture, I'm in awe. Thank you so much for this, you outdid yourself here!

ChrisOffner
Автор

The level of elegance and attention to detail in the presentation was absolutely amazing 😭

DevashishGuptaOfficial
Автор

Thank you for this! I've watched and read many explanations of JPEG and they all talk about the DCT like that is the part that makes JPEGs smaller. Your video finally made it clear that the DCT doesn't reduce the size of the data, but does put it in a form where the less important information is easier to identify and remove, and why its okay to get rid of the high frequency content. The explanation is great and the visualizations were clear and helped a lot. Excellent work!

michaelrcolton
Автор

I always knew jpeg has got some interesting maths going behind the scenes, but man, this is like super impressive.
And it actually sounds like a great coding challenge to create an actually functioning jpeg encoder/decoder
Btw I can't admit the quality of the work done to bring this video to us, I just love it. Thank you a lot for what you are doing, your videos are fascinating as always

kodirovsshik
Автор

This video is by far one of the best explained video on JEPEG compression. Not only this video presents intuitive explanation but also puts the right amount of mathematical details for any brain to comprehend. Kudos!!

birendrakathariya
Автор

Always happy to see a new reducible video in my recommended

PolychoronProductions
Автор

I am working on medical digital image processing and this is by far one of the best videos on this topic!!!!

daberth
Автор

Topics like this tickle my brain in just the right way. Fantastic video, we need more DSP content like this.

kleinesfilmroellchen
Автор

This is a great introduction, really nice work. I’d never thought about the DCT as being a vector dot product but that absolutely makes sense.

Axman
Автор

The production value of these video's are out of this world. Mad respect. Contents and visuals on point!

willemvdk