Fractal compression

Last updated
2 triangles, example to show how fractal compression works Zasada dzialania ifs 1.png
2 triangles, example to show how fractal compression works

Fractal compression is a lossy compression method for digital images, based on fractals. The method is best suited for textures and natural images, relying on the fact that parts of an image often resemble other parts of the same image. [1] Fractal algorithms convert these parts into mathematical data called "fractal codes" which are used to recreate the encoded image.

Contents

Iterated function systems

Fractal image representation may be described mathematically as an iterated function system (IFS). [2]

For binary images

We begin with the representation of a binary image, where the image may be thought of as a subset of . An IFS is a set of contraction mappings ƒ1,...,ƒN,

According to these mapping functions, the IFS describes a two-dimensional set S as the fixed point of the Hutchinson operator

That is, H is an operator mapping sets to sets, and S is the unique set satisfying H(S) = S. The idea is to construct the IFS such that this set S is the input binary image. The set S can be recovered from the IFS by fixed point iteration: for any nonempty compact initial set A0, the iteration Ak+1 = H(Ak) converges to S.

The set S is self-similar because H(S) = S implies that S is a union of mapped copies of itself:

So we see the IFS is a fractal representation of S.

Extension to grayscale

IFS representation can be extended to a grayscale image by considering the image's graph as a subset of . For a grayscale image u(x,y), consider the set S = {(x,y,u(x,y))}. Then similar to the binary case, S is described by an IFS using a set of contraction mappings ƒ1,...,ƒN, but in ,

Encoding

A challenging problem of ongoing research in fractal image representation is how to choose the ƒ1,...,ƒN such that its fixed point approximates the input image, and how to do this efficiently.

A simple approach [2] for doing so is the following partitioned iterated function system (PIFS):

  1. Partition the image domain into range blocks Ri of size s×s.
  2. For each Ri, search the image to find a block Di of size 2s×2s that is very similar to Ri.
  3. Select the mapping functions such that H(Di) = Ri for each i.

In the second step, it is important to find a similar block so that the IFS accurately represents the input image, so a sufficient number of candidate blocks for Di need to be considered. On the other hand, a large search considering many blocks is computationally costly. This bottleneck of searching for similar blocks is why PIFS fractal encoding is much slower than for example DCT and wavelet based image representation.

The initial square partitioning and brute-force search algorithm presented by Jacquin provides a starting point for further research and extensions in many possible directions—different ways of partitioning the image into range blocks of various sizes and shapes; fast techniques for quickly finding a close-enough matching domain block for each range block rather than brute-force searching, such as fast motion estimation algorithms; different ways of encoding the mapping from the domain block to the range block; etc. [3]

Other researchers attempt to find algorithms to automatically encode an arbitrary image as RIFS (recurrent iterated function systems) or global IFS, rather than PIFS; and algorithms for fractal video compression including motion compensation and three dimensional iterated function systems. [4] [5]

Fractal image compression has many similarities to vector quantization image compression. [6]

Features

With fractal compression, encoding is extremely computationally expensive because of the search used to find the self-similarities. Decoding, however, is quite fast. While this asymmetry has so far made it impractical for real time applications, when video is archived for distribution from disk storage or file downloads fractal compression becomes more competitive. [7] [8]

At common compression ratios, up to about 50:1, fractal compression provides similar results to DCT-based algorithms such as JPEG. [9] At high compression ratios fractal compression may offer superior quality. For satellite imagery, ratios of over 170:1 [10] have been achieved with acceptable results. Fractal video compression ratios of 25:1–244:1 have been achieved in reasonable compression times (2.4 to 66 sec/frame). [11]

Compression efficiency increases with higher image complexity and color depth, compared to simple grayscale images.

Resolution independence and fractal scaling

An inherent feature of fractal compression is that images become resolution independent [12] after being converted to fractal code. This is because the iterated function systems in the compressed file scale indefinitely. This indefinite scaling property of a fractal is known as "fractal scaling".

Fractal interpolation

