You are on page 1of 5

Robust Index Assignment for MDSQ Encoder Over Noisy Channels

Rui Ma and Fabrice Labeau
Centre for Advanced Systems & Technologies in Communications (SYTACom) Department of Electrical and Computer Engineering McGill University Montreal, Quebec, Canada Email:,

Abstract— Multiple description coding (MDC) can achieve acceptable performance with only one single correct description, and lower distortion of the source when more descriptions are received correctly. In our previous work, we assumed that because of noisy channel, bit errors were introduced into one description, but the other one was received correctly. Based on this assumption, an enhanced central decoder has been proposed to utilize the residual information between the corrupted and the correct description to reduce the distortion of the reconstructed signals. In this paper, a novel index assignment algorithm for multiple description scalar quantizer (MDSQ) encoder is developed to improve the error detection capability of the central decoder. Genetic algorithm (GA) is used to search for a suboptimal solution. The experimental results show that within a range of bit error rates (BERs), the proposed algorithm provides lower reconstruction distortion than the conventional MDSQ [1].

Channel 1

Side Receiver 1


Multiple Description Encoder

Central Receiver 0


Channel 2

Side Receiver 2

Fig. 1. Architecture of an MDC system with two channels and three receivers.

I. I NTRODUCTION As demonstrated in Fig. 1, a multiple description coding (MDC) system can achieve acceptable performance by receiving only one description, and lower distortion with more descriptions. MDC has been exploited (e.g. [2]) to transmit images in the presence of channel failure or packet loss. In the classical MDC system, all channels are assumed as on/off, i.e., data is either received correctly or lost completely [1]. However, source data are encapsulated into packets to transmit over Internet. By using simple checksum, the errors of a packet can be detected. Thus, it is possible that one packet of a pair, which are from two descriptions respectively, is incorrect, but another is correct. With the help of correct packets and the residual information in error packets, we proposed an enhanced central decoder in [3], shown in Fig. 2, to achieve higher error tolerance and lower distortion than the conventional central receivers. In this paper, we develop a novel index assignment (IA) approach for the MDC system, so that higher ability of error detection and, further, lower reconstruction distortion can be accomplished by cooperating with the enhanced central decoder. Index assignment (IA) can be seen as a class of combinatorial optimization problems that are usually referred to as the class of NP-complete problems. Heuristic algorithms are widely used to find a “good” or “close-to-optimal” solution for these problems, since the complexity of exhaustive search becomes prohibitively high when the problem size is large.

Most heuristic algorithms perform a deterministic search in a set of admissible configurations and often terminate in a local minimum. Robust IA has been widely studied in the area of vector quantization (VQ) against noisy channels. The typical design methods include robust vector quantizer (RVQ) [4] [5] and channel-optimized vector quantizer (COVQ) [6]. An RVQ encoder is trained for an error-free channel and designed to be robust by assigning proper indices to the codewords. The RVQ is usually used under the circumstances where codebook training time is of primary concern. In [4], the Binary Switching Algorithm (BSA) for locally optimal pseudoGray coding was developed to reduce the expected signal distortion caused by bit errors. By applying Gray coding, zero redundancy error control was developed in optimizing IA to minimize the average signal distortion. The authors of [5] studied parametric modeling of the channel by using Fritchman channel model and IA to achieve a VQ with high robustness against channel errors. A genetic algorithm (GA) was applied to find a suboptimal IA to minimize the distortion introduced by bit errors. The experimental results showed that GA helped to find a more accurate and more consistent solution than BSA and simulated annealing (SA). The encoder-decoder pair in a COVQ system is jointly trained according to a given channel with a certain BER. The COVQ is more suitable when higher reliability is needed. A method of designing COVQ was proposed in [6]. As a step of this method, SA was applied to find a “good” solution for IA. The experimental results showed that a COVQ could obtain higher degree of robustness than RVQ depending on the practical situation and the active channel characteristics.

