• No results found

Adaptive FEC-Encoding for Video Streaming over WiFi

N/A
N/A
Protected

Academic year: 2021

Share "Adaptive FEC-Encoding for Video Streaming over WiFi"

Copied!
34
0
0

Loading.... (view fulltext now)

Full text

(1)

Adaptive FEC-Encoding for Video Streaming over WiFi

ANDERS BRANDERUD

Master of Science Thesis

Stockholm, Sweden 2013

(2)
(3)

Adaptive FEC-Encoding for Video Streaming over WiFi

ANDERS BRANDERUD

Master of Science Thesis performed at the Radio Communication Systems Group, KTH.

August 2013

Examiner: Ben Slimane

(4)

KTH School of Information and Communications Technology (ICT) Radio Communication Systems (RCS)

TRITA-ICT-EX-2013:219

⃝ Anders Branderud, August 2013c Tryck: Universitetsservice AB

(5)

Abstract

In video streaming it is important that the video stream reaches the users in time, and without errors. To retransmit lost packets in a large- scale multimedia video transmission is often unfeasible because of the retransmission delay. Because of that errors require either costly re- transmissions or causes a downgrade of performance for the receiving user, an important goal is to minimize the number of errors that oc- curs when transmitting data during video streaming through a wire- less channel. In this paper an adaptation-algorithm is proposed, which adapts itself in such away that the receivers of e.g. the broadcast will receive enough packets in order to be able to FEC-decode the received data in low- as well as high loss-scenarios. The algorithm adapts itself by changing the rate of FEC-encoded redundant packets based on the current packet-loss-rate of the channel, with the aim of optimizing the bandwidth-usage and providing the receiver with playable data meeting deadlines. It adds an additional self-adaptive amount of FEC-encoded redundant packets for each FEC-encoded-session in order to guarantee the ability of the receiver to FEC-decode the data and play the media, even under the conditions in which the inteference-level of the chan- nel increases during the transmission of each such session. Simulations demonstrate that in a wireless channel with a packet loss rate of 10%, using 1000 source packets per FEC-encoded unit, 12.6% redundant pack- ets are required in order to ensure a FEC-decoding-failure probability

<10001 .

(6)

Referat

När man streamar video är det viktigt att videostreamen når använ- darna i tid och utan fel. Att återsända förlorade paket i en storskalig överföring av video är ofta olämpligt p.g.a. den fördröjning som åter- sändning av paket orsakar. Eftersom att fel kräver antingen kostsamma återsändningar eller orsakar en försämring av prestandan för den mot- tagande användaren, är det ett viktigt mål att minimera antalet fel som uppstår när man överför data genom en trådlös nätverkskanal. I den- na thesis presenteras en anpassningsalgoritm, som anpassar sig själv på sådant sätt att mottagarna av t.ex. broadcast kommer att motta till- räckligt många paket för att kunna utföra en FEC-dekodning av datan i scenarion med både små och stora paketförluster. Algoritmen anpassar sig själv genom att ändra andelen av FEC-kodade redundanta paket baserat på kanalens nuvarande andel av paketförluster, med målet att optimera användandet av bandbredd och att förse mottagaren med upp- spelbar data inom deadlines. Andelen FEC-kodade redundanta paket är beräknade så att datan ska kunna dekodas och spelas upp även under de förhållanden där störningsnivån i kanalen ökar under överföringen av datan. Simuleringar, gjorda i en trådlös kanal i vilken 10% av paketen förloras, visar att det med 1000 paket av den ursprungliga datan krävs ytterligare 12.6% redundanta paket per FEC-kodad enhet för att uppnå en sannolikhet för ett misslyckande av FEC-dekodningen <10001 .

(7)

Contents

Contents iii

List of Figures iv

Introduction . . . v

Background . . . vi

Streaming Video FEC . . . vi

Related Works . . . vii

Adaptive FEC . . . vii

Adaptive Rate Video . . . x

Implementation of the simulation . . . xii

Implementation of sender . . . xii

Simulation Results . . . xiv

Simulation Setup and Design . . . xiv

Simulation Results . . . xvi

Multihop Delay Analysis . . . xxii

Calculation of transmission of packets in a MANET-path without FEC-code . . . xxii

Conclusion And Future Work . . . xxiii

Future work . . . xxiv

Bibliography xxvii

iii

(8)

List of Figures

1 Depiction of sending and receiving FEC-encoded data over wireless channel xvi 2 Average inefficiency rate for the maximum loss rates with a FEC-decoding-

failure-rate < 1/1000 . . . xvii 3 Average inefficiency rate for the maximum loss rates with a FEC-decoding

failure-rate < 1/10000 . . . xviii 4 FEC-decoding-failure-rate correlating to inefficiency rate . . . xviii 5 Data overhead-comparison between dynamic and static FEC-code. . . . xix 6 Minimum packet loss-rate, correlated to compensateLossFactor. Max

packet loss-rate of the channel: 50% . . . xxi 7 Inefficiency rate, correlated to compensateLossFactor. Max packet loss-

rate of the channel: 50% . . . xxi 8 Times of FEC-encoding and decoding . . . xxii 9 Increase of the delay as the number of hops increases. Packet loss rate:

10 % . . . xxiii

iv

(9)

Introduction

In video streaming it is important that the video stream reaches the users in time, and that it reaches reaches the user without errors. To retransmit lost packets in a large-scale multimedia video transmission is often unfeasible because of that the retransmission incurred delay is unacceptable. An important goal is to minimize the number of errors that occur when transmitting data during video streaming through a wireless channel, since errors require either retransmissions or causes a downgrade of performance for the receiving user. Retransmissions are costly and also risk that the user doesn’t receive the required data in time, leading to a degraded user experience. In Wifi-transmissions there is a varying amount of interference, which is not always possible to know beforehand.

The higher the interference level that is in the channel, the higher is the possi- bility for the received information to be different from the sent information. FEC (Forward Error Correction)-code can be used to add redundant packets, which can be used by the receiver to detect and recover from corrupted packets. There is a trade-off between overhead, recoverability and latency of lost packets. Redundant FEC-packets consumes extra network resources, e.g. network bandwidth, wireless device power and packet-buffer memory. A static FEC-algorithm can create a lot of overhead when the error rate is low. Because of the loss-tolerant characteris- tic of video applications, the FEC is more suitable than the ARQ for the video transmission over wireless networks [20]. In order to avoid the disadvantages of a static FEC-algorithm and delays caused by retransmissions, this thesis proposes an adaptive FEC-rate-algorithm, which adapts the amount of FEC-redundant packets based on the feedback of packet loss rate.