The resolution independence of a fractal-encoded image can be used to increase the display resolution of an image. This process is also known as "fractal interpolation". In fractal interpolation, an image is encoded into fractal codes via fractal compression, and subsequently decompressed at a higher resolution. The result is an up-sampled image in which iterated function systems have been used as the interpolant. [13] Fractal interpolation maintains geometric detail very well compared to traditional interpolation methods like bilinear interpolation and bicubic interpolation. [14] [15] [16] Since the interpolation cannot reverse Shannon entropy however, it ends up sharpening the image by adding random instead of meaningful detail. One cannot, for example, enlarge an image of a crowd where each person's face is one or two pixels and hope to identify them.

History

Michael Barnsley led the development of fractal compression from 1985 at the Georgia Institute of Technology (where both Barnsley and Sloan were professors in the mathematics department). [17] The work was sponsored by DARPA and the Georgia Tech Research Corporation. The project resulted in several patents from 1987. [18] Barnsley's graduate student Arnaud Jacquin implemented the first automatic algorithm in software in 1992. [19] [20] All methods are based on the fractal transform using iterated function systems. Michael Barnsley and Alan Sloan formed Iterated Systems Inc. [21] in 1987 which was granted over 20 additional patents related to fractal compression.

A major breakthrough for Iterated Systems Inc. was the automatic fractal transform process which eliminated the need for human intervention during compression as was the case in early experimentation with fractal compression technology. In 1992, Iterated Systems Inc. received a US$2.1 million government grant [22] to develop a prototype digital image storage and decompression chip using fractal transform image compression technology.

Fractal image compression has been used in a number of commercial applications: onOne Software, developed under license from Iterated Systems Inc., Genuine Fractals 5 [23] which is a Photoshop plugin capable of saving files in compressed FIF (Fractal Image Format). To date the most successful use of still fractal image compression is by Microsoft in its Encarta multimedia encyclopedia, [24] also under license.

Iterated Systems Inc. supplied a shareware encoder (Fractal Imager), a stand-alone decoder, a Netscape plug-in decoder and a development package for use under Windows. The redistribution of the "decompressor DLL" provided by the ColorBox III SDK was governed by restrictive per-disk or year-by-year licensing regimes for proprietary software vendors and by a discretionary scheme that entailed the promotion of the Iterated Systems products for certain classes of other users. [25]

ClearVideo  also known as RealVideo (Fractal)  and SoftVideo were early fractal video compression products. ClearFusion was Iterated's freely distributed streaming video plugin for web browsers. In 1994 SoftVideo was licensed to Spectrum Holobyte for use in its CD-ROM games including Falcon Gold and Star Trek: The Next Generation A Final Unity. [26]

In 1996, Iterated Systems Inc. announced [27] an alliance with the Mitsubishi Corporation to market ClearVideo to their Japanese customers. The original ClearVideo 1.2 decoder driver is still supported [28] by Microsoft in Windows Media Player although the encoder is no longer supported.

Two firms, Total Multimedia Inc. and Dimension, both claim to own or have the exclusive licence to Iterated's video technology, but neither has yet released a working product. The technology basis appears to be Dimension's U.S. patents 8639053 and 8351509, which have been considerably analyzed. [29] In summary, it is a simple quadtree block-copying system with neither the bandwidth efficiency nor PSNR quality of traditional DCT-based codecs. In January 2016, TMMI announced that it was abandoning fractal-based technology altogether.

Research papers between 1997 and 2007 discussed possible solutions to improve fractal algorithms and encoding hardware. [30] [31] [32] [33] [34] [35] [36] [37] [38]

Implementations

A library called Fiasco was created by Ullrich Hafner. In 2001, Fiasco was covered in the Linux Journal . [39] According to the 2000-04 Fiasco manual, Fiasco can be used for video compression. [40] The Netpbm library includes the Fiasco library. [41] [42]

Femtosoft developed an implementation of fractal image compression in Object Pascal and Java. [43]

See also

