Keywords

1 Introduction

According to the Cisco Visual Networking Index, the proportion of video traffic currently on the Internet is estimated to be more than 70% and will increase to more than 82% in 2021 [1]. Therefore, HTTP adaptive streaming has been gaining attention to provide seamless streaming service for users. In HTTP adaptive streaming, the server stores an MPD (Media Presentation Description) describing video segments encoded at various bit rates and information about the media content. When the video streaming starts, the HTTP adaptive streaming client requests the MPD from the server. After receiving the MPD, the client selects the bit rate of the segment to be requested using the measured available bandwidth and the information described in the MPD. The available bandwidth is measured by the size of the last downloaded segment divided by the time taken to download it. HTTP adaptive streaming can guarantee QoE (Quality of Experience) of the video streaming by matching the available bandwidth and video quality to adaptively select the quality according to the network state [2].

However, HTTP adaptive streaming experiences QoE degradation due to unnecessary quality changes and buffer underflow in wireless networks [3]. The available bandwidth fluctuates abruptly even if there is no cross traffic because of interference between clients and fading of the channel in wireless networks. Also, the HTTP adaptive streaming client measures the available bandwidth after downloading the segment. Therefore, the fluctuations of bandwidth during segment download are not reflected appropriately in the bandwidth measurement [4].

In this paper, we propose an adaptive quality control scheme to improve QoE of video streaming in wireless networks. For each quality level, the proposed scheme calculates two factors, the buffer underflow probability and the instability, by considering the buffer state and the changes of quality level. Using these factors, the proposed scheme defines a quality control region that consists of four sub-regions, and the quality level is determined with different control strategy according to each sub-region.

The rest of this paper is organized as follows. In Sect. 2, we first describe the problems of HTTP adaptive streaming in wireless networks and the existing schemes to solve these problems. In Sect. 3, we describe the adaptive quality control scheme to improve QoE of video streaming in wireless networks. In Sect. 4, we evaluate the performance of the proposed scheme compared to the existing schemes. Finally, Sect. 5 concludes this paper.

2 Related Work

Figure 1 shows the QoE degradation problem in wireless networks. The available bandwidth is overestimated or underestimated in wireless networks because the instant throughput used in the bandwidth measurement is not able to reflect appropriately the fluctuations of bandwidth. When the available bandwidth is inaccurately estimated, the unnecessary quality changes and the buffer underflow occur, and the client utilizes the available bandwidth inefficiently.

Fig. 1.
figure 1

QoE degradation problem in wireless networks.

To solve these QoE degradation problems in wireless networks, various schemes have been proposed. These schemes propose various bandwidth estimation methods for wireless networks and the quality control that takes additional consideration of the buffer state.

A throughput-based quality control scheme uses EWMA (Exponential Weighted Moving Average) of the previously downloaded segments to estimate the available bandwidth. We will denote this scheme as the conventional scheme [5]. Using EWMA improves an accuracy of the bandwidth measurement because it reflects instant fluctuations of the bandwidth and the previously measured bandwidth simultaneously. However, there is a problem that the weight parameter used in EWMA needs to be fixed depending on the type or the state of networks.

BBA (Buffer-Based Approach to Rate Adaptation) defines adaptation region that maps the buffer level to video quality level [6]. In the adaptation region, BBA selects the quality level according to buffer thresholds. These thresholds determine the optimal quality level that minimizes the buffer underflow. However, the unnecessary quality changes occur when the buffer level fluctuates near the buffer thresholds because these thresholds are fixed according to the number of quality levels.

JSQS (Joint Scheduling and Quality Selection) uses EWMA to measure the available bandwidth and selects the quality level based on the measured bandwidth [7]. To determine the optimal quality level in dense wireless networks, JSQS uses PID (Proportional-Integral-Derivative) controller to manage the quality control and the scheduling of segment request. However, the PID controller is too sensitive to the changes of each gain parameter that affect the performance.

OASVLS (Online Adaptive Scalable Video Layer Switching for Video Streaming) calculates the buffer underflow probability using the buffer state and the average reduction of buffer level [8]. OASVLS decreases the quality level when the buffer underflow probability is high and increases the quality level when the underflow probability is low. However, when the available bandwidth fluctuates abruptly, the average reduction of the buffer level is inaccurately estimated. Therefore, the client experiences the unnecessary quality changes.

SVAA (Smooth Video Adaptation Algorithm) selects the quality level by considering the buffer level, measured bandwidth, and requested quality observed within the predefined interval. The client decides target quality level to adapt the quality level smoothly [9]. However, SVAA is not able to respond quickly to the fluctuations of the bandwidth because it uses the average throughput in the bandwidth measurement.

