JPEG: An Image Compression System - University of Haifacs.haifa.ac.il/~nimrod/Compression/JPEG/J3sys2009.pdf · JPEG: An Image Compression System ISO/IEC DIS 10918-1 ITU-T Recommendation

Post on 27-Jul-2019

225 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

JPEG: An Image Compression System

ISO/IEC DIS 10918-1ITU-T Recommendation T.81http://www.jpeg.org/

Nimrod Peleg

update: April 2009

Basic Structure

Source Image Data

Reconstructed Image Data

Encoder DecoderCompressed Data

Encoder Structure

Source Image Data

EncoderModel

StatisticalModel

EntropyEncoding

CompressedData

Model Parameters Entropy Coding Tables

Descriptors

Decoder StructureCompressedData

StatisticalModel

EntropyDecoder

DecoderModel

Model ParametersEntropy Coding Tables

Descriptors

ReconstructedImage Data

Image Compression Models

• A Unit that generates a set of “descriptors”• The simplest model:send the data itself to the entropy encoder:

PCMThe set of descriptors is all possible values of

the samples

Compression Models: DPCM

A simple predictor:We use the former sample(s) to

predict the current one, and send (to the entropy encoder) the difference between the predicted and real value:

“prediction error”

Lena: The original

Histogram of Lena

Matlab: imhist

Sample Position

SampleIntensity

Difference Sample Position

Intensity ofdifference

1 Line Histogram

DPCM (Cont’d)The better

performance of DPCM relative to PCM is due to the high degree of correlation found in most images

Note that this model is lossless !

Histogram of differences (Lena, one neighbor to the left predictor)

DCT Encoder Model• Used in Lossy JPEG modes• Output is fed to Entropy encoder

Source Image

DCT Q

DPCMDC

AC Coefficients

DCCoefficients

To EntropyCoding

DCT Decoder Model

DCCoefficients

IDCTIQ

DPCM DC

AC Coefficients

Reconstructed Image

• Quantization is the principal source of distortion to the reconstructed image.

• Q is done to each coeff. independently, so it can match the HVS response.

From Entropy Coding

Block Oriented DCT Reconstruction(A too strong quantization effect)

32x32 block A strong quantization

The “DCT” Coefficients Image

2D DFT….The Jewish Case

16

Fourier analysis shows usa) Typical horizontal lines with appropriate frequency (12 lines in height) [red]b) High frequencies for the small holes (30 per line) [blue]c) No signs for Chamets !

© Itsik Parnafes

Quantization – Color Example

Fine quantization Coarse quantization

Reconstruction from Fourier Magnitude or Phase

DFT

Magnitude PhaseOriginal

+

Transform Coding - Example16×16 block

of pixelsDCT

coefficients

Other Compression Models• Other models were candidates for JPEG:

– Block Truncation Coding (BTC)– Vector quantization (VQ)– Other Transform Coding (TC) schemes– Sub-band coding (SBC)– Other predictive coding models

• The DCT model provided (Jan.1988) best average image quality for a given bit-rate

Coding Model

Zig-Zag scan (instead of Raster scan) achieves longer “zero coefficients sequences”, after quantization.

HorizontalFrequency

VerticalFrequency

DC

Zig-Zag example

DC

Entropy Encoding/Decoding

2 entropy coding structures used in JPEG:• Huffman coding:

– Good old wine … (1952)– Computationally simpler– Implementation simpler– Requires known / calculated code tables

• Arithmetic Coding– About 10% higher performance– Code book adapts dynamically to coded data– IBM Patented...

David A. Huffman1925-1999

Huffman Entropy Encoder• Statistical model: converts descriptors into symbols,

each assigned to particular code word• Adapter: responsible for the assignments of code

words needed by the encoder• Code Tables: can be fixed or adapted to data to

improve efficiency by a few percent

• Note that 1 pass (fixed tables) or 2 passes (adaptive table) are options

Huffman Encoder Scheme

Huffman entropy coding table

a

b

a

b

Descriptors Symbols

Code words

EncodedDataHuffman

StatisticalModel

HuffmanAdapter

HuffmanEncoder

HuffmanCode Table

S1

S2

Huffman Decoder Scheme

HuffmanStatistical Model

HuffmanDecoder

HuffmanCode Table

Encoded data

Symbols

Code words

Huffman entropycode table

Descriptors

Arithmetic Coding

• One pass adaptive binary coder.• Achieves about 10% better compression.• More complicated then Huffman.• Option to transcoding between the two.• Almost not in use in JPEG (used in JBIG)• IBM Patent.

JPEG Lossless Mode

• Based on DPCM only (without DCT and Q)• Poor compression relative to Lossy mode

(1:1 Vs. 20:1 for color natural image)• (Almost) Not in use

Since 1997: JPEG-LS

Progressive Mode• Allows the user to preview a rough version

of the image• Two or more passes through data• Approximation of entire image coded first• Finer details are coded with each

succeeding scan • Decoder follows same order in decoding• Identical compression and quality

(sometimes even better)

JPEG Base-line Scheme (Lossy)

top related