presentation-survey of fractal image compression algorithms
TRANSCRIPT
![Page 1: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/1.jpg)
Survey of Fractal Image Compression Algorithms
Ramesh Singh RawatDepartment of Computer Science & Engineering
Graphic Era UniversityDehradun, INDIA -248002
Dissertation Title
![Page 2: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/2.jpg)
Image Compression Taxonomy
Fractal Coding
![Page 3: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/3.jpg)
Why Fractal Image CompressionMathematical BackgroundHow does it work?ExamplesPossible Improvements
Overview
![Page 4: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/4.jpg)
Fractals are now used in many forms to create textured landscapes and other intricate models. It is possible to create all sorts of realistic fractal forgeries, images of natural scenes, such as lunar landscapes, mountain ranges and coastlines. This is seen in many special effects within Hollywood movies and also in television advertisements.
Fractal Landscapes
A fractal landscape created by Professor Ken Musgrave (Copyright: Ken Musgrave)
A fractal planet
![Page 5: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/5.jpg)
Mathematical Background
Started with Michael Barnsley, and refined by A. Jacquin
Try and find a set of transforms that map an image onto itself.
The key is the Collage TheoremStates that if the error difference between the
target image and the transformation of that image is less than a certain value the transforms are an equivalent representation of the image.
![Page 6: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/6.jpg)
Why Fractal Image CompressionDifferent type of compression scheme
worth exploringTakes advantage of similarities within an
imageFractal image compression (FIC) provides
high compression ratioFast decompression times and high
restored image qualities.
![Page 7: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/7.jpg)
FRACTAL IMAGE COMPRESSION
The output images converge to the Sierpinski triangle. This final image is called attractor for this photocopying machine. Any initial image will be transformed to the attractor if we repeatedly run the machine.
On the other words, the attractor for this machine is always the same image without regardless of the initial image. This feature is one of the keys to the fractal image compression.
![Page 8: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/8.jpg)
How can we describe behavior of the machine ? Transformations of the form as follows will help us.
Such transformations are called affine transformations. Affine transformations are able to skew, stretch, rotate, scale and translate an input image.
M. Barnsley suggested that perhaps storing images as collections of transformations could lead to image compression.
i i ii
i i i
a b ex xw
c d fy y
= +
![Page 9: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/9.jpg)
Iterated Function Systems ( IFS )An iterated function system consists of a collection of contractive affine transformations.
For an input set S, we can compute wi for each i, take the union of these sets, and get a new set W(S).
Hutchinson proved that in IFS, if the wi are contractive, then W is contractive, thus the map W will have a unique fixed point in the space of all images. That means, whatever image we start with, we can repeatedly apply W to it and our initial image will converge to a fixed image. Thus W completely determine a unique image.
1
(*) (*)n
ii
W w=
=
( )| | lim ( )nox
W f W f∞ →∞≡ =
![Page 10: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/10.jpg)
Block Diagram of Fractal Image Encoding Process
![Page 11: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/11.jpg)
![Page 12: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/12.jpg)
How does it work?-Encoding Take a starting image and divide it into small, non-
overlapping, square blocks, typically called “parent blocks”. Divide each parent block into 4 each blocks, or “child
blocks.” Compare each child block against a subset of all possible
overlapping blocks of parent block size. Need to reduce the size of the parent to allow the comparison to
work.
Determine which larger block has the lowest difference, according to some measure, between it and the child block.
Calculate a grayscale transform to match intensity levels between large block and child block precisely. Typically an affine transform is used (w*x = a*x + b) to match grayscale levels.
![Page 13: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/13.jpg)
Figure : (a) Feedback system, (b) Initial Image (c) Stage 1
![Page 14: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/14.jpg)
Upper left corner child block, very similar to upper right parent block.
Compute affine transform. Store location of parent block (or
transform block), affine transform components, and related child block into a file.
Repeat for each child block. Lots of comparisons can
calculations. 256x256 original image 16x16 sized parent blocks 241*241 = 58,081 block
comparisons
![Page 15: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/15.jpg)
The Twin Christmas TreeAnother IFS with three similarity transformations with scaling
factor 1/2.
![Page 16: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/16.jpg)
The Cantor MazeIFS with three transformations, one of which is a similarity. The
attractor is related to the Cantor set.
![Page 17: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/17.jpg)
Crystal with Four SimilarityTransformations
![Page 18: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/18.jpg)
Crystal with Five Transformations
IFS with five similarity transformations.
![Page 19: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/19.jpg)
A TreeThe attractor with five transformations can even
resemble the image of a tree
![Page 20: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/20.jpg)
Decoding Read in child block and tranform block position,
transform, and size information. Use any blank starting image of same size as
original image For each child block apply stored transforms
against specified transform block Overwrite child block pixel values with transform
block pixel values Repeat until acceptable image quality is
reached.
![Page 21: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/21.jpg)
Examples Original Image
Starting Image for Decoding
![Page 22: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/22.jpg)
Decoding
First Iteration
Second Iteration
![Page 23: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/23.jpg)
Decoding
Fifth Iteration
Tenth Iteration
![Page 24: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/24.jpg)
Self-Similarity in ImagesWe define the distance of two images by:
Original Lena image Self-similar portions of the image
( , )( , ) sup | ( , ) ( , ) |
x y Pf g f x y g x yδ
∈= −
where f and g are value of the level of grey of pixel, P is the space of the image
![Page 25: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/25.jpg)
![Page 26: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/26.jpg)
Affine transformation mentioned earlier is able to "geometrically" transform part of the image but is not able to transform grey level of the pixel. so we have to add a new dimension into affine transformation
Here si represents the contrast, oi the brightness of the transformation
For encoding of the image, we divide it into:
• non-overlapped pieces (so called ranges, R)
• overlapped pieces (so called domains, D)
00
0 0
i i i
i i i i
i i
x a b x ew y c d y f
z s z o
= +
![Page 27: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/27.jpg)
Encoding ImagesSuppose we have an image f that we want to encode. On the other words, we want to find a IFS W of which f to be the fixed point of the map W
We seek a partition of f into N non-overlapped pieces of the image to which we apply the transforms wi and get back f.
We should find pieces Di and maps wi, so that when we apply a wi to the part of the image over Di , we should get something that is very close to the any other part of the image over Ri .
Finding the pieces Ri and corresponding Di by minimizing distances between them is the goal of the problem.
![Page 28: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/28.jpg)
Decoding ImagesThe decoding step is very simple. We start with any image and apply the stored affine transformations repeatedly till the image no longer changes or changes very little. This is the decoded image.
First three iterations of the decompression of the image of an eye from an initial solid grey image
![Page 29: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/29.jpg)
An ExampleSuppose we have to encode 256x256 pixel grayscale image.
Let R1~R1024 be the 8x8 pixel non-overlapping sub-squares of the image, and let D be the collection of all overlapping 16x16 pixel sub-squares of the image (general, domain is 4 times greater than range). The collection D contains (256-16+1) * (256-16+1) = 58,081 squares. For each Ri search through all of D to find Di with minimal distances
To find most-likely sub-squares we have to minimize distance equation. That means we must find a good choice for Di that most looks like the image above Ri (in any of 8 ways of orientations) and find a good contrast si and brightness oi. For each Ri , Di pair we can compute contrast and brightness using least squares regression.
![Page 30: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/30.jpg)
![Page 31: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/31.jpg)
![Page 32: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/32.jpg)
![Page 33: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/33.jpg)
Fractal Image Compression versus JPEG Compression
Original Lena image (184,320 bytes)
JPEG-max. quality (32,072)comp. ratio: 5.75:1
FIF-max. quality (30,368)comp. ratio: 6.07:1
![Page 34: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/34.jpg)
One very important feature of the Fractal Image Compression is Resolution Independence.
When we want to decode image, the only thing we have to do is apply these transformations on any initial image. After each iteration, details on the decoded image are sharper and sharper. That means, the decoded image can be decoded at any size.
So we can zone in the image on the larger sizes without having the "pixelization" effect..
Resolution Independence
Lena's eyeoriginal image enlarged to 4 times
Lena's eyedecoded at 4 times its encoding size
![Page 35: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/35.jpg)
Possible Improvements Greatest weakness is time for encodingPossible speed ups
Order transform blocks into domains based off of average intensity and variance
Only search through blocks with similar structuresDo not search all possible blocksReduce number of child blocks
Quality and Compression Improvements throughQuadtrees or HV TreesRotations of Transform Blocks during comparison Improved grayscale transforms
![Page 36: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/36.jpg)
![Page 37: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/37.jpg)
![Page 38: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/38.jpg)
References1. A. K. Jain, "Image data compression: a review," Proc. of the IEEE, vol.
69(3), p349-389, Mar. 19812. A.E. Jacquin, “Fractal Image Coding: A Review”, Proc. IEEE, Vol.81,
No.10, pp. 1451-1465, October 1993.3. B. B. Mandelbrot, The Fractal Geometry of Nature”, WH Freeman, 1982.4. Barnsley M.F, “Fractal Image Compression,” Academic Press. San Diego,
1998.5. Barnsley, M. F., “Fractal Image Compression,” Notice of AMS, Vol. 43,
Number 6, 1996. 6. Barnsley, M. F., “Fractals everywhere”, New York : Academic Press,
1988. 7. Y. Fisher, “Fractal Image Compression”, Siggraph 99.8. Y. Fisher, E.W. Jacobs, and R.D Boss, “Fractal Image Compression Using
Iterated Transforms,” NOSC Technical Report, Naval Ocean Systems Center, San Diego CA 92 152-5000.
![Page 39: Presentation-Survey of Fractal Image Compression Algorithms](https://reader033.vdocuments.site/reader033/viewer/2022042518/542d08be219acd46518b4e3b/html5/thumbnails/39.jpg)
Thank You