Packet Scheduling in Multi-Channel Layered-Video ...

2 downloads 0 Views 667KB Size Report
Kfar-Saba, Israel [email protected]. Abstract—We investigate the responsibilities of the session manager in a multi-channel streaming video session over wireless.
Session Management in a Multi-Channel Video Streaming System for 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 investigate the responsibilities of the session manager in a multi-channel streaming video session over wireless networks. The session manager decides how many channels should be active in the next time interval on the basis of session measurement reports and other considerations. We suggest a simple algorithm for session management and evaluate its performance against unmanaged multi-channel sessions. Experimental results reveal that system performance significantly improved in the managed as compared to the unmanaged session. Keywords- multi-channel video transmission; management; wireless video networks; video QoS.

I.

session

INTRODUCTION

A video streaming application encodes, packetizes and transmits video frames in real-time. In other words, every streaming video frame needs to meet a play-out deadline. Currently, most networks support real-time services only in a best -effort manner. Therefore, video streaming services have to include special measures to be resilient to 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 [5, 6, 9, 10, 11, 12, 13, 14], in peer-to-peer networks [15, 19, 20, 21] and wireless ad-hoc networks [7, 8]. Multi-channel video transmission is often coupled with adaptive/scalable layered-video encoding (H.264/SVC) to overcome channel rate variation and heterogeneous video client capabilities. Using multiple channels in layered-video transmission has also led to new challenges such as video packet scheduling and new multichannel encoding schemes [8, 16, 17, 18]. In this study, we define and explore the responsibilities of the session management module in a multi-channel video session. Assuming that M channels can be activated in a particular video session, according to our definition, the session manager decides on the number of active channels A ≤ M and selects the set of active channels. The decision is based on the session measurement reports regarding the channel conditions from the beginning of the session up to the last time interval. Additional considerations affecting this decision include the required video QoS parameters, information regarding the QoE parameters, etc. The number of active channels corresponds to target performance indicators such as target video rate in the

This research was funded by the European Union's Seventh Framework Programme (FP7/2007-2013) in the MEDIEVAL project and by the Net-HD MAGNET grant from the Israeli Ministry of Trade and Industry.

next time interval. We focused on the minimal number of active channels that satisfy the performance requirements, to reduce the overall system overhead. The session management algorithm described in this study was specifically designed for wireless nodes because it has the following properties: 

Simple decision function



Low computation afford



Small state and storage requirements



Little channel feedback information

To the best of our knowledge, no study has dealt with the number of active channels required in the context of a multichannel video session. We implemented a simple algorithm for session management and evaluated its performance using a real data trace. The experimental results show that the quality of the received video stream increased significantly while managing the session. For example, when setting the target video rate at 1.2 Mbps in an unmanaged session (over two-channels), the required rate was violated in 58.7% of the time intervals. The corresponding managed session with 1-4 channels had only 38.6% time intervals with under-rate video. This represents a 20.1% improvement. A static 3-channel session had 40.6% of under- rate time intervals, and generated 13.2% more overhead; a static 4-channel session had 27.7% of under- rate time intervals, but generated 60.4% more overhead. This paper is organized as follows. In the next section, the problem statement and rationale for session management are discussed. A simple algorithm for multi-channel video streaming session management is described in section III. In section IV, we report the trace collection and the experimental results. Conclusions and further research directions are discussed in the last section. II.

MULTI-CHANNEL VIDEO SYSTEM

In this section we provide an overview of the multi-channel video transmission system under consideration [3]. As shown in Fig. 1, the system consists of three parts: the video server, the multiple channels and the video client. The server and clients can communicate over up to M multiple channels

Figure 1. Architecture of the multi-channel video streaming system [3]

(paths, networks). The video server consists of a video source, a video encoder, a module for stream splitting and channel protection (FEC), a session monitoring module, channel scheduler and a session manager module. The video client consists of a module for joining and decoding the channel protection, a session monitoring manager module, a session manager module, 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 function. 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 active channels and then the video packets are transmitted over the channels according to their layer to channel mapping. We used the Gilbert-Elliott two-state Markov model [1, 2] to describe packet errors on each channel (see Fig. 2). The two states are G (good), where the packets are received correctly and in a timely manner, and 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 used 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.

It should be noted that different channels may have different parameter values. Furthermore, channel parameters may change due to the activation of other channels that share some resources such as bottlenecked links. This is demonstrated in Fig. 3 where the video rate (blue) is presented together with the error rate (red) for a single channel video transmission (a); while activating another channel, it can be seen that the video rate decreases and the error rate increases (b).

Figure 2. Gilbert-Elliott two-state Markov model [1, 2]

As a result, the video rate in a multi-channel system with up to M channels is generated according to the following formula: One channel:

R1 = R ∙ (1-α1)

Two channels

R2 = 2R ∙ (1-α2) ∙∙∙ RI = IR ∙ (1-αi) ∙∙∙

