chapter i introductionthassim.in/wp-content/uploads/2017/02/efficient-iteration-free-fract… ·...

86
1 CHAPTER I INTRODUCTION 1.1 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

Upload: others

Post on 04-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

1

CHAPTER I

INTRODUCTION

1.1 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

Page 2: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 high-

perceived 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

Page 3: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

Page 4: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

Page 5: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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]

Page 6: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

Page 7: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

Page 8: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

Page 9: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

Page 10: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

Page 11: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

Page 12: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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).

2.2.1 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,

Page 13: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

2.2.2 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

Page 14: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

Page 15: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

Page 16: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 1981. 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).

Page 17: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

2/11

0

1

0

2

),(),(3

1

N

y

M

x

yxRyxRMxN

RMS (2.1)

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.

Page 18: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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)

gSoDiR

).( (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 PD 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:

By

xA

y

x

1

1

2

2* (2.4)

By defining only the B matrix, this transformation can carry out pure translation:

10

01A

, 2

1

b

bB

(2.5)

Pure rotation uses the A matrix and is defined as (for positive angles being clockwise

rotations):

Page 19: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

19

)cos()sin(

)sin()cos(

A

, 0

0B

(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:

22

11

0

0

a

aA

, 0

0B

(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 (x2,y2) of any three input image

coordinate (x1,y1) 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 self-

similarities, the time taken for encoding process is very high. The possibility of reducing the

time will be helpful for many applications.

Page 20: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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. 2.2. 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:

Page 21: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

Page 22: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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].

2.4.1 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.

Page 23: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

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].

2.4.1.1 LBG Algorithm

This algorithm also known as Generalized Lloyd’s Algorithm is the basis of most

vector quantization designs. It is as follows.

Source

Output

Group

into

vectors

Find closest

code vector

Table Look

up Unblock

Reconstruction

Encoder Decoder

Codebook index

index Codebook

Page 24: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

24

Step1: Start with an initial set of reconstruction value M

iiy1

)0(

and set of training

vectors as N

nnX1 . Initialize k=0 and, D

(0) to some high value. Select the

threshold є.

Step2: The quantization region M

i

t

iV1

)(

are given by

MiijyxdyxdxV jninn

t

i ,...,2,1),(),(:)( . None of the

quantization region should be empty.

Step3: Calculate the average distortion D (k)

between the training vectors and the

representative reconstruction value.

Step4: If ((D (k)

– D (k-1)

) / D (k)

) < є stop, otherwise continue.

Step 5: Increment the value of k by 1. Find new reconstruction value M

i

k

iy1

)(

which is

the average value of the element of each of the quantization regions )1( k

iV . Go to

step 2.

2.4.1.2 Initializing the LBG Algorithm

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

Page 25: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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].

2.4.1.3 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).

Page 26: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

2.5.1 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 (pc), typically

Page 27: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 (pm) 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

2.5.2 Outline of the Basic Genetic Algorithm

Step1: Generate random population of n chromosomes (suitable solutions for the

problem)

Page 28: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 2

2.5.3 Parameters of GA

There are two basic parameters of GA - crossover probability (pc) and mutation

probability (pm).

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

Page 29: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

2.5.4 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

Page 30: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 1985.

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.

2.6.1 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

Page 31: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

Page 32: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

32

drift towards low-energy regions that become narrower and narrower; and finally move

downhill according to the steepest descent heuristic.

Fig. 2.4 Flow Chart of the Implementation of SA

Generate the initial Solution and calculate the fitness function

Estimate initial value for control parameter T and no. of generation g

Generate new solution S and calculate

the fitness function f

f ≤

threshold

Store the new solution S

Reduce the control parameter T

Stop

No

Yes

Yes

No

Yes

Compute Boltmann probability B, generate a

random number r

r ≤ B

g=g+1

g< max

No

Yes

Min(S)<threshold

Yes

T>min

No

No

Initialize g=1

Page 33: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

2.6.2 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

Page 34: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

Page 35: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

1

0

1

0

2

),(),(/1N

y

M

x

yxfyxfMNMSE (2.9)

where ),( yxf and ),( yxf

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

Page 36: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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:

MSE

pval

MSE

pvalPSNR 10

2

10 log*20log*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

2B − 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.

Page 37: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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. 3.1.

Fig. 3.1 Architecture of the Proposed Iteration-Free Fractal Image Coding Method

Color

image

Image

blocks Sender

Preprocessing Encoding using VQ/GA/SA

Fractal codes

Decoding

Image

blocks

Reconstruction

Color

image

Receiver

Page 38: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

Fig 3.2 Proposed Decoder

Image blocks

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

Page 39: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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. 3.3.

Fig. 3.3 Proposed Encoder Using VQ

3.1.2 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.3.4.

Fractal Code

color

Image

blocks

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

Construction of

mean image

and domain

pool design

for each RGB

component

Page 40: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

40

Fig. 3.4 Proposed Encoder Using GA

3.1.3 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. 3.5.

Fig. 3.5. Proposed Encoder Using SA

3.2 Algorithms for Encoding and Decoding of the Proposed Iteration-free Fractal Image

Coding

3.2.1 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

Construction of

mean image

and domain

pool design

for each RGB

component

For rough blocks find optimal solution using SA 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

Knuth random nos.

generation, design of

solution representation,

fixing no of generation,

and annealing schedule

Image

blocks

Fractal codes

Construction of

mean image

and domain

pool design for

each RGB

component

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

image

blocks

Knuth random nos.

generation, design of

chromosomes, fixing

no of generation, size

of the population ,

crossover and

mutation probability

Page 41: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

41

2

,0

,2)(

1}{ R

Bji

jirB

RV

(3.1)

(where ri,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

}).({}..{ RDDR DiDiR

= i{ . (Wi - mean (Wi)) + 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. 3.2. 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 PD 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

Page 42: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

42

domain blocks are represented by Di, j the eight canonical isometric transformations (i0 - i7) of

the domain blocks are obtained as follows.

a) Identity:

i0 (Di, j) = Di, j (3.3)

b) Orthogonal reflection about mid-vertical axis (j = (B – 1)/2) of block:

i1 (Di, j) = Di, B-1-j (3.4)

c) Orthogonal reflection about mid-horizontal axis (i = (B-1)/2) of block:

