|
|
Line 1: |
Line 1: |
| '''Fractal compression''' is a [[lossy compression]] method for [[digital image]]s, based on [[fractal]]s. 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.{{Citation needed|date=August 2009}} Fractal [[algorithms]] convert these parts into mathematical data called "fractal codes" which are used to recreate the encoded image.
| | Name: Sonia Hampden<br>My age: 28<br>Country: United Kingdom<br>City: Llanwyddelan <br>ZIP: Sy16 0tt<br>Street: 28 Seafield Street<br><br>Here is my weblog; [http://paket-c.com/index.php?a=member&m=153192 Fifa 15 Coin Generator] |
| | |
| ==Iterated Function Systems==
| |
| {{main|Iterated function system}}
| |
| | |
| Fractal image representation can be described mathematically as an [[iterated function system]] (IFS).
| |
| | |
| ===For Binary Images===
| |
| We begin with the representation of a [[binary image]], where the image may be thought of as a subset of <math>\mathbb{R}^2</math>. An IFS is a set of [[contraction mapping]]s ''ƒ''<sub>1</sub>,...,''ƒ<sub>N</sub>'',
| |
| | |
| :<math>f_i:\mathbb{R}^2\to \mathbb{R}^2.</math> | |
| | |
| According to these mapping functions, the IFS describes a two-dimensional set ''S'' as the fixed point of the [[Hutchinson operator]]
| |
| | |
| :<math>H(A)=\bigcup_{i=1}^N f_i(A), \quad A \subset \mathbb{R}^2.</math> | |
| | |
| 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 space|compact]] initial set ''A''<sub>0</sub>, the iteration ''A''<sub>''k''+1</sub> = ''H''(''A<sub>k</sub>'') converges to ''S''.
| |
| | |
| The set ''S'' is self-similar because ''H''(''S'') = ''S'' implies that ''S'' is a union of mapped copies of itself:
| |
| :<math>S=f_1(S)\cup f_2(S) \cup\cdots\cup f_N(S)</math>
| |
| So we see the IFS is a fractal representation of ''S''.
| |
| | |
| ===Extension to Grayscale===
| |
| IFS representation can be extended to a [[grayscale|grayscale image]] by considering the image's [[graph of a function|graph]] as a subset of <math>\mathbb{R}^3</math>. 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 ''ƒ''<sub>1</sub>,...,''ƒ<sub>N</sub>'', but in <math>\mathbb{R}^3</math>,
| |
| | |
| :<math>f_i:\mathbb{R}^3\to \mathbb{R}^3.</math> | |
| | |
| ===Encoding===
| |
| A challenging problem of ongoing research in fractal image representation is how to choose the ''ƒ''<sub>1</sub>,...,''ƒ<sub>N</sub>'' such that its fixed point approximates the input image, and how to do this efficiently. A simple approach<ref name = "SIGGRAPH'92">{{cite conference
| |
| | last = Fischer
| |
| | first = Yuval
| |
| | title = SIGGRAPH'92 course notes - Fractal Image Compression
| |
| | conference = SIGGRAPH
| |
| | conferenceurl = http://www.siggraph.org/
| |
| | editor = Przemyslaw Prusinkiewicz
| |
| | publisher = [[ACM SIGGRAPH]]
| |
| | volume = Fractals - From Folk Art to Hyperreality
| |
| | date = 1992-08-12
| |
| | year = 1992
| |
| }}</ref> for doing so is the following:
| |
| # Partition the image domain into blocks ''R<sub>i</sub>'' of size ''s''×''s''.
| |
| # For each ''R<sub>i</sub>'', search the image to find a block ''D<sub>i</sub>'' of size 2''s''×2''s'' that is very similar to ''R<sub>i</sub>''.
| |
| # Select the mapping functions such that ''H''(''D<sub>i</sub>'') = ''R<sub>i</sub>'' 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 ''D<sub>i</sub>'' 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 fractal encoding is much slower than for example [[discrete cosine transform|DCT]] and [[wavelet]] based image representations.
| |
| | |
| ==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.<ref name = "Jenson">{{Citation
| |
| | author = John R. Jensen
| |
| | title = Remote Sensing Textbooks
| |
| | url = http://www.cas.sc.edu/geog/rslab/Rscc/mod2/2-4/2-4.html
| |
| | publisher = [[University of South Carolina]]
| |
| | work = Image Compression Alternatives and Media Storage Considerations (reference to compression/decompression time)
| |
| }}</ref><ref>{{cite book
| |
| | last = Heath
| |
| | first = Steve
| |
| | authorlink =
| |
| | coauthors =
| |
| | title = Multimedia and Communications Technology
| |
| | publisher = [[Focal Press]]
| |
| | year = 1999
| |
| | location =
| |
| | pages = 120–123
| |
| | url = http://www.focalpress.com/books/details/9780240515298/
| |
| | doi =
| |
| | id =
| |
| | isbn = 978-0240515298
| |
| }}</ref>
| |
| | |
| At common compression ratios, up to about 50:1, Fractal compression
| |
| provides similar results to [[Discrete cosine transform|DCT-based]] algorithms such as [[JPEG]].
| |
| <ref>{{cite book
| |
| | last = Sayood
| |
| | first = Khalid
| |
| | authorlink =
| |
| | coauthors =
| |
| | title = Introduction to Data Compression, Third Edition
| |
| | publisher = [[Morgan Kaufmann Publishers]]
| |
| | year = 2006
| |
| | location =
| |
| | pages = 560–569
| |
| | url =
| |
| | doi =
| |
| | id =
| |
| | isbn = 978-0-12-620862-7
| |
| }}</ref> At high compression ratios fractal compression may offer superior quality. For satellite imagery, ratios of over 170:1<ref name = "ieee_2000">{{Citation
| |
| | author = Wee Meng Woon
| |
| | coauthors = Anthony Tung Shuen Ho; Tao Yu; Siu Chung Tam; Siong Chai Tan; Lian Teck Yap
| |
| | title = Achieving high data compression of self-similar satellite images using fractal
| |
| | url = http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/6913/18661/00861646.pdf?arnumber=861646
| |
| | publisher = [[IEEE Geoscience and Remote Sensing Society|IGARSS 2000]]
| |
| | work = Geoscience and Remote Sensing Symposium paper
| |
| | series =
| |
| | id =
| |
| | quote = Achieving high data compression of self-similar satellite images using fractal
| |
| | date =
| |
| | accessdate =
| |
| }}</ref> 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).<ref>[http://cat.inist.fr/?aModele=afficheN&cpsidt=1572685 Fractal encoding of video sequences]</ref>
| |
| | |
| 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<ref>[http://www.byte.com/art/9701/sec12/art1.htm Walking, Talking Web] Byte Magazine article on fractal compression/resolution independence</ref> 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]].<ref>[http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TJ4-4J4B95D-3&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=2f639f75d0ef4078bac00cf994fbedfd Interpolation decoding method with variable parameters for fractal image compression] College of Mathematics and Physics, Chongqing University, China</ref>
| |
| Fractal interpolation maintains geometric detail very well compared to traditional interpolation methods like [[bilinear interpolation]] and [[bicubic interpolation]].<ref>[http://www.hindawi.com/GetArticle.aspx?doi=10.1155/JIA/2006/78734 Smooth fractal interpolation] Departamento de Matemáticas, Universidad de Zaragoza, Campus Plaza de San Francisco, Zaragoza, Spain</ref><ref>[http://sciencelinks.jp/j-east/article/200310/000020031003A0228183.php A Note on Expantion Technique for Self-Affine Fractal Objects Using Extended Fractal Interpolation Functions] Hokkaido Univ., Graduate School of Engineering, JPN</ref><ref>[http://sciencelinks.jp/j-east/article/200214/000020021402A0392249.php Studies on Scaling Factor for Fractal Image Coding] Nagasaki University, Faculty of Engineering</ref>
| |
| | |
| == History ==
| |
| | |
| [[Michael Barnsley]] led development of fractal compression in 1987, and was granted several [[patent]]s on the technology.<ref>{{US patent|4941193}} – Barnsley and Sloan's first [[iterated function system]] patent, filed in October 1987</ref> The most widely known practical fractal compression algorithm was invented by Barnsley and Alan Sloan. Barnsley's graduate student Arnaud Jacquin implemented the first automatic algorithm in software in 1992.<ref>[http://www.cse.buffalo.edu/tech-reports/95-05.ps Using Fractal Coding to Index Image Content for a Digital Library] Tech report</ref><ref>Arnaud E. Jacquin. Image Coding Based on a Fractal Theory of Iterated Contractive Image Transformations. IEEE Transactions on Image Processing, 1(1), 1992.</ref> All methods are based on the [[fractal transform]] using [[iterated function system]]s. Michael Barnsley and Alan Sloan formed Iterated Systems Inc.<ref>Iterated Systems Inc. changed its name to [http://sec.edgar-online.com/2001/03/30/0000931763-01-000662/Section20.asp MediaBin Inc. Inc.] in 2001 and in turn was bought out by Interwoven, Inc. in 2003)</ref> 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 $2.1 million government grant<ref>[http://statusreports.atp.nist.gov/reports/91-01-0057TEXT.html government grant]</ref> 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<ref>[http://www.pcpro.co.uk/macuser/reviews/15870/genuine-fractals.html?searchString=fractal Genuine Fractals Product Review]</ref> 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,<ref>[http://www.mathaware.org/mam/98/articles/theme.essay.html Mathematics Awareness Week - April 1998 reference to Microsoft's Encarta fractal image compression]</ref> 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. As [[Wavelet compression|wavelet-based methods]] of image compression improved and were more easily licensed by commercial software vendors the adoption of the Fractal Image Format failed to evolve.{{Citation needed|date=March 2008}} 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.<ref>{{cite news | title=The big squeeze | last=Aitken | first=William | journal=Personal Computer World |date=May 1994 }}</ref>
| |
| | |
| During the 1990s Iterated Systems Inc. and its partners expended considerable resources to bring fractal compression to video. While compression results were promising, computer hardware of that time lacked the processing power for fractal video compression to be practical beyond a few select usages. Up to 15 hours were required to compress a single minute of video.
| |
| | |
| 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]].<ref>[http://www.startrekgames.cz/downloads/fu_manual_cz.pdf 1994 Manual] specifying on page 11 SoftVideo under license to Spectrum Holobyte</ref>
| |
| | |
| In 1996 Iterated Systems Inc. announced<ref>[http://findarticles.com/p/articles/mi_m0EIN/is_1996_Oct_29/ai_18810482 Mitsubishi Corporation ClearVideo press release]</ref> an alliance with the [[Mitsubishi]] Corporation to market ClearVideo to their Japanese customers. The original ClearVideo 1.2 decoder driver is still supported<ref>[http://support.microsoft.com/kb/291948/en-us Microsoft ClearVideo support]</ref> by Microsoft in [[Windows Media Player]] although the encoder is no longer supported.
| |
| | |
| Numerous research papers have been published during the past few years discussing possible solutions to improve fractal algorithms and encoding hardware.<ref>[http://portal.acm.org/citation.cfm?id=261444 Advances in fractal compression for multimedia applications]</ref><ref>[http://cat.inist.fr/?aModele=afficheN&cpsidt=1380599 Fast calculation of IFS parameters for fractal image coding]</ref><ref>[http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4289976 Fractal image compression performance synthesis through HV partitioning]</ref><ref>[http://www.actapress.com/PaperInfo.aspx?PaperID=13701&reason=500 Simple and Fast Fractal Image Compression] Circuits, Signals, and Systems - 2003</ref><ref>[http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V2M-4M7VB17-1&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=890409343ad7b639e855141c44d174fb Schema genetic algorithm for fractal image compression] Department of Electrical Engineering, National Sun Yet-Sen University, Kaohsiung, Taiwan</ref><ref>[http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V25-4H27BX7-3&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=faf77464c176654cb1f27e29ef6e4077 A fast fractal image encoding method based on intelligent search of standard deviation] Department of Electrical and Computer Engineering, The University of Alabama</ref><ref>[http://spiedl.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=OPEGAR000044000010107002000001&idtype=cvips&gifs=yes Novel fractal image-encoding algorithm based on a full-binary-tree searchless iterated function system] Department of Electrical and Computer Engineering, The University of Alabama</ref><ref>[http://adsabs.harvard.edu/abs/2000SPIE.4122..190T Fast classification method for fractal image compression] Proc. SPIE Vol. 4122, p. 190-193, Mathematics and Applications of Data/Image Coding, Compression, and Encryption III, Mark S. Schmalz; Ed</ref><ref>[http://www.springerlink.com/index/y2l487124l436876.pdf Toward Real Time Fractal Image Compression Using Graphics Hardware] Dipartimento di Informatica e Applicazioni, Università degli Studi di Salerno</ref>
| |
| | |
| ==Open Source==
| |
| | |
| A library called [[Fiasco (image format)|Fiasco]] was created by Ullrich Hafner and described in [[Linux Journal]].<ref>{{cite journal |last=Hafner |first=Ullrich |year=2001 |title=FIASCO - An Open-Source Fractal Image and Sequence Codec |journal=[[Linux Journal]] |issue=81 |publisher=linuxjournal.com |url=http://www.linuxjournal.com/article/4367 |accessdate=February 19, 2013}}</ref>
| |
| | |
| The [[Netpbm]] library includes a Fiasco library.
| |
| <ref>http://netpbm.sourceforge.net/doc/pnmtofiasco.html</ref>
| |
| <ref>http://netpbm.sourceforge.net/doc/fiascotopnm.html</ref>
| |
| | |
| There is a video library for fractal compression.
| |
| <ref>http://castor.am.gdynia.pl/cgi-bin/man/man2html?3+fiasco_decoder_get_frame</ref>
| |
| | |
| There is another example implementation from Femtosoft.
| |
| <ref>http://www.femtosoft.biz/fractals/fractal.html</ref>
| |
| | |
| ==See also==
| |
| *[[Iterated function system]]
| |
| *[[Image compression]]
| |
| *[[Wavelet]]
| |
| | |
| ==Notes==
| |
| {{reflist|30em}}
| |
| | |
| ==External links==
| |
| *[http://www.verrando.com/pulcini/gp-uw1.html Pulcini and Verrando's Compressor]
| |
| * [http://links.uwaterloo.ca/ Waterloo Fractal Coding Project] Formerly the ''Waterloo Fractal Compression Project''
| |
| * Keith Howell's 1993 M.Sc. dissertation [http://www.howell1964.freeserve.co.uk/MSc/FIC/FIC_00.htm Fractal Image Compression for Spaceborne Transputers]
| |
| *[http://www.wired.com/wired/archive/1.05/fractal.html My Main Squeeze: Fractal Compression], Nov 1993, Wired.
| |
| *[http://www.fileformat.info/mirror/egff/ch09_09.htm Fractal Basics] description at FileFormat.Info
| |
| *[http://www.superfractals.com/ Superfractals] website devoted to fractals by the inventor of fractal compression
| |
| | |
| {{Compression Methods}}
| |
| | |
| {{DEFAULTSORT:Fractal Compression}}
| |
| [[Category:Image compression]]
| |
| [[Category:Lossy compression algorithms]]
| |
| [[Category:Fractals]]
| |