Flexible HTTP-based Video Adaptive Streaming for good QoE during sudden bandwidth drops

We have observed a boom in video streaming over the Internet, especially during the Covid-19 pandemic, that could exceed the network resource availability. In addition to upgrading the network infrastructure, finding a way to smartly adapt the streaming system to the network and users’ conditions to satisfy clients’ perceptions is exceptionally critical, too. This paper proposes a new QoE-aware adaptive streaming scheme over HTTP - ABRA - to make flexible adaptations based on the network and the client’s current status. Besides, we propose a technique that can keep the bu ff er at an average high for more than 10s. We were limiting the phenomena of rebu ff ering due to unexpected and unpredictable bandwidth changes. The algorithm keeps the quality of subsequent versions’ quality constant even when the average bitrate decreases, increasing the QoE. Experimental results show that our method can improve QoE from 7.86% to 20.41% compared to state-of-the-art methods. ABRA can provide better performance in terms of QoE score in all bu ff er conditions compared to the existing solutions while maintaining a minimum secured bu ff er level for the worst case.


Introduction
Online video nowadays has been growing rapidly over the Internet, at the moment accounting for 79% of the whole Internet traffic, as reported by Cisco's statistics [1]. Especially, during the Covid 19 pandemic, online video sessions such as virtual classrooms/meetings have become essential to connect people around the world and help in keeping our society functioning. Therefore, video services have been much enhanced and developed around the world in recent years. Video is a big challenge as it contains much content transmitted with limited network conditions.
Recently, we have observed HTTP Adaptive Streaming (HAS) become one of the most common protocols for video streaming in which HTTP is an abbreviation for HyperText Transfer Protocol. In the HAS technique, at first, a video is encoded into many different versions with different video qualities. Each of those versions, then, is divided into smaller units called Segment. Segment is created and stored at the back-end server. A suitable segment with a specific video version will be sent to a client upon the client's request that is decided based on network conditions. Controlling the streaming system by adjusting segment quality that way can cause a severe quality variation during a streaming session if network bandwidth fluctuates strongly during the session. In turn, users watching those streaming sessions may perceive the overall service negatively (i.e., bad Quality of Experience). Therefore, an intelligent way to maneuver such an online video system should be based on a QoE model to decide which version the system should adapt to. Applying a QoE score (i.e., the quality perception measured by users), the system attempts to reach the highest possible QoE score for users.
In studies [2][3][4][5][6], the authors have outlined several relevant technological challenges and potential applications such as Context, Use Cases, Opportunities, and 5G networks with the need to be explored before the 1 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems Online First

