2003 Conference on Information Sciences and Systems, The Johns Hopkins University, March 12–14, 2003
Opportunistic Scheduling for Streaming Video in Wireless Networks1 Raja S. Tupelly and Junshan Zhang
Edwin K. P. Chong
Department of EE Arizona State University Tempe, Arizona 85287-7206 e-mail: {raju,junshan.zhang}@asu.edu
Department of ECE Colorado State University Fort Collins, CO, 80523-1373 e-mail:
[email protected]
Abstract — We propose an opportunistic scheduling algorithm for streaming video in wireless networks. This scheme exploits both the diversity gains embedded in channel variations and the video traffic burstiness across the users. In general, video traces exhibit a temporal structure in the frame size and the importance of the frame, which have varying effect on the quality of the video received. While “traditional” opportunistic schemes make use of only the channel variations, we develop a priority-based scheduling scheme that exploits channel variations and the relative importance of the frames. Using trace-driven simulations, we evaluate the performance of the scheduling algorithm and show that it achieves significant improvement over traditional opportunistic scheduling.
I. Introduction Efficient transmission of video over wireless remains one of the challenging goals for multimedia communications because of the scarce wireless resources, high bandwidth and quality of service (QoS) requirements for video transmission. Emerging third generation (3G) wireless standards and technologies promise a “last mile” solution capable of supporting mobile internet service(s) with significantly higher transmission rates than is possible at present. The third generation partnership proposal (3GPP) wideband code division multiple access (WCDMA) standard will support data rates up to 2Mbps with orthogonal variable spreading factor (OVSF) codes. BluetoothTM wireless technologies and Wi-Fi standards are preparing devices such as video cameras to connect to and use devices such as cellphones, personal digital assistants (PDAs), and laptops to transfer data over wireless networks. There have been many studies for video transmissions over wireless (e.g., [1, 2, 3, 4, 5]). Recent work [1] proposed a hybrid automatic repeat request (ARQ) protocol to increase the throughput of video delivery in a wireless mobile environment with certain deterministic guarantees. A framework for QoS provisioning for different classes of service and a class-based bandwidth scheduling scheme is described in [2]. The authors of [3] provided a rate-borrowing scheme for QoS provisioning in cellular networks carrying multimedia traffic. [4] presented a packet scheduling algorithm for the transmission of a single video stream by taking into consideration the relative importance of different types of frames and corresponding deadlines. 1 This research is supported in part by the National Science Foundation under grants ANI-0208135, 0098089-ECS, 0099137-ANI, and ANI-0207892, and by an Intel Research Council grant.
Along a different avenue, there has also been considerable research on scheduling for wireless data networks. Opportunistic scheduling aims to exploit multiuser diversity in the channel variation across the users. Recent works [6, 7, 8, 9] have studied wireless fair scheduling polices. They extend scheduling algorithms for wireline networks to wireless networks, and their schemes can provide short-term fairness and long-term fairness. However, these efforts assume a simple two-state Markovian fading channel model—the channel is either “good” or “bad,” which might not be applicable to realistic wireless channels. In [10, 11], a scheduling algorithm using the proportional fairness criterion has been studied. The authors of [12, 13] have investigated scheduling with possible simultaneous transmissions, taking into account both channel conditions and delay constraints. In [14] the problem of minimizing the energy consumption over wireless links is explored by allowing judicious packet transmissions over a longer time period. In [15], the authors develop an opportunistic scheduler that meets temporal fairness constraints. Building on this work, a general framework for scheduling in wireless networks is presented in [16]. However, there has been little work on developing opportunistic scheduling for the transmission of video streams over wireless, and this is the subject of this paper. Specifically, we propose opportunistic scheduling schemes to exploit both multiplexing and multiuser diversity. Multiplexing techniques have been developed to coordinate the phase shifts of different video flows to achieve multiplexing gain (see e.g., [17]). Loosely, multiplexing gain can be viewed as a type of multiuser diversity gain embedded in the traffic burstiness across the users and the different importance of the frames in video traffic. The multiplexing gain in the video traffic burstiness parallels and complements the multiuser diversity gain in the channel variation across the users exploited in traditional opportunistic scheduling [18]. Therefore, it is natural to expect that more diversity gain can be achieved by devising opportunistic scheduling schemes to exploit these two complementary multiuser diversity gains. Thus motivated, we develop a priority-based scheduling algorithm. The priority function takes into account the importance of different frame types and channel conditions of the users. We also introduce a weight in the priority function to incorporate the multiplexing gain. We provide heuristic ideas on how to design general priority functions. Using trace-driven simulations, the performance of the scheduling algorithm proposed is evaluated in terms of the frame loss rate (i.e, the rate at which the frames are unavailable at the time they are needed for playback) averaged over the users. The effect of different parameters in the priority function is also studied. The results show that this prioritybased opportunistic scheduling algorithm achieves significant
improvement when compared to conventional opportunistic schemes. The rest of this paper is structured as follows. Our system model will be described in Section II. In Section III we present our opportunistic scheduling algorithm. In Section IV, the simulation set up and the trace-driven simulation results are discussed. Finally we present our conclusion in Section V.
II. System Model Consider a single-cell wireless network with K users receiving streamed video from a base station or a central access point. We assume that the base station estimates the rates at which it can transmit to all the users by using pilot signals. The scheduler at the base station decides which user it has to transmit to, based on the channel conditions, frame type etc. The video streams are encoded using MPEG. Sequences of MPEG video comprise three different types of frames, which use motion prediction for their decoding [19, 20]: 1. I-frames (Intra coded frames) are compressed without reference to any other frame in the sequence. I-frames are inserted every 12 to 15 frames and are used to start a sequence, allowing the video to be played from random positions and for fast forward/reverse. Decoding of video can start only at an I-frame. 2. P-frames (Predicted frames) are coded as differences from the last I or P frame. The new P-frame is first predicted by taking the last I or P frame and “predicting” the values of each new pixel. P-frames use motion prediction for compressing. The differences between the predicted and actual values are encoded. As a result, P-frames have a compression ratio better than I-frames but depending on the amount of motion present. 3. B-frames (Bidirectional frames) are coded as differences from the last or next I or P frame. B-frames use prediction as for P-frames but for each block either the previous I or P frame or the next I or P frame is used. Because B-frames require both previous and subsequent frames for correct decoding, the order of MPEG frames as read is not the same as the displayed order. This gives improved compression compared with P-frames, because it is possible to choose for every macroblock whether the previous or next frame is taken for comparison.
Fig. 1: Frame dependencies in MPEG encoding
Fig. 1 shows the interdependence between the different types of frames. The I frames are largest in size, followed by P frames, and finally B frames. Typically, these frames are interleaved in a pre-determined sequence such as IBBPBBP... or IBPBPBPBP... to form a group of pictures (GOP). The former is more difficult to encode but provides a higher compression ratio than the latter. Throughout this paper we assume regular GOP patterns,
where a regular GOP is characterized by two parameters: N, the number of frames between two consecutive I frames, and M, the number of frames between an I/P frame and the subsequent I/P frame. For simplicity, in this paper we restrict our attention to the cases where the GOP consists of only I and P frames. Otherwise, the order in which the frames are transmitted is different from the order in which they are displayed. For convenience, let Tf be the frame duration (reciprocal of the playback rate). Each frame is divided into time slots, each of duration Ts , and for simplicity we take Tf to be an integral multiple of Ts .
III. Opportunistic Scheduling for Streaming Video We propose an opportunistic scheduling algorithm to schedule transmissions of many video streams (as opposed to the transmission of a single stream in [4]). The algorithm is designed to utilize the complementary multiuser diversity gains in wireless channel variations and video traffic burstiness. Specifically, the scheduler schedules users based on their priority values given by a priority function. This form of the scheduler is motivated by the observation in [16] that optimal opportunistic schedulers are of this form under general fairness constraints (such schedulers are also called index policies). The priority function takes into account the relative importance of the frames, traffic burstiness and channel conditions, and the diversity gains are combined in a unified manner. The priority function also provides a general framework to incorporate QoS requirements. We elaborate on the design of the priority functions and the different parameters in Section III-A and the scheduling algorithm in Section III-B.
A. Priority Function for Opportunistic Scheduling Simply put, at the beginning of a time slot the scheduler computes the priorities of all users and schedules the one with the highest priority to transmit. In the following, we outline the general principle for designing the priority function. (1) The packets of an I frame need to be given higher priority because the I frames serve as reference for the decoding of the succeeding frames. Since the decoding of P frames is also dependent on the previous P/I frame, the frames in a GOP are given priority in a decreasing order as they appear in a GOP (see e.g., [4]). Specifically, each frame is given an index depending on their priority called the frame priority index (fpi). For the case of the GOP pattern considered here, the fpi of a frame is simply set to be equal to the position of the frame within a GOP. All packets within a frame are given the same priority and same deadline. (2) Since the channel is time varying, we can exploit multiuser diversity by giving preference to the stream with good channel conditions. Therefore the packets of a stream with good channel are given higher priority. (3) Users with “more empty” buffers need to given higher priority, simply because these users are more likely to experience the undesirable situation where a frame needed for playback at a given time is not yet available in the user’s buffer. We refer to this situation as frame loss. Accordingly, the more the buffer is empty, the higher the corresponding priority is. (4) Multiplexing is introduced by giving higher priority to the streams that have started transmissions, so that the starting points of the streams are distributed within a time window (e.g., the time period of GOP).
−2
x 10−3
4
8 frame loss rate
frame loss rate
10
6 4 2
0 1.5
x 10
3
2
1
0 1.5 2.5
1
2
2.5
1
2
1.5
0.5
1.5
0.5
1 0
α
0.5
1
β
0
α
0.5
β
Fig. 2: Frame loss rate for 1st frame (left) and 12th frame (right) in a GOP with Tc = Ts , µ = 2
To incorporate the above intuitive ideas in scheduling, each user is assigned four different weights to take into account channel conditions, buffer emptiness, frame type, and multiplexing. The priority function Pk of user k in general takes the form Rk (Bk )β (1) Pk = Mk Rk (Ik )α where Rk is the rate at which the base station can transmit to the user k, if it is scheduled; Rk is the average throughput of user k; Ik is the frame priority index of the frame that user k is receiving; Bk is the amount of available buffer space for user k; and Mk is the weight used to distribute the starting times of streams, defined as follows: 1 if the k-th stream has not started transmitting Mk = µ if the k-th stream has started transmitting The values of parameters α, β, and µ are chosen according to the relative importance among the frame types, buffer emptiness, and starting times, respectively. Rewriting the priority function (1) in the “log” form, we get log(Pk ) = log(Mk ) + log(Rk ) + β log(Bk ) − α log(Ik ) − log(Rk ) (2) Each term in (2) provides some form of diversity or fairness across the users: the term log(Mk ) leads to multiplexing gain, log(Rk ) provides multiuser diversity in channel variations across the user, β log(Bk ) points to the diversity in terms of buffer usage, α log(Ik ) represents the diversity in the form of different frame types, and log Rk provides fairness across the users.
B. Scheduling Algorithm I) Initializing: Set initial values of Ik , Bk , Mk and Rk for all users; II) Choosing the winner : Calculate Pk for all users and choose the winner j as arg maxk (Pk ); III) Updating: Step 1: update Mj if necessary; Step 2: Bj = Bj − min(Bj , Rj Ts ); Step 3: update Rk , ∀ k ∈ {1, 2 · · · K};
Step 4: decrease the deadline by 1 for all the users that have started transmission; Step 5: update Ij if the current frame of user j is transmitted completely, ; Step 6: update the frame loss, if any, and drop the frames till the next I frame; Step 7: goto II;
IV. Simulation Results We consider the downlink transmission in a single-cell wireless network consisting of 25 users. The fading in the wireless channel is assumed to be Rayleigh fading and log normal shadowing with standard deviation of 8 dB. The Rayleigh fading process is simulated using the filtered Gaussian noise (FGN) model [21]. The average received signal to noise ratio (SNR) is 5 dB. The bandwidth is taken as 1.25 MHz. The users access one of the three video streams with equal probability. The mean rates of the trace files used are shown in the Table 1. Table 1: Trace Statistics
Mean Rate (kbps) Trace I
41.984
Trace II
72.809
Trace III
85.911
The video is played at the playback rate of 30 frames/s. The GOP considered consists of only I and P frames with GOP size of N = 12. The slot duration is Ts = 1.667 ms, and the buffer size is 16 KB. To get a sense of how the frame loss rate varies with α and β, we perform simulation runs with different values of α and β. The frame loss rate for the 1st and the 12th (last) frames in a GOP are plotted in Fig. 2 and Fig. 3. From Fig. 2 and Fig. 3 we observe that the frame loss rate is generally small when α is small and β is large. In particular, the value of α for which the frame loss rate is small for both the 1st and the 12th frames is between 0.1 to 0.2, and
−3
x 10
4
x 10−2
8 frame loss rate
frame loss rate
10
6 4
3
2
1
2 0 1.5
0 1.5
2.5
1
2.5
1
2
2
1.5
0.5
1.5
0.5
1
α
0
0.5
1 0
α
β
0.5
β
Fig. 3: Frame loss rate for 1st frame (left) and 12th frame (right) in a GOP with Tc = 5Ts , µ = 2
0.046
0.044
traditional opportunistic scheduling traditional opportunistic scheduling + multiplexing
traditional opportunistic scheduling traditional opportunistic scheduling + multiplexing 0.044
0.042
0.042 frame loss rate
frame loss rate
0.04
0.038
0.04
0.038
0.036 0.036
0.034
0.032 0
0.034
2
4 6 frame priority index
8
10
12
0.032 0
2
4
6 frame priority index
8
10
12
Fig. 4: Performance of traditional opportunistic scheduling with and without multiplexing (left plot: Tc = Ts ; right plot: Tc = 5Ts )
the value of β is between 1 to 2. Our intuition is that keeping the buffers as full as possible is critical, which can be viewed as “prefetching” that helps reduce the frame loss rate. The traditional opportunistic scheduling algorithm (which uses only information on channel conditions), with and without multiplexing, was simulated and the frame loss rate is plotted in Fig. 4 for Tc = Ts and Tc = 5Ts . Multiplexing is done so that the number of users requesting I frames during the frame period is minimized. The maximum latency of any stream is at most the time period of a GOP. With this multiplexing, the starting time of stream i will be ((i−1) mod N)Tf . From Fig. 4, multiplexing improves the performance for all frame types. Furthermore, the priority scheduling algorithm proposed in Section III-B is implemented and frame loss rate is plotted in Fig. 5. We observe that the proposed prioritybased scheduling algorithm can yield orders of magnitude improvement, compared to traditional opportunistic scheduling. Out intuition is that the priority-based scheduling have exploited the diversity gains due to the channel variation across
the users, the amount of buffer available, and frame type, in addition to multiplexing.
A. Effect of Multiplexing Intuitively, multiplexing gives different priorities to the streams depending on whether or not they have started. Thus, the likelihood of transmitting many I frames at the same time decreases, thereby reducing frame loss rate. In the proposed scheduling algorithm, as µ increases, the starting times of the streams would become more spread out. As a result, the frame loss rate decreases, as illustrated in Fig. 6. However, for large µ the starting times may get “cluttered”, when the starting times are subject to maximum latency constraint. In this case, the performance may deteriorate. For the sake of comparison, in Fig. 6 we also plot the case with starting times uniformly distributed within the duration of the GOP. Even this deterministic multiplexing leads to good performance. This is because the starting times are distributed, so are the deadlines of different streams.
−1
−1
10
10
−2
10
frame loss rate
frame loss rate
−2
10
traditional opportunistic scheduling + multiplexing priority−based opportunistic scheduling −3
10
traditional opportunistic scheduling + multiplexing priority−based opportunistic scheduling
−3
10 −4
10
−4
−5
10
10
0
2
4
6 8 frame priority index
10
12
0
2
4
6 8 frame priority index
10
12
Fig. 5: Performance of the priority-based opportunistic scheduling algorithm (left plot: Tc = Ts ; right plot: Tc = 5Ts ) −3
x 10
frame loss rate
5
250
uniformly distributed starting times µ=1 µ=2 µ=3 µ=4
200 Starting time (t/T s)
6
4
3
uniformly distributed starting times µ=1 µ=2 µ=3 µ=4
150
100
50
2 0 0
1 0
2
4
6
8
10
12
5
10 user index
15
20
25
frame priority index
Fig. 7: Starting times Fig. 6: Effect of multiplexing
We plot the starting times for different cases in Fig 7. For µ = 1, i.e, the case where the same priority is given to streams regardless of their transmission status, the starting times are relatively close. As the value of µ increases, the starting times become more distributed, but for higher values of µ the starting times no longer spread out because of the maximum latency restriction.
V. Conclusion In this paper, we proposed an opportunistic priority scheduling algorithm that exploits the diversity gains in channel variation and video traffic burstiness. The proposed algorithm gives different priorities to different users based on the channel condition, the frame type, and the amount of buffer available. It also makes the starting times of different users spread out so that deadlines of different users are spread out and the overall burstiness is reduced. By devising appropri-
ate weights in the priority function, desirable frame loss rate for different frames can be achieved. In particular, the buffer weight is found to be critical and needs to be given more weight than that of the frame priority. The simulation results show that the priority-based scheduling algorithm can yield significant performance gain.
Acknowledgments The authors would like to thank Sampath K. Ratnam for his help in providing the video trace files.
References [1] S. Wang, H. Zheng, and J. A. Copeland, “A QoS enhanced hybrid SR-ARQ for mobile video communications,” in IEEE International Conference on Communications 2000, vol. 1, 2000, pp. 322–326.
[2] Y. Guo and H. Chaskar, “Class-based quality of service over air interfaces in 4G mobile networks,” IEEE Communications Magazine, pp. 38–41, Dec. 1992. [3] M. El-Kadi, S. Olariu, and H. Abdel-Wahab, “Ratebased borrowing scheme for QoS provisioning in multimedia wireless networks,” IEEE Transactions on Parallel and Distributed Systems, vol. 13, pp. 156– 166, Feb. 2002. [4] S. H. Kang and A. Zakhor, “Packet scheduling algorithm for wireless video streaming,” in Intl. Packetvideo Workshop 2002, 2002. [5] O. Yu and S. Khanvilkar, “QoS provisioning over GPRS wireless mobile links,” in Wireless Communications and Networking Conference, vol. 1, Mar 17-21, 2002, pp. 526–530. [6] S. Lu, V. Bharghavan, and R. Srikant, “Fair scheduling in wireless packet networks,” IEEE/ACM Transactions on Networking, vol. 7, pp. 473–489, 1999. [7] T. Nandagopal, S. Lu, and V. Bharghavan, “A unified architecture for the design and evaluation of wireless fair queueing algorithms,” in ACM MOBICOM 99, 1999. [8] T. S. Eugene Ng, I. Stoica, and H. Zhang, “Packet fair queueing algorithms for wireless networks with location-dependent errors,” in IEEE INFOCOM’98, 1998, pp. 1103–1111. [9] S. Shakkottai and A. Stolyar, “Scheduling Algorithms for a Mixture of Real-Time and Non-RealTime Data in HDR,” in 17th International Teletraffic Congress (ITC-17), 2001. [10] P. Bender, P. Black, M. Grob, R. Padovani, N. Sindhushayana, and A. Viterbi, “CDMA/HDR: A bandwidth-efficient high-speed wireless data service for nomadic users,” IEEE Communications Magazine, pp. 70–77, July 2000. [11] A. Jalali, R. Padovani, and R. Pankaj, “Data throughput of a CDMA/HDR—a high efficiency high data rate personal communication wireless system,” in IEEE VTC 2000, vol. 3, 2000, pp. 1854– 1858. [12] M. Andrews, K. Kumaran, K. Ramannan, A. Stolyar, R. Vijaykumar, and P. Whiting, “CDMA Data QoS scheduling on the forward link with variable channel conditions,” Bell Labs Tech. Memo., Apr. 2000. [13] M. Andrews, K. Kumaran, A. Stolyar, P. Whiting, and R. Vijaykumar, “Providing quality of service over a shared wireless link,” IEEE Communications Magazine, pp. 150–154, Feb. 2001.
[14] B. Prabhakar, E. U. Biyikoglu, and A. E. Gamal, “Energy-efficient transmission over a wireless link via lazy packet scheduling,” in IEEE INFOCOM’01, vol. 1, 2001, pp. 386–394. [15] X. Liu, E. K. P. Chong, and N. B. Shroff, “Opportunistic transmission scheduling with resourcesharing constraints in wireless networks,” IEEE Journal of Selected Areas in Communications, special issue on Mobility and Resource Management in Next Generation Wireless Systems, vol. 19, no. 10, pp. 2053–2064, Oct. 2001. [16] X. Liu, E. K. P. Chong, and N. B. Shroff, “A framework for opportunistic scheduling in wireless networks,” Computer Networks, to appear. [17] M. Krunz and S. K. Tripathi, “Exploiting the temporal structure of MPEG video for the reduction of bandwidth requirements,” in IEEE INFOCOM’97, vol. 1, 1997, pp. 67–74. [18] D. Tse, “Multiuser diversity in wireless networks,” Apr. 2001. [Online]. Available: http://degas.eecs.berkeley.edu/ dtse/pub.html [19] D. Le Gall, “MPEG: A video compression standard for multimedia applications,” Communications of the ACM, vol. 34, no. 4, pp. 46–58, April 1991. [20] P. N. Tudor, “MPEG-2 video compression tutorial,” in IEE Colloquium on MPEG-2 - What it is and What it isn’t, 1995, pp. 2/1–2/8. [21] G. L. Stuber, Principles of Mobile Communications, 2nd ed. Kulwer Academic Publishers, 2001.