3 Proposed Quality Control Scheme

Figure 2 shows the structure of the proposed quality control scheme. In the bandwidth estimator, the proposed scheme measures the available bandwidth and the history manager collects information about the measured bandwidth, the buffer level, and requested quality observed within a predefined interval. For each quality level, the factor estimator calculates the buffer underflow probability and the instability using the collected information. The region manager defines the quality control region that consists of four sub-regions using the calculated factors and switches the sub-region to another sub-region for minimizing the unnecessary quality changes caused by the wrong determined sub-region. The quality controller selects the quality level according to the control strategy in each sub-region, and the segment requester demands the segment corresponding to the selected quality level from the server.

Fig. 2.
figure 2

Structure of the proposed quality control scheme.

As given in (1), the proposed scheme measures the available bandwidth using the segment length, \( \tau \), the download time of \( n \) th segment, \( D_{n} \), and the bit rates of the \( n \) th segment, \( R\left( {l_{n} } \right) \), corresponding to the quality level, \( l_{n} \). \( l_{n} \) has the value from 1 to \( M \); \( M \) denotes the value of maximum quality level. The measured bandwidth is smoothed using EWMA as given in (2). \( T_{n} \) is the instant bandwidth of the nth segment, \( T_{n}^{s} \) is the smoothed bandwidth, and \( \alpha \) is a smoothing factor. We set the value of \( \upalpha \) equal to 0.8

$$ T_{n} = \frac{{R\left( {l_{n} } \right) \cdot \tau }}{{D_{n} }} $$
(1)
$$ T_{n}^{s} = \alpha \cdot T_{n - 1}^{s} + \left( {1 - \alpha } \right) \cdot T_{n} $$
(2)

After the bandwidth measurement, the expected download time, \( D_{n + 1}^{exp} \), is calculated as given in (3) to estimate the changes of the buffer level. It denotes the predicted time when the next segment is downloaded in a given bandwidth.

$$ D_{n + 1}^{exp} = \frac{{R\left( {l_{n + 1} } \right) \cdot \tau }}{{T_{n}^{s} }} $$
(3)

Using difference between the expected download time and previous download time, and changes of the quality level, the buffer underflow probability, \( p_{u} \left( {l_{n + 1} } \right) \), is calculated as given in (4). \( \hat{l}_{n} \) is the quality level that is previously selected by the proposed scheme. An increase in the expected download time and the quality level denotes that the stored data in the buffer have to be more consumed for seamless playback. Therefore, the higher underflow probability represents that the bit rates of the segment corresponding to the quality level exceeds the available bandwidth so that we need to decrease the quality level to minimize the risk of the buffer underflow.

$$ p_{u} \left( {l_{n + 1} } \right) = \left( {\frac{{1 + \tanh \left( {\frac{{D_{n + 1}^{exp} - D_{n} }}{{D_{n} }}} \right)}}{2}} \right) \cdot \left( {\frac{{l_{n + 1} }}{{l_{n + 1} + \hat{l}_{n} }}} \right) $$
(4)

The proposed scheme calculates the instability, \( p_{i} \left( {l_{n + 1} } \right) \), using (5), by considering the changes of quality level and the difference between the bit rates of two neighboring segments. To calculate the instability, we need to reflect the changes of the quality level observed from the past to the present. Therefore, the proposed scheme calculates the instability with the predefined interval. Length of the interval, \( m \), indicates the number of segments to be considered for calculating the instability.

$$ p_{i} \left( {l_{n + 1} } \right) = \frac{{\mathop \sum \nolimits_{k = 0}^{m - 1} \left( {\left| {R\left( {l_{n + 1 - k} } \right) - R\left( {l_{n - k} } \right)} \right| \cdot \left( {m - k - 1} \right)} \right)}}{{\mathop \sum \nolimits_{k = 0}^{m - 1} \left( {R\left( {l_{n + 1 - k} } \right) \cdot \left( {m - k + 1} \right)} \right)}} $$
(5)

Figure 3 shows the quality control region of the proposed scheme. The control region is divided into four sub-regions, and the appropriate sub-region for each quality level is determined by its value of the underflow probability and the instability. First of all, aggressiveness and conservativeness in the quality control are decided by the instability, and the quality level increases or decreases on the basis of the buffer underflow probability. Using the pair of the calculated factors corresponding to each quality level, the proposed scheme identifies where each quality level falls into the sub-regions. The sub-region that includes the most of quality levels is selected.

Fig. 3.
figure 3