Research Article
Flexible HTTP-based Video Adaptive Streaming for good QoE during sudden bandwidth drops widespread adoption of these technologies. GNN-based solutions for communication networks are already in use, such as MEC and VANET, which have adopted technology that enables video streaming through integrated video communication, caching, and computation.
To give the most general adaptive algorithm for different cases of network conditions, we use the QoE model in instance selection to adapt to existing client conditions. Also, client conditions are partitioned based on the buffer and instantaneous throughput so that each client machine makes its own different decisions most appropriately.
Recently, although there have been a numerous researches proposed for adaptive streaming such as [7][8][9][10], they just select segment versions heuristically. The version selection process depends on the current condition of the client's buffer status, and network bandwidth and [7,8,10]. To the best of our knowledge, employing a real QoE model to decide an adaptation version is introduced for the first time at research [9]. But, this scheme only uses two segments to make decisions at a given time. Therefore, the scheme uses all available resources for those two segments. In turn, this phenomenon reduces the flexibility of the solution to adapt to the bandwidth fluctuations for both the future and the current segments. That situation can get worse in case of bandwidth suddenly drops down.
In addition, another strategy based on the Scalable Video Coding (SVC) technique to improve the adaptability of HAS is mentioned in [27]. In [27], they took two steps of loading the segment and then smoothing it to increase the quality of the user experience. The above method gives a significant increase in QoE results but proves to be complicated and difficult to implement when it has to incorporate Finite State Machine. It is found that this algorithm complexity is relatively large, about 167ms to generate a decision on a 2.5 GHz computing core. The main reason for such high algorithmic complexity is that the system takes a considerable amount of time to smooth after downloading.
To solve the problems of the existing algorithms, the number of the next adaptation segments which are selected versions, is decided based on the reduction in measured bandwidth of the four previous segments. In particular, the selected version tends to be the highest possible if only considering one next segment. This leads to buffer level drop-down, causing significant version degradation a long time later.
Based on that fact, in this paper, we propose a rate adaptation strategy on the client side to improve QoE perceived by users (namely ABRA -All Buffer Range Adaptation). This work is also considered the improved version of the adaptation algorithm previously proposed by work [26]. In ABRA, the client's buffer was divided into three levels, and the change in throughput measured from the client side was divided into two different cases. We thus obtain six different combinations of throughput and buffer. We propose five different solutions to solve the above six cases. Five strategies include lowering the version to the lowest quality level to optimize for the buffer, keeping the version at the same quality level as the previous version to reduce the negative impact of the quality change on the QoE perceived by the user, estimating the version for two or three segments in the future based on the effect of a combination of consecutive versions on the QoE value. ABRA solves the problem of considering only one next segment, leading to selecting the highest possible version, then resulting in buffer level dropdown, causing significant version degradation a long time later.
The remaining of our paper is structured as follows. We will give a review of the state-of-the-art in Section 2. Then the detail of our proposed adaptive streaming algorithm called ARBA will be elaborated in Section 3. The performance results of ARBA obtained from multiple experiments and aspects are discussed in Section 4. And finally, our conclusions are given in Section 5.

