# Developing a Video Buffer Framework for Video Streaming in Cellular Networks

Authors: Saba Qasim Jabbar; Dheyaa Jasim Kadhim; Yu Li
Journal: Wireless Communications and Mobile Computing
 (2018)

---

## Abstract

This work proposes a new video buffer framework (VBF) to acquire a favorable quality of experience (QoE) for video streaming in cellular networks. The proposed framework consists of three main parts: client selection algorithm, categorization method, and distribution mechanism. The client selection algorithm was named independent client selection algorithm (ICSA), which is proposed to select the best clients who have less interfering effects on video quality and recognize the clients’ urgency based on buffer occupancy level. In the categorization method, each frame in the video buffer is given a specific number for better estimation of the playout outage probability, so it can efficiently handle so many frames from different videos at different bitrates. Meanwhile, at the proposed distribution mechanism, a predetermined threshold value is selected for lower and upper levels of playout outage probability. Then, the control unit at the base station will distribute the radio resources and decide the minimum rate requirement based on clients’ urgency categories. Simulation results showed that the VBF grantees fairness of resources distribution among different clients within the same cellular network while minimizing the interruption duration and controlling the video buffer at an acceptable level. Also, the results showed that the system throughput of the proposed framework outperforms other existing algorithms such as playout buffer and discontinuous reception aware scheduling (PBDAS), maximum carrier-to-interface ratio (MAX-CIR), and proportional fair (PF) due to enhancing the quality of experience for video streaming by increasing the radio resources in fairness manner.


---

## Body

## 1. Introduction

The wealth of online videos and widespread access points make people easily get Internet anywhere for any content they want. According to Cisco visual networking index for world Internet traffic, the most of traffic on the Internet is caused by video streaming. In cellular networks, a video streaming is considered as a major research problem nowadays because of the increased demand for high video quality [1, 2]. Since the wireless channel has different time features, the video streams playing process may be interrupted, which causes frames not to complete their flow into the buffer on client’s device [3, 4].However, the services of video streaming will make up 70% of the Internet movement in the near future [5], so that several techniques will be used to provide a high data throughput to support high quality of Service (QoS) for video streaming over wireless networks, such as 3GPP (long-term evolution) LTE, mmWave MIMO, and massive MIMO. These cellular technologies can offer extra grades of freedom to customers, which can be utilized to ensure reducing the noise, fade, and hardware impairments when signals from a large number of antennas are collected in common air. Consequently, it can rise the capacity by many times and it can improve energy efficiency radiating by many times, which can ensure the quality of received signal and achieve a high reliable link [6, 7].In the cellular networks, a high video quality with playback continuity can be achieved together through(1) increasing network throughput, (2) minimizing the interruption duration, and (3) mitigating the variation of buffer occupancy level. However, if the bandwidth allocation cannot meet the bitrate requirement, a playout outage problem will occur which will impact the video quality. To solve this problem, a lot of algorithms had been suggested and the works of these algorithms were approached into main two directions. The first direction is utilizing the potential of mobile network techniques for improving video quality (i.e., LTE, LTE-A, massive MIMO, etc.). The main advantage of this approach is that massive MIMO can enhance the network performance through allocating more antennas mobile users and hence achieving higher transmission rates, low latency, and high energy efficiency. Even that massive MIMO has the problem called pilot contamination because of the signals that can be sent from mobile users to the base station for channel estimation. However, massive MIMO can achieve better performance without increasing training overhead especially when the number of antennas increases. The second direction is adapting the bitrates for next downloaded segments through estimating network bandwidth or video buffer status. If the network bandwidth is high, the client can select the video format with high quality; otherwise the algorithm must switch to low quality of video format for avoiding video playout outage. The advantage of adaptive algorithm is to rise the video quality through meeting conflicting objectives in a way enhancing the user’s viewing experience, such as choosing a group of video bitrates which are the highest feasible, a voiding unnecessary bitrate switches, and keeping the buffer content to avoid interruption of playback. The main challenge for this approach is the large bandwidth fluctuation for the video streaming, so the adaptive algorithm must respond to that fluctuation by quickly adapting the bitrate accordingly.Authors of [8] proposed a rate adaptation algorithm based on calculating the average segment downloaded rate. The algorithm switches up or down the bitrate with the network bandwidth in aggressive way to maintain the video quality in acceptable level. The author proposed a rate adaptation algorithm which follows a conservative way for increasing the video bitrate, but when the available bandwidth drops suddenly, the algorithm aggressively decreases the video bitrate and, hence, causes a sudden decrease in the video quality. Authors of [9] proposed a playout buffer and discontinuous reception (DRX) aware scheduling scheme (PBDAS) to enhance video streaming over long-term evolution (LTE) network. This scheduler scheme can distinguish the urgency among the clients based on a metric called remaining playout time (RPT) which is proposed for estimating playout buffer status. Then, two levels of resource allocation are presented: the upper level is used for specifying the scheduling set according to RPT, while the lower level is used for allocating the resources to the clients’ equipment’s in the set. The proposed scheme could shorten the interruption duration and maintain the consumed power at an acceptable level. However, this scheme faced the problem of inability to allocate the most urgent clients with the delay aware scheduler like TLS (transport layer security) since the delay of longer packet transmission does not mean worse video playback continuity but makes it difficult for TLS to estimate the user urgency accurately. Also when the DRX cycle is longer than the threshold, there would be a lot of interruptions.Authors of [10] proposed a stream switching algorithm based on encoding the raw video chain for multiple video formats with different qualities and bitrates where two control mechanisms are implemented: one for controlling the video buffer and the other for selecting the suitable video representation level under time varying condition; however what impairs this proposed algorithm is that it did not well consider the fairness among clients. In [11], an adaptation algorithm for adaptive streaming over HTTP (AAASH) is proposed for rate adaptation with multiple parameters and conditions. This algorithm consists of two phases: fast phase for increasing the buffer level to predefined threshold value and steady phase for controlling the buffer level from going back to underflow state, so the algorithm could limit the number of video quality switches. However, this approach has the following disadvantage: when the network condition is bad, the video buffer would be filled with low quality segments; when the network condition is good, the client would still stream the lower quality video since the buffer is filled with low quality segments; and only after these segments have been played, the client could stream the higher quality segments.Hence, it can be seen from the above literature and other works such as [12, 13] that these schemes are trying to improve the video quality either through allocating resources to clients that have good channel quality or through keeping video playback continuity with low bitrates, so it may fail to improve video quality and achieve the fairness among clients, while our proposed framework comes with a new distributing mechanism for controlling the playout outage probability level relying on current buffer occupancy. The proposed framework achieves accepted balance of fairness among different clients urgency, minimizes the interruption duration, and maintains the buffer level away from underflow/overflow, hence improving the quality of experience.This work aims to reduce the time of playout outage which is defined here as the average time in which the client does not run a video due to the emptiness of video buffer, that is, reducing the average time in which the client does not run a video because the video buffer is empty. Therefore, a new proposed video buffer framework (VBF) is suggested to improve the continuity of video playing services over cellular networks. This framework aims to keep the video buffer as not empty as possible, so we can guarantee the video playback continuity at client’s device. The proposed framework is constructed from three main approaches, namely, client selection algorithm, categorization method, and distribution mechanism. This proposed framework comes with a new resource distributing mechanism which will distribute the radio resources among clients upon the level of playout outage probability and then decide the minimum rate requirement based on clients’ urgency categories.This paper is organized as follows: Section2 will describe our system design for video streaming over cellular network. Section 3 will present our proposed video buffer framework in detail. Section 4 will show the simulation results of applying our proposed framework in video streaming over cellular network. Finally, Section 5 will give the research conclusions that can be drawn from this work.


