240 likes | 421 Views
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
E N D
An Optimal Partial Decoding Algorithm for RatelessCodes 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 • Optimal partial decoding of rateless codes • Evaluation results • Conclusion
Introduction • Rateless codes are designed to decode all the input symbols when enough coded symbols have been received. • Ratelesscodes 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
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.
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.
LT Codes • Luby Transform (LT) codes: • Encoding process • For the ithencoded symbol, select degree diby Soliton distribution • Choosedisource symbols • Perform XOR on chosen symbols • Decoding process • Decode degree-one encoded symbols • Remove degree-one edges iteratively x6 x1 x2 x3 x5 x4 … y1 y2 y3 y4 y5 x2 x1x3 x2x5 x3x5x6 x5x6 http://www.powercam.cc/slide/911
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.
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 optimalif it is able to retrieve the maximum number of input symbols, i.e. to maximize the intermediate performance, for every n. • Previous work • Finding ratlesscodes 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.
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 × kmatrix 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).
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 rowi. • 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.
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.
The receiver received the equation e = 11101 a1) e = 11101 + 10110 = 01011 a2) e = 01011 + 01100 = 00111 a5) e = 00111 + 00001 = 00110 Perform the back-substitution step b1) e = 00110 + 10110 = 10000 b2) e = 00110 + 01100 = 01010 Fig. 1. The evolution of matrix M during an OPD run
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.
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 kcoded symbols are received more than 50% of the input symbols can be retrieved independently on the value of k.
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.
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.
Conclusion • We proposed OPD, a partial decoding algorithm for rateless codes, proving that it is optimal for any ratelesscode.
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 ratelesscodes,” ICACT 2009, vol. 3, pp. 1682–1686, Feb. 2009.