CHAPTER I INTRODUCTION

Size: px
Start display at page:

Download "CHAPTER I INTRODUCTION"

Transcription

1 1.1 Introduction CHAPTER I INTRODUCTION The advent of digital computers and subsequent developments have created a vast array of computers capable of displaying complex graphical images, with resolution approaching that of conventional media, such as television or magazines. This capability has made way for new software designed to explore their capabilities. With the recent rapid growth of multimedia applications and digital transmission, image compression techniques have become a very important subject. The two-fold dimensions of image compression are the efficiency in transmission and storage capacity of digital data. Uncompressed graphics files are often large in size. With the use of image compression, the storage space and the transmission time is cut down to a fraction of the time required without compression. A digital image obtained by sampling and quantizing a continuous tone picture requires an enormous storage. For instance, a 24 bit color image with 512x512 pixels will occupy 768 Kbyte storage on a disk, and a picture twice of this size will not fit in a single floppy disk. To transmit such an image over a 28.8 Kbps modem would take almost 4 minutes [Vivek Arya et al., 2013]. The purpose for image compression is to reduce the amount of data required for representing sampled digital images and therefore reduce the cost for storage and transmission. Image compression plays a key role in many important applications, including image database, image communications, remote sensing (the use of satellite imagery for weather and other earth-resource applications), document and medical imaging, facsimile transmission (FAX), and the control of remotely piloted vehicles in military, space, and hazardous waste control applications. In short, an ever-expanding number of applications depend on the efficient manipulation, storage, and transmission of binary, gray-scale, or color images. In this research work, we will explain the basics of image compression, specifically for still color images. Programs using complex graphics are showing up virtually in every area of computing application such as games, education, television conferencing, remote sensing document and medical imaging, facsimile transmission and the control of remotely piloted 1

2 vehicles in military space. These programs have one factor in common; the images they use consume prodigious amount of disk storage. In a distributed environment large image files remain a major bottleneck within systems. Compression is an important component of the solutions available for creating files with sizes of manageable and transmittable dimensions. Increasing the bandwidth is another method, but the high cost involved makes this a less attractive solution. Platform portability and performance are important in the selection of the compression / decompression technique to be employed [Hong et al., 2000]. The storage requirements for images can be excessive, if true color and a highperceived image quality are desired. Storage problems are acute in remote sensing applications, the scenes imaged by earth orbiting satellites have widths and heights of several thousand pixels and there may be several bands representing the different wavelengths in which images are acquired. The raw data for a single scene therefore requires several hundred megabytes of storage space. Video images present perhaps the most serious storage problem of all. Another issue is image communication. The abnormal size of many images leads to long, costly, transmission times. Cost is not the only reason for speeding up transmission. The emergence of the World Wide Web has resulted in a huge increase in the exchange of image via the Internet. Rapid transfer of these data is essential if the web is to remain usable as an interactive information-gathering tool. Thus with ever-increasing demand for images, sound, video sequences, computer animations and volume visualization, data compression remains a critical issue regarding the cost of data storage and transmission times. While Joint Photographic Experts Group (JPEG) currently provides the industry standard for still color image compression there is ongoing research in alternative methods. Fractal image compression is one of them. Thus image compression addresses the problem of reducing the amount of data required to represent a digital image, so that it can be stored and transmitted more efficiently. An RGB image is represented with an M-by-N-by-3 array where each 3-vector corresponds to the red, green, and blue intensities of each pixel. Certain types of redundancy 2

3 occur in an image. Image compression is achieved by removing these redundancies. If the image after decompression is exactly the same as the original image then compression is said to be lossless otherwise it is said to be lossy. The proposed method deals with lossy compression. Different techniques are employed to achieve lossy compression. Fractal compression is one of the methods and this method is used in this research work to achieve improved image quality, compression ratio and reduction in coding time. The applications of communication are not confined only to immobile environment. They are also used in mobile and wireless communications. Rapid developments of the Internet with its new services and applications have created fresh challenges for the further development of mobile communication systems. A simple example is that of mobile phones (among many other new media-centric devices) now have high-resolution cameras attached, and are also the capabilities of displaying video. The growing demand for mobile services has led to a worldwide reconsideration of established methods of transmitting images in a compressed and efficient form with minimum time. The proposed method has the advantages such as low time consumption for decoding and less memory requirements for storage, which is most needed in today s communication. This method was further improved in time reduction by parallel processing. This is because parallel image compression offers a more effective approach than the sequential counterparts to accelerate the compression process and bring it closer to real-time operation. The number of range blocks generated by partitioning of block size 8x8 for an input image of 512x512 is 4096 and increases as the image size increases. The process of finding the best domain block for all these range blocks is the same process and it is independent so it can be executed in parallel thus reducing the time further than the proposed methods. Because of the independent processing of image compression operation, an effective parallel image compression algorithm can be developed to significantly reduce the processing time [Shi-xin et al., 2002] [Ender and Esin, 2004]. 1.2 Need For Fractal Compression Image compression involves minimizing the size in bytes of a graphics file without affecting the quality of the image. It also reduces the time required for images to be sent 3

4 over the Internet or downloaded from Web pages. In other words, this economization results in increased storage capacity and efficient transmission. There are several different ways in which image files can be compressed. For Internet use, the two most common compressed graphic image formats are the JPEG format and the Graphics Interchange Format (GIF). The JPEG method is more often used for photographs, while the GIF method is commonly used for line art and other images in which geometric shapes are relatively simple. Other techniques for image compression include the use of fractals and wavelets. These methods have not gained widespread acceptance for use on the Internet. However, both methods are being explored because they offer higher compression ratios than the JPEG or GIF methods. Some standardization processes based on transform coding, such as JPEG, have been started from 1970s. Performances of such standard are quite good if compression factors are maintained under a given threshold (about 20 times). Over this threshold, artifacts become visible in the reconstruction and tile effect seriously affects the images decoded, due to quantization effects of the Discrete Cosine Transform (DCT) coefficients. For applications that require higher compression factors with some minor loss of accuracy when compared with JPEG, different techniques should be selected such as fractal coding. The main objective of image compression is to minimize image data volume without any significant loss of information [Subramanya, 2001]. The underlying condition of the reduction process is the removal of redundant data. From the mathematical perspective, this amounts to transforming a 2-D pixel array into a statistically uncorrelated data set [Gonzalez et al., 2004]. The transformation is applied prior to storage or transmission of the image. At some later time, the compressed image is decompressed to reconstruct the original image or an approximation of it. In search of developing efficient image coding with optimal distortion at very low bit rates, recent research efforts use hybrid-coding techniques [Yuzo et al., 2006]. As Fractal coding with the techniques Vector Quantization (VQ), Genetic Algorithm (GA) and Simulated Annealing (SA) is used in the research work, a survey of its literature becomes necessary. 4

5 1.2.1 Survey of Fractal Coding The fundamental principle of fractal coding is the representation of a signal by the parameters of a transformation under which the signal is approximately invariant. Within the broad framework, the differences between the majorities of existing fractal coding schemes may be classified into the following categories: The partition imposed on the image by the range blocks. The composition of the pool of domain blocks which is restricted to some extent by the range partition. The class of transform applied to the domain blocks. The type of search used in locating suitable domain blocks. The quantization of the transform parameters and any subsequent entropy coding. There are unfortunately only a very few theoretical results on which decisions in any of these aspects may be based and choices are often made on an adhoc basis. In addition these categories are not independent; any comparative analysis of coding performance between different options in one of these categories is usually contingent on the corresponding choices in the other categories. A comparison between the relative merits of particular choices in each category is consequently very difficult. This review is therefore intended primarily as an overview of the variety of schemes that has been investigated and limited to still color images as the present research work deals only with the still color images. The fractal image compression problem puts forward three major requirements: speeding up the compression algorithm, improving image quality and increasing compression ratio [Erjun, 2005]. There are many modified versions proposed to improve the fractal coding techniques [Ghazel et al., 2005] [Mohsen et al., 2003]. Most of the studies focus on refining the block transformation [Chong and Minghong, 2001] reducing of the complexity of the encoding process [Chen et al., 2002] speeding up the process [Hau-Jie and Wang, 2005] [Riccardo et al., 2006] 5

6 1.2.2 Survey of Vector Quantization VQ has emerged as an effective data compression technique for low bit rate applications. The idea behind VQ is to exploit the correlation between pixels by quantizing a block of data (vector) as opposed to a scalar quantizer that quantizes each pixel independently in the area. In its simplest form VQ encodes each block independent of the previously encoded blocks or blocks to be encoded in future. This is called memoryless VQ. Several VQ schemes with memory that exploits the interblock correlation also exist [Jyi- Chang et al, 2000]. This research work uses the memoryless VQ and a survey of literature on memoryless VQ was conducted. The major problems with a VQ encoder are the codebook search complexity and the memory required to store the codebook. Both the codebook search complexity and storage requirements increase exponentially with the vector dimension [Jeng et al., 2003]. Therefore the size of the VQ blocks is usually kept very small which in turn results in a high statistical correlation between adjacent blocks. In this research work the size of the vector is limited to 64 ie., 8x8 blocks. They usually have structural characteristics like surface smoothness and edges. The searching process of the reproduction vector for an input vector using full search requires intensive computations. Many algorithms are proposed to speed up the searching process. The algorithm given by Jim and Yi [2004] uses the vector s features (mean value, edge strength, and texture strength) to delete impossible codewords that cannot be rejected by the DHSS algorithm using three projections. Two additional inequalities, one for terminating the searching process and another to reject impossible codewords, were presented to reduce the distortion computations. This algorithm is better than the DHSS algorithm and Pan s method [Pan et al., 2003 ] in terms of computing time and the number of distortion calculations hence this algorithm was included in the present research work for eliminating the domain blocks while searching for the optimal solution in the proposed method using the technique VQ. 6

7 1.2.3 Survey of GA and SA Genetic Algorithm [Arpit and Ranveer, 2005] [Benjamin et al., 2005] has become an efficient tool for search, optimization and machine learning. Even in pre-ga era concepts of GA had been applied in pattern recognition [Surapong, 2000], task scheduling [Yi and Jian, 2003]. Now GA has been widely used in many fields including Image processing [Cor et al., 2003] [Hanchuan et al., 2000] [Wu, 2004], Timetabling problem [Milena, 2004], Traffic control [Yan and Zhong, 2002], VLSI circuit design, image registration [Hany and Yongyi, 2000]. It is also applied to image processing problems including edge detection, face recognition, image segmentation, feature extraction and image compression. Simulated annealing has been applied to a wide variety of optimization problems [Alexandros, 2005] that are based on an optimality criterion and in image processing [Alexander et al., 2003] [Leipo and Lipo, 2003]. As genetic algorithms and Simulated Annealing are global search and optimization method, it can be applied to the proposed method to find the optimal domain block for each range block in iteration-free fractal image coding. The problems faced in GA are encoding the solution, fixing the size of the population, choosing the crossover and its probability, mutation and its probability and selection procedure. Similarly the problems faced in SA are generating a candidate solution, problem-specific cooling schedule, objective function and Metropolis-step in which the algorithm decides if a solution is accepted or rejected. The selection of these parameters greatly affects the solution. Major variants of the standard algorithm were proposed to speed up computation time in Fractal coding. But most of them lead to a bad image quality, or a lower compression ratio. Only few sources make a research work of designing an efficient domain pool in which the redundancies between the domain blocks can be reduced. The proposed method using the VQ technique aims to design an efficient domain pool for the fractal coding schemes in this research work. It also introduces the optimization techniques like GA and SA to improve the quality of the decoded image and for speeding the encoding time in 7

8 generating the fractal codes. This research work of introducing GA and SA reduces the computational complexity, improves the image quality and reduces the coding time. 1.3 Research Contribution An iteration-free fractal image coding for color images using the techniques Vector Quantization, Genetic Algorithm and Simulated Annealing is proposed for lossy compression in this research work to improve decoded image quality, compression ratio and to reduce the coding time. Fractal coding consists of the representation of image blocks through the contractive transformation coefficients, using the self-similarity concept present in the larger domain blocks. Fractal coding achieves high compression ratio but the time required to compress and decompress an image is time consuming. Different techniques are available to reduce the time consumption and improve the decoded image reliability. But most of them lead to a bad image quality, or a lower compression ratio. Usage of synthetic codebook for encoding using Fractal does not require iteration at decoding and the coding error is determined immediately at the encoder. Hence there is a reduction in decoding time. Very few literatures are available on iteration-free fractal coding. Vector Quantization technique uses codebook for approximating the input image blocks called range. A sequential search of the entire codebook is done in order to find the best code, with minimum error, that matches the range block. Genetic Algorithms and Simulated Annealing are mathematically motivated search techniques. Genetic Algorithm tries to emulate biological evolutionary processes to solve optimization problems and Simulated Annealing is based on annealing in metallurgy. Instead of searching one point at a time, they use multiple search points. Thus, they claim significant advantage of large reduction in search space and time. A general optimization technique can be adapted to the specific problem of optimizing image approximations. Optimal fractal coding is an NP-hard combinatorial optimization problem [Raouf and Dietmar., 2000]. So these techniques are applied in this research work for fractal image compression. An iteration-free fractal coding scheme with vector quantization was proposed in [Chang and Chung, 2000] for gray scale images. An improvement for reduction in time is 8

9 suggested in the proposed method using VQ for color images. GA or SA can be applied to virtually any problem that has a large search space. Both attempt to find near-optimal solutions without going through an exhaustive search mechanism. The significant advantage is a large reduction in search space and time without being trapped at local minima. Hence it is proposed to use GA and SA for finding the better match of the domain block to the range block without going through exhaustive search in the iteration-free fractal coding instead of the existing method using VQ. In the proposed method a synthetic codebook is created as the domain pool using the mean image, whose pixel values are the block means of all the range blocks. This code book is used as the domain pool for genetic algorithm and simulated annealing techniques. As these techniques have become an efficient tool for search and optimization, they can be used to find the better domain block from the domain pool that matches the range block of the image in fractal coding. In the existing iteration-free fractal image coding using vector quantization the redundant domain blocks in the domain pool was deleted using the Linde Buzo and Gray (LBG) Algorithm. But in the proposed method using vector quantization the domain pool was classified and pruned for each range block for each RGB component before the comparison for the identification of the better domain block from the codebook for the range block in order to reduce the computational time [Jim and Yi, 2004]. The proposed methodology using the VQ technique reduces the coding process time and intensive computation tasks by pruning the domain block for each range block. The redundancies in the domain pool are first reduced by the Linde Buzo Gray (LBG) Algorithm. Further redundancy in the domain block for each range block was achieved using the vector features such as mean value, edge strength, and texture strength. A pruning condition for terminating the searching process to find the best domain block from the domain pool has been used in this proposed research work. The research work also adopts another implementations based on genetic algorithms and simulated annealing and compares their performance on the three parameters - image quality, compression ratio and coding time. The main goal is to accelerate image 9

10 compression without significant loss of image quality and with an acceptable compression rate. These techniques in the fractal image coding have produced a good image quality at a good compression ratio with reduction in computation complexity and encoding time. Further reduction in time was achieved in GA and SA by implementing them using parallel programming. 10

11 CHAPTER II IMAGE COMPRESSION TECHNIQUES 2.1 Image Compression In image compression, reducing the amount of data required to represent a digital image, and how efficiently it can be stored and transmitted is the primary problem. A distinction between data and information is to be clearly made. Data are the means by which information is conveyed. The same amount of information can be conveyed using various amounts of data. If more data are used than is strictly necessary, then there is redundancy in the dataset. Three basic types of redundancy can be identified in a signal image [Gonzalez et al., 2004]. Coding redundancy occurs when the representation chosen for the pixel values of an image is not the most efficient one than is needed. The second type of redundancy often present in images is Interpixel redundancy. This arises because the values of a pixel and its immediate neighbors are often strongly correlated. This means that the value of a pixel can be predicted with a reasonable degree of accuracy from values of its neighbors. Consequently the amount of information conveyed by an individual pixel is relatively small, and the amount of data that is needed to represent that pixel is correspondingly smaller. The third type of redundancy is Psycho visual redundancy. This arises because not all the information present in an image is of equal importance to the human visual system (HVS). For example, there are upper limits on the number of quantization levels that can be easily distinguished by eye and on the spatial frequencies that can be detected by the eye. Lossless compression techniques are designed to remove this redundancy when data are stored or transmitted and then replaced with the image reconstructed from those data. The reconstructed image is identical to the original and all the information originally present in the image has been presented by compression. Compressing an image is significantly different than compressing raw binary data. General purpose compression programs can be used to compress images, but the result is 11

12 less than optimal. This is because images have certain statistical properties which can be exploited by encoders specifically designed for them. Also, some of the finer details in the image can be sacrificed for the sake of saving a little more bandwidth or storage space. This also means that lossy compression techniques can be used in this area. Fig 2.1 General Data Compression and Image Reconstruction. Lossless compression involves compressing data which, when decompressed, will be an exact replica of the original data. This is the case when binary data such as executables, documents etc. are compressed. They need to be exactly reproduced when decompressed. On the other hand, images (and music too) need not be reproduced exactly. An approximation of the original image is enough for most purposes, as long as the error between the original and the compressed image is tolerable. 2.2 Categories of Data Compression Data compression methods can be divided into two principal groups: Information preserving compression permits error-free data reconstruction (lossless compression). Compression methods with loss of information do not preserve the information completely (lossy compression) Lossless Compression Lossless coding guarantees that the decompressed image is absolutely identical to the image before compression. This is an important requirement for some application domains, 12