## 2. System Design

The network topology implemented in this work consists of one base station (i.e., central control unit (CCU)) and several clients. All the clients request the video streaming with different types of terminals, such as laptop, tablet, and smart phone. The videos were pre-encoded in H.264/AVC and stored in the video server. After being requested, the video data will be transmitted to CCU through a reliable link. At CCU, the data packets will be buffered in a specific queue. Then, all these packets are forwarded to the requesting clients using a given scheduling technique. The CCU at the base station will have a radio resource scheme and packet scheduling strategy and these two schemes consider some influencing parameters such as packet size, current channel status, client playout buffer occupancy, and the total interruption time. This work mainly focused on the resource allocation part, while the packet scheduling strategy is set to be FIFO (first-in, first-out).


### 2.1. Cellular Network Model

The cellular network consists of one central controller unit (CCU) equipped with large number ofM antennas (i.e., massive MIMO) and K single-antenna clients assuming (M≫K) as shown in Figure 1.Figure 1
Modern cellular network.Let the download power (during transmission) at the base station bepdk and the upload power (during transmission) at each client be puk. At the receiver, the base band signal forkth client is given as(1)yk=hkHxk+nkfork=1,2,3,…,K,where hk∈CM×1 is thekth channel vector which is assumed to be a quasi-static independent and identically distributed (iid) Rayleigh fading channel and the block length of the channel is denoted by Tc,while x∈CK×1 is the transmitted symbol vector with ExxH=diagPd=pd1,pd2,…,pdk subjected to normalized power Pd=1, and each element in P is not less than 0. nk is the noise term according to an independent complex Gaussian distribution with zero mean and unit variance 0,1 respectively. For a low complexity, we consider the use of the most common linear precoding scheme called zero-forcing (ZF) beamforming. In this case, the transmitted signal is a summation of the products formed by the desired signal and the associated precoding vector. Therefore, the received signal at thekth client can be written as(2)yk=pdkhkHoksk+∑j=1,j≠kKpdjhkHojsj+ik,where the first term of the right side of (2) contains the desired signal for thekth client, the second term represents the interference caused by the other clients, and the last term is the background noise. ok∈C1×K denotes thekth column of the pseudoinverse channel matrix formed by the clients of the set U, and sk represents the data symbol signal of thekth client. We assume that the CCU performs antenna selection by choosing N antennas from a set of An antennas among the M antennas whereN≪M. Since the ZF beamforming is used, supposing the instantaneous values of path gains are known at the receiver and the transmit power is uniformly allocated for the N transmit antennas, the received signal to interference plus noise ratio (SINR) for client k∈U when antennas in An are serving the clients in U is given by (3)Υkk,An,t=pdkhkHok2∑j=1,j≠kKpdjhkHoj2+σ2,wherepdk is the transmit power of thekth client which must satisfy the following constraint for the selected antennas of the set An. hk and ok are thekth column inHandO matrices, respectively.(4)∑k=1Kpdk≤Pd,where Pd represents the total transmit power. The achievable sum rate at the broadcast channel can be obtained by (5)RAn,t=∑k=1KRkk,An,t=∑k=1Klog2⁡1+Υkk,An,t,where Rk is the achievable rate forkth client which is defined as a successful transmission of information bits per unit area under required connection outage or as the size of segments (in bits) divided by the segments delivery duration. The control unit for scheduling is responsible for controlling and differentiating between clients’ urgency. Also, there is a FIFO cache in central control unit to request many popular videos on the web.


### 2.2. Client Buffer Model