Related Work
Recently, there have been many proposed adaptation algorithms for improving service Quality perceived by clients (i.e. Quality of Experience -QoE). In fact, it is hard to find a clear difference between those solutions, however, we could categorize them into 3 main directions: buffer-based, throughput-based, and mixed (i.e. hybrid of buffer and throughputbased) algorithms [11]. Mixed Adaptation combines the client's external (bandwidth) and internal (buffer, size of the segment...) elements to compute the next segment's bitrate.
In the throughput-based methods, at the client side throughput for the next segment is estimated based on the condition of the previously monitored throughput, which can be computed as the size of the previously downloaded segment being divided by the time required to get it. Finally, based on that estimated throughput, the most appropriate version for the next segment will be chosen. One of the initial studies in the throughput-based direction is solution Aggressive [7] which has a very simple principle. In Aggressive, throughput is simply estimated as equal to the throughput of the previous segment. Then, the scheme selects the video version with a quality as high as possible, in order to ensure that the bitrate of that version is not higher than the estimated throughput. This is to avoid re-buffering. However, estimating that way is often inaccurate in case the network bandwidth fluctuates strongly. Moreover, Aggressive is observed 2 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems Online First to be quite sensitive to bandwidth variation. This bandwidth fluctuation intolerance results in strong quality variation and badly influences QoE perceived by clients. To solve this challenge, some enhanced solutions are proposed later like [12,13], which make use of a safety margin in the throughput estimation; or like work [14] which uses the average throughput calculated from multiple previous segments to compute the estimated throughput. In work [19], the authors address the optimizing experience of viewers based on a receiver-driven approach subject to changing throughput of a TCP flow. This approach always chooses the lowest representation for the first segment, resulting in the disadvantage that a few first seconds of a video are always downloaded at the lowest quality. However, most of the solutions based on throughput knowledge use either the harmonic-mean network capacity estimation or the moving average models. Those models do not capture the time relevance of diverse samples and may not capture the numerous network bandwidth variations accurately.
In the direction of buffer-based schemes, the current and previous buffer statuses are the primary factor to decide the video version for the next segment, as found out in [15][16][17]. For this type of solution, at the client side, the play-out buffer is typically divided into multiple ranges. Within each range, a suitable version can be determined by multiple different actions. In general, when the buffer is in a very good condition (i.e. in a high buffer range), the version for the next segment shall be chosen higher than the version of the current segment. But when the buffer stays in the middle range, those schemes prone to keep the version stable. On the contrary, when the buffer stays at the low level, then the version for the next segment will be decreased to the lowest level for avoiding the rebuffering phenomenon in the system. In [15], the authors proposed to consider buffer conditions only for video streaming adaptation in the future, provided that capacity estimation is needed. In [16], a bufferbased adaptation logic coordinating with client metrics was proposed to compensate for errors in decisions of video adaptation. These errors are generated due to the fact that available network information for clients is insufficient, especially in the context of multiple clients competing through a bottleneck. The authors in work [17] proposed BOLA, which utilizes a Lyapunov optimization model to consider the buffer occupancy observations only. BOLA achieves near-optimal utility and in many cases significantly higher utility than state of art such as: MPC, PANDA, ELASTIC, and Pensieve. But if the selected bit rate does not match the available bandwidth, BOLA takes a long to until convergence. The issue of in-optimized parameters pending in [17] was then solved by work Oboe [41] which overcame the limitations of BOLA by using buffer level to estimate capacity. Research [42] indicated that estimating capacity is not necessary at the steady state; but quite important during the startup phase because the buffer grows from empty. So the solution in [42] -BB -decides video rates based on the current buffer occupancy. It applies simple capacity estimation only when the buffer has grown from empty. By doing that work [42] can reduce the re-buffering rate by 10-20 % in comparison with the default ABR algorithm of Netflix, while achieving higher video rates in a steady state. However, this solution, BB, becomes unsuitable when the video quality changes continuously. BB tends to generate a large number of version switches that badly affect on the user's quality experience.
For the final category, the mixed (or hybrid) algorithms, every decision made by a client is based on both of the throughput status and buffer occupancy statuses, as well as other parameters such as segment sizes and the QoE perceived by users. The mixed algorithms will take advantage of both buffer-based and throughput-based schemes such as: the throughputbased scheme helps to choose good bit rates to increase video quality, and the buffer-based scheme helps to adapt to good bit rates to avoid re-buffering. In fact, most of the throughput-based schemes fail to capture the time relevance belonging to different samples; and those methods perhaps do not capture variations in network bandwidth accurately. While a pure bufferbased strategy could take a long time to converge unless the available system bandwidth matches the selected version. So a hybrid method can take advantage of the strong points and overcome the disadvantages of the throughput and buffer-based schemes. In the direction of mixed algorithms, several works can be found in [20,21,29,31,35]. However, these solutions do not use the QoE-Model for adaptation decisions. Work [20] considers the degradation of DASH performance caused by the rate control loops of DASH and TCP and propose SQUAD to deal with the issue. SQUAD solves the discrepancies of DASH bandwidth estimation at the application layer and rate estimation of the underlying transport protocol. Research [21] introduces a new approach for Adaptation Buffer Management Algorithm, called ABMA+. In principle, ABMA+ makes adaptation decisions based on predicted re-buffering probability provided a buffer map is precomputed in order to avoid heavy computating on the fly. One of the popular approaches to ABR is fuzzybased Algorithms in [29,31]. Akshan et al.in work [31] used the moving average of the playback buffer level variations and observed throughput to minimize the video rate switches. Since the existing ABR algorithms use fixed control laws and are designed with predefined client/server settings [29], those solutions fail to reach optimal performance for different cases of video client settings and QoE objectives. In work [29], the 3 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems Online First authors solved the above problem by proposing a buffer and segment-aware fuzzy-based ABR algorithm that chooses rates for upcoming video fragments, based on segment duration and the client's buffer size in addition to throughput and playback buffer level. The ARBITER+ [35] was proposed employing a combination of a proportional integral controller and a harmonic network throughput estimator to determine the next representation quality. In this category, MPC [34] uses predictive model control, combining buffer occupancy and throughput information. This algorithm is proposed to optimize a comprehensive set of metrics. Bitrates for the current segment are chosen based on network bandwidth prediction for the next few segments. Hence it is obvious that prediction accuracy has a huge impact on the performance of MPC. Besides, MPC also requires computing optimization offline and outside of a client for an exhaustive set of contexts. Similar to solution BB, although MPC can reach quite high average bitrate quality reaches, this solution is unsuitable when the video quality changes continuously. MPC tends to causes more stallings in that case. Also, in the direction of concerning both throughput and buffer conditions to make adaption decisions, we can find a subgroup using Learning-based algorithms to solve the issue. However, this is another direction different from the QoE-model-based approaches. Another approach also uses QoE in adaptive algorithms like our paper, but with a different solution when QoE is used as a value function of the Reinforcement learning process to improve the quality of traditional algorithms in [36,37]. In [36], the authors proposed Pensieve using reinforcement learning for making ABR decisions. The scheme utilizes a neural network to select bitrate for the next video chunks based on observations of the performance of the players by past decisions. In work [37] the authors presented the QoE-oriented DASH framework in which an RL-based ABR algorithm is embedded. This scheme achieves better visual and temporal QoE factors while ensuring fairness at the application level among multiple clients competing through a bottleneck. Besides, HotDASH in [39] is also another method that uses reinforcement learning to improve QoE, and bitrate by prefetching video segments.
Some other adaptive algorithms that use a combination of throughput and buffer with non-QoE parameters are mentioned in [28,30,34,40]. Besides, the authors in work [40] presented a hybrid algorithm named DYNAMIC built on the DASH reference player. In this scheme, BOLA is used when the buffer is high as a buffer-based control manner; and a throughput rule is used when the buffer is low or empty in a throughputbased manner. Work [28] considers buffer level and level variations to mitigate playback interruption based on the Fuzzy-based DASH adaptation algorithms.
From another side, in the direction of mixed algorithms that take into account the QoE model, we can find several works such as [18] and researches [8][9][10]26]. The authors in work [18] proposes to use game theory to allocate resource to improve QoE for multiple users.
Research [8] provides SARA -an adaptation algorithm that uses the buffer status, the estimated throughput, and segment sizes to select the version of the next segment. Based on those metrics, the most appropriate-size version for the current state of a client will be chosen. But, strong network bandwidth fluctuation can cause selected versions to change frequently, resulting in degradation in viewers' service perception (QoE degradation). Work [10] proposes SATE which applies a QoE model for a better decision. However, both [10] and SARA only estimate a version for one next segment, leading to optimization for an instant time but not for the whole streaming session. As the remedy, work [9] proposes an adaptation algorithm that selects versions suitable for the next two segments. However, fixing estimation for 2 segments makes work [9] not work quite well in the case there is a sharp bandwidth drop. Work [26] considers a new adaptive streaming algorithm based on the throughput status, buffer level, and the QoE perceived by users. Therefore, to obtain more stable and high versions and so the QoE, the proposed algorithm took more next segments into account. In comparison with considering three next segments, the decision taking into account two next segments generally gets higher selected versions but less stable. Therefore, when throughput varies sharply, the proposed algorithm considers three next segments in making adaptation decisions to ensure a stable QoE for users. Meanwhile, in the case of steady bandwidths, only two next segments are taken into account. This proposed solution is considered a medium-buffer adaptation algorithm. It means that the solution is not totally effective in high or low buffer conditions.
To deal with the issue, we propose an upgrade version that can work well in all buffer sizes, which is called ABRA. In the same throughput conditions, the ABRA algorithm only slightly reduces video bitrates but increases QoE scores compared with the MBA algorithm by 10% and reduces the number of stallings by 3 to 4 times.