i2 (Di, j) = DB-1-i, j (3.5)

d) Orthogonal reflection about first diagonal (i = j) of block:

i3 (Di,j) = Dj, i (3.6)

e) Orthogonal reflection about second diagonal (i + j = B - 1) of block:

i4 (Di, j) = DB-1-j, B-1-i (3.7)

f) Rotation around center of block, through +90o:

i5 (Di, j) = Dj, B-1-i (3.8)

g) Rotation around center of block, through +180o:

i6 (Di, j) = DB-1-i, B-1-j (3.9)

h) Rotation around center of block, through -90o:

i7 (Di, j) = DB-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 VR 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

Page 43: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

43

),( jiR

block) will be coded by the fractal code f (i, α, µR, PD) using VQ / GA / SA techniques.

Here i represent the isometry transformations, α the contrast scaling, µR the mean value

of the range block and PD the domain block number in the domain pool.

= µR if VR ≤ E

= f (i, α, µR, PD) if VR > E (3.11)

Thus the input from the sender is the image and the output is the fractal codes.

3.2.2 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 v1,v2 and v3 be three orthogonal vectors, where

v1 = ¼ [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] (3.12a)

v2 = ¼ [1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1] (3.12b)

v3 = ¼ [ 1,1,-1,-1, 1,1,-1,-1,1,1,-1,-1,1,1,-1,-1] (3.12c)

for the codebook of size k=16. The axis in the direction of vi (i=1, 2, 3) is denoted as the ith

axis. Let xi be the projection value of an input block (vector) X on the ith

axis. That is, xi is

the inner product of X and vi which is calculated, as follows:

xi = ivX , (3.12d)

Similarly, denote cki as the projection value of a domain block Wk on the ith

axis. To

speed the searching process, all domain block are sorted in ascending order of their

projections on the first axis. Here x1 is four times the mean value of X; x2 and x3 are the

edge gradients in the vertical and horizontal directions, respectively, of X; and [(x2)2 + (x3)

2]

represent the edge strength of X. Similar meanings are applied to cki (i=1,2,3). Let r be the

distance between an input block (vector) X and a domain block Wj. If domain block Wj

Page 44: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

44

cannot satisfy the following condition, it will be rejected directly in the process of finding

the closest domain block of X

,rxc iji i=1, 2, 3 (3.13a)

where xi and cji are the projection values of X and Wj, respectively, on the ith

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 Wi 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 Wi,

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 cj be the projection of the domain block Wj on the space spanned by v1, v2

and v3, where

cj = cj1v1+cj2v2+cj3v3 = i

i

ij vvW

3

1

, (3.13b)

Similarly, denote x as the projection of the input range vector X on the space spanned by v1,

v2 and v3, where x = x1v1+x2v2+x3v3 = i

i

ij vvX

3

1

, . Let sx = X – x and scj = Wj - cj. From

the definitions of cj, x, scj and sx, cjxjcjj sxscsc ,, and xsx . A candidate domain

block Wj should satisfy the following condition:

22

2

33

2

22

2

11 )()()( rssxcxcxc xcjjjj (3.14)

That is, if the domain block Wj 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 [(x2)2 + (x3)

2] and a large

value of (|sx|)2, which is called the texture strength of X; an edge block X possesses a large

value of [(x2)2 + (x3)

2] and a small value of (|sx|)

2 and a smooth block X gives a small value

of [(x2)2 + (x3)

2] and (|sx|)

2 . The x1 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

Page 45: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 Wi

and input range block X is smaller than half the distance between Wi and any other domain

block, then the domain block Wi must be the best match of the training vector X. Thus, the

searching process may be stopped and Wi may be chosen as the closest domain block when

it satisfies Eq (3.15)

d(X,Wi) 0.5 min (d(Wj, Wi ), j=1,2,…,i-1,i+1,…N) (3.15)

Let dni = 0.5 min (d(Wi, Wj ), j=1,2,…,i-1,i+1,…N), where dni is half the minimum distance

between Wi 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

,,0

,,2

1),(

Bji

jiji rrB

RRMSE (3.16)

The flow chart of the enhanced iteration-free fractal image coding using VQ is shown in fig.

3.6. The algorithm of the proposed iteration-free fractal image coding using VQ is given as

follows:

Page 46: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

Fig. 3.6. 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).

Start

Contrast scaling & isometries

Construct mean

image and domain

pool

Compute the non

redundant domain

pool for each range

block

Input Color Image

Determine mean & Variance of all

range blocks for each R, G, B

component

Variance <

Threshold?

Non-Contractive affine

transformation

Coded by Mean

Find fractal code with

minimized matching error

Attach Header

Output fractal code

Last

Block? Next block

Stop

No

Yes

No

Yes

Page 47: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 cij and |sci| (i=1, 2… N and j= 1, 2, 3) for all domain blocks in the