The client video rate can be chosen from a set ofϖ discrete video rates {VR1,…,VRϖ}, where VR1<VR2<⋯<VRϖ. We also refer to VR1 as VRmin (the minimum video rate) and VRϖ as VRmax (the maximum video rate). Each segment contains Tseg seconds of video and the client can only change its chosen video rate on a segment-by-segment basis. In the proposed model, the streaming buffer in the client is typically measured in seconds of running time, the buffer may contain segments with many different video rates, and the output bitrate of the buffer will rely on the video rate of the segment currently being played. By measuring the buffer in the time domain, the client keeps a record of the number of video seconds from playing the video that is currently in the buffer without having to track the video rate associated with each video clip [14]. The client playout buffer model is shown in Figure 2.Figure 2
Client playout buffer model.Initially, three thresholds in the buffer level are defined for the media player at the client, namely,S,BL, and BH measured in seconds with 0<BL<BH<Bmax, where Bmax denotes the maximum value of the buffer level and Bcurr is the current buffer level. While R(t) denotes the network capacity for download side at time t, let Bcurrt be the playback buffer occupancy at time t and let VRt denote the video rate selected at time t. Note that if the buffer is full, then no segment can be downloaded at time t (i.e., if Bcurrt=Bmax, then Rt=0). Every time one second of video is removed from the buffer, another one second is played at the client player. The client seeks segments of video from the server; each segment contains a fixed duration of video (e.g., four seconds per segment). The higher video rate means that the segment size in bytes is large [15]. Now, if the adaptive video rate VRt is greater than system capacity Rt, then new data is put into the buffer at rate R(t)/VRt<1 (i.e., depleting rate), so the buffer decreases, which means more than one segment is played before the next segment arrives, and then the buffer is depleted. If an adaptive bitrate algorithm is used, it may keep requesting segments with large sizes in order to sustain the network continuity (i.e., the video rate is too high); eventually the buffer will be empty quickly (depleted), so the playback stops and a message of rebuffering will appear. Other algorithms rely in their works on adjusting the capacity estimation based on the buffer occupancy [8, 10], where the client computes how fast segments reach estimate capacity R⌢t with a modification function of playback buffer fBcurrt. The estimate is optionally supplemented with knowledge of the buffer occupancy and the selected video rate is VRt=fBcurrtR⌢(t). When the buffer contains many segments, VRt can safely deviate from Rt without trigger a buffering event. The client can try to maximize video quality by choosing VRt=R⌢t, but when the buffer is low, the client should choose a lower video rate and rapidly renew the buffer. The unnecessary probability of playout outage happens when an adaptive bitrate algorithm chooses a video rate that is higher than what the system capacity can maintain; however these interruptions could be avoidable if the algorithm chooses a lower video rate. In this case, designing the modification function is much harder as it will be shown in the following analysis. Consider the case when there is only one segment in the buffer and the requested segment (Tseg seconds) should reach before the current segment is played or else the buffer will run dryly. To prevent playout outage or interruption through video playing, we have(6)VRt<Rt.In terms of buffer occupancy, we have (7)TsegVRtRt<Bcurrt,where TsegVRt is a segment size in bytes; expression (7) is the time needed to download the segment.To avoid playout outage,VRt is replaced with fBcurrtR⌢(t); then(8)fBcurrt<BcurrtTsegRtR⌢t.Thus,fBcurrt must be smaller than the ratio Rt/R⌢t to prevent buffering event. A bad situation results if fBcurrt makes user pick a rate lower than the minimum video rate available, as the constraint becomes impossible to meet. From the above analysis, a video quality faces an interrupted duration which is indicated by a fraction of time when users experience buffer stalling (i.e., video paused and played again) while watching a video.Let the playout outage probability during playout time bePpout, since the system status is expressed by the current buffer occupancy at any given time (n=numberofsegments in the client buffer) left behind the just served segment. We denote the steady state probabilities of the system by Ppout0,Ppout1,…,Ppoutn where Ppout0 is directly related to the outage events, because it corresponds to the situations when there is no segment for playing out, and Ppoutn is equal to zero because we observe the system just after a segment has finished service. Our analysis follows the imbedded Markov chain approach, where PpoutBcurr=a is the probability that, during playout time, new segments (a) exactly arrive to the client’s buffer, where the probabilities of particular system can be formally written as the set of equations presented below:(9)Ppout0=Ppout0+Ppout1×PpoutBcurr<S=0,⋮Ppoutn=Ppout0×PpoutBcurr≤BH=n+⋯+∑a=0nPpoutn+1-a×PpoutBcurr=a,forn=1,…,BH-2∑q=0BHPpoutq=1.The first expression above corresponds to the situation where no segment is left in the client’s buffer just after the completion of the service of the previous segment. This happens when the buffer has been empty or has held just one segment and no segment has arrived duringTseg service time. The second expression above row describes a set of BH expressions corresponding to nth segments remaining in the client’s buffer for n=1,…,BH. The last expression above is a normalization condition. The solution of the expression (9) allows calculating the rebuffering probability for a given size of the client’s buffer.In conclusion, from above, the video qualityQVk ofkth client is affected by the delay due to playout outage and errors due to channel fading and interferences, so this work proposed a new scheme for video buffering to solve the following optimization problem:(10)
m
a
x
∑
k
=
1
K
F
Q
V
k
Q
V
k
s
.
t
:
λ
Q
-
V
k
≤
Q
V
k
P
p
-
L
o
u
t
≤
P
p
o
u
t
B
c
u
r
r
k
,
t
≤
P
p
-
U
o
u
t
B
L
≤
B
c
u
r
r
<
B
H
,where λ is a quality guarantee factor determined by the system. The expected level of video quality for users will be denoted as a discrete set:(11)Q-V=Q-V1,Q-V2,…,Q-Vk,where FQVk is denoted as the fairness coefficient and its definition is the ratio of user’s expected QoS to the logarithm of its current QoS, which could be expressed as(12)FQVk=Q-Vklog2⁡QVk.We assign a lower bound and upper bound of the required playout outage probability to bePp-Lout and Pp-Uout, respectively. Since video quality is impacted by the delay due to number of interruptions in playback video, we define a metric for video quality in terms of probability of playout outage and PSNR (i.e., PSNR is a measurement metric for objective video quality) as follows:(13)QVk=PSNRPpout,where PSNR is the peak signal to noise ratio and its related to achievable data rate over wireless channels which is computed according to receiving SINR (ϒk); PSNR is calculated as in [16]:(14)PSNR=Ωlog10⁡Rkk,An,t,where Ω is a predefined parameter that is related to video contents. The video content-related parameter Ω is set to be between 10 and 12.


## 2.1. Cellular Network Model

The cellular network consists of one central controller unit (CCU) equipped with large number ofM antennas (i.e., massive MIMO) and K single-antenna clients assuming (M≫K) as shown in Figure 1.Figure 1
Modern cellular network.Let the download power (during transmission) at the base station bepdk and the upload power (during transmission) at each client be puk. At the receiver, the base band signal forkth client is given as(1)yk=hkHxk+nkfork=1,2,3,…,K,where hk∈CM×1 is thekth channel vector which is assumed to be a quasi-static independent and identically distributed (iid) Rayleigh fading channel and the block length of the channel is denoted by Tc,while x∈CK×1 is the transmitted symbol vector with ExxH=diagPd=pd1,pd2,…,pdk subjected to normalized power Pd=1, and each element in P is not less than 0. nk is the noise term according to an independent complex Gaussian distribution with zero mean and unit variance 0,1 respectively. For a low complexity, we consider the use of the most common linear precoding scheme called zero-forcing (ZF) beamforming. In this case, the transmitted signal is a summation of the products formed by the desired signal and the associated precoding vector. Therefore, the received signal at thekth client can be written as(2)yk=pdkhkHoksk+∑j=1,j≠kKpdjhkHojsj+ik,where the first term of the right side of (2) contains the desired signal for thekth client, the second term represents the interference caused by the other clients, and the last term is the background noise. ok∈C1×K denotes thekth column of the pseudoinverse channel matrix formed by the clients of the set U, and sk represents the data symbol signal of thekth client. We assume that the CCU performs antenna selection by choosing N antennas from a set of An antennas among the M antennas whereN≪M. Since the ZF beamforming is used, supposing the instantaneous values of path gains are known at the receiver and the transmit power is uniformly allocated for the N transmit antennas, the received signal to interference plus noise ratio (SINR) for client k∈U when antennas in An are serving the clients in U is given by (3)Υkk,An,t=pdkhkHok2∑j=1,j≠kKpdjhkHoj2+σ2,wherepdk is the transmit power of thekth client which must satisfy the following constraint for the selected antennas of the set An. hk and ok are thekth column inHandO matrices, respectively.(4)∑k=1Kpdk≤Pd,where Pd represents the total transmit power. The achievable sum rate at the broadcast channel can be obtained by (5)RAn,t=∑k=1KRkk,An,t=∑k=1Klog2⁡1+Υkk,An,t,where Rk is the achievable rate forkth client which is defined as a successful transmission of information bits per unit area under required connection outage or as the size of segments (in bits) divided by the segments delivery duration. The control unit for scheduling is responsible for controlling and differentiating between clients’ urgency. Also, there is a FIFO cache in central control unit to request many popular videos on the web.