The main contribution of this thesis is working adaptive FEC-rate-algorithms, which adapts the amount of redundant FEC-encoded packets with a small proba- bility of FEC-decoding-failure of the received data.

Two algorithms are implemented and tested. One of these algorithms, Algorithm Adaptive Rate Video, is optimal when packet loss exhibits spike-like characteristics;

while the second, Algorithm Adaptive Rate Video, is optimal for a loss model, in which the loss rate is constant or continuously changing. Different simulations were performed in the discrete network simulator called NS-3 [1] testing the algorithms for their respective loss model. Furthermore, simulations were performed in order to find out the difference in the rate of FEC-redundant packets required between ensuring a FEC-decoding failure rate less than 1/1000 compared to 1/10000 for a varying amount of source packets per FEC-encoded unit of data. The purpose of this was to find out which amount of source packet that requires the least rate of FEC-redundant data for the specified FEC-decoding-failure-rates. Simulations were performed in the constant loss model varying a variable called compensateLoss- Factor. This value is set to enable FEC-decoding of the FEC-unit, despite packet loss rate-increases up to a certain limit during the transmission of the next FEC- encoded-unit of data. Simulation results show how increasing this value correlates to the rate of FEC-redundant packets and to the rate of FEC-decoding-failures.

(10)

The remainder of this thesis follows the following structure: In the section Re- lated Works prominent related work in the area of FEC over Wifi is reviewed. In the section Implementation of the simulation describes some of the implementation of how the sender sends and FEC-encodes the data and the receiver receives and FEC- decode the data. In the Adaptive Rate video-section, my FEC adaptation model is described. In the section Simulation Results the results of the FEC adaptation sim- ulations in the discrete-event network simulator for Internet systems are presented.

In the section Multihop Delay Analysis there is a theoretical analysis of time delay of transmission without FEC in multihop MANET. Finally, the section Conclusion And Future Work contains final words, contributions and suggested future work.

Background

Streaming Video FEC

AL-FEC (application-FEC) codes are critical to many applications. It helps to recover from symbol erasures (rather than errors): i.e. a symbol either arrives without any error or is altogether lost. By lowering the code rate, i.e, the ratio between the number of source symbols and the number of encoding symbols (i.e.

number of source symbols + number of repair symbols) - a big number of extra symbols that can be added, which will ensure that we can perform FEC-decoding covering for a variable number of packet loss rates.

LDPC-codes uses a dedicated matrix, which is called a "parity check matrix", at the encoding and decoding ends. This matrix defines relationships (or constraints) that are between the various encoding symbols (i.e., source symbols and repair symbols). These symbols are later used by the decoder to reconstruct the original k source symbols if some of them are missing. These codes are systematic, which means that the encoding symbols include source symbols and repair symbols. The sender and the receiver use the same matrix [22],

FEC-encoding and decoding can be done block per block, independently. A parity check matrix is used for this, that forms a system of linear equations between the source and repair symbols of a given block, where the basic operator is XOR.

An advantage with FEC-codes is that they often integrate the application con- straints and the codes can often be produced dynamically, just on time, with the exact encoding block size and redundancy amount needed; which is essential for the adaptation-algorithm proposed in this thesis.

In the simulations of this thesis the aim is to find an adaptive FEC-code rate- algoritm, which produces the least possible overhead of redundant data. An im- plementation LDPC-staircase-code is available in the AL-FEC libary [15] and is a reliable implementation. In Performance Analysis of a High-Performance Real- Time Application with Several AL-FEC Schemes [13] it was found that under high packet loss conditions, the 2D-parity and RSE-codes no longer perform well in terms of the recovery capability and real-time performance. On the opposite, the LDPC- Staircase codes was shown to enable DVTS (Digital Video Transport System) to

(11)

achieve almost optimal performance [13]. The LDPC-implementation was chosen based on these reasons.

The packet erasure code take care of fading mitigation, which is very important when there is mobile users in challenging propagation environments.

Related Works

Adaptive FEC

A considerable number of papers detail simulations employing adaptive FEC-code, and here we will list some of them and their contributions.

Ahn et al. [2] adapts the FEC-code based on the arrival of acknowledgment pack- ets without any specific information such as SNR (Signal to Noise Ratio) or BER from the receivers. The simulation indicated that the algorithm performs better than any static FEC-algorithm and some conventional dynamic hybrid FEC/ARQ algorithms when wireless channels are modeled with two-state Markov chain, chaotic map, and traces collected from real sensor networks.

In [10] multi-source streaming is used for the design of a large-scale P2P stream- ing architecture. The authors focus on improving the dependability of multi-source video streaming instead of the more prevalent point-to-point streaming. They design and implement a dynamic FEC (D-FEC) protocol for multi-source video streaming, which has the ability to dynamically switch between 4 different FEC techniques to adapt to varying network conditions. The loss rate is varied during the experiment - first randomly, then quickly increasing and decreasing, followed by bursty, and finally it is steeply increased (up to 12% lost) - in order to test the efficiency of the different FEC-schemes in a highly loss-prone network. The loss rate-information is provided by the receivers. The same tests are conducted with two different video content of different bit rates, 1200 Kbit/s and 2500 Kbit/s. The objective is to test how this affects the performance of the FEC-schemes. The D-FEC algorithm is as efficient as the best adaptive FEC-protocol when the conditions exhibited by the network remains stable. However, it performs poorly when the network conditions aren’t stable enough.

In [14] the authors propose a rate allocation scheme to be used with FEC to minimize the probability of packet lost in a bursty channel. They combine path diversification and adaptive FEC, and show an effective way to combat bursty loss behaviour. Several senders are providing the stream if necessary in order to stream the video with the required bandwidth.

In [9] the transmission takes place over TCP. The performance gain is found to be biggest when the encoded video frame size is reasonably small, in which the results show an improvement of 12 percent for a frame size of 2 kilobyte. For the larger frame size of 10 kilobyte the results show an improvement of 3 percent.

In the paper An Enhanced Adaptive FEC Mechanism for Video Delivery over Wireless Networks [11], an Enhanced Adaptive FEC (EAFEC)-algorithm is pro- posed. It is implemented in the Access Point (AP). The FEC-code-size is deter-

(12)

mined by the AP, based on both network traffic load and wireless channel state.

The algorithm decides on the FEC-code–size based on the queue length in the access point, which indicates the network traffic load; and based on the packet retrans- mission times, which indicates wireless channel state. The algorithm is tuning the FEC-data in a way so that it doesn’t create more traffic to the network in an already congested scenario. The results of the paper, based on simulations in the software NS-2, shows that the proposed algorithm improves system performance.

