Digital Image Processing Chapter 8: Image Compression 11 August 2006

Post on 12-Jan-2016

94 views 11 download

Tags:

description

Digital Image Processing Chapter 8: Image Compression 11 August 2006. Data vs Information. Information = Matter ( สาระ ) Data = The means by which information is conveyed. Image Compression. Reducing the amount of data required to represent - PowerPoint PPT Presentation

Transcript of Digital Image Processing Chapter 8: Image Compression 11 August 2006

Digital Image ProcessingChapter 8:

Image Compression

11 August 2006

Digital Image ProcessingChapter 8:

Image Compression

11 August 2006

Data vs Information Data vs Information

Information = Matter (สาระ)

Data = The means by which information is conveyed

Reducing the amount of data required to represent a digital image while keeping information as much aspossible

Image Compression Image Compression

Relative Data Redundancy and Compression Ratio Relative Data Redundancy and Compression Ratio

RD C

R1

1

Relative Data Redundancy

Compression Ratio

2

1

n

nCR

Types of data redundancy

1. Coding redundancy2. Interpixel redundancy3. Psychovisual redundancy

Coding Redundancy Coding Redundancy

Different coding methods yield different amount of data needed to represent the same information.

Example of Coding Redundancy : Example of Coding Redundancy : Variable Length Coding vs. Fixed Length CodingVariable Length Coding vs. Fixed Length Coding