domain pool. Construct the nearest distance table dt={dn1, dn2… dnN}.

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 Wm and compute the distance between X

and Wm, where Wm satisfies the following condition |x1 – cm1 | |x1 – cj1|, 1 j

N, and j m. Let r = d(X, Wm) and store the valve of r2 to sqr. If r dnm, then Wm is

the closest domain block of X. Go to step 11. Otherwise compute the projection

values xi (i=1, 2, 3) and |sx| of X. Set d=1.

Step6: If (m+d) N or the domain block Wm+d is deleted, go to step 8. Otherwise go to

step 7.

Step7: a) Compute Di = | c(m+d)i - xi| (i=1,2,3).

If D1 r, then eliminate all domain blocks from Wm+d to Wn and go to step 8.

If Dj r, (j=2,3) then delete domain blocks Wm+d and go to step 8.

b) Compute Dt = 2

)(

3

1

2 |)||(| xdmc

i

i ssD

. If Dt sqr, then delete domain blocks

W m+d and go to step 8.

c) Compute r’ = d (X, Wm+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 dn(m+d),

then Wm+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 Di = | c(m-d)i - xi|. i=1,2,3.

If D1 r, then eliminate all domain blocks from Wm-d to W0

If Dj r, (j=2,3) then delete domain blocks Wm-d

Go to step 10.

b) Compute Dt = 2

)(

3

1

2 |)||(| xdmc

i

i ssD

. If Dt sqr, then delete domain blocks

W m-d and go to step 10.

Page 48: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

48

c) Compute r’ = d(X,Wm-d) and set sqr’ = (r’)2. If r’ r then delete domain block

Wm-d , go to step 10. Otherwise set r = r’ and sqr = sqr’. If r dn(m-d), then Wm-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 Wm+d and Wm-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, , X , index of Wj,

which has the minimum RMS error to code. Process the next range block

3.2.3 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/B2) x

(N/B2), 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/B2) 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/B2) x (N/B

2)} (3.17)

Binary strings are introduced to represent the elements of P. The set of 2n 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. 3.16. Let S be the population size and T be

Page 49: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

Fig. 3.7. Flow Chart of the Encoder for the Proposed Method Using GA

The algorithm of the proposed iteration-free fractal image coding using GA is given

as follows:

No

Yes

Start

Construct mean

image and domain

pool

Input Color Image

Determine mean & Variance

of all range blocks

Variance <

Threshold?

Compute the domain block with minimized

error for each range block using GA for

each RGB component

Coded by Mean

Find fractal code

Attach Header

Output fractal code

Last

Block? Next block

Stop

No

Yes

Generate Knuth

random nos.

globally

Page 50: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

3.2.4 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)

Page 51: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

51

Fig. 3.8. 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

Start

Construct mean

image and

domain pool

Input the image (RGB)

Determine mean & variance

of all range blocks for each

RGB component

Variance <

Threshold?

Compute the domain block with

minimized error for each range block

using SA for each RGB component

Coded by mean

Find fractal code

Attach Header

Output fractal code

Last

Block? Next

block

Stop

No

Yes

No

Yes

Generate Knuth

random nos

globally

Page 52: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 2

20

0N

TTiTT N

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.

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.

Page 53: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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).

3.2.5 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.

Page 54: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

54

Fig. 3.9. 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).

2/1

1

2,,

1

8

10

)()(

)12(log20)(

MxNrr

dBPSNR

Nj

jiji

Mi (3.18)

Next block

Block reconstructed

by mean

Construct mean image

and domain pool

Start

Read headers & fractal codes of

all range blocks

Coded by

mean?

Contractive affine

transformation using

compressed fractal codes

Output decoded

range block

Last

Block?

Yes

No

No

Yes

Stop

Page 55: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

55

Bit rate = bit/pixel (3.19)

For a block size, where

Nμ number of blocks coded by mean

Nf number of blocks coded by fractal codes

Iμ required bits for the block mean

If required bits for (block mean + isometry + contrast scaling + domain block

number).

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.

Page 56: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

Page 57: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

Page 58: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 ND = 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. 4.2. Mean Images Of Lena.

Page 59: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 (pc), and mutation probability (pm), 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 pc controls the rate at which solutions are

subjected to crossover. The higher the value of pc, the quicker are the new solutions

introduced into the population. As pc, increases, however, solutions can be disrupted faster

than selection can exploit them. Typical values of pc, are in the range 0.5-1.0. Mutation is

only a secondary operator to restore genetic material. Nevertheless the choice of pm is

critical to GA performance. Large values of pm, 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 pm is chosen in the range 0.005-0.1.

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 = 16384

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 (3 + 2 + 10). Out of these 215

binary strings, forty strings (S = 40) were

selected randomly to construct an initial population. A high crossover probability, say pc =

0.85, was taken for the crossover operation. For mutation operation, pm was 0.06. Roulette-

wheel selection procedure was used. The probability of selection of a string in the

Page 60: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 (3 + 2 + 6). For the block size 2x2, the total number of

range blocks was n = 65536 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 16384.The string length n was taken to be 19 (3 + 2 + 14). 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

Page 61: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 .5.

3. 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 T0

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

N

TTiTT No

oi

(4.1)

where To = 1 and TN = 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

Page 62: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

Page 63: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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.

Page 64: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

64

Table 5.1 Classification of Blocks and Bit Rate Using Different Types of Encoding On

The Chosen Images Using the Proposed Techniques

.

5.2 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].

Image

Range

Block

size

No of Range Blocks

for GA/SA

Bit Rate Compression

ratio

PSNR

GA

/ SA VQ

GA /