Without extra redundancy, the performance of an appropriate COVQ was close to that of unequal error protection (UEP). Furthermore, a COVQ did not bring extra complexity and delay compared with a conventional source encoder followed by a channel code. The method of IA in MDSQ was first described in [1]. A method of assigning code words over more than two channels was developed in [7]. The authors of [8] presented a practically feasible algorithm to find optimal IA of an multiple description vector quantizer (MDVQ) with an arbitrary number of descriptions. In [9], a SA-based method was proposed to obtain the optimal IA for an MDVQ. An IA method for two channels was proposed in [10] to obtain well balanced index pairs. The above existing works on IA in an MDC system focus on how to achieve well balanced or optimized multiple description quantizers. They only considered the conventional on/off channel models and did not try to improve the performance of the MDC system over noisy channels. Here, we propose a novel method to find a feasible solution for MDSQ, instead of MDVQ, to reduce the distortion introduced by noisy channel. From the results in [3], we inferred that if the capability of error detection was higher, the reconstructed distortion of the enhanced central decoder could be reduced further. Therefore, here, we propose a new method to assign index pairs for the MDC system, in particular, MDSQ or MDVQ, so as to achieve higher ability to detect errors. This IA approach attempts to re-assign 2b-bit binary code words to N (N < 22b ) index pairs, each of which is a b-bit code word, in order to increase the minimum Hamming distance, dmin , between any binary index pairs. To the best of our knowledge, this paper is the first try to achieve robustness against bit errors by using IA in the MDC system. Without introducing extra redundancy such as channel coding, this kind of scheme utilizes the inherent redundancy to improve the capability of error detection and, furthermore, reduce the distortion of the reconstructed signals by exploiting the enhanced central decoder at the meantime. This work will be presented in the following sections. At first, as the preliminary part, the enhanced central decoder, optimal and suboptimal solutions [3] are reviewed in Section II. The proposed method of assigning index pairs is discussed in Section III, which is followed by the experimental results and conclusion. II. E NHANCED C ENTRAL D ECODER A. Model of Enhanced Central Decoder In order to utilize residual information of the corrupted description, we proposed an enhanced central decoder, illustrated in Fig. 2, for an MDC system [3]. Here we assume that one channel (Description 2) suffers noise that results in bit errors; meanwhile, another description (Description 1) is received correctly. By referring to Description 1, errors in Description 2 are detected and, then, the outputs are estimated. MDSQ is used as an example to explain how this central encoder works. Redundancy is involved when decomposing a scalar quantization index into two indices in MDSQ. As

Description 2 Error Detector


Description 1

Central Decoder


Fig. 2.

Architecture of proposed central receiver.

0 0 1 0 1 3

1 2 4 7 10

2 5 6 9

column ( j ) 3 4 5



8 11 14 13 16 18 17 20 22 19 21 23 25 29 24 26 28 31 27 30

row ( i )

2 3 4 5 6 7

12 15

Fig. 3.

MLIA [1] at (3, 2, 32).

illustrated in Fig. 3, we use the modified linear (ML) IA [1] as the example of IA in MDSQ. In MLIA, in order to encode the source at b bits/source sample (bpss) on each channel, N index pairs are selected from the main diagonal and the 2k diagonals closest to the main diagonals of a 2b ×2b IA matrix. Then each ML implementation is defined by (b, k, N ). In Fig. 3, index 0 is decomposed into (0, 0), and 2 as (0, 1). At the same time, many combinations are still not occupied, such as (5, 1). We exploit this property to detect errors. For example, if (5, 1) is received under the assumption that Description 1 is right and Description 2 incurs some errors, 1 is determined as an error. Then we choose the most probable output value by using the methods described in the next subsection to minimize the extra distortion caused by errors. B. Error Estimation We consider real-valued data samples x ∈ R, that are encoded to an index l through the quantizer function q(x) = l. There are N possible quantizer output interval indices l, and we will denote by N the set of these indices. The corresponding code words or reproduction levels are denoted by cl , and they are chosen here as the centroids of the corresponding △ quantization cell vl : cl = vl xfX (x)dx, where fX (x) is the input probability density function (pdf). These indices l ∈ N are then mapped to a pair of indices (i, j) through an index mapping operator a(·). Referring to Fig. 3, the indices l appear in the matrix, whereas i and j are the row and column numbers, respectively. We refer to the two components of the mapping as i = a(1) (l) and j = a(2) (l). Finally, the

inverse mapping, which can be deduced, e.g., from Fig. 3, is denoted by l = a−1 (i, j). We also denote the centroids of the (1) (2) quantizers in each description as ci and cj . The received indices are denoted by ˆ and ˆ the corresponding output x i j; ˆ is the reproduction level is ea−1 (ˆ ˆ , not necessarily the same i,j) as the quantizer reproduction level ca−1 (ˆ ˆ ; when only one i,j)
(2) eˆ . j