13 e.g. medical imaging, where not only high quality is in demand, but unaltered archiving is a legal requirement. Lossless techniques can also be used for the compression of other data types where loss of information is not acceptable, e.g. text documents and program executables. Some compression methods can be made more effective by adding a 1D or 2D delta coding to the process of compression. These deltas make more effective use of run length encoding, have (statistically) higher maxima in code tables (leading to better results in Huffman and general entropy coding), and build greater equal value areas usable for area coding. Some of these methods can easily be modified to be lossy. Lossy element can also be coded using 1D / 2D run length search. Also, logarithmic quantization may be inserted to provide better or more effective results. Methods for lossless image compression are: Run-Length Encoding Entropy Coding Adaptive Dictionary Algorithms such as LZW Lossy Compression In most of applications, there is no need for the exact restoration of stored image. This fact can help to make the storage more effective, and lossy compression methods are obtained. Many real images contain only a small amount of redundant data. Lossless techniques give only moderate compression of such images. Higher compression is possible using lossy compression techniques, which discard some of the information present in the image. An image can be changed in many ways that are almost undetectable by the HVS. If these changes lead to highly redundant data, then the image can be greatly compressed. The reconstructed image will not be identical to the original image, although the difference will not be clearly visible to the human eye. Lossy image coding techniques normally have three components: image modeling which defines such things as the transformation to be applied to the image 13

14 parameter quantization whereby the data generated by the transformation is quantized to reduce the amount of information encoding, where a code is generated by associating appropriate code words to the raw data produced by the quantizer. Each of these operations is in some part responsible for the compression. Image modeling exploits the statistical characteristics of the image (i.e. high correlation, redundancy). Typical examples are transform coding methods, in which the data is represented in a different domain (for example, frequency in the case of the Fourier Transform (FT), the Discrete Cosine Transform (DCT), the Kahrunen-Loewe Transform (KLT), Wavelet Transform and so on), where a reduced number of coefficients contain most of the original information. In many cases this first phase does not result in any loss of information. The aim of quantization is to reduce the amount of data used to represent the information within the new domain. Quantization is, in most cases, not a reversible operation. Therefore, it belongs to the so called lossy methods. Encoding is usually error free. It optimizes the representation of the information (helping, sometimes, to further reduce the bit rate), and may introduce some error detection codes. Methods for lossy compression: Reducing the color space to the most common colors in the image. The selected colors are specified in the color palette in the header of the compressed image. Each pixel just references the index of a color in the color palette. This method can be combined with dithering to blur the color borders. Chroma subsampling. This takes advantage of the fact that the eye perceives brightness more sharply than color, by dropping half or more of the chrominance information in the image. Transform coding. This is the most commonly used method. A Fourier-related transform such as DCT or the wavelet transform are applied, followed by quantization and entropy coding. 14

15 2.2.3 Transform coding (DCT/Wavelets/Gabor) used in lossy compression. A general transform coding scheme involves subdividing an N x N image into smaller n x n blocks and performing a unitary transform on each sub image. A unitary transform is a reversible linear transform whose kernel describes a set of complete, orthonormal discrete basic functions. The goal of the transform is to decorrelate the original signal, and this decorrelation generally results in the signal energy being redistributed among only a small set of transform coefficients. In this way, many coefficients may be discarded after quantization and prior to encoding. Also, visually lossless compression can often be achieved by incorporating the HVS contrast sensitivity function in the quantization of the coefficients. Transform coding can be generalized into four stages: image subdivision image transformation coefficient quantization Huffman encoding. For a transform coding scheme, logical modeling is done in two steps: a segmentation one in which the image is subdivided in two-dimensional vectors (possibly of different sizes) and a transformation step in which the chosen transform (e.g. KLT, DCT, Hadamard) is applied. Quantization can be performed in several ways. Most classical approaches use zonal coding, consisting of the scalar quantization of the coefficients belonging to a predefined area (with a fixed bit allocation), and threshold coding, consisting of the choice of the coefficients of each block characterized by an absolute value exceeding a predefined threshold. Another possibility, that leads to higher compression factors, is to apply a vector quantization scheme to the transformed coefficients. The same type of encoding is used for each coding method. In most cases a classical Huffman code can be used successfully. The JPEG and MPEG standards are examples of standards based on transform coding. 15

16 The lossy compression method, fractal image coding, is used in the proposed method. The technique Vector Quantization, Genetic Algorithm and Simulated Annealing are used as a searching method in Fractal image compression. These techniques are explained in detail in the following sections. 2.3 Fractal Image Compression The term Fractal was first used by Benoit Mandelbrot to designate objects that are self-similar at different scales. Such objects have details at every scale. A well-known example is the Mandelbrot set, which is described by a very simple equation, yet exhibits an infinite variety of details. This can be viewed as an extreme form of compression. The equation itself can be described with a few bits of information or implemented in a very short program, but the resulting image would need an infinite amount of bits to be represented as a set of pixels. Fractal methods have been developed for both noisy and noise-free coding methods. Images of natural scenes are more suitable because of the presence of the fractal structure in it. But results are reported to be applicable to a variety of binary, monochrome, and color scenes. Michael Barnsley and his coworkers at the Georgia Institute of Technology were the first to recognize the potential interest of fractal methods for image compression. Barnsley developed the theory of Iterated Function Systems (IFS) which was first developed by J.Hutchinson in The interest in this technique was aroused due to the compression ratio claimed by Barnsley up to 10,000 to 1. This compression ratio could be obtained only on specially constructed images, and only with considerable help from a person guiding the compression process. It was impossible to completely automate the compression process, even with a super computer. Thus IFS based compression turned out to be impractical. Then instead of trying to find an IFS for a complete image, Jacquin had the idea of partitioning the image into non-overlapping ranges and finding a local IFS for each range. This transformed the problem into a manageable task, which could be automated. This is known as Partitioned Iterated Function Systems (PIFS). 16

17 2.3.1 Partitioned Iterated Function Systems The encoder first partitions the input image into a set of non-overlapping ranges. The ranges are chosen to be square. For each range the encoder looks for a part of the input image called a domain, which is similar to the range. The domain must be larger than the range to ensure, it is contractive in the spatial dimensions. The encoder looks for domains that are twice as large as the range. To assess the similarity between a domain D and a range R, the encoder finds the best possible mapping from the domain to the range so that the image is as close as possible to the image R. Affine transformation are convenient for this purpose, but non-linear transformation could also be used. Two-dimensional transformations were used for black and white images. Three dimensions are needed for color images. As the encoder looks only for domains that are exactly twice as large as range the scaling factor is 0.5. As both the range and domain are squares, there are only 8 possible orientations of the domain. This simplification reduces the complexity. For a given range R, the encoder examines a number of possible domains. For each such domain the encoder must find the optimal affine map from D to R. The best one is the map which minimizes the distance between the image R and the image w (D) denoted as R. Such distance can be defined in various ways, but to simplify the computation root mean square error (RMS) is found using Eq (2.1) for an M x N image. Once the RMS distance between the range and all selected domains have been determined, the encoder chooses the domains with the smallest distance, encodes the corresponding affine map, and goes on working on the next range N 1 M RMS (, ) (, ) 3 R x y R x y (2.1) MxN y0 x0 1/ 2 The partition Iterated Function Systems created with the above algorithm consists of a list of affine maps, each map being restricted to specific range. Starting with a completely black image, the decoder can apply the PIFS iteratively [He et al., 2004]. This process converges to a fixed point of the PIFS. If the encoder has found a good PIFS for the image, that is, if the collage of all the transformed domains is close to the original image, then the fixed point of the PIFS is close to the image. 17

18 Thus in the fractal coding schemes, an image is partitioned into non overlapping range blocks. The larger domain blocks D are selected from the same image which can overlap. An image (MxNx3) is encoded by mapping the domain block D to the range block R with the contractive affine transformation given by Eq. (2.2) R i.( SoD) g (2.2) The operation S o D represents the contraction that maps the domain block to a range block. The parameters (called the fractal code) describing the contractive affine transformation, which has the minimum matching error between the original range block R and the coded range block R, are transmitted or stored. The fractal code consists of the contrast scaling α, luminance shift Δg or the block mean (the average pixel value of the range block) μ R, isometry i, and the position P D of the best-match domain block in the domain pool. An affine transformation [Donald and Pauline, 2001] is a linear transformation (a scale change, a rotation, a shear, or a reflection) as described by a 2 2 matrix A, plus a translation as described by a vector b: w x = A x + b (2.3) So a single affine transformation w is defined by just 6 real numbers. The general affine transformation is commonly written in homogeneous coordinates as shown below: x y 2 2 x1 A * B (2.4) y 1 By defining only the B matrix, this transformation can carry out pure translation: 1 0 A 0 1 b B b, 2 1 (2.5) Pure rotation uses the A matrix and is defined as (for positive angles being clockwise rotations): 18

19 cos( ) sin( ) 0 A B sin( ) cos( ), 0 (2.6) Here, we are working in image coordinates, so the y axis goes downward. Rotation formula can be defined for when the y axis goes upward. Similarly, pure scaling is: A a 0 11 a B, 0 (2.7) Several different affine transformations are often combined to produce a resultant transformation. The order in which the transformations occur is significant since a translation followed by a rotation is not necessarily equivalent to the converse. Since the general affine transformation is defined by 6 constants, it is possible to define this transformation by specifying the new output image locations (x 2,y 2 ) of any three input image coordinate (x 1,y 1 ) pairs. In practice, many more points are measured and a least squares method is used to find the best fitting transform. Furthermore, for the sake of reduced complexity the legitimate affine transforms are restricted to the following manipulations: 1. Linear translation of the block. 2. Rotation of the block by 0, 90, 180 and 270 degrees. 3. Reflection about the diagonals, vertical and horizontal axis. 4. Luminance shift of the block. 5. Contrast scaling of the block. This coding scheme is a technique for image compression and has evolved greatly from its first version given by Jacquin. It has become one of the most popular modern image coding methods. The implementation of fractal image compression with PIFS is given in [Nadira and Thamaraiselvi 2005]. Even though high compression is achieved on selfsimilarities, the time taken for encoding process is very high. The possibility of reducing the time will be helpful for many applications. 19

20 2.4 Vector Quantization Quantization refers to the process of approximating the continuous set of values in the image data with a finite (preferably small) set of values. The input to a quantizer is the original data, and the output is always one among a finite number of levels. The quantizer is a function whose set of output values are discrete, and usually finite. Obviously, this is a process of approximation, and a good quantizer is one which represents the original signal with minimum loss or distortion. There are two types of quantization: Scalar Quantization and Vector Quantization. In scalar quantization, each input symbol is treated separately in producing the output, while in vector quantization the input symbols are clubbed together in groups called vectors, and processed to give the output. Clubbing the data and treating them as a single unit increases the optimality of the vector quantizer, but at the cost of increased computational complexity. A quantizer can be specified by its input partitions and output levels (also called reproduction points). If the input range is divided into levels of equal spacing, then the quantizer is termed as a Uniform Quantizer, and if not, it is termed as a Non-Uniform Quantizer. A uniform quantizer can be easily specified by its lower bound and the step size. Implementing a uniform quantizer is easier than a non-uniform quantizer. If the input falls between n*r and (n+1)*r, the quantizer outputs the symbol n. Fig A Uniform Quantizer Just the same way a quantizer partitions its input and outputs discrete levels, a dequantizer is one which receives the output levels of a quantizer and converts them into normal data by translating each level into a reproduction point in the actual range of data. It can be seen from literature, that the optimum quantizer (encoder) and optimum dequantizer (decoder) must satisfy the following conditions: 20

21 Given the output levels or partitions of the encoder, the best decoder is one that puts the reproduction points x' on the centers of mass of the partitions. This is known as centroid condition. Given the reproduction points of the decoder, the best encoder is one that puts the partition boundaries exactly in the middle of the reproduction points, i.e. each x is translated to its nearest reproduction point. This is known as nearest neighbor condition. The quantization error (x - x') is used as a measure of the optimality of the quantizer and dequantizer. A vector quantizer can be defined mathematically as a transform operator T from a K-dimensional Euclidean space R^K to a finite subset X in R^K made up of N vectors. This subset X becomes the vector codebook, or, more generally, the codebook. Clearly, the choice of the set of vectors is of major importance. The level of distortion due to the transformation T is generally computed as the RMS between the real vector x in R^K and the corresponding vector x' = T(x) in X. This error should be such as to minimize the Euclidean distance d. An optimum scalar quantizer was proposed by Lloyd and Max. Later on, Linde, Buzo and Gray resumed and generalized this method extending it to the case of a vector quantizer. The algorithm that they proposed is derived from the K Nearest Neighbor clusterisation method, and is performed by iterating the following basic operations: subdivide the training set into N groups (called partitions or Voronoi regions), which are associated with the N codebook letters, according to a minimum distance criterion the centroids of the Voronoi regions become the updated codebook vectors compute the average distortion: if the present reduction in the distortion (as compared with the previous step) is below a certain threshold, then STOP. Once the codebook has been designed, the coding process simply consists in the application of the T operator to the vectors of the original image. In practice, each group of n 21

22 pixels will be coded as an address in the vector codebook, that is, as a number from 1 to N. The LBG algorithm for the design of a vector codebook always reaches a local minimum for the distortion function, but often this solution is not the optimal one. A careful analysis of the LBG algorithm's behavior allows one to detect two critical points: the choice of the starting codebook and the uniformity of the Voronoi regions' dimensions. For this reason some algorithms have been designed that give better performances. With respect to the initialization of the LBG algorithm, for instance, one can observe that a random choice of the starting codebook requires a large number of iterations before reaching an acceptable amount of distortion. Moreover, if the starting point leads to a local minimum solution, the relative stopping criterion prevents further optimization steps [Peter and Bradley, 2000] Vector Quantization for Image Compression Vector Quantization has been widely used for image compression in recent years since it can obtain good rate distortion performance in spite of the simplicity of its decoding process [Liu et al., 2003]. It can be classified into two categories memory less VQ and memory VQ [Asmat, 2004]. In memory less VQ input vector (blocks) are encoded independently, whereas the memory VQ exploits the correlation among the neighboring blocks to further reduce the bite rate. Popular memory VQ techniques reported in the literature includes predictive VQ [Pei-Yin, 2004], finite state VQ, dynamic finite state VQ [Jyi-Chang et al., 2000], address VQ and index search VQ [Nakayama et al., 2003]. By grouping source output together and encoding them as a block we obtain efficient compression algorithm. Many of the lossless compression algorithms take advantage of this fact. We view these blocks as vectors and hence the name vector quantization. In vector quantization we group the source output into blocks or vectors we can take a block of L pixels from an image and treat each pixel value as a component of a vector of size or dimension L. These vectors of source outputs form the input to the vector quantizer. At both the encoder and decoder of the vector quantizer, we have a set of L dimensional vectors called the codebook of the vector quantizer. The vectors in this codebook, known as code vector, are selected to be representative of the vectors we generate from the source output. 22

23 Each code vector is assigned a binary index. At the encoder, the input vector is compared to each code vector in order to find the code vector closest to the input vector. The elements of this code vector are the quantized values of the source output. In order to inform the decoder about which code vector was found to be the closest to the input vector; the binary index of the code vector is transmitted or stored. Because the decoder has exactly the same codebook, it can retrieve the code vector given its binary index. Although the encoder may have to perform considerable amount of computations in order to find the closest reproduction vector to the vector of source outputs, the decoding consists of table lookup. Source Output Encoder Table Look up Decoder Reconstruction Unblock Group into vectors Find closest code vector Codebook index index Codebook Fig 2.3 The Vector Quantization Procedure This makes vector quantization a very attractive encoding scheme for applications in which the resource available for decoding are considerably less than the resource available for encoding [Shigeki and Hiroomi, 2005] LBG Algorithm This algorithm also known as Generalized Lloyd s Algorithm is the basis of most vector quantization designs. It is as follows. 23

24 Step1: Start with an initial set of reconstruction value vectors as threshold є. X N n n 1 (0) y M i i 1 and set of training. Initialize k=0 and, D (0) to some high value. Select the ( t) Step2: The quantization region V M i i 1 ( t) V x : d( x, y ) d( x, y ) j i i 1,2 M i n n i n j,..., are given by. None of the quantization region should be empty. Step3: Calculate the average distortion D (k) representative reconstruction value. Step4: If ((D (k) D (k-1) ) / D (k) ) < є stop, otherwise continue. between the training vectors and the Step 5: Increment the value of k by 1. Find new reconstruction value the average value of the element of each of the quantization regions step Initializing the LBG Algorithm ( k) y M i i 1 which is ( k 1) V i. Go to The LBG Algorithm guarantees that the distortion from one iteration to the next will not increase. However there is no guarantee that the procedures will converge to the optimal solution. The solution to which the algorithm converges is heavily dependent on the initial condition. Linde, Buzo and Gray described a technique called the splitting technique for initializing the design algorithm. In this technique of designing a vector quantizer, a single output vector is first designed, in other words a codebook of size one or a one-level vector quantizer. With a one-element codebook, the quantization region is the entire input space, and the output vector is the average value of the entire training set. From this output vector the initial codebook for a two-level vector quantizer can be obtained by including the output point for the one level quantizer and a second output vector obtained by adding a fixed perturbation vector. Then the LBG algorithm is used to obtain the two-level vector quantizer. Once the algorithm has converged the two codebook vectors are used to obtain the initial codebook of a four-level vector quantizer. This initial four-level codebook 24

