combination of pyramid and lattice vector quantization

0 downloads 0 Views 69KB Size Report
Proc. of Int. Scient. Conf. DSP 99, Digital Signal Processing, Slovakia, 1999, pp.26-29. COMBINATION OF PYRAMID AND LATTICE VECTOR. QUANTIZATION.
Proc. of Int. Scient. Conf. DSP 99, Digital Signal Processing, Slovakia, 1999, pp.26-29.

COMBINATION OF PYRAMID AND LATTICE VECTOR QUANTIZATION Ing.Iveta GLADIŠOVÁ,Ph.D. - Prof.Ing.Ján MIHALÍK,Ph.D. Department of Electronics and Multimedia Communications Technical University of Košice, Park Komenského13, 041 20 Košice Slovak Republic Tel.: +0421-95-6022940; +0421-95-6022854 E-mail: [email protected], [email protected] ABSTRACT The paper deals with combination of pyramid and lattice vector quantization and design of an algorithm of the pyramidal lattice vector quantizer (PLVQ). PLVQ is motivated by the geometric structure of the memoryless Laplacian source of the vectors. Its codewords are the lattice points, that lie on the surfaces of v-dimensional pyramids. PLVQ is used to quantize Laplacian distributed random variables by using 4-dimensional lattice D4 and 8dimensional lattices D8 and E8. Results of simulation are compared among themselves at aproximatly the same bit rates.

Euclidian space Rk with k ≥ v and u1, ..., uv are integer numbers. Among all kinds of lattice, several important lattices will be choosed for application to lattice vector quantizers. Tey are only known for some integers v ⌠ 24, e.g. Av (v ≥ 1), Dv (v ≥ 2), Ev (v = 6,7,8), Koxeter-Todd lattice K12 (v = 12), Barnes-Wall lattice Λ16 (v=16) and Leech lattice L24 (v =24). Conway and Sloane [9] have determined the best known lattices for several dimensions as well as fast quantizing and decoding algorithms. For our application we have used the nonorthogonal lattices D4, D8 and E8, where v –dimensional lattice Dv is defined as follows: v

Dv = { b ∈ Zv : 1. INTRODUCTION

i =1

Vector quantizer codebook designed using LBG (Linde, Buzo, Gray) algorithm [1], [2] have no discernible structure and this random codebook distribution complicates the quantization process. Lattice point quantization is a nice alternative since we can use fast encoding algorithm. For a bit rate of n bit/sample and spatial dimension v, the number of codebook vectors, or equivalently of lattice points used, is 2nv . For high bit rate and high dimension, the number 2nv is not achievable by the LBG method (high complexity), but is achievable by, and easily implemented with, lattice quantizers. Thus, the so-called „codebook“ is a particular subset of lattice . A lattice is a regular arrangement of points in v-dimensional real space Rv centered in zero. Thus, an v-dimensional lattice Λv is defined as a set of vectors [5], [9] Λv = { b ∈ Rk ; b = u1 g1 + …. + uv gv }

∑b

(1)

where g1, …, gv are linearly independent vectors (the basis vectors of lattice) in k dimensional real

i

is even } ,

(2)

and consists of those points of the rectangular integer lattice Zv ,whose sum of coordinates is even. The 8-dimensional lattice E8 is defined by E 8 = D8

U (

1 1 + D 8) , 2

(3)

where 1 stands for the all-one vector. If the lattice is used as a quantizer, all the points in the Voronoi region around the lattice point b are represented by b in terms of mean squared error (MSE) distortion. In order to obtain the best trade-off distortion rate, we must scale and truncate the lattice suitably. Then we need to know how many lattice points lie within the truncated area. Hence, we need to know the shape of truncated area. For a Laplacian sources these surfaces of equal probability are pyramids. We use as a codebook the lattice points on the surface of a pyramid.Then a pyramid vector quantizer is a suboptimal vector quantizer which uses codewords corresponding to points in the cubic (e.g. integer) lattice, that lie on a v-dimensional particular pyramid [3], [4].

Proc. of Int. Scient. Conf. DSP 99, Digital Signal Processing, Slovakia, 1999, pp.26-29. Let v- dimensional pyramid S(v, v/ λ ) is defined as S(v, v/ λ ) = { b ∈ Rv :

v

∑b i =1

(λ =

i

= v/ λ } ,

(4)

2 / σ x and σ 2x is a input variance). The

pyramid is a sufficient geometry to use for designing an optimum vector quantizer [3] in the sense that for each input vector X there is a corresponding vector X* ∈ S (v, v/ λ ) such that if v  → ∞

1/v ≡ X – X*≡ 2  → 0 , 2

, (5)

v

2

where ≡ . ≡ 2 =

