{Introduction} As stated in chapter 4, vector quantization (VQ) has emerged recently as a powerful technique that can provide significant reduction in bit rate though preserving the essential characteristics of the signal cite{a56},cite{b342}. The generalized Lloyd algorithm is the most popular algorithm for codebook design for VQ. The practical application of the VQ has been limited because of large amount of computation involved both in the vector encoding and codebook design cite{c5.1}. One way to overcome this problem is to partition the vector into subvectors having lower dimension. This technique is often referred as product code technique. It decomposes the problem into that of coding a scalar and a vector is based on extracting the root mean-square value of the vector components. This quantity is called {em gain} and serves as normalizing factor. The normalized input vector is called {em shape}. The idea of Shape-Gain Vector Quantization (SGVQ) technique utilizes the fact that the same pattern of variation in a vector may recur with a wide variety of gain values. If this is the case, then the probability distribution of the shape is independent of the gain. Due to this little compromise in optimality with a product code structure is expected in the codebook. From other view point, the code is permitted to handle the dynamic range separately from the shape of the vector. SGVQ is employed particularly for speech and audio coding where the waveform has a wide dynamic range of short term power levels. In the recent past many areas of application of neural network has been addressed in wide range of problems in clustering and pattern recognition cite{c5.2},cite{25}. As stated earlier, a class of neural network, called self-organizing or competitive learning networks appears to be most suitable for VQ cite{c5.3}. The use of neural network for vector quantization has significant advantages. First, neural network has massive parallel architecture, therefore has the potential for real time VQ. Second, the adaptive training algorithm makes it possible to build adaptive VQ. This chapter discusses the application of the neural network in vector quantization. Unsupervised learning algorithm is used for the training of the neural network. The training algorithm is adaptive in the sense that it processes the training data one vector at a time. Finally the performance of SGVQ is compared with full search vector quantizer. In the following sections optimal encoder procedure employing SGVQ and approach to codebook design are discussed section{ Shape-Gain Vector Quantization} Consider a vector $X$ having gain as random variable given by egin{equation} g= parallel X parallel = sqrt{ sum_{i=1}^{k} X_{i}^{2}}, end{equation} where $g$ is the gain of the vector. The shape $S$ of a vector $X$ with with a nonzero gain is given by egin{equation} S=frac{X}{g} end{equation} so that $parallel S parallel = 1 $. Because of this code decomposition, the shape vector lies on the surface of a hypersphere having $K$ dimensions and therefore it is easy to quantize $S$ as compared to the vector $X$. In order to determine the optimal encoding structure the performance objective is defined as squared error distortion measure egin{equation} d(X,hat g hat S)= {parallel X- hat g hat S parallel }^2 label{e5.3} end{equation} where $hat g$ is obtained by quantizing $g$ and $hat S$ is obtained by quantizing $S$. Equation

ef{e5.3} may be expanded as egin{equation} d(X,hat g hat S)= {parallel X parallel}^{2} + {hat g}^{2} -2hat g(X^{t}hat S ).label{e5.4} end{equation} The equation

ef{e5.4} can be minimized first by selecting the shape vector $hat S$ that minimizes the $X^{t} hat S$. The gain $g$, being root mean square, is always a positive value, therefore the selection of $hat S$ is not affected by $hat g$. It is worth to note that the input vector need not be normalized in order to choose the best shape vector thereby avoiding the complexity of the encoder. Once the shape codeword is selected, $hat g$ is chosen to minimize the resulting function of $hat g$, i.e. egin{equation} {parallel X parallel}^{2} + {hat g}^{2} -2hat g(X^{t}hat S )= {parallel X parallel}^{2} + hat g – (X^{t} hat S)^{2} – (X^{t} hat S)^{2}, end{equation} Thus, the optimal encoding procedure requires two steps, the first step involves only one feature (shape). The second step depends on the first step computation in its nearest neighbourhood for the second feature (gain). section{ Codebook Design} The unsupervised training algorithm, which been used for codebook creation, as described in chapter 3, depends on the internally created error measure derived solely from the training data. In contrast to supervised learning, the network must derive the error and the necessary weight modification from the statistical attributes of the input vector. Most of the unsupervised algorithms attempt to {em cluster} the training data into representative groups. In the proposed work Kohonen self-organizing feature maps (KSFM) are considered for the codebook design. The KSFM, a class of competitive neural network have been successfully used to to solve many pattern recognition problems. %One of the major advantage of using neural network in vector quantization %formulation is that the large body of the neural network learning methods %can be applied to the vector quantization task. In this approach a neural network is considered having $N$ neurons with $i$th neuron associated with weight vector $W$. Therefore, the $i$th codeword is $w_i = c_i$. Any random input vector $X$ to be encoded is applied to all $N$ neurons. Each neuron computes the distortion, based on some criterion, i.e. $g(X,w_i) = d(X,w_i)$ with $g(X,w)$ being the activation function. The neuron with minimum distortion is called {em winning} neuron, and the input vector $X$ being encoded as the index of the winning unit. The process of determining the winner neuron is carried out by adding another layer whose neurons are trained directly to produce the index of the winning neuron. Each neuron has an associated topological neighbourhood of other neurons. During the training process, both winning neuron and the neighbouring neuron are updated. Next, the training algorithm (KSFM) employed in present work is presented. {em KSFM Training Algorithm:} Initially $D_max$ is chosen large enough that all the neurons are in the neighbourhood. The following steps are adapted: egin{enumerate} item{ Apply an input vector $X$ to the input neurons} item{ Find the distortion $D_{i}=d(X,w_i)$ for all output neurons.} item{ Select the output unit $ i^{*}$ having smallest distortion and label it as the wining neuron.} item{ Adjust the selected weight vector $W_{i}^{*}$ and its neighbourhood neurons egin{equation} W_{i}^{*}(n+1)=W_{i}^{*}(n)+e(n,0)X(n)-W_{i}^{*}(n) end{equation} and for all neurons that are less than $D_{max}$ away from $i^{*}$ egin{equation} w(n+1)=w(n) + e(n,D)x(n)-w(n) end{equation} where $n$ is the training time and $0

x

Hi!

I'm Dora!

Would you like to get a custom essay? How about receiving a customized one?

Check it out