Notes

  1. May, Mike (1996). "Fractal Image Compression". American Scientist. 84 (5): 442–451. Bibcode:1996AmSci..84..442M. JSTOR   29775747. ProQuest   215266230.
  2. 1 2 Fischer, Yuval (1992-08-12). Przemyslaw Prusinkiewicz (ed.). SIGGRAPH'92 course notes - Fractal Image Compression (PDF). SIGGRAPH. Vol. Fractals - From Folk Art to Hyperreality. ACM SIGGRAPH. Archived from the original (PDF) on 2017-09-12. Retrieved 2017-06-28.
  3. Saupe, Dietmar; Hamzaoui, Raouf (November 1994). "A review of the fractal image compression literature". ACM SIGGRAPH Computer Graphics. 28 (4): 268–276. doi:10.1145/193234.193246. S2CID   10489445.
  4. Lacroix, Bruno (1999). Fractal image compression (Thesis). doi: 10.22215/etd/1999-04159 . OCLC   1103597126. ProQuest   304520711.
  5. Fisher, Yuval (2012). Fractal Image Compression: Theory and Application. Springer Science & Business Media. p. 300. ISBN   978-1-4612-2472-3.
  6. Henry Xiao. "Fractal Compression". 2004.
  7. John R. Jensen, "Remote Sensing Textbooks", Image Compression Alternatives and Media Storage Considerations (reference to compression/decompression time), University of South Carolina, archived from the original on 2008-03-03
  8. Steve Heath (23 August 1999). Multimedia and communications technology. Focal Press. pp. 120–123. ISBN   978-0-240-51529-8. Focal Press link
  9. Sayood, Khalid (2006). Introduction to Data Compression. Elsevier. pp. 560–569. ISBN   978-0-12-620862-7.
  10. Wee Meng Woon; Anthony Tung Shuen Ho; Tao Yu; Siu Chung Tam; Siong Chai Tan; Lian Teck Yap (2000). "Achieving high data compression of self-similar satellite images using fractal". IGARSS 2000. IEEE 2000 International Geoscience and Remote Sensing Symposium. Taking the Pulse of the Planet: The Role of Remote Sensing in Managing the Environment. Proceedings (Cat. No.00CH37120). Vol. 2. pp. 609–611. doi:10.1109/IGARSS.2000.861646. ISBN   0-7803-6359-0. S2CID   14516581.
  11. Fisher, Y. (July 1995). Fractal encoding of video sequences. Fractal image encoding and analysis. Trondheim. INIST   1572685.
  12. Walking, Talking Web Archived 2008-01-06 at the Wayback Machine Byte Magazine article on fractal compression/resolution independence
  13. He, Chuan-jiang; Li, Gao-ping; Shen, Xiao-na (May 2007). "Interpolation decoding method with variable parameters for fractal image compression". Chaos, Solitons & Fractals. 32 (4): 1429–1439. Bibcode:2007CSF....32.1429H. doi:10.1016/j.chaos.2005.11.058.
  14. Navascués, M. A.; Sebastián, M. V. (2006). "Smooth fractal interpolation". Journal of Inequalities and Applications. 2006: 1–20. doi: 10.1155/JIA/2006/78734 . S2CID   20352406.
  15. Uemura, Satoshi; Haseyama, Miki; Kitajima, Hideo (28 January 2003). "EFIFを用いた自己アフィンフラクタル図形の拡大処理に関する考察" [A Note on Expansion Technique for Self-Affine Fractal Objects Using Extended Fractal Interpolation Functions]. IEICE Technical Report (in Japanese). 102 (630): 95–100. doi:10.11485/itetr.27.9.0_95. NAID   110003171506.
  16. Kuroda, Hideo; Hu, Xiaotong; Fujimura, Makoto (1 February 2003). "フラクタル画像符号化におけるスケーリングファクタに関する考察" [Studies on Scaling Factor for Fractal Image Coding]. The Transactions of the Institute of Electronics, Information and Communication Engineers (in Japanese). 86 (2): 359–363. NAID   110003170896.
  17. Barnsley, Michael; Sloan, Alan (January 1988). "A Better Way to Compress Images". Byte. pp. 215–223.
  18. U.S. patent 4,941,193   Barnsley and Sloan's first iterated function system patent, filed in October 1987
  19. Using Fractal Coding to Index Image Content for a Digital Library Tech report
  20. Jacquin, A.E. (1992). "Image coding based on a fractal theory of iterated contractive image transformations". IEEE Transactions on Image Processing. 1 (1): 18–30. Bibcode:1992ITIP....1...18J. CiteSeerX   10.1.1.456.1530 . doi:10.1109/83.128028. PMID   18296137.
  21. Iterated Systems Inc. changed its name to MediaBin Inc. Inc. in 2001 and in turn was bought out by Interwoven, Inc. in 2003)
  22. NIST SP950-3, "Capturing and Integrating Patient Healthcare Information to Improve Accessibility"; see page 36, "MediaBin Fractal-Based Technology to Compress Digital Image Files" Archived 2015-09-23 at the Wayback Machine
  23. Genuine Fractals Product Review
  24. "MAW 1998: Theme Essay". www.mathaware.org. Archived from the original on 31 August 2016. Retrieved 18 April 2018.
  25. Aitken, William (May 1994). "The big squeeze". Personal Computer World.
  26. 1994 Manual specifying on page 11 SoftVideo under license to Spectrum Holobyte
  27. "Mitsubishi Corporation Inks Agreement With Iterated Systems" (Press release). Iterated Systems. 29 October 1996. Archived from the original on 8 July 2012.
  28. "Windows Media Player for Windows XP Supported Codecs". 31 October 2003. Archived from the original on 28 October 2004.
  29. "April - 2014 - Due Diligence Study of Fractal Video Technology". paulschlessinger.wordpress.com. Retrieved 18 April 2018.
  30. Kominek, John (1 June 1997). "Advances in fractal compression for multimedia applications". Multimedia Systems. 5 (4): 255–270. CiteSeerX   10.1.1.47.3709 . doi:10.1007/s005300050059. S2CID   6016583.
  31. Harada, Masaki; Kimoto, Tadahiko; Fujii, Toshiaki; Tanimoto, Masayuki (2000). "Fast calculation of IFS parameters for fractal image coding". In Ngan, King N; Sikora, Thomas; Sun, Ming-Ting (eds.). Visual Communications and Image Processing 2000. Vol. 4067. pp. 457–464. Bibcode:2000SPIE.4067..457H. doi:10.1117/12.386580. S2CID   30148845. INIST   1380599.
  32. Rajkumar, Wathap Sapankumar; Kulkarni, M.V.; Dhore, M.L.; Mali, S.N. (2006). "Fractal image compression performance synthesis through HV partitioning". 2006 International Conference on Advanced Computing and Communications. pp. 636–637. doi:10.1109/ADCOM.2006.4289976. ISBN   978-1-4244-0715-6. S2CID   15370862.
  33. Simple and Fast Fractal Image Compression Circuits, Signals, and Systems - 2003
  34. Wu, Ming-Sheng; Jeng, Jyh-Horng; Hsieh, Jer-Guang (June 2007). "Schema genetic algorithm for fractal image compression". Engineering Applications of Artificial Intelligence. 20 (4): 531–538. doi:10.1016/j.engappai.2006.08.005.
  35. Wu, Xianwei; Jackson, David Jeff; Chen, Hui-Chuan (September 2005). "A fast fractal image encoding method based on intelligent search of standard deviation". Computers & Electrical Engineering. 31 (6): 402–421. doi:10.1016/j.compeleceng.2005.02.003.
  36. Wu, Xianwei; Jackson, David Jeff; Chen, Hui-Chuan (2005). "Novel fractal image-encoding algorithm based on a full-binary-tree searchless iterated function system". Optical Engineering. 44 (10): 107002. Bibcode:2005OptEn..44j7002W. doi:10.1117/1.2076828.
  37. Truong, Trieu-Kien; Jeng, Jyh H. (2000). "Fast classification method for fractal image compression". In Schmalz, Mark S (ed.). Mathematics and Applications of Data/Image Coding, Compression, and Encryption III. Vol. 4122. pp. 190–193. Bibcode:2000SPIE.4122..190T. doi:10.1117/12.409247. S2CID   120032052.
  38. Erra, Ugo (2005). "Toward Real Time Fractal Image Compression Using Graphics Hardware". Advances in Visual Computing. Lecture Notes in Computer Science. Vol. 3804. pp. 723–728. doi:10.1007/11595755_92. hdl:11563/14075. ISBN   978-3-540-30750-1.
  39. Hafner, Ullrich (2001). "FIASCO - An Open-Source Fractal Image and Sequence Codec". Linux Journal (81). Retrieved February 19, 2013.
  40. "Manpage of fiasco". castor.am.gdynia.pl. Archived from the original on 9 March 2012. Retrieved 18 April 2018.
  41. "Pnmtofiasco User Manual". netpbm.sourceforge.net. Retrieved 18 April 2018.
  42. "Fiascotopnm User Manual". netpbm.sourceforge.net. Retrieved 18 April 2018.
  43. "Femtosoft Technologies - Fractal Imaging Software". Archived from the original on 2010-10-23. Retrieved 2010-07-10.