## 2.2. Client Buffer Model

The client video rate can be chosen from a set ofϖ discrete video rates {VR1,…,VRϖ}, where VR1<VR2<⋯<VRϖ. We also refer to VR1 as VRmin (the minimum video rate) and VRϖ as VRmax (the maximum video rate). Each segment contains Tseg seconds of video and the client can only change its chosen video rate on a segment-by-segment basis. In the proposed model, the streaming buffer in the client is typically measured in seconds of running time, the buffer may contain segments with many different video rates, and the output bitrate of the buffer will rely on the video rate of the segment currently being played. By measuring the buffer in the time domain, the client keeps a record of the number of video seconds from playing the video that is currently in the buffer without having to track the video rate associated with each video clip [14]. The client playout buffer model is shown in Figure 2.Figure 2
Client playout buffer model.Initially, three thresholds in the buffer level are defined for the media player at the client, namely,S,BL, and BH measured in seconds with 0<BL<BH<Bmax, where Bmax denotes the maximum value of the buffer level and Bcurr is the current buffer level. While R(t) denotes the network capacity for download side at time t, let Bcurrt be the playback buffer occupancy at time t and let VRt denote the video rate selected at time t. Note that if the buffer is full, then no segment can be downloaded at time t (i.e., if Bcurrt=Bmax, then Rt=0). Every time one second of video is removed from the buffer, another one second is played at the client player. The client seeks segments of video from the server; each segment contains a fixed duration of video (e.g., four seconds per segment). The higher video rate means that the segment size in bytes is large [15]. Now, if the adaptive video rate VRt is greater than system capacity Rt, then new data is put into the buffer at rate R(t)/VRt<1 (i.e., depleting rate), so the buffer decreases, which means more than one segment is played before the next segment arrives, and then the buffer is depleted. If an adaptive bitrate algorithm is used, it may keep requesting segments with large sizes in order to sustain the network continuity (i.e., the video rate is too high); eventually the buffer will be empty quickly (depleted), so the playback stops and a message of rebuffering will appear. Other algorithms rely in their works on adjusting the capacity estimation based on the buffer occupancy [8, 10], where the client computes how fast segments reach estimate capacity R⌢t with a modification function of playback buffer fBcurrt. The estimate is optionally supplemented with knowledge of the buffer occupancy and the selected video rate is VRt=fBcurrtR⌢(t). When the buffer contains many segments, VRt can safely deviate from Rt without trigger a buffering event. The client can try to maximize video quality by choosing VRt=R⌢t, but when the buffer is low, the client should choose a lower video rate and rapidly renew the buffer. The unnecessary probability of playout outage happens when an adaptive bitrate algorithm chooses a video rate that is higher than what the system capacity can maintain; however these interruptions could be avoidable if the algorithm chooses a lower video rate. In this case, designing the modification function is much harder as it will be shown in the following analysis. Consider the case when there is only one segment in the buffer and the requested segment (Tseg seconds) should reach before the current segment is played or else the buffer will run dryly. To prevent playout outage or interruption through video playing, we have(6)VRt<Rt.In terms of buffer occupancy, we have (7)TsegVRtRt<Bcurrt,where TsegVRt is a segment size in bytes; expression (7) is the time needed to download the segment.To avoid playout outage,VRt is replaced with fBcurrtR⌢(t); then(8)fBcurrt<BcurrtTsegRtR⌢t.Thus,fBcurrt must be smaller than the ratio Rt/R⌢t to prevent buffering event. A bad situation results if fBcurrt makes user pick a rate lower than the minimum video rate available, as the constraint becomes impossible to meet. From the above analysis, a video quality faces an interrupted duration which is indicated by a fraction of time when users experience buffer stalling (i.e., video paused and played again) while watching a video.Let the playout outage probability during playout time bePpout, since the system status is expressed by the current buffer occupancy at any given time (n=numberofsegments in the client buffer) left behind the just served segment. We denote the steady state probabilities of the system by Ppout0,Ppout1,…,Ppoutn where Ppout0 is directly related to the outage events, because it corresponds to the situations when there is no segment for playing out, and Ppoutn is equal to zero because we observe the system just after a segment has finished service. Our analysis follows the imbedded Markov chain approach, where PpoutBcurr=a is the probability that, during playout time, new segments (a) exactly arrive to the client’s buffer, where the probabilities of particular system can be formally written as the set of equations presented below:(9)Ppout0=Ppout0+Ppout1×PpoutBcurr<S=0,⋮Ppoutn=Ppout0×PpoutBcurr≤BH=n+⋯+∑a=0nPpoutn+1-a×PpoutBcurr=a,forn=1,…,BH-2∑q=0BHPpoutq=1.The first expression above corresponds to the situation where no segment is left in the client’s buffer just after the completion of the service of the previous segment. This happens when the buffer has been empty or has held just one segment and no segment has arrived duringTseg service time. The second expression above row describes a set of BH expressions corresponding to nth segments remaining in the client’s buffer for n=1,…,BH. The last expression above is a normalization condition. The solution of the expression (9) allows calculating the rebuffering probability for a given size of the client’s buffer.In conclusion, from above, the video qualityQVk ofkth client is affected by the delay due to playout outage and errors due to channel fading and interferences, so this work proposed a new scheme for video buffering to solve the following optimization problem:(10)
m
a
x
∑
k
=
1
K
F
Q
V
k
Q
V
k
s
.
t
:
λ
Q
-
V
k
≤
Q
V
k
P
p
-
L
o
u
t
≤
P
p
o
u
t
B
c
u
r
r
k
,
t
≤
P
p
-
U
o
u
t
B
L
≤
B
c
u
r
r
<
B
H
,where λ is a quality guarantee factor determined by the system. The expected level of video quality for users will be denoted as a discrete set:(11)Q-V=Q-V1,Q-V2,…,Q-Vk,where FQVk is denoted as the fairness coefficient and its definition is the ratio of user’s expected QoS to the logarithm of its current QoS, which could be expressed as(12)FQVk=Q-Vklog2⁡QVk.We assign a lower bound and upper bound of the required playout outage probability to bePp-Lout and Pp-Uout, respectively. Since video quality is impacted by the delay due to number of interruptions in playback video, we define a metric for video quality in terms of probability of playout outage and PSNR (i.e., PSNR is a measurement metric for objective video quality) as follows:(13)QVk=PSNRPpout,where PSNR is the peak signal to noise ratio and its related to achievable data rate over wireless channels which is computed according to receiving SINR (ϒk); PSNR is calculated as in [16]:(14)PSNR=Ωlog10⁡Rkk,An,t,where Ω is a predefined parameter that is related to video contents. The video content-related parameter Ω is set to be between 10 and 12.