25 consists of the two codebook vector from the final codebook of the two-level vector quantizer and other two vectors obtained by adding to the two codebook vectors. The LBG algorithm can then be used until this four level quantizer converges. In this manner the number of levels is kept doubling until the desired number of level is reached [Nick, 2000] The Empty Cell Problem When the inputs are assigned to the initial vector and if no input vector gets assigned to one it is a problem. Because in order to update an output, the average value of the input vectors is taken. There is a danger that an output that is never used will end up. A common approach to avoid this is to remove an output vector that has no inputs associated with it and replace it with vector from the quantization region with the most output vectors. This can be done by selecting a vector at a random from the region with the highest population of training vector or the highest associated distortion. In the proposed method the empty output vector is replaced with a random vector chosen from the quantization region with the most output vectors. Once the codebook has been designed, the coding process simply consists of applying the operator T to the vectors of the original image. In practice, each group of n pixels will be coded as an address in the vector codebook, i.e., as a number from 1 to N. From the results it is obviously clear that going for higher levels greater than 64 is not required because it consumes lot of time and the compression ratio (CR) is not increased nor the root mean square error decreases, it also increases the empty cell problem [Nadira and Thamaraiselvi, 2004] 2.5 Genetic Algorithm A genetic algorithm (GA) is a search technique used in computer science to find approximate solutions to optimization and search problems. Genetic algorithms are a particular class of evolutionary algorithms that use techniques inspired by evolutionary biology such as inheritance, mutation, natural selection, and recombination (or crossover). 25

26 Genetic algorithms are inspired by Darwin's theory of evolution. Genetic algorithms are typically implemented as a computer simulation in which a population of abstract representations (called chromosomes) of candidate solutions (called individuals) to an optimization problem evolves toward better solutions. Traditionally, solutions are represented in binary as strings of 0s and 1s, but different encodings are also possible. The evolution starts from a population of completely random individuals that happens in generations. In each generation, the fitness of the whole population is evaluated, multiple individuals are stochastically selected from the current population (based on their fitness), modified (mutated or recombined) to form a new population, which becomes current in the next iteration of the algorithm. This is repeated until some condition (for example number of populations or improvement of the best solution) is satisfied Operation of GA An individual, or solution to the problem to be solved, is represented by a list of parameters, called chromosome or genome. Chromosomes are typically represented as simple strings of data and instructions. Initially several such individuals are randomly generated to form the first initial population. During each successive generation, each individual is evaluated, and a value of fitness is returned by a fitness function. The pool is sorted, with those having better fitness (representing better solutions to the problem) ranked at the top. The next step is to generate a second generation population of organisms, based on the processes of selection and reproduction of selected individuals through genetic operators; crossover (or recombination), and mutation. For each individual to be produced, a pair of parent organisms is selected for breeding. Selection is biased towards elements of the initial generation which have better fitness, though it is usually not so biased that poorer elements have no chance to participate, in order to prevent the population from converging too early to a sub-optimal or local solution. There are several well-defined selection methods: roulette wheel selection and tournament selection are popular methods. Roulette wheel selection is used as the selection method in the present task. Following selection, the crossover (or recombination) operation is performed upon the selected chromosomes. Commonly, GA has a probability of crossover (p c ), typically 26

27 between 0.6 and 1.0, which encodes the probability that two selected organisms will actually breed. Organisms are recombined by this probability. Crossover results in two new child chromosomes, which are added to the next generation population. The chromosomes of the parents are mixed during crossover, typically by simply swapping a portion of the underlying data structure. This process is repeated with different parent organisms until there are an appropriate number of candidate solutions in the next generation population. The next step is to mutate the newly created offspring. Typical GA has a fixed, very small probability of mutation (p m ) on the order of 0.01 or less. Based on this probability, the new child organism's chromosome is randomly mutated, typically by flipping bits in the chromosome data structure. These processes ultimately result in the next generation population of chromosomes that is different from the initial generation. Generally the average fitness increases by this procedure for the population, since only the best organisms from the first generation are selected for breeding. The entire process is repeated for this second generation: each organism is evaluated, the fitness value for each organism is obtained, pairs are selected for breeding, a third generation population is generated, etc. This generational process is repeated until a termination condition has been reached. Common terminating conditions are [Luo et al., 2001]: Fixed number of generations reached Allocated budget (computation time/money) reached An individual is found that satisfies minimum criteria The highest ranking individual's fitness is reaching or has reached a plateau such that successive iterations do no longer produce better results Manual inspection Combinations of the above Outline of the Basic Genetic Algorithm Step1: Generate random population of n chromosomes (suitable solutions for the problem) 27

28 Step2: Evaluate the fitness function f(x) of each chromosome x in the population Step3: Create a new population by repeating the following steps until the new population is complete i. Select two parent chromosomes from a population according to their fitness (the better fitness, the bigger chance to be selected) ii. With a crossover probability cross over the parents to form new offspring (children). If no crossover was performed, offspring is the exact copy of the parents. iii. With a mutation probability mutate new offspring at each locus (position in chromosome). iv. Place new offspring in the new population Step4: Use newly generated population for a further run of the algorithm Step5: If the end condition is satisfied, return the best solution in current population and exit, otherwise go to step Parameters of GA There are two basic parameters of GA - crossover probability (p c ) and mutation probability (p m ). Crossover probability: If there is no crossover, offspring are exact copies of parents. If there is crossover, offspring are made from parts of both parents chromosome. If crossover probability is 100%, then all offspring are made by crossover. If it is 0%, whole new generation is made from exact copies of chromosomes from old population. Crossover is made in hope that new chromosomes will contain good parts of old chromosomes and therefore the new chromosomes will be better. However, it is good to let some part of old populations survive to next generation. The crossover probability is chosen as 0.85 in the proposed method. Mutation probability: If there is no mutation, offspring are generated immediately after crossover (or directly copied) without any change. If mutation is performed, one or more parts of a chromosome are changed. If mutation probability is 100%, whole chromosome is changed, if it is 0%, nothing is changed. Mutation generally prevents the GA from falling 28

29 into local extremes. Mutation should not occur very often, because GA will in fact then change to random search. The mutation probability is chosen to be 0.06 in the proposed method Other Parameters There are also some other parameters of GA. One another particularly important parameter is the size of the population. Size of the Population: How many chromosomes are in population (in one generation). If there are too few chromosomes, GA has few possibilities to perform crossover and only a small part of search space is explored. On the other hand, if there are too many chromosomes, GA slows down. Research shows that after some limit (which depends mainly on encoding and the problem) it is not useful to use very large populations because it does not solve the problem faster than moderate sized populations. In the proposed method the size of the population is chosen to be 40. Selection: Chromosomes are selected from the population to be parents for crossover. The problem is how to select these chromosomes. According to Darwin's theory of evolution, the best ones survive to create new offspring. There are many methods in selecting the best chromosomes. Examples are Roulette wheel selection, Boltzmann selection, Tournament selection, Rank selection, Steady state selection and some others. Roulette wheel selection is used in the proposed method. 2.6 Simulated Annealing Simulated Annealing is a related global optimization technique which traverses the search space by testing random mutations on an individual solution. A mutation that increases fitness is always accepted. A mutation which lowers fitness is accepted probabilistically based on the difference in fitness and a decreasing control parameter. The method of simulated annealing is a technique that has attracted significant attention as suitable for optimization problems of large scale because it is one of the algorithms that has an explicit strategy to avoid local minima. In SA terminology, one speaks of seeking the 29

30 lowest energy instead of the maximum fitness. It was independently invented by S. Kirkpatrick, C. D. Gelatt and M. P. Vecchi in 1983, and by V. Cerny in The name and inspiration come from annealing in metallurgy, a technique involving heating and controlled cooling of a material to increase the size of its crystals and reduce their defects. The heat causes the atoms to become unstuck from their initial positions (a local minimum of the internal energy) and wander randomly through states of higher energy; the slow cooling gives them more chances of finding configurations with lower internal energy than the initial one. In the SA method, each point s of the search space is compared to a state of some physical system, and the function E(s) to be minimized is interpreted as the internal energy of the system in that state. Therefore the goal is to bring the system, from an arbitrary initial state, to a state with the minimum possible energy Operation of SA The following elements must be provided to solve any problem using SA: a description of possible system configurations a generator of random changes in configuration an objective function E (analog of energy) whose minimization is the goal of the procedure an annealing schedule - an initial control parameter and rules for lowering it as the search progresses The basic iteration: At each step, the SA heuristic considers some neighbors of the current state s, and probabilistically decides between moving the system to state s' or staying back in state s. The probabilities are chosen so that the system ultimately tends to move to states of lower energy. Typically this step is repeated until the system reaches a state which is good enough for the application, or until a given computation budget has been exhausted. Boltzmann s Probability is used in the proposed method. The neighbors of a state: The neighbors of each state are specified by the user; usually it is application-specific. For example, in the travelling salesman problem, each state is typically defined as a particular tour (a permutation of the cities to be visited); then one could define two tours to be neighbors if and only if one can be converted to the other by interchanging a 30

31 pair of adjacent cities. In the present problem the neighbor of a state is any domain block from the domain pool. Transition probabilities: The probability of making the transition to the new state s' is a function P(δE, T) of the energy difference δe = E(s') - E(s) between the two states, and of a global time-varying parameter T called the control parameter. One essential feature of the SA method is that the Transition probability P is defined to be nonzero when δe is positive, meaning that the system may move to the new state even when it is worse (has a higher energy) than the current one. It is this feature that prevents the method from becoming stuck in a local minimum a state whose energy is far from being minimum, but is still less than that of any neighbor. Also, when the control parameter tends to zero and δe is positive, the probability P(δE, T) tends to be zero. Therefore, for sufficiently small values T, the system will increasingly favor moves that go "downhill" (to lower energy values), and avoid those that go "uphill". In particular, when T is 0, the procedure reduces to the greedy algorithm which makes the move if and only if it goes downhill. Also, an important property of the function P is that the probability of accepting a move decreases when (positive) δe grows bigger. For any two moves which have positive δe values, the function P favors the smaller value (smaller loss). When δe is negative, P(δE, T) = 1. However, some implementations of the algorithm do not guarantee this property with the function P, but rather they explicitly check whether δe is negative, in which case the move is accepted. Obviously, the effect of the state energies on the system s evolution depends crucially on the control parameter. Roughly speaking, the evolution is sensitive only to coarser energy variations when T is large and to finer variations when T is small. In the proposed method T is made to vary from 1 to 0. The annealing schedule: Another essential feature of the SA method is that the control parameter is gradually reduced as the simulation proceeds. Initially, T is set to a high value (or infinity), and it is decreased at each step according to some annealing schedule which may be specified by the user, but must end with T=0 towards the end of the allotted time budget. In this way, the system is expected to wander initially towards a broad region of the search space containing good solutions, ignoring small features of the energy function; then 31

32 drift towards low-energy regions that become narrower and narrower; and finally move downhill according to the steepest descent heuristic. Generate the initial Solution and calculate the fitness function Estimate initial value for control parameter T and no. of generation g Initialize g=1 Generate new solution S and calculate the fitness function f f threshold No Yes Compute Boltmann probability B, generate a random number r Store the new solution S Yes r B g=g+1 No Yes g< max Min(S)<threshold No Yes No Reduce the control parameter T Yes T>min No Stop Fig. 2.4 Flow Chart of the Implementation of SA 32

33 Selecting the parameters: In order to apply the SA method to a specific problem, one must specify the state space, the neighbor selection method (which enumerates the candidates for the next state s ), the probability transition function, and the annealing schedule. These choices can have a significant impact on the method's effectiveness. Unfortunately, there are no choices that will be good for all problems, and there is no general way to find the best choices for a given problem. It has been observed that applying the SA method is more of an art than a science. Fig, 2.3shows the flow chart of the simulated annealing Pseudo-Code of SA The following pseudo-code implements the simulated annealing heuristic, as described above, starting from state x1 and continuing to a maximum of tmax steps or until a state with energy fopt less than terminating condition is found. The call neighbor(x1) should generate a randomly chosen neighbor of a given state x1; the call random() should return a random value in the range 0 to 1. The annealing schedule is defined by the call contr(r), which should yield the value to use, given the fraction r of the time budget that has been expended so far. x1 := x; fx1 := f(x); xopt := x1; fopt := fx1; while t < tmax for s := 1 : smax x2 := neighbor (x1); fx2 := f(x2); if fx2 <= fx1 x1 :=x2; fx1 := fx2; elseif random() < P(fx1, fx2, t) x1 :=x2; fx1 := fx2; end if fx2 <= fopt 33

34 x1 := x2; fx1 := fx2; xopt := x2; fopt := fx2; end end (loop s) if (fopt < terminating cond) return (xopt, fopt) else contr(t); x1 := xopt; end end (loop t) SA's major advantage over other methods is an ability to avoid becoming trapped at local minima. The algorithm employs a random search which not only accepts changes that decrease objective function f, but also some changes that increase it. The latter are accepted with a probability p = exp(-f/t) where f is the increase in f and T is a control parameter, which by analogy with the original application is known as the system temperature irrespective of the objective function involved. The implementation of the SA algorithm is easy. Thus different techniques like VQ, GA and SA are used to produce iteration-free fractal compression. The decompressed image got after compression should be evaluated using some measure. The performances that are generally tested are the compression ratio, quality of the decoded image, coding and decoding time. The following section explains the performance characteristics used in the present research work. 2.7 Performance Characterization The performance of a compression algorithm can be measured by the degree with which it has compressed the image data. There are various ways of expressing the amount of compression that has been achieved. One way is to compute the compression ratio, defined as 34

35 C = n1/n2 (2.8) where n1 is the number of information carrying units used in the uncompressed dataset and n2 is the number of units in the compressed dataset. The same units should be used for n1 and n2, bits or bytes are typically used. Large values of C indicate better compression. A less obvious performance measure is the time required for compression or decompression of the data. In certain application where time is at a premium, favoring quicker algorithms achieves a better compression ratio. The symmetry of the technique may also be important. A symmetrical technique will require similar amount of time to compress and decompress data. This is what one desires in applications where images are compressed as frequently as they are decompressed. Some comparison techniques are highly asymmetrical in time, taking much longer time to compress images than to decompress them. Fractal coding is an example of asymmetrical technique. This asymmetry is not a problem if compression takes place infrequently relative to decompression. When lossy techniques are employed, the decompressed image will not be identical to the original image. The performances of lossy picture coding algorithms are usually evaluated on the basis of two parameters: the compression factor (or analogously the bit rate) and the distortion produced on the reconstruction. The first is an objective parameter, while the second strongly depends on the usage of the coded image. Nevertheless, a rough evaluation of the performances of a method can be made by considering an objective measure of the error, like Mean Square Error (MSE) or Peak Signal Noise Ratio (PSNR). MSE is defined as MSE 1/ MN N 1 M 1 y0 x0 f ( x, y) 2 f ( x, y) (2.9) f where f ( x, y) and ( x, y) are original and decompressed images of size MxNx3 respectively. A closely related objective fidelity criterion is the mean squares signal to noise ratio of the compressed, decompressed image. PSNR is the term for the ratio between the maximum possible power of a signal and the power of corrupting noise that affects the 35

36 fidelity of its representation. Because many signals have a very wide dynamic range, PSNR is usually expressed in terms of the logarithmic decibel scale. The PSNR is defined as: 2 pval PSNR *log 10 20* log 10 MSE pval MSE 10 (2.10) Here, pval is the maximum pixel value of the color image. When the pixels are represented using 8 bits per sample, this is 255. More generally, when samples are represented using linear PCM with B bits per sample, pval is 2 B 1. (2.11) For color images with three RGB values per pixel, the definition of PSNR is the same except that the MSE is the sum over all squared value differences divided by image size and by three. Typical values for the PSNR in image compression are between 30 and 40 db. Smaller values of RMS error indicate that the decompressed image is closer to the original. However, this measure does not necessarily correlate with how we perceive the image. It does not follow that one technique is better than another just because it results in a lower RMS error, it may be the case that a decompressed image from the techniques with the higher error in closer, usually to the original image. For this reason subjective fidelity measures based on human perception are sometimes used to characterize the performance of lossy techniques. 36

