View
226
Download
0
Embed Size (px)
Citation preview
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