III. D ESIGN M ETHOD FOR A ROBUST MDSQ According to the algorithm described above, if a received code words is judged as non-existing, an error code word is found by the decoder. Then we utilize the estimation value to reduce the distortion introduced by the errors. So the higher error detection capability is, the less distortion is introduced by using our algorithm. In order to improve the capability of error detection, we design a new IA scheme to enlarge the minimum Hamming distance dmin between any two code words. The overall procedure of designing a robust MDSQ (RMDSQ) consists of three stages: 1) Searching for qualified index pairs (i, j) within a 2b ×2b IA matrix based on dmin between binary representations of code words. 2) Assigning indices ls to the selected index pairs (i, j) in order to minimize the cost function(s). 3) In the terms of the algorithm provided in [1], determining the corresponding MDSQ that adapts to source statistics with balanced side distortions. In the following subsections, we will describe the algorithms for Step 1) and 2), respectively. As for the algorithm for Step 3), it is the same as what was described in [1]. A. Searching for qualified index pairs In MDSQ, especially, two descriptions, the original indices of scalar quantizer are decomposed into index pairs (i, j). Let i and j denote as the binary representation of i and j, respectively, i.e., i = [i0 , i1 , · · · , ib−1 ] and j = [j0 , j1 , · · · , jb−1 ] are two binary b-tuples, where ik , jk = 1 or 0, k = 0, 1, · · · , b−1. We combine i and j in any sequence to form a code word w, that is to say, w = [i, j] = [i0 , i1 , · · · , ib−1 , j0 , j1 , · · · , jb−1 ]. Let C be the set of all possible code words w, i.e., C = {0, 1}2b . In order to achieve robustness to bit errors, we are going to find a set of the code words W, in which dmin between any two code words should be not less than a certain value, in C, i.e., W = {w ∈ C : ∀v ∈ W, v = w, v − w ≥ dmin }, where v − w represents Hamming distance between v and w. So the number of code words w ∈ W is N , and w represents the Hamming weight of w. For given b and dmin , we search C to find a satisfactory W. The searching algorithm is described in Table I. B. IA by using genetic algorithm IA is a kind of permutation problem, in particular, an NP-complete problem. For W with N code words, the total N number of possible combinations is = N ! . For N = 2 2 32, the total number of possible combinations is 1.32 × 1035 . We apply generic algorithm (GA) to find a “close-to-optimal” solution. First, we describe the cost function for evaluating the found

description is received, the corresponding output x is eˆ ˆ i



In the case of a correct reception of two descriptions, the reproduced value is thus x = ea−1 (a(1) (q(x)),a(2) (q(x))) . ˆ

The MSE between two real values is denoted by d(·, ·); we △ also denote the set of possible indices i as I = {i ∈ N : ∃l ∈ N , j ∈ N : a(l) = (i, j)}, and the set of all possible indices j △ as J = {j ∈ N : ∃l ∈ N , i ∈ N : a(l) = (i, j)}. For a given ¯ △ i ∈ I, we also define the set Ji = {j ∈ J : ∃l ∈ N : a(l) = (i, j)}, which is the set of values of the second index j that does not lead to a possible (i, j) pair in the index mapping matrix. For example, in Fig. 3, at the second row or column, ¯ J1 = {4, 5, 6, 7}. We consider two types of transmission errors: those that our error detector can detect, and those that remain undetectable. The overall distortion caused by transmission errors, De , is given by De = Du + Dd , (1)

where De = l∈N Pq (l)De (l), Du = l∈N Pq (l)Du (l), Pq (l)Dd (l). Pq (l) = P {x ∈ vl } is the Dd = l∈N probability of the input falling in cell l, De (l), Du (l) and Dd (l) are the expected distortion from inputs in cell l due respectively to all, undetectable and detectable transmission ¯ errors. A transmission error can be detected as long as ˆ ∈ Jˆ. j i Our goal is now to find the best possible reconstruction (1) (2) levels eˆ, eˆ or eˆ in order to minimize De . When an l i j index pair (i, j) is transmitted, the corresponding received pair is (ˆ ˆ For a transmission error, we assume without losing i, j). generality that only Description 1 is received correctly, i.e., ˆ = i and ˆ = j. Two methods were proposed to estimate the i j outputs of error index pairs to decrease Dd , respectively: 1) Optimal: Assuming that the a-priori source probabilities Pq (l) or Pq a−1 (i, j) are known at the receiver end, the output value of the error index pair is calculated by: Pq a−1 (i, j) Ped (ˆ ca−1 (i,j) j|j) . −1 (i, j)) P (ˆ ˆ Ji Pq (a ed j|j) j∈J j∈ ¯ (2) 2) Suboptimal: the output value of the error index pair is replaced by: eiopt =
(1) j∈J ˆ Ji j∈ ¯