M channels

RM = MR ∙ (1-αm)

Where α1 < α2 < ∙ ∙ ∙ < αm. That is, the error rate increases with the number of active channels.

The session manager tasks are: 1) Calculate: target video rate and additional parameters. 2) Decide: the number of active channels A (1 ≤ A ≤ M). 3) Decide: the set of A active channels. The session management procedure is as follows. Void SessionMNG_Procedure() Begin 1: In the first time interval Do: 1.1: Initiate session; 1.2: Activate all M channels; 2: For each time interval i>1 Do: 2.1: Get report from session monitor; 2.2: Calculate target video rate, RV; 2.3: Decide the number of active channels A; 2.4: Choose the set of A active channels; 2.5: Update the other modules; End

The session manager module initiates the session, calculates the target video rate from the monitoring report of the previous time interval and session state parameters (such as QoS parameters, QoE parameters). It decides the number of active channels in the next time interval and chooses the particular set. Finally, it updates the other modules (see Fig. 1 above). In this paper we focus on the second question (step 2.3 of this procedure): according to session history and quality requirements, how many channels should be active in the next time interval? In the following sections we describe a simple algorithm that responds to this question and evaluate its performance on a real data trace. (a) Single channel (without additional channels) III.

A SIMPLE ALGORITHM FOR SESSION MANAGEMENT

In this section, we propose a new session management algorithm to determine the required number of active channels in the next time interval in a multi-channel video system. The trivial unmanaged session algorithm is presented here simply as a reference for the performance evaluation. The next procedure describes the trivial algorithm for deciding on the required number of active channels.

(b) Single channel (with additional channels)

Figure 3. (a) Video rate (blue) and error rate (red) over a single channel; (b) Video rate and error rate over the same channel while activating another channel.

Int Unmanaged_ActiveChannels (target Rv, channels, time interval) Begin 1: In the second time interval Do: 1.1: Calculate min i such that RI > Rv based on session monitor report (1); 1.2: Return (i); 2: For each time interval j>2 Do: Return (i); End

The trivial algorithm calculates the required video rate once, in the second interval. The number of active channels is derived from the video rate and the loss rate (including late arrivals) reported in the first time interval. This number of channels is used until the end of the session.

The next procedure describes the new session management algorithm for deciding on the required number of active channels. Int Managed_ActiveChannels (target Rv, M channels, time interval) Begin 1: In the second time interval Do: 1.1: Calculate min i such that RI > Rv based on session monitor report (1); 1.2: Return (i); 2: For each time interval i>2 Do: 2.1: Calculate RA based on session monitor report (time interval-1); 2.2: If (RA > THHigh) If (A>1) Return(A-1); Else return (1); 2.3: Else if (RA < THLow) If (A< M) Return (A+1); Else Return(M); 2.4: Else (THLow ≤ RA ≤ THHigh) Return(A); End

Motivated by the observation ([4]) that short-term decisions are better than long-term decisions in the case of time varying channels, we propose a simple algorithm that only uses statistics from the last time interval. The simple algorithm for session management calculates the video rate of the active channel set of size A in the last time interval. If the value is higher than the high threshold, it removes one channel from the set of active channels and returns the value A-1. If the value is lower than the low threshold it adds one channel to the set of active channels and returns the value A+1. It should be noted that this algorithm incorporates the list of features discussed in the introduction. It is very simple to compute, with low computational afford. Storage needs for calculation are low. Furthermore, it only uses small feedback messages to provide the video rate and the loss rate statistics of each active channel in the previous time interval. IV.

EXPERIMENTAL RESULTS

In this section we describe the trace collection and the performance of the session management algorithm and the unmanaged algorithm on the trace. To validate the session manager’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 '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. Fig. 4 presents the results of video rate (blue) and the error rate (red) for the trivial unmanaged session algorithm (procedure unmanaged_ActiveChannels above). The target video rate (black) was 1.2 Mbps and the time interval length was one second. In the first time interval all four channels are activated. Then, according to the first monitor report, a specific number of channels is selected and activated. These active channels are active till the end of the session. The required rate was violated in 58.7% of the time intervals. The average number of active channels was 2.0. Fig. 5 presents the results for static 3-channel video session. The required rate was violated in 40.6% of the time intervals. Fig. 6 presents the results for static 4-channel video session. The required rate was violated in 27.7% of the time intervals. Note that these last two figures plot the graphs of static multichannel video session and not the results of the trivial unmanaged session algorithm (presented in Fig. 4). These figures are provided as performance references to both the managed algorithm and the unmanaged algorithm. Fig. 7 presents the results of video rate (blue) and the error rate (red) for the simple algorithm for session management. The managed session with 1-4 channels had only 38.6% time intervals with under rate video. This represents a 20.1% improvement compared to the unmanaged algorithm and 2% improvement compared to the static 3-channel session. In Fig. 8, the number of active channels in the managed session with 1-4 channels is presented. The average number of active channels was 3.18. Regarding the session overhead (late arrival packets and video redundant packets), the unmanaged session algorithm generated 95.2% overhead packets while the session management algorithm generated 126.6% overhead packets. The static 3-channel session generated 139.8% packet overhead and the static 4-channel session generated 187% packet overhead. The performance evaluation results are summarized in Table 1 below. TABLE I. PERFORMANCE EVALUATION Method Unmanaged session (1-4 channels) Managed session (1-4 channels) Static 3-channels Static 4-channels

