Packet Scheduling in Multi-Channel Layered-Video Streaming over Wireless Networks Ronit Nossenson
Noam Amram
Faculty of Computer Science Jerusalem College of Technology Jerusalem, Israel
[email protected]
LiveU Ltd Kfar-Saba, Israel
[email protected]
Abstract—We propose and evaluate several layered-video packet multi-channel scheduling algorithms. The scheduler’s properties are suitable for wireless/mobile/sensor nodes and have a simple decision function, low computation effort, small state storage requirements and little channel feedback information. Experimental results show that the short-term scheduler outperforms the other schedulers and achieves similar performance to the off-line scheduler. Keywords-component; wireless video networks; multi-channel video transmisstion; layered-video scheduling
I.
INTRODUCTION
Wireless sensor and ad-hoc networks are formed by a large number of small nodes communicating over wireless links without using a network infrastructure. These nodes have a limited transmission range, processing, storage and energy resources capabilities. Streaming video solutions for wireless networks must ensure video quality under these conditions as been done, for example, in [1, 5, 22]. A video streaming application encodes, packetizes and transmits video frames in real-time. That is, every streaming video frame needs to meet a play-out deadline. Currently, most of the networks support real-time services only in a best effort manner. Therefore, video streaming services have to include special measures to be resilient against packet loss and late arrival. Over the last decade streaming over multi-channels (also called multi-path, or networks) has been suggested to improve the video quality over the Internet [9, 10, 11, 12, 13, 14], in Peer-to-Peer (P2P) networks [15, 19, 20, 21] and over wireless ad-hoc networks [7, 8]. Multi-channel video transmission is often coupled with adaptive/scalable layeredvideo encoding (H.264/SVC) to overcome channel rate variation and heterogeneous video client capabilities. Using multiple channels in the layered-video transmission has led to new challenges such as video packet scheduling and new multichannel encoding schemes [8, 16, 17, 18]. In this study, we suggest and evaluate several algorithms for on-line scheduling of layered-video content into multiple channels. These algorithms were specifically designed for wireless/mobile/sensor nodes because they have the following properties:
This research was funded by the European Union's Seventh Framework Programme (FP7/2007-2013) in the ENVISION project and by the MAGNETON grant 46725 from the Israeli Ministry of Trade and Industry.
Simple decision function
Low computation effort
Small state and storage requirements
Little channel feedback information
We implemented the schedulers and compared their performance on a real data trace. The experimental results confirm that our short-term scheduler outperforms the other schedulers. In particular, it reduces the error cost by 14%-24% compared to the fixed scheduler suggested in [16, 25]. Furthermore, its performance is very close (~1% difference) to the off-line scheduler (the best possible assignment). This paper is organized as follows. In the next section, related works are discussed. In section III, the multi-channel system model for video streaming over multi-channels is presented. The problem statement and the optimal scheduler are described in section IV. The scheduler algorithms are described in section V. In section VI, we describe the trace collection and the experimental results. Conclusions and further research directions are discussed in the last section. II.
RELATED WORK
Considerable attention in the literature has been paid to scheduling of multiple video streams, in particular over P2P networks [19, 20, 21]. These works are based on the assumption that many peers have the video content, and the video client (receiver) can generate requests for video packets from many peers. In most cases the success of a video streaming session depends primarily on the number of replications of the video content in the network. However, nodes in wireless network have limited storage. Thus, it cannot be assumed that a video content captured in one node can be widely replicated in the network. In fact, we assume that each video has one source. If multiple nearby cameras generate redundancy video, we assume that the visual content has been gathered, for example using [23]. The authors in [6] proposed an optimal scheduling strategy to minimize the overall video distortion, but their approach is closely related to Multiple Description (MD) coding, which is less efficient than layered coding [26].
Figure 1. Example of video packet delay and loss over time
The algorithm proposed in [24] minimizes the base layer losses, but it assumes that the base layer rate is equal to the enhancement. This video model is fairly idealized and can only be approximated by fine grained scalability (FGS). In [25] a scheduler was described to maximize video quality by prioritizing the most important packets. A similar strategy was discussed in [16], in which the channels are prioritized according to their packet loss rate and the important packets are transmitted over the high priority channels. However, it is predicated on a fixed channel error-rate over time. As plotted in Fig. 1, the packet error rate changes dramatically over time. Our proposed schedulers overcome this drawback by extending this strategy to time varying channels. These new schedulers are compared to the fixed strategy and to the optimal off-line scheduler.
Figure 2. Multi-channel video system model
Liang Zhou et al. [27] use simulations to study the problem of single-layer video streaming over multi-channel multi-radio multi-hop wireless networks, and develop distributed scheduling schemes with the goals of minimizing the video distortion and achieving certain fairness. Here, we consider multi-layer video streaming over multiple channels as described in the scheduling problem section below. Furthermore, our schedulers are evaluated using a real data trace. III.
Figure 3. Gilbert-Elliott two-state Markov model [2,3]
MULTI-CHANNEL VIDEO SYSTEM MODEL
In this section we provide an overview of the multi-channel video transmission system under consideration. As shown in Fig. 2, the system consists of three parts: the video server, M multiple channels and the video client. The video server is a mobile/wireless/sensor node that consists of a video source, a video encoder, and a module for stream splitting and channel protection. The video client is a mobile/wireless/sensor node that consists of a module for joining and decoding the channel protection, a video decoder and a viewer. These components are described briefly in the following paragraphs.
We assume that a space-time discrete video signal is used as input to the layered video encoder, which is characterized by its operational distortion-rate (DR) function Denc. After source coding, the compressed layered video stream is prepared for transmission by the channel codec. This involves packetization and forward error control (FEC) combined with interleaving to reduce the effect of burst errors. After channel encoding, the video layers are scheduled to channels and then the video packets are transmitted over the M channels according to their layer to channel mapping. For multi-channel video streaming applications, video packets are transmitted over the multiple channels and need to meet a play-out deadline. Decoded video quality at the receiver end is therefore affected by two factors: encoder compression performance and distortion due to packet loss or late arrivals. In this paper we focus on the video distortion from packet loss and late arrivals. Ddec = Denc + Dloss
(1)
For simplicity, we assume that video packets from the same layer are equally important. Thus, Dloss is linearly related to the packet loss and late arrival rate: Dloss = Clayer ∙(Ploss + Plate )
(2)
For layered video, the video distortion due to a packet loss and late arrival depends on the packet layer. Losing a packet from the basic layer is the worst and results in high video distortion. That is, Ddec = Denc + ∑layers (Dloss (layer))
(3)
We assume that for each video layer i a constant packet lost cost Ci is given, where C1 > C2 > ∙∙∙ > CM>1. The parameters Ci, i = {1, …, M}, represent the penalty on loss or late arrival of a single video packet in layer i. IV.
THE SCHEDULING PROBLEM AND THE OPTIMAL SCHEDULER
In our online scheduling problem, the scheduler receives M layered video streams with equal rates that arrive over time, and must schedule the video streams to M radio channels each with error rates that change over time. The scheduler must choose one permutation from M! possibilities without any knowledge of the future channels’ quality. The lack of knowledge of the future generally precludes the scheduler from guaranteeing optimal schedules. Note that the assumption that the number of video layers is equal to the number of channels is WLOG: redundant high layers are discarded by any scheduler; and redundant channels can be used by the FEC to increase the video stream reliability. Formally, we consider the following scheduling problem. Given M radio channels, each with time-varying error-rates, and M packets from M layers of video streams, each with a given constant lost cost C1, C2, ∙∙∙, CM, where C1 > C2 > ∙∙∙ > CM>1, the scheduler must decide at each time interval t, which video layer to transmit over each radio channel at time interval t such that the total lost cost is minimized.
Figure 4. Example of on-line and off-line schedulers
Min {Cost = C1(#Send(PKTL1)-#Receive(PKTL1)) + C2(Send(PKTL1)-Receive(PKTL2)) +…+ CM(Send(PKTLM)-Receive(PKTLM)) } (4) Recall that the parameters Ci, i = {1, …, M}, represent the penalty on loss or late arrival of a single video packet in layer i. Without a-priory knowledge of the channels’ error rates all the M! permutations have equal probability for minimum cost. Similar, if all channels have equal loss rates then all the M! permutations have equal probability for minimum cost. But if channels’ error rates follow some other probability models, then specific permutations may have higher probability for minimum cost than other permutations. The following theorem limits the competitive ratio (the ratio between the online scheduler's performance and the offline scheduler's performance) of any online scheduler. Theorem 1 If K channels, 1≤ K≤ M failed to transmit the video packets on time, then the competitive ratio of any on-line scheduler is: K
C i 1 M
i
C
jM K
j
C1 CM
Proof Assume that exactly K channels, 1≤ K≤ M, failed to transmit the video packets on time. Then the off-line scheduler (best assignment) maps the last K video layers to these channels and its lost cost is CK+1 +CK+2 +∙∙∙+ CM> K∙CM. In the worst case, the on-line scheduler chose these K channels to deliver the first K video layers. Its cost is C1 +C2 ∙∙∙+ CM-K. < K∙C1. ∎ An example of the on-line scheduler competitive ratio is plotted in Fig. 4. In this example a snapshot of five radio channels is given in a specific time interval. Assuming that channels number four and five failed to deliver the video packets on time, an off-line scheduler will assign the low priority video layers packets to the bad channels (V4 and V5). The on-line scheduler does not share the knowledge of the
channels results; thus, in the worst case, it can assign the high priority video layers packets to the bad channels (V1 and V2). The off-line scheduler cost is C4+C5 while the on-line cost is C1+C2. We use the Gilbert-Elliott two-state Markov model [2, 3] to describe the packet errors of each channel since it describes a simple packet erasure process (see Fig. 3). The two states are G (good), where the packets are received correctly and in a timely manner, and state B (bad), where the packets are either lost or arrive late. The model is described by the transition probabilities PGB from state G to B and PBP from state B to G. As intuitive channel parameters, we use the average packet loss probability of the channel P(B) = PGB/(PGB+PBG), and the average packet burst length of the channel LB = 1/GBG. These two parameters completely describe each channel. Note that different channels may have different parameter values. Furthermore, channel parameters estimations may change over time. Using this stochastic model for each channel, we can describe the optimal on-line scheduler as follows. Void Model-based_Optimal_Scheduler (M video layer packets, M channels) Begin 1: Prioritize video packets by layers; 2: In the first time interval Do: Assign layers to channels randomly; 3: For time interval t>1 Do 3.1 For each channel Do: 3.1.1 Estimate channel parameters; 3.1.2 Calculate P(G)=Pr(qt=G|q(t-1)); 3.2 Prioritize channels according to P(G) ; 3.3 Assign layers to channels by priority; End
V.
SCHEDULING ALGORITHMS FOR A MULTI-CHANNEL VIDEO SYSTEM
In this section, we describe and analyze the new scheduling algorithms for the multi-channel video system. In addition, we describe the optimal off-line scheduler and revise the fixed channel scheduler in [16]. The following procedures define the schedulers. In this description we refer to both loss packets and late arrivals as lost packets. Void Fixed_Scheduler(M video layer, M channels) Begin 1: Prioritize video layers; 2: In the first time interval Do: Assign layers to channels randomly; 3: In the second time interval Do: 3.1 Prioritize channels according to Loss_Rate(1); //fixed 3.2 Assign layers to channels by priority; 4: For time interval t>=3 Do Assign layers to channels by priority; End
The fixed priority scheduler [16] calculates the channel priority once – in the second interval. The priorities are driven from the loss rate (including late arrivals) reported in the first time interval. These channel priorities are used until the end of the session. Void Long-term_Scheduler(M video layer, M channels) Begin 1: Prioritize video layers; 2: In the first time interval Do: Assign layers to channels randomly; 3: For time interval t>1 Do 3.1 For each channel Do: Calculate AVG (Loss_Rate(1-(t-1))); 3.2 Prioritize channels according to AVG (Loss_Rate(1-(t-1))); 3.3 Assign layers to channels by priority; End
The long-term scheduler calculates the channel priorities for each time interval. The calculation is based on the average loss rate from the beginning of the session until the last interval. For each time interval the mapping is based on the new calculation on the channel results. This scheduler is based on the channel model described in Section III. According to the model, the average loss rate is the stationary state probability P(B) of state B (bad). We assume that in state G (good) all packet transmission arrive on time while in state B all packet transmission are either lost or late arrive. Thus, the error rate in this model is equal to the stationary state probability P(B) of state B (bad). This scheduler calculation is based on estimation of each channel parameters PGB and PBG as described in Section III according to the channel quality from the beginning of the session until the last interval, and prediction of the channel quality in the next time interval according to the expected channel loss rate. Void Short-term_Scheduler(M video layer, M channels) Begin 1: Prioritize video layers; 2: In the first time interval Do: Assign layers to channels randomly; 3: For time interval t>1 Do 3.1 Prioritize channels according to Loss_Rate(t-1); 3.2 Assign layers to channels by priority; End
The short-term scheduler calculates the channel priorities for each time interval. The calculation is based on the loss rate in the previous time interval. In each time interval the mapping is based on the new calculation on the channel results. This scheduler is also based on the channel model described in Section III. However, it uses the statistics of the previous time interval solely. Void Weighted_Scheduler(M video layer, M channels) Begin 1: Prioritize video layers; 2: In the first time interval Do:
Assign layers to channels randomly; 3: For time interval t>1 Do 3.1 For each channel Do: Calculate AVG(Loss_Rate(1-(t-1))); 3.2 Prioritize channels according to α∙AVG(Loss_Rate(1-(t-1)))+ (1- α)∙Loss_Rate(t-1) ; 3.3 Assign layers to channels by priority; End
Fig. 5 presents the scheduler cost calculations for a time interval of 1 second. The fixed scheduler and the long-term scheduler exhibited similar performance. It can be seen that the short-term scheduler outperformed both of them and achieved results that were very close to the off-line scheduler (the best possible assignment).
The weighted scheduler is a hybrid of the short and the long term schedulers. Its decision is based on the long-term average of the channel packet loss and the report of the previous interval. Void Off-line_Scheduler(M video layer, M channels) Begin 1: Prioritize video layers; 2: For time interval t>0 Do 2.1 Prioritize channels according to Loss_Rate(t); 2.2 Assign layers to channels by priority; End
The off-line scheduler simply chooses the best possible assignment by setting the channel priorities in time interval t according to the channel performance at the same time interval. Obviously, it cannot be implemented in a real system. We use it solely as a performance reference.
Figure 5. Total cost of the schedulers
It should be noted that all these schedulers have the list of features discussed in the introduction. They are very simple to compute, with low computational effort. Storage needs for calculation are low. Furthermore, they only use small feedback messages with the statistic of loss rate of each channel in the previous time interval. VI.
EXPERIMENTAL RESULTS
In this section we describe the trace collection and the results of the schedulers on the trace. To validate the scheduler’s performance we collected a real data trace. First, we transmitted video streams using several channels under various conditions. The transmission of the channels used LU60 of LiveU [19], and employed one to five modems connected to three different networks. Each modem had a different connection to the internet. We recorded the received data with LiveU's server (LU1000) and also with 'Wireshark' software. For each packet in each transmission from each channel, we recorded the packet sequence number, the transmit time stamp and the received time stamp. The recordings were made throughout the day including both peak (busy hours) and off-peak hours. Each experiment consisted of 5 samples of video transmissions using one to five simultaneous channels. The experiment was repeated 10 times with long video files (about 15 minutes). In addition, the experiment was repeated twice with short video files (five minutes) to test whether the observed statistic behavior also fit short transmissions. Overall, the recording trace included statistics for more than 12 million packets.
Figure 6. Total cost of the weighted schedulers
Figure 7. Changing the length of the evaluation interval
Additional results regarding the weighted schedulers are presented in Fig. 6. It can be seen that increasing the value of the parameter α results in cost reduction. In other words, because of the rapid changes in channel conditions over time, it is better to consider only the last statistic and ignore the channel long-term history. In Fig. 7 the result of changing the length of the evaluation interval is presented. Short intervals improve the short-term scheduler performance from 14% improvement to 24% w.r.t. the fixed scheduler. However, short intervals increase the number of feedback messages. VII. CONCLUSION In this study we suggest several scheduling algorithms for multi-channel layered-video transmission over wireless networks. The schedulers are specifically designed for wireless, sensor, and mobile nodes as they are very simple to compute and have low computation effort. They require small storage for the calculation and they only use small feedback messages to provide the loss rate statistic for each channel in the previous time interval. Our empirical results show that the short-term scheduler outperforms the other schedulers. In particular, it reduces the error cost by 14%-24% compared to the fixed scheduler suggested in [16, 25]. Furthermore, its performance is very close (~1% difference) to the off-line scheduler (the best possible assignment). ACKNOWLEDGMENT We thank Nir Nossenson, Prof. Yuval Rabani, and Guy Adini for useful discussions.
[9]
[10] [11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
REFERENCES [1]
[2] [3] [4]
[5]
[6]
[7]
[8]
A. J. Garcia-Sanchez, F. Garcia-Sanchez, J. Garcia-Haro and F. Losilla, "A cross-layer solution for enabling real-time video transmission over IEEE 802.15.4 networks", Multimedia Tools and Applications, Volume 51, Number 3 (2011), PP. 1069-1104. E.O. Elliott, “Estimates of Error Rates for Codes on Burst-Noise Channel”,. Bell System Technical Journal 42 (1963) pp. 1977–1997 E.N. Gilbert, “Capacity of a Burst-Noise Channel”, Bell System Technical Journal 39 (1960) pp. 1253–1265 K. Stuhlmuller, N. Farber, M. Link, and B. Girod, “Analysis of video transmission over lossy channels,” IEEE Journal on Selected Areas in Communications, vol. 18, no. 6, pp. 1012–32, June 2000. S. Paniga, L. Borsani, A. Redondi, M. Tagliasacchi, and M. Cesana, "Experimental evaluation of a video streaming system for Wireless Multimedia Sensor Networks", The 10th IFIP Annual Mediterranean Ad Hoc Networking Workshop (Med-Hoc-Net), pp. 165-170, June 2011. J. Apostolopoulos, T. Wong, W. Tan, and S. Wee. "On multiple description streaming with content delivery networks", In IEEE INFOCOM, 2002. E. Setton, X. Zhu and B. Girod, “Minimizing distortion for multipath video streaming over ad hoc networks”, IEEE Int. Conf. Image Processing (ICIP-04), Singapore, Vol.3, pp.1751–1754, Oct. 2004. Shiwen Mao, Shunan Lin, S. S. Panwar, Yao Wang, and E. Celebi, "Video Transport Over Ad Hoc Networks: Multistream Coding With Multipath Transport", IEEE Journal on Selected Areas in Communications, Vol. 21, No. 10, pp. 1721-1737, Dec. 2003.
[21]
[22]
[23]
[24]
[25]
[26]
[27]
B. Wang, W. Wei, and D. Towsley, "Multipath Live Streaming via TCP: Scheme, Performance and Benefits", ACM Transactions on Multimedia, 2009. D. Jurca and P. Frossard, “Distributed media rate allocation in multipath networks”, Signal Process.: Image Commun., Vol.23,pp.754–768, 2008. J. Apostolopoulos, T. Wong, W. Tan, and S. Wee. "On multiple description streaming with content delivery networks", In IEEE INFOCOM, 2002. L. Golubchik, J. Lui, T. Tung, A. Chow, W. Lee, G. Franceschinis, and C. Anglano. Multi-path continuous media streaming: What are the benefits? Performance Evaluation, 2002. Y. J. Liang, E. G. Steinbach, and B. Girod. Real-time voice communication over the Internet using packet path diversity. In ACM Multimedia, Ottawa, Canada, September/October 2001. T. P. Nguyen and Z. Avideh. Mutiple sender distributed video streaming. IEEE Transaction on Multimedia, 6(2), pp. 315-326, April 2004. Miao Wang, Lisong Xu and Byrav Ramamurthy, "Linear Programming Models For Multi-Channel P2P Streaming Systems", Mini-Conference at IEEE INFOCOM 2010. Eun Seok Ryu, Hye-Soo Kim, Sungjun Park, and Chuck Yoo, "PriorityBased Selective H.264 SVC Video Streaming Over Erroneous Multiple Networks", 2011 IEEE International Conference on Consumer Electronics (ICCE), pp. 337-338, 2011. Liang Zhou, Xinbing Wang, Wei Tu, Gabriel-Miro Muntean, and Benoit Geller, "Distributed Scheduling Scheme for Video Streaming over Multi-Channel Multi-Radio Multi-Hop Wireless Networks", IEEE Journal on Selected Areas in Communications, Vol. 28, No. 3, April 2010, pp. 409-419 Liang Zhou, Benoit Geller, Baoyu Zheng, Sulan Tang, Jingwu Cui, and Dengyin Zhang, "Distributed Scheduling for Video Streaming over Multi-Channel Multi-Radio Multi-Hop Wireless Networks", in proceedings of IEEE GLOBECOM, 2009. V. Agarwal and R. Rejaie, “Adaptive Multi-Source Streaming in Heterogeneous Peer-to-Peer Networks,” Proc. Multimedia Computing and Networking (MMCN ’05), Jan. 2005. Y. Guo, C. Liang, and Y. Liu, “AQCS: Adaptive Queue-based Chunk Scheduling for P2P Live Streaming,” in Proceedings of IFIP Networking, 2008. M. Zhang, Y. Xiong, Q. Zhang, and S. Yang, Optimizing the throughput of data-driven peer-to-peer streaming, IEEE Transactions on Parallel and Distributed Systems, vol.20, no.1, 2009. Yaoyao Gua, Yuan Tian, and Eylem Ekici, "Real-time multimedia processing in video sensor networks", Signal Processing: Image Communication 22 (2007) pp. 237–251. Pu Wang, Rui Dai, and Ian F. Akyildiz, "Visual Correlation-Based Image Gathering for Wireless Multimedia Sensor Networks", In proceeding of IEEE INFOCOM 2011, pp. 2489-2497. R. K. Rajendran and D. Rubenstein, Optimizing the Quality of Scalable Video Streams on P2P Networks, Computer Networks: The International Journal of Computer and Telecommunications Networking, vol. 50, no. 15, pp. 2641–2658, Oct. 2006. P. Baccichet, T. Schierl, T. Wieg, and B. Girod, “Low-delay Peer-toPeer Streaming using Scalable Video Coding,” in In Proc. of International Conference on Packet Video, 2007. F. Fitzek, B. Can, R. Prasard, and M. Katz, Overhead and Quality Measurements for Multiple Description Coding for Video Services, In Proc. of International Symposium on Wireless Personal Multimedia Communications, Sep. 2004. Liang Zhou, Xinbing Wang, Wei Tu, Muntean, G.-M., Geller, B., "Distributed scheduling scheme for video streaming over multi-channel multi-radio multi-hop wireless networks," IEEE Journal on Selected Areas in Communications, vol.28, no.3, pp.409-419, April 2010.