37 CHAPTER III ARCHITECTURE AND ALGORITHM OF THE PROPOSED TECHNIQUE Fractal image coding makes use of the self-similarities present in the images for achieving high compression ratio. Iteration-free fractal coding is a technique used for image compression and is used in our proposed method. This Chapter presents the architecture and the algorithm of the proposed iteration-free fractal image coding method using VQ, GA and SA. Vector quantization, genetic algorithm and simulated annealing are three different searching technique used in the proposed method to find the best domain block with the transformations that match the range block of the image in the iteration-free fractal image compression. 3.1 Proposed Architecture of Iteration-free Fractal Image Coding The iteration-free fractal coding does not require iteration at the decoding stage which contributes to reduction in time. For this purpose synthetic codebook is used. This codebook is not transmitted by the encoder either online or offline. In the proposed method, the synthetic codebook is constructed using the mean image, whose pixel values are the block means of all the range blocks. We use the mean information of the range blocks that are hidden in the modified contractive affine transformation of the fractal codes to obtain the same domain blocks in both the encoder and decoder without using an off-line transmission of the codebook. The architecture of the proposed method is described in Fig Sender Color image Preprocessing Image blocks Encoding using VQ/GA/SA Color image Image blocks Fractal codes Receiver Reconstruction Decoding Fig. 3.1 Architecture of the Proposed Iteration-Free Fractal Image Coding Method 37

38 The sender sends the color image for compression. In the preprocessing stage, the input MxNx3 image under coding is divided into non-overlapping square blocks of BxBx3 pixels called the range blocks. Then the mean and variance of each range blocks are determined. After the mean of all the range blocks are obtained, a mean image of size M/B x N/B x 3 with each pixel corresponding to the block mean is generated. The mean image must be larger than the size of the range block i.e. M/B x N/B x 3 > B x B x 3. The maximum size of B is limited to 8 in order to produce a good quality of the decoded image. The higher the resolution of the input image (MxNx3) more blocks can be generated for the domain pool which helps to find a good mapping between the domain and range blocks. The initial domain pool with blocks of the same size as the range is generated using the mean image. In the encoder if the variance of the range block is smaller than the threshold value E, the range block is coded by the mean, or else the range block will be coded by the contractive affine transformation [Chang, 2001]. The aim of the proposed scheme is to find the domain block for each image range block and the transformation parameters that minimize the distortion between the image block and the transformed domain block in a minimized time. This process of finding the best domain block makes use of the techniques like VQ, GA and SA. In the decoder, shown in Fig. 3.2 the mean information of each range block is extracted from the fractal codes. Using this information the mean image is constructed. This mean image is partitioned into blocks of the same size as the input image. This forms the domain pool for GA and SA search methods but for VQ the domain pool is constructed from the mean image blocks (same size as that of the input) using LBG algorithm. The decompressed image is constructed block by block by applying the transformation parameters to the selected domain block from the domain pool as per the code. Fractal Codes Extract the mean of each block for each RGB component Construct the mean image and domain pool For each RGB component Apply non contraction affine transformation to fractal codes for each RGB component and then combine Image blocks Fig 3.2 Proposed Decoder 38

39 3.1.1 Encoder for the Proposed Iteration-free Fractal Image coding using VQ In this proposed method, the LBG algorithm and vector features are applied to reduce the redundancies in the generated domain blocks of the domain pool of color image and for each R,G and B calculated separately. The number of calculations to determine the best domain block is reduced by extracting the features of the range block like mean, edge strength and texture strength and comparing it with the domain pool and eliminate redundant domain blocks. The transformations are applied only to the remaining domain blocks and the transformation parameters that minimize the distortion between the image block and the transformed domain block is coded. The architecture of the proposed encoder using VQ method is described in Fig color Image blocks Construction of mean image and domain pool design for each RGB component Feature extraction of the range to obtain minimized domain pool for each RGB component Extracting domain block with minimized error for the range block for each RGB component and then combined Fractal Code Fig. 3.3 Proposed Encoder Using VQ Encoder for the Proposed Iteration-free Fractal Image coding using GA The random numbers required for GA is globally generated using Knuth algorithm for random numbers. The sizes of the chromosomes and population, the number of generations and the probability for crossover and mutation are finalized only by trial that results in good compression ratio and PSNR. Then GA method is applied to search the best domain block with the required transformation that matches the range block. The architecture of the encoder using GA method is described in Fig

40 image blocks Construction of mean image and domain pool design for each RGB component Knuth random nos. generation, design of chromosomes, fixing no of generation, size of the population, crossover and mutation probability For rough blocks find optimal solution using GA to generate the fractal codes and for smooth blocks the mean value is used as codes for each RGB component and then combined Fractal codes Fig. 3.4 Proposed Encoder Using GA Encoder for the Proposed Iteration-free Fractal Image coding using SA The random numbers required for SA is also globally generated using Knuth algorithm for random numbers. The possible system configurations, generator of random changes in configuration, means of evaluating the problem function and annealing schedule are finalized only by trial that results in good compression ratio and PSNR. The SA method is applied to search the best domain block with the required transformation that match the range block. The architecture of the encoder using SA method is described in Fig Image blocks Construction of mean image and domain pool design for each RGB component Knuth random nos. generation, design of solution representation, fixing no of generation, and annealing schedule For rough blocks find optimal solution using S Generate the fractal codes and For smooth blocks the mean Value is used as codes for each RGB component and then Combined Fractal codes Fig Proposed Encoder Using SA 3.2 Algorithms for Encoding and Decoding of the Proposed Iteration-free Fractal Image Coding Proposed Encoder In the encoder the input image is partitioned into blocks. The mean and variance of each block for each RGB component is calculated. The initial domain pool is generated using the mean image. In the encoder for each RGB component if the variance given in eq. (3.1) of the range block 40

41 V 1 2 { R} ( r 2 i, j R ) B 0i, jb (3.1) (where r i,j denotes the (i, j)th pixel in the range block of size BxB) is smaller than the threshold value E, then the range block is coded by the mean or else the range block will be coded by the contractive affine transformation. Given the mean of each range block and the set of block transformations, the proposed scheme finds for each image block the domain block and the transformation parameters that minimize the distortion between the image block and the transformed domain block for each RGB component. For N domain blocks (vectors of size k), N distortion computations are needed to determine the best match of an input range block. For a large number of domain blocks, the determination process is very time consuming. To keep the distortion almost the same as achieved by full search and to speed up the encoding process, partial domain block searches are used. The searching techniques used to obtain the domain block with minimum error that match the range block are vector quantization, genetic algorithm and simulated annealing. The new contractive affine transformation can be expressed by R i. D. } i{.( D ) } { R D D R = i{. (W i - mean (W i )) + mean(r)} (3.2) The transformations applied to the domain pool are contrast scaling (α) and isometries (i). The size of the domain blocks D is the same as that of the range block R and thus the contraction procedure in fractal coding schemes is eliminated. Therefore a new contractive affine transformation between the range block and the domain blocks in the domain pool is calculated using Eq The parameters used in the new contractive affine transformation are specified as follows. The main aspect of fractal-based image coding is to find the position of a suitable domain block P D and a transformation for a rough type range block. The luminance shift is replaced by the mean μ R. The contrast scaling α is determined by testing all the values in the following set {n/4, n=1, 2, 3, 4} to find the best one that minimizes the distortion. If the 41

42 domain blocks are represented by D i, j the eight canonical isometric transformations (i 0 - i 7 ) of the domain blocks are obtained as follows. a) Identity: i 0 (D i, j ) = D i, j (3.3) b) Orthogonal reflection about mid-vertical axis (j = (B 1)/2) of block: i 1 (D i, j ) = D i, B-1-j (3.4) c) Orthogonal reflection about mid-horizontal axis (i = (B-1)/2) of block: i 2 (D i, j ) = D B-1-i, j (3.5) d) Orthogonal reflection about first diagonal (i = j) of block: i 3 (D i,j ) = D j, i (3.6) e) Orthogonal reflection about second diagonal (i + j = B - 1) of block: i 4 (D i, j ) = D B-1-j, B-1-i (3.7) f) Rotation around center of block, through +90 o : i 5 (D i, j ) = D j, B-1-i (3.8) g) Rotation around center of block, through +180 o : i 6 (D i, j ) = D B-1-i, B-1-j (3.9) h) Rotation around center of block, through -90 o : i 7 (D i, j ) = D B-1-j, i (3.10) An advantage of coding using isometry transformation is that it can be decoded to any size either enlarged or minimized depending on the requirements. To achieve higher compression ratio, low complexity index compression scheme can be used. The encoding procedure can be summarized in the following steps. Step1: The mean µ R and variance V R of each range block R(i,j) is determined. A mean image of size M/B x N/B x3 with each pixel corresponding to the block mean is generated. The mean image must be larger than the size of the range block i.e. M/B x N/B x 3 > B x B x 3. Step2: The mean image is divided into blocks of the same size as the range block (B x B x 3 pixels) to form the domain pool. Step3: If the variance of the range block is smaller than the threshold value E, then the range block (smooth block) is coded by the mean, otherwise, the range block (rough 42

43 block) will be coded by the fractal code f (i, α, µ R, P D ) using VQ / GA / SA techniques. Here i represent the isometry transformations, α the contrast scaling, µ R the mean value of the range block and P D the domain block number in the domain pool. R = ( i, j) µ R if V R E = f (i, α, µ R, P D ) if V R > E (3.11) Thus the input from the sender is the image and the output is the fractal codes Algorithm of the Encoder for the Proposed Iteration-free Fractal Image coding using VQ For each RGB component the redundant domain blocks are initially eliminated using LBG algorithm as in the existing iteration-free fractal gray scale coding using VQ. The enhancement proposed in this method using VQ is to further reduce the domain blocks that are redundant by examining the vector features. The following method helps in identifying the domain blocks that are eliminated in the search [Jim and Yi, 2004] [Nadira Banu Kamal, 2010]. Let v 1,v 2 and v 3 be three orthogonal vectors, where v 1 = ¼ [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] v 2 = ¼ [1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1] v 3 = ¼ [ 1,1,-1,-1, 1,1,-1,-1,1,1,-1,-1,1,1,-1,-1] (3.12a) (3.12b) (3.12c) for the codebook of size k=16. The axis in the direction of v i (i=1, 2, 3) is denoted as the i th axis. Let x i be the projection value of an input block (vector) X on the i th axis. That is, x i is the inner product of X and v i which is calculated, as follows: x i = X, (3.12d) vi Similarly, denote c ki as the projection value of a domain block W k on the i th axis. To speed the searching process, all domain block are sorted in ascending order of their projections on the first axis. Here x 1 is four times the mean value of X; x 2 and x 3 are the edge gradients in the vertical and horizontal directions, respectively, of X; and [(x 2 ) 2 + (x 3 ) 2 ] represent the edge strength of X. Similar meanings are applied to c ki (i=1,2,3). Let r be the distance between an input block (vector) X and a domain block W j. If domain block W j 43

44 cannot satisfy the following condition, it will be rejected directly in the process of finding the closest domain block of X c ji x r, i=1, 2, 3 (3.13a) i where x i and c ji are the projection values of X and W j, respectively, on the i th axis. As shown in condition (3.13a), a smaller value of r will give a better performance of rejecting unlikely domain block. If the domain block W i is the closest domain block of X, then their projection values on the first axis may be very close. As stated before, the projection value on the first axis of a vector is four times the mean value of the vector. Therefore, the domain blocks W i, whose mean value is close to the mean value of X, is chosen as the initial domain blocks for that range block. An additional condition to reduce the distortion computations is also used. To reject irrelevant domain block, the following condition with condition (3.13a) is used to reject unlikely domain block in the process of finding the closest domain block of an input range block. Let c j be the projection of the domain block W j on the space spanned by v 1, v 2 and v 3, where c j = c j1 v 1 +c j2 v 2 +c j3 v 3 = 3 W j, vi v (3.13b) i i1 Similarly, denote x as the projection of the input range vector X on the space spanned by v 1, v 2 and v 3, where x = x 1 v 1 +x 2 v 2 +x 3 v 3 = 3 i1 X j, v v. Let s x = X x and s cj = W j - c j. From i i the definitions of c j, x, s cj and s x, c j s, cj, c j sx x scj and x x s. A candidate domain block W j should satisfy the following condition: ( c x ) ( c x ) ( c x s s r (3.14) j1 1 j2 2 j3 3) That is, if the domain block W j cannot satisfy condition given in Eq (3.14), it will be discarded directly in the process of finding the closest domain block of X. Condition given in Eq (3.14) activates only when the domain block cannot be rejected by using condition given in Eq (3.13a). The texture vector (block) has a small value of [(x 2 ) 2 + (x 3 ) 2 ] and a large value of ( s x ) 2, which is called the texture strength of X; an edge block X possesses a large value of [(x 2 ) 2 + (x 3 ) 2 ] and a small value of ( s x ) 2 and a smooth block X gives a small value of [(x 2 ) 2 + (x 3 ) 2 ] and ( s x ) 2. The x 1 is four times the mean value of X. The same characteristics are also applied to all domain blocks. A smooth domain block mainly uses its projection value on the first axis to distinguish itself from other smooth domain block; an cj x 44

45 edge domain block distinguishes itself from other edge domain block using all three projection values; a texture domain block uses the texture strength and the projection value on the first axis to distinguish itself from other texture domain block. That is, Eq (3.14) uses three features namely mean value, edge strength, and texture strength of a vector to reject unlikely domain block. Therefore, Eq (3.14) has a good performance of rejecting unlikely domain block for an input range block if a good initial domain block is found. Another condition for terminating the searching process, if the distance r between a domain block W i and input range block X is smaller than half the distance between W i and any other domain block, then the domain block W i must be the best match of the training vector X. Thus, the searching process may be stopped and W i may be chosen as the closest domain block when it satisfies Eq (3.15) d(x,w i ) 0.5 min (d(w j, W i ), j=1,2,,i-1,i+1, N) (3.15) Let d ni = 0.5 min (d(w i, W j ), j=1,2,,i-1,i+1, N), where d ni is half the minimum distance between W i and all other domain block. Thus using the above method the best domain block for each of the range block can be determined quickly. The new contractive affine transformation can be calculated using Eq. 3.2 The distortion between the original range block (R) and the coded range block ( R ) is represented by the mean-squared-error (MSE) measurement defined as: 2 1 MSE ( R, R),, 2 r i j r (3.16) i j B 0, i, jb The flow chart of the enhanced iteration-free fractal image coding using VQ is shown in fig The algorithm of the proposed iteration-free fractal image coding using VQ is given as follows: 45

46 Encoder: Step1: Partition the given image into range blocks X of size B x B x 3 and find the mean and variance of each X. Start Input Color Image Construct mean image and domain pool Determine mean & Variance of all range blocks for each R, G, B component Compute the non redundant domain pool for each range Variance < Threshold? No Yes Coded by Mean Non-Contractive affine transformation Contrast scaling & isometries Find fractal code with minimized matching error Attach Header Output fractal code Last Block? No Next block Stop Yes Fig Flow Chart of the Encoder for the Proposed Method Using VQ Step2: Plot the mean image using the mean of X as the pixel value and partition this mean image into blocks of size B x B x 3 and apply LBG algorithm to get the domain pool W of the required size N (N=16 / 32 / 64). 46

47 Step3: Determine the domain pool s projection value on the first axis and arrange them in the ascending order of the projection values on the first axis. Determine the projection value c ij and s ci (i=1, 2 N and j= 1, 2, 3) for all domain blocks in the domain pool. Construct the nearest distance table dt={d n1, d n2 d nn }. For each range block X and for each RGB component: Step4: If variance (X) < E assign 0 to label and X to code. Process the next range block. Step5: Assign 1 to label. Choose the domain block W m and compute the distance between X and W m, where W m satisfies the following condition x 1 c m1 x 1 c j1, 1 j N, and j m. Let r = d(x, W m ) and store the valve of r 2 to sqr. If r d nm, then W m is the closest domain block of X. Go to step 11. Otherwise compute the projection values x i (i=1, 2, 3) and s x of X. Set d=1. Step6: If (m+d) N or the domain block W m+d is deleted, go to step 8. Otherwise go to step 7. Step7: a) Compute D i = c (m+d)i - x i (i=1,2,3). If D 1 r, then eliminate all domain blocks from W m+d to W n and go to step 8. If D j r, (j=2,3) then delete domain blocks W m+d and go to step 8. b) Compute D t = 3 i1 D 2 i W m+d and go to step 8. ( sc( md ) s x ) 2. If D t sqr, then delete domain blocks c) Compute r = d (X, W m+d ) and set sqr = (r ) 2. If r r then domain block W m+d is eliminated and go to step 8. Otherwise set r = r and sqr = sqr. If r d n(m+d), then W m+d is the closest domain block of X, go to step 11. Otherwise go to step 8. Step8: If (m-d) < 0 or the domain block W is deleted, go to step 10. Otherwise go to step 9. Step9: a) Compute D i = c (m-d)i - x i. i=1,2,3. If D 1 r, then eliminate all domain blocks from W m-d to W 0 If D j r, (j=2,3) then delete domain blocks W m-d Go to step 10. b) Compute D t = 3 i1 D W m-d and go to step i ( sc( md ) s x ) 2. If D t sqr, then delete domain blocks 47