Video Rate Violation

Overhead

58.7%

95.2%

38.6%

126.6%

40.6%

139.8%

27.7%

187.0%

Figure 4. Video rate (blue) and error rate (red) of unmanaged video streaming session over 1-4 channels

Figure 7. Video rate (blue) and error rate (red) of managed video streaming session over 1-4 channels

Figure 5. Video rate (blue) and error rate (red) of static video streaming session over 3 channels

Figure 8. The number of active channels in managed 1-4 channels session.

V.

CONCLUSION

In this study we suggested a simple algorithm for session management in multi-channel video transmission. The algorithm is specifically designed for mobile nodes as it is very simple to compute and has low computation afford. It has low storage requirements for calculation and it only uses small feedback messages that provide the video rate and the loss rate statistics for each active channel in the previous time interval. Our empirical results show that this algorithm outperforms the unmanaged algorithm. In particular, it reduces the number of video rate violations by 20.1% compared to the unmanaged algorithm. Furthermore, it saves 60.4% of session packet overhead as compared to the static session with a maximal number of active channels. ACKNOWLEDGMENT Figure 6. Video rate (blue) and error rate (red) of static video streaming session over 4 channels

We thank Nir Nossenson for useful discussions and Omer Markowitz for the trace collection.

REFERENCES [1]

Elliott, E.O.: Estimates of Error Rates for Codes on Burst-Noise Channels. Bell System Technical Journal 42 (1963) pp. 1977–1997 [2] Gilbert, E.N.: Capacity of a Burst-Noise Channel. Bell System Technical Journal 39 (1960) pp. 1253–1265 [3] R.Nossenson, “Multi-channel Video Streaming System Architecture”, Net-HD report, 2012, http://www.nethd.org.il/ [4] R.Nossenson and N. Amram, "Packet Scheduling in Multi-Channel Layered-Video Streaming over Wireless Sensor Networks", To appear, The 1st International Workshop on Wireless Multimedia Sensor Networks (WMSN'12) (part of WiMob 2012), pp. 683-688, Barcelona, Spain, Oct. 2012. [5] R. Nossenson and O. Markowitz, “Using Coordinated Agents to Improve Live Media Content Transmission”, In proceedings of the Sixth International Conference on Systems and Networks Communications (ICSNC 2011), pp. 167-170, Barcelona, Spain Oct. 2011. [6] J. Apostolopoulos, T. Wong, W. Tan, and S. Wee. "On multiple description streaming with content delivery networks", In IEEE INFOCOM, 2002. [7] 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. [8] Shiwen Mao, Shunan Lin, Shivendra S. Panwar, Yao Wang, and Emre Celebi, "Video Transport Over Ad Hoc Networks: Multistream Coding With Multipath Transport", IEEE journal on selected areas in communications, Vol. 21, No. 10, Dec. 2003, pp. 1721-1737 [9] B. Wang, W. Wei, and D. Towsley, "Multipath Live Streaming via TCP: Scheme, Performance and Benefits", ACM Transactions on Multimedia, 2009. [10] D. Jurca and P. Frossard, “Distributed media rate allocation in multipath networks”, Signal Process.: Image Commun., Vol.23, pp.754–768, 2008. [11] J. Apostolopoulos, T. Wong, W. Tan, and S. Wee. "On multiple description streaming with content delivery networks", In IEEE INFOCOM, 2002.

[12] 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. [13] 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. [14] T. P. Nguyen and Z. Avideh. Mutiple sender distributed video streaming. IEEE Transaction on Multimedia, 6(2), pp. 315-326, April 2004. [15] Miao Wang, Lisong Xu and Byrav Ramamurthy, "Linear Programming Models For Multi-Channel P2P Streaming Systems", Mini-Conference at IEEE INFOCOM 2010. [16] 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. [17] 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 [18] 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. [19] V. Agarwal and R. Rejaie, “Adaptive Multi-Source Streaming in Heterogeneous Peer-to-Peer Networks,” Proc. Multimedia Computing and Networking (MMCN ’05), Jan. 2005. [20] Y. Guo, C. Liang, and Y. Liu, “AQCS: Adaptive Queue-based Chunk Scheduling for P2P Live Streaming,” in Proceedings of IFIP Networking, 2008. [21] 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.

Suggest Documents