## 3. Proposed Video Buffer Framework

The proposed video buffer framework (VBF) consists of three main parts: client selection algorithm, categorization method, and distribution mechanism. These three approaches are described in detail in the following points.


### 3.1. Client Selection Algorithm

The control unit is responsible for selecting the best clients when they enter the cellular network. Then a reported buffered frames number would be sent to CCU after the client receives video frames. CCU would classify client’s urgency depending on existing buffer content level as explained below.WhenK clients join the cellular network at time t, they simultaneously transmit pilot sequences ψ of length τ symbols. The CCU will perform a specific algorithm for choosing the best clients who have less interfering effects through implementing this algorithm which is called independent client selection algorithm (ICSA), which is described in detail below. Let U be selected clients according to (ICSA); the pilot sequences can be represented as in [17] by τ×K matrix, so the receiving pilot signal of K clients is given by(15)Y=τpuHΨT+Zyk=τpuhkψkT+∑j=1,j≠kKτpuhjψjT+zk,whereτpuΨT represents the pilot sequence matrix with τ×K. The steps of ICSA algorithm are described below; for every client in the set K it calculates Ik,An which is the component of the channel matrix corresponding to thekth client, and it is orthogonal to the subspace spanned by I~1,I~2,…,I~a-1;hk,An is used as the channel vector betweenkth client and antenna set An. After that, it finds client that maximizes norm of this subspace. As a result, the algorithm ensures that the selected client has a good level of orthogonality with another client. Therefore, the associated precoding vector of the selected client has a low value that leads to better power resource allocation. The ICSA repeats this phase till having the required number of best clients. The control unit calculates the received signal to noise ratio SNRk for each client and compares it with a predetermined threshold value dth for client’s classification.(16)SNRk=τpuhkψT2k=1,2,…,U.The Steps for Selecting Independent Clients Using ICSA Algorithm Input: Set of available antennas:An←N No. of joining clients:K Initialization: a ← 1; no. of iteration K ← 1,2 , … , k; U←0; While a < N  For each kth in K do Ik,An=hk,An-∑j=1a-1hk,An-I~jHI~j/I~j2;  end a o p t = arg ⁡ m a x k ∈ K I k , A n 2; U ← U ∪ a o p t; I ~ a = I ~ a o p t; a = a + 1; end while loop output: new clients set: U


### 3.2. Client Categorization Method

Here, we suppose that a video frame can be run only if all the packets related to it have been successfully received. Each client sends a reported buffered frames numberBREk,t for clientkth at t time. The buffer occupancy information is assumed to be reported along with the channel quality indicator (CQI) messages through feedback to the CCU [18]. Bcurrk,t is the current buffer occupancy, which is initialized as Bcurrk,t=BREk,t and would be updated according to the resource distribution results ofkth client. To accurately distinguish the client urgency, CCU will classify the clients into three groups according to their received Bcurrk,t and SNRk, these groups are as follows:(17)ga=k∣SNRk<dth⟹Rkk,tVRk,t<1,Bcurrk,t<BLgb=k∣SNRk≥dth⟹Rkk,tVRk,t≥1,BL<Bcurrk,t<BHgc=k∣SNRk>dth⟹Rkk,tVRk,t>1,Bcurrk,t<Bmax.The clients in different set have different playout status according to their place inside the cell as shown in Figure3. These groups are described as follows:(i)
ga: the clients in this group reside near the edge cell and cannot keep the continuity of the playout process when there are no enough resources allocated to the clients in time. Therefore, client’s buffer will suffer from time interruption due to poor received signal; that is, Rkt<VRt, which means if a video rate is greater than the network throughput, then new data is stored into the buffer at rate Rkt/VRt<1 and so the buffer decreases. In other words, if many segments are played before the next one arrives, then the buffer is consumed.(ii)
gb: the clients in this group reside far away from edge cell, so they have lower interruption probability than the ones inga.(iii)
gc: the clients in this group reside near the base station “CCU”; they have enough buffered video frames to overcome the wireless bandwidth fluctuation and no rebuffering probability due to the fact that if the network throughput Rkt is always higher than the lowest video rate VRmint, that is, Rt>VRmint, t>0, there will be no need to a rebuffering event.Figure 3
Clients’ locations inside cellular network with respect to their places from CCU.


### 3.3. Distributing Mechanism