Quality control region of the proposed scheme.

At the start of the streaming session, the proposed scheme is not able to calculate the instability because we need the information of the changes of quality level from the past to the present. Therefore, the proposed scheme adapts the quality level only after the client has downloaded more than \( m \) segments. When initial buffering starts, the proposed scheme selects the lowest quality level to fill the buffer and increases the quality level by one level at a time to utilize the bandwidth efficiently. When increasing the quality level, the proposed scheme maintains the current quality level until the number of requests of the corresponding quality level exceeds the value of the maintenance parameter, \( \theta_{n} \). Initial buffering ends when the buffer charging rate of the \( n \) th segment, \( \gamma_{n} \) is less than 0 or the buffer level exceeds the maximum buffer level. The buffer charging rate denotes how much buffer is consumed during the download of a segment and is calculated as given in (6). The maintenance parameter is determined as given in (7) using the difference between the maximum quality level, \( l_{max} \), and the current quality level.

$$ \gamma_{n} = \frac{\tau }{{D_{n} }} - 1 $$
(6)
$$ \theta_{n} = l_{max} - l_{n} $$
(7)

After the initial buffering, the proposed scheme selects the quality level according to the determined sub-region. In the aggressive down region, the proposed scheme decreases the quality level due to the high underflow probability. As given in (8), the client selects the highest quality level that will not drop the buffer level during the download of the segment.

$$ \hat{l}_{n + 1} = \hbox{max} \left\{ {l_{n + 1} |\frac{{T_{n}^{s} }}{{R\left( {l_{n + 1} } \right)}} - 1 \ge 0} \right\} $$
(8)

We expect the abrupt changes of the quality level and the degradation of the average video quality when the instability is high. Therefore, in the conservative down region, the proposed scheme decreases the quality level according to the comparison between the bandwidth utilization of the \( n \)th segment, \( u_{n} \), and expected bandwidth utilization, \( u_{n + 1}^{exp} \). The bandwidth utilization denotes how much of the bandwidth is occupied during the download of the corresponding segment. The expected bandwidth utilization is calculated as given in (9) using the buffer underflow probability and the instability, and the weight parameter, \( \varepsilon \), is calculated as given in (10). As given in (11), the proposed scheme decreases the quality level when the expected bandwidth utilization is greater than the bandwidth utilization of the previous segment and maintains the previous quality level in the other cases.