Lavg 3 bits/symbol Lavg 2.7 bits/symbol(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Variable Length Coding Variable Length Coding

Concept: assign the longest code word to the symbol with the least probability of occurrence.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Interpixel Redundancy Interpixel Redundancy

Interpixel redundancy:Parts of an image arehighly correlated.

In other words,we canpredict a given pixelfrom its neighbor.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Run Length CodingRun Length Coding

The gray scale imageof size 343x1024 pixels

Binary image= 343x1024x1 = 351232 bits

Line No. 100

Run length coding

Line 100: (1,63) (0,87) (1,37) (0,5) (1,4) (0,556) (1,62) (0,210)

Total 12166 runs, each run use 11 bits Total = 133826 Bits(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Psychovisual Redundancy Psychovisual Redundancy

The eye does not response with equal sensitivity to all visual information.

8-bit gray scale image

4-bit gray scale image

4-bit IGS image

False contours

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Improved Gray Scale Quantization Improved Gray Scale Quantization

Pixeli-1i

i+1i+2i+3

Gray levelN/A0110 1100

1000 10111000 01111111 0100

Sum0000 0000

0110 11001001 01111000 11101111 0100

IGS CodeN/A0110

100110001111

+

Algorithm1. Add the least significant 4 bits of the previous value of Sum to the 8-bit current pixel. If the most significant 4 bit of the pixel is 1111 then add 0000 instead. Keep the result in Sum

2. Keep only the most significant 4 bits of Sum for IGS code.

Fidelity Criteria: Fidelity Criteria: how good is the compression algorithm how good is the compression algorithm

-Objective Fidelity Criterion- RMSE, PSNR

-Subjective Fidelity Criterion:-Human Rating

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Image Compression Models Image Compression Models

Source encoder Channel encoder

Source decoder Channel decoder

Channel

),(ˆ yxf

),( yxf

Reduce data redundancy

Increase noiseimmunity

Noise

Source Encoder and Decoder Models Source Encoder and Decoder Models

Mapper Quantizer Symbol encoder),( yxf

Source encoder

Inverse mapper Symbol decoder

Source decoder

),(ˆ yxf

Reduceinterpixel

redundancy

Reducepsychovisual redundancy

Reducecoding

redundancy

Channel Encoder and Decoder Channel Encoder and Decoder

- Hamming code, Turbo code, …

Information Theory Information Theory

Measuring information

)(log)(

1log)( EP

EPEI

Entropy or Uncertainty: Average information per symbol

j

jj aPaPH ))(log()(

Simple Information System Simple Information System

Binary Symmetric Channel Binary Symmetric Channel

A = {a1, a2} ={0, 1}z = [P(a1), P(a2)]

B = {b1,b2} ={0, 1}v = [P(b1), P(b2)]

Source Destination

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

0

1

(1-Pe)

Pe

0

1Pe

(1-Pe)

Source Destination

Pe= probability of error

P(a1)

1-P(a1)

P(a1)(1-Pe)+(1-P(a1))Pe

(1-P(a1))(1-Pe)+P(a1)Pe

Binary Symmetric Channel Binary Symmetric Channel

A = {a1, a2} ={0, 1}z = [P(a1), P(a2)]

B = {b1,b2} ={0, 1}v = [P(b1), P(b2)]

H(z) = - P(a1)log2P(a1) - P(a2)log2P(a2)

Source Destination

H(z|b1) = - P(a1|b1)log2P(a1|b1) - P(a2|b1)log2P(a2|b1)

H(z|b2) = - P(a1|b2)log2P(a1|b2) - P(a2|b2)log2P(a2|b2)

H(z|v) = H(z|b1) + H(z|b2)

Mutual information I(z,v)=H(z) - H(z|v)

Capacity ),(max vzz

IC

Binary Symmetric Channel Binary Symmetric Channel

Let pe = probability of error

bs

bs

ee

ee

p

p

pp

pp

1

1v

bs

bs

p

p

ap

ap

)(1

)(

1

1z

)1(log)1()(log)( 22 bsbsbsbs ppppH z

)(log))1)(1((log)1)(1(

))1((log)1())1((log)1()|(

22

22

ebsebsebsebs

ebsebsebsebs

pppppppp

ppppppppH

vz

)()(),( ebsebsebsbs pHppppHvzI

)(1 ebs pHC

Binary Symmetric Channel Binary Symmetric Channel

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Communication System ModelCommunication System Model

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

2 Cases to be considered: Noiseless and noisy

Noiseless Coding TheoremNoiseless Coding Theorem

Problem: How to code data as compact as possible?

Shannon’s first theorem: defines the minimum average code word length per source that can be achieved.

Let source be {A, z} which is zero memory source with J symbols. (zero memory = each outcome is independent from other outcomes)

then a set of source output of n element be

},...,,{ 321 nJA

}111,110,101,100,011,010,001,000{A

Example:

}1,0{A

for n = 3,

Noiseless Coding Theorem (cont.)Noiseless Coding Theorem (cont.)

Probability of each j is

)()()()( 21 jnjjj aPaPaPP

Entropy of source :

)())(log()()(1

zz nHPPHnj

iii

Each code word length l(i) can be

1)(

1log)(

)(

1log

ii

i Pl

P

Then average code word length can be

1)(

1log)()()(

)(

1log)(

111

i

J

iii

J

ii

i

J

ii P

PlPP

Pnnn

Noiseless Coding Theorem (cont.)Noiseless Coding Theorem (cont.)

nH

n

LH avg 1

)()(

zz

or

)(lim zHn

Lavg

n

The minimum average code word length per source symbol cannotlower than the entropy.

Coding efficiency

avgL

zHn

)(

We get 1)()( zz HLH avg

from )()( zz nHH

then

Extension Coding Example Extension Coding Example

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

H = 1.83Lavg = 1.89

H = 0.918Lavg = 1

918.01

918.011 97.0

89.1

83.12

Noisy Coding TheoremNoisy Coding Theorem

Problem: How to code data as reliable as possible?

Example: Repeat each code 3 times:

Source data = {1,0,0,1,1}

Data to be sent = {111,000,000,111,111}

Shannon’s second theorem: the maximum rate of coded information is

rR

log

r = Block length = code size

Rate Distortion Function for BSC Rate Distortion Function for BSC

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Error-Free Compression: Huffman Coding Error-Free Compression: Huffman Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Step 1: Source reduction

Huffman coding: give the smallest possible number of code symbols per source symbols.

Error-Free Compression: Huffman Coding Error-Free Compression: Huffman Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Step 2: Code assignment procedure

The code is instantaneous uniquely decodable without referencing succeeding symbols.

Near Optimal Variable Length Codes Near Optimal Variable Length Codes

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Arithmetic Coding Arithmetic Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Nonblock code: one-to-one correspondence between source symbolsAnd code words does not exist.Concept: The entire sequences of source symbols is assigned a singlearithmetic code word in the form of a number in an interval of real number between 0 and 1.

Arithmetic Coding Example Arithmetic Coding Example

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

0.2x0.4 0.04+0.8x0.04 0.056+0.8x0.016

0.2x0.2 0.04+0.4x0.04 0.056+0.4x0.016

The number between 0.0688and 0.06752can be used torepresent thesequence a1 a2 a3 a3 a4

LZW Coding LZW Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Lempel-Ziv-Welch coding : assign fixed length code words to variable length sequences of source symbols.

24 Bits

9 Bits

LZW Coding Algorithm LZW Coding Algorithm

0. Initialize a dictionary by all possible gray values (0-255)1. Input current pixel2. If the current pixel combined with previous pixels form one of existing dictionary entries Then 2.1 Move to the next pixel and repeat Step 1 Else

2.2 Output the dictionary location of the currently recognized sequence (which is not include the current pixel)

2.3 Create a new dictionary entry by appending the currently recognized sequence in 2.2 with the current pixel

2.4 Move to the next pixel and repeat Step 1

LZW Coding Example LZW Coding Example

Input pixel

3939

1261263939

1261263939

126126

Dictionary Location Entry 0 0 1 1 … … 255 255 256 39-39 257 39-126 258 126-126 259 126-39 260 39-39-126 261 126-126-39 262 39-39-126-126

EncodedOutput (9 bits)

3939126126

256

258

260

CurrentlyrecognizedSequences

393912612639

39-39126

126-12639

39-3939-39-126

126

Bit-Plane Coding Bit-Plane Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Original imageBit 7

Bit 6

Bit 0

Bit planeimages

Binary image compression

Binary image compression

Binary image compression

Example of binary image compression: Run length coding

Bit Planes Bit Planes

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Original grayscale image

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

Gray-coded Bit Planes Gray-coded Bit Planes

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

a7

a6

a5

a4

g7

g6

g5

g4

Gray code:

60for 1

i

aag iii

77 ag

and

ai= Original bit planes

= XOR

Originalbit planes

Gray-coded Bit Planes (cont.) Gray-coded Bit Planes (cont.)

a3

a2

a1

a0

g3

g2

g1

g0

There are less 0-1 and 1-0 transitions in grayed codebit planes. Hence gray coded bit planes are more efficient for coding.

Relative Address Coding (RAC) Relative Address Coding (RAC)

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Concept: Tracking binary transitions that begin and end eack black and white run

Contour tracing and CodingContour tracing and Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Represent each contour by a set of boundary points and directionals.

Error-Free Bit-Plane Coding Error-Free Bit-Plane Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Lossless VS Lossy Coding Lossless VS Lossy Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Mapper Quantizer Symbol encoder),( yxfSource encoder

Reduceinterpixel

redundancy

Reducepsychovisual redundancy

Reducecoding

redundancy

Mapper Symbol encoder),( yxf

Source encoder

Reduceinterpixel

redundancy

Reducecoding

redundancy

Lossless coding

Lossy coding

Transform Coding (for fixed resolution transforms) Transform Coding (for fixed resolution transforms)

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Construct nxn

subimages

Forward transform

QuantizerSymbolencoder

Input image(NxN)

Compressedimage

Construct nxn

subimages

Inverse transform

Symboldecoder

Decompressedimage

Decoder

Encoder

Examples of transformations used for image compression: DFT and DCT

Quantization process causesThe transform coding “lossy”

Transform Coding (for fixed resolution transforms) Transform Coding (for fixed resolution transforms)

3 Parameters that effect transform coding performance:

1. Type of transformation

2. Size of subimage

3. Quantization algorithm

2D Discrete Transformation 2D Discrete Transformation

1

0

1

0

),,,(),(),(N

x

N

y

vuyxgyxfvuT

Forward transform:

1

0

1

0

),,,(),(),(N

u

N

v

vuyxhvuTyxf

Inverse transform:

where g(x,y,u,v) = forward transformation kernel or basis function

where h(x,y,u,v) = inverse transformation kernel or inverse basis function

T(u,v) is called the transform coefficient image.

Transform Example: Transform Example: Walsh-Hadamard Basis Functions Walsh-Hadamard Basis Functions

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

1

0

)()()()(

)1(1

),,,(),,,(

m

iiiii vpybupxb

Nyxvuhvuyxg

N = 4

N = 2m

bk(z) = the kth bit of z

)()()(

)()()(

)()()(

)()(

011

322

211

10

ububup

ububup

ububup

ubup

m

mm

mm

m

Advantage: simple, easy to implementDisadvantage: not good packing ability

Transform Example: Transform Example: Discrete Cosine Basis Functions Discrete Cosine Basis Functions

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

DCT is one of the most frequently used transform for image compression.For example, DCT is used in JPG files.

N = 4

N

vy

N

uxvuyxvuhvuyxg

2

)12(cos

2

)12(cos)()(),,,(),,,(

1,,1for 2

0for 1

)(

NuN

uNu

N = 4Advantage: good packing ability,modulate computational complexity

Transform Coding Examples Transform Coding Examples

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Original image512x512 pixels

Fourier

Hadamard

DCT

Error

Subimage size:8x8 pixels = 64 pixels

Quatization by truncating 50% of coefficients (only32 max cofficients are kept.)

RMS Error = 1.28

RMS Error = 0.86

RMS Error = 0.68

DCT vs DFT Coding DCT vs DFT Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Advantage of DCT over DFT is that the DCT coefficients aremore continuous at boundaries of blocks.

DFT coefficientshave abruptchanges atboundariesof blocks

1 Block

Subimage Size and Transform Coding PerformanceSubimage Size and Transform Coding Performance

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

This experiment:Quatization is made bytruncating 75% of transform coefficients

DCT is the best

Size 8x8 is enough

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Subimage Size and Transform Coding PerformanceSubimage Size and Transform Coding Performance

Zoomed detailOriginal

Reconstructedby using 25%of coefficients(CR = 4:1)with 8x8 sub-images

DCT Coefficients

Zoomed detailSubimage size:

8x8 pixels

Zoomed detailSubimage size:

2x2 pixels

Zoomed detailSubimage size:

4x4 pixels

Quantization Process: Bit Allocation Quantization Process: Bit Allocation

To assign different numbers of bits to represent transform coefficients based on importance of each coefficient:

- More importance coefficeitns assign a large number of bits

- Less importance coefficients assign a small number of bits or not assign at all

2 Popular bit allocation methods1. Zonal coding : allocate bits based on the basis of

maximum variance, using fixed mask for all subimages

2. Threshold coding : allocate bits based on maximum magnitudes of coefficients

Example: Example: Results with Different Bit Allocation MethodsResults with Different Bit Allocation Methods

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Reconstructedby using 12.5%of coefficients(8 coefficientswith largestmagnitude areused)

Threshold codingError

Zoom details

Reconstructedby using 12.5%of coefficients(8 coefficients with largest variance are used)

Zonal codingError

Zonal Coding Example Zonal Coding Example

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Zonal mask Zonal bit allocation

Threshold Coding Example Threshold Coding Example

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Threshold mask Thresholded coefficientordering

Thresholding Coding Quantization Thresholding Coding Quantization

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

3 Popular Thresholding MethodsMethod 1: Global thresholding : Use a single global threshold

value for all subimages

Method 2: N-largest coding: Keep only N largest coefficients

Method 3: Normalized thresholding: each subimage is normalized by a normalization matrix before rounding

Example of Normalization Matrix Z(u,v)

),(

),(),(ˆ

vuZ

vuTroundvuT

),(),(ˆ),(~

vuZvuTvuT

Bit allocation

Restoration before decompressing

DCT Coding Example DCT Coding Example

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(CR = 38:1) (CR = 67:1)

Zoom details

Method: - Normalized Thresholding,- Subimage size: 8x8 pixels

BlockingArtifact at Subimageboundaries

Error imageRMS Error = 3.42

Wavelet Transform Coding: Multiresolution approachWavelet Transform Coding: Multiresolution approach

Wavelet transform

QuantizerSymbolencoder

Input image(NxN)

Compressedimage

Inverse wavelet

transform

Symboldecoder

Decompressedimage

Decoder

Encoder

Unlike DFT and DCT, Wavelet transform is a multiresolution transform.

What is a Wavelet TransformWhat is a Wavelet TransformOne up on a time, human uses a line to represent a number. For example

= 25With this numerical system, we need a lot of space to representa number 1,000,000.Then, after an Arabic number system is invented, life is much easier.We can represent a number by a “digit number”:

X,XXX,XXX

The 1st digit = 1x

The 2nd digit = 10xThe 3rd digit = 100x

An Arabic number is onekind of multiresolutionRepresentation.

Like a number, any signal can also be represented by a multiresolutiondata structure, the wavelet transform.

What is a Wavelet TransformWhat is a Wavelet Transform

Wavelet transform has its background from multiresolutionanalysis and subband coding.

- Nyquist theorem: The minimun sampling rate needed for samplinga signal without loss of information is twice the maximum frequencyof the signal.

-We can perform frequency shift by multiplying a complex sinusiodalsignal in time domain.

Other important background:

),(),( 00)(2 00 vvuuFeyxf yvxuj

Wavelet History: Image PyramidWavelet History: Image Pyramid

Pyramidal structured image

Coarser, decrease resolution

Finer, increase resolution

If we smooth and then down sample an image repeatedly, we willget a pyramidal image:

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Image Pyramid and Multiscale DecompositionImage Pyramid and Multiscale Decomposition

ImageNxN

SmoothDown

SamplingBy 2

ImageN/2xN/2

Question: What Information is loss after downSampling?

Answer: Loss Information isA prediction error image:

UpSampling

By 2

Interpolate

PredictedImageNxN

Prediction Error

(loss details)NxN

-

+

Image Pyramid and Multiscale Decomposition (cont.)Image Pyramid and Multiscale Decomposition (cont.)

Hence we can decompose an image using the following process

ImageNxN

Smooth and down sampling

by 2

Approxi--mationImage

N/2xN/2

Upsamplingby 2 and

interpolate

Prediction ErrorNxN

Smooth and down sampling

by 2

Approxi--mationImage

N/4xN/4

Upsamplingby 2 and

interpolate

Prediction Error

N/2xN/2

+-

+-

….

Image Pyramid and Multiscale Decomposition (cont.)Image Pyramid and Multiscale Decomposition (cont.)

Original ImageNxN

Prediction error(residue)

NxN

Predictionerror

N/2xN2

Prediction error N/4xN/4

Approximation image N/8xN/8

=

Multiresolution Representation

Multiresolution Decomposition Process Multiresolution Decomposition Process

Note that this process is not a wavelet decomposition process !

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Example of Pyramid Images Example of Pyramid Images

ApproximationImages (usingGaussian Smoothing)

Predictionresidues

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Subband Coding Subband Coding

x(n)N points

LPF

HPF

DownSampling

by 2

Freq.shift by

N/2

DownSampling

by 2

Subband decomposition process

h1(n)

h0(n)

a(n)N/2 points

d(n)N/2 points

All information of x(n) is completely preserved in a(n) and d(n).

Approximation

Detail

Subband Coding (cont.) Subband Coding (cont.)

x(n)N points

UpSampling

by 2

UpSampling

by 2

Subband reconstruction process

Interpolation

g0(n)

a(n)N/2 points

d(n)N/2 points Interpolation

Freq.shift by

N/2

g1(n)

Subband Coding (cont.) Subband Coding (cont.)

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

2D Subband Coding 2D Subband Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Example of 2D Subband CodingExample of 2D Subband Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Diagonal detail:filtering in bothx and y directionsusing h1(n)

Horizontal detail:filtering in x-direction using h1(n) and in y-direction usingh0(n)

Approximation:filtering in bothx and y directionsusing h0(n)

Vertical detail: filtering in x-direction using h0(n) and in y-direction using h1(n)

1D Discrete Wavelet Transformation 1D Discrete Wavelet Transformation

x(n)N points

h(n)

h(n) 2

2

h (n)

h (n) 2

2

h (n)

h (n) 2

2

d1(n) N/2 points

d2(n) N/4 points

d3(n) N/8 points

a3(n) N/8 points

Wavelet coefficients(N points)

Note that the numberof points of x(n) andwavelet coefficients are equal.

(n) = a wavelet function(n) = a scaling function

1D Discrete Wavelet Transformation 1D Discrete Wavelet Transformation

2D Discrete Wavelet Transformation 2D Discrete Wavelet Transformation

d2 h2

v2 a2

a1

h1d1

v1

Original imageNxN

a3d3 h3v3

Level 1

Level 2

Level 3

d = diagonal detailh = horizontal detailv = vertical detaila = approximation

2D Discrete Wavelet Transformation (cont.) 2D Discrete Wavelet Transformation (cont.)

d2

h2

v2h1

d1v1

a3d3h3

v3

Original imageNxN

Wavelet coefficientsNxN

d = diagonal detail: filtering in both x and y directions using h (n)h = horizontal detail: filtering in x-direction using h (n) and in y direction using h (n)v = vertical detail: filtering in x-direction using h (n) and in y

direction using h (n)a = approximation: filtering in both x and y directions using h (n)

OriginalImage

Example of 2D Wavelet Transformation Example of 2D Wavelet Transformation

Original image

LH1

HL1

HH1

LL1LL1

Example of 2D Wavelet Transformation (cont.) Example of 2D Wavelet Transformation (cont.)

The first level wavelet decomposition

LL2

LH1

HL1

HH1

LH2 HH2

HL2LL2

Example of 2D Wavelet Transformation (cont.) Example of 2D Wavelet Transformation (cont.)

The second level wavelet decomposition

LH1 HH1

LH2 HH2

HL2

HL3

HH3LH3

LL3

HL1

The third level wavelet decomposition

Example of 2D Wavelet Transformation (cont.) Example of 2D Wavelet Transformation (cont.)

Example of 2D Wavelet TransformationExample of 2D Wavelet Transformation

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Examples: Types of Wavelet TransformExamples: Types of Wavelet Transform

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Haarwavelets

Symlets

Daubechieswavelets

Biorthogonalwavelets

Wavelet Transform Coding for Image CompressionWavelet Transform Coding for Image Compression

Wavelet transform

QuantizerSymbolencoder

Input image(NxN)

Compressedimage

Inverse wavelet

transform

Symboldecoder

Decompressedimage

Decoder

Encoder

Unlike DFT and DCT, Wavelet transform is a multiresolution transform.

Wavelet Transform Coding Example Wavelet Transform Coding Example

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(CR = 38:1) (CR = 67:1)

Error ImageRMS Error = 2.29

Zoom details

No blockingArtifact

Error ImageRMS Error = 2.96

Wavelet Transform Coding Example (cont.) Wavelet Transform Coding Example (cont.)

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(CR = 108:1) (CR = 167:1)

Error imageRMS Error = 3.72

Error imageRMS Error = 4.73

Zoom details

Wavelet Transform Coding vs. DCT Coding Wavelet Transform Coding vs. DCT Coding

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(CR = 67:1) (CR = 67:1)

Zoom details

Error imageRMS Error = 2.96

Wavelet DCT 8x8

Error imageRMS Error = 6.33

Type of Wavelet Transform and PerformanceType of Wavelet Transform and Performance

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

No. of Wavelet Transform Level and PerformanceNo. of Wavelet Transform Level and Performance

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Threshold Level and PerformanceThreshold Level and Performance

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Table 8.14 (Cont’)

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Table 8.19 (Con’t)

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Lossless Predictive Coding Model Lossless Predictive Coding Model

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Lossless Predictive Coding Example Lossless Predictive Coding Example

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Lossy Predictive Coding Model Lossy Predictive Coding Model

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Delta Modulation Delta Modulation

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Linear Prediction Techniques: Examples Linear Prediction Techniques: Examples

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Quantization Function Quantization Function

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Lloyd-Max Quantizers Lloyd-Max Quantizers

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Lossy DCPM Lossy DCPM

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

DCPM Result Images DCPM Result Images

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.

Error Images of DCPM Error Images of DCPM

(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.