SA VQ

Smooth Rough GA SA VQ

Lena

2 * 2 43927 21611 7.56 7.47 3.17 3.20 41.60 35.41 31.55

4 * 4 8394 7992 1.95 2.04 12.26 12 33.12 31.68 27.84

8 * 8 1559 2539 0.48 0.54 49.82 44.50 28.76 28.36 25.16

Pepper

2 * 2 51409 14129 7.02 7.16 3.41 3.35 39.84 36.24 30.78

4 * 4 9851 6535 1.87 1.99 12.81 12.06 33.52 32.20 26.92

8 * 8 1638 2460 0.47 0.53 50.16 45.19 27.84 27.84 23.91

Cauliflower

2 * 2 49433 16105 7.16 7.04 3.34 3.40 37.63 37.44 27.03

4 * 4 8640 7746 1.94 1.87 12.34 12.77 29.49 28.31 23.45

8 * 8 1682 2416 0.47 0.49 50.36 48.87 24.23 24.88 21.97

Tajmahal

2 * 2 44672 20866 7.51 7.35 3.19 3.26 42.83 39.90 22.50

4 * 4 6624 9762 2.05 1.98 11.65 12.07 33.86 32.32 25.49

8 * 8 1018 3080 0.50 0.57 47.58 44.44 26.64 26.52 30.42

Page 65: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

65

Table 5.2. Performance Result of the Proposed Method Using VQ

Image

Range

Block Size

No of Range

Blocks

16 level 32 level 64 level

PSNR Encoding

Time(sec)

Encoding

Time(sec)

Encoding

Time(sec)

Bit

rate Smooth Rough

Lena 8x8 1559 2539 5941.4 6374.3 7009.6 0.54 25.16

4x4 8394 7992 23272 70142 31386 2.04 27.84

2x2 43927 21611 79228 104390 153450 7.47 31.55

Pepper 8x8 1638 2460 5855 6756.4 6881 0.53 23.91

4x4 9851 6535 21268 24023 28241 1.99 26.92

2x2 51409 14129 55990 160930 109640 7.16 30.78

Cauliflower 8x8 1682 2416 4562.8 4789.2 5265.7 0.49 21.97

4x4 8640 7746 16334 18459 22585 1.87 23.45

2x2 49433 16105 49001 66905 96249 7.04 27.03

Tajmahal 8x8 1018 3080 8817.3 5616.4 6408.1 0.57 30.42

4x4 6624 9762 14163 24725 31149 1.98 25.49

2x2 44672 20866 38014 95678 138210 7.35 22.50

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

Page 66: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

66

Fig. 5.2. Decompressed Images of Lena, Cauliflower and Tajmahal using VQ

for block size 8x8 using 16 level

Fig. 5.3. 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.

Page 67: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

67

Fig. 5.4. 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

Page 68: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

Rate

Compression

Ratio

PSNR No of Range Blocks Encoding

Time Smooth Rough

Lena

2 * 2 7.56 3.17 41.60 43927 21611 110330

4 * 4 1.95 12.26 33.12 8394 7992 63871

8 * 8 0.48 49.82 28.76 1559 2539 31250

Pepper

2 * 2 7.02 3.41 39.84 51409 14129 77985

4 * 4 1.87 12.81 33.52 9851 6535 52157

8 * 8 0.47 50.16 27.84 1638 2460 36276

Cauliflower

2 * 2 7.16 3.34 37.63 49433 16105 84643

4 * 4 1.94 12.34 29.49 8640 7746 50683

8 * 8 0.47 50.36 24.23 1682 2416 34054

Tajmahal

2 * 2 7.51 3.19 42.83 44672 20866 110470

4 * 4 2.05 11.65 33.86 6624 9762 64737

8 * 8 0.50 47.58 26.64 1018 3080 31250

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. 5.5. Decompressed Image Of Lena For Block Size 8x8, 4x4 And 2x2 Using The

Proposed GA Technique.

Page 69: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

69

(a) Block size 8x8 (b) Block size 4x4 (c) Block size 2x2

Fig. 5.6. 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. 5.7. 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. 5.8. Decompressed Image Of Tajmahal For Block Size 8x8, 4x4 And 2x2 Using The

Proposed GA Technique.

Page 70: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

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.

Image Range Bit

Rate

Compression

Ratio

No of Range Blocks Encoding

Time Smooth Rough

Lena

2 * 2 7.56 3.17 43927 21611 106660

4 * 4 1.95 12.26 8394 7992 51921

8 * 8 0.48 49.82 1559 2539 17784

Pepper

2 * 2 7.02 3.41 51409 14129 70342

4 * 4 1.87 12.81 9851 6535 22802

8 * 8 0.47 50.16 1638 2460 17076

Cauliflower

2 * 2 7.16 3.34 49433 16105 64120

4 * 4 1.94 12.34 8640 7746 20484

8 * 8 0.47 50.36 1682 2416 17743

Tajmahal

2 * 2 7.51 3.19 44672 20866 60320

4 * 4 2.05 11.65 6624 9762 28842

8 * 8 0.50 47.73 1018 3080 17794

Page 71: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 5.10. 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 5.11. Decompressed Pepper Image for Block Size 8x8, 4x4 And 2x2 Using the Proposed

SA Technique

Page 72: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

72

(a) Block size 8x8 (b) Block size 4x4 (c) Block size 2x2

Fig 5.12. 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

Image

Range

Block

Size

Using GA Using SA Using VQ

RMS

Coding

Time

(secs)

RMS

Coding

Time

(secs)

Codebook

size 16

Codebook

size 32

Codebook