48 c) Compute r = d(x,w m-d ) and set sqr = (r ) 2. If r r then delete domain block W m-d, go to step 10. Otherwise set r = r and sqr = sqr. If r d n(m-d), then W m-d is the closest domain block of X, go to step 11 otherwise go to step 10. Step10: Set d = d+1. If (m+d > N and m-d < 0) or (both W m+d and W m-d are deleted), go to step 11. Otherwise, go to step 6. Step11: Apply the isometry transformations i to the minimized domain pool W for contrast scaling = x/4 {for x=1 to 4}. Calculate the RMS error between the transformed domain blocks and the range block. Transfer the values of i,,, index of W j, which has the minimum RMS error to code. Process the next range block X Algorithm of the Encoder for the Proposed Iteration-free Fractal Image coding using GA The main task of fractal-based image coding is to find a suitable domain block and a transformation for a rough type range block. The GA is used to search for an appropriately matched domain block as well as an appropriate transformation (isometry and contrast scaling) for a particular type of range block. The whole problem can be looked upon as a search problem. Instead of a global search mechanism GA has been introduced to find the near optimal solution. The number of possible domain blocks to be searched is (M/B 2 ) x (N/B 2 ), the number of isometry transformations to be searched for each domain block is eight and the contrast scaling parameter is four for each RGB color component. Thus, the space to be searched consists of N1 elements for each RGB color component. N1 is called cardinality of the search space. Here, N1 = 8 x 4 x (M/B 2 ) x (N/B 2 ) [Nadira and Thamaraiselvi, 2006b] [Nadira Banu Kamal et al., 2008]. Let the space to be searched for each RGB color components be represented by P where P = {1, 2,, 8} x {1, 2, 3, 4} x {1, 2,, (M/B 2 ) x (N/B 2 )} (3.17) Binary strings are introduced to represent the elements of P. The set of 2 n binary strings, each of length n, are constructed in such a way that the set exhausts the whole parametric space. The value for n depends on the values of M, N and B. The fitness value of a string between the given range block and the obtained range block for each RGB color component is taken to be the MSE given in Eq Let S be the population size and T be 48

49 the maximum number of iterations for the GA. Note that the total number of strings searched up to T iterations is S x T. Hence, N1/SxT provides the search space reduction ratio for each rough type range block. The random numbers generated for use in the genetic algorithm is Knuth random numbers and not the random numbers generated by computer. Fig. 3.7 gives the flow chart of the encoder for the proposed method using GA. Start Construct mean image and domain pool Input Color Image Determine mean & Variance of all range blocks Generate Knuth random nos. globally Variance < Threshold? Yes Coded by Mean No Compute the domain block with minimized error for each range block using GA for each RGB component Find fractal code Attach Header Output fractal code Last Block? No Next block Yes Stop Fig Flow Chart of the Encoder for the Proposed Method Using GA as follows: The algorithm of the proposed iteration-free fractal image coding using GA is given 49

50 Encoder: Step1: Generate Knuth random numbers globally Step2: Partition the given image into range blocks X of size B x B and find the mean and variance of each X. Step3: Plot the mean image using the mean of X as the pixel value and partition this mean image into blocks of size B x B x 3 to form the domain pool. Decide on the length of the chromosomes, crossover probability, mutation probability, population size and number of iterations. For each range block X and for each RGB component: Step4: If variance(x) < E assign 0 to label and X to code. Else assign 1 to label. Generate the initial population. Calculate the RMS value of X and each population. Store the values. Compute the next iteration using the roulette wheel selection procedure and apply crossover and mutation probability. Calculate the RMS value of X and each population for each iteration. Use elitism to restore the previous best solution [Chang and Ramakrishna, 2003]. Return the Fractal code of the minimum RMS values after the last iteration combining each RGB component Algorithm of the Encoder for the Proposed Iteration-free Fractal Image coding using SA The main work of fractal-based image coding is to find a suitable domain block and a transformation for a rough type range block. The SA method is used to search for an appropriately matched domain block as well as an appropriate transformation (isometry and contrast scaling) for a particular type of range block. Since it is a search problem, the searching has been optimized by using the SA to find the near optimal solution thereby reducing the intensive computations and in turn reducing the coding time. Configuring the solution: The number of possible domain blocks, the number of isometry transformations, and the contrast scaling parameter are the same as stated in GA. Thus, the space to be searched can be represented using the binary strings as given in Eq. (3.17) 50

51 Start Construct mean image and domain pool Input the image (RGB) Determine mean & variance of all range blocks for each RGB component Generate Knuth random nos globally Variance < Threshold? Yes Coded by mean No Compute the domain block with minimized error for each range block using SA for each RGB component Find fractal code Attach Header Output fractal code No Last Block? Next block Yes Stop Fig Flow Chart Of The Encoder For The Proposed Method Using SA Rearrangements: The random numbers are generated using the algorithm of Knuth random numbers so that all possible solution is generated. First, for each control parameter value the simulated annealing algorithm runs through a number of cycles. As the cycle runs, the inputs are randomized. Only randomizations which produce a better suited set of inputs will be kept. At the core of the simulated annealing algorithm is the randomization of the input 51

52 values. This randomization ultimately causes simulated annealing to alter the input values so that the solution is minimized. Objective Function: The fitness function between the given range block and the obtained range block is taken to be the Mean Square Error (MSE) as given in Eq. (3.16). The first 3 bits in the solution represents the binary equivalent of the isometry transformation, the next two bits, the contrast scaling and the remaining bits the domain block number. The decimal equivalents of these values are calculated and the corresponding transformations are executed on the domain block to obtain the transformed domain block. The fitness function is obtained for this transformed domain block and the range block. Annealing Schedule: The value of the control parameter is lowered after the specified numbers of training cycles have been completed. Once the value of the control parameter is lowered, it is determined whether the value has reached the lowest allowed value of the control parameter. If the value is not lower than the lowest allowed value of the control parameter, then the value is lowered and another cycle of randomizations will take place only if the minimum value obtained using the fitness function has not reached the threshold value. The simulated annealing algorithm is complete if the value of the control parameter is lower than the minimum value allowed or the solution has reached the threshold. Various cooling schedules are suggested in literature (fig. 2.4). Different cooling schedules were tried and in the proposed method T T0 N 2 i T0 i is used as it leads to better solution [Nadira and Thamaraiselvi, 2006a]. The flow chart of the encoder for the proposed method using SA is given in the fig 3.8. T N2 The algorithm for SA is as follows: Step1: Start by generating an initial solution s (randomly) and by initializing the control parameter T. Then the following is repeated until the termination condition is satisfied: Step2: A solution s' is randomly sampled and it is accepted as new current solution depending on f(s), f(s') and T. 52

53 Step3: s' replaces s if f(s') < f(s) or, in case f(s') >= f(s), with a probability following the Boltzmann distribution exp(-(f(s') - f(s))/t) Decoder Fig. 3.9 shows the flow chart of the decoder in the proposed enhanced iteration-free fractal scheme. The entire fractal codes are first received and determined whether or not the range block is coded by the mean from its header. The mean image is reconstructed with the mean information in the codes. This mean image is identical to the mean image used in the encoder since both are constructed by the same block means. Therefore, the domain blocks generated from both the mean image will be the same. If the block is coded by the mean, the value of each pixel in the decoded block is equal to the mean value. Otherwise the contractive affine transformation using Eq 3.2 is performed to reconstruct the coded range block. The decoding process ends when the last range block is reconstructed. Only the fixed mean image that is reconstructed from the received codes is required for the construction of the domain pool. On the other hand, the range blocks can be decoded in parallel. Therefore, the proposed decoder is very much suitable for the hardware implementation and high-speed applications. The fractal codes are the input to the decoder. The decoding process is as follows: Step1: Extract the mean information of each range block from the fractal codes and construct the mean image for each RGB color Component. Step2: The domain pool is obtained by partitioning the mean image using the same size as the range block of each RGB color component for SA. LBG algorithm is applied on these domain blocks to obtain the domain pool for VQ. Step3: For smooth blocks, the decompressed image blocks are obtained by the mean value and for rough blocks apply contractive affine transformation using the fractal codes. The outputs of the decoder are image blocks that are combined for each RGB color component to form the decoded image at the receiver end. Thus the receiver gets the fractal codes as input and the decompressed image as output. 53

54 Start Construct mean image and domain pool Read headers & fractal codes of all range blocks Coded by mean? Yes Block reconstructed by mean No Contractive affine transformation using compressed fractal codes Output decoded range block Next block No Last Block? Yes Stop Fig Flow Chart of the Decoder for the Proposed Method Therefore, the proposed decoder is very much suitable for the hardware implementation and high-speed applications. The performance of the quality of the decoded image of size MxN with 8 bit color resolution is measured using peak signal-to-noise-ratio (PSNR) given in Eq. (3.18) and the bit rate (the required bits per pixel) using Eq. (3.19). PSNR ( db) 20log 10 1 M 1 jn (2 8 1) ( MxN) 1/ 2 2 ( ri, j r i, j ) i (3.18) 54