eisub ≈ ci .




The suboptimal method achieved very close performance to the optimal with lower computational complexity and without source statistics and channel knowledge (see [3] for more details).





column ( j ) 3 4 5


7 0 1

0 12



column ( j ) 3 4 5 10 13 29 24 6 14 20 3 1 4 11 19

6 9


w0 ← 0 v ← w0 k←0 FOR each v ∈ C v ← wk + 1 FOR each v ∈ C AND v − wt < dmin , ∀t, t = 0, · · · , k v←v+1 END IF v ∈ C k ←k+1 wk ← v END END N ←k


30 31 15 25 7 8 27

26 28

22 21 5 16 0 2 17

row ( i )

3 4 5 6 7

row ( i )


2 3 4 5 6 7





Fig. 4. Robust IA: (a) gray cells correspond to the selected index pairs. (b) achieved IA with the maximum spread 11.

solutions in each generation (iteration). Let
(1) lmax (i)

= = = =

max a−1 (i, j),

(4) (5) (6) (7)
(m) lmax (n)

lmin (i)
(2) lmax (j)


min a−1 (i, j),

max a−1 (i, j),

lmin (j)


min a−1 (i, j).
i (m)

4) By using the midpoint of each parent chromosome as the crossover point, exchange the values of k-th and (N − k − 1)-th genes to generate the offspring chromosomes. For example, if the parent chromosome is [1, 3, 2, 0], the offspring chromosome is [0, 2, 3, 1]. 5) Keep the best chromosome as the elitism that is not mutated. Randomly select chromosomes and exchange the values of gene pairs chosen randomly within a chromosome. 6) Go to Step 2) until the pre-determined number of generations is reached. IV. E XPERIMENTAL R ESULTS The MLIA scheme based on the algorithm of [1] is shown in Fig. 3. An example of the proposed IA scheme is shown in Fig. 4. Figure 4(a) is the result of the algorithm described in Section III-A. The gray cells correspond to the selected index pairs with dmin = 2. A solution of IA is found by using the algorithm provided in Section III-B as illustrated in Fig. 4(b). The maximum spread is 11 that is equal to the maximum spread of Fig. 3. In the implementation of this GA algorithm, Npop = 1024, and 1000 generations are produced. For each generation, we mutate 1% of the total number of genes. In terms of the selected IA scheme shown in Fig. 4(b), a robust encoder of MDSQ is developed based on the design algorithm provided in [1]. Bit errors are generated uniformly. The experimental results by applying the IA scheme as Fig. 4(b) are plotted in Fig. 5 and noted as RMDSQ. On the purpose of comparison, the performance of the existing method and the conventional MDSQ is shown. In the existing work [12], the output values of the non-existed index pairs were replaced by the mean of the source. As the example of the conventional MDSQ [1], MLIA, illustrated in Fig. 3, is used and noted as MDSQ. For each case of RMDSQ and MDSQ, the curves, which correspond to the existing method, optimal and suboptimal solutions with bit errors, the central distortion and the side distortion without bit errors, accordingly, are drawn, and denoted as mean, optimal, suboptimal, central distortion and side distortion. The curves of MDSQ in Fig. 5 show that by only exploiting our enhanced central decoder, the reconstructed distortion is decreased up to 2.5 dB from mean (MDSQ). Combining with

The spread s (n) is defined as s (n) = − (m) lmin (n) + 1, m = 1, 2. We use the maximum spread smax as the metric that is given by smax = max s(m) (n),


where n = 0, 1, · · · , b − 1, m = 1, 2. The target of this algorithm is to find a solution with the “close-to-minimum” smax at an acceptable expense, i.e., a certain number of generations. For example, in Fig. 3, associated with j = 3, (2) (2) lmax (3) = 17, lmin (3) = 8, so s(2) (3) = 10. The genetic algorithm (GA) is an optimization and search technique based on the principles of genetics and natural evolution [11]. The GA provides attractive results when traditional optimization approaches fail. It uses a population with many chromosomes (individuals) to evolve according to certain selection rules so as to minimize the cost function. Each generation of population has Npop chromosomes. Each chromosome is a possible combination of all N indices l, which are called genes in this context, over W selected by using the algorithm provided in Table I. The searching algorithm is described as follows: 1) Initializing the first generation. The genes of the first generation are random integers between 0 and N − 1. Each gene appears in a chromosome once and only once. 2) Evaluating and sorting the chromosomes according to increasing smax . The best chromosome is the one with the minimum value of smax . 3) The best 50% chromosomes are chosen as the parents.