To help clients in reducing the interruption time, a resource distribution scheme is adopted to support clients with high download rates by utilizing the potential of multiple antennas that are offered by modern cellular networks. The distributing mechanism for resource scheme works as in the following steps:1.
TheK receiver terminals use a fixed number of antennas, say K, to communicate with the base station and the control unit only selects N antennas among M large antennas for data transmission at the start of communications. The value of N can change with time and it is written as a function of time, Nt.2.
After selecting the best clients, that is, “U”, a video frame is sent; it will be split into several packets to adapt the physical transmission rate. A video frame can be run only if all the packets belonging to it have been successfully received.3.
The receiver client observes its current buffer valueBcurrt during a time interval, where the time index t=1,2,…,T and T≤Tc denotes the length of the monitoring time. The instantaneous value Bcurrt varies due to the randomness nature of the wireless channel.4.
Using the playout outage probability in (6), the control unit can measure client’s buffer performance of playout probability by sensing its value of Bcurrk,t.5.
To ensure delivering video streaming among clients with playout continuity through the cellular network, we assign a lower and an upper bound for the suitable playout outage probability to bePp-Lout and Pp-Uout, respectively. With instantaneous playout outage probability PpoutBcurr(k,t) for clients at t. The CCU monitors the level of playout outage probability and decides how to distribute radio resources during video transmission interval by the following steps:
(a)
When playout outage probability level(Ppout) is between the lower and upper bounds for all t time, the cellular network performance in terms of playout outage probability behaves with good quality for delivering video as well as link quality being outperformed. Hence, if Nt is the number of radio resources (i.e., propagation channels) at t, then Nt+Δ=Nt+0 where Δ is a nature number which means no need for additional antennas.(b)
If playout outage probability is more than the upper levelPp-Uout, that means the network will deliver video streaming among clients with poor quality since clients suffer from interruption times during playout video streams. The CCU needs to provide additional radio resources for data transmission. The purpose of these additional resources is to supply higher spatial diversity gains to increase the link reliability. CCU will monitor the link quality and add a number of propagation channels to enhance system functionality in terms of download rate. Thus, number of antennas is N(t)=N(t)+Δ,Δ is a number of added radio resources.(c)
When playout outage probability is less than lower levelPp-Lout which means that the link quality is improved, CCU may need to reduce the number of antennas, so Nt=Nt-Δ,Δ is a number of radio resources that go to be off.6.
The CCU periodically performs the steps from(3) to (5).In the cases described in step(5), which can be defined as C0,C1,C2, the observed buffer Bcurr is set to be random vector for K clients and it can be given as(18)Bcurr=Bcurr1,t,Bcurr2,t,…,Bcurrk,t.Hence, the decision rules of the distributing mechanism are given by(19)C0:Bcurr∣1≥PpoutBcurrk,t>Pp-Uout,t=1,2,…,T,k∈ga,Δ=+1;C1:Bcurr∣Pp-Lout≤PpoutBcurrk,t≤Pp-Uout,t=1,2,…,T,k∈gb,Δ=+0;C2:Bcurr∣Pp-Lout>PpoutBcurrk,t≥0,t=1,2,…,T,k∈gc,Δ=-1;C3:Bcurr∣theothersforPpoutBcurrk,t,t=1,2,…,T,Δ=+0,whereΔ denotes the requested incremental number of radio resources from the central control unit, that is, N(t)+Δ. Based on the above distributing mechanism, two important goals are achieved: firstly, the client can always perform higher spatial multiplexing for data transmission; secondly, the required playout outage probability for client buffer can be guaranteed simultaneously during data transmission. The distributing priority of clients in these three groups should be related to their urgencies; for example, the gb clients will not be scheduled if ga≠ɸ and gc will not be scheduled if ga≠ɸ or gb≠ɸ. Hence, the distributing metric ofkth client in each group can be identified according to (19) as follows:(20)Dsk,An,t=Rkmink,An,tk∈C0Rkak,An,tk∈C1Rkak,An,tk∈C2,where Rkak,An,t is the achieving rate thatkth client can have when it allocates more antennas from the set An as in [6] with the following expression:(21)Rkak,An,t=cm∑m=1,m∈AnNcmχk∑Kk=1χkRkk,An,t,where cm is an extra weight for radio resource which is an integer and its value follows the value of SNRk; that is, if SNRk has small value in the set An of antennas forkth client, then cm can represent the number of feasible video quality options. χk is the quality level that a client can reach, and Rkk,An,t is described in expression (5). Then, Rkmink,An,t can be obtained as follows: (22)Rkmink,An,t=cm∑m=1,m∈AnNcmχk∑Kk=1χkRkmink,t,where Rkmink,t is the minimum data rate required by clients at ga.F k , t is defined as the most urgent frame of frames that have not been fully transmitted of thekth client at the time t, and the total size of the residual packets of this frame which wait in the MAC queue is defined as SZTk,t. Then, Rkmink,t can be given as follows:(23)Rkmink,t=SZTk,tTk,t=SZTk,tBcurrk,t/VRk,t.Then the resource will be distributed forkth client and associated with its specific group if(24)k,n=arg⁡max⁡Dsk,An,tK∈gx,n∈Ank,where gx is the group thatkth client belongs to and Ank is the available resources forkth client.


## 3.1. Client Selection Algorithm

The control unit is responsible for selecting the best clients when they enter the cellular network. Then a reported buffered frames number would be sent to CCU after the client receives video frames. CCU would classify client’s urgency depending on existing buffer content level as explained below.WhenK clients join the cellular network at time t, they simultaneously transmit pilot sequences ψ of length τ symbols. The CCU will perform a specific algorithm for choosing the best clients who have less interfering effects through implementing this algorithm which is called independent client selection algorithm (ICSA), which is described in detail below. Let U be selected clients according to (ICSA); the pilot sequences can be represented as in [17] by τ×K matrix, so the receiving pilot signal of K clients is given by(15)Y=τpuHΨT+Zyk=τpuhkψkT+∑j=1,j≠kKτpuhjψjT+zk,whereτpuΨT represents the pilot sequence matrix with τ×K. The steps of ICSA algorithm are described below; for every client in the set K it calculates Ik,An which is the component of the channel matrix corresponding to thekth client, and it is orthogonal to the subspace spanned by I~1,I~2,…,I~a-1;hk,An is used as the channel vector betweenkth client and antenna set An. After that, it finds client that maximizes norm of this subspace. As a result, the algorithm ensures that the selected client has a good level of orthogonality with another client. Therefore, the associated precoding vector of the selected client has a low value that leads to better power resource allocation. The ICSA repeats this phase till having the required number of best clients. The control unit calculates the received signal to noise ratio SNRk for each client and compares it with a predetermined threshold value dth for client’s classification.(16)SNRk=τpuhkψT2k=1,2,…,U.The Steps for Selecting Independent Clients Using ICSA Algorithm Input: Set of available antennas:An←N No. of joining clients:K Initialization: a ← 1; no. of iteration K ← 1,2 , … , k; U←0; While a < N  For each kth in K do Ik,An=hk,An-∑j=1a-1hk,An-I~jHI~j/I~j2;  end a o p t = arg ⁡ m a x k ∈ K I k , A n 2; U ← U ∪ a o p t; I ~ a = I ~ a o p t; a = a + 1; end while loop output: new clients set: U


## 3.2. Client Categorization Method

Here, we suppose that a video frame can be run only if all the packets related to it have been successfully received. Each client sends a reported buffered frames numberBREk,t for clientkth at t time. The buffer occupancy information is assumed to be reported along with the channel quality indicator (CQI) messages through feedback to the CCU [18]. Bcurrk,t is the current buffer occupancy, which is initialized as Bcurrk,t=BREk,t and would be updated according to the resource distribution results ofkth client. To accurately distinguish the client urgency, CCU will classify the clients into three groups according to their received Bcurrk,t and SNRk, these groups are as follows:(17)ga=k∣SNRk<dth⟹Rkk,tVRk,t<1,Bcurrk,t<BLgb=k∣SNRk≥dth⟹Rkk,tVRk,t≥1,BL<Bcurrk,t<BHgc=k∣SNRk>dth⟹Rkk,tVRk,t>1,Bcurrk,t<Bmax.The clients in different set have different playout status according to their place inside the cell as shown in Figure3. These groups are described as follows:(i)
ga: the clients in this group reside near the edge cell and cannot keep the continuity of the playout process when there are no enough resources allocated to the clients in time. Therefore, client’s buffer will suffer from time interruption due to poor received signal; that is, Rkt<VRt, which means if a video rate is greater than the network throughput, then new data is stored into the buffer at rate Rkt/VRt<1 and so the buffer decreases. In other words, if many segments are played before the next one arrives, then the buffer is consumed.(ii)
gb: the clients in this group reside far away from edge cell, so they have lower interruption probability than the ones inga.(iii)
gc: the clients in this group reside near the base station “CCU”; they have enough buffered video frames to overcome the wireless bandwidth fluctuation and no rebuffering probability due to the fact that if the network throughput Rkt is always higher than the lowest video rate VRmint, that is, Rt>VRmint, t>0, there will be no need to a rebuffering event.Figure 3
Clients’ locations inside cellular network with respect to their places from CCU.