∑x i =1

2 i

.

For K a positive integer, the pyramid S(v, K) has a number, say N(v, K) of a cubic lattice points on its surface. The value of N(v, K) is easily computed from the recursion [6] N(v, K) = N(v-1, K) + N(v-1, K-1) + N(v, K-1) v ∫ 2, K ∫ 2 (6) with the boundary conditions N(v, 1) = 2v and N(1, K) = 2. To encode v-dimensional vectors at a rate of n bit/sample the basic pyramid vector quantization algorithm requires specification of the largest K such that N(v, K) ⌠ 2nv.

2. PYRAMIDAL LATTICE VECTOR QUANTIZER Algorithm of pyramidal lattice vector quantizer is generalization Fischer's approach [3] to arbitrary lattices and uses the codebook for the most useful lattices like Zv (integer), Dv and E8. Moreover, we use as a codebook the lattice points inside a pyramid of a given height. Beyond this height, vectors are normalized to be on this largest pyramid. Within this pyramid, vector to be encoded is scaled down to the closest concentric pyramid and approximated by the lattice point that is the closest in the sense of the mean square error criterion. This anables us to employ the fast algorithms [7]. For encoding scheme , let m be the radius of the largest pyramid, then we can write for this pyramid v

S(v,m) = { b ∈ Rv :

∑b i =1

i

=m},

(7)

Instead of scaling the lattice codebook we scale the source vector in order to use fast encoding

algorithm [8]. The basic algorithm used for quantization is as follows: 1. Select a maximum energy Emax for source to be encoded (which is not necessarily the maximum energy of the source) and select the radius of the largest pyramid m from concentric pyramids e.g. select a dictionary size (determine a lattice truncation energy m). Calculate energy Ex of source vector as a sum of absolute values its coordinates. Norm the source by applying the scaling factor γ, defined hereafter, to all of the source vectors. If energy of input vector Ex ⌠ m (Fig.1a), then γ = 1. If energy m < Ex < Emax (Fig.1b) then γ = m/ Emax . If energy Ex ∫ Emax (Fig.1c), then scaling factor γ = m/ Ex . 2. Scale the source vector by the scaling factor γ. For this vector X' compute energy and according this value we determine the closest pyramid. In this pyramid is situated scaling quantization vector. 3. Quantize the scaled source vector using fast algorithm [9]. Project the vector X' on or within the largest pyramid, then we have vector X*. After rounding its coordinates we obtain a scaling quantization vector b, e.g. point of lattice on the pyramid. 4. Then rescale vector b by inverse of the scaling factor γ. Vector b' is the quantization vector for source vector.

a)

Proc. of Int. Scient. Conf. DSP 99, Digital Signal Processing, Slovakia, 1999, pp.26-29. D8 t /u 0 0 * 1 x 1

2 128 129

4 2816 2945

6 27008 29953

E8 t/u 0 0 * 1 x 1

2 128 129

4 2944 3073

Table 3 6 31616 34689

Table 2 8 157184 187137

where * - number of quantization vectors on pyramid with radius m x - sum of quantization vectors on pyramid with radius m and all preceding pyramids b) 3. RESULTS OF PLVQ AND THEIR EVALUATION The simulation of the pyramidal lattice vector quantizer is based on the designed algorithm, which allows simulation of PLVQ with lattices for dimension v = 4 and 8, while the following may be selected: the number of input vectors, the type of lattices (D4, D8, E8), the bit rate of n bit/sample and paramether m of the pyramid S(v, K) and thus the number of quantization vectors N(v,K). The algorithm performance is characterized by the MSE 2

(σ q ) and signal to noise ratio (SNR).

c) Fig.1 Pyramidal lattice vector quantization scheme.

This algorithm requires the addition, multiplication, comparison and rounding operations and its computational complexity is proportional to dimension v, while for optimum vector quantizer [2] it increases exponentially with this dimension. The number of quantization vectors lying on or within pyramids of energy m for lattice D4, D8 and E8 are given in tab.1,2,3 ( m= 10t + u) [8]. D4 t/u 0 0 * 1 x 1 1 * 2720 x 4961

2 32 33 4672 9633

4 192 225 7392 17025

6 608 833 11008 28033

Table 1 8 1408 2241 15648 43681

The designed algorithm of the PLVQ was verified on a personal computer for different bit rate and number of generated vectors was equal 5000. Suitable paramether m was selected according to n. The input training sequence vectors were generated with a sequence of independent and identically distributed Laplacian random variables with zero mean values and variance equal one. The simulation results of PLVQ are presented in tables 4,5,6. From achieved results we can see that given lattices D4 and E8 used at PLVQ ensure the best tradeoff between SNR and rate. Also, as is well known, increasing the size of the codebook results in better coding.