size 64

RMS

Coding

Time

(secs)

RMS

Coding

Time

(secs)

RMS

Coding

Time

(secs)

Lena

8x8 9.29 31250 9.64 17784 14.06 5941.4 14.30 6374.3 14.29 7009.6

4x4 5.62 63871 6.64 51921 10.33 23272 10.14 70142 10.19 31386

2x2 2.12 110330 4.32 106660 6.74 79228 6.69 104390 6.57 153450

Pepper

8x8 10.84 36276 10.33 17076 16.24 5855 16.38 6756.4 16.57 6881

4x4 5.37 52157 6.25 22802 11.50 21268 11.23 24023 11.35 28241

2x2 2.59 77985 3.92 70342 7.37 55990 7.30 160930 7.23 109640

Cauliflower

8x8 15.39 34054 14.52 17743 20.31 4562.8 20.29 4789.2 20.34 5265.7

4x4 8.54 50683 9.78 20484 17.12 16334 16.92 18459 16.77 22585

2x2 3.34 84643 3.42 64120 11.34 49001 11.31 66905 11.25 96249

Tajmahal

8x8 11.86 31250 12.02 28842 19.11 8817.3 19.49 5616.4 19.52 6408.1

4x4 5.16 64737 6.16 17794 13.53 14163 13.39 24725 13.39 31149

2x2 1.84 110470 2.57 60320 7.68 38014 7.52 95678 7.39 138210

Page 73: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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

Range

Block

size

Using Proposed GA Using Proposed SA Using Proposed

VQ

PSNR Bit Rate

(bpp) PSNR

Bit Rate

(bpp) PSNR

Bit Rate

(bpp)

Lena

2x2 41.60 7.56 35.41 7.56 31.55 7.47

4x4 33.12 1.95 31.68 1.95 27.84 2.04

8x8 28.76 0.16 28.36 0.48 25.16 0.54

Pepper

2x2 39.84 7.02 36.24 7.02 30.78 7.16

4x4 33.52 1.87 32.20 1.87 26.92 1.99

8x8 27.84 0.47 27.84 0.47 23.91 0.53

cauliflower

2x2 37.63 7.16 37.44 7.16 27.03 7.04

4x4 29.49 1.94 28.31 1.94 23.45 1.87

8x8 24.23 0.47 24.88 0.47 21.97 0.49

Taj Mahal

2x2 42.83 7.51 39.90 7.51 30.42 7.35

4x4 33.86 2.05 32.32 2.05 25.49 1.98

8x8 26.64 0.50 26.52 0.50 22.50 0.57

Page 74: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

74

Fig 5.14. 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 5.14. 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

Page 75: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 5.16. 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

Image Range

No of Range

Blocks

SA GA

Encoding

Time

(secs)

Serial

Encoding

Time

(secs)

Parallel

Encoding

Time

(secs)

Serial

Encoding

Time

(secs)

Parallel

Smooth Rough

Lena

2 * 2 43927 21611 106660 15208 110330 18090

4 * 4 8394 7992 51921 3738.3 63871 6699.1

8 * 8 1559 2539 17784 1056.1 31250 2860.6

Pepper

2 * 2 51409 14129 70342 15086 77985 16114

4 * 4 9851 6535 22802 2601.6 52157 6811.5

8 * 8 1638 2460 17076 8250.6 36276 9978.9

Cauliflower

2 * 2 49433 16105 64120 21437 84643 15773

4 * 4 8640 7746 20484 2074.1 50683 6728.9

8 * 8 1682 2416 17743 1122.5 34054 2127.3

Tajmahal

2 * 2 44672 20866 60320 13973 110470 17657

4 * 4 6624 9762 28842 2945.3 64737 6316.8

8 * 8 1018 3080 17794 1072.2 31250 2627.5

Page 76: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

76

Fig 5.15. 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

Rgb & Gray Scale

Component On Mpq-Btc In

Image Compression

Color Image

Compression with

Modified Fractal Coding

on Spiral Architecture

Lena 4 x 4 31.68 33.12 27.84 24.1209 29.05

Pepper 4 x 4 32.20 33.52 26.92 24.1531 -

Page 77: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

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 5.17.

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.

Page 78: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

78

The empty cell problem should be handled properly by choosing a proper

alternative for a wider choice of the domain block in the domain pool

Unless the fitness function is handled properly, GA/SA may have a

tendency to converge towards local optima rather than the global optimum

of the problem.

Selection is an important genetic operator, but opinion is divided over the

importance of crossover versus mutation.

GA/SA can rapidly locate good solutions, even for difficult search spaces.

GA/SA cannot effectively solve problems in which there is no way to

judge the fitness of an answer other than right/wrong, as there is no way to

converge on the solution. These problems are often called needle in a

haystack problem.

As with all current machine learning problems, it is worth tuning the

parameters such as mutation probability, crossover probability and

population size to find reasonable settings for the problem in GA. A very

small mutation rate leads to genetic drift or premature convergence of the

genetic algorithm in a local optimum. A mutation rate that is too high may

lead to loss of good solutions.

How the fitness function is evaluated is an important factor in speed and

efficiency of the algorithm.

Page 79: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

79

CHAPTER VI

CONCLUSION

In this Work, a fast-encoding algorithm for fractal image coding is proposed and

implemented using Genetic Algorithm, Simulated Annealing and Vector Quantization for

still color images. First the range blocks were classified as either smooth or rough depending

on the variance of the block. This classification was very useful when the image had lot of

smooth blocks. So depending on the image and the partition, a high compression ratio was