In the paper Performance Analysis of a High-Performance Real-Time Applica- tion with Several AL-FEC Schemes [13], three FEC schemes for the erasure channel are tested in experiments: 2D parity check codes, Reed-Solomon over GF(28 ) codes, and LDPC (Low-Density Parity-Check)-staircase codes, all of them being currently standardized within IETF. It is found that although Application Layer Forward Error Correction (AL-FEC) is a useful technique for protecting against packet loss, the playback quality is to a large extent sensitive to the AL-FEC code/codec fea- tures and the way they are used. It is found that the LDPC-staircase (23 of source symbols, 13 of repair symbols)-codes are good choices in terms of recovery capabil- ities, real-time performance and processing load, no matter the incoming packet loss rate. It was found that under high packet loss conditions, the 2D-parity and RSE-codes no longer perform well in terms of the recovery capability and real-time performance. On the opposite, the LDPC-Staircase codes was shown to enable DVTS (Digital Video Transport System) to achieve almost optimal performance [13].

In [3] the authors propose an adaptive H-ARQ MAC-layer protocol , in which different levels of FEC encodings are used based on different channel conditions.

Each receiver notifies the multicast transmitter of the required rate of FEC-enoded packets by using a modified RTS/CTS-exchange protocol. Results shows that the protocol can deliver its promised performances.

In the paper Performance Analysis of the AeroTP Transport Protocol for Highly- Dynamic Airborne Telemetry Networks [18] measurements are done using the AeroTP multi-mode transport protocol, which is shown in experiments to perform better re- sults than the traditional TCP and UDP. It utilizes five different transfer modes, one of them being fully-reliable connection using ARQ, and another one being quasi- reliable FEC-code. The quasi-reliable FEC-code provides statistical reliability. The link was made unreliable by introducing losses using an error model varying bit-error probabilities ranging from 0 to 0.0001 for each of the protocols. Each simulation case was run 20 times and the results were averaged to obtain the data needed for comparison. It was shown that for very high FEC-strengths (128 and 256 words per 1500-byte packet), there was virtually no decrease in performance with the error- rates tested, however the performance was decreased at low error rates due to the high level of overhead - i.e. more FEC-code used than needed. All of the errors were corrected using a FEC-strength higher than 96 words/packet or greater.

In the paper Adaptive FEC-Based Packet Loss Resilience Scheme for Support- ing Voice Communication over Ad hoc Wireless Networks [6], packet-level media- dependent FEC is used at the application layer combined with multipath trans-

(13)

port in order to improve the voice quality. The algorithm in the paper combines the strengths of layered coding and multiple description (MD) coding in order to support error resilient voice communication over Ad hoc wireless networks. The important sub-stream of the voice stream is protected with adaptive FEC-coding, which adapts based on the loss-rate in the network, and it is transmitted over two maximally node-disjoint paths. Their schemes achieves a significant improvement in terms of reduced control overhead , reduced frame loss rate and minimum end- to-end delay; and the perceived voice quality was almost twice as good as existing approaches when the paper was written in 2008.

In [7] an Adaptive Cross-Layer FEC mechanism (ACFEC) is proposed to en- hance the quality of video transmission over 802.11 Wireless Local Area Networks (WLANs) is proposed. It utilizes the functionalities of different layers. The ARQ- function is applied on the MAC layer to detect lost packets. It cooperates with the UDP-protocol, and the redundancy rates of the FEC-code are adaptively based on the loss information received by ARQ. The experimental results from the NS2- simulation performed in the paper, demonstrates that the proposed ACFEC-mechanism results in a better PSNR under light load and high load-conditions in the channel.

In [24] Networks two approaches are presented: Adaptive FEC With Priority to Intra frames (AF EC_P I) and Adaptive FEC with Both Intra and Inter frames (AF EC_BI). The first approach generates FEC packets only for Intra frames and the second approach makes FEC-packets for all frames, but applies differential level according to the types of frames. Experimental results show that AF EC_BI increases PSNR more than AF EC_P I at a low error rate; and that AFEC_PI improves video quality and generate fewer FEC packets compared to the traditional packet-level FEC.

In [19] the authors investigate a distributed fine grain adaptive FEC (FGA- FEC) scheme that is used for scalable video streaming to heterogeneous users over a congested multihop network. The initial coding rate is based on the on the highest user request and aggregated network condition; and intermediate nodes adapt the FGA-FEC encoded bitstream in order to satisfy heterogenous nodes. The algorithm they propose is shown to be able to greatly reduce computation at the same time as providing near optimal video quality, measured in terms of PSNR.

In [12] the authors propose an intelligent FEC-mechanism, Enhanced Adaptive FEC (EAFEC), which dynamically add FEC-packets based on the network traffic load and wireless channel state. The Access Point (AP) dynamically determines the rate of redundant FEC packets based on the queue length and packet transmission time. The results shows that it achieve similar video quality to a static FEC- algorithm without sending unnecessary FEC-packets.

In [8] the authors propose an Adaptive Cross-Layer FEC mechanism (ACFEC) in order to enhance the quality of video transmission over WLANs. Their proposed ACFEC mechanism utilizes the functionalities of different layers. ARQ is used to detect lost packets. The amount of redundant FEC-packets are adaptively decided based on the loss information. The results demonstrate that the ACFEC mechanism is able to adaptively adjust the rate of redundant FEC-packets and performs well

(14)

in temporary and persistent channel fluctuations.

In [5] the authors propose an adaptive FEC-algorithm for video transmission over error-prone and bandwidth-constrained wireless IP networks. It accomplishes this by adjusting the optimal amount of FEC-redundant packets to reach a balance between the QoS of video transmission and the utilization ratio of the wireless bandwidth. The algorithm predicts the total playable frame rate and the effective utilization ratio of FEC for a given packet loss. They reach a suboptimal amount of FEC redundant packets that causes thhe QoS of the video stream and the utilization ratio of FEC to approximate the maximum. A network estimator at the sender is designed to estimate the wireless channel conditions based on the number of received ACK packets.

The approach used in this thesis is better than the approach of many papers describing adaptive FEC in these ways:

In multicast

IEEE802.11 does not support the exchangnig of ACK’s with multiple recipi- ents. Thus, the approaches of above relying on ACK’s to decide the current loss probability of the channel, will not work in this scenario.

Less network bandwidth

Less network bandwidth is used for the packets that are used to determine the loss rate. In the approaches proposed by many papers, ACK’s are sent by the receiver for each received packet. In the approach of this thesis, many fewer packets are sent compared to utilizing the ACK-approach. Only a few packets with loss rate information (how many depends on the current loss rate of the channel) are required to be sent per each FEC-unit of data transmitted. In this thesis only two packets per FEC-unit were sent; but this is easily adaptable and to reach the best results the amount should be decided based upon the current loss rate of the wireless channel.

