Download presentation
Presentation is loading. Please wait.
Published byDelilah Harper Modified over 9 years ago
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 1
2
Outlines Introduction Optimal partial decoding of rateless codes Evaluation results Conclusion 2
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 3
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. 4 [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.
5
Intermediate performance Given a message composed of k input symbols {x 1,..., x k }, 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 y j is transmitted along with its equation e j, that is the list of the positions of the input symbols xored to obtain the coded symbol. 5
6
LT Codes Luby Transform (LT) codes: – Encoding process For the i th encoded symbol, select degree d i by Soliton distribution Choose d i source symbols Perform XOR on chosen symbols – Decoding process Decode degree-one encoded symbols Remove degree-one edges iteratively 6 Degree 123…k probability μ1μ1 μ2μ2 μ3μ3 …μkμk … y1y1 y2y2 y3y3 y4y4 y5y5 x1x3x1x3 x2x2 x2x5x2x5 x5x6x5x6 x3x5x6x3x5x6 x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 http://www.powercam.cc/slide/911
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. 7
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. 8
9
TABLE I PAPER NOTATION. 9
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). 10
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. 11
12
Optimal partial decoding (OPD) algorithm 12
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. 13
14
14
15
Fig. 1. The evolution of matrix M during an OPD run 15 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
16
16
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. 17
18
18
19
19
20
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.
21
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.
22
Fig. 4. OPD complexity distribution per symbol reception. 22 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.
23
Conclusion We proposed OPD, a partial decoding algorithm for rateless codes, proving that it is optimal for any rateless code. 23
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. 24
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.