Download presentation
Presentation is loading. Please wait.
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) JPEG Decoder DC Huffman IDPCM DC Level shifting YCbCr->RGB JPEG File IQ IDCT RGB Image AC Huffman DeZigZag AC JPEG Encoder DC DPCM DC Huffman RGB->YCbCr Level shifting RGB Image JPEG File DCT Q AC ZigZag AC Huffman
4
Implementing a JPEG codec in MATLAB
Extends the MATLAB JPEG Toolbox by Phil Sallee 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 Implemented JPEG Encoder Provided by toolbox DC DPCM DC Huffman RGB Image RGB->YCbCr Level shifting JPEG File DCT Q AC ZigZag AC Huffman
5
Example of lossy reencoding
Original image Error after reencoding (x15) SNR=25.1dB
6
Lossless JPEG transcoder [1]
How to modify decoder/encoder? Lossy JPEG Transcoder DC Huffman IDPCM DC Level shifting YCbCr->RGB JPEG File IQ IDCT RGB Image AC Huffman DeZigZag AC DC DPCM DC Huffman RGB->YCbCr Level shifting RGB Image JPEG File DCT Q AC ZigZag AC Huffman Reencoded coefficients are an estimation of the original ones -> Correct that estimation!
7
Lossless JPEG transcoder [2]
JPEG Lossless Transcoder - Decoder DC Huffman IDPCM DC JPEG File Level shifting YCbCr->RGB IQ IDCT RGB Image AC AC Huffman DeZigZag - RGB->YCbCr Level shifting DCT Q Lossless Compression Difference coefficients + Lossless Decompression Difference coefficients DPCM DC Huffman RGB->YCbCr Level shifting JPEG File RGB Image DCT Q ZigZag AC Huffman JPEG Lossless Transcoder - Encoder
8
Results of lossless transcoding
Difference coefficients (contrast ↑↑) Original image Transcoded image Lossy reencoding: SNR = 33.2 dB Lossless transcoding: SNR = ∞
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
Results of lossless rotation [1]
Original image
11
Results of lossless rotation [2]
Those strange manipulations actually work! Losslessly rotated image
12
Results of lossless rotation [3]
Error when lossy rotation is applied 4 times This time SNR=18.1 dB Lossy rotation degrades the quality much more than reencoding!
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?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.