The approach presented in this thesis has the advantage that it can be used in MANET, which isn’t the case for approaches using AP’s.

Adaptive Rate Video

A static algorithm for choosing the rate of FEC-encoded redundant packets can create a lot of overhead when the error rate is low. To reduce delays caused by retransmissions, we propose adaptive algorithms which choose the rate of FEC- encoded redundant packets dynamically. The proposed algorithms aim to decrease retransmissions, optimize throughput and decrease overhead.

In the following I propose two algorithms, one algorithm, Algorithm

AdaptPacketLossRatePeak, is optimal when packet loss exhibits spike-like charac- teristics; while the second, Algorithm 2, is optimal for a loss model, in which the loss rate is constant or continuously changing. The motivation for developing two algorithms came from the following fact: To utilize Algorithm 1 when the loss rate

(15)

is continuously changing causes a lot of overhead, because of the unnecessary high rate of FEC-redundant packets that it uses in this case. On the other hand, not quickly adapting the rate of FEC-redundant packets at the occassions when the packet loss exhibits spike-like characteristics, causes many FEC-decoding failures.

In the case of when we are dealing with a loss rate exhibiting spike-like charac- teristics, we are using Algorithm 1:

Input: lossRate and compensateLossFactor Output: codeRate

if lossRate > lossRateForPreviousFECUnitTransmission then newLossRate = lossRate *2 ;

if (newLossRate - lossRate) <= compensateLossFactor then newLossRate += compensateLossFactor ;

end

if newLossRate > MAX_LOST_RATE then newLossRate = MAX_LOST_RATE ; end

end else

newLossRate = lossRate+ compensateLossFactor ; end

codeRate = getCodeRateBasedOnLossRate (newLossRate);

Algorithm 1:Adaptation algorithm For Spike-Like Packet Loss

In Algorithm 1 the chosen rate of FEC-encoded redundant packets, denoted codeRate in the algorithm, is set to enable FEC-decoding of the FEC-unit in the cases when the packet loss rate increases up to 100% during its transmission. An illustrative example: If the packet loss rate is reported to be 15%, codeRate is chosen for FEC-encoding the data to enable FEC-decoding in the cases the packet loss rate increase up to 15 ∗ 2 = 30% during the transmission of the FEC-encoded unit. The rationale behind this approach is the findings of scenarios in which the packet loss exhibited spike-like characteristics in experimental traces [4]. Thus, the adaptation-algorithm reacts quickly to sudden increases in packet loss.

The function GetCodeRateBasedOnLossRate, retrieves a packet loss rate-specific value from an array for the given loss rate. These values have been decided with the criteria to ensure success of the FEC-decoding with a high probability. The algorithms use a value that is assigned at the start of the data transmission (com- pensateLossFactor). This value is set to enable FEC-decoding of the FEC-unit, despite packet loss rate-increases up to a certain limit during the transmission of the next FEC-encoded-unit of data. To exemplify, assigning it to the value 5 means that the sender will always at least add an amount of redundant packets compensat- ing for a loss rate-increase of 5% during the transmission of the next FEC-encoded unit of data. In this example: If the receiver reported a loss rate of 10%, the sender

(16)

will at least add an amount of redundant packets which enables the data to be FEC-decoded in a channel with a loss rate up to 10 + 5 = 15%.

When the packet loss rate changes continuously, we are using Algorithm 2:

Input: lossRate and compensateLossFactor Output: codeRate

newLossRate = lossRate + compensateLossFactor ; if newLossRate > MAX_LOST_RATE then

newLossRate = MAX_LOST_RATE ; end

codeRate = getCodeRateBasedOnLossRate (newLossRate);

Algorithm 2:Adaptation Algorithm For Continuously Changing Packet Loss

Implementation of the simulation

The implementation of the simulations were written in C++ and the discrete event network simulator called NS-3 provided sockets and packets are used for sending, transmission and receiving of packets. The OpenFEC-library are used for FEC- encoding and FEC-decoding the data. The simulation consists of a sender and a receiver.

Implementation of sender

The sender is initiated with the parameters of the following list:

• Initial rate of redundant FEC-encoded packets

• Packet size (symbol size)

• compensateLossFactor, described in

• Value defining whether the packets should be sent randomly or sequentially.

• Value defining which loss-model that is used. This is further elaborated on in the Adaptive Rate Video section.

The sender reads in data files from a specified folder into an array (current- DataBufferGlobal) of the size of the number of files. Algorithm 3 describes the functionality of the sender. The adaptation-algorithms used are described in sec- tion . ?? is calculated by the receiver and is sent from the receiver to the sender during each FEC-decoding of a FEC-unit of data. It is further described in the Simulation Results-section. The function FecEncodeData utilizes the FEC-library called OpenFEC in order to FEC-encode the data. Each file is encoded into RoundUpToClosestEqualOrHigherInteger( file size

symbolSize ) number of symbols. AddHead- ersAndSendDataOfCurrentFecUnit is a function that for each packet adds a header

(17)

Input: rateOfRedundantPkts, symbolSize,

compensateLossRate,nrOfFiles,lossRate,nrOfSrcSymbols,symbolNr, kindOfLossModel

for f ecU nitN r = 0 → nrOfF iles do

bufferOfOriginalData = currentDataBufferGlobal[i];

if f ecU nitN r! = 0 then

if kindOfLossModel == CONSTANT_LOSS_MODEL_GLOBAL thenrateOfRedundantPkts =AdaptationAlgoForContinuousLossModel

(lossRate,compensateLossRate) end

elserateOfRedundantPkts =AdaptationAlgoForSpikeLikePacketLoss (lossRate,compensateLossRate)

end end

nrOfTotalSymbols = nrOfSrcSymbols / rateOfRedundantPkts encodedDataBuffer = FecEncodeData (bufferOfOriginalData,

rateOfRedundantPkts, symbolSize,nrOfSrcSymbols,nrOfTotalSymbols) AddHeadersAndSendDataOfCurrentFecUnit

(fecUnitNr,encodedDataBuffer,rateOfRedundantPkts, symbolSize,nrOfSrcSymbols,nrOfTotalSymbols, symbolNr) end

Algorithm 3: Function for FEC-encoding and Sending FEC-encoded Units of Data

and after this sends the respective packets to the receiver. The header contains fe- cUnitNr, symbolNr, nrOfTotalSymbols, rateOfRedundantPkts, symbolSize and nrOf- SrcSymbols.

Implementation of receiver

