Faster Fractal Image Compression Using Quadtree Recomposition Mahmoud, W.H. ; Jackson, D.J. ; A....

Post on 19-Dec-2015

222 views 0 download

Transcript of Faster Fractal Image Compression Using Quadtree Recomposition Mahmoud, W.H. ; Jackson, D.J. ; A....

Faster Fractal Image Compression Using Quadtree Recomp

osition

Mahmoud, W.H. ; Jackson, D.J. ; A. Stapleton ; P. T. Gaughan

Image and Vision Computing, 1997

Improved Quadtree Decomposition/Recomposition Algorithm f

or Fractal Image Compression

Mahmoud, W.H. ; Jackson, D.J.Tennessee Technological University The University of Alabama

Southeastcon '99. Proceedings. IEEE , 1999

Introduction

Introduction to Fractals Introduction to Fractal Image Coding Quadtree Decomposition Partitioning (QD) Quadtree Recomposition Partitioning (QR) (1

997) QD vs. QR Quadtree Decomposition / Recomposition Alg

orithm (QDR) (1999) Result

Introduction to Fractals

Proposed by Mandelbrat (曼德保 ) in 1975 Infinite structure Self similar

Introduction to Fractals

Mandelbrat set ( z2 + c = 0 )

Introduction to Fractal Image Coding

Attractor: Let W be a transformation and is its attractor, then for any p. (fixed point)

Collage theorem (Barnsley (巴斯理 ), 1985): i. Let W be a contractive transformation and is its

attractor (if R, R’ are two similar images,

, ie. )

ii. , where R is a image

=> For any initial graph A,

xxpW n

n

)(lim

xxW )(

x

RRRW ')(

),'())(),'(( RRRWRW 2/1

,

1,1,

22 ))((1),(),(

,,

nn

kjkjkj

BAn

BAMSEBA

RxAW n

n

)(lim

Introduction to Fractal Image Coding

Idea Divide the image R into a set of non-overlapping b

locks {Ri} (Range blocks)

For each Ri, we search a domain block Di, and a contractive transformation Wi st.

i. Wi is a contractive transformation

ii. , let

From Collage theorem,

for any graph A.

iiii RDDW ')(

RRDWRDDW iii

iiii ')(')( RRRWDWRW iii

')()()(RxAW n

n

)(lim

Wi

Di

Ri

Ri

Di

larger, overlaping

and R ∪Di

Introduction to Fractal Image Coding

Encoding Algorithm1. Get an image R

2. Cover the support of R with range blocks Ri.

3. For each range block Ri, find a domain block Di and a transformation Wi st.

The edge length of a domain block is usually twice the edge length of a range block

4. Write the transformations in an IFS form

5. Apply a lossless data compression for the IFSs

small, non-overlaping and R =

∪Ri

Rangeblock

Domainblock

iiii RDDW ')(

Introduction to Fractal Image Coding

Wi

Ri

iini

nDDW ')(

lim

1 4

Di

δx

^δy<

thresholdRDnMSEnn

kj

iikjkj

,

1,1,

2)'(1,,

δy, δx are search steps

Quadtree Decomposition Partitioning (QD)

1. Partition the image into a set of large range blocks

2. If a range is fail to find a match, the process is repeated after partitioning that particular range block into four quadrants

ccc

c

c c

c

cc

c c

c

cover

cover

Top-down

c

Quadtree Decomposition Partitioning (QD)

Grayshade blocks and edge blocks All range and domain blocks are compared with a

constant grayshade block. Blocks that exhibit an MSE error less than the user-specified tolerance are classified as grayshade blocks. Remaining blocks are classified as edge blocks.

Grayshade range blocks don’t require search for a matching domain block.

Grayshade domain blocks are excluded from the domain pool used in the matching process

Quadtree Decomposition Partitioning (QD)

QD algorithm may waste time on unnecessary computations during compression of high complex images or low MSE tolerance.

Lena, medium complexityBoy, lowest complexity

Goldhill, highest complexity

Number of grayshade range

blocks

Number of matched

range blocks

Quadtree Recomposition Partitioning (QR) (1997)

1. Partition the image into a set of small range blocks, and all blocks are initially uncovered

2. If a range finds its match, we assumed it uncovered. Remaining ranges are set covered.

3. At the next level, a block is uncovered if its four children are uncoverd.

… … …

Bottom-up

QD vs. QR Total image area αT The percentage areas covered by large, medium, and small edge range blocks, ρl ,ρm

,ρs . The percentage of domain blocks which must be compared with large, medium, and s

mall range blocks before an acceptable mach is found, σl ,σm ,σs . The total domain area for each level, δl ,δm ,δs . The percentage of large, medium, and small grayshade range blocks, γR

l , γRm , γR

s . The percentage of large, medium, and small grayshade domain blocks, γD

l , γDm , γD

s . QD search complexity for each level: Ο(SQD

l) = αT(1 -γRl) ∙δlσl (1 -γD

l) Ο(SQD

m) = αT(1 -ρl-γRm) ∙δmσm (1 -γD

m) Ο(SQD

s) = αT(1 -ρl-ρm-γRs) ∙δsσs (1 -γD

s) DR search complexity for each level: Ο(SQR

l) = αT(1 -γRs) ∙δsσs (1 -γD

s) Ο(SQR

m) = αT(1 -ρs-γRm) ∙δmσm (1 -γD

m) Ο(SQR

s) = αT(1 -ρs-ρm-γRl) ∙δlσl (1 -γD

l)

Total search area for range blocks at first

level

Total search area for domain

blocks at first level

The range blocks which find matches

at first level

Di

QD vs. QR

Quadtree Decomposition / Recomposition Algorithm (QDR) (1999) QR: some unnecessary computations are used to re

compose large or medium size range blocks that are then classified as grayshade blocks

A range block that is classified as a grayshade block may have one or more of its quadrants are classified as edge blocks eg. Boy image, MSE = 10

The amount of wasted computations increases as the complexity of the image decreases.

QD QR

Numbers of grayshade large blocks at level 1

87 83

ge g

g

g g ge

e

Quadtree Decomposition / Recomposition Algorithm (QDR) (1999)

1. Decompose the image in a top-down fashion in order to find and eliminate all grayshade range blocks at all quadtree levels

2. Use QR algorithm to process all remaining edge-classified range blocks

… …

Result

No computations are wasted on recomposing grayshade blocks

Result (QD, QR and QDR)

Multiplication-accumulation is the total number of multiplications during searching domain blocksteps by applying MSE < threshold