Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

*αí*ß

695 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

*αí*ß

  1. 1. Lossless JPEG transcoding Daniel Sanchez ECE533 Fall 2006 Final Project Presentation University of Wisconsin-Madison
  2. 2. 2 Overview  The problem of JPEG transcoding  Full-featured MATLAB JPEG codec  Lossless transcoder  Lossless rotation
  3. 3. 3 The problem of JPEG transcoding  Basic JPEG decoder/encoder block diagrams:  Reencoding introduces errors because of the color model conversions (YCbCr<->RGB) RGB->YCbCr Level shifting DCT Q DPCM DC Huffman ZigZag AC Huffman JPEG File RGB Image JPEG Encoder DC AC Level shifting YCbCr->RGB IDCTIQ IDPCMDC Huffman DeZigZagAC Huffman JPEG Decoder DC AC RGB Image JPEG File
  4. 4. 4 Implementing a JPEG codec in MATLAB  Extends the MATLAB JPEG Toolbox by Phil Sallee • http://redwood.ucdavis.edu/phil/demos/jpegtbx/ • Includes functions that cover the more tedious parts of the codec  Works with most images! • Full color, arbitrary size,… • Some restrictions in subsampling and color models RGB->YCbCr Level shifting DCT Q DPCM DC Huffman ZigZag AC Huffman JPEG File RGB Image JPEG Encoder DC AC Implemented Provided by toolbox
  5. 5. 5 Example of lossy reencoding Original image Error after reencoding (x15) SNR=25.1dB
  6. 6. 6 Lossless JPEG transcoder [1]  How to modify decoder/encoder? RGB->YCbCr Level shifting DCT Q DPCM DC Huffman ZigZag AC Huffman JPEG File RGB Image DC AC Level shifting YCbCr->RGB IDCTIQ IDPCMDC Huffman DeZigZagAC Huffman Lossy JPEG Transcoder DC AC RGB Image JPEG File Reencoded coefficients are an estimation of the original ones -> Correct that estimation!
  7. 7. 7 Lossless JPEG transcoder [2] Level shifting YCbCr->RGB IDCTIQ IDPCMDC Huffman DeZigZagAC Huffman JPEG Lossless Transcoder - Decoder DC AC RGB Image RGB->YCbCr Level shifting DCT Q Lossless Compression + - RGB->YCbCr Level shifting DCT Q Difference coefficients Lossless Decompression DPCM DC Huffman ZigZag AC Huffman JPEG File Difference coefficients RGB Image JPEG File JPEG Lossless Transcoder - Encoder
  8. 8. 8 Results of lossless transcoding Original image Transcoded image Difference coefficients (contrast )↑↑  Lossy reencoding: SNR = 33.2 dB  Lossless transcoding: SNR = ∞
  9. 9. 9 Lossless rotation  Different approach: Operate on blocks directly • No need to requantize -> Lossless • Faster than decoding/encoding  To rotate an image (90º counterclockwise): • Rotate whole blocks (without modifying content) • Perform the transformation G(u,v)=F(v,u)(-1)v on each block □ This rotates the contents in the spatial domain! • Transpose quantization matrices (they are not symmetric in general!) 1 2 3 4 5 6 7 8 9 3 6 9 2 5 8 1 4 7
  10. 10. 10 Results of lossless rotation [1] Original image
  11. 11. 11 Results of lossless rotation [2] Losslessly rotated image Those strange manipulations actually work!
  12. 12. 12 Results of lossless rotation [3]  This time SNR=18.1 dB  Lossy rotation degrades the quality much more than reencoding! Error when lossy rotation is applied 4 times
  13. 13. 13 Applications of lossless transcoding  Image editing (allows editors to work with lossy compressed images without degrading quality)  Image rotation and other basic transformations (cropping, flipping,…)  Image transmission/storage
  14. 14. Thanks for your attention Any questions?

×