The algorithm 4 describes the functionality of the receiver, which receives FEC- encoded packets and FEC-decodes FEC-encoded units of data. When a packet is received, its data is extracted and stored in a data structure which contains all of the currently received data for a certain number of FEC-encoded units. This is needed, so that we can FEC-decode one or more FEC-encodeds unit in parallel with receiving the packets of other FEC-encoded units of data. When the packet of the FEC-unit that weren’t lost during transmission have been received, a FEC- decoding-attempt is performed. Statistics related to the decoding of this FEC-unit are recorded to a text file containing information about whether the decoding was successful, information of the parameters used in the FEC-decoded unit (e.g. symbol size, number of source symbols), transmission times), current loss rate, and other

(18)

nrOf P acketsReceived = 0

HIGHEST_F EC_UNIT _NR_DECODED_GLOBAL=0 while true do

currentP acket= ListenT oSocketF orNewP kt() nrOf P acketsReceived++

currentF ecU nit=

ExtractV alueOf P ktHeader(currentP acket, F EC_UNIT _GLOBAL) currentF ecU nitM odulo = currentF ecUnit %

N R_OF _P ARALLEL_F EC_UNIT S_GLOBAL currentSymbolNr

= ExtractValueOfPktHeader(currentP acket, SY M BOL_NR_GLOBAL)

packetForCurrentFecUnitGlobal[currentF ecUnitModulo][currentSymbolNr]

= ExtractDataOfPkt (currentP acket) if currentF ecU nit >

HIGHEST _F EC_U N IT _N R_DECODED_GLOBAL OR ( currentF ecU nit == 0 AND nrOf P acketsReceived == 1 ) then ExtractPktHeaderAndPutIntoGlobalFecUnitHeaderValues () end

if currentF ecU nit >

HIGHEST _F EC_U N IT _N R_DECODED_GLOBAL then lastF ecU nitM odulo = (currentF ecUnit -1 )

%NR_OF _P ARALLEL_F EC_UNIT S_GLOBAL DecodeFECUnit (lastF ecUnitModulo,

nrOf SrcSymbolsGlobal[lastF ecUnitModulo], nrOf T otalSymbolsGlobal[lastF ecUnitModulo], symbolSizeGlobal[lastF ecUnitModulo],

rateOf RedundantP kts[lastF ecUnitModulo])

HIGHEST_F EC_UNIT _NR_DECODED_GLOBAL++

end end

Algorithm 4:Function for Receiving and FEC-decoding FEC-encoded Units of Data

statistics used in the section Simulation Results.

Simulation Results

Simulation Setup and Design Design choices

Network protocol - UDP is chosen over TCP. Using the TCP-protocol creates lim- itations for an adaptive FEC-code, because of the combination of the increasing

(19)

congestion due to the redundant packets of FEC-encoded data and TCP’s conges- tion control. TCP/IP doesn’t work well on networks with a high bandwidth delay product. For analytical proof, please refer to [16, 17].

802.11g - In the simulations we use 802.11g, which provides transmission rates of the 802.11a at the 2.4 GHz band, and thus provides interoperability with IEEE 802.11 and IEEE 802.11b-devices. 802.11-standards family and it is backward com- patible to the old IEEE 802.11 and IEE 802.11b-specifications. In [21] the results prove that the new physical layer-features in it, supports improved channel capacity, mostly when all stations are using the IEEE 802.11g wireless interface.

General description of the simulations

All simulations were performed in the NS-3 network simulator [?] with UDP as transport layer [16, 17], 802.11g as link layer [21] and using two different loss models:

1. A loss model in which the interference level changes continuously.

2. A loss model in which the packet loss exhibits spike-like characteristics The packet loss rate was monitored by the application deployed on the re- ceiver(s), by keeping track of and examining the meta data of the received packets.

The meta data contains the number of the FEC-encoded unit, the packet number within the FEC-encoded unit and the number of source packets (i.e. packets con- taining original data) and repair packets. Our metric of calculating the packet loss rate is presented in Equation General description of the simulations. If Total is the total number of packets in the current FEC-encoded unit, and Received is the number of packets received in the current FEC-encoded units, then:

LossRate= T otal − Received

Received (1)

The data to be sent was encoded into a number of separate FEC-encoded units.

Each FEC-encoded unit consists of source packets and a varying amount of equally sized redundant FEC-encoded packets - further described in each simulation’s sepa- rate section. The packets were sent in a random order while discarding the specified percentage of packets randomly. The average InefficiencyRate depicted on the x-axis for this and subsequent graphs is calculated as follows:

Inef f iciencyRate= SentP ackets − LostP ackets

SourceP ackets (2)

Figure 1 depicts the sender, receiver and the wireless transmission channel.

In the wireless transmission channel either a continuous interference model or a interference model exhibiting peaks is applied. These loss models are described in the Adaptive Rate Video-section

(20)

Figure 1. Depiction of sending and receiving FEC-encoded data over wireless chan- nel

Simulation Results

FEC-Decoding Algorithm

A prominent goal of the simulation was to find the optimal balance between low probability of FEC-decoding-failure and a minimal amount of FEC-redundant data.

100, 000 iterations were performed, except for in the simulation depicted in Figure FEC-decoding-failure-rate correlating to inefficiency rate, in which 1, 000, 000 iter- ations were performed. 1, 000, 000 iterations were required in order to decide the amount of required redundant packets needed to ensure a FEC-decoding failure

<10−5.

Table 1. Parameters for testing the FEC-decoding algorithm

Parameter Value(s)

Size per FEC-unit 30, 100, 300, 1000 source packets

Packet size 1 kB

Nr. of FEC-units transmitted 105,106

FEC-decoding failure rate <10−3,10−4,10−5 Packet loss rate 10%

Simulations were performed to find out the difference in the rate of FEC- redundant packets required between ensuring a FEC-decoding failure rate less than 1/1000 compared to 1/10000 for a varying amount of source packets per FEC-unit.

The purpose was to find out which amount of source packet that requires the least rate of FEC-redundant data for the specified FEC-decoding-failure-rates.

Figure 2 the amount of source packets of a FEC-encoded unit is inversely pro- portional to the average inefficiency rate for decoding. It is demonstrated that an increase of the amount of source packets results in a decrease of the inefficiency rate.

In order to ensure a FEC-decoding failure rate < 1/1000, 30 source packets causes an inefficiency rate of 66%, 100 packets, 28%, 300 packets, 11% and 1000 packets results in an inefficiency rate of 1.7%.

Also in Figure 3 the amount of source packets of a FEC-encoded unit is in-

(21)

Figure 2. Average inefficiency rate for the maximum loss rates with a FEC-decoding- failure-rate < 1/1000

