1 / 29

Understanding JPEG

Understanding JPEG. MIT-CETI Xi’an ‘99 Lecture 10 Ben Walter, Lan Chen, Wei Hu. What is JPEG?. JPEG is a method for compressing image data so it takes less space to store or transmit across a network.

tuyet
Download Presentation

Understanding JPEG

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Understanding JPEG MIT-CETI Xi’an ‘99 Lecture 10 Ben Walter, Lan Chen, Wei Hu

  2. What is JPEG? • JPEG is a method for compressing image data so it takes less space to store or transmit across a network. • JPEG is very efficient. A file that was 1Mb in size could be compressed to as little 25Kb (1:40)! • JPEG achieves such good compression ratios because it is lossy - but the loss is not visually perceptible.

  3. Overview • Images contain different frequencies; low frequencies correspond the slowly varying colors, high frequencies correspond to fine detail. • The low frequencies are much more important than the high frequencies; we can throw away some high frequencies to compress our data!

  4. Overview • Note that we aren’t talking about the frequencies of light, but of the light and dark areas in the image! • We need a way to go from the color of pixels, which is essentially a number, to frequencies… • This way is called the Discrete Cosine Transform (DCT).

  5. A JPEG Encoder DCT Quantizer Entropy Encoder

  6. The Discrete Cosine Transform =

  7. The Discrete Cosine Transform

  8. The Discrete Cosine Transform = x1 + x2 + … + x15 + x16

  9. The Discrete Cosine Transform

  10. The 2D DCT • So far we’ve been talking about one-dimensional images, just one line of the picture… but an image has two dimensions. • We can talk about frequencies in two dimensions, although it’s much harder to visualize.

  11. Basis • Remember we saw that every 16-pixel line can be written as the sum of 16 different waves? • Those 16 waves formed a basis for the set of 16-pixel lines.

  12. Basis • When we are compressing a JPEG, we work in blocks of 8x8 pixels. That’s 64 numbers, so there are 64 different basis images. • This means we can describe any 8x8 image as a combination (a sum) of those 64 images.

  13. Basis

  14. The 2D DCT

  15. The 2D DCT

  16. Summary • The Discrete Cosine Transform (DCT) allows us to determine what frequencies make up an image. • Into this stage we have 8x8 numbers that are the values of each pixel. • Out of this stage we have 8x8 numbers that represent how much of each frequency (or how much of each basis) is in the image.

  17. A JPEG Encoder DCT Quantizer Entropy Encoder

  18. Quantization • So we still have 64 numbers to work with - we haven’t reduced the size at all! • The reason we wanted the numbers as frequencies was because some frequencies are more important than others. • The low frequencies are the most important, the high frequencies are not very important (think back to building up the image).

  19. Quantization • Before quantization, each frequency can be between 0 and 255. • To quantize, we divide frequencies by a number so that the range is reduced. For example, it becomes 0 to 31. For high frequencies we divide by a higher number.

  20. Quantization • Before we had, say: 134,113,145,117,32,11,17,5… 4. • After quantization, we might have: 116, 55, 55, 30, 1, 0, 0, … 0.

  21. 124 15 5 0 71 25 113 7 9 56 34 21 1 19 3 27 17 49 7 110 Quantization

  22. Quantization Original Medium Quality JPEG 300 kB 75 kB

  23. Quantization Original Low Quality JPEG 300 kB 35 kB

  24. Summary • The degree of quantization, dictates the amount of information “thrown away”. • If you throw away more information, you will get better compression, but the picture will start to look bad. • When you adjust the quality of a JPEG save from Photoshop, you are changing the quantization!

  25. A JPEG Encoder DCT Quantizer Entropy Encoder

  26. Entropy Encoding • Entropy encoding is another stage of compression, that relies on statistical properties of the data, e.g. most frequently occuring numbers, lots of the same number in a row. • So the take the 64 numbers, do Run Length Encoding, then follow that with Huffman Coding! (Remember yesterday?)

  27. Entropy Encoding • These compression schemes now work very well, because quantization turns numbers like 132, 117, 78 into numbers more like 31, 31, 15. • After quantization, the range of numbers is smaller, and there are often large runs of numbers - so it can be highly compressed! • This is where all of the compression happens!

  28. Summary DCT Quantizer Entropy Encoder

  29. Summary • We break up the image into 8x8 blocks. • We calculate the frequencies in each block, this allows us to identify the important and less important data. • We throw away some less important data. • We compress the resulting data. • The result: ~ 1:40 compression!

More Related