achieved. Only the encoding consumes more time but the decoding is very fast. The VQ

algorithm uses three features namely mean value, edge strength and texture strength of a

vector to eliminate many of the unlikely domain blocks from the domain pool which is not

available in the existing algorithm for gray scale images. Genetic algorithm and simulated

annealing are optimization techniques. These techniques were used in the proposed method

to find the best domain block with the transformations (isometry and contrast scaling) that

matches the range block. These techniques in the iteration-free fractal coding reveal that the

proposed algorithm has a better performance in terms of image quality. Advantages of GA-

based / SA-based fractal image coding are clearly demonstrated in reducing the search space

for finding the appropriately matched domain block and the appropriate transformation

corresponding to a range block. The GA / SA based method is found to have computational

efficiency, thereby reducing the cost of coding. From the experimental result, it concludes

that when the number of smooth blocks is high bit rate value is low and compression ratio is

high. It is also obviously clear that for square block partitioning 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 execution time was further reduced by implementing the

proposed method in parallel for encoding. Color images are commonly used in most of the

application now-a-days. Applications where images can be stored in a compressed form,

which require faster retrieval, like medical images and photographs for identification can use

the proposed method.

Page 80: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

80

REFERENCES

1) [Alexander et al., 2003] Alexander S. K., P. Fieguthand and E. R. Vrscay. Image

Sampling by Hierarchical Annealing. 0-7803-7750-8/03/$17.00 © 2003 IEEE, I-249 – I-

252, 2003.

2) [Alexandros, 2005] Alexandros Stamatakis. An Efficient Program for Phylogenetic

Inference Using Simulated Annealing. Proceedings of the 19th IEEE International

Parallel and Distributed Processing Symposium (IPDPS ’05) 1530-2075/05 $20.00

IEEE, 2005.

3) [Arpit and Ranveer, 2005] Arpit Aggarwal and Ranveer Kunal. Partitioned Fractal

Image Compression for Binary Images Using Genetic Algorithms. International

Conference on Networking, Sensing and Control, 734-737, March 2005.

4) [Asmat, 2004] Mohammad Asmat Ullah Khan, Large Block Entropy-Constrained

Reflected Residual Vector Quantization 0-7803-8325-7/04/$20.00 © 2004 IEEE, 128-

131, 2004.

5) [Benjamin et al.,2005] Benjamin P. Loop, Scott D. Sudhoff, Stanislaw H. Zak, and

Edwin L. Zivi. An Optimization Approach to Estimating Stability Regions Using

Genetic Algorithms. 0-7803-9098-9/05/$25.00 ©2005 AACC, 231-236, 2005.

6) [Chang and Chung, 2000] Hsuan T. Chang and Chung J. Kuo. Iteration-Free Fractal

Image Coding Based on Efficient Domain Pool Design. IEEE Trans. Image Processing,

9(3), 329-339, Mar 2000.

7) [Chang, 2001] Hsuan T. Chang. Variance-Based Domain Blocks for Non-Iterative

Fractal Image Compression. Journal of Chinese Institute of Electrical Engineering (EI),

8(2), 159-169, April 2001.

8) [Chang and Ramakrishna, 2003] Chang Wook Ahn and R. S. Ramakrishna. Elitism-

Based Compact Genetic Algorithms. IEEE Transactions on Evolutionary Computation,

7(4), 367-385, August 2003.

9) [Chen et al., 2002] Chen Yisong; Wang Guoping; Dong Shihai. Feature Difference

Classification Method in Fractal Image Coding. Proceedings of the 6th International

Conference on Signal Processing, 1, 26-30 Aug. 2002, 648 – 651, 2002.

Page 81: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

81

10) [Chong and Minghong, 2001] Chong Sze Tong and Minghong Pi. Fast Fractal Image

Encoding Based on Adaptive Search. IEEE Transactions on Image Processing, 10(9),

1269-1277, September 2001.

11) [Cor et al., 2003] Cor J. Veenman, Marcel J. T. Reinders, and Eric Backer. A Cellular

Coevolutionary Algorithm for Image Segmentation. IEEE Transactions On Image

Processing, 12(3), 304-316, March 2003.

12) [Donald and Pauline, 2001] Donald Hearn and M Pauline Baker. Computer

Graphics. Prentice Hall Publications, 2001.

13) [Ender and Esin, 2004] Ender Ozcan , Esin Onbagioglu. Genetic Algorithms for Parallel

Code Optimization. 0-7803-85 15-2/04/$20.00 © 2004 IEEE, 1375 – 1381, 2004.

14) [Erjun, 2005] Erjun Zhao Dan Liu. Fractal Image Compression Methods: A Review.

Proceedings of the Third International Conference on Information Technology and

Applications (ICITA’05), 756-759, July 2005.

15) [Ghazel et al., 2005] M.Ghazel, R. K. Ward, R. Abugharbieh,E. R. Vrscay, G. H.

Freeman. Simultaneous Fractal Image Denoising and Interpolation. 0-7803-9195-

0/05/$20.00 ©2005 IEEE, 558-561, 2005.

16) [Gonzalez et al., 2004] Rafael C Gonzalez, Richard E Woods and Steven L

Eddins. Digital Image Processing Using Matlab, Pearson Education (Singapore)

Pte. Ltd publication, 2004

17) [Hanchuan et al., 2000] Hanchuan Peng Fuhui Long, Zheru Chi, and Wanchi Siu. A

Hierarchical Distributed Genetic Algorithm for Image Segmentation. 0-7803-6375-

2/00/$10.00 © 2000 IEEE. 272 – 276, 2000.