versely proportional to the average inefficiency rate for decoding. The decrease of inefficiency rate between ensuring a FEC-decoding failure rate less than 1/1000 compared to 1/10000, for 30, 100, 300, 1000 source packets are 21%, 11.3%, 5%, 0.3%, respectively.

Simulations were performed in order to find out the balance between the rate of FEC-encoded redundant packets and the rate of FEC-decoding-failures for a FEC- encoded unit of 300 source packets. The results, depicted in Figure 4, demonstrates that the decoding failure rate is proportional to the inefficiency rate. It was found that decreasing the rate of FEC-decoding failures from 10−2, via 10−3, via 10−4, to 10−5, causes an increase of the inefficiency rate with 2.3%, an additional 5.7% and an additional 14.7%, respectively. For a FEC-encoded unit of 300 source packets of size 1 kB and a packet loss-rate of 10%, using 42 percent FEC-encoded redundant packets (causing an inefficiency rate of less than 28 percent), yields a FEC-decoding- failure rate that is less than 10−5. This means that transmitting 105·1 · 300kB = 3 · · · 1010B = 30GB causes an average of 0 or 1 FEC-decoding-failures.

We have conducted the following simulations in order to evaluate how well proac- tive FEC performs in the presence of dynamically varying channel conditions. This includes to find out how much FEC-encoded redundant data that is required in order to minimize the FEC-decoding failure rate below a specified value.

Parameters for Adaptation Algorithms

This subsection specifies the parameters that were used in performing the subse- quent simulations.

(22)

Figure 3. Average inefficiency rate for the maximum loss rates with a FEC-decoding failure-rate < 1/10000

Figure 4. FEC-decoding-failure-rate correlating to inefficiency rate

(23)

Table 2. FEC-encoding and transmission-parameters

Parameter Value(s)

Size per FEC-unit 230 to 260 source pack- ets

Packet size 1 kB (+header) Nr. of FEC-units transmitted 100

Transmission rate 5 Mbps FEC-decoding failure rate <1/100

Continuous Loss Model

The simulations of this section were performed in a wireless channel with a loss model exhibiting continuous changes of the loss rate. The sender utilized the algo- rithm 2 in order to determine the amount of FEC-redundant packets for the next FEC-unit to be sent.

Figure 5. Data overhead-comparison between dynamic and static FEC-code.

The packet lost of the channel varied between 0 to maximum loss rate. Maximum loss rate is depicted on the x-axis.

To illustrate the graph we provide the following example: A FEC-encoded unit

(24)

of the size 250 kB is sent, encoded with the code-rate of 0.8; and at the time of FEC-encoding, the packet loss rate was lastly reported to be 10%. 250 kB of data are divided into 250 1kB-sized symbols. Based on the code-rate-value, 63 repair symbols are created. The inefficiency rate is (313 − (313 ∗ 0, 1))/250 = 1.124.

For the values of max loss-rate assigned to 10, 20, 30, 40 and 50 (%), our dynamic adaptation-algorithm 2 was found to give 18.3, 33.1, 36.2, 54.7, 74.8 percent improvement, respectively, over using a static algorithm that chooses to use the rate of redundant FEC-encoded packets corresponding to the highest potential packet loss rate of the channel.

Three of the simulations described in the figure use more repair packets than needed. This allows the receiver to FEC-decode the FEC-encoded data also during channel conditions in which the packet loss rate increases with 5, 10 respective 15

% during the data transmission.

These results shows that there is a good performance-gain to win in form of reduced overhead by adapting the FEC-code rate based on the current loss rate in a channel exhibiting a loss model with continuous changes of the interference level.

Loss model exhibiting spike-like characteristics

The simulations of this section were performed in a wireless channel with a loss model exhibiting spike-like characteristics. The sender utilized the algorithm 1 in order to determine the amount of FEC-redundant packets for the next FEC-unit to be sent. The simulations were performed in a loss model exhibiting peaks with a max packet loss-rate of 50%, exhibiting several peaks from 0 to maximum loss-rate during the transmission of the inital packets of several FEC-encoded units.

Figure 6 depicts the minimum value of loss rate for which the decoding failed for one or more FEC-units for different values assigned to compensateLossFactor.

compensateLossFactor, depicted on the x-axis, is a value correlating to the minimum amount of redundant FEC-encoded packets added in order to safeguard against packet loss rate increases during the next FEC-encoded-unit of data. It is further described in Section .Assigning compensateLossFactor to 30 (i.e. compensate for minimum increase of 30% of the loss rate during the transmission of the current FEC-encoded unit) resulted in 0 decoding-failures.

Numerous simulations, some of which are described in section , showed that decoding failures which don’t show up in a small number of iterations, show up when a larger number of iterations are performed; thus, our results show that this configuration will likely result in a small amount of decoding-failures when per- forming more iterations. These simulations show that, using the described scenario, it is possible to minimize the probability of FEC-decoding failures by using the adaptation-algorithm described in Section , including assigning compensateLoss- Factor to 30. Figure 7 shows that assigning this value results in an amount of used redundant packets corresponding to an inefficiency ratio of 100% . The total average packet loss rate in the simulations was between 25 to 27 %.

(25)

Figure 6. Minimum packet loss-rate, correlated to compensateLossFactor. Max packet loss-rate of the channel: 50%

Figure 7. Inefficiency rate, correlated to compensateLossFactor. Max packet loss- rate of the channel: 50%

FEC Encoding/Decoding Time Measurements

Table 8 contains measurements performed of the FEC-library OpenFEC used to FEC-encode and decode the data. Initializing, encoding and decoding 100 FEC- units with 30 packets (assuming the above inefficiency ratios) in each took 100 · (0.0007 + 0.0002 + 0.0002) = 0.11 seconds; while initializing, encoding and decoding 1 FEC-unit of 3000 packets took 0.022 + 0.0004 + 0.076 = 0.0984 seconds.

(26)

Figure 8. Times of FEC-encoding and decoding

Multihop Delay Analysis

In this section we analyze the time delay for video transmission in a standard Wi-Fi transmission mode.

Calculation of transmission of packets in a MANET-path without FEC-code

In this scenario there are Hopnum hops between the first node and the last node in the MANET-structure. No FEC-code is used, so the receiver must request re- transmissions for all lost packets. The packet loss-rate is lRate. All SrcP kts, number of packets of the playable segment, to maximize the performance in a MANET- structure this will be a small number per playable segment, are required in order to play the segment. Thus, the first node will perform at least lRate · SrcP kts retransmissions.

Assume that the distance between two nodes is d. Assume that the channel transmission rate is tRate. The length of each packet is sP kt bytes. The transmission time of one source packet is then:

tT ransmissionP erP kt= sP kt· d tRate

The transmission time of one playable segment without retransmissions between two nodes is:

tN oRetransmit = tT ransmissionP erP kt· SrcP kts

The minimum transmission time of all packets from the first node to the last node in the MANET-path follows this pattern:

ttotalT ransmissionIncludingDelay =

tN oRetransmit·(lRate+ l2Rate+ ... + lRateHopnum−1+ lRateHopnum)

This equation demonstates that the delay - caused by the retransmissions - of the transmission exponentially increases as the number of hops increases.

Figure 9 depicts the exponential growth of the delay as the number of hops increases when the packet loss rate of the wireless channel is 10%.

(27)

Figure 9. Increase of the delay as the number of hops increases. Packet loss rate:

10 %

The time for the retransmission requests are neglected and the number of re- transmissions required specified above is less than what is required in the real sce- nario (in which also a percentage of the retransmitted packets are lost, causing a higher delay) .

The simulations in Figure 2 of section demonstrated that in a wireless channel with a constant packet loss rate of 10%, using 1000 source packets per FEC-encoded unit, 12.6% redundant packets are required in order to ensure a probability for FEC- decoding-failure < 10001 . This means that transmitting 103·1·1000kB = 3 · · · 108B = 300MB of data (and additionally the redundant packets) causes an average of 0 or 1 FEC-decoding-failures, and thus only 0 or 1 retransmissions.

As demonstrated by the above calculations, and for the FEC-based protocol - the simulations of section , adding an extra hop in a MANET-path causes standard WiFi-MANET a significant extra exponential delay, while the extra delay needed for the FEC-based-protocol is small and bounded.

Conclusion And Future Work

In video streaming it is important that the video stream reaches the users in time, and without errors. To retransmit lost packets in a large-scale multimedia video transmission is often unfeasible because of the retransmission delay. Becasue of that errors require either costly retransmissions or causes a downgrade of performance for the receiving user, an important goal is to minimize the number of errors that occurs when transmitting data during video streaming through a wireless channel.

In this thesis an adaptation-algorithm was proposed, which adapts itself in such

(28)

away that the receivers of e.g. the broadcast will receive enough packets in order to be able to FEC-decode the received data in low- as well as high loss-scenarios.

Simulations demonstrate that in a wireless channel with a packet loss rate of 10%, using 1000 source packets per FEC-encoded unit, 12.6% redundant packets are required in order to ensure a FEC-decoding-failure probability < 10001 .

Comparisons were made of how the FEC-unit-size affects the amount of re- dundant FEC-encoded packets required to minimize the aforementioned rate of FEC-decoding failures. These results are very important in any transmission over a wireless channel when making decisions of which FEC-unit-size to choose to min- imize the amount of redundant data sent. It is also important when making a decision between the trade-off of the amount of redundant FEC-encoded packets versus the FEC-decoding failure rate.

Two versions of the adaptation-algorithms were proposed, one to be used when the loss-rate pattern is exhibiting spike-like characteristics, and one in which it is mostly constant and/or does small changes. Simulations that were performed using the later loss-model show that there is a good performance-gain to win in form of reduced overhead by using adaptive rate of FEC-encoded redunant packets as compared to using a constant rate of FEC-encoded redundant packets. Simulations in a loss-model exhibiting spike-like characteristics, shows that it is possible to minimize the FEC-decoding-failure-probability to a value < 1/100 using a certain configuration outlined in the section . This results in an amount of used redundant packets corresponding to an inefficiency ratio ofnumberof sentpackets−numberof lostpackets

numberof sourcesymbols

of 100%.

The proposed FEC-adaptive algorithm is useful to solve a number of problems.

When sending video point-to-point over a wireless channel, the transmission should be done with as high throughput as possible. It is difficult to support diverse appli- cations with an appropriate QoS in MANET, since it has a highly dynamic network with a varying topology and traffic load conditions and limitations in its commu- nication bandwidth and processing power capacity [23]. It is important to be able to provide QoS, in order for a MANET-protocol to be suitable for video streaming, since the customers viewing video have quality requirements. Doing small adap- tions on the proposed adaptive FEC-algorithm, we can ensure the fulfillment of these requirements.

Future work

FEC-adaptation based on loss rate

We proposed an Algorithm 1, which is optimal when packet loss exhibits spike-like characteristics; and a second algorithm, Algorithm 2, which is optimal for a loss model, in which the loss rate is constant or continuously changing. The motivation for developing two algorithms came from the following fact: To utilize Algorithm 1 when the loss rate is continuously changing causes a lot of overhead, because of the unnecessary high rate of FEC-redundant packets that it uses in this case.

(29)

On the other hand, not quickly adapting the rate of FEC-redundant packets at the occassions when the packet loss exhibits spike-like characteristics, causes many FEC- decoding failures. Therefore, future work is to create and implement an algorithm to record statistics of the loss rate-pattern of the channel; and to based on this make a decision of what algorithm to use for deciding with which rate of FEC-redundant packets to encode the next FEC-unit.

Adaptation of additional parameters

Additional parameters that can be adapted fulfilling the constraints outlined in Section are transmission rate and modulation. Increased data doesn’t necessarily result in an higher throughput, but only when the channel conditions are good. The channel condition can vary dramatically in a WLAN due to multi-path interference, movements of stations, etc; and to accommodate varying channel conditions, a rate adaption is commonly used, which dynamically adjusts the modulation mode and the data rate in order to optimize the performance in changing channel conditions.

Furthermore, the number of source packets which are used per FEC-encoded unit can dynamically be adapted. Section outlines results of testing the FEC- decoding-algorithm. These simulations were performed to find the optimal balance between low probability of FEC-decoding-failure and a minimal amount of FEC- redundant data; and can be used when deciding on which amount of source packets to use.

Point-to-multipoint broadcast optimization

There is another usage in which there is a set of receivers whom are not connected in MANET and whom receive the packets through broadcast. In this scenario, the receiver send acknowledgements for each received FEC-encoded unit of redundant packets, containing information about the packet loss rate. When we are broad- casting video to many receivers using the proposed FEC-adaptation-algorithm, it is impossible to adapt to each client individually, but we need to find a way to satisfy the constraints promised to the users joining the broadcast. E.g. if the promise of the broadcaster is that each client should receive a stream with a probability rate

< 100001 for FEC-decoding-failures, there is a requirement that the rate of FEC- redundant packets is adapted in such a way that the promise of the broadcaster is fulfilled. Thus this rate must be adapted to the receiver which has the worse packet loss, in order to ensure that it will be able to decode the FEC-encoded units sent to it. This may cause that other receivers which are affected by less interference and thus receives a larger rate of the sent packets receives a lot of redundant packets;