55 Bit rate = bit/pixel (3.19) For a block size, where N μ N f I μ I f number). number of blocks coded by mean number of blocks coded by fractal codes required bits for the block mean required bits for (block mean + isometry + contrast scaling + domain block Using smaller domain pools, the number of accesses to the domain pool memory and the power consumed per memory access are reduced. The use of smaller domain pool also leads to reduction of the number of executions of the distortion criterion since smaller number of candidate domain pool exists. So reduction in search for the best domain block was achieved by using the partial domain block search. This Chapter describes in detail the architecture and the algorithm of iteration-free fractal coding for image compression using vector quantization, genetic algorithm and simulated annealing. As seen from the flow chart, the proposed methods are simple and easy to implement. The iteration-free fractal coding method is found to provide computational efficiency, thereby reducing drastically the cost of coding. Reduction in search space for the best domain block was achieved by using the partial domain block search. 55

56 CHAPTER IV IMPLEMENTATION OF THE PROPOSED TECHNIQUES In this Chapter the implementation of the algorithms iteration-free fractal image coding using the techniques like vector quantization, genetic algorithm and simulated annealing are explained. These algorithms were implemented using the software Matlab 7.12 for both serial and parallel (MDCS using 8 coworkers) image processing on the Intel (R) Core[TM] 2 E7500 systems with 2.93 GHz and 1.96 GB of RAM. The MATLAB Distributed Computing Server (MDCS) environment is composed of three parts. The three parts are: MATLAB client installation including Parallel Computing Toolbox (PCT), MDCS Worker nodes and Job Manager/Scheduler (i.e. MATLAB Jobmanager, LSF (Load Sharing Facility), PBS (Portable Batch System), etc). The MATLAB client(s) communicate with the Jobmanager/Scheduler to submit jobs and tasks. The Jobmanager/Scheduler then relays tasks to available workers. Once a worker completes its task the results are returned to the Jobmanager/Scheduler, who in-turn relays the results back to the client session where they are received by the user. For implementation of the proposed algorithms, four 512 x 512 benchmark color images of Lena, Pepper, Tajmahal and Cauliflower [shown in Fig. 4.1 (a) to (d)] with twenty four bit color resolution were used. In the simulation, the images were partitioned into range blocks with the block size, 8x8 or 4x4 or 2x2. The maximum block size is set to 8x8 because for a range block size greater than 8x8 the determination of the proper domain block was difficult and the quality of the image reconstructed was poor. The threshold value for the variance of range blocks was chosen by trial and error basis to be of size 20 for block size 8x8, 10 for 4x4 and 5 for 2x2 that results in good compression ratio and PSNR. The number of blocks in the mean image is the size of the domain pool. 56

57 (a) Lena (b) Pepper (c) Tajmahal (d) Cauliflower Fig 4.1 Original (512 X 512x3, 24 Bit/Pixel) Images. 4.1 Implementation of the Proposed Iteration-free Fractal coding using VQ In order to obtain the same blocks in both the encoder and decoder in the fractal coding scheme, an iteration-free fractal coding scheme was proposed by Chang and Chung [2000] for gray scale images. This method was applied to color images and further improved in the proposed method by reducing the domain pool for each range block for each RGB color component which results in efficient coding time. The LBG algorithm was applied to design the domain pool using the mean image. The LBG method reduces the redundancies between the generated domain blocks and thus the constructed domain pool was efficient compared to the fractal schemes using iterations. The coding performance was further improved in the proposed algorithm. For each RGB color component used the vector features namely mean value, edge strength, and texture 57

58 strength to delete impossible domain blocks for each range block. To find the better matching domain block for a range block, two additional conditions were executed. One condition helped in terminating the searching process and another to reject impossible domain blocks. This helped in the reduction of the distortion calculations for the computation of the better match for the range block. Extra computations for these additional conditions were very small and had reduced the coding time to a great extent. The computer simulation showed that the coding time was greatly reduced and the quality of the decoded image was also good. The domain pool design of three sizes were used in the proposed method namely N D = 16, 32 and 64. The performance of the quality of the decoded image was evaluated by the root-mean-square-error and the coding time was computed. The range block with a size 8x8, 4x4 and 2x2 was considered for simulation. The length of the attached header to the proposed iteration-free fractal code for each range block was one bit because it only denoted whether or not the range block was coded by the mean. For an image partitioned by 4x4 range blocks, every block mean was calculated and a 128x128 mean image was obtained. Fig. 4.2 (b) shows the mean image of Lena got by this partition and it is very similar to its original image except its size. Therefore the domain pools of different sizes namely 16, 32 and 64 using the LBG-based method from the mean image was constructed. The coding performance with the contractive affine transformation under the different sizes for the domain pool on the parameters like coding time, image quality and bit rate was determined. (a) 64x64 (b) 128x128 (c) 256x256 Fig Mean Images Of Lena. 58

59 For the image partitioned by 8x8, 4x4 and 2x2 range blocks, the 64x64, 128x128 and 256x256 mean images for Lena was obtained and shown in Fig. 4.2 (a), (b) and (c) respectively. The domain pools of different sizes were constructed on these images using the LBG-based method and computed the coding performance on the same parameters for different sizes of the domain pool for each RGB color component. 4.2 Implementation of Iteration-free Fractal Coding using GA In this section, the implementation that has been conducted to obtain the performance of the iteration-free fractal image coding using GA is discussed. In optimizing, it is important that the GA should be able to converge to the optimum in as few generations as possible. The significance of crossover probability (p c ), and mutation probability (p m ), in controlling GA performance had long been acknowledged in GA research. Several studies, both empirical and theoretical have been devoted to identify optimal parameter settings for GA [Luo et al., 2001]. The crossover probability p c controls the rate at which solutions are subjected to crossover. The higher the value of p c, the quicker are the new solutions introduced into the population. As p c, increases, however, solutions can be disrupted faster than selection can exploit them. Typical values of p c, are in the range Mutation is only a secondary operator to restore genetic material. Nevertheless the choice of p m is critical to GA performance. Large values of p m, transform the GA into a purely random search algorithm, while some mutation is required to prevent the premature convergence of the GA to sub optimal solutions. Typically p m is chosen in the range The range block with a size 8x8, 4x4 & 2x2 was considered for simulation. Here the total number of range blocks for the block size 4x4 for each color component was n = and total number of domain blocks (m) to search were (128 / 4) x (128 / 4) = 32 x 32. Thus, the cardinality (N1) of the search spaces for this case was 8 x 4 x 1024.The string length n was taken to be 15 ( ). Out of these 2 15 binary strings, forty strings (S = 40) were selected randomly to construct an initial population. A high crossover probability, say p c = 0.85, was taken for the crossover operation. For mutation operation, p m was Roulettewheel selection procedure was used. The probability of selection of a string in the 59

60 population to the mating pool was inversely proportional to its fitness value because the present optimization problem is a minimization problem. The total number of generations (iterations) considered in the GA was T = 60. Hence, the search space reduction ratio was approximately 14. The coding performance of the proposed method using the parameters like decoded image quality and encoding time was determined. For the image partitioned by 8x8, 4x4 and 2x2 range blocks, the 64x64, 128x128 and 256 x 256 mean image for Lena was obtained and shown in Fig. 4.2(a), (b) and (c) respectively. For the block size 8x8, the total number of range blocks for each RGB component was n = 4096 and total number of domain blocks to search was (64 / 8) x (64 / 8) = 8 x 8. Thus, the cardinality (N1) of the search spaces for this case was 8 x 4 x 64.The string length n was taken to be 11 ( ). For the block size 2x2, the total number of range blocks was n = and total number of domain blocks to search was (256 / 2) x (256 / 2) = 128 x 128. Thus, the cardinality (N1) of the search spaces for this case was 8 x 4 x The string length n was taken to be 19 ( ). The domain pool was found and the coding performance using the above parameters was simulated. To further reduce the coding time the entire procedure was done using parallel processing. 4.3 Implementation of Iteration-free Fractal Coding using SA In computer simulation, the same four 512 x 512 benchmark color images with 24- bit color resolution were used to test the proposed iteration-free fractal coding using SA. For implementing the SA, the solution configuration, generation of the next solution, objective function and annealing schedule were finalized. In the proposed method it is implemented for the block sizes 8x8, 4x4 and 2x2 were followed for each RGB component and later combined. 1. Solution Configuration. The isometry transformations are eight, and hence it requires 3 bits. The contrast scaling assumes the values n/4 for n=1,2,3 and 4, so it requires 2 bits and the number of domain blocks depends on the size of the partition. So the number of bits to represent the solution configuration depends on it. Accordingly the solution space was 60

61 represented. For the block of size 8x8, 4x4 and 2x2 the solution configuration length was taken to be 11, 15 and 19 respectively. 2. Rearrangements. Knuth random numbers were globally generated for the rearrangement of the solution so that most possible solutions were considered. The seed value was chosen to be as Objective Function. In the simplest form of the problem, the objective function was taken as the RMS error. 4. Annealing schedule. This requires experimentation. Some random rearrangement of the solution was first generated, and used them to determine the range of values the objective function encountered from move to move. Choosing a starting value for the parameter T 0 which was considerably large say 1, and process was conducted downward each amounting to a decrease in T. Each new value of T was kept constant for, say, N (N=40) reconfigurations and store the configuration which produces minimum value for the objective function. If the terminating condition was not reached, the parameter for T was reduced and the next trial was started with the configuration that produced minimum value for the objective function. The equation for the parameter T was chosen as T i T o T i o T N N (4.1) where T o = 1 and T N = 0 and i is the iteration number. The performance of the decoded image on the parameters like image quality, bit rate and coding time was found. To further reduce the coding time parallel processing was executed. 4.4 Implementation of Iteration-free Fractal Coding using GA and SA in parallel The proposed method has the advantages such as low time consumption for decoding and less memory requirements for storage, which is most needed in today s communication. These methods can be further improved in time reduction at the encoding stage by parallel processing. This is because parallel image compression offers a more effective approach than the sequential counterparts to accelerate the compression process and bring it closer to 61

62 real-time operation. The number of range blocks generated by block size 8x8 for an input image of 512x512 is 4096 and increases as the image size increases. The process of finding the best domain block for all these range blocks is the same process and it is independent so it can be executed in parallel thus reducing the time further than the proposed methods. Because of the independent processing of image compression operation, an effective parallel image compression algorithm was developed to significantly reduce the processing time using 8 coworkers in MATLAB. The same four benchmark images were used for implementation with the same parameters used in serial for both GA and SA. The performance of the decoded image on the parameters like image quality, bit rate and coding time was found. 62

63 CHAPTER V RESULTS AND DISCUSSIONS The results of the implementation of the various techniques like VQ, GA and SA both serial and parallel processing image compression in the iteration-free fractal image coding for still color image are tabulated in this Chapter. The parameters used for the performance analysis are compression ratio, image quality and encoding time. As image compression ratio plays a very important role in image compression, it is considered as a separate subheading in this Chapter. 5.1 Compression Ratio The range blocks were classified before coding [Yung et al., 2003]. Range blocks were grouped into two sets according to the variability of the pixel values in these blocks. If the variability of a block was low, i.e., if the variance of the pixel values in the block was below a fixed value, called the threshold, the block is called smooth type range block. Otherwise, it is called a rough type range block. The purpose of choosing this block classification was for two reasons. One is to get higher compression ratio, and the other is to reduce the coding time. The threshold value that separates the range blocks into two types was chosen as stated earlier. After classification, VQ-based, GA-based and SA-based coding was adopted for the rough type range blocks only. All the pixel values in a smooth type range block were replaced by the mean of its pixel values. This scheme is a time-saving one provided; the number of smooth type range blocks is significant. The storage requirements for the proposed method can be calculated from the number of smooth and rough blocks multiplied by the number of bits required to store the values. Table 5.1 gives the classification of blocks and bit rate using different types of encoding using the proposed techniques on the images chosen for simulation. From the results tabulated in Table 5.1, it is observed that for the images which have the number of smooth blocks significantly high has a high compression ratio. 63

64 Table 5.1 Classification of Blocks and Bit Rate Using Different Types of Encoding On The Chosen Images Using the Proposed Techniques Image Compression PSNR Range No of Range Blocks Bit Rate ratio Block for GA/SA GA GA / size VQ VQ Smooth Rough / SA SA GA SA VQ 2 * Lena 4 * * * Pepper 4 * * * Cauliflower 4 * * * Tajmahal 4 * * Proposed Iteration-free Fractal Image Coding with Vector Quantization Experimental results of the coding time and image quality using different sizes of codebooks for the proposed enhanced iteration-free fractal method using VQ for block size 8x8, 4x4 and 2x2 are tabulated in Table 5.2. The RMS of the decoded image partitioned by the 8x8 block size is higher than that partitioned by the 4x4 and 2x2 block size since a smaller block size leads to a smaller matching error for the affine transformation. However, the bit rate increases significantly because the number of the 4x4 and 2x2 range blocks are four times and sixteen times the number of the 8x8 range blocks. The proposed method using VQ provides better performances of coding time when compared with GA and SA [Nadira and P.Priyanga, 2014a]. 64

65 Table 5.2. Performance Result of the Proposed Method Using VQ No of Range 16 level 32 level 64 level Range Blocks Encoding Encoding Encoding Bit PSNR Image Block Size Smooth Rough Time(sec) Time(sec) Time(sec) rate Lena 8x x x Pepper 8x x x Cauliflower 8x x x Tajmahal 8x x x The decompressed image of Pepper for the block partition of sizes 8x8, 4x4 and 2x2 using VQ is shown in Figure 5.1. The decompressed image of Lena, Cauliflower and Tajmahal for the block partition of sizes 8x8 using 16 level for the technique VQ is shown in Figure 5.2. (a) 2x2 (b)4x4 (c)8x8 Fig 5.1. Decompressed Pepper Image for Block Size 2x2, 4x4 And 8x8 Using the Proposed VQ Technique using 16 level 65

66 Fig Decompressed Images of Lena, Cauliflower and Tajmahal using VQ for block size 8x8 using 16 level Fig Decompressed Images of Lena, Pepper, Cauliflower and Tajmahal using VQ for block size 4x4 using 32 level The decompressed image of Lena, Pepper, Cauliflower and Tajmahal for the block partition of sizes 4x4 using 32 level and 2x2 using 64 level for the technique VQ is shown in Figure 5.3 and 5.4 respectively. 66

67 Fig Decompressed Images of Lena, Pepper, Cauliflower and Tajmahal using VQ for block size 2x2 using 64 level 5.3 Iteration-free Fractal Image Coding using GA Results of encoding the Lena, Pepper, Cauliflower and Tajmahal images, for the iteration-free fractal image compression using GA for 8x8, 4x4 and 2x2 range blocks are reported in Table 5.3. The RMS of the decoded image partitioned by the 8x8 block size is higher than that partitioned by the 4x4 and 2x2 block size since a smaller block size leads to a smaller matching error for the affine transformation. However, the bit rate increases significantly because the number of the 2x2 range blocks is four times the number of the 4x4 67

68 range blocks and number of the 4x4 range blocks is four times the number of the 8x8 range blocks. Table 5.3 Performance Result of the Proposed Method Using GA Image Range Bit Compression PSNR No of Range Blocks Encoding Rate Ratio Smooth Rough Time 2 * Lena 4 * * * Pepper 4 * * * Cauliflower 4 * * * Tajmahal 4 * * The decompressed image of Lena, Cauliflower, Pepper and Tajmahal for the block partition of sizes 8x8, 4x4 and 2x2 using GA is shown in Figure 5.5, 5.6, 5.7 and 5.8 respectively. The proposed method using GA provides better performances of image quality when compared with SA and VQ [Nadira and Priyanga, 2014]. This work was implemented using parallel coding in order to reduce the encoding time. (a) Block size 8x8 (b) Block size 4x4 (c) Block size 2x2 Fig Decompressed Image Of Lena For Block Size 8x8, 4x4 And 2x2 Using The Proposed GA Technique. 68

69 (a) Block size 8x8 (b) Block size 4x4 (c) Block size 2x2 Fig Decompressed Image Of Cauliflower For Block Size 8x8, 4x4 And 2x2 Using The Proposed GA Technique. (a) Block size 8x8 (b) Block size 4x4 (c) Block size 2x2 Fig Decompressed Image Of Pepper For Block Size 8x8, 4x4 And 2x2 Using The Proposed GA Technique. (a) Block size 8x8 (b) Block size 4x4 (c) Block size 2x2 Fig Decompressed Image Of Tajmahal For Block Size 8x8, 4x4 And 2x2 Using The Proposed GA Technique. 69

70 5.4 Iteration-free Fractal Image Coding using SA The decompressed image of Cauliflower, Lena, Pepper, Tajmahal for the block partition of sizes 8x8, 4x4 and 2x2 using SA is shown in Figure 5.9, 5.10, 5.11 and 5.12 respectively. The MSE of the decoded image partitioned by the 8x8 block size is higher than that partitioned by the 4x4 and 2x2 block size since a smaller block size leads to a smaller matching error for the affine transformation. However, the bit rate increases significantly because the number of the 4x4 and 2x2 range blocks are four times and sixteen times the number of the 8x8 range blocks. Results of encoding the Lena, Pepper, Cauliflower and Tajmahal images, for the iteration-free fractal image compression using SA for 8x8, 4x4 and 2x2 range blocks are reported in Table 5.4. Table 5.4 Performance Result of the Proposed Method Using SA Image Lena Pepper Cauliflower Tajmahal Range Bit Compression No of Range Blocks Encoding Rate Ratio Smooth Rough Time 2 * * * * * * * * * * * * The proposed method using SA provides optimal performances when the image quality and coding time are considered together [Nadira, 2012]. This work was implemented using parallel coding in order to reduce the encoding time. 70

71 (a) Block size 8x8 (b) Block size 4x4 (c) Block size 2x2 Fig 5.9. Decompressed Cauliflower Image for Block Size 8x8, 4x4 And 2x2 Using the Proposed SA Technique (a) Block size 8x8 (b) Block size 4x4 (c) Block size 2x2 Fig Decompressed Lena Image for Block Size 8x8, 4x4 And 2x2 Using the Proposed SA Technique (a) Block size 8x8 (b) Block size 4x4 (c) Block size 2x2 Fig Decompressed Pepper Image for Block Size 8x8, 4x4 And 2x2 Using the Proposed SA Technique 71

72 (a) Block size 8x8 (b) Block size 4x4 (c) Block size 2x2 Fig Decompressed Tajmahal Image for Block Size 8x8, 4x4 And 2x2 Using the Proposed SA Technique Table 5.5 Results of the Proposed Iteration-Free Fractal Method Using the Techniques VQ, GA and SA Using GA Using SA Using VQ Image Lena Pepper Cauliflower Tajmahal Range Block Size RMS Coding Time RMS Coding Time Codebook size 16 Coding Codebook size 32 Coding Codebook size 64 Coding (secs) (secs) RMS Time RMS Time RMS Time (secs) (secs) (secs) 8x x x x x x x x x x x x

73 The Encoding time of Serial Processing of the proposed techniques using GA, SA and VQ values are reported in the table 5.5. These results of encoding time using block sizes 2x2, 4x4, 8x8 are plotted in the graph and shown in Fig 5.13 Fig 5.13 Encoding Time of GA, SA and VQ Table 5.6 PSNR and Bit Rate of the Proposed Techniques VQ, GA and SA Image Lena Pepper cauliflower Taj Mahal Using Proposed GA Using Proposed SA Using Proposed Range VQ Block Bit Rate Bit Rate Bit Rate size PSNR PSNR PSNR (bpp) (bpp) (bpp) 2x x x x x x x x x x x x

74 Fig PSNR Of Lena, Pepper, Cauliflower and Tajmahal for Block Size 8x8, 4x4 and 2x2 Using the Technique GA, SA And VQ. The results of the proposed techniques using VQ, GA and SA on the parameter PSNR and Bit Rate value is given in the table 5.6. These results are plotted in the graph shown in the Fig From the results obtained, it is obviously clear that GA technique for iteration-free fractal coding is preferred for better image quality whereas VQ is preferred for reduced coding time and SA is preferable for optimal image quality and time. The proposed methods using VQ, GA and SA are found to provide computational efficiency, thereby drastically reducing the cost of coding. The analysis shows that the time can be reduced if the entire processing for encoding was done in parallel. Since this application involve multiple segments of code and some of which are repetitive, we can use for-loops to solve these cases. The ability to execute code in parallel, on one computer or on a cluster of computers, can significantly improve performance in many cases, such as Parameter sweep applications and Test suites with independent segments. The parameter Sweep applications are two types, the first one is many iterations a sweep might take a long time because it comprises many iterations. Each iteration by itself might not take long to execute, but to complete thousands or millions of iterations in serial could take a long time. The second one is Long iterations a sweep might not have a lot of iterations, but each iteration could take a long time to run. Typically, the only difference between iterations is defined by different input data. In these cases, the ability to run separate sweep iterations simultaneously can improve performance. Evaluating 74

75 such iterations in parallel is an ideal way to sweep through large or multiple data sets. The only restriction on parallel loops is that no iterations be allowed to depend on any other iteration. Test suites with independent segments for applications that run a series of unrelated tasks, we can run these tasks simultaneously on separate resources. We might not have used for -loop for a case such as this comprising distinctly different tasks, but a parfor -loop could offer an appropriate solution. In this proposed method parfor-loop is used for reducing the encoding time. Experimental results of the encoding time both serial and parallel for GA and SA are tabulated in Table 5.7 and graphically represented in Figure 5.15 and The time has considerably reduced and if we increase the number of coworkers the time can be further reduced. Table 5.7 Comparison of Encoding Time both Serial and Parallel of the Chosen Images Using GA/SA No of Range SA GA Blocks Encoding Encoding Encoding Encoding Image Range Time Time Time Time Smooth Rough (secs) (secs) (secs) (secs) Serial Parallel Serial Parallel 2 * Lena 4 * * * Pepper 4 * * * Cauliflower 4 * * * Tajmahal 4 * *

76 Fig Encoding Time of Serial processing Using SA and GA Fig 5.16 Encoding Time for GA and SA both Serial and Parallel Table 5.8. PSNR of some methods for 512x512 color images Image Range SA GA VQ Color Image Rgb & Gray Scale Compression with Component On Mpq-Btc In Modified Fractal Coding Image Compression on Spiral Architecture Lena 4 x Pepper 4 x

77 Table 5.8 gives the result of similar methods found in the literature and the proposed methods for the bench mark image of Lena and Pepper (512 x 512, 24 bit color image). In the proposed method using SA, GA and VQ the PSNR is highly effective when compared to the existing fractal methods given in references [Somasundaram, 2011] and [Nileshsingh and Kakde, 2007] and is evident from the graph given in fig Fig5.17. Comparison of PSNR values of Some Existing Methods For 512x512 Lena 24 Bit Color Image 5.5. OBSERVATIONS There are several general observations about the generation of solutions via the proposed techniques Vector Quantization, Genetic Algorithm and Simulated Annealing: The initial solution to the LBG algorithm should be properly chosen. The convergence of the solution depends on it. 77

Optimization of Bit Rate in Medical Image Compression

Optimization of Bit Rate in Medical Image Compression Optimization of Bit Rate in Medical Image Compression Dr.J.Subash Chandra Bose 1, Mrs.Yamini.J 2, P.Pushparaj 3, P.Naveenkumar 4, Arunkumar.M 5, J.Vinothkumar 6 Professor and Head, Department of CSE, Professional

More information

MRT based Adaptive Transform Coder with Classified Vector Quantization (MATC-CVQ)

MRT based Adaptive Transform Coder with Classified Vector Quantization (MATC-CVQ) 5 MRT based Adaptive Transform Coder with Classified Vector Quantization (MATC-CVQ) Contents 5.1 Introduction.128 5.2 Vector Quantization in MRT Domain Using Isometric Transformations and Scaling.130 5.2.1

More information

A Image Comparative Study using DCT, Fast Fourier, Wavelet Transforms and Huffman Algorithm

A Image Comparative Study using DCT, Fast Fourier, Wavelet Transforms and Huffman Algorithm International Journal of Engineering Research and General Science Volume 3, Issue 4, July-August, 15 ISSN 91-2730 A Image Comparative Study using DCT, Fast Fourier, Wavelet Transforms and Huffman Algorithm

More information

Module 8: Video Coding Basics Lecture 42: Sub-band coding, Second generation coding, 3D coding. The Lecture Contains: Performance Measures

Module 8: Video Coding Basics Lecture 42: Sub-band coding, Second generation coding, 3D coding. The Lecture Contains: Performance Measures The Lecture Contains: Performance Measures file:///d /...Ganesh%20Rana)/MY%20COURSE_Ganesh%20Rana/Prof.%20Sumana%20Gupta/FINAL%20DVSP/lecture%2042/42_1.htm[12/31/2015 11:57:52 AM] 3) Subband Coding It

More information

FRACTAL IMAGE COMPRESSION OF GRAYSCALE AND RGB IMAGES USING DCT WITH QUADTREE DECOMPOSITION AND HUFFMAN CODING. Moheb R. Girgis and Mohammed M.

FRACTAL IMAGE COMPRESSION OF GRAYSCALE AND RGB IMAGES USING DCT WITH QUADTREE DECOMPOSITION AND HUFFMAN CODING. Moheb R. Girgis and Mohammed M. 322 FRACTAL IMAGE COMPRESSION OF GRAYSCALE AND RGB IMAGES USING DCT WITH QUADTREE DECOMPOSITION AND HUFFMAN CODING Moheb R. Girgis and Mohammed M. Talaat Abstract: Fractal image compression (FIC) is a

More information

MRT based Fixed Block size Transform Coding

MRT based Fixed Block size Transform Coding 3 MRT based Fixed Block size Transform Coding Contents 3.1 Transform Coding..64 3.1.1 Transform Selection...65 3.1.2 Sub-image size selection... 66 3.1.3 Bit Allocation.....67 3.2 Transform coding using

More information

Lecture 5: Compression I. This Week s Schedule

Lecture 5: Compression I. This Week s Schedule Lecture 5: Compression I Reading: book chapter 6, section 3 &5 chapter 7, section 1, 2, 3, 4, 8 Today: This Week s Schedule The concept behind compression Rate distortion theory Image compression via DCT

More information

IMAGE COMPRESSION TECHNIQUES

IMAGE COMPRESSION TECHNIQUES IMAGE COMPRESSION TECHNIQUES A.VASANTHAKUMARI, M.Sc., M.Phil., ASSISTANT PROFESSOR OF COMPUTER SCIENCE, JOSEPH ARTS AND SCIENCE COLLEGE, TIRUNAVALUR, VILLUPURAM (DT), TAMIL NADU, INDIA ABSTRACT A picture

More information

Topic 5 Image Compression

Topic 5 Image Compression Topic 5 Image Compression Introduction Data Compression: The process of reducing the amount of data required to represent a given quantity of information. Purpose of Image Compression: the reduction of

More information

IMAGE COMPRESSION USING FOURIER TRANSFORMS

IMAGE COMPRESSION USING FOURIER TRANSFORMS IMAGE COMPRESSION USING FOURIER TRANSFORMS Kevin Cherry May 2, 2008 Math 4325 Compression is a technique for storing files in less space than would normally be required. This in general, has two major

More information

Multimedia Systems Image III (Image Compression, JPEG) Mahdi Amiri April 2011 Sharif University of Technology

Multimedia Systems Image III (Image Compression, JPEG) Mahdi Amiri April 2011 Sharif University of Technology Course Presentation Multimedia Systems Image III (Image Compression, JPEG) Mahdi Amiri April 2011 Sharif University of Technology Image Compression Basics Large amount of data in digital images File size

More information

(Refer Slide Time 00:17) Welcome to the course on Digital Image Processing. (Refer Slide Time 00:22)

(Refer Slide Time 00:17) Welcome to the course on Digital Image Processing. (Refer Slide Time 00:22) Digital Image Processing Prof. P. K. Biswas Department of Electronics and Electrical Communications Engineering Indian Institute of Technology, Kharagpur Module Number 01 Lecture Number 02 Application

More information

Statistical Image Compression using Fast Fourier Coefficients

Statistical Image Compression using Fast Fourier Coefficients Statistical Image Compression using Fast Fourier Coefficients M. Kanaka Reddy Research Scholar Dept.of Statistics Osmania University Hyderabad-500007 V. V. Haragopal Professor Dept.of Statistics Osmania

More information

CHAPTER 6. 6 Huffman Coding Based Image Compression Using Complex Wavelet Transform. 6.3 Wavelet Transform based compression technique 106

CHAPTER 6. 6 Huffman Coding Based Image Compression Using Complex Wavelet Transform. 6.3 Wavelet Transform based compression technique 106 CHAPTER 6 6 Huffman Coding Based Image Compression Using Complex Wavelet Transform Page No 6.1 Introduction 103 6.2 Compression Techniques 104 103 6.2.1 Lossless compression 105 6.2.2 Lossy compression

More information

Video Compression An Introduction

Video Compression An Introduction Video Compression An Introduction The increasing demand to incorporate video data into telecommunications services, the corporate environment, the entertainment industry, and even at home has made digital

More information

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra Pattern Recall Analysis of the Hopfield Neural Network with a Genetic Algorithm Susmita Mohapatra Department of Computer Science, Utkal University, India Abstract: This paper is focused on the implementation

More information

JPEG Compression Using MATLAB

JPEG Compression Using MATLAB JPEG Compression Using MATLAB Anurag, Sonia Rani M.Tech Student, HOD CSE CSE Department, ITS Bhiwani India ABSTRACT Creating, editing, and generating s in a very regular system today is a major priority.

More information

Image Compression - An Overview Jagroop Singh 1

Image Compression - An Overview Jagroop Singh 1 www.ijecs.in International Journal Of Engineering And Computer Science ISSN: 2319-7242 Volume 5 Issues 8 Aug 2016, Page No. 17535-17539 Image Compression - An Overview Jagroop Singh 1 1 Faculty DAV Institute

More information

Image, video and audio coding concepts. Roadmap. Rationale. Stefan Alfredsson. (based on material by Johan Garcia)

Image, video and audio coding concepts. Roadmap. Rationale. Stefan Alfredsson. (based on material by Johan Garcia) Image, video and audio coding concepts Stefan Alfredsson (based on material by Johan Garcia) Roadmap XML Data structuring Loss-less compression (huffman, LZ77,...) Lossy compression Rationale Compression

More information

DIGITAL TELEVISION 1. DIGITAL VIDEO FUNDAMENTALS

DIGITAL TELEVISION 1. DIGITAL VIDEO FUNDAMENTALS DIGITAL TELEVISION 1. DIGITAL VIDEO FUNDAMENTALS Television services in Europe currently broadcast video at a frame rate of 25 Hz. Each frame consists of two interlaced fields, giving a field rate of 50

More information

15 Data Compression 2014/9/21. Objectives After studying this chapter, the student should be able to: 15-1 LOSSLESS COMPRESSION

15 Data Compression 2014/9/21. Objectives After studying this chapter, the student should be able to: 15-1 LOSSLESS COMPRESSION 15 Data Compression Data compression implies sending or storing a smaller number of bits. Although many methods are used for this purpose, in general these methods can be divided into two broad categories:

More information

Index. 1. Motivation 2. Background 3. JPEG Compression The Discrete Cosine Transformation Quantization Coding 4. MPEG 5.

Index. 1. Motivation 2. Background 3. JPEG Compression The Discrete Cosine Transformation Quantization Coding 4. MPEG 5. Index 1. Motivation 2. Background 3. JPEG Compression The Discrete Cosine Transformation Quantization Coding 4. MPEG 5. Literature Lossy Compression Motivation To meet a given target bit-rate for storage

More information

Image coding and compression

Image coding and compression Image coding and compression Robin Strand Centre for Image Analysis Swedish University of Agricultural Sciences Uppsala University Today Information and Data Redundancy Image Quality Compression Coding

More information

A Review on LBG Algorithm for Image Compression

A Review on LBG Algorithm for Image Compression A Review on LBG Algorithm for Image Compression Ms. Asmita A.Bardekar #1, Mr. P.A.Tijare #2 # CSE Department, SGBA University, Amravati. Sipna s College of Engineering and Technology, In front of Nemani

More information

Part 1 of 4. MARCH

Part 1 of 4. MARCH Presented by Brought to You by Part 1 of 4 MARCH 2004 www.securitysales.com A1 Part1of 4 Essentials of DIGITAL VIDEO COMPRESSION By Bob Wimmer Video Security Consultants cctvbob@aol.com AT A GLANCE Compression

More information

Image Compression for Mobile Devices using Prediction and Direct Coding Approach

Image Compression for Mobile Devices using Prediction and Direct Coding Approach Image Compression for Mobile Devices using Prediction and Direct Coding Approach Joshua Rajah Devadason M.E. scholar, CIT Coimbatore, India Mr. T. Ramraj Assistant Professor, CIT Coimbatore, India Abstract

More information

Digital Image Processing

Digital Image Processing Lecture 9+10 Image Compression Lecturer: Ha Dai Duong Faculty of Information Technology 1. Introduction Image compression To Solve the problem of reduncing the amount of data required to represent a digital

More information

Compression of Image Using VHDL Simulation

Compression of Image Using VHDL Simulation Compression of Image Using VHDL Simulation 1) Prof. S. S. Mungona (Assistant Professor, Sipna COET, Amravati). 2) Vishal V. Rathi, Abstract : Maintenance of all essential information without any deletion