18) [Hany and Yongyi, 2000] Hany H. Ammar and Yongyi Tao. FingerPrint Registration

using Genetic Algorithms. 0-7695-0559-7/00 $10.00 © 2000 IEEE, 2000.

19) [Hau-Jie and Wang, 2005] Hau-Jie Liang and Shuenn-Shyang Wang. Architectural

Design Of Fractal Image Coder Based On Kick-Out Condition. 0-7803-8834-8/05

$20.00 © 2005 IEEE, 1118-1121, 2005.

20) [He et al., 2004] He C., S.X. Yang and X. Huang. Progressive Decoding Method for

Fractal Image Compression. IEE Proc.-Vis. Image Signal Process. 151(3), 207-213, June

2004.

Page 82: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

82

21) [Hong et al., 2000] Hong Zhang, Xiaofei Zhang, Shun Cao. Analysis and Evaluation of

Some Image Compression Techniques. 0-7695-0589-2/00 $10.00 © 2000 IEEE, 799-

805, 2000.

22) [Jeng et al., 2003] Jeng -Shyang Pan, Zhe-Ming Lu and Sheng-He Sun. An Efficient

Encoding Algorithm for Vector Quantization Based on Subvector Technique. IEEE

Transactions on Image Processing. 12(3), 265-270, March 2003.

23) [Jim and Yi, 2004] Jim Z. C. Lai and Yi-Ching Liaw. Fast-Searching Algorithm for

Vector Quantization Using Projection and Triangular Inequality. IEEE Transactions on

Image Processing, 13(12), 1554-1558, December 2004.

24) [Jyi-Chang et al., 2000] Jyi-Chang Tsai, Chaur Hsieh and Te-Cheng Hsu. A New

Dynamic Finite-State Vector Quantization Algorithm for Image Compression. IEEE

Transaction on Image Processing, 9(11), 1825-1836, Nov 2000.

25) [Leipo and Lipo, 2003] Leipo Yan and Lipo Wang. Image Restoration Using Chaotic

Simulated Annealing, 0-7803-7898-9/03/$17.00 © 2003 IEEE, 3060-3064, 2003.

26) [Liu et al., 2003] Liu Ying, Zhou Hui, Yu Wen-Fang. Image Vector Quantization

Coding Based on Genetic Algorithm, 0-7803-7925-X/03/$17.00 © 2003 IEEE, 773-777,

2003.

27) [Luo et al., 2001] Luo Pi, Teng Jianfu, Guo Jichang, Li Qiang. An Improved Genetic

Algorithm and its Performance Analysis, 0-7803-7010-4/01/$10.00 © 2001 IEEE. 329 –

333, 2001.

28) [Milena, 2004] Milena Karova. Solving Timetabling Problems Using Genetic

Algorithms, 0-7803-8422-9/04/$20.00 © 2004 IEEE 2Th Int'l Spring Seminar on

Electronics Technology, 96 – 98, 2004.

29) [Mohsen et al., 2003] Mohsen Ghazel, George H.Freeman and Edward R.Vrscay. Fractal

Image Denoising, IEEE Trans. Image Processing, 12(12), 1560–1578, Dec. 2003.

30) [Nadira and Thamaraiselvi, 2004] A.R.Nadira Banu Kamal and Dr S. Thamarai Selvi.

Image Compression using Vector Quantization. Proceedings of the UGC sponsored

National Conference on Recent Trends in Digital Image Processing and its Applications,

Department of Computer Science, Yadava College, Madurai, 42-51, Oct 2004.

31) [Nadira and Thamaraiselvi, 2005] A.R.Nadira Banu Kamal and Dr S. Thamarai Selvi.

Fractal Image Compression with Partition Iteration Function Systems. Proceedings of

Page 83: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

83

the UGC sponsored National Conference on Computer Science and Informatics,

Department of Computer Science, St. Joseph College, Trichy, Feb 2005. (CD)

32) [Nadira and Thamaraiselvi, 2006a] A.R.Nadira Banu Kamal and Dr S. Thamarai Selvi.

Iteration-Free Fractal Coding For Image Compression Using Simulated Annealing.

Proceedings of the IET International Conference on Visual Information Engineering

2006, Institute of Engineering and Technology, United Kingdom, 189-194, Sep 2006.

33) [Nadira and Thamaraiselvi, 2006b] A.R.Nadira Banu Kamal and Dr S. Thamarai Selvi.

Iteration-Free Fractal Image Compression Using Genetic Algorithm for Single Block

Partition. Proceedings of the IEEE National Conference on Information and

Communication Convergence 2006, B S Abdur Rahman Crescent Engineering College,

Chennai, 67 - 74, Dec 2006.

34) [Nadira Banu Kamal et al., 2008]A.R Nadira Banu Kamal, S. Thamarai Selvi and

Hennry Selvaraj, ―Iteration Free Fractal Image Compression Using Genetic Algorithm‖,

International Journal of Computational Intelligence and Applications, 7(4): 429-446,

2008.

35) [Nadira, 2012] A.R.Nadira Banu Kamal, ―Iteration Free Fractal Compression Using

Simulated Annealing for still Colour Images‖, UACEE International Journal of Artificial

Intelligence and Neural Networks,2(3),10-14,Dec 2012.

36) [Nadira and Priyanga, 2014] A.R.Nadira Banu Kamal and P.Priyanga, ―Iteration Free

Fractal Compression Using Genetic Algorithm for still Colour Images‖, ICTACT

Journal on Image and Video Processing,4(3), 785-790, Feb 2014.

37) [Nadira and Priyanga, 2014a] A.R.Nadira Banu Kamal and P.Priyanga, ―Iteration Free