Related Research Articles

In information theory, data compression, source coding, or bit-rate reduction is the process of encoding information using fewer bits than the original representation. Any particular compression is either lossy or lossless. Lossless compression reduces bits by identifying and eliminating statistical redundancy. No information is lost in lossless compression. Lossy compression reduces bits by removing unnecessary or less important information. Typically, a device that performs data compression is referred to as an encoder, and one that performs the reversal of the process (decompression) as a decoder.

<span class="mw-page-title-main">Numerical analysis</span> Methods for numerical approximations

Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis. It is the study of numerical methods that attempt to find approximate solutions of problems rather than the exact ones. Numerical analysis finds application in all fields of engineering and the physical sciences, and in the 21st century also the life and social sciences like economics, medicine, business and even the arts. Current growth in computing power has enabled the use of more complex numerical analysis, providing detailed and realistic mathematical models in science and engineering. Examples of numerical analysis include: ordinary differential equations as found in celestial mechanics, numerical linear algebra in data analysis, and stochastic differential equations and Markov chains for simulating living cells in medicine and biology.

<span class="mw-page-title-main">Wavelet</span> Function for integral Fourier-like transform

A wavelet is a wave-like oscillation with an amplitude that begins at zero, increases or decreases, and then returns to zero one or more times. Wavelets are termed a "brief oscillation". A taxonomy of wavelets has been established, based on the number and direction of its pulses. Wavelets are imbued with specific properties that make them useful for signal processing.

