+ All Categories
Home > Documents > An Optimal Partial Decoding Algorithm for Rateless Codes

An Optimal Partial Decoding Algorithm for Rateless Codes

Date post: 08-Feb-2016
Category:
Upload: geneva
View: 66 times
Download: 0 times
Share this document with a friend
Description:
An Optimal Partial Decoding Algorithm for Rateless Codes. Valerio Bioglio, Rossano Gaeta, Marco Grangetto, and Matteo Sereno Dipartimento di Informatica Universit`a di Torino IEEE International Symposium on Information Theory(ISIT) 2011. Outlines. Introduction - PowerPoint PPT Presentation
24
An Optimal Partial Decoding Algorithm for Rateless Codes Valerio Bioglio, Rossano Gaeta, Marco Grangetto, and Matteo Sereno Dipartimento di Informatica Universit`a di Torino IEEE International Symposium on Information Theory(ISIT) 2011 1
Transcript
Page 1: An Optimal Partial  Decoding Algorithm for  Rateless Codes

1

An Optimal Partial Decoding Algorithm for Rateless Codes

Valerio Bioglio, Rossano Gaeta, Marco Grangetto, and Matteo Sereno

Dipartimento di Informatica Universit`a di Torino

IEEE International Symposium on Information Theory(ISIT) 2011

Page 2: An Optimal Partial  Decoding Algorithm for  Rateless Codes

2

Outlines

• Introduction• Optimal partial decoding of rateless codes• Evaluation results• Conclusion

Page 3: An Optimal Partial  Decoding Algorithm for  Rateless Codes

3

Introduction• Rateless codes are designed to decode all the input

symbols when enough coded symbols have been received.

• Rateless codes are begin exploited in several multimedia applications– e.g. MBMS in 3GPP and peer-to-peer video streaming.

• partial decoding – given an insufficient number of coded symbols, the decoder

attempts to decode the maximum number of input symbols– the number of recovered input symbols is termed as the

intermediate performance of the code

Page 4: An Optimal Partial  Decoding Algorithm for  Rateless Codes

4

Introduction

• Previous work– How can we create a rateless code with good intermediate

performance using the Message Passing(MP)[2] decoder?• This paper

– Given a certain rateless code, what is its optimal intermediate performance? Is there an efficient algorithm achieving such optimal performance?

• We propose Optimal Partial Decoder (OPD) algorithm that to the best of our knowledge is the first optimal partial decoding algorithm for rateless codes, and we analyze its decoding complexity.

[2] K. Hu, J. Castura, and Y. Mao, “Performance-complexity tradeoffs of raptor codes over gaussian channels,” IEEE Communications Letters, vol. 11, no. 4, pp. 343–345, Apr. 2007.

Page 5: An Optimal Partial  Decoding Algorithm for  Rateless Codes

5

Intermediate performance

• Given a message composed of k input symbols {x1, . . . , xk}, each rateless code is completely defined by a degree distribution P.

• The encoding process : the encoder generates each coded symbol choosing a random degree d according to P, and then chooses uniformly at random a set of d input symbols and xoring them.

• Each coded symbol yj is transmitted along with its equation ej, that is the list of the positions of the input symbols xored to obtain the coded symbol.

Page 6: An Optimal Partial  Decoding Algorithm for  Rateless Codes

LT Codes• Luby Transform (LT) codes:– Encoding process

• For the ith encoded symbol, select degree di by Soliton distribution

• Choose di source symbols• Perform XOR on chosen symbols

– Decoding process• Decode degree-one encoded symbols• Remove degree-one edges iteratively

6

Degree 1 2 3 … kprobability μ1 μ2 μ3 … μk

…y1 y2 y3 y4 y5

x1 x

3

x2

x2 x

5

x5 x

6

x3 x

5 x

6

x1 x2 x3 x4 x5 x6

http://www.powercam.cc/slide/911

Page 7: An Optimal Partial  Decoding Algorithm for  Rateless Codes

7

Intermediate performance• Decoding algorithm

– Belief-Propagation (BP)• Degree 1 encoded bits are immediately recovered in Tanner graph . The

neighbors of recovered bits are XORed with recovered bits and the degree of each connected neighbor is decreased by one.

– Message Passing(MP)• MP is a low complexity algorithm based on back-substitution of degree 1

equations: given n coded symbols, the decoder selects one of them linked to a degree 1 equation, i.e. a coded symbol that directly corresponds to an input symbol.

• The value of that input symbol is set to the value of the coded symbol, and that input is then canceled out of all other coded symbols and equations it is part of.

• Decoding stops when there are no degree 1 equations left. • This algorithm is very fast but it needs a number of coded symbols larger than k

to complete the decoding.

Page 8: An Optimal Partial  Decoding Algorithm for  Rateless Codes

8

Intermediate performance• We call partial decoding the decoding process when the

number of received coded symbols n is not enough to make a complete decoding.

• A partial decoding algorithm is optimal if it is able to retrieve the maximum number of input symbols, i.e. to maximize the intermediate performance, for every n.

• Previous work– Finding ratless codes with good intermediate performance if decoded

with MP. • This paper

– We want to find an algorithm able to maximize the intermediate performance of any rateless code.

Page 9: An Optimal Partial  Decoding Algorithm for  Rateless Codes

9

TABLE I PAPER NOTATION.

Page 10: An Optimal Partial  Decoding Algorithm for  Rateless Codes

10

Optimal partial decoding (OPD) algorithm

• Naive Algorithm– An optimal partial decoding algorithm can be

derived by the classical Gaussian Elimination. – If n < coded symbols were received, using GE it

is possible to insert their linked equations in a k × k matrix M.

– After the insertion, M will be an upper triangular matrix with up to k full rows (a row is full if it contains at least a 1, i.e. if it is not an all-zero row).

Page 11: An Optimal Partial  Decoding Algorithm for  Rateless Codes

11

Optimal partial decoding (OPD) algorithm

– Even if M is not full, we perform the back substitution of each row.

– If row i is full, we check the i-th column of M: when a 1 is found, it is canceled out by xoring that row with row i.

– At the and of the back substitution M will have some rows of degree 1: these rows corresponds to the decoded symbols, and these are all the symbols that can be decoded starting from the n received symbols, i.e. GE with back substitution (GEB) is an optimal partial decoding algorithm.

Page 12: An Optimal Partial  Decoding Algorithm for  Rateless Codes

12

Optimal partial decoding (OPD) algorithm

Page 13: An Optimal Partial  Decoding Algorithm for  Rateless Codes

13

Optimal partial decoding (OPD) algorithm

• Proposition 1 proves that GEB is an optimal partial decoding algorithm.

• GEB needs to perform Gaussian Elimination, that is a high-complexity algorithm, for each partial decoding attempt.

• OPD is an incremental decoding algorithm, i.e. an algorithm in which the computational effort of the decoding process is distributed on all symbol receptions starting from the very first one.

Page 14: An Optimal Partial  Decoding Algorithm for  Rateless Codes

14

Page 15: An Optimal Partial  Decoding Algorithm for  Rateless Codes

15

Fig. 1. The evolution of matrix M during an OPD run

a5) e = 00111 + 00001 = 00110

b2) e = 00110 + 01100 = 01010

a1) e = 11101 + 10110 = 01011

a2) e = 01011 + 01100 = 00111

b1) e = 00110 + 10110 = 10000

Perform the back-substitution step

The receiver received the equation e = 11101

Page 16: An Optimal Partial  Decoding Algorithm for  Rateless Codes

16

Page 17: An Optimal Partial  Decoding Algorithm for  Rateless Codes

17

Evaluation results

• Settings– RSD distribution with c = 0.05 and δ = 0.01– We are not interested in comparing the partial

decoding performance of MP and OPD algorithms; indeed, this would be an unfair comparison because a GE-based algorithm (such as OPD) has a lower overhead than MP algorithm.

– We want to focus our attention on the effective intermediate performance of LT codes, using an algorithm able to reach the theoretical limit.

Page 18: An Optimal Partial  Decoding Algorithm for  Rateless Codes

18

Page 19: An Optimal Partial  Decoding Algorithm for  Rateless Codes

19

Page 20: An Optimal Partial  Decoding Algorithm for  Rateless Codes

20

Fig. 2. Partial decoding performance of LT codes.•Recalling that OPD achieves optimal partial decoding, the only way to further improve the percentage of retrieved input symbols is to change the degree distribution, e.g. to use a different rateless code. •When k coded symbols are received more than 50% of the input symbols can be retrieved independently on the value of k.

Page 21: An Optimal Partial  Decoding Algorithm for  Rateless Codes

21

Fig. 3. Algorithm complexity vs. k. • OPD complexity is compared to that of a single GE run, computed when k linear independent coded symbols were received. • Since GEB needs a GE run per received symbol OPD turns out to be far less complex than GEB.

Page 22: An Optimal Partial  Decoding Algorithm for  Rateless Codes

22

Fig. 4. OPD complexity distribution per symbol reception.

• This percentage can be viewed as the number of operations needed to insert and back substitute a new coded symbols in M computed with respect to the number of input symbols k. • For each coded symbol reception less than k/3 operations are needed.

Page 23: An Optimal Partial  Decoding Algorithm for  Rateless Codes

23

Conclusion

• We proposed OPD, a partial decoding algorithm for rateless codes, proving that it is optimal for any rateless code.

Page 24: An Optimal Partial  Decoding Algorithm for  Rateless Codes

24

References• [2] K. Hu, J. Castura, and Y. Mao, “Performance-complexity tradeoffs of

raptor codes over gaussian channels,” IEEE Communications Letters, vol. 11, no. 4, pp. 343–345, Apr. 2007.

• [6] F. Lu, C. Foh, J. Cai, and L. Chia, “LT codes decoding: design and analysis,” ISIT 2009, pp. 2492–2496, 2009.

• [7] S. Sanghavi, “Intermediate performance of rateless codes,” Information Theory Workshop, pp. 478–482, Sep. 2007.

• [8] A. Talari and N. Rahnavard, “Rateless codes with optimum intermediate performance,” GLOBECOM 2009, Dec. 2009.

• [9] A. Kamra, V. Misra, J. Feldman, and D. Rubenstein, “Growth codes: Maximizing sensor network data persistence,” SIGCOMM Comput. Commun. Rev., vol. 36, no. 4, pp. 255–266, 2006.

• [10] S. Kim and S. Lee, “Improved intermediate performance of rateless codes,” ICACT 2009, vol. 3, pp. 1682–1686, Feb. 2009.


Recommended