Fractal Color Image Compression Using Vector Quantization‖, International Journal of

Advanced Research in Computer and Communication Engineering, 3(1), 5154-5163, Jan

2014.

38) [Nadira and Priyanga, 2013] A.R.Nadira Banu Kamal and P.Priyanga, ―Parallel Fractal

Coding for Color Image Compression Using Genetic Algorithm and Simulated

Annealing‖, International Journal of Computer Science and Information

Technologies,4(6),1017-1022,2013.

Page 84: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

84

39) [Nakayama et al., 2003] Nakayama T., K. Takeuchi, Konda, K Kotani and T. Ohmi. Still

Image Compression Method Based On Adaptive Block Segmentation Vector

Quantization Technique, 0-7803-7750-8/03/$17.00 © 2003 IEEE, II-275 – II-278, 2003.

40) [Nick, 2000] Nick Efford. Digital Image Processing – A Practical Introduction

Using Java, Pearson Education-2000.

41) [Nileshsingh and Kakde, 2007] Nileshsingh V. Thakur and Dr.O.G Kakde, ―Color

Image Compression with Modified Fractal Coding on Spiral Architecture‖ Journal of

Multimedia, 2(4): 55-66, Aug 2007.

42) [Pan et al., 2003] T.S.Pan, Z. M. Lu and S.H. Sun. An Efficient Encoding Algorithm for

Vector Quantization Based on Subvector Techniques, IEEE Trans. Image Processing

12(3), 265 – 270, 2003.

43) [Pei-Yin, 2004] Pei-Yin Chen. An efficient Prediction Algorithm for Image Vector

Quantization, IEEE Transaction on System, Man, and Cybernetics-Part B: Cybernetics,

34(1), 740-746, Feb 2004.

44) [Peter and Bradley, 2000] Peter Veprek and A.B.Bradley. An Improved Algorithm for

Vector Quantizer Design, 1070-9908/00 $ 10.00 © 2000 IEEE, 250-252, 2000.

45) [Raouf and Dietmar, 2000] Raouf Hamzaoui and Dietmar Saupe. Combining Fractal

Image Compression And Vector Quantization, IEEE Tranc Image Processing, 9(2), 197-

208, Feb 2000.

46) [Riccardo et al., 2006] Riccardo Distasi, Michele Nappi, and Daniel Riccio. A

Range/Domain Approximation Error-Based Approach for Fractal Image Compression,

IEEE Transactions on Image Processing, 15(1), 89- 97, January 2006.

47) [Shigeki and Hiroomi, 2005] Shigeki Matsubara and Hiroomi Hikawa. Hardware

Friendly Vector Quantization Algorithm, 0-7803-8834-8/05/$20.00 ©2005 IEEE, 3623-

3626, 2005.

48) [Shi-xin et al., 2002] Shi-xin Sun, Chao-yang Pang, Wen-yu Chen. A New Parallel

Architecture for Image Compression, 7th

International Conference on Computer

Supported Cooperative Work in Design, 158-161, Sept 2002.

49) [Somasundaram, 2011] K. Somasundaram and P.Sumitra, ―RGB & Gray scale

Component on MPQ-BTC in Image Compression‖, International Journal on Computer

Science and Engineering,.3(4):1462-1467, Apr 2011.

Page 85: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

85

50) [Subramanya, 2001] Subramanya S.R. Image Compression Techniques, IEEE Potentials,

19-23, Feb/Mar 2001.

51) [Surapong, 2000] Surapong Auwatanamongkol. Pattern Recognition using Genetic

Algorithm, 0-7803-6375-2/00/$10.00 © 2000 IEEE, 822 – 828, 2000.

52) [Vivek Arya et al 2013] Vivek Arya, Dr.Priti Singh, Karamjit Sekhon, RGB Image

compression using Two Dimensional Discrete Cosine Transform, International Journal of

Engineering Trends and Technology, 4(4),828-832,April 2013.

53) [Wu, 2004] Wu Y.G. GA-based DCT Quantisation Table Design Procedure for Medical

Images, IEE Proc.-Vis. Image Signal Process., 151(5), 353-359, October 2004.

54) [Yan and Zhong, 2002] Yan-Ke Shi and Zhong-Ke Shi. Compression-Coded Genetic

Algorithms and its Application in Traffic Control, Proceedings of the first International

Conference on Machine Learning and Cybermetrics, Beijing, 4-5, Nov 2002.

55) [Yi and Jian, 2003] Yi-Wen Zhongiz and Jian-Gang Yang. A Genetic Algorithm For

Tasks Scheduling In Parallel Multiprocessor Systems, Proceedings of the Second

International Conference on Machine Learning and Cybernetics, Xi'an, 1785 – 1790, 2-

5 November 2003.

56) [Yung et al., 2003] Yung -Gi, Wu, Ming-Zhi, Huang, Yu-Ling, Wen. Fractal Image

Compression with Variance and Mean, ICME 2003, I- 353 to I-356, 2003.

57) [Yuzo et al., 2006] Yuzo Iano, Fernando Silvestre da Silva and Ana Lucia Mendes Cruz.

A Fast and Efficient Hybrid Fractal-Wavelet Image Coder, IEEE Transactions On Image

Processing, 15(1), 98-105, 2006.

Page 86: CHAPTER I INTRODUCTIONthassim.in/wp-content/uploads/2017/02/Efficient-Iteration-Free-Fract… · With the recent rapid growth of multimedia applications and digital transmission,

86

ANNEXURE III

PUBLICATIONS REPRINTS