Fractal Image Compression and the Inverse Problem of Recurrent Iterated Function Systems John C. Hart School of EECS Washington State University Pullman, WA 99164-2752
[email protected]
February 9, 1995 Abstract Fractal image compression currently relies on the partitioning of an image into both coarse \domain" segments and ne \range" segments, and for each range element, determines the domain element that best transforms into the range element. Under normal circumstances, this algorithm produces a structure equivalent to a recurrent iterated function system. This equivalence allows recent innovations to fractal image compression to be applied to the general inverse problem of recurrent iterated function systems. Additionally, the RIFS representation encodes bitmaps (bi-level images) better than current fractal image compression techniques.
Keywords: bitmap, block coding, compression, fractals, imaging, recurrent iterated function system.
1
1 Introduction Fractal geometry provides a basis for modeling the in nite detail found in nature [Mandelbrot, 1982]. Fractal methods are quite popular in the modeling of natural phenomena in computer graphics, ranging from random fractal models of terrain [Peitgen & Saupe, 1988] to deterministic botanical models such as L-systems [Prusinkiewicz & Lindenmayer, 1990] and iterated function systems [Barnsley et al, 1988]. Iterated function systems which describe an object as smaller copies of the whole, and their variations hold much promise as a geometric representation of detail for computer graphics and computer aided geometric-design. Conversion from an L-system to the iterated function system form is described in [Prusinkiewicz & Lindenmayer, 1990], and conversions from both (D0)L-system and iterated function system forms to constructive solid geometry appear in [Hart, 1992]. Even after all of this work, fractal design and the fractal modeling of existing shapes remains largely unsolved, and poses the critical inverse problem that must be overcome for iterated function systems to become practical and useful geometric representations.
1.1 The Inverse Problem Shortly after [Hutchinson, 1981; Barnsley & Demko, 1985] introduced iterated function systems, [Barnsley et al, 1986] stated their inverse problem: given an object, nd an iterated function system that represents that object within a given degree of accuracy. The collage theorem provided the rst stepping stone toward solving the inverse problem. It states that a lazy tiling of an object out of smaller self-replicas yields a signi cantly more accurate IFS representation. Although the collage theorem relaxed the accuracy of selfsimilar tiling needed for reasonable fractal modeling, the harder problem of forming an object out of smaller self-replicas remained unsolved. Automatic fractal modeling of objects based on heuristic search techniques of the IFS parameter space have yielded promising results, but have not yet become practical. 2
The method of moments was applied to a twin dragon to solve for the parameters of its two maps analytically in [Barnsley & Demko, 1985; Handy & Mantica, 1990]. The method of moments was generalized for IFS's with more maps in [Vrscay & Roehrig, 1989], and employed a gradient search over the parameter space of the IFS, minimizing the dierence in moments from the parameter's IFS attractor and a given shape. Although smooth, this dierence-of-moments space is quite convoluted and this method converges easily to local minima, but much less successfully to the global minimum. Similarly, [Withers, 1989] dierentiated a set-distance function with respect to the parameter space, then applied Newton's method to solve for the parameters that minimized the distance. As expected, Newton's method suers the same local minima problems as does gradient search. Such methods are most appropriately applied to the task of re ning approximate solutions. The obvious next step was to use a heuristic global miminum search, and so [Vrscay, 1990] devised a genetic algorithm on the parameter space of the IFS that appears to be a more successful solution to the inverse problem, though only currently applied to sets in the line. Block-coding techniques have enjoyed much greater success, as demonstrated almost exclusively in the domain of image data compression. Initiated by [Jacquin, 1992], an incredible amount of enhancements have been reported, primarily in the area of signal processing [Saupe & Hamzaoui, 1994]. Although this application of fractal modeling is currently celebrated, it is only an incidental step toward the development of general techniques for the fractal-based analysis and representation of arbitrary objects.
1.2 Overview This paper is an attempt at re-focusing recent developments of fractal image compression toward the grander goal of fractal analysis and representation of arbitrary models, and particularly those found in computer graphics and computer-aided geometric design. Section 2 develops the theory of of iterated function systems and recurrent iterated function systems, 3
whereas Section 3 reviews the techniques of fractal image compression. The main contribution of this work appears in Section 4, which proves that, under certain circumstances, fractal image compression yields a recurrent iterated function system, and Section 5 which analyzes the dierences between discrete images and continuous shapes, and its impact in the fractal representation of both. Section 6 documents the serindipidous discovery that recurrent iterated function systems eciently and eectively encode bitmaps. Section 7 concludes with directions for future research on the inverse problem.
2 Recurrent Modeling Recurrent modeling is the process of partitioning an object into components, and representing each component as a collection of shrunken copies of possibly itself and possibly other components. This representation is described by a recurrent iterated function system, which is based on the simpler case of the iterated function system, which represents the entire object as a collection of shrunken copies of itself. As with any geometric model, there are certain properties that recurrent models may satisfy. For example, the partitioning may satisfy the open set property, and the directed graph that describes how components combine to form components may be weakly or strongly connected.
2.1 Iterated Function Systems An iterated function system (IFS) consists of a set of strictly contractive maps fwigNi from Rn into itself. By a theorem of [Hutchinson, 1981] there exists, for each IFS, a single compact non-empty set A Rn; called its attractor, de ned as the union of images of itself under the IFS maps N [ (1) A = wi(A): =1
i=1
4
The Hutchinson operator w : Rn ! Rn is a convenient shorthand notation
w() = [ wi() N
(2)
i=1
that allows us to simplify the de nition of an IFS attractor as
A = w(A):
(3)
Furthermore, the attractor A gets its name from the property that given any initial non-empty bounded set B Rn; we have
A = ilim wi(B ) !1
(4)
where wi denotes the i-fold composition of w (i.e. wi = w wi? ). Likewise, a recurrent iterated function system (RIFS) consists of a set of strictly contractive maps fwigNi and a directed graph G = hV; E i = hfvigNi ; fei;j g i;jN i whose vertex vi corresponds to map wi and whose edge ei;j indicates that the composition wj wi is allowed. By a theorem of [Barnsley et al, 1989] there exists, for each RIFS, a single compact non-empty attractor A Rn; de ned as a collection of partitions Aj Rn 1
=1
=1
A=
N [ j =1
1
Aj
(5)
which are each the union of an image of other partitions (including possibly itself)
Aj =
[
ei;j 2E
wj (Ai):
(6)
We can keep the components of this partitioning separate by denoting the attractor A = A [ A [ [ AN by the set-vector A = (A ; A ; : : :; AN ) 2 (Rn)N [Barnsley et al, 1989]. The map wj : (Rn)N ! Rn denotes the part of the attractor consisting of points most recently mapped by wj as wj (A) = [ wj (Ai): (7) 1
2
1
2
ei;j 2E
Using these maps, the recurrent Hutchinson operator w : (Rn)N ! (Rn)N is de ned on set-vectors as w(A) = (w (A); w (A); : : :; wN (A)): (8) 1
2
5
The attractor, consisting of the components de ned by (6), is now more concisely de ned in set-vector notation as A = w(A) (9)
to better resemble (3). Moreover, given any set-vector B = (B; B; : : :; B ) (Rn)N consisting of bounded non-empty sets B Rn; then
A = ilim wi(B): !1
(10)
To recap, given any initial non-empty bounded set B Rn; iterating w on the set vector fB; B; : : :; B g 2 (Rn)N creates a sequence converging to the set vector A for which that attractor is the union of its components. If each partition is the union of images of every partition including itself, then the graph G is complete and the RIFS is simply an IFS. Hence, every IFS is an RIFS and we will focus the remainder of this section on properties of the RIFS representation.
2.2 The Open Set Property The degree of overlap of the partitioning is dictated by the open set property. An RIFS hfwigNi ; Gi satis es the open set property [Hutchinson, 1981] if and only if there exists a set-vector U = (U ; U ; : : :; UN ) of open sets Ui Rn such that w(U) U and Ui \ Uj = ; for all i 6= j: An attractor is \just touching" [Barnsley, 1988] if and only if it is connected and its RIFS satis es the open set property. =0
1
2
2.3 Digraph Topology A digraph is strongly-connected if and only if every pair of vertices is connected by a directed path of edges. A digraph is weakly-connected if and only if every pair of vertices is connected by a path of edges, regardless of edge direction. We follow the convention of [Deo, 1972] that strongly- and weakly-connected are mutually exclusive. The original de nition of a recurrent iterated function system required only that the digraph be weakly connected [Barnsley et al, 1989], though it was later been rede ned to 6
Let fwi gNi=1 be an IFS. Initialize x = (0; 0): Do forever : : : Pick a number i randomly from 1 to N: Let x = wi (x): Plot x: End do.
Figure 1: The simple chaos game algorithm. More advanced versions (not needed in this discussion) use probabilities to balance the distribution of points. mean that the digraph be strongly connected in a special chapter on recurrent iterated function systems in the second edition of [Barnsley, 1988].
2.4 The Chaos Game The chaos game approximates the attractor of an IFS fwigNi with a point cloud. It starts with any initial point x and generates a sequence of points as =1
(0)
xk
( +1)
= wj (x k )
(11)
( )
where j is an integer from one to N randomly chosen for each new point in the sequence. This sequence of points is dense in the attractor [Hutchinson, 1981], though choosing each map with a probability proportionate to its eective change in area (for R ) provides more uniform coverage of the attractor by the chaos game [Barnsley, 1988]. Equation 11 may also be used to render the attractor of a strongly-connected RIFS, though instead of choosing the index i at random from one to N; the index j is chosen such 2
7
that the edge ei;j is in the control digraph G; where i is the index of the previously-applied map [Barnsley et al, 1989]. The simple chaos game works on a strongly-connected RIFS because there is a directed path of edges from every vertex to every other vertex. This is not so for an RIFS with a weakly-connected or disconnected digraph, where a point may be trapped in an isolated portion of the digraph. In this case, the single iterated point is replaced by N points, one in each Rn of (Rn)N : Hence we have a sequence of point-vectors x k = (x k ; x k ; : : : ; xNk ) whose components are de ned xjk = wj (xik ) (12) ( )
( +1)
( ) 1
( ) 2
( )
( )
where i is randomly chosen such that edge ei;j is in the control digraph [Peitgen et al, 1992]. Equation 11 may also be used to render the attractor of a
3 Fractal Image Compression Vector quantization compresses an image by rst analyzing it, creating a codebook of small \building block" image segments. These blocks are stored, and each segment of the image is reduced to an index to the building block that best resembles it. Fractal image compression techniques [Jacquin, 1992; Fisher, 1992] are based on similar principles, except that the codebook is taken from sections of the image. During decompression, the collage theorem bootstraps the process by guaranteeing that the errors introduced by not having the correct building blocks will vanish after enough iterations. The rst successful application of fractals to image encoding appeared in [Jacquin, 1992]. This treatment of the inverse problem of fractals focused exclusively on image data, and traded the traditional continuous metric space of compact sets and Hausdor distance for the discrete metric space of images and L distance. The technique partitions an image into set of N non-overlapping range blocks fRj gNj : A domain pool fDi gMi is constructed by partitioning the image into a second, coarser set of M possibly overlapping blocks. 2
=1
=1
8
Let < fwigNi=1 ; G > be an RIFS. For i = 1 to N : : : Initialize xi = (0; 0): End for. Do forever : : : For j = 1 to N : : : Pick a number i such that ei;j 2 G Let yj = wj (xi ): Plot yj : End for. For i = 1 to N : : : Let xi = yi : End for. End do.
Figure 2: The RIFS chaos game algorithm.
9
A transformation pool fwg; where = (a; b; c; d; e; f; g; h) is a vector of transformation parameters, consists of ane maps composed of a geometric part that reduces the size of a domain block to the size of a range block, accompanied by rotations and re ections, and a massic (gray-level) part that reduces the block's contrast and adjusts its brightness. (x0; y0; z0) can be expressed using the standard homogeneous 4 4 Speci cally, (x; y; z) 7?w! transformation matrix notation of computer graphics [Foley et al, 1990] as 32 3 32 2 3 2 0 1 =s 0 0 0 a b 0 e x 77 66 x 77 77 66 66 77 66 66 y 0 77 66 c d 0 f 77 66 0 1=s 0 0 77 66 y 77 76 7 76 66 77 = 66 (13) 66 z 0 77 66 0 0 g h 777 666 0 0 1 0 777 666 z 777 54 5 54 4 5 4 1 0 0 0 1 0 0 0 1 1 where 1=s denotes the factor that scales a domain block to the size of a range block (domain blocks are s-times larger than range blocks), a; b; c; d 2 f?1; 0; 1g form an isomorphism, e; f translate the scaled domain block to the range block, g < 1 reduces contrast and h adjusts brightness. The global pool fw(Di)g consists of the images of the blocks in the domain pool under the maps of the transformation pool. The encoding process is now reduced to nding, for each range block Rj ; the block w (Di ) in the global pool that best matches it, such that
L (Rj ; w(Di)): L (Rj ; w (Di )) = min 8;i
(14)
2
2
The location i of the best domain block and the parameters of the best transformation are then stored in place of the range block Rj ; and will be referenced during decompression as i(j ) and (j ): The range blocks are decoded by iterating the blockwise transformations on a domain partition of any initial image, as demonstrated in Figure 3. Large features in an early image of the decoding sequence become ne features in later images. The decompression iteration constructs each range block Rj from the image, under w j of a domain block Di j from the previous image. The \fractal code" of the image is contained in the functions (j ) and i(j ); which return the corresponding transformation parameters and domain block location, respectively, for each range block Rj : ( )
10
( )
Figure 3: First three iterations of the decompression of the image of an eye from an initial solid grey image. Although the decompression sequence of a fractal representations converges very quickly, compression is quite time consuming. Compression is hastened by reducing the search space, by segregating the global pool, using block classi cation [Ramamurthi & Gersho, 1986], into distinct groups of simple edge, mixed edge, midrange and shade blocks. Furthermore, if the global pool does not contain a good match for a range block, subdividing the range block into child blocks and encoding these children separately results in less lossy compression. An alternative treatment of fractal image compression generalizes the shape of range and domain blocks, allowing their borders to adhere to the edges of the underlying image [Fisher, 1992]. Furthermore, many more recent results, variations and studies of fractal image compression have been published [Saupe & Hamzaoui, 1994].
4 Reduction of Block Coding to RIFS The block coding structure of fractal image compression is a representation of an RIFS. This is most easily seen when the domain blocks do not overlap, and their boundaries align with the boundaries of range blocks. However, this result generalizes to include cases of overlapping and non-aligned domain blocks.
Theorem 1 The block-coding structure for fractal image compression, with domain blocks
formed by the union of range blocks, reduces to a RIFS.
11
Rj i j ;
Rj i j ;
Rj i j ;
Rj i j ;
( ( ) 1)
Rj
( ( ) 2)
wj ( ( ) 3)
( ( ) 4)
Figure 4: Each range block is the union of images of range blocks. The union of four range blocks on the right forms the domain block Di j : ( )
Proof: The fractal image compression algorithm de nes each range block as the image of
some domain block
Rj = w j (Di j ): ( )
(15)
( )
The function (j ) returns the parameters of the transformation, and the function i(j ) returns the index of the domain block that the transformation maps to range block Rj : For simplicity, we will abbreviate w j as wj : Every domain block D is the union of K range blocks, where K = M =N for images ( )
2
Di =
K [ k=1
2
Rj i;k : (
(16)
)
The function j (i; k) returns the indices of the K range block components of the domain block
i:
Substituting (16) into (15) shows that each range block is the image of the union of range blocks ! K [ Rj = wj (Rj i j ;k ) (17) k=1
( ( )
)
Since the image of a union is equivalent to the union of images, (17) becomes
Rj =
K [ k=1
wj (Rj i j ;k ); ( ( )
as illustrated in Figure 4. 12
)
(18)
Di j i;
Di j i;
( ( 1))
( ( 2))
XXXXwj i; w j i; XXXXX Di XXz ) 1 XyXXXXwj i; Di j i; wj i; Di j i; X X X XXXXX ( 2)
( ( 3))
( 1)
( 4)
( 3)
( ( 4))
Figure 5: Each domain block is the union of images of domain blocks under dierent maps. This matches the form of an RIFS attractor (6) partitioned into range blocks A = (R ; R ; : : :; RN ) with a digraph where each vertex j has an in-count of K edges ej i j ;k ;j for 1 k K: 2 Remarks: 1. Substituting (15) into (16) shows that each domain block is the union of the images of domain blocks m [ Di = wj i;k (Di j i;k ) (19) 1
2
( ( )
k=1
(
)
( (
)
))
as illustrated in Figure 5. This almost matches the form of the de nition of the RIFS attractor (6), except that we have the union of images under dierent maps. 2. The domain blocks may overlap, so long as their boundary falls on the range block boundaries. In term of [Jacquin, 1992], the domain window may slide across the image in steps equal to the range-block edge length. 3. The RIFS has the open set property. The range block interiors are disjoint. Hence, the resulting RIFS is structured so as to make area subdivision algorithms operate eciently. 4. The RIFS form permits image decoding through point sampling and the chaos game. This is explained in greater detail in the next section.
Corollary 2 The block-coding structure for fractal image compression with sliding window
domain blocks is representable by a 3-D RIFS.
13
Proof: Let d be a positive real number such that the minimum amount domain blocks can
be oset is od; and the range-block edge length is ld; where o and l are positive integers. Subdivide the range block partition fRj gNj into a ner partitioning fR^ |gN| with edge length d such that each original range block is the union of l ner range blocks. De ne a new domain partitioning as D^ { | = wj?| (R^|) (20) where j (^|) returns the index j such that R| Rj : If R^ | Rj and wj (Di j ) = Rj then D^ { | Di j : Furthermore, if wj is not one-to-one, we can de ne D^ { | as the set of points in Di j such that R^ | = wj | (D^ { | ) (21) ^ ^ ^=1
=1
1 (^)
^(^)
^
^
^(^)
^
( )
( )
^(^)
( )
^
(^)
^(^)
which resembles (15). Since the ner domain-block edge length is an integer multiple of the ner range-block edge length d; each ner domain block is the union of K ner range blocks
D^ { = ^
which resembles (16). Substituting (22) into (21) yields
R^| = ^
K^ [ k
^=1
K^ [ R^|^(^{;k^):
(22)
k
^ =1
wj | (R^ | { | ;k ) (^)
(23)
^(^(^) ^)
and, as before, we have an RIFS, with attractor given by the set vector A = (R^ ; R^ ; : : : ; R^ N ): 1
2
^
2
Consider any assortment of range blocks and domain blocks such that each range block is the ane image of a domain block, but unlike the previous cases, the domain blocks are not unions of range blocks. When the ane maps have rational coecients, there exists a subpartitioning of range blocks into smaller range blocks such that each range block is the image of the union of other range blocks under one of the ane transformations. We de ne a sequence of range partitionings (R ; R ; : : :) where R is the initial range partitioning resulting from the fractal image compression. For every range partitioning (0)
14
(1)
(0)
R l in the sequence, its accompanying collection of domain blocks D l consists of sets D = wi? (R) for each range block R 2 R l and appropriate wi: Given both R l and D l ; the next range partitioning R l consists of elements each of which is the non-empty intersection R \ D of a range block from R l and a domain block from D l : The sequence converges when and if R ` = R ` at some level `: Convergence is expected when the ane maps ()
()
1
()
()
()
( +1)
()
( )
()
( +1)
have rational coecients (i.e. rational rotation angles), though a proof of this is lengthy and beyond the scope of this discussion. By de nition at the convergence level `; each range block is the ane image of a domain blocks, each domain blocks is the union of range blocks, and the result, by Theorem 1, is equivalent to an RIFS.
5 The RIFS Representation of an Image These techniques adapted techniques from the theory of iterated function systems to images. Two-dimensional gray-level images are represented as height elds in R : For any coordinates x; y there is at most a single coordinate z such that the point (x; y; z) is de ned in such a height eld. Images are represented digitally for computer manipulation, and their mathematical representation is as height elds in Z : Whereas recurrent iterated function systems typically operate on R ; fractal image compression techniques operate on Z : Two dierences between Rn and Zn bear mention. The rst is that all sets in Zn are closed, and hence, have empty interior. Hence the open set property does not directly apply to an RIFS on Zn: The second dierence is that contractions on Zn are not invertible. A contraction on a discrete space must eliminate some information that cannot be later reproduced. Ordinarily, decompression of a fractal compressed image consists of applying the encoded maps repeatedly to an image, creating a sequence of images that converges to a limit that approximates the original image. Given an RIFS representation of the encoded maps, one can perform the chaos game to decode the image, though with quite noisy results. In fact, the chaos game on an RIFS encoded gray-level image does not converge. After 3
3
3
3
15
Figure 6: Chaos game decompression of a RIFS representation of a compressed image. From left to right: one iteration, sixteen iterations, 256 iterations and 512 iterations. 256 iterations, the signal-to-noise ratio (mean-square) is a miserable 5.5 dB, and does not improve even after 512 iterations. Even though the image delity remains constant, the image itself changes. The signal-to-noise ratio between the decoded image after 256 and 512 chaos game iterations is 7.5 dB. After only seven iterations, the standard decompression algorithm from [Jacquin, 1992] yielded a signal-to-noise ratio of 10 dB. The disappointing performance of the chaos game is due to inherit dierences between the continuous space of reals R and the discrete space of integers Z : The maps used in fractal image compression to take domain blocks into range blocks either average or eliminate pixels. In Z where domain pixels are averaged into range pixels, nding the value of a pixel in a range block requires the values of all of the pixels in the domain block that combine to reproduce it. In Z where some domain pixels are eliminated, nding the value of range block pixels is impossible given only pixels in the domain block that are eliminated. These two factors prevent the chaos game on Z from accurately decoding the image. In R ; the corresponding value of a pixel may be considered as the average value (z component) over the pixel's area (x; y components). For reconstruction of a fractal compressed image, this area is likely fractal. Sampling a single point in this area returns a deterministic, though chaotic, result. This sampling problem prevents the chaos game on R from accurately decoding the image. One solution to this problem maintains, for each pixel, a running average of values produced during the chaos game on Z : The central limit theorem guarantees that such averaging 3
3
3
3
3
3
3
3
16
will yield the accurate decompression in the limit of the number of decompression iterations. However, the space needed to maintain a running average is greater then the space used by the standard fractal decompression schemes.
6 The RIFS Representation of a Bitmap Applying fractal image compression to bi-level images (bitmaps) provides a more successful application of the chaos game in the decoding process. The pixels in such images are either on or o, and the image can be considered a discrete approximation of a continuous set. In this form, only the geometric part of the transformation is used; the grey-level transformation is always the identity. Range blocks containing only \o" pixels are not encoded. The resulting RIFS form of the fractal encoding yields the \on" pixels of the image as its attractor. For example, the process encoded a 256 256 1 ngerprint, Figure 7, at a range block resolution of 4 4 pixels, using only 1; 030 of the possible 4; 096 RIFS maps. Although the encoded ngerprint appears much noisier than the original, with a signal-to-noise ratio of only 5.9 dB, its features remain visible and would nevertheless serve identi cation purposes.
Figure 7: First few iterations (left) and nal attractor (center) of a ngerprint encoded into 1,030 RIFS maps from the original (right). The process encoded an artist's etching of a dragon [Evans, 1984], Figure 8, with 1; 048 RIFS maps. Although most of the dragon's features, such as its bumps and scales, are 17
reproduced, encoding has approximated the ne hashed shading patterns with fractal texture equivalents. The signal-to-noise ratio of this representation is 11.7 dB.
Figure 8: Knuth's fractal dragon represented by an IFS of two maps (left). Real dragon (center). Fractal dragon represented by an RIFS of 1,048 maps (right). Figure 9 shows the encoding of a snow ake [Bentley & Humphreys, 1962] with 827 RIFS maps. Though not as severe as the ngerprint, the encoding has introduced some noise, with a signal-to-noise ratio of 13.4 dB, but certainly remains adequate for identi cation purposes. The use of a ne block partitioning overlooks the inherit hexagonal and scalar self-similarity of the snow ake. Each of the above examples was encoded from a 256 256 resolution original, which requires 8; 192 bytes to store. The compression perfomance is listed in Table 1. Image ngerprint dragon snow ake
Maps 1,030 1,048 827
Size Compression SNR (ms) RLE Size 2,833 35% 5.9 dB 10,455 2,882 35% 11.7 dB 8,749 2,275 28% 13.4 dB 13,234
Table 1: Performance of RIFS encoding of bitmaps. Sizes are in bytes and compression is relative to the original le size of 8,192 bytes. Each RIFS map consisted of one of eight isometries (3 bits), a modulo-four translation of 256 (7 bits), and an index to the corner of the domain block, from which the appropriate 18
Figure 9: Von Koch's fractal snow ake represented by an RIFS of six maps (left). Bentley's photograph of a real snow ake (center). Fractal snow ake represented by an RIFS of 827 maps (right). RIFS controlling digraph can be derived (12 bits) for a total encoding of 22 bits per map. If the entire image contained information, then all 4,096 maps would be required, yielding an encoding of 11,264 bytes (38% larger than the unencoded size). This case always occurs when standard fractal image compression techniques are applied to bitmaps. The breakeven point for RIFS encoding occurs at 2,979 maps, which occurs when 73% of the image is covered by information. In cases where much of the image is a solid color, run length encoding often compresses adequately. However, for these examples, any savings due to the solid background is more than lost by the cost of the detail in the image. In each case, the RLE encoding is larger than the unencoded image.
7 Conclusion Under certain conditions, fractal image compression yeilds a representation equivalent to an RIFS. While the RIFS representation does not directly improve performance on graylevel images, it does represent bitmaps better than standard fractal image compression techniques. More importantly, the equivalence of fractal image compression to recurrent iterated 19
function systems is a step toward mapping the wealth of recent results in fractal image compression [Saupe & Hamzaoui, 1994] to the broader task of solving the inverse problem of recurrent iterated function systems. Block coding imposes an arti cial grid onto an image. The fractal representation resulting from matching range blocks to domain blocks does not in general provide any clue to the actual fractal structure of the shape. For example, Knuth's dragon (Figure 8) or von Koch's snow ake (Figure 9) would require hundreds of RIFS maps to encode by this process even though they have easily identi able self-similarities. More recent methods that adaptively resize the blocks based on the underlying structure hide the artifacts of the compression in the high frequency components of the image [Fisher, 1992], but still overlook any self-similarity involving rotations or overlapping construction. Instead, the blocking structure itself should be abandoned in exchange for the invariant morphological properties of pattern recognition and computer vision, which hold great promise for producing recurrent iterated function system models that not only compress data, but reveal its structural self-similarity.
References [Barnsley & Demko, 1985] Barnsley, M. F. and Demko, S. G. Iterated function schemes and the global construction of fractals. Proceedings of the Royal Society A 399, 1985, pp. 243{275. [Barnsley et al, 1986] Barnsley, M. F., Ervin, V., Hardin, D., and Lancaster, J. Solution of an inverse problem for fractals and other sets. Proceedings of the National Academy of Science 83, April 1986, pp. 1975{1977. [Barnsley et al, 1988] Barnsley, M. F., Jacquin, A., Mallassenet, F., Rueter, L., and Sloan, A. D. Harnessing chaos for image synthesis. Computer Graphics 22(4), 1988, pp. 131{140.
20
[Barnsley et al, 1989] Barnsley, M. F., Elton, J. H., and Hardin, D. P. Recurrent iterated function systems. Constructive Approximation 5, 1989, pp. 3{31. [Barnsley, 1988] Barnsley, M. F. Fractals Everywhere. Academic Press, New York, 1988. [Bentley & Humphreys, 1962] Bentley, W. A. and Humphreys, W. J. Snow Crystals. Dover, 1962. [Deo, 1972] Deo, N. Graph Theory with Applications to Engineering and Computer Science. Prentice Hall, Englewood Clis, N.J., 1972. [Evans, 1984] Evans, J., ed. The Natural Science Picture Sourcebook: 500 Copyright-Free Illusrations of Unusual Animals and Plants for Copying and Reference. Van Nostrand Reinhold, 1984. [Fisher, 1992] Fisher, Y. Fractal image compression. In Prusinkiewicz, P., ed., Fractals: From Folk Art to Hyperreality. SIGGRAPH '92 Course #12 Notes, 1992. To appear: Data Compression, R. Storer (ed.) Kluwer. [Foley et al, 1990] Foley, J. D., van Dam, A., Feiner, S. K., and Hughes, J. F. Computer Graphics: Principles and Practice. Systems Programming Series. Addison-Wesley, ed., 1990. [Handy & Mantica, 1990] Handy, C. R. and Mantica, G. Inverse problems in fractal construction: Moment method solutions. Physica D 43, 1990, pp. 17{36. [Hart, 1992] Hart, J. C. The object instancing paradigm for linear fractal modeling. In Proc. of Graphics Interface. Morgan Kaufmann, 1992, pp. 224{231. [Hutchinson, 1981] Hutchinson, J. Fractals and self-similarity. Indiana University Mathematics Journal 30(5), 1981, pp. 713{747. [Jacquin, 1992] Jacquin, A. E. Image coding based on a fractal theory of iterated contractive image transformations. IEEE Transactions on Image Processing 1(1), Jan. 1992, pp. 18{ 30. 21
[Mandelbrot, 1982] Mandelbrot, B. B. The Fractal Geometry of Nature. W.H. Freeman, San Francisco, 1982. [Peitgen & Saupe, 1988] Peitgen, H.-O. and Saupe, D., eds. The Science of Fractal Images. Springer-Verlag, New York, 1988. [Peitgen et al, 1992] Peitgen, H.-O., Jurgens, H., and Saupe, D. Fractals for the Classroom. Springer-Verlag, New York, 1992. [Prusinkiewicz & Lindenmayer, 1990] Prusinkiewicz, P. and Lindenmayer, A. The Algorithmic Beauty of Plants. Springer-Verlag, New York, 1990. [Ramamurthi & Gersho, 1986] Ramamurthi, B. and Gersho, A. Classi ed vector quantization of images. IEEE Transactions on Communications 34, Nov. 1986. [Saupe & Hamzaoui, 1994] Saupe, D. and Hamzaoui, R. A guided tour of the fractal image compression literature. In Hart, J. C., ed., SIGGRAPH '94 Course #13 Notes: New Directions for Fractal Models in Computer Graphics. ACM SIGGRAPH, 1994. [Vrscay & Roehrig, 1989] Vrscay, E. R. and Roehrig, C. J. Iterated function systems and the inverse problem of fractal construction using moments. In Kaltofen, E. and Watt, S. M., eds., Computers and Mathematics, New York, 1989. Springer-Verlag, pp. 250{259. [Vrscay, 1990] Vrscay, E. R. Moment and collage methods for the inverse problem of fractal construction with iterated function systems. In Proc. of the First IFIP Conference on Fractals, Amsterdam, 1990. Elsevier. [Withers, 1989] Withers, W. D. Newton's method for fractal approximation. Constructive Approximation 5, 1989, pp. 151{170.
22