Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Like this? Share it with your network

Share

*αí*ß

on

  • 782 views

 

Statistics

Views

Total Views
782
Views on SlideShare
782
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

*αí*ß Presentation Transcript

  • 1. Lossless JPEG transcoding Daniel Sanchez ECE533 Fall 2006 Final Project Presentation University of Wisconsin-Madison
  • 2. Overview
    • The problem of JPEG transcoding
    • Full-featured MATLAB JPEG codec
    • Lossless transcoder
    • Lossless rotation
  • 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 IDCT IQ IDPCM DC Huffman DeZigZag AC Huffman JPEG Decoder DC AC RGB Image JPEG File
  • 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. Example of lossy reencoding Original image Error after reencoding (x15) SNR=25.1dB
  • 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 IDCT IQ IDPCM DC Huffman DeZigZag AC Huffman Lossy JPEG Transcoder DC AC RGB Image JPEG File Reencoded coefficients are an estimation of the original ones -> Correct that estimation!
  • 7. Lossless JPEG transcoder [2] Level shifting YCbCr->RGB IDCT IQ IDPCM DC Huffman DeZigZag AC 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. Results of lossless transcoding
    • Lossy reencoding: SNR = 33.2 dB
    • Lossless transcoding: SNR = ∞
    Original image Transcoded image Difference coefficients (contrast ↑↑)
  • 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!)
    9 8 7 6 5 4 3 2 1 7 4 1 8 5 2 9 6 3
  • 10. Results of lossless rotation [1] Original image
  • 11. Results of lossless rotation [2] Losslessly rotated image Those strange manipulations actually work!
  • 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. 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. Thanks for your attention Any questions?