however, this is unavoidable in this scenario.

(30)
(31)

Bibliography

[1] What is ns-3 @http://www.nsnam.org/overview/what-is-ns-3/, July 2013.

[2] J. S. Ahn, S. W. Hong, and J. Heidemann. An adaptive FEC code control algorithm for mobile wireless sensor networks. Journal of Communications and Networks, 7(4):489–499, Dec. 2005.

[3] Anas Basalamah and Takuro Sato. Adaptive fec reliable multicast mac protocol for wlan. In Proceedings of the 66th IEEE Vehicular Technology Conference, VTC Fall 2007, 30 September - 3 October 2007, Baltimore, MD, USA, pages 244–248. IEEE, 2007.

[4] R. Chandra, S. Karanth, T. Moscibroda, V. Navda, J. Padhye, R. Ramjee, and L. Ravindranath. Dircast: A practical and efficient wi-fi multicast system. In Network Protocols, 2009. ICNP 2009. 17th IEEE International Conference on, pages 161–170. IEEE, 2009.

[5] Jiao Feng, Chi Xuefen, Peng Li, Wang Yining, and Lin Guan. Adaptive fec algorithm based on prediction of video quality and bandwidth utilization ratio.

Advanced Information Networking and Applications, International Conference on, 0:182–188, 2009.

[6] V. R. Gandikota, B. R. Tamma, and C. S. R. Murthy. Adaptive fec-based packet loss resilience scheme for supporting voice communication over ad hoc wireless networks. IEEE Transactions on Mobile Computing, 7:1184–1199, 2008.

[7] L. Han, S. Park, S. Kang, and H. Peter. An adaptive fec mechanism using cross- layer approach to enhance quality of video transmission over 802.11 WLANs.

TIIS, 4(3):341–357, 2010.

[8] Nur Ziadah Harun, Osman Ghazali, and Baharudin Osman. Impact of weight values in hybrid and adaptive fec mechanism over wireless network. In Pro- ceedings of the 2010 Second International Conference on Network Applications, Protocols and Services, NETAPPS ’10, pages 42–47, Washington, DC, USA, 2010. IEEE Computer Society.

xxvii

(32)

[9] M. Johanson. Adaptive forward error correction for real-time internet video.

In Packet Video Workshop, April 2003.

[10] Cédric Lamoriniere, Abdelhamid Nafaa, and Liam Murphy. Dynamic switch- ing between adaptive fec protocols for reliable multi-source streaming. In Pro- ceedings of the 28th IEEE conference on Global telecommunications, GLOBE- COM’09, pages 5388–5393, Piscataway, NJ, USA, 2009. IEEE Press.

[11] C. H. Lin, C. H. Ke, C. K. Shieh, and N. K. Chilamkurti. An enhanced adap- tive fec mechanism for video delivery over wireless networks. In International conference on Networking and Services, pages 106–111, Silicon Valley, USA, July 2006.

[12] Cheng-Han Lin, Chih-Heng Ke, Ce-Kuen Shieh, and Naveen K. Chilamkurti.

xan enhanced adaptive fec mechanism for video delivery over wireless networks.

In Proceedings of the International conference on Networking and Services, ICNS ’06, pages 106–, Washington, DC, USA, 2006. IEEE Computer Society.

[13] K. Matsuzono, J. Detchart, M. Cunche, V. Roca, and H. Asaeda. Performance Analysis of a High-Performance Real-Time Application with Several AL-FEC Schemes. In the 35th IEEE Conference on Local Computer Networks, Colorado, USA, July 2010.

[14] Thinh Nguyen and Avideh Zakhor. Distributed video streaming with forward error correction, 2002.

[15] OpenFEC organization. Application-level forward erasure correction (Open- FEC).

[16] K. Park and W. Wang. AFEC: An adaptive forward error-correction protocol for end-to-end transport of real-time traffic. In IEEE IC3N, pages 196–205, 1997.

[17] K. Park and W. Wang. Qos-sensitive transport of real-time mpeg video using adaptive forward error correction. In IEEE Multimedia Systems, pages 426–

432, 1999.

[18] K. S. Pathapati, A. Nguyen, J. P. Rohrer, and J. P.G. Sterbenz. Performance analysis of the AeroTP transport protocol for highly-dynamic airborne teleme- try networks. In Proceedings of the International Telemetering Conference, NV, USA, Oct. 2011.

[19] Yufeng Shan, John W. Woods, and Shivkumar Kalyanaraman. Distributed fine grain adaptive-fec scheme for scalable video streaming.

[20] A. Nafaa T. Taleb and L. Murphy. Forward error correction strategies for media streaming over wireless networks. IEEE Communications Magazine, 46(1):72–79, 2008.

(33)

[21] D. Vassis, G. Kormentzos, Rouskas A, and I. Maglogiannis. The ieee 802.11g standard for high data rate wlans. IEEE Networks, 19(3):21–26, 2005.

[22] V.Roca and more. Low density parity check (ldpc) staircase and triangle for- ward error correction (fec) schemes.

[23] P. Y. Wang, Yemini Y, D. Florissi, and P. Florissi. QoSME: Towards qos management and guarantees. In Proceedings international Conference on In- formation Technology, pages 868–875, Bhubaneswar, India, Dec. 2000.

[24] Jun Hwang Yejin Sohn and Seung-Seok Kang. Adaptive packet-level fec algo- rithm for improving the video quality over ieee 802.11 networks. International Journal of Software Engineering and Its Applications, 6(3), 07 2012.

(34)

References

Related documents

Linköping Studies in Science and Technology

Table 1.4 provides a gate count comparison of interleaver logic cost with the 

Det finns många områden som kan studeras inom ämnet, men vi har valt att avgränsa oss till att undersöka om minskad arbetstid är det som önskas av anställda eller om det är andra

N O V ] THEREFORE BE IT RESOLVED, That the secretary-manager, officers, and directors of the National Reclamation }~ssociation are authorized and urged to support

Thus, a decision is of great importance for an organization for which it is interesting for us to see how they make their decisions regarding a purchase and foremost how the

SEM images of ZnO (a) hexagons, (b) spheres, and (c) needles deposited by the method of explosive evaporation (MEE) on Au/Si, Ag/Si, and unpolished Si substrates, respectively..

Qualitative Analysis of Video Packet Loss Concealment with Gaussian Mixtures.. Daniel Persson, Thomas Eriksson and

• to develop a novel scheme for packet aggregation in Wireless Mesh Networks, using the developed model and adapting the packet size to network traffic and link characteristics.. •