Table 4 v=4

D4

n

N

m

Eopt

σ q2

1,2611 1,9534 2,4255 2,7852 3,8537 3,9977

33 225 833 2241 43681 65121

2 4 6 8 18 20

2,00 1,00 1,48 1,63 2,16 2,16

0,25505 0,098573 0,083995 0,074681 0,067507 0,067467

SNR (dB) 5,8519 9,9806 10,676 11,186 11,625 11,627

Proc. of Int. Scient. Conf. DSP 99, Digital Signal Processing, Slovakia, 1999, pp.26-29.

v=8 n

N

m

Eopt

σ q2

0,8764 1,4405 1,8588 2,1892

129 2945 29953 187137

2 4 6 8

2,01 1,08 1,62 2,24

0,6835 0,20603 0,11158 0,083828

v=8 n

N

m

Eopt

σ q2

0,8764 1,4482 1,9

129 3037 37634

2 4 6

2,01 1,08 1,62

0,6835 0,19399 0,10005

Table 5 D8 SNR (dB) 1,5937 6,8018 9,4652 10,707

Table 6 E8 SNR (dB) 1,5937 7,0633 9,9387

It is evident from the tables that at a given dimension v the SNR of PLVQ rapidly increases with the bit rate n and then it changes only slightly. It is caused by limitation of the codewords layout to the pyramid only. In all cases the saturation of SNR rises at n = 3 bit/sample. Value of energy Emax for which SNR has maximum, is regarded as optimal value Eopt. Figure 2 shows the dependences of SNR on the bit rate n for PLVQ of different lattices at dimension v = 4, 8. D4

SNR (dB)

D8

E8

12

10

8

6

4

2

0 0,8

1,3

1,8

2,3 n (bit/pel)

Fig.2 Dependences of SNR on the bit rate n for PLVQ of different lattices at dimension equal 4 and 8.

4. CONCLUSION The paper deals with the design of an algorithm of pyramidal lattice vector quantizer. The

principle of lattices, pyramids and PLVQ was explained and its teoretical analysis was carried out. The obtained results of simulation of the designed algorithm of PLVQ were finally evaluated. The main advantage of this method is that few computational costs ensue compared with classical vector quantization methods. Furthermore, this pyramidal lattice vector quantizer involves a fast encoding algorithm and uses an optimal lattices for which provides good quantization results at low bit rates. It may be applied in transform [10] and hybrid [11] image coding methods for the purpose of increasing their performances.

REFERENCES [1] Linde,Y.-Buzo,A.-Gray,R.M.: An Algorithm for Vector Quantizer Design. IEEE Trans. on Commun., Vol.COM-28, 1980, No.1, pp.84-95. [2] Chmúrny,J.-Mihalík,J.: Algorithms for Optimization of Vector Quantizers. Electronic Horizon, Vol 47, No.9, 1986, pp.435-440. (In Slovak) [3] T.R.Fischer : A Pyramid Vector Quantizer. IEEE Trans. Inform. Theory, Vol. IT-32, 1986, pp.568-583. [4] Mihalík,J.-Gladišová,I.: Weighted Pyramid Quantizer. Journal of Electrical Engineering, Vol.46, No.2, 1995, pp.46-50. [5] Mihalík,J.-Gladišová,I.: Optimal Linear Vector Quantizer. Electrical Engineering Journal, Vol.41, No.10, 1990, pp.800-806. (In Slovak) [6] Gladišová,I.-Mihalík,J.: An Algorithm of Pyramid Vector Quantization. In: Int. Conf. on Digital Signal Processing´93, Košice, 1993, pp.236239. [7] Mihalík,J.-Gladišová,I.: Fast Algorithms of Lattice Vector Quantization. In: Int. Conf.on Digital Signal Processing´92, Košice, 1992, pp.118-121. [8] Barlaud,M. - Solé,P. - Gaidon,T. - Antonini,M. – Mathieu,M. : Pyramidal Lattice Vector Quantization for Multiscale Image Coding. IEEE Trans. Image Processing, Vol.3, No.4, 1994, pp.367-380. [9] Conway,J.M.-Sloane,N.J.A.: Fast Quantizing and Decoding Algorithms for Lattice Quanrtizer and Codes. IEEE Trans. Inform. Theory, Vol-IT 28, No.2, 1982, pp.227-232. [10] Mihalík, J.: Adaptive Transform Coding of Images. Electronic Horizon, Vol.52, No.11-12, 1991, pp.253 -257.(In Slovak) [11] Mihalík, J.: Adaptive Hybrid Coding of Images. Electrical Engineering Journal, Vol.44, No.3, 1993, pp.88 - 89. (In Slovak)