More information

IMAGE COMPRESSION. Image Compression. Why? Reducing transportation times Reducing file size. A two way event - compression and decompression

IMAGE COMPRESSION. Image Compression. Why? Reducing transportation times Reducing file size. A two way event - compression and decompression IMAGE COMPRESSION Image Compression Why? Reducing transportation times Reducing file size A two way event - compression and decompression 1 Compression categories Compression = Image coding Still-image

More information

Fractal Compression. Related Topic Report. Henry Xiao. Queen s University. Kingston, Ontario, Canada. April 2004

Fractal Compression. Related Topic Report. Henry Xiao. Queen s University. Kingston, Ontario, Canada. April 2004 Fractal Compression Related Topic Report By Henry Xiao Queen s University Kingston, Ontario, Canada April 2004 Fractal Introduction Fractal is first introduced in geometry field. The birth of fractal geometry

More information

Module 7 VIDEO CODING AND MOTION ESTIMATION

Module 7 VIDEO CODING AND MOTION ESTIMATION Module 7 VIDEO CODING AND MOTION ESTIMATION Lesson 20 Basic Building Blocks & Temporal Redundancy Instructional Objectives At the end of this lesson, the students should be able to: 1. Name at least five

More information

IT Digital Image ProcessingVII Semester - Question Bank

IT Digital Image ProcessingVII Semester - Question Bank UNIT I DIGITAL IMAGE FUNDAMENTALS PART A Elements of Digital Image processing (DIP) systems 1. What is a pixel? 2. Define Digital Image 3. What are the steps involved in DIP? 4. List the categories of

More information

AN ANALYTICAL STUDY OF LOSSY COMPRESSION TECHINIQUES ON CONTINUOUS TONE GRAPHICAL IMAGES

AN ANALYTICAL STUDY OF LOSSY COMPRESSION TECHINIQUES ON CONTINUOUS TONE GRAPHICAL IMAGES AN ANALYTICAL STUDY OF LOSSY COMPRESSION TECHINIQUES ON CONTINUOUS TONE GRAPHICAL IMAGES Dr.S.Narayanan Computer Centre, Alagappa University, Karaikudi-South (India) ABSTRACT The programs using complex

More information

Iterated Functions Systems and Fractal Coding

Iterated Functions Systems and Fractal Coding Qing Jun He 90121047 Math 308 Essay Iterated Functions Systems and Fractal Coding 1. Introduction Fractal coding techniques are based on the theory of Iterated Function Systems (IFS) founded by Hutchinson

More information

DigiPoints Volume 1. Student Workbook. Module 8 Digital Compression

DigiPoints Volume 1. Student Workbook. Module 8 Digital Compression Digital Compression Page 8.1 DigiPoints Volume 1 Module 8 Digital Compression Summary This module describes the techniques by which digital signals are compressed in order to make it possible to carry

More information

Compression of RADARSAT Data with Block Adaptive Wavelets Abstract: 1. Introduction

Compression of RADARSAT Data with Block Adaptive Wavelets Abstract: 1. Introduction Compression of RADARSAT Data with Block Adaptive Wavelets Ian Cumming and Jing Wang Department of Electrical and Computer Engineering The University of British Columbia 2356 Main Mall, Vancouver, BC, Canada

More information

VC 12/13 T16 Video Compression

VC 12/13 T16 Video Compression VC 12/13 T16 Video Compression Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos Miguel Tavares Coimbra Outline The need for compression Types of redundancy

More information

Compression Part 2 Lossy Image Compression (JPEG) Norm Zeck