<span class="mw-page-title-main">Motion compensation</span> Video compression technique, used to efficiently predict and generate video frames

Motion compensation in computing is an algorithmic technique used to predict a frame in a video given the previous and/or future frames by accounting for motion of the camera and/or objects in the video. It is employed in the encoding of video data for video compression, for example in the generation of MPEG-2 files. Motion compensation describes a picture in terms of the transformation of a reference picture to the current picture. The reference picture may be previous in time or even from the future. When images can be accurately synthesized from previously transmitted/stored images, the compression efficiency can be improved.

A discrete cosine transform (DCT) expresses a finite sequence of data points in terms of a sum of cosine functions oscillating at different frequencies. The DCT, first proposed by Nasir Ahmed in 1972, is a widely used transformation technique in signal processing and data compression. It is used in most digital media, including digital images, digital video, digital audio, digital television, digital radio, and speech coding. DCTs are also important to numerous other applications in science and engineering, such as digital signal processing, telecommunication devices, reducing network bandwidth usage, and spectral methods for the numerical solution of partial differential equations.

<span class="mw-page-title-main">Iterated function system</span> Method for the construction of fractals

In mathematics, iterated function systems (IFSs) are a method of constructing fractals; the resulting fractals are often self-similar. IFS fractals are more related to set theory than fractal geometry. They were introduced in 1981.

In mathematics, the transfer operator encodes information about an iterated map and is frequently used to study the behavior of dynamical systems, statistical mechanics, quantum chaos and fractals. In all usual cases, the largest eigenvalue is 1, and the corresponding eigenvector is the invariant measure of the system.

<span class="mw-page-title-main">Chaos game</span> Method of creating a fractal, using a polygon and an initial point selected at random inside it