$$ u_{n + 1}^{exp} = \varepsilon \cdot \frac{1}{{p_{i} \left( {\hat{l}_{n} - 1} \right)}} + \left( {1 - \varepsilon } \right) \cdot p_{u} \left( {\hat{l}_{n} - 1} \right) $$
(9)
$$ {\varepsilon } = \frac{{\left| {R\left( {\hat{l}_{n} - 1} \right) - R\left( {\hat{l}_{n} } \right)} \right|}}{{R\left( {\hat{l}_{n} - 1} \right) + R\left( {\hat{l}_{n} } \right)}} $$
(10)
$$ \hat{l}_{n + 1} = \left\{ {\begin{array}{*{20}c} {\hat{l}_{n} - 1,} & {if u_{n + 1}^{exp} \ge u_{n} } \\ {\hat{l}_{n} , } & {else} \\ \end{array} } \right. $$
(11)

When the buffer underflow probability and the instability are low, we expect that there is no risk of the buffer underflow. However, we need to consider the increase in the instability caused by the abrupt increase of the quality level. In the conservative up region, the proposed scheme calculates the target buffer occupancy, \( \beta_{tar} \), as given in (12). The buffer occupancy, \( \beta_{n} \), is the ratio of the current buffer level and the maximum buffer level, \( B_{max} \). Using (13), the proposed scheme calculates the target quality level, \( l_{tar} \), whose buffer occupancy after downloading the segment of the corresponding quality level is higher than the target buffer occupancy. The proposed scheme increases the quality level by one level only when the previous quality level is lower than the target quality level, as given in (14).

$$ \beta_{tar} = \beta_{n} \cdot \left( {1 - e^{ - 0.5} \cdot p_{i} \left( {\hat{l}_{n} + 1} \right) \cdot p_{u} \left( {\hat{l}_{n} + 1} \right)} \right) $$
(12)
$$ l_{tar} = \hbox{min} \left\{ {l_{n + 1} |\frac{1}{{B_{max} }} \cdot \left( {B_{n} + \tau - \tau \cdot \frac{{l_{n + 1} }}{{T_{n}^{s} }}} \right) \ge \beta_{tar} } \right\} $$
(13)
$$ \hat{l}_{n + 1} = \left\{ {\begin{array}{*{20}c} {\hat{l}_{n} + 1,} & {if \hat{l}_{n} \le l_{tar} - 1} \\ {\hat{l}_{n} ,} & {else} \\ \end{array} } \right. $$
(14)

In the aggressive up region, the proposed scheme aims to quickly utilize the available bandwidth. Therefore, as given in (15), the proposed scheme selects the quality level that is higher by one level than the previous quality level.

$$ \hat{l}_{n + 1} = \hat{l}_{n} + 1 $$
(15)

The proposed scheme selects the quality level according to the control strategy of the determined sub-region each time the segment is downloaded. However, the buffer underflow probability and the instability are appeared differently depending on whether the quality level is high or not. For example, if the client selected the highest quality level before, the underflow probability of other quality levels is calculated to low. Therefore, the proposed scheme selects the lower sub-regions and will not decrease the quality level until the buffer underflow occurs. In another case, the underflow probability of other quality levels is calculated to high so that the proposed scheme selects the upper sub-regions and will not increase the quality level for a long time. Therefore, the client utilizes the bandwidth inefficiently.

To solve these problems due to the wrong determined sub-region, the proposed scheme calculates the quality indicator, \( Q_{amp} \), using (16). The quality indicator is calculated using the difference between the current quality level and the minimum quality level, \( l_{min} \), or the maximum quality level.

$$ Q_{amp} = \left\{ {\begin{array}{*{20}c} {0,} & {if\; \left| {l_{min} - \hat{l}_{n} } \right| \le \left| {l_{max} - \hat{l}_{n} } \right|} \\ {1,} & {else} \\ \end{array} } \right. $$
(16)

As shown in Fig. 4, after the downloading the segment, if the value of \( Q_{amp} \) is 0, the upper sub-regions switch to the lower sub-regions, whereas, if the value is 1, the lower sub-regions switch to the upper sub-regions. However, when the sub-regions switch to other sub-regions frequently, the unnecessary quality changes occur because of the abrupt changes in the control strategy. Therefore, the proposed scheme switches the sub-regions to other sub-regions only when the bandwidth utilization of the current segment exceeds the length of the segment.

Fig. 4.
figure 4

Switching of the sub-regions (left: \( Q_{amp} \) is 0, right: \( Q_{amp} \) is 1)

4 Performance Evaluation

In order to evaluate the performance of the proposed scheme, we constructed a network topology as shown in Fig. 5 and implemented the HTTP adaptive streaming player with an NS-3 (Network Simulator) [10]. In the wireless environment as shown in Fig. 6, we evaluate the performance between the proposed scheme and the existing quality control schemes.

Fig. 5.
figure 5

Network topology.

Fig. 6.
figure 6

Available bandwidth in wireless networks.

The server offers seven video qualities including 750, 1250, 1750, 2250, 3000, 3750, 4500 kbps, and the length of the segment is set to 2 s. The experiments are performed for 200 s, and we compare the performance of the proposed scheme to two existing schemes, the conventional scheme [5] and BBA [6].

Figure 7 shows the changes in the video quality level and the buffer level of each scheme. All schemes do not experience the buffer underflow, but the conventional scheme changes the quality level unnecessarily because it selects the quality level based on the inaccurately measured bandwidth. BBA experiences a high number of the quality level changes because the buffer level fluctuates near the buffer thresholds. The proposed scheme selects the quality level by using the buffer underflow probability and the instability, instead of using the measured bandwidth. Therefore, the proposed scheme minimizes the unnecessary quality changes.

Fig. 7.
figure 7

Changes in the quality level (left) and the buffer level (right).

Figure 8 shows the QoE comparison of the quality control schemes. The average video quality of the conventional scheme and BBA are lower than the proposed scheme, and the changes in the quality level of the proposed scheme are almost one-third of the compared schemes.

Fig. 8.
figure 8

QoE comparison of the quality control schemes.

5 Conclusion

In this paper, we have proposed the adaptive quality control scheme to improve QoE of video streaming in wireless networks. For quality control, the proposed scheme calculates two factors, the buffer underflow probability and the instability. Based on these factors, the proposed scheme defines the quality control region that consists of four sub-regions and applying different control strategy according to each sub-region. The proposed scheme selects the quality level using the control strategy of the determined sub-region. Experimental results have shown that the proposed scheme improves QoE by minimizing the unnecessary quality changes and the risk of the buffer underflow and maximizing the average video quality.

In future work, we plan to implement the proposed scheme in a real video player and evaluate the performance using complicated network scenarios with other quality control schemes.