## 3.3. Distributing Mechanism

To help clients in reducing the interruption time, a resource distribution scheme is adopted to support clients with high download rates by utilizing the potential of multiple antennas that are offered by modern cellular networks. The distributing mechanism for resource scheme works as in the following steps:1.
TheK receiver terminals use a fixed number of antennas, say K, to communicate with the base station and the control unit only selects N antennas among M large antennas for data transmission at the start of communications. The value of N can change with time and it is written as a function of time, Nt.2.
After selecting the best clients, that is, “U”, a video frame is sent; it will be split into several packets to adapt the physical transmission rate. A video frame can be run only if all the packets belonging to it have been successfully received.3.
The receiver client observes its current buffer valueBcurrt during a time interval, where the time index t=1,2,…,T and T≤Tc denotes the length of the monitoring time. The instantaneous value Bcurrt varies due to the randomness nature of the wireless channel.4.
Using the playout outage probability in (6), the control unit can measure client’s buffer performance of playout probability by sensing its value of Bcurrk,t.5.
To ensure delivering video streaming among clients with playout continuity through the cellular network, we assign a lower and an upper bound for the suitable playout outage probability to bePp-Lout and Pp-Uout, respectively. With instantaneous playout outage probability PpoutBcurr(k,t) for clients at t. The CCU monitors the level of playout outage probability and decides how to distribute radio resources during video transmission interval by the following steps:
(a)
When playout outage probability level(Ppout) is between the lower and upper bounds for all t time, the cellular network performance in terms of playout outage probability behaves with good quality for delivering video as well as link quality being outperformed. Hence, if Nt is the number of radio resources (i.e., propagation channels) at t, then Nt+Δ=Nt+0 where Δ is a nature number which means no need for additional antennas.(b)
If playout outage probability is more than the upper levelPp-Uout, that means the network will deliver video streaming among clients with poor quality since clients suffer from interruption times during playout video streams. The CCU needs to provide additional radio resources for data transmission. The purpose of these additional resources is to supply higher spatial diversity gains to increase the link reliability. CCU will monitor the link quality and add a number of propagation channels to enhance system functionality in terms of download rate. Thus, number of antennas is N(t)=N(t)+Δ,Δ is a number of added radio resources.(c)
When playout outage probability is less than lower levelPp-Lout which means that the link quality is improved, CCU may need to reduce the number of antennas, so Nt=Nt-Δ,Δ is a number of radio resources that go to be off.6.
The CCU periodically performs the steps from(3) to (5).In the cases described in step(5), which can be defined as C0,C1,C2, the observed buffer Bcurr is set to be random vector for K clients and it can be given as(18)Bcurr=Bcurr1,t,Bcurr2,t,…,Bcurrk,t.Hence, the decision rules of the distributing mechanism are given by(19)C0:Bcurr∣1≥PpoutBcurrk,t>Pp-Uout,t=1,2,…,T,k∈ga,Δ=+1;C1:Bcurr∣Pp-Lout≤PpoutBcurrk,t≤Pp-Uout,t=1,2,…,T,k∈gb,Δ=+0;C2:Bcurr∣Pp-Lout>PpoutBcurrk,t≥0,t=1,2,…,T,k∈gc,Δ=-1;C3:Bcurr∣theothersforPpoutBcurrk,t,t=1,2,…,T,Δ=+0,whereΔ denotes the requested incremental number of radio resources from the central control unit, that is, N(t)+Δ. Based on the above distributing mechanism, two important goals are achieved: firstly, the client can always perform higher spatial multiplexing for data transmission; secondly, the required playout outage probability for client buffer can be guaranteed simultaneously during data transmission. The distributing priority of clients in these three groups should be related to their urgencies; for example, the gb clients will not be scheduled if ga≠ɸ and gc will not be scheduled if ga≠ɸ or gb≠ɸ. Hence, the distributing metric ofkth client in each group can be identified according to (19) as follows:(20)Dsk,An,t=Rkmink,An,tk∈C0Rkak,An,tk∈C1Rkak,An,tk∈C2,where Rkak,An,t is the achieving rate thatkth client can have when it allocates more antennas from the set An as in [6] with the following expression:(21)Rkak,An,t=cm∑m=1,m∈AnNcmχk∑Kk=1χkRkk,An,t,where cm is an extra weight for radio resource which is an integer and its value follows the value of SNRk; that is, if SNRk has small value in the set An of antennas forkth client, then cm can represent the number of feasible video quality options. χk is the quality level that a client can reach, and Rkk,An,t is described in expression (5). Then, Rkmink,An,t can be obtained as follows: (22)Rkmink,An,t=cm∑m=1,m∈AnNcmχk∑Kk=1χkRkmink,t,where Rkmink,t is the minimum data rate required by clients at ga.F k , t is defined as the most urgent frame of frames that have not been fully transmitted of thekth client at the time t, and the total size of the residual packets of this frame which wait in the MAC queue is defined as SZTk,t. Then, Rkmink,t can be given as follows:(23)Rkmink,t=SZTk,tTk,t=SZTk,tBcurrk,t/VRk,t.Then the resource will be distributed forkth client and associated with its specific group if(24)k,n=arg⁡max⁡Dsk,An,tK∈gx,n∈Ank,where gx is the group thatkth client belongs to and Ank is the available resources forkth client.


## 4. Simulation Results

