Random Linear Fountain Code with Improved Decoding Success Probability
Jalaluddin Qureshi

TL;DR
This paper proposes a novel coding scheme for random linear fountain codes over GF(2) that significantly reduces transmission redundancy and improves decoding success probability in delay-sensitive applications like multimedia streaming.
Contribution
It introduces a new code construction and a receiver feedback mechanism to lower redundancy and enhance decoding success for small packet lengths.
Findings
Reduces expected redundancy by a factor of three.
Increases decoding success probability for small packet lengths.
Effective in delay-intolerant multimedia streaming applications.
Abstract
In this paper we study the problem of increasing the decoding success probability of random linear fountain code over GF(2) for small packet lengths used in delay-intolerant applications such as multimedia streaming. Such code over GF(2) are attractive as they have lower decoding complexity than codes over larger field size, but suffer from high transmission redundancy. In our proposed coding scheme we construct a codeword which is not a linear combination of any codewords previously transmitted to mitigate such transmission redundancy. We then note the observation that the probability of receiving a linearly dependent codeword is highest when the receiver has received k-1 linearly independent codewords. We propose using the BlockACK frame so that the codeword received after k-1 linearly independent codeword is always linearly independent, this reduces the expected redundancy by a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Random Linear Fountain Code with Improved Decoding Success Probability
Jalaluddin Qureshi
Department of Electrical Engineering,
Namal College, Mianwali, Pakistan.
Abstract
In this paper we study the problem of increasing the decoding success probability of random linear fountain code over for small packet lengths used in delay-intolerant applications such as multimedia streaming. Such code over are attractive as they have lower decoding complexity than codes over larger field size, but suffer from high transmission redundancy. In our proposed coding scheme we construct a codeword which is not a linear combination of any codewords previously transmitted to mitigate such transmission redundancy. We then note the observation that the probability of receiving a linearly dependent codeword is highest when the receiver has received linearly independent codewords. We propose using the blockACK frame so that the codeword received after linearly independent codeword is always linearly independent, this reduces the expected redundancy by a factor of three.
I Introduction
Fountain codes are a class of forward error correction (FEC) coding scheme which corrects packet erasures independent of packet acknowledgement (ACK) or negative acknowledgement (NACK) information. Such erasure may be caused due to packet collision, packet drop due to congestion, and burst errors due to signal fading and channel noise in wireless channel. While the Automatic Repeat reQuest (ARQ) has been traditionally used to correct packet erasures in wireless network to improve reliability, collecting ACK frames incurs transmission and MAC overhead and hence reduces the throughput of the network.
Fountain codes are used in a wide variety of transmission networks. The use of fountain coding scheme has shown to significantly outperform the hybrid ARQ (HARQ) scheme in 4G WiMAX network [3]. It is projected that new modulation and coding schemes will be enabling technology to improve network capacity in 5G networks [5]. Fountain code based transmission protocol has been shown to outperform the transmission control protocol (TCP) to transmit flows in the Internet [7]. It has also been shown that the use of fountain code significantly improves the network throughput of a reprogramming protocol to disseminate code update to all sensors in a wireless sensor network [8].
The fundamental idea of fountain code is that once the client has received codewords of which at least are linearly independent, it can use Gaussian elimination to decode the codewords to recover the input packets. This saves the transmitter from collecting information about which codewords the client has successfully received and which ones are erased. The term is the overhead of the coding scheme.
In this paper we propose a modified random linear fountain code (RLFC) scheme tailored for delay intolerant applications such as multimedia application which uses small packet generation size [4], while taking into consideration the energy cost consideration of performing decoding. Such energy cost consideration is critical as increasing number of users are using battery constrained devices such as smartphones and tablets. In a Cisco whitepaper it has been projected that global mobile data traffic will increase eight-fold between 2015 and 2020, of which three fourth of the total traffic will be video [1]. Small generation size is also used when coding is performed by dividing the packets of a file in to smaller sub-generations to minimize the energy cost of decoding even when the application is not delay intolerant [9, 6].
RLFC suffer from high encoding and decoding complexities given as and respectively, where is the length of the packet, assuming multiplication tables are used to perform multiplication. For decoding, the term is the computational complexity of performing Gaussian elimination, and the term is the computational complexity of multiplying the inverted matrix with the codewords. High encoding and decoding computational complexities in addition to incurring high energy cost, also contribute towards increased latency of decoding the input packets.
Coding over is in particular unique over other Galois field sizes because it does not require multiplication, as its field elements are given as , this ensure that no more than half of the coding coefficients are non-zero. This in addition to saving the energy cost of multiplication table lookup, means that the number of XOR addition steps during encoding is given as . Similarly energy cost of table lookup is saved during Gaussian elimination and the number of XOR addition when multiplying the inverted matrix with codewords is given as .
Testbed implementations confirm these results. Implementation of RLFC on iPhone platform has shown that the encoding and decoding throughput for is 6-10 faster than , depending on packet generation size given as , and packet length [11]. Similarly implementation of RLFC on TmoteSky sensor node has shown that decoding codewords generated over is at least 6.5 times faster than decoding codewords generated over for [8].
Therefore despite the fact that the big O encoding and decoding computational complexities of based RLFC over based RLFC are same, the coding complexities of based RLFC are smaller than based RLFC by a large constant factor. Coding over smaller field size also reduces the header overhead given by bits to include the coding coefficient in the codeword’s header.
However the use of small field size increases linear dependency of codewords, and leads to a higher decoding failure probability after the receiver has received codewords. It has been shown that based RLFC requires an average of around codewords before it can decode the input packets, whereas for based RLFC, an average of around codewords are sufficient [10].
For applications where small is desirable such as in delay-intolerant transmission, multicast streaming (standardized by the IEEE 802.11aa Task Group), and wireless network with lossy transmission channel, an overhead of 1.6 codewords can adversely affect the network throughput. For instance, for packet batch size of 5 packets, a redundancy of 1.6 packets corresponds to an overhead of 32%.
In this paper we first propose a modification to the RLFC scheme over smaller field size to reduce the decoding failure probability, by transmitting a codeword which is not given by linear combination of any transmitted codeword. We then propose to leverage information from a single blockACK frame which reduces the expected number of codewords which a receiver need to receive before decoding the input packets from codewords to less than codewords. Mathematical models of the proposed modifications are presented which are verified with simulation result.
The rest of the paper is organized as follow. In Section II we present the system model, notations used in the paper and bibliography of related work. In Section III we then present our proposed modifications for RLFC and derive the mathematical model of its performance. Numerical results of the proposed scheme compared with the traditional RLFC scheme is given in Section IV. We then conclude with main result of our paper in Section V.
II Preliminaries
II-A System Model and Notations
We consider a transmitter transmitting packets, which we call input packets and denoted by , to clients. In this paper we consider both the unicast and multicast transmission. The network topology could be a wireless local area network (WLAN), or a multi-hop internet connecting server and clients across different networks.
For abstraction and without loss of generality we consider a simple one-hop WLAN topology. Packet erasure at each client is assumed to be independent and identically distributed (iid), which follows the Bernoulli model with packet erasure probability of , . The objective of the RLFC scheme is to transmit sufficient minimum codewords so that the receivers can decode the input packets. The term represents the number of codewords generated from input packets.
To generate a codeword, the transmitter first generates a coding coefficient vector . Each coding coefficient is randomly and uniformly selected from the Galois field of size . The generated coding coefficient vector is then multiplied with the input symbols to generate a codeword given as .
Once a receiver has collected linearly independent codewords, decoding is performed as . Where the matrix , , represents the coding coefficient matrix of the linearly independent codewords a client has received, and the matrix represents the matrix of linearly independent codewords.
II-B Related Work
Blasco and Liva have proposed a concatenated (15,10) RS code and RLNC generator matrix [2]. Their results have shown that by concatenating the RLNC with an MDS code such RS code, the decoding failure probability can be reduced by a factor of upto four assuming that the channel erasure rate are from low-moderate. However their work assumes that coding is performed over a non-binary Galois field , and hence does not address the issue of high decoding computational complexity associated with non-binary coding coefficients.
Sorensen et al. have proposed to use overlapping generations to minimize the decoding complexity [9]. The general idea of performing encoding on overlapping generation is to divide the input packets into smaller sub-generations, each sub-generations having smaller number of input packets. By reducing the value of the decoding complexity is also minimized, however this approach adversely affect the network throughput [6], and the use of overlapping sub-generations has been shown to improve throughput. In a multicast network this approach may lead to redundant codewords being received by some receivers, as few receivers are satisfied before others.
Cruces et al. have derived the exact decoding probability of decoding the codewords once a receiver has received , , codewords [10]. Based on this result they derived the expected number of excess codewords a receiver needs to receive before performing decoding.
III Proposed Modification
In our proposed modification to RLFC we randomly generate a coding coefficient vector, and then perform Gaussian elimination of this vector with all combination from the transmitted codewords. For unicast transmission the expected number of transmissions before a receiver successfully receives a packet follows the geometric distribution, and the expected value of will be equal to .
If the generated codeword is linearly independent with respect to all combinations of coding vectors from then we generate the codeword and transmit the codeword. If the vector is not linearly independent with all the combinations, then a new coding coefficient vector is randomly generated. As we consider small bounded values for , given as , the computational complexity of performing Gaussian elimination on such small matrix is given as . In the worst case scenario such Gaussian elimination may need to be performed for times, leading to a total complexity of to generate one coding vector, as is given as a function of and assuming . Such operation may need to be performed at least times, leading to a total complexity of .
While the proposed modification leads to additional computation cost at the transmitter, we justify the higher computation cost at the transmitter, as the transmitter is usually a large device such as an access point, server, or a base transceiver station with high processing capabilities. While the receiver is usually a battery-constrained device such as a smartphone or laptop with limited processing capabilities. Our proposed modification assumes that the generation size is small and given as , and hence such additional computation cost at the encoder is not a cause of concern in practical networks.
Clearly our proposed coding scheme assumes that the following inequality is satisfied,
[TABLE]
When such an inequality is not satisfied the encoder can then generate coding vector randomly without checking for linear dependency of the generated coding vector with any combinations from the transmitted codewords.
III-A Performance Modeling
We first present the mathematical model for the performance analysis of the proposed method under the idealistic assumption of lossless transmission channel. Let denote the event that forms a full rank matrix after receiving exactly codewords. And let denote the event that forms a full rank matrix after receiving excess codewords.
CASE . As the proposed coding scheme guarantees that the first codewords will not have a linearly dependent codeword, the probability that all the first codewords are linearly independent is equal to one. The probability that after receiving codewords, the codeword will be linearly dependent is given as,
[TABLE]
The term represents the number of linearly dependent codewords which can be generated from the transmissions, and the term after the minus sign represents the number of linearly dependent codewords which the encoder will not generate. Using the same argument, it can be shown that after any transmission, the probability that the codeword is linearly dependent is given as,
[TABLE]
The probability that the codeword will be linearly independent is given as . It can now be shown that the probability that after receiving the codeword, forms a full rank matrix is given as follow,
[TABLE]
CASE . The above scenario assumes that the excess codewords is equal to zero. We now derive the probability that the receiver need to receive exactly one excess codeword before forms a full rank matrix. In this case, it is only possible for one of the received codeword until the received codeword to be linearly dependent. The probability that the codeword is dependent is given by , the probability that the codeword is dependent is given by , and so on. Therefore the probability that a receiver needs to receive codewords is given by the summation of probabilities that one of the received codeword until the received codeword is linearly dependent multiplied by , as the remaining codewords form a full rank matrix.
[TABLE]
CASE . We now extend our result for the case when the receiver receives two excess codewords before forming a full rank matrix. In such a case the first linearly dependent codeword can be the received codeword until the received codeword, corresponding to the events when the rank of is given as until when the rank of is equal to . Similarly the second linearly dependent codeword can be the received codeword until the received codeword, corresponding to the events when the rank of is given as until when the rank of is equal to .
If denotes the probability that the first linearly dependent codeword is received when the rank of is , . And denotes the probability the second linearly dependent codeword is received when the rank of is , . Then the probability that exactly two excess codewords are required before form a full rank is given as,
[TABLE]
CASE arbitrary . Based on the above cases, for any arbitrary , the probability that a receiver need to receive exactly codewords can be generalized as,
[TABLE]
The probability that the receiver forms a full rank matrix if it has received excess codewords is given as,
[TABLE]
And the expected number of excess codewords which a receiver needs to receive before decoding the input packets is given as,
[TABLE]
III-B BlockACK based Modification
For the modification proposed in the previous section, an improvement in is limited for smaller generation size. To reduce the excess codewords for larger generation size, we propose to use the BlockACK. The use of the BlockACK frame is motivated by the fact that the probability that a receiver receives a linearly dependent codeword is highest when it has received linearly independent codewords. In our proposed scheme, the receiver transmits a BlockACK frame which include the coding coefficients of all the linearly independent codewords. The transmitter uses this information to construct a codeword which is linearly independent for the receiver.
Therefore in this paper we apply the BlockACK based modification for the simple case of unicast transmission. When such a modification is applied, the probability that the receiver needs zero excess codeword is given as,
[TABLE]
And the probability that it needs an arbitrary excess packets is given as,
[TABLE]
The expected number of codewords which the receiver now needs to receive is given as,
[TABLE]
IV Numerical Results
In this section we compare the performance of our proposed modified RLFC with the traditional RLFC over using mathematical models proposed in the previous section, which is verified using simulation results. The results for the traditional RLFC are constructed from the model proposed in [10].
The decoding success probability of the modified RLFC compared with the traditional RLFC is plotted in Figure 1. The figure shows that the decoding success probability increases with and is higher for small values of . The theoretical result matches fairly well with the simulation result. For each set of parameters 500 simulation runs were performed. The results in this figure are plotted based on the assumption that the transmission channel is lossless and hence inequality (1) is satisfied. While this assumption may not be valid in practical networks, it provides an upper bound on the decoding success probability.
To take into consideration the more practical scenario of lossy transmission channel, we conduct simulation to compare the performance of the traditional RLFC and modified RLFC for multicast network which is plotted in Figure 2. The results show that for transmission channel with low-moderate erasure probability, the modified RLFC can reduce the number of transmissions due to its higher decoding success probability.
In Figure 3, the expected number of excess codewords which a receiver need to receive before successfully decoding the input packets is plotted. For small packet generation size, the modified RLFC can significantly reduce . Without the use of blockACK, the value of converges to 1.6 for generation size of 20 packets.
However with the aid of the blockACK frame the value of can be significantly reduced as shown in the figure. From the figure it can be seen that such an approach can reduce from 1.6 to 0.6. We have in fact benefitted in reduction of one redundant codeword whose length can be upto 1-2KB, by transmitting a blockACK whose length will be approximately less than 0.1KB for .
V Conclusion
In this paper we studied the problem of increasing the decoding success probability of RLFC over . Such codes enjoy low decoding complexity compared to RLFC over larger field size, and low header overhead. However due to the use of small field size, they suffer from low decoding success probability.
We proposed a modification to the RLFC code, by transmitting only those codewords which are not linear combination of any codewords previously transmitted. This modification has shown potential to noticeably reduce the expected number of transmissions in lossy multicast network for packet generation size of . Such small packet generation size are used in delay-intolerant multimedia transmission scheme to provide user high quality of service (QoS), and in coding schemes which uses smaller sub-generation to minimize the decoding computational complexity.
With an increase in mobile data traffic, especially of real-time traffic such as video streaming, the proposed coding scheme increases the throughput in such networks while keeping the energy cost consumption minimized. Energy cost consideration is critical in battery constrained devices such as smartphones.
Analytical model of the proposed modified RLFC was proposed, and simulation results on the performance of such coding scheme for a multicast network with low-moderate packet erasure probability presented. Simulation results show that the proposed coding scheme can significantly reduce the expected number of transmissions for a multicast networks.
We then proposed to take advantage of blockACK frame which is much smaller in length than the length of a data packet to reduce the number of redundant transmission from 1.6 to approximately 0.6. An interesting future work is to study and analyze how the proposed coding scheme can be integrated in existing overlapping generation based coding to improve the transmission throughput.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] “Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2015-2020 White Paper,” Tech. Rep., 2016.
- 2[2] F. L. Blasco and G. Liva, “On the Concatenation of Non-Binary Random Linear Fountain Codes with Maximum Distance Separable Codes,” in IEEE ICC’11 , Kyoto, Japan, June 2011.
- 3[3] J. Jin, B. Li, and T. Kong, “Is Random Network Coding Helpful in Wi MAX?” in IEEE INFOCOM’08 , Phoenix, USA, April 2008.
- 4[4] B. Li, H. Li, and R. Zhang, “Adaptive Random Network Coding for Multicasting Hard Deadline Constrained Prioritized Data,” IEEE Transactions on Vehicular Technology (in press) .
- 5[5] Q. C. Li, H. Niu, A. T. Papathanassiou, and G. Wu, “5G Network Capacity: Key Elements and Technologies,” IEEE Vehicular Technology Magazine , vol. 9, no. 1, pp. 71–78, March 2014.
- 6[6] Y. Li, E. Soljanin, and P. Spasojevic, “Effects of the Generation Size and Overlap on Throughput and Complexity in Randomized Linear Network Coding ,” IEEE Transactions on Information Theory , vol. 57, no. 2, pp. 1111–1123, February 2011.
- 7[7] S. Molnar, Z. Moczar, and B. Sonkoly, “How to Transfer Flows Efficiently via the Internet?” in ICNC’14 , Honolulu, USA, February 2014.
- 8[8] M. Rossi, N. Bui, G. Zanca, L. Stabellini, R. Crepaldi, and M. Zorzi, “SYNAPSE++: Code Dissemination in Wireless Sensor Networks Using Fountain Codes,” IEEE Transactions on Mobile Computing , vol. 9, no. 12, pp. 1749–1765, December 2010.
