The Unreasonable Effectiveness of JPEG: A Signal Processing Approach

Поділитися
Вставка
  • Опубліковано 3 чер 2024
  • Visit brilliant.org/Reducible/ to get started learning STEM for free, and the first 200 people will get 20% off their annual premium subscription.
    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:
    www.red.com/red-101/video-chr... - great resource on different types of chroma subsampling
    weitz.de/dct/ - play around with the DCT
    www.cse.iitd.ac.in/~pkalra/co... - paper referenced in video
    www.ee.ic.ac.uk/hp/staff/dmb/c... - a more rigorous signal processing approach to the DCT
    www.impulseadventure.com/phot... - great landing point for learning more about how huffman codes work in the context of JPEG
    • Everything You Need to... - a great playlist I recommend that dives deep into actually implementing a JPEG decoder
    This video wouldn't be possible without the open source library manim created by 3blue1brown and maintained by Manim Community.
    The Manim Community Developers. (2021). Manim - Mathematical Animation Framework (Version v0.11.0) [Computer software]. www.manim.community/
    Here is link to the repository that contains the code used to generate the animations in this video: github.com/nipunramk/Reducible
    All music in the video is from Aakash Gandhi

КОМЕНТАРІ • 886