An Enhanced Adaptive FEC Mechanism for Video Delivery over Wireless Networks Cheng-Han Lin, Chih-Heng Ke, Ce-Kuen Shieh Department of Electrical Engineering National Cheng Kung University, Taiwan {jhlin5, smallko}@hpds.ee.ncku.edu.tw;
[email protected]
Abstract This paper proposes an Enhanced Adaptive FEC (EAFEC) algorithm implemented in the Access Point (AP) to improve video delivery over wireless networks. Unlike traditional static FEC mechanisms, which add redundant data to transmission data in a fixed number, the number of redundant FEC data for the EAFEC mechanism is determined by the AP, which is based on both network traffic load and wireless channel state. The algorithm is based on two factors. One of them is the queue length in the access point, indicating network traffic load; the second factor is packet retransmission times, indicating wireless channel state. EAFEC usage would tune FEC data number generated in such a way that it wouldn’t unnecessarily add more traffic to network in already congested scenario. Our work shows that the EAFEC algorithm improves system performance by dynamically tuning FEC strength to the current loss in wireless channel. We use NS-2 simulation experiments to prove our algorithm. Keyword: FEC, Wireless Network, Video Quality.
1. Introduction Increasing numbers of Internet users connect to Internet services with wireless components, like laptop computers and PDAs, due to their convenience. Unfortunately, wireless network packet error is unavoidable and more serious than in wired networks. Unavoidable packet errors however, are usually recovered using ARQ (Automatic Repeat reQuest) or
Naveen K Chilamkurti Department of Computer Science La Trobe University, Australia
[email protected]
FEC (Forward Error Correction) techniques [1-2]. In ARQ, missing packets are retransmitted during timeouts or explicit receiver requests. In FEC, the sender prevents packet losses by transmitting redundant information, allowing reconstruction of a certain amount of missing data at the receiver without the need for retransmissions. Retransmitting lost packets in large-scale multimedia video transmission is often unfeasible as retransmission incurred delay is unacceptable [3-4]. FEC recovery for video delivered over wireless network is the focus of this paper. Intelligent FEC packet adjustment has been an important issue in previous FEC studies [4-6]. For example, more redundant FEC packets have greater opportunity to recover erroneous packets, but those packets may overload wireless networks when traffic load is high; fewer FEC packets, on the other hand, may fail to recover erroneous packets when wireless error rate is high. Improving network performance by dynamically tuning FEC strength to the current rate of wireless channel loss is the objective of this paper. An intelligent FEC mechanism, Enhanced Adaptive FEC (EAFEC), is proposed to provide improved video delivery over wireless networks. The redundant FEC packets are dynamically added based on both network traffic load and wireless channel state. EAFEC algorithm usage would tune FEC packet numbers generated in such a way that they wouldn’t unnecessarily add to network congestion. The remainder of this paper is organized as follows. The EAFEC concept and algorithm is introduced in section 2. Section 3 discusses experimental settings and wireless error models. Section 4 analyzes simulation results. Finally, the paper is summarized and possible future work presented.
0-7695-2622-5/06/$20.00 (c) 2006 IEEE
2. Enhanced Adaptive Forward Error Correction (EAFEC) 2.1 The static FEC mechanism problem For static FEC algorithms, redundant data is added to transmission data in a fixed number. The static FEC advantage is easier to implement. However, the static FEC disadvantage is that it does not flexibly adapt network condition variations. When error rate is low, static FEC algorithms can create a large overhead. On the other hand, when network traffic load is high, static FEC algorithms result in additional packet loss because of network congestion. Thus, static FEC can degrade system performance by poorly matching overhead to the degree of underlying channel error, especially when the channel path rate fluctuates widely. For example, for every eight video packets (a block), the fixed number of FEC redundant packets are added. Here, the number is from 0 to 8, and other experiment settings are similarly described as in section 3. When redundant packet numbers increase, packet loss numbers decrease, as shown in figure 1. Nevertheless, when too many redundant packets are added (more than 6), packet loss increases. The same result also occurs in video transmission quality, shown in figure 2.
wireless channel status. When the wireless channel is good, packet retransmission is less; otherwise, packet retransmission is more. When the wireless channel is experiencing more losses, more redundant FEC packets will be generated, but when the channel is good, fewer FEC packets are generated. In a conclude, the EAFEC algorithm not only uses wireless AP queue length, but also MAC layer retransmission times to determine how many redundant packets should be added to video transmission packets.
Figure 1: Static FEC mechanism – packet loss.
2.2 EAFEC In the infrastructure mode, when every wired and wireless node wants to send data packets to other wireless nodes, data must first be sent to the Access Point (AP). The AP then forwards packets to the corresponding node. Therefore, AP is a good place for adding the FEC mechanism for improving video delivery quality. Video data transmitted over the network as shown in figure 3. Here the video delivered path wired segment is assumed to have no packet loss. For EAFEC, the AP dynamically determines how many redundant FEC packets should be generated, based on the current network condition. First, AP queue length is a good indicator for estimating network traffic load. For example, if network load is high, queue length is long; otherwise, queue length is short. When queue length is long, more redundant FEC packets can be generated, but when queue length increases, fewer FEC packets are generated to avoid unnecessary network congestion. On the other hand, packet retransmission time also indicates
Figure 2: Static FEC mechanism – PSNR. Video Server
Video data
Internet
Wireless Access Point
Video data
Video Receiver
Video data FEC data
Figure 3: Wireless AP adds redundant FEC data to video transmission data.
0-7695-2622-5/06/$20.00 (c) 2006 IEEE
no _ FEC = max_ fec ×
Redundant FEC packet
Max FEC packet
(th _ 2 − queue _ length ) (th _ 2 − th _ 1)
⎡ th _ 4 − rT ⎤ no _ FEC = no _ FEC × ⎢1 − ⎥ ⎣ th _ 4 − th _ 3 ⎦
Redundant FEC packet
no_FEC
no_FEC
0
0 th_1
th_2
Queue length
th_3
th_4
Retransmission times
th_1: low_threshold of queue length
th_3: low_threshold of retransmission times
th_2: high_threshold of queue length
th_4: high_threshold of retransmission times
Figure 4: FEC redundant packet numbers in the EAFEC algorithm. 2.2.1 The EAFEC algorithm The EAFEC algorithm is shown in figure 5. When a block of packets are first received, the AP calculates queue length with weight value (qweight). Then AP compares queue length with threshold values. If queue length is smaller than low_threshold value (threshold_1), the maximum FEC packets are generated. If it is larger than high_threshold value (threshold_2), none FEC packets is generated. Otherwise, FEC packets are generated based on data size fraction in the queue. FEC packet number is then calculated again according to packet retransmission time. If retransmission time is less than low_threshold value (threshold_3), FEC packet number is set to zero. If retransmission time is greater than high_threshold value (threshold_4), FEC packet number does not change. Otherwise, FEC packet number increases with retransmission time. FEC redundant packet number changes in the EAFEC algorithm are shown in figure 4.
3. Experiment setting 3.1 Simulation topology and setting The proposed FEC algorithm was verified and compared with other FEC mechanisms using NS-2 [7] simulator. The simulation topology we used in this paper is shown in figure 6. In this simulation, video server transmits video streams over the Internet and the video receivers are connected using wireless links. The video traffic trace we used for the experiment is
Initialization: qlen = 0; rT = 0; When a block of packets arrive: /* use queue length to determine number of redundant FEC packets */ qlen = (1 – qweight ) * current_q + qweight * qlen if (qlen < threshold1) no_FEC = Max_FEC; else if (qlen < threshold2) no_FEC = Max_FEC * (threshold2-qlen) / (threshold2-threshold1); else no_FEC = 0; /* use retransmission time to reduce the no_FEC */ rT = (1 – rweight) * current_rT + rweight * rT if (rT < threshold3) no_FEC = 0; else if (rT < threshold4) no_FEC = no_FEC* ( 1 – ((threshold4 – rT)/ (threshold4-threshold3))); else no_FEC = no_FEC; Figure 5: EAFEC pseudocode “Highway” video using H.264 video coding with JM 1.7 codec [8]. The “Highway” format is QCIF and the GOP structure is IPPPPPPPPPPPPPP (Simple Profile). Highway video trace is composed of 2000 frames, with each frame divided into transmitting slices. A slice is about 500 bytes and is transmitted via RTP/UDP/IP packet by unicast transmission. The
0-7695-2622-5/06/$20.00 (c) 2006 IEEE
Table 1: The Notation of EAFEC algorithm. weighted moving average queue qlen length qweight
queue weight
current_q
current queue length
threshold1
low threshold for queue
threshold2
high threshold for queue
no_FEC
number of redundant FEC packets that will be generated
Max_FEC
the maximum number of redundant FEC packets
rT
weighted moving retransmission time
current_rT
current retransmission time
threshold3
low threshold for retransmission time
threshold4
high threshold for retransmission time
average
Video Server
FTP traffic
Internet
Wireless Access Point
Video Receiver
Exponential trafftic
including 4_FEC and 0_FEC cases. In 4_FEC, for every eight video packets (a block), four FEC packets are generated to video recovery. In 0_FEC, when video packets are transmitted through AP, no FEC packets are generated. For EAFEC setting, the queue length low_threshold is ten packets and high_threshold is forty packets. Additionally, packet retransmission time low_threshold is five times and high_threshold is ten times. Both qweight and rweight are 0.1, and the maximum number of FEC packets sent is set as four. The access point queue size (queue limit) of all FEC cases is set as fifty packets. Video recovery assumes that if the sum of packet numbers in a block and FEC packet numbers for this block is greater or equal to eight, the original eight video packets can be restored. Otherwise, video packets alone are sent to receiver applications and FEC packets become useless.
3.3 Wireless error model In this paper, we adopt the random uniform model as wireless error model. The random uniform model provides the distributed packets with an error rate p. In the wireless network, there are no retransmissions in broadcasting and multicasting, so the packet error rate of network-level is the same as the applicationlevel. However, in unicasting transmission MAC layer senders can transmit a packet at a maximum of N times before it discards the packet. The perceived correct rate at application-level is given by N
pCORRECT =
∑ (1 − p) p
i −1
= 1− pN
i =1
Figure 6: Simulation Topology video frame rate is 30 (frames/sec) and total video packets sent are 4829. There are two traffic flows in our simulations. One is FTP traffic, transmitted by using TCP packets. The second one is exponential traffic transmitted by using UDP packets. Transmission rate for traffic is 1 Mbps; burst and idle time are both set as 0.5ms. The link between the wireless access point and the video receiver is IEEE 802.11b 11Mbps. The link between Internet and AP is 100Mbps.The link between traffic sources and Internet is set at 10Mbps.
3.2 Comparison with static FEC EAFEC performance with other static FEC mechanisms is evaluated in these experiments,
where N is the maximum number of retransmission at the MAC layer (DCF mode) and p is the packet error rate at physical layer. Consequently, the applicationlevel error rate is peffective = p N
In the following simulations, we set the parameters of the packet error rate based on the characteristic of the error model.
4. Result analysis 4.1 Static FEC vs. EAFEC Static FEC mechanism and EAFEC performance are compared and analyzed in the first experiment. The packet error rates are set as 0.6 and 0.7, which means Peffective are 0.12 and 0.24. Video transmission
0-7695-2622-5/06/$20.00 (c) 2006 IEEE
Figure 7: Dynamic FEC mechanism– packet loss.
Figure 10: Packet loss numbers for different FEC mechanisms.
Figure 8: Dynamic FEC mechanism – PSNR.
Figure 11: Video transmission quality for different FEC mechanisms. quality evaluated by packet loss and PSNR improved when redundant packet numbers increase, as shown in figure 7 and 8. When redundant packets are added to video transmission packets, there is no additional packet loss, according to the results. The EAFEC mechanism improved the additional packet loss problem caused by network congestion.
4.2 EAFEC performance
Figure 9: Redundant packet numbers for different FEC mechanisms.
EAFEC mechanism performance was evaluated in the second experiment. The packet error rate was set as 0.1 to 0.7 with 0.1 intervals. The maximum retransmission number is also assumed at four times of RTT. Hence Peffective corresponds to 0.0001, 0.0016… 0.2401. Redundant FEC packet numbers
0-7695-2622-5/06/$20.00 (c) 2006 IEEE
for static FEC mechanisms remained constant as shown in figure 9; on the other hand, with EAFEC mechanism redundant FEC packet numbers increase with packet error rate. This is due to the fact that high packet error rate leads to a high probability of packet retransmission until the packet has been correctly received at the receiver. Thus the EAFEC mechanism generates redundant FEC packets based on network condition is validated in these results. Moreover, video delivered quality according to packet loss numbers and PSNR is presented in figure 10 and 11. EAFEC can achieve similar video quality to 4_FEC without sending unnecessary FEC packets, as shown in figures 10 and 11.
[5] F. MacWilliams, N. Sloane, “The Theory of Error Correcting Code,” North-Holland, New York, 1977. [6] E. Altman, C. Barakat, and V. M. Ramos, “Queueing analysis of simple FEC schemes for IP telephony,” in Proc. IEEE Information Communications (INFOCOM), Anchorage, AK, Apr. 2001, pp. 796–804. [7] NS-2 Multimedia Communication tool http://140.116.72.80/~smallko/ns2/MultimediaComm_en.ht m [8] MPEG-4 and H.263 Video Traces for Network Performance Evaluation http://www.tkn.tu-berlin.de/research/trace/trace.html
5. Conclusions and future work This paper proposes an Enhanced Adaptive FEC (EAFEC) algorithm implemented in the wireless AP to improve video delivery over lossy networks. The number of redundant FEC data for the EAFEC mechanism is determined by the AP, which is based on both network traffic load and wireless channel state. EAFEC algorithm usage would tune FEC packet numbers generated in such a way that they wouldn’t unnecessarily add to network congestion. Our work shows that the EAFEC improves system performance by dynamically tuning FEC strength to the current amount of wireless channel loss, using simulation experiments. In our future work, we will consider the effect of packet loss from wired network segment on the video recovery. Besides, the optimum threshold values in EAFEC algorithm is also an important research issue.
6. References [1] Elaoud, M., Remannathan, P. “Adaptive use of errorcorrecting codes for real-time communication in wireless networks,” in Proc. of INFCOM, pp. 548 – 555, April 1998. [2] L. Rizzo, “Effective erasure codes for reliable computer communication protocols,” Computer Communication Review, vol. 27, no. 2, pp. 24 – 36, April 1997. [3] K. Park, W. Wang, “QoS-sensitive transport of realtime MPEG video using adaptive forward error correction,” in Proc. of MMCS, vol. 2, pp. 426 – 432, June 1999. [4] K. Park and W. Wang. “AFEC: an adaptive forward error correction protocol for end-to-end transport of realtime traffic,” In Proc. IEEE IC3N, pages 196-205, 1998.
0-7695-2622-5/06/$20.00 (c) 2006 IEEE