Optimization of Channel Coding for Transmitted Image Using Quincunx Wavelets Transforms Compression

Many images you see on the Internet today have undergone compression for various reasons. Image compression can benefit users by having pictures load faster and webpages use up less space on a Web host. Image compression does not reduce the physical size of an image but instead compresses the data that makes up the image into a smaller size. In case of image transmission the noise will decrease the quality of recivide image which obliges us to use channel coding techniques to protect our data against the channel noise. The Reed-Solomon code is one of the most popular channel coding techniques used to correct errors in many systems ((Wireless or mobile communications, Satellite communications, Digital television / DVB,High-speed modems such as ADSL, xDSL, etc.). Since there is lot of possibilities to select the input parameters of RS code this will make us concerned about the optimum input that can protect our data with minimum number of redundant bits. In this paper we are going to use the genetic algorithm to optimize in the selction of input parameters of RS code acording to the channel conditions wich reduce the number of bits needed to protect our data with hight quality of received image. Keywords—Code Rate; Optimization; Quincunx Wavelets Transforms compression; Genetic Algorithm; BSC channel; ReedSolomon codes


INTRODUCTION
In information theory and coding theory with applications in computer science and telecommunication, error detection and correction or error control are techniques that enable reliable delivery of digital data over unreliable communication channels.Many communication channels are subject to channel noise, and thus errors may be introduced during transmission from the source to a receiver.Error detection techniques allow detecting such errors, while error correction enables reconstruction of the original data in many cases.
The purpose of channel coding theory is to find codes which transmit quickly, contain many valid code words and can correct or at least detect many errors.While not mutually exclusive, performance in these areas is a trade off.So, different codes are optimal for different applications.The needed properties of this code mainly depend on the probability of errors happening during transmission.
The Reed-Solomon codes are efficient error-correcting codes that used in many important applications.The input parameters can provide good results on the level of receiver however this will maximize the number of redundant bits which make us wonder about what is the efficient coding rate that have minimum number of redundant bits.
The objective here is to develop the selection of inputs parameters of RS code according to the channel noise using artificial intelligence technique (GA).The paper is organized as follow: the first part introduce the QWT and vector quantization as bases for compression, in the second part the RS coding with main input paramters, than how to creat the data base of the coding rate acording to inputs conditions (limitations), after that introduction to the main bases of GA, the formulation of solving steps, finally the simulation results and conclusion.

II. QUATERNION WAVELET TRANSFORM
The foundation of the 2-D dual-tree QWT rests on the quaternion definition of the 2-D HT and analytic signal [1].By organizing the four quadrature components of a real wavelet as a quaternion, we obtain a 2-D analytic wavelet and their associated quaternion wavelets transform (QWT).
Each quaternion wavelet consists of a standard DWT tensor wavelet plus three additional real wavelets obtained by 1-D Hilbert transforms along either or both coordinates.More specifically, if we denote the 1-D Hilbert transform operators along the x and y coordinates by Hx and Hy, respectively, then given the usual real tensor product wavelet ψ h (x) ψ h (y) (for the diagonal subband in this case), we complement it with: Conveniently, each component can be computed as a combination of 1-D dual-tree complex wavelets.Using quaternion algebra, we can organize the four wavelet components to obtain a quaternion wavelet www.ijacsa.thesai.org

III. VECTOR QUANTIZATION
A quantizer simply reduces the number of bits needed to store the transformed coefficients by reducing the precision of those values [3].The basic principle of vector quantization based image compression techniques is to match each input vector with a code-vector in the codebook so that the distortion between the input vector and the chosen code-vector is minimum [4] by evaluating the Euclidean distance between the input vector and each codeword in the codebook [5] .Once the closest codeword is found, the index of that codeword is sent through a channel .When the encoder receives the index of the codeword, it replaces the index with the associated [6].Quantization is an irreversible process.That is, in general, there is no way to find the original value from the quantized value [7].The difference between the input and output signals of the quantizer becomes the quantizing error, or quantizing noise [8].In this case f should be > 0 also there are some exceptions which are m and t doesn't take the values 2 or 1 in the same time.
By taking in consideration the value of m and t in RS code (should be less than or equal 16) we get 127 possibility without repetition those code rates are representing the data base to select the optimum code rate using GA VI.TRANSMISSION CHANNEL In this section, it is explained the results of research and at the same time is given the comprehensive discussion.Results can be presented in figures, graphs, tables and others that make the reader understand easily [10], [11].The discussion can be made in several sub-chapters.The binary symmetric channel (BSC) is defined by the channel diagram shown in Figure 3, and its channel matrix is given by Eq. 7: www.ijacsa.thesai.org

 
The channel has two inputs (x1 = 0, x2 = 1) and two outputs (y1 = 0, y2 = 1).The channel is symmetric because the probability of receiving a 1 if a 0 is sent is the same as the probability of receiving a 0 if a 1 is sent.This common transition probability is denoted by p [12].The error events are also independent of the data bits [13].This is the simplest model of a channel with errors, yet it captures most of the complexity of the general problem [14].The capacity of this channel given by Eq. 8:

 
With the binary entropy function given by Eq. 9:    The algorithm stops when one of the stopping criteria is met.

VIII. FORMULATION OF SOLVING STEPS
The genetic algorithm will select randomly the coding rate from the table (127 value).According to the selected value of code rate m and t will be selected.After that the selected paramters will applied the in the Reed-Solomon code, then a check of the effectiveness selected parameters will be made by calculating the MSE after transmission using BSC channel and RS decoder.The algorithm will stop if there isn't a big improvement in the optimum MSE (ε ≤ 10^-3) For the simulation we choose to apply the protection in base frequencies (Bf) since it represents the most important data in image and level 3 which takes the second place in terms of important.The rest of levels will be transmitted without channel coding since they are less important.
The input parameters of GA (during the simulation) are selected as follow: PopulationSize: 20, EliteCount: 2, Crossover Fraction: 0.8000, Migration Interval: 20, Migration Fraction: 0.2000, Generations: 100, PopulationSize=20, Penalty Factor: 100, The range of the individuals in the initial population ] 0, 1[.The image is decomposed in 3 levels using QWT.For VQ we use a codebook generated by LBG size (256×16) block size 4×4.We use three gray level images (Lena, Goldhill, boat) size 512×512.The simulation results show a big optimzation in the selection of code rate for the RS code according to the channel noise.We remark that the GA gives a hight code rates for high BER levels and decreasing this value with low levels of BER.However the GA keeps a high coding rate for Bf since it represents the most important data in the image.Compared to published papers,[61], [17], [18],our proposition provides a more precision for the selection of RS inputs which optimize in the number of redundant bits and the time of transmission with efficient correction.

X. CONCLUSION
In this paper we study the protection of data using RS code according to the important of data in the original image by creating an algorithm that calculate the coding rate automatically in function of mean squared error (MSE) using genetic algorithm (GA).In general we used to select the coding rate randomly which give us satisfactory results with no precision or minimization in redundant bits needed to protect the data.However the use of GA provide an automatic selection of coding rate according to the channel conditions (BER) which minimization in redundant bits needed to protect the data with more precision and correction.We still believe that a big improvement can be achieved if we change in the fitness function with more constraints.

Fig. 2 .
Fig. 2. Image decompostion using QWT 3 levels IV. RS CODE In 1960, Irving Reed and Gus Solomon published a paper in the Journal of the Society for Industrial and Applied Mathematics [9].Reed-Solomon codes are nonbinary cyclic codes with symbols made up of m-bit sequences, where m is any positive integer having a value greater than 2. R-S (n, k) codes on m-bit symbols exist for all n and k for which:  Where k is the number of data symbols being encoded, and n is the total number of code symbols in the encoded block.For the most conventional R-S (n, k) code  Where t is the symbol-error correcting capability of the code, and n -k = 2t is the number of parity symbols.With m ≤ 16 and t ≤ 16 V.CODE RATEThe rate of a block code (code rate R) is defined as the ratio between its message length and its block length.In case of using RS code the code rate will be R=k/n it should be positive and taking values between 0 and 1Where n = 2^m -1(Codeword length) and k= N -2×t (Message length, or information bytes length) So k should be positive and n should be > 0 .The question her is how to select m and t values to respect those conditions.We define a new function f that gather all this conditions where f= (2^m)-(2×t)-1.

Fig. 3 .
Fig. 3. Binary symmetric channel VII.GENETIC ALGORITHM Genetic Algorithm (GA) is a calculus free optimization technique based on principles of natural selection for reproduction and various evolutionary operations such as crossover, and mutation.Various steps involved in carrying out optimization through GA are described.The following outline summarizes how the genetic algorithm works:  The algorithm begins by creating a random initial population. The algorithm then creates a sequence of new populations.At each step, the algorithm uses the individuals in the current generation to create the next population.To create the new population, the algorithm performs the following steps:  Scores each member of the current population by computing its fitness value  Scales the raw fitness scores to convert them into a more usable range of values

TABLE I .
INPUT PARAMETERS OF RS CODE IN DIFFERENT BER (IMAGE LENA)

TABLE II .
INPUT PARAMETERS OF RS CODE IN DIFFERENT BER (IMAGE GOLDHILL)