System architecture
In this part, the overall adaptation architecture between the Server and Client. is illustrated in Figure 1. which has multiple versions of different quality. Information on components is stored in the Media presentation description file.
• At the Client: the server will send the MPD file to the Client. Based on information obtained from MPD and estimated data from the Client (i.e. throughput, buffer, QoE,...). After that, variations in segment sizes cause inaccurate estimation of the expected segment to fetch time in low or high bandwidth networks, resulting in an erroneous prediction of the optimum bitrate. Therefore, we divide it into 1, 2, or 3 segments for the optimum bitrate. The downloader will then request the segments and download them to the Client. The component is buffered and then decoded and broadcast to the user's screen.

ABRA -All Buffer Range Adaptation
In this section, we will elaborate on an adaptation algorithm that is designed to work appropriately with all ranges of buffer (i.e. low, medium, and high buffer size). The ARBA scheme is described as follows: Assumption: • φ seconds: length of each segment • N : N encoded versions of different bitrates for each segment in which a better video quality corresponds to a higher video quality version.
• At the client, downloaded segments are placed on the playback buffer to wait for their playtime.
To decide on appropriate versions for the segments, we divide the buffer into three ranges: dangerous, low, and high, based on 3 determined thresholds of B min , B low , B high , as described in Fig.2. These thresholds are defined by the video duration which is counted by the number of seconds contained in the buffer.