In this section, the performance of the proposed video buffer framework (VBF) is evaluated and its performance is compared with other known schemes such as PBDAS [9], MAX-CIR [19], and PF [20]. The idea of proportional fair (PF) scheme is based on the past average throughput which can act as a weighting factor of the expected data rate for the user in order that the users with bad channel conditions would be served within a certain amount of time. While the maximum carrier-to-interface ratio (MAX-CIR) scheduler finds the maximum value for each resource block, it searches for users whose values of CQI feedback equal the maximum found per each resource block (a random user would be selected if there is more than one user per resource block that would have the maximum value). In terms of fairness, the principle of this scheme is not fair in all situations and could be very biased.The simulation is considered a single cell massive cellular network with five video streaming clients who are allocated in different places in this cell, so they have different bitrates. Table1 shows the main configurations for this massive cellular network.Table 1
Massive cellular network configurations.
Parameter Configuration setting Number of antennas 300 Bandwidth 20 MHz Number of clients 5 Predefined SNR threshold 40 dB Noise power spectral density 10−6 Watt/Hz Frame size 1500 bytes Pp-Uout 10−4 P p - L o u t 10−5 B H 10 B L 5Figure4 explains the cumulative interruption duration of each client for the proposed framework (VBF) and reference algorithms (PBDAS, MAX-CIR, and PF). From this figure, we notice that the interruption duration rises smoothly for PBDAS, which means the resource is distributed with fairness manner among clients. MAX-CIR has great partiality for the clients that have the best channel status while other clients with bad channel status are left waiting. For PF, the interruption time of the low bitrate clients is nearly zero and does not rise as time passed, which means that these clients have high resource distribution priority along all transmission process. On the other side, our proposed framework can insure the fairness among clients limiting the interruption duration length at a low level. The reason behind this superiority is that when the number of resources is high, proposed framework (VBF) will limit the interruption times of each client to achieve continuity during video playback according to our distribution mechanism which is described in Section 3.3.Figure 4
Total interruption duration for different clients in cellular network.Figure5 shows that the system throughput for the proposed framework is compared with other exiting schemes. This figure shows that the proposed framework outperforms PBDAS, MAX-CIR, and PF, since the work of the proposed framework is based on increasing radio resource to enhance video quality at client side in order to maintain the playout outage probability value at accepted level, and also the decision on selecting the active clients is reached according to our proposed client selection algorithm which is described in Section 3.1. Additionally, this figure proved that PBDAS performance is less than the proposed framework because when all the clients have enough frames at the video buffer, the channel status is chosen as the index in scheduling the resource allocation in order to effectively ensure the system throughput.Figure 5
System throughput comparison for different schemes.Figure6 shows the comparison of the proposed framework with other schemes in terms of total interruption duration under clients’ bitrate variations condition. From this figure, PBDAS can work better than PF and MAX-CIR for the clients that demand videos with similar bitrates, but its works become partiality for clients with low bitrate while the proposed framework can achieve the minimum average interruption duration and ensure the fairness among clients.Figure 6
Total interruption duration of clients with different bitrates.Figure7 shows the buffer occupancy level with time and the two red lines in this figure represent the BH and BL. At the starting of the simulation, all the clients have data more than BH, then using our proposed client selection algorithm (described in Section 3.1) providing the client with a good channel quality is assigned the highest priority, which leads to buffer occupancy rising (the red curve). By using our proposed client categorization method which is described in Section 3.2, the clients in group ga have the buffer occupancy lower than the BL, so the playout outage probability in terms of buffer level is above Pp-Uout. Consequently, the CCU will use our proposed distributing mechanism (described in Section 3.3) to distribute the resources according to the clients’ urgency in order to reduce the video playout outage and achieve continuity during video playback. Therefore, this figure proved that our proposed framework (VBF) is effectively controlled video buffer from going to below BL.Figure 7
Buffer level occupancy with different algorithms.
(a)
VBF (b)
PBDAS (c)
MAX-CIR (d)
PFIn Figure8, our proposed scheme is compared with conventional scheme in terms of efficiency, stability, and fairness based on the following metrics [21].Figure 8
Performance evaluation when the available network bandwidth is fixed at 8 Mbps, and the number of competing clients varies from 2 to 12.
(a)
Inefficiency (b)
Instability (c)
Unfairness(a) Instability Metric. Clients are likely to be sensitive to frequent and important video bitrate switches as indicated by some studies. The instability metric is defined as(25)Minstability=∑a=0z-1VRi,i-a-VRi,i-a-1ωa∑a=1zVRi,i-aωa.The instability metric equals the weighted sum of all bitrate switch steps monitored within the last 10 segments divided by the weighted sum of bitrates in the last z=10 segments. VRi is the segment video bitrate at ith index and ω(a) is the weight function and it is equal to i-a.(b) Unfairness Metric. At time t, the unfairness metric is defined as [21](26)Munfairness=1-jainFairt,where jainFairt is the index of Jain fairness at time t and is calculated based on the bitrates VRi over all clients.(c) Inefficiency Metric. This metric is calculated as(27)Minefficiency=∑jVRi,jT,where VRi,j is the video bitrate of ith segment for jth client and T is the available bandwidth. A value close to zero means that the clients in average are using as high average video bitrate as possible to improve video quality.In Figure8, the number of clients is changed from two to twelve with the available network bandwidth fixed at 8 Mbps in order to evaluate the performance of our scheme with another scheme. From this figure, the proposed scheme outperforms the conventional scheme based on bandwidth measurement of video buffer model under three operation thresholds for preventing buffer underflow/overflow states. Also this figure shows the robustness of the adaptive algorithm for estimating the download time of next segment according to its size.Figures9 and 10 show that the conventional schemes change their bitrate very frequently whereas the proposed scheme adapts the video bitrate smoothly using the actual segment size and adapts its bitrate based on the future buffer occupancy. Maximum carrier-to-interface ratio (MAX-CIR) scheme is extremely oscillating in this scenario, since its estimation method does not consider VBR characteristics as we mentioned earlier. VBR characteristics also are affected by the buffer-based algorithm such as proportional fair (PF) scheme.Figure 9
Video bitrates versus time under segment size variations.Figure 10
Video buffer occupancy versus time under segment size variations.


## 5. Conclusions

This work discusses the problem of video streaming playback over cellular network so that the client can have a continuity of video streams keeping the quality of video at acceptable viewing over the volatile nature of the wireless channel. Conventional schemes are trying to improve the video quality either through allocating resources to clients that have good channel quality, such as MAX-CIR scheme, or through allocating resources dynamically supporting the clients with low bitrates, such as PF scheme. Therefore, such schemes may fail to achieve fairness among clients. The proposed framework comes with a new distributing mechanism for controlling the playout outage probability level relying on the current buffer occupancy, which achieves accepted balance of fairness among different clients’ urgency while minimizing the interruption duration and maintaining the buffer level between BL and BH. Moreover, the simulation results show that system throughput of the proposed approach outperforms other algorithms in enhancing the video quality within client experience because of increasing the radio resources in a fairness manner. Finally, the main limitations of this work are as follows: Our approach considers the client side buffered video time as feedback signal which means studying QoE for client instead of studying QoS for whole system. The other limitation is that our approach shows that the opportunities of buffer overflow/underflow are incurred by bandwidth estimation, but this approach does not consider the estimation error which can be affected by reserving a small positive/negative bandwidth margin. Finally, we suggest for future work to apply our proposed video buffer framework (VBF) with a multicell massive MIMO system to study the effects of intercell interference problem against video playback continuity.



---

*Source: 6584845-2018-06-27.xml*