In mathematics, the term chaos game originally referred to a method of creating a fractal, using a polygon and an initial point selected at random inside it. The fractal is created by iteratively creating a sequence of points, starting with the initial random point, in which each point in the sequence is a given fraction of the distance between the previous point and one of the vertices of the polygon; the vertex is chosen at random in each iteration. Repeating this iterative process a large number of times, selecting the vertex at random on each iteration, and throwing out the first few points in the sequence, will often produce a fractal shape. Using a regular triangle and the factor 1/2 will result in the Sierpinski triangle, while creating the proper arrangement with four points and a factor 1/2 will create a display of a "Sierpinski Tetrahedron", the three-dimensional analogue of the Sierpinski triangle. As the number of points is increased to a number N, the arrangement forms a corresponding (N-1)-dimensional Sierpinski Simplex.

<span class="mw-page-title-main">Wavelet transform</span> Mathematical technique used in data compression and analysis

In mathematics, a wavelet series is a representation of a square-integrable function by a certain orthonormal series generated by a wavelet. This article provides a formal, mathematical definition of an orthonormal wavelet and of the integral wavelet transform.

<span class="mw-page-title-main">Hilbert curve</span> Space-filling curve

The Hilbert curve is a continuous fractal space-filling curve first described by the German mathematician David Hilbert in 1891, as a variant of the space-filling Peano curves discovered by Giuseppe Peano in 1890.

Block Truncation Coding (BTC) is a type of lossy image compression technique for greyscale images. It divides the original images into blocks and then uses a quantizer to reduce the number of grey levels in each block whilst maintaining the same mean and standard deviation. It is an early predecessor of the popular hardware DXTC technique, although BTC compression method was first adapted to color long before DXTC using a very similar approach called Color Cell Compression. BTC has also been adapted to video compression.

<span class="mw-page-title-main">Matching pursuit</span> Multidimensional data algorithm

Matching pursuit (MP) is a sparse approximation algorithm which finds the "best matching" projections of multidimensional data onto the span of an over-complete dictionary . The basic idea is to approximately represent a signal from Hilbert space as a weighted sum of finitely many functions taken from . An approximation with atoms has the form

The filled-in Julia set of a polynomial is a Julia set and its interior, non-escaping set.

Mean shift is a non-parametric feature-space mathematical analysis technique for locating the maxima of a density function, a so-called mode-seeking algorithm. Application domains include cluster analysis in computer vision and image processing.

In mathematics, the collage theorem characterises an iterated function system whose attractor is close, relative to the Hausdorff metric, to a given set. The IFS described is composed of contractions whose images, as a collage or union when mapping the given set, are arbitrarily close to the given set. It is typically used in fractal compression.

<span class="mw-page-title-main">Barnsley fern</span> Fractal which resembles a plant

The Barnsley fern is a fractal named after the British mathematician Michael Barnsley who first described it in his book Fractals Everywhere. He made it to resemble the black spleenwort, Asplenium adiantum-nigrum.

In coding theory, folded Reed–Solomon codes are like Reed–Solomon codes, which are obtained by mapping Reed–Solomon codewords over a larger alphabet by careful bundling of codeword symbols.

Sparse dictionary learning is a representation learning method which aims to find a sparse representation of the input data in the form of a linear combination of basic elements as well as those basic elements themselves. These elements are called atoms, and they compose a dictionary. Atoms in the dictionary are not required to be orthogonal, and they may be an over-complete spanning set. This problem setup also allows the dimensionality of the signals being represented to be higher than any one of the signals being observed. These two properties lead to having seemingly redundant atoms that allow multiple representations of the same signal, but also provide an improvement in sparsity and flexibility of the representation.

Asymmetric numeral systems (ANS) is a family of entropy encoding methods introduced by Jarosław (Jarek) Duda from Jagiellonian University, used in data compression since 2014 due to improved performance compared to previous methods. ANS combines the compression ratio of arithmetic coding, with a processing cost similar to that of Huffman coding. In the tabled ANS (tANS) variant, this is achieved by constructing a finite-state machine to operate on a large alphabet without using multiplication.