−10 central distortion (RMDSQ) MSE (dB) side distortion (RMDSQ) mean (RMDSQ) −15 optimal (RMDSQ) suboptimal (RMDSQ) central distortion (MDSQ) side distortion (MDSQ) mean (MDSQ) −20 optimal (MDSQ) suboptimal (MDSQ)

−25 0.05 0.1 0.15 BER 0.2 0.25 0.3

Fig. 5. Simulation results: curves of MDSQ are plotted based on MLIA scheme in [1] at (3, 2, 32); curves of RMDSQ are plotted based on the proposed IA scheme.

[2] S. D. Servetto, K. Ramchandran, V. A. Vaishampayan, and K. Nahrstedt, “Multiple description wavelet based image coding,” IEEE Trans. Image Processing, vol. 9, no. 5, pp. 813 – 826, May 2000. [3] R. Ma and F. Labeau, “Enhanced multiple description decoder for errorprone channels,” 2006, accepted by ICIP ’06. [4] K. Zeger and A. Gersho, “Pseudo-gray coding,” IEEE Trans. Commun., vol. 38, no. 12, pp. 2147–2158, Dec. 1990. [5] W.-W. Chang, T.-H. Tan, and D.-Y. Wang, “Robust vector quantization for wireless channels,” IEEE J. on Selected Areas in Commun., vol. 19, no. 7, pp. 1365–1373, July 2001. [6] N. Farvardin, “A study of vector quantization for noisy channels,” IEEE Trans. Inform. Theory, vol. 36, no. 4, pp. 799–809, July 1990. [7] T. Y. Berger-Wolf and E. M. Reingold, “Index assignment for multichannel communication under failure,” IEEE Trans. Inform. Theory, vol. 48, no. 10, pp. 2656–2668, Oct. 2002. [8] N. G¨ rtz and P. Leelapornchai, “Optimization of the index assignments o for multiple description vector quantizers,” IEEE Trans. Commun., vol. 51, no. 3, pp. 336–340, March 2003. [9] P. Yahampath, “On index assignment and the design of multiple description quantizers,” in Proc. of ICASSP ’04, vol. 4, 17-21 May 2004, pp. iv–597 – iv–600. [10] J. Balogh and J. A. Csirik, “Index assignment for two-channel quantization,” IEEE Trans. Inform. Theory, vol. 50, no. 11, pp. 2737–2751, November 2004. [11] R. L. Haupt and S. E. Haupt, Practical Genetic Algorithms, 2nd ed. John Wiley & Sons, Inc., 2004. [12] J. Barros, J. Hagenauer, and N. Gortz, “Turbo cross decoding of multiple descriptions,” in Proc. of ICC ’02, 2002, pp. 1398–1402.

the encoder proposed here, the distortion of the reconstructed signals is furthermore reduced up to 2.7 dB in the range of interest, where BER < 25%. We use the BER, at which the reconstruction distortion of the central decoder reaches the corresonding side distortion, to measure error tolerance. Then the error tolerance incrases from 9%, to 16%, and then 25%, accordingly. The reason of this gain is that because of dmin = 2 in our IA scheme, all seperate one-bit errors can be detected and estimated. On the contrary, dmin = 1 in the conventional IA schemes, thus some of one-bit errors cannot be detected. As BER increases further, two- and more-thantwo-bit errors appear more frequently, so the advantages of the proposed encoder decrease. Even though the central distortions of MDSQ and RMDSQ are very close, the slightly higher side distortion of our scheme can be seen as the expense of the improvement. V. C ONCLUSION Based on the enhanced central decoder and error estimation algorithms, we propose an IA algorithm to improve the capability of error detection. Furthermore, a robust encoder of MDSQ is developed, so that the corresponding multiple description decoder can detect more errors and estimate the values of the error index pairs. The experimental results indicate that compared with the conventional IA scheme, the distortion of the reconstructed signals is reduced by applying the proposed algorithm. As the future work, we will make use of this scheme in multimedia applications, such as image and video transmissions. R EFERENCES
[1] V. A. Vaishampayan, “Design of multiple description scalar quantizers,” IEEE Trans. Inform. Theory, vol. 39, no. 3, pp. 821–834, May 1993.