Compression Part 2 Lossy Image Compression (JPEG) Norm Zeck Compression Part 2 Lossy Image Compression (JPEG) General Compression Design Elements 2 Application Application Model Encoder Model Decoder Compression Decompression Models observe that the sensors (image

More information

Robert Matthew Buckley. Nova Southeastern University. Dr. Laszlo. MCIS625 On Line. Module 2 Graphics File Format Essay

Robert Matthew Buckley. Nova Southeastern University. Dr. Laszlo. MCIS625 On Line. Module 2 Graphics File Format Essay 1 Robert Matthew Buckley Nova Southeastern University Dr. Laszlo MCIS625 On Line Module 2 Graphics File Format Essay 2 JPEG COMPRESSION METHOD Joint Photographic Experts Group (JPEG) is the most commonly

More information

Evolved Multi-resolution Transforms for Optimized Image Compression and Reconstruction under Quantization

Evolved Multi-resolution Transforms for Optimized Image Compression and Reconstruction under Quantization Evolved Multi-resolution Transforms for Optimized Image Compression and Reconstruction under Quantization FRANK W. MOORE Mathematical Sciences Department University of Alaska Anchorage CAS 154, 3211 Providence

More information

REVIEW ON IMAGE COMPRESSION TECHNIQUES AND ADVANTAGES OF IMAGE COMPRESSION

REVIEW ON IMAGE COMPRESSION TECHNIQUES AND ADVANTAGES OF IMAGE COMPRESSION REVIEW ON IMAGE COMPRESSION TECHNIQUES AND ABSTRACT ADVANTAGES OF IMAGE COMPRESSION Amanpreet Kaur 1, Dr. Jagroop Singh 2 1 Ph. D Scholar, Deptt. of Computer Applications, IK Gujral Punjab Technical University,

More information

DIGITAL IMAGE PROCESSING WRITTEN REPORT ADAPTIVE IMAGE COMPRESSION TECHNIQUES FOR WIRELESS MULTIMEDIA APPLICATIONS

DIGITAL IMAGE PROCESSING WRITTEN REPORT ADAPTIVE IMAGE COMPRESSION TECHNIQUES FOR WIRELESS MULTIMEDIA APPLICATIONS DIGITAL IMAGE PROCESSING WRITTEN REPORT ADAPTIVE IMAGE COMPRESSION TECHNIQUES FOR WIRELESS MULTIMEDIA APPLICATIONS SUBMITTED BY: NAVEEN MATHEW FRANCIS #105249595 INTRODUCTION The advent of new technologies

More information

So, what is data compression, and why do we need it?

So, what is data compression, and why do we need it? In the last decade we have been witnessing a revolution in the way we communicate 2 The major contributors in this revolution are: Internet; The explosive development of mobile communications; and The

More information

IMAGE PROCESSING (RRY025) LECTURE 13 IMAGE COMPRESSION - I

IMAGE PROCESSING (RRY025) LECTURE 13 IMAGE COMPRESSION - I IMAGE PROCESSING (RRY025) LECTURE 13 IMAGE COMPRESSION - I 1 Need For Compression 2D data sets are much larger than 1D. TV and movie data sets are effectively 3D (2-space, 1-time). Need Compression for

More information

International Journal of Emerging Technology and Advanced Engineering Website: (ISSN , Volume 2, Issue 4, April 2012)

International Journal of Emerging Technology and Advanced Engineering Website:   (ISSN , Volume 2, Issue 4, April 2012) A Technical Analysis Towards Digital Video Compression Rutika Joshi 1, Rajesh Rai 2, Rajesh Nema 3 1 Student, Electronics and Communication Department, NIIST College, Bhopal, 2,3 Prof., Electronics and

More information

Tech Note - 05 Surveillance Systems that Work! Calculating Recorded Volume Disk Space

Tech Note - 05 Surveillance Systems that Work! Calculating Recorded Volume Disk Space Tech Note - 05 Surveillance Systems that Work! Surveillance Systems Calculating required storage drive (disk space) capacity is sometimes be a rather tricky business. This Tech Note is written to inform

More information

A Review of Image Compression Techniques

A Review of Image Compression Techniques A Review of Image Compression Techniques Rajesh, Gagan Kumar Computer Science and Engineering Department, MIET College, Mohri, Kurukshetra, Haryana, India Abstract: The demand for images, video sequences

More information

Image Compression Algorithm and JPEG Standard

Image Compression Algorithm and JPEG Standard International Journal of Scientific and Research Publications, Volume 7, Issue 12, December 2017 150 Image Compression Algorithm and JPEG Standard Suman Kunwar sumn2u@gmail.com Summary. The interest in

More information

Overcompressing JPEG images with Evolution Algorithms

Overcompressing JPEG images with Evolution Algorithms Author manuscript, published in "EvoIASP2007, Valencia : Spain (2007)" Overcompressing JPEG images with Evolution Algorithms Jacques Lévy Véhel 1, Franklin Mendivil 2 and Evelyne Lutton 1 1 Inria, Complex

More information

Feature-Guided K-Means Algorithm for Optimal Image Vector Quantizer Design

Feature-Guided K-Means Algorithm for Optimal Image Vector Quantizer Design Journal of Information Hiding and Multimedia Signal Processing c 2017 ISSN 2073-4212 Ubiquitous International Volume 8, Number 6, November 2017 Feature-Guided K-Means Algorithm for Optimal Image Vector

More information

CS 335 Graphics and Multimedia. Image Compression

CS 335 Graphics and Multimedia. Image Compression CS 335 Graphics and Multimedia Image Compression CCITT Image Storage and Compression Group 3: Huffman-type encoding for binary (bilevel) data: FAX Group 4: Entropy encoding without error checks of group

More information

Comparative Study on VQ with Simple GA and Ordain GA

Comparative Study on VQ with Simple GA and Ordain GA Proceedings of the 9th WSEAS International Conference on Automatic Control, Modeling & Simulation, Istanbul, Turkey, May 27-29, 2007 204 Comparative Study on VQ with Simple GA and Ordain GA SADAF SAJJAD

More information

IMAGE COMPRESSION USING HYBRID TRANSFORM TECHNIQUE

IMAGE COMPRESSION USING HYBRID TRANSFORM TECHNIQUE Volume 4, No. 1, January 2013 Journal of Global Research in Computer Science RESEARCH PAPER Available Online at www.jgrcs.info IMAGE COMPRESSION USING HYBRID TRANSFORM TECHNIQUE Nikita Bansal *1, Sanjay

More information

5.7. Fractal compression Overview

5.7. Fractal compression Overview 5.7. Fractal compression Overview 1. Introduction 2. Principles 3. Encoding 4. Decoding 5. Example 6. Evaluation 7. Comparison 8. Literature References 1 Introduction (1) - General Use of self-similarities

More information

IMAGE PROCESSING USING DISCRETE WAVELET TRANSFORM

IMAGE PROCESSING USING DISCRETE WAVELET TRANSFORM IMAGE PROCESSING USING DISCRETE WAVELET TRANSFORM Prabhjot kour Pursuing M.Tech in vlsi design from Audisankara College of Engineering ABSTRACT The quality and the size of image data is constantly increasing.

More information

Multimedia Communications. Transform Coding

Multimedia Communications. Transform Coding Multimedia Communications Transform Coding Transform coding Transform coding: source output is transformed into components that are coded according to their characteristics If a sequence of inputs is transformed

More information

Genetic Algorithm based Fractal Image Compression

Genetic Algorithm based Fractal Image Compression Vol.3, Issue.2, March-April. 2013 pp-1123-1128 ISSN: 2249-6645 Genetic Algorithm based Fractal Image Compression Mahesh G. Huddar Lecturer, Dept. of CSE,Hirasugar Institute of Technology, Nidasoshi, India

More information

A Reversible Data Hiding Scheme for BTC- Compressed Images

A Reversible Data Hiding Scheme for BTC- Compressed Images IJACSA International Journal of Advanced Computer Science and Applications, A Reversible Data Hiding Scheme for BTC- Compressed Images Ching-Chiuan Lin Shih-Chieh Chen Department of Multimedia and Game

More information

Image Transformation Techniques Dr. Rajeev Srivastava Dept. of Computer Engineering, ITBHU, Varanasi

Image Transformation Techniques Dr. Rajeev Srivastava Dept. of Computer Engineering, ITBHU, Varanasi Image Transformation Techniques Dr. Rajeev Srivastava Dept. of Computer Engineering, ITBHU, Varanasi 1. Introduction The choice of a particular transform in a given application depends on the amount of

More information

Chapter 3 Image Registration. Chapter 3 Image Registration

Chapter 3 Image Registration. Chapter 3 Image Registration Chapter 3 Image Registration Distributed Algorithms for Introduction (1) Definition: Image Registration Input: 2 images of the same scene but taken from different perspectives Goal: Identify transformation

More information

Modified SPIHT Image Coder For Wireless Communication

Modified SPIHT Image Coder For Wireless Communication Modified SPIHT Image Coder For Wireless Communication M. B. I. REAZ, M. AKTER, F. MOHD-YASIN Faculty of Engineering Multimedia University 63100 Cyberjaya, Selangor Malaysia Abstract: - The Set Partitioning

More information

Department of electronics and telecommunication, J.D.I.E.T.Yavatmal, India 2

Department of electronics and telecommunication, J.D.I.E.T.Yavatmal, India 2 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY LOSSLESS METHOD OF IMAGE COMPRESSION USING HUFFMAN CODING TECHNIQUES Trupti S Bobade *, Anushri S. sastikar 1 Department of electronics

More information

Distributed Optimization of Feature Mining Using Evolutionary Techniques

Distributed Optimization of Feature Mining Using Evolutionary Techniques Distributed Optimization of Feature Mining Using Evolutionary Techniques Karthik Ganesan Pillai University of Dayton Computer Science 300 College Park Dayton, OH 45469-2160 Dale Emery Courte University

More information

06/12/2017. Image compression. Image compression. Image compression. Image compression. Coding redundancy: image 1 has four gray levels

06/12/2017. Image compression. Image compression. Image compression. Image compression. Coding redundancy: image 1 has four gray levels Theoretical size of a file representing a 5k x 4k colour photograph: 5000 x 4000 x 3 = 60 MB 1 min of UHD tv movie: 3840 x 2160 x 3 x 24 x 60 = 36 GB 1. Exploit coding redundancy 2. Exploit spatial and

More information

3 Data Storage 3.1. Foundations of Computer Science Cengage Learning

3 Data Storage 3.1. Foundations of Computer Science Cengage Learning 3 Data Storage 3.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: List five different data types used in a computer. Describe how

More information

Digital Image Processing

Digital Image Processing Imperial College of Science Technology and Medicine Department of Electrical and Electronic Engineering Digital Image Processing PART 4 IMAGE COMPRESSION LOSSY COMPRESSION NOT EXAMINABLE MATERIAL Academic

More information

VIDEO SIGNALS. Lossless coding

VIDEO SIGNALS. Lossless coding VIDEO SIGNALS Lossless coding LOSSLESS CODING The goal of lossless image compression is to represent an image signal with the smallest possible number of bits without loss of any information, thereby speeding

More information

IMAGE COMPRESSION. Chapter - 5 : (Basic)

IMAGE COMPRESSION. Chapter - 5 : (Basic) Chapter - 5 : IMAGE COMPRESSION (Basic) Q() Explain the different types of redundncies that exists in image.? (8M May6 Comp) [8M, MAY 7, ETRX] A common characteristic of most images is that the neighboring

More information

Motion Estimation for Video Coding Standards

Motion Estimation for Video Coding Standards Motion Estimation for Video Coding Standards Prof. Ja-Ling Wu Department of Computer Science and Information Engineering National Taiwan University Introduction of Motion Estimation The goal of video compression

More information

Outline Introduction MPEG-2 MPEG-4. Video Compression. Introduction to MPEG. Prof. Pratikgiri Goswami

Outline Introduction MPEG-2 MPEG-4. Video Compression. Introduction to MPEG. Prof. Pratikgiri Goswami to MPEG Prof. Pratikgiri Goswami Electronics & Communication Department, Shree Swami Atmanand Saraswati Institute of Technology, Surat. Outline of Topics 1 2 Coding 3 Video Object Representation Outline

More information

HYBRID TRANSFORMATION TECHNIQUE FOR IMAGE COMPRESSION

HYBRID TRANSFORMATION TECHNIQUE FOR IMAGE COMPRESSION 31 st July 01. Vol. 41 No. 005-01 JATIT & LLS. All rights reserved. ISSN: 199-8645 www.jatit.org E-ISSN: 1817-3195 HYBRID TRANSFORMATION TECHNIQUE FOR IMAGE COMPRESSION 1 SRIRAM.B, THIYAGARAJAN.S 1, Student,

More information

Efficient Image Compression of Medical Images Using the Wavelet Transform and Fuzzy c-means Clustering on Regions of Interest.

Efficient Image Compression of Medical Images Using the Wavelet Transform and Fuzzy c-means Clustering on Regions of Interest. Efficient Image Compression of Medical Images Using the Wavelet Transform and Fuzzy c-means Clustering on Regions of Interest. D.A. Karras, S.A. Karkanis and D. E. Maroulis University of Piraeus, Dept.

More information

Wireless Communication

Wireless Communication Wireless Communication Systems @CS.NCTU Lecture 6: Image Instructor: Kate Ching-Ju Lin ( 林靖茹 ) Chap. 9 of Fundamentals of Multimedia Some reference from http://media.ee.ntu.edu.tw/courses/dvt/15f/ 1 Outline

More information

CMPT 365 Multimedia Systems. Media Compression - Image

CMPT 365 Multimedia Systems. Media Compression - Image CMPT 365 Multimedia Systems Media Compression - Image Spring 2017 Edited from slides by Dr. Jiangchuan Liu CMPT365 Multimedia Systems 1 Facts about JPEG JPEG - Joint Photographic Experts Group International

More information

DYADIC WAVELETS AND DCT BASED BLIND COPY-MOVE IMAGE FORGERY DETECTION

DYADIC WAVELETS AND DCT BASED BLIND COPY-MOVE IMAGE FORGERY DETECTION DYADIC WAVELETS AND DCT BASED BLIND COPY-MOVE IMAGE FORGERY DETECTION Ghulam Muhammad*,1, Muhammad Hussain 2, Anwar M. Mirza 1, and George Bebis 3 1 Department of Computer Engineering, 2 Department of

More information

Compression of Stereo Images using a Huffman-Zip Scheme

Compression of Stereo Images using a Huffman-Zip Scheme Compression of Stereo Images using a Huffman-Zip Scheme John Hamann, Vickey Yeh Department of Electrical Engineering, Stanford University Stanford, CA 94304 jhamann@stanford.edu, vickey@stanford.edu Abstract

More information

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION 6.1 INTRODUCTION Fuzzy logic based computational techniques are becoming increasingly important in the medical image analysis arena. The significant

More information

EE368 Project: Visual Code Marker Detection

EE368 Project: Visual Code Marker Detection EE368 Project: Visual Code Marker Detection Kahye Song Group Number: 42 Email: kahye@stanford.edu Abstract A visual marker detection algorithm has been implemented and tested with twelve training images.

More information

Image and Video Compression Fundamentals

Image and Video Compression Fundamentals Video Codec Design Iain E. G. Richardson Copyright q 2002 John Wiley & Sons, Ltd ISBNs: 0-471-48553-5 (Hardback); 0-470-84783-2 (Electronic) Image and Video Compression Fundamentals 3.1 INTRODUCTION Representing

More information

An introduction to JPEG compression using MATLAB

An introduction to JPEG compression using MATLAB An introduction to JPEG compression using MATLAB Arno Swart 30 October, 2003 1 Introduction This document describes the popular JPEG still image coding format. The aim is to compress images while maintaining

More information

ISSN (ONLINE): , VOLUME-3, ISSUE-1,

ISSN (ONLINE): , VOLUME-3, ISSUE-1, PERFORMANCE ANALYSIS OF LOSSLESS COMPRESSION TECHNIQUES TO INVESTIGATE THE OPTIMUM IMAGE COMPRESSION TECHNIQUE Dr. S. Swapna Rani Associate Professor, ECE Department M.V.S.R Engineering College, Nadergul,

More information

CSEP 521 Applied Algorithms Spring Lossy Image Compression

CSEP 521 Applied Algorithms Spring Lossy Image Compression CSEP 521 Applied Algorithms Spring 2005 Lossy Image Compression Lossy Image Compression Methods Scalar quantization (SQ). Vector quantization (VQ). DCT Compression JPEG Wavelet Compression SPIHT UWIC (University

More information

7.5 Dictionary-based Coding

7.5 Dictionary-based Coding 7.5 Dictionary-based Coding LZW uses fixed-length code words to represent variable-length strings of symbols/characters that commonly occur together, e.g., words in English text LZW encoder and decoder

More information

Features. Sequential encoding. Progressive encoding. Hierarchical encoding. Lossless encoding using a different strategy

Features. Sequential encoding. Progressive encoding. Hierarchical encoding. Lossless encoding using a different strategy JPEG JPEG Joint Photographic Expert Group Voted as international standard in 1992 Works with color and grayscale images, e.g., satellite, medical,... Motivation: The compression ratio of lossless methods

More information

Sparse Transform Matrix at Low Complexity for Color Image Compression

Sparse Transform Matrix at Low Complexity for Color Image Compression Sparse Transform Matrix at Low Complexity for Color Image Compression Dr. K. Kuppusamy, M.Sc.,M.Phil.,M.C.A.,B.Ed.,Ph.D #1, R.Mehala, (M.Phil, Research Scholar) *2. # Department of Computer science and

More information

Lossless Compression Algorithms

Lossless Compression Algorithms Multimedia Data Compression Part I Chapter 7 Lossless Compression Algorithms 1 Chapter 7 Lossless Compression Algorithms 1. Introduction 2. Basics of Information Theory 3. Lossless Compression Algorithms

More information

JPEG 2000 compression

JPEG 2000 compression 14.9 JPEG and MPEG image compression 31 14.9.2 JPEG 2000 compression DCT compression basis for JPEG wavelet compression basis for JPEG 2000 JPEG 2000 new international standard for still image compression

More information

ECE 533 Digital Image Processing- Fall Group Project Embedded Image coding using zero-trees of Wavelet Transform

ECE 533 Digital Image Processing- Fall Group Project Embedded Image coding using zero-trees of Wavelet Transform ECE 533 Digital Image Processing- Fall 2003 Group Project Embedded Image coding using zero-trees of Wavelet Transform Harish Rajagopal Brett Buehl 12/11/03 Contributions Tasks Harish Rajagopal (%) Brett

More information

Rate Distortion Optimization in Video Compression

Rate Distortion Optimization in Video Compression Rate Distortion Optimization in Video Compression Xue Tu Dept. of Electrical and Computer Engineering State University of New York at Stony Brook 1. Introduction From Shannon s classic rate distortion

More information

Image compression. Stefano Ferrari. Università degli Studi di Milano Methods for Image Processing. academic year

Image compression. Stefano Ferrari. Università degli Studi di Milano Methods for Image Processing. academic year Image compression Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Methods for Image Processing academic year 2017 2018 Data and information The representation of images in a raw

More information

JPEG compression of monochrome 2D-barcode images using DCT coefficient distributions

JPEG compression of monochrome 2D-barcode images using DCT coefficient distributions Edith Cowan University Research Online ECU Publications Pre. JPEG compression of monochrome D-barcode images using DCT coefficient distributions Keng Teong Tan Hong Kong Baptist University Douglas Chai

More information

Digital Image Representation Image Compression

Digital Image Representation Image Compression Digital Image Representation Image Compression 1 Image Representation Standards Need for compression Compression types Lossless compression Lossy compression Image Compression Basics Redundancy/redundancy

More information

CSE 252B: Computer Vision II

CSE 252B: Computer Vision II CSE 252B: Computer Vision II Lecturer: Serge Belongie Scribes: Jeremy Pollock and Neil Alldrin LECTURE 14 Robust Feature Matching 14.1. Introduction Last lecture we learned how to find interest points

More information

Welcome Back to Fundamentals of Multimedia (MR412) Fall, 2012 Lecture 10 (Chapter 7) ZHU Yongxin, Winson

Welcome Back to Fundamentals of Multimedia (MR412) Fall, 2012 Lecture 10 (Chapter 7) ZHU Yongxin, Winson Welcome Back to Fundamentals of Multimedia (MR412) Fall, 2012 Lecture 10 (Chapter 7) ZHU Yongxin, Winson zhuyongxin@sjtu.edu.cn 2 Lossless Compression Algorithms 7.1 Introduction 7.2 Basics of Information

More information

CHAPTER 4 FRACTAL IMAGE COMPRESSION

CHAPTER 4 FRACTAL IMAGE COMPRESSION 49 CHAPTER 4 FRACTAL IMAGE COMPRESSION 4.1 INTRODUCTION Fractals were first introduced in the field of geometry. The birth of fractal geometry is traced back to the IBM mathematician B. Mandelbrot and

More information

Megapixel Video for. Part 2 of 4. Brought to You by. Presented by Video Security Consultants

Megapixel Video for. Part 2 of 4. Brought to You by. Presented by Video Security Consultants rought to You by 2009 Video Security Consultants Presented by Part 2 of 4 A1 Part 2 of 4 How to Avert a Compression Depression Illustration by Jerry King While bandwidth is widening, larger video systems

More information

Fundamentals of Video Compression. Video Compression

Fundamentals of Video Compression. Video Compression Fundamentals of Video Compression Introduction to Digital Video Basic Compression Techniques Still Image Compression Techniques - JPEG Video Compression Introduction to Digital Video Video is a stream

More information

The Core Technology of Digital TV

The Core Technology of Digital TV the Japan-Vietnam International Student Seminar on Engineering Science in Hanoi The Core Technology of Digital TV Kosuke SATO Osaka University sato@sys.es.osaka-u.ac.jp November 18-24, 2007 What is compression

More information

Lossless Image Compression with Lossy Image Using Adaptive Prediction and Arithmetic Coding

Lossless Image Compression with Lossy Image Using Adaptive Prediction and Arithmetic Coding Lossless Image Compression with Lossy Image Using Adaptive Prediction and Arithmetic Coding Seishi Taka" and Mikio Takagi Institute of Industrial Science, University of Tokyo Abstract Lossless gray scale

More information

A Very Low Bit Rate Image Compressor Using Transformed Classified Vector Quantization

A Very Low Bit Rate Image Compressor Using Transformed Classified Vector Quantization Informatica 29 (2005) 335 341 335 A Very Low Bit Rate Image Compressor Using Transformed Classified Vector Quantization Hsien-Wen Tseng Department of Information Management Chaoyang University of Technology

More information