Sunday, August 01, 2010

Revisiting Fractal Compression technique

During the early nineties, I was involved in the Fractal Image Compression research of Ateneo de Manila.  Last night, I uncovered an early IFS-based algorithm implemented by Michael F. Barnsley and Lyman P. Hurd in 1992.  The implementation was written in C and only works on TGA monochrome images.  I modified the algorithm so that it would work on colored images. I then implemented it in C++.

A total of 2304 affine maps are needed to encode the 192 x 192 image below:



Using the said 2304 affine maps, the image below was produced after 16 iterations:



Obviously, the resulting image is not good because the reconstruction errors are very apparent.  I decided to throw away the use of unsigned char (used by Barnsley and Hurd). Instead I used floating point datatype to represent pixel data.  After a thorough code modification, I got the result below:
 


This result is amazing!  The difference image below shows where the errors are:


While I'm quite satisfied by my implementation, the compression process is slow.  I recall that this is a problem that hindered the progress of our research then.  I may work on this problem again when I get a substantial amount of spare time.

No comments:

Published Scholars in the Philippines

Using Google Scholar data, webometrics ranks 453 scientists in the Philippines (June 2016 report). Each of these scientists has at least an...