1 / 35

Fractal image compression. And Parallelization of the fracta l-based compression algorithm.

Fractal image compression. And Parallelization of the fracta l-based compression algorithm. Victor Butusov . Saint Petersburg State University . S cientific adviser: U . K.Demjanovich. Contents. 1. Introduction 1.1 The role of digital images in the modern world, and their adaptation

Download Presentation

Fractal image compression. And Parallelization of the fracta l-based compression algorithm.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fractal image compression. And Parallelization of the fractal-based compression algorithm. Victor Butusov. SaintPetersburg State University. Scientific adviser: U.K.Demjanovich.

  2. Contents 1. Introduction 1.1 The role of digital images in the modern world, and their adaptation 1.2 The concepts of the fractal, attractor, IFS. 1.3 Some general facts of the fractal image compression 2.Theory that is concerned with the fractal-based compression algorithm 3. Fractalimage coding 3.1 Domain blocks 3.2 Range blocks splitting image with the quadtree method 3.3 Mapping of the domain blocks into the range blocks 3.4 Coding time 4.Image decoding 5. Distortion quantitative assessment 6. Resolutionindependence 7. Paralleling

  3. The role of digital images in the modern world, and their adaptation Digital images occupy the increasing part of the information world. Development of the Internet, alongside with the availability of more and more powerful computers and progress in the "know-how" of digital chambers, scanners and printers, have resulted in wide use of digital images. That's why a constant interest to the improvement of the compression algorithms of the data images representing is growing. Data compression is important both for the speed of transfer, and for the efficiency of the storage. Except for many kinds of commercial use, the technology of compression also represents an interest for the military, for example applications of data processing of the telemetry, received from the interceptors, or for the archival data storage about the image of a district for defensive actions modelling. The decision of a compression problem of the image or, in more common sense, image coding, used achievements and stimulated development of many areas of technics and mathematics. We'll speak about rather new area of mathematics which has brought in the contribution to last researches about compression of images: fractals.

  4. The concepts of the fractal, attractor, IFS. It is much easier to describe fractals, than to define them. The key property describing fractals, is a self-similarity. That is, when we look at a fractal, we see some set of elements which remains same irrespective of scale. The majority of objects is lost with details when them approach for more steadfast consideration. The fractal can approach indefinitely. Two main properties: 1. The fractal can approach indefinitely 2. Fractional dimension Let d is a usual Euclideandimension of space in which we have our fractalobject (d=1 - a line, d=2 - a plane, d=3 - a usual three-dimensional space). Now, we'll cover this object entirely with d-dimensional "spheres" of radius . We shall assume, that for this purpose it was required not less, than spheres. Then, if at enough small the size varies with under the power(sedate) law, than D - calls a Hausdorff or a Fractal dimension of this object. For example the Fractaldimension of a “Serpinsky napkin” is equal to:

  5. The IFS method (IFS - Iterated Function System) Approximately in the middle of 80th years IFS method as a simple means of the fractalstructures reception has appeared. The essence of this method by the example of the Serpinsky napkin consists in the following: Let's place an initial equilateral triangle with length of the side, for a distinctness equal to one, on a complex plane [z] how it is shown in figure at the left. By what linear transformation t1 on a complex plane it is translated into an equilateral triangle, shown on figure on the right, which size is 2 times smaller that the main one? Transformation t1. The cartesian coordinates of tops are given in brackets. As a result of the transformations, 3 above named linear functions carry out required transformation of an initial triangle into 3 triangles which size is two times smaller than the size of the main one.

  6. The fourth generation of iterations. For achievement of the same result we could start from any figure unessentially having the form of an equilateral triangle. For example, it could be the circle or a square or any other figure, that arbitrarily located on a plane. On each step decreasing in the sizes in 2 times and being tripled in quantity, these figures eventually would turn to the shapeless points indiscernible by an eye forming a fractal - Serpinsky napkin. The napkin is an original attractorfor this IFS. If we'll continue this process we shall receive a figure:

  7. General facts of the fractal image compression Fractalcoding is a mathematical process which is applied to coding rasters which contains real images, in set of the mathematical data which describe fractalproperties of the image. Fractalcoding is based on that the majority of artificial and natural objects contains a surplus information as the identical repeating figures named fractals. The image processable with the help of this way of coding, is resulted to a system of the mathematical equations named fractalcodes. These mathematical equations are kept and used for the restoration of the image. Thus there is a compression of the data. Fractalcoding process demands a great volume of calculations. The method of coding "Fractal Transform" is the most popular one. It was offered in 1986 by Michael Barnsli. It was the first algorithm for the mathematical description, that was applied for the real raster image. During transformation of the real raster data into the fractalcodes 2 serious advantages are realized: • An opportunity of scaling fractalimages, while the unarchival process is in progress, without introduction of artefacts and loss of details. Unique feature of this algorithm is in following: the enlarged image is not devided into squares. The process of the fracatl panaromizationdoes not depend on the resolution of the raster image. The scale is limited only of volume of computers free memory. 2. The size of the physical data that is used for the record of fractal codes is much less in sizes of the initial raster data. A degree of compression of the real image with the help of the fractalcodings is up to 2000:2. And the bigger coefficients are achieved on real images what is not typical for algorithms with losses.

  8. Estimation of a fractalalgorithm compression. • Has the best coefficient of compression (the champion among algorithms). • Degree of compression: 2-2000 (it is set by the user). • Symmetry: 100-100000. • Prominent features: Can freely scale the image while decoding, increasing the size of the image in 2-4 times without applying of a " ladder effect ”. " ladder effect ”

  9. Class of the images that we consider. • Full colored 24, 32 bit images. • Or images in greyscale without sharp transitions (Photos).

  10. 2. Theory that is concerned with the fractal-based compression algorithm • Metric space for images in greyscale color. We can consider images in greyscale as a real functions f (x, y), that is determined on a single square That is Where N - is the number of a grey gradation. We can enter the metrics on these functions as follows: Let's define a space F of the real functions, integrated with a square on with the entered metrics. Then the space F - is a completespace. Images with which we shall work, are digital images. The digital image is a matrix of values where Thus, it is a matrix of the fixed values of function taken in the fixed points In this case we shall speak about (rms)-root mean square:

  11. Systems of the iterated piecewise-defined functions. • In fractalcompression of images are used IFS of a special type, the system of the iterated piecewise-defined functions (partitioned iterated function system - PIFS). PIFS consists of full metric space X, a set of sub areas and a set of compressing representations Systems of the iterated piecewise-defined functions.

  12. Affine transformations of the image to the grey scale. • Let is the affine transformation that translates a single square into itself: , in other words • for some matrix of the size and a vector of the size . Let - some sub area of an individual square and let - area of values of the transformation working on set , so • Now we can determine the representation operating on the image , as • is convertible • expands or constricts a range of values of function (operates contrast) • increases or reduces values of gradation grey, or operates brightness • a spatial component of transformation • a base affine transformation of grey scale images which we shall use in fractal coding

  13. Spatial affine transformation And the opposite transformation to it .

  14. Compressing representations of the images.

  15. The Theorem about the compressing representations of the images We shall subdivide into the quantity of that makes a surface of :

  16. Basic image Attractor

  17. Fractal coding of the images Rangeblocks can be the identical size, but adaptive splitting with the variable size of blocks (adaptive variable sizing) is used more often.

  18. STEPS The base fractalcoding algorithm of images is carried out as follows: 1. We share the image f on nonoverlapped rangeblocks . In our example rangeblocks are rectangulars, but can be used other forms, for example triangles. Blocks can be equal, but adaptive splitting with the variable size of blocks is used more often. It enables to fill densely parts in the images containing fine details with the rangeblocks of the small size. One widespread type of the adaptive circuit of splitting - is a quad tree method. 2. We cover the image with sequence of the domain blocks probably overlapped. Domains can have different sizes, and their amount is usual is estimated in hundreds and in thousand. • For everyrange block we find the domain and corresponding transformation which in the best way coversthe range block. It is usual the affine transformation: We adjust parameters of transformation, such as contrast and brightness, for the best accordance. 4. If there is not enough exact accordance, we subdivide rangeblocks to smaller rangeblocks. We continue this process until or we shall not achieve comprehensible accordance, or the rangeblocks sizes will not reach some beforehand certain limit.

  19. The diagram shows the basic steps of the images fractalcoding

  20. Domain blocks We shall use a system with five parameters for the description of the domains system. As far as these five parameters are determined, the unique index unambiguously defines an arrangement of each domain block. The domains rowThe domains columnDomains levelHorizontal overlapVertical overlap Taken together, these parameters define, how many domains we have, how many various sizes of the domains and what large overlapit is allowable. Parameters and define, how many domains of the uppermost level are in one row and one column of thedomain blocks. The size of the domain block decreases in a half with each increase of a level of domains parameter . , operate a degree of the overlappingblocks. These parameters accept values from 0.0 up to 1.0 where 1.0 means absence of the overlapping , 0.5 - a half overlapping, 0.0 - full overlapping. The less values of , we have, the more domains we shall take.

  21. Rows () 8 8 8 8 8 8 • Columns() 8 8 8 8 8 8 • Level() 1 2 2 3 3 3 • Horizontal overlap() 1.0 1.0 0.5 0.5 0.25 0.1 • Vertical overlap() 1.0 1.0 0.5 0.5 0.25 0.1 • total amount 64 320 1186 5155 20,187 125,707

  22. Range blocks( quad tree method) • One method of splitting image on rangeblocks is a method of a quad tree. In the beginning rough splitting is made. We shall subdivide the whole image into four rectangulars. • For every rangethe block the algorithm tries to find the domain and corresponding compressing representation which in the best way covers the range block. To provide compression, those rangeblocks which are bigger than the biggest domain, have to be broken into smaller rangeblocks.

  23. When we reduce a size of an admissible error, it results to the increase of the range blocks quantity, and the increase of the quad tree depthalso results in increase of the range blocks quantity. The effect of use of a smaller dismissible error and the greater quad tree depth. In each case a lot of rangeblocks means the worse compression (and sometimes and absence of a compression in general), but better quality of the image is usual.

  24. Representation of the domain areas into the range. • Search of conformity between domain and rangeareas is a three step process. • 1. First, to the chosen domain 1 of 8 (4 turns on 90 degrees and mirror reflection in each orientation) base turns / reflections are applied. • 2. Second, the rotated domain area is compressed to correspond to the size of the range area. • 3. And, at last, the method of the least squares calculates optimum parameters of brightness and contrast

  25. where • To find optimum contrast and brightness , we need to find values and which would minimize expressionHere and arethe values of pixels ofdomain and rangeareas. These pixelsare in rectangular arrays with M rows and N columns. • The decision is:

  26. Time of coding • One of the lacks of the images fractalcoding is the large time of coding. It is known, that in cases when the number of domains is more than 100000, process of coding on a workstation occupies more than two days. • In table, there are 3 examples of coding images which were necessary for coding the image by the program on PC Pentium 200 MHz. The image used here is "Rose". • Quad tree debt 6 6 6 • Admissible error 0.05 0.05 0.05 • Rows 8 8 8 • Columns8 8 8 • Level2 2 2 • Horizontal overlap 1.0 0.5 0.5 • Vertical overlap 1.0 0.5 0.5 • Number of domains 320 1186 1186 • Number of orientations 8 8 8 • To find the best domain? NONOYes • Finite numbers of the range blocks 1048 916 916 • Average error (in pixels) 3.844% 3.839% 2.982% • PSNR 24.17 Дб 24.32 Дб 26.061 Дб • Total codingtime 15min 59 sec 42min 32 sec 2h 19 min. 31 sec

  27. Decoding images • The image is decoded by iterative usingtransformations W to any initial image g, where

  28. Quantitative estimation of distortions. • We want to know, how much the decoded image differs from the initial one . But, as the perception of quality of the image is subjective, a question how to measure this difference, appears not simple. Number of rowsNumber of columnsMax value of grayscalePixel value of the main imagePixel value of the decoded imageMiscalculation (least-squares method) Let's consider 2 simple ways of measurement:the average pixel errorand the peak attitude signal / noise (PSNR - peak signal-to-noise ratio).Average pixel error :

  29. Independence of the resolution • One of unique features of the fractalcompression is that decoding does not depend on the resolution. During decoding we can receive the image of any size no matter of the image size which has been coded. This property allows to increase productivity of compression extremely. We shall assume, for example, that the image in grayscale, sizes of 256*256*256 is coded with help of 4000 rangeblocks. If to consider, that for storage of every rangeblock it is required 4 bytes, thencoding will demand approximately 16 Kb of memory. Comparing with 64 Kb for the initial image, we receive factor of compression approximately 1:4. Now we shall assume, that after coding the size of this image became equal 1024*1024. Then we receive factor of compression 256:1 course the image in grayscale of size 1024*1024*256 usually demands 1024 Kb of memory. • Other feature promoting decoding of the image, coded with a fractal method, will be, that this decoding adds details to the image of the greater size. These details are artificial in the sense that they are not present in the initial image, however they do not contradict to a context. the picture the example of “ Fractalincreases ”, compared with an usual pixel increase is shown. Increase at 400 % concerning the initial size.Details in “ Fractalincrease ” look a little bit better.

  30. Paralleling • Can we parallelize it or not and if it is possible, then how could it be? • Let’s consider the 3-rd step of the fractal compression algorithm. • For everyrange block we find the domain and corresponding transformation which in the best way coversthe range block. It is usual the affine transformation: We adjust parameters of transformation, such as contrast and brightness, for the best accordance.

  31. Where n is a quantity of summable values (prefix sum problem). The traditional algorithm for the decision of this problem will consist of consecutive summation of elements of a numerical set The computing circuit of the given algorithm can be submitted as follows Where Calculation of the sums sequence of numerical values is a set of summation operations (tops designate operations of input, each top , corresponds to addition of value to the accrued sum ), andThere is a set of the arches determining information dependences of operations Consecutive algorithm of summation

  32. The cascade circuit of the summation algorithm The cascade circuit of the summation algorithm The variant of summation is based on use of associatively ofthe addition operation. The received variant of summation will consist in following: • ᄋ On the first iteration of the cascade circuit all initial data are subdivided into pairs and for each pair the sum of values is calculated, • ᄋ Further all received sums of pairs also are subdivided into pairs and summation of values of pairs is carried out again. e t. c. The given computing circuit can be determined as a graph:

  33. The amount of iterations of the cascade circuit appears equal to size • , • And total quantity of operations of summation • coincides with quantity of operations of consecutive variant of the summation algorithm. At a parallel performance of separate iterations in the cascade circuit the total quantity of the parallel summation operations is equal to • . • As result, it is possible to estimate parameters of acceleration and efficiency of the cascade circuit summation algorithm. • Where is the necessary quantity of processors for performance of the cascade circuit. • However thus efficiency of use of processors decreases at the increasing quantity of assumable values

  34. Multiplication of a matrix to a vector • The problem of multiplication of a matrix to a vector is defined by ratio • . • Thus, reception of a resulting vector assumes recurrences of the same operations on multiplication of matrix rows and a vector . The achieving of each such operation includes element wise multiplication of the elements of a matrix row and a vector and the subsequent summation of the received products. The total quantity of necessary scalar operations is estimated by size • . • As follows from the actions of a matrix multiplication to a vector, parallel ways of the problem decision can be received on the basis of the parallel summation algorithms.

  35. Thank you

More Related