Figure 2. Three divided buffer ranges
To make good adaptation decisions in the condition throughput fluctuates, our algorithm ABRA differentiates 2 main variation cases: downtrend case and uptrend case. The downtrend case is considered when the measured throughput of the previous segment is equal to or greater than the current throughput. Otherwise, it is considered an uptrend case.
In ABRA, we also consider 2 other special cases of throughput: Throughput sharp drop and Throughput rapid rise. These 2 conditions are considered based on specific buffer statuses as well.
In ABRA, the algorithm runs with the input of selecting 1, 2, or 3 following segments to predict versions. When the next number of segments to be 5 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems Online First calculated is 1, the highest quality level version is selected. However, this may reduce the stability of the quality of subsequent versions. To overcome this, we consider the next 2 or 3 segments. As a result, the maximum version quality is limited then the version selection is more stable. As the number of segments under consideration increases, the quality of subsequent versions becomes more stable. We consider one segment for increasing in quality when throughput increases, three segments in the case of optimal stability (e.g., a sharp drop in bandwidth.), and two segments in the remaining issues. Deciding between 2 or 3 segments to make a prediction helps the network resource be used more effectively and flexibly. Resource utilization is, therefore, more efficient than considering only one segment. ABRA aims to select the appropriate versions for the following segments based on each specific throughput case and buffer level to maximize the overall QoE score of streaming sessions. Each proper decision should be made based on the trade-off between decreasing buffer occupancy and increasing segment versions to avoid playback interruptions (or re-buffering events).
• At a specific time, version V i+1 is selected for next segment i + 1 based on the fact that a client has to capture current buffer B cur i as well as throughput T i .
• Later, for each version N that satisfies the condition N ≥ V i+1 ≥ 1, the corresponding estimated buffer level B e i+1,V i+1 and throughput T e and can be calculated.
The corresponding throughput T e is calculated as follows: where: • margin: a parameter to reduce the bad influence of throughput estimation errors.
The corresponding buffer level B e i+1,V i+1 is calculated as follows: where: • R i+1,V i+1 : the bitrate of version V i+1 estimated for segment i + 1.
• φ× : the amount of time to download version V i+1 for segment i + 1 completely In addition, in this paper, we use the QoE model proposed in [22] to calculate the QoE score corresponding to version V i+1 . The calculation is based on its quality level Q V i+1 . This QoE model contains almost all parameters that affect QoE when streaming video via http protocol including: different quality values, quality switching types, and interruptions. Where: • QoE pred : overall QoE considering the influence of initial delay, interruptions and varying perceptual quality • Q P Q : varying perceptual quality of a session, depending on the corresponding quality switching and quality value.
• D IR : distortion function of the interruptions

• D ID : distortion function of the initial delay
This QoE model is found to be capable of predicting QoE perceived by users accurately, from the beginning to any moment during the whole course of a streaming session. Finally, ABRA calculates appropriate versions for the next segments based on buffer levels, throughput variations, and corresponding QoE score of segment versions. In the ABRA algorithm, QoE scores are continuously measured in every playing video second. However, any existing QoE model can be actually applied after reviewing and investigating the performance and accuracy of those proposals carefully.
This solution is proven to work well in all buffer sizes from low to medium to high buffer. Therefore, ABRA is an enhanced version of work [26]. ABRA flexibly calculates adapted versions either for the next 2 segments or 3 segments. In case throughput decreases strongly, ABRA calculates adapted versions for the next 3 segments, else for the next 2 segments. If work [26] focuses more to find a solution for a medium buffer condition, still has the disadvantage of not working very well in the low and high buffer conditions. With this ABRA, when the buffer is low and throughput increases strongly, ABRA keeps the same version. When the buffer is high and throughput decreases strongly, ABRA calculates new adapted versions for the next 3 segments. With this strategy, ABRA can work quite well in 3 ranges of buffer: low -medium -high. In comparison with our previous work [26], ABRA is proven to outperform at the low and high buffer conditions.
Below is a description of how to choose version when the system considers the next 3 segments:  • the estimated buffer for segment 2, given the condition, if version i + 2 is chosen, is greater than B min plus ∆B err . ∆B err is the buffer margin taken into account to prevent deviation from the actual bandwidth and the estimated one. In our experiment, this buffer margin is set 2 seconds.
• in the same way the estimated buffer for segment 3, given the condition, if version i + 3 is chosen, is greater than the mimimum buffer plus buffer margin ∆B err .
Calculating for 1 or 2 segments is similar to the above case. However, considering for 1 segment will be different in terms of the selected version as follows: where 9 is the maximum version.
In the downtrend case where T i ≤ T i −1 , ABRA operates as follows: • when the current buffer B cur i is in the dangerous range (i.e., B cur i ≤ B min ), ABRA selects the lowest version to avoid interruptions (i.e., V i+1 = 1).
• If the current buffer is in the high range (i.e. B cur i ≥ B low ), ABRA calculates for the next 3 segments with the goal of either reducing to a lower quality version if possible or remaining the video quality version. • If the current buffer is in the low range (i.e. B min < B cur i < B low ), ABRA predicts the version for either 2 or 3 segments, depending on situations in bandwidth decrease. If bandwidth encounters a sharp drop, the prediction will cover for 3 segments, otherwise 2 segments.
Since the number of next selected segments is based on the variation in throughput in real-time. Especially, if the network condition encounters a sharp drop in throughput, a decision on which versions should be used for the next 3 segments is made also based on the goal of how to keep the video quality mostly stable during a streaming session overall. Otherwise, users would badly perceive the service due to quality up-sidedown all the time.
ABRA uses Algorithm.1 to calculate 3 next segments in order to make a suitable decision taking into account keeping the current version to have version stability or decreasing video quality version in case of bad bandwidth conditions.
Otherwise, version prediction for the next 2 segments will be carried out based on the degree of throughput variation. To define this degree, we determine ∆T dropthroughput difference threshold. Throughput degradation is considered to be a sharp drop if the difference between the current throughput and the max throughput measured at the 3 previous segments is greater than this ∆T drop . Essentially, the goal to select versions for the next segments is to maximize QoE at the last adapted segment and to prevent buffer levels from dropping to the dangerous range. In ABRA, the estimated buffer level of segment i + 3 and i + 2 are calculated as follows: and

Uptrend Case
In the uptrend case, adaptation decisions are made based on different conditions as follows. If the buffer level B curr i falls within the dangerous range, similar to the downtrend case, video quality version will be switched to the lowest quality version. However, if throughput increases strongly back again (throughput rapid rise), the version of the previous segment will be applied for this segment.
In another case, the highest possible version will be chosen to obtain the best QoE while causing no decrease in buffer level. The goal of ABRA is to assure the high buffer level over time, that improves the adaptability of ABRA in bad scenarios, especially in the case of sharp bandwidth drops. The summary of our proposed algorithm is presented in Algorithm 2.

Experimental Results
To evaluate the performance of the ABRA solution, at first, we will compare the MBA solution previously proposed in work [26] with the 4 cutting-edge solutions Aggressive [7], SARA [8], Tran's [9] and SATE [10]. Then, we will show the performance of MBA in comparison with ABRA as the enhanced version of MBA.

Experimental Set-up
In our experiment, we set up a testbed that comprises of: • A server and a client.
• The IP network in between the server and the client is emulated by the DummyNet tool, in which throughput can be varied.
• the margin parameter is set to 0.2 Bandwidth fluctuation is emulated using four bandwidth traces illustrated in Fig. 3, in which Bandwidth traces 3 and 4 represent the limited network situations. In contrast, Bandwidth trace 1 and 2 represent the normal network conditions. On the server side, we use a 180-second long video extracted from the Big Buck Bunny film [23]. The video is partitioned into 2-second segments (i.e., φ = 2 seconds), each of which then is encoded into 9 different versions corresponding to 9 quantization parameters (QP) as illustrated in Table 1. The encoding process is done by using Variable Bitrate (VBR). These 9 versions of each segment are stored on the server, being ready for the adaptive streaming process. At the client's side, the adaptive streaming algorithms ABRA calculates and makes decision which suitable versions should be downloaded for each single segments, based on the buffer and network conditions as explained in the previous section. 8 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems Online First

Figure 3. Experimental bandwidth conditions
As aforementioned, we apply the QoE model proposed by work [22] to evaluate the effectiveness of our ABRA algorithm versus the other existing solutions.

Performance Evaluation
In this section, at first, we will compare the performance of the so-called MBA method (i.e., Medium-Buffer Adaptation algorithm) proposed by a recent work [26]. The MBA method was actually proven to out perform some state of the art researches such as Aggressive [7], SARA [8], Tran's [9] and SATE [10]. MBA can solve some problems such as low QoE score achievement during throughput fluctuation in Aggressive [7]; or buffer dropdown if bandwidth is not sufficient enough in SARA [8]; or significant degradation in QoE scores sometimes due to attempt to keep highest version in a long period of SATE [10] and Tran's [9].
In summary, MBA is able to provide better performance compared with the other 4 reference solutions in terms of QoE stability throughout the streaming session and highest achievement of the overall QoE score. MBA earns those benefits due to the fact that it selects the number of segments flexibly while maintaining a minimum secured level of buffer for the worst case. Moreover, since determination on the number of predicted segments should be for the sake of a good QoE, versions are finally selected evenly at close intervals, that in turn creates a smooth video with high QoE score (i.e. high perception by users).
As the upgraded version of MBA, ABRA inherits all the advantages of MBA while improving the performance in all ranges of buffer level. In this section, the performance of ABRA is evaluated by directly comparing with MBA in the following aspects: Note that our play-out session is assumed to start after the buffer is full. We also use other metrics to test the performance of our live streaming algorithms including: average received quality rate (rav) in Kbps, the number of freeze-free sessions (nff ), the number of stalls (nf), the total stall duration (tf) in seconds, the number of switches (nsw), and the switching level. The following experiemtns show the comparison between ABRA and MBA in terms of QoE, version and buffer in two different bandwidth traces.

Normal Bandwidth Condition.
In this experiment, the ABRA performance is tested with Bandwidth trace 1 and 2 in Fig. 3, representing for the normal network conditions. ABRA is compared with MBA as illustrated in Fig. 4 and Fig. 5, which shows that the difference in QoE values perceived by users reaches the MOS score of 1.29 in Fig. 4) and 1.77 in Fig. 5. This QoE disparity occurs when throughput drops dramatically, making the difference between the two algorithms obvious.
As we can see, the QoE score of MBA is slightly higher than the that of ABRA at the time before throughput drops down (i.e. the "thrp attenuation" event). However, the good performance of MBA is only temporary for a very short period. We can see that ABRA can optimize the quality for the entire streaming session. 9 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems Online First   coming back right afterwards. This fact makes the version increase and decrease continuously in a short period of time, leading to QoE degradation. This phenomenon with ABRA happens more frequently than 10 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems Online First with MBA. For example at segment 43, 67, 116 and 116, 117 respectively. However, the overall version of ABRA is more stable than MBA. Thereby, the overall quality perceived by clients (i.e QoE score) of ABRA is better than of MBA.

Limited Bandwidth Condition.
In this test scenario, the network bandwidth is assumed to be much more limited, which is 3 times lower than the bandwidth in the previous bandwidth scenario, shown in the Bandwidth trace 3 and 4 of Fig. 3. In a limited network and bandwidth environment, more bandwidth than the available one may be required to support high-quality video streaming, leading to reduced video quality, increased latency, and other issues that can negatively impact user experience.
The ABRA's performance is tested in two scenarios: Limited bandwidth conditions, such as Fig. 6 and Fig. 7; our algorithm also shows different strategies to adapt to buffer size when operating in limited bandwidth conditions. If the buffer size is large, the algorithm computes the instance choice to maintain the user's QoE without dangerous buffer levels. If the buffer size is small, choosing the lowest version takes precedence.
The results in Fig. 6 and Fig. 7 show that even in a very limited and fluctuating bandwidth conditions, ABRA still achieves slightly better performance than MBA in terms of MOS. MOS is maitained at quite a good score of 3.4.

ABRA versus other existing methods
As described in section 4.2, ABRA shows a slight improvement over its predecessor-MBA. In this section, we will compare ABRA with state-of-the-art solutions including: MPC [34], Pensive [36], and Buffer-based [42] under real network conditions. The average results of average bitrate, number of switches, time stalling, and the total QoE score are obtained as shown in Fig. 8, 9, 10, and 11, respectively.
In general, as Figure 8 shows, ABRA provides average bitrate 10-20% lower than the existing solutions. However, as we observe the behavior of version switching in Fig. 9, we see that ABRA is the solution that achieves the most stability in deciding versions for next segments. The ABRA algorithm has about 2 times, 3 times, and 5 times less the number of switch versions than the BB, MPC, and RL algorithms. This fact helps to keep the user experience stable, avoiding user annoyance due to frequent video quality changes like other methods do. On the other hand, ABRA also has a low rebuffering time comparable to a compatible solution that relies on buffers, which has approximately 2.5 times, 4 times, and 1.5 times less when compared to the BB, MPC and RL algorithms, respectively. Thanks to these two factors, Fig. 11 shows that ABRA is the solution that achieves the highest QoE score of about  17.55%, 20.41%, and 7.86% than the BB, MPC, and RL algorithms, respectively.
Additionally, ABRA consistently maintains a buffer level more significant than the 20s, a relatively safe buffer level that helps prevent stalling, resulting in video freezing and negatively affecting the user experience. Unlike the Buffer-based methods, in which the prior size maintains the buffer size at a constant level, ABRA dynamically the buffer level to avoid depletion when the throughput reduces. That will 11 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems Online First prevent the most significant disadvantage of bufferbased systems: too much version change between segments due to buffering concerns. In our opinion, consumers will value keeping steady video quality better than maintaining a stable buffer size because users will only perceive a difference when the buffer is empty, i.e., stalling. Thanks to the two characteristics mentioned earlier, ABRA can be considered an algorithm that obtains the highest QoE level, as shown  Fig. 11. Although MPC always decides to achieve the best level of video quality but causes buffer 12 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems Online First levels fail to keep safe levels and causes a lot of rebuffering. That will prolong user wait times and make its QoE the worst. Besides, Pensive, a solution based on reinforcement learning, strikes a good balance between improving video quality and maintaining stable buffer levels. However, the compatibility according to the network data does not provide a good user experience when there are too many version changes between segments. Thereby, we conclude that ABRA has optimized the trade-off between image quality and safe buffer level so that the user experience can be achieved the best among the existing solutions.

Conclusions and Future work
In this research, we have proposed a QoE-driven video adaptation method over HTTP -ABRA. ABRA can flexibly select versions by adapting to bandwidth fluctuations based on throughput variations and the client's status. The advantage of ABRA is that it can work stably in all different ranges of buffer level statuses. It can keep a high QoE score while keeping those scores stable for an extended period. That fact makes ABRA stand out from the existing adaptive streaming schemes in state of the art. In our future work, we will further use deep learning to extend the adaptability of the current approach to constantly changing bandwidth conditions.