1 Introduction

Multimedia content accounts for the majority of Internet traffic. According to the Cisco Visual Networking Index, 82% of global mobile data traffic will be video traffic by 2022 [8]. To handle traffic demand related to multimedia, HTTP adaptive streaming (HAS) solutions are often used. These solutions include Apple’s HTTP Live Streaming (HLS), Adobe’s HTTP Dynamic Streaming (HDS), Microsoft’s ISS Smoothing Streaming, and Dynamic Adaptive Streaming over HTTP (DASH) developed under MPEG and standardized by the ISO/IEC.

In HAS, video content is encoded at multiple video rates and is stored on an HTTP server. The video content is fragmented into segments of fixed durations. The adaptive bitrate (ABR) algorithms run on the HTTP clients and adapt the video quality according to the network conditions. The HAS clients download the segments into the playback buffer before they are sent to the video player. The objective of the adaptation algorithms is to optimize the user experience by meeting conflicting video quality objectives. These objectives include selecting the highest feasible set of video bitrates, avoiding unnecessary video bitrate switches, and preserving the buffer level to avoid playback interruptions [10, 11, 24, 29, 39].

Traditionally, the ABR algorithms run on the HTTP client, and the clients are unaware of competing clients and radio channels. It has been shown that competing clients cannot achieve fair performance when the air interface is a bottleneck [6]. Furthermore, the unfairness increases as the number of competing clients increase. Similarly, competing clients cannot coordinate with each other to efficiently utilize the bandwidth. Recently, a multi-access edge computing (MEC) paradigm has emerged that offers computation capabilities at the edge of a mobile network by deploying servers within the radio access networks. In addition, MEC provides real-time access to application and radio access network (RAN) information. The computational capabilities of MEC allow for cell-wide central adaptation of multiple clients competing for bandwidths.

In our previous work [36], we analyzed the performance of MEC-assisted and client-based rate-adaptation algorithms under varying client, server, dataset, and network settings. The existing algorithms developed fixed control rules to select the video quality based on the estimated throughput [18, 42], the playback buffer level [14], or a combination of the two parameters [15, 28, 33, 34]. The results in [36] revealed that the algorithms require significant tuning, and performance fluctuates from one network setting to the other. This leads to the algorithms providing inconsistent QoE in different environments. The video streaming services deploy segment durations differently. Microsoft’s Smooth Streaming and Adobe’s HTTP Dynamic Streaming offer segment durations of 2 seconds and 4 seconds, respectively [1, 47]. With the shorter segment duration, the client has more opportunities to adapt the video rate, compared to the longer duration. In a highly unstable network, the client could adjust the video rate quickly, downloading smaller segments. Similarly, different video players offer different buffer sizes. The buffer-based algorithms adapt the video rates aggressively or conservatively based on the playback buffer level. As the buffer level increases, the algorithms select the video rate aggressively. A smaller buffer would fill up quickly, compared to a larger buffer. This would allow the adaptation algorithms to aggressively increase the video rate. However, a larger buffer decreases the risk of playback interruption in case of a mismatch between the selected video rate and the available bandwidth. The ABR algorithms should be able to guarantee QoE under different settings. However, the existing adaptation algorithms do not consider buffer sizes and segment durations to adapt the video quality [36]. In this work, in addition to the playback buffer level, we also consider clients’ buffer sizes and segment duration to decide video quality.

The results in [36] also reveal that the existing algorithms give precedence to one specific video quality objective over others. This trend is observed in both MEC-assisted and client-based algorithms. It is easier to meet just one of the conflicting video quality objectives. For example, the video can be streamed at the highest available video rate throughout the streaming session. This would increase the risk of playback interruptions in an unstable environment. Similarly, the video can be streamed at the lowest available video rate to minimize the risk of playback interruption. However, this would lead to poor video quality. The aim of this work is to propose an adaptive algorithm that optimizes the QoE by simultaneously maximizing all metrics.

Trends in video content have changed drastically since the advent of social media. The durations of video content from online video-sharing platforms such as YouTube have been drastically reduced over the years [2]. The average duration of the top 10 videos on Facebook was 128 s in 2018 [17]. Similarly, the average duration of movie trailers for over 20,000 movies released between 2000 and 2016 was 114.2 s [13]. In a mobile network, the bandwidth for HAS clients depends on multiple factors, including propagation distance, fading, interference, and user mobility. The throughput may change drastically while downloading the segments. Therefore, the existing ABR algorithms strive to keep the buffer filled to a predefined threshold to minimize the risk of playback interruption [26, 33, 34]. To keep the buffer above a predefined threshold, the algorithms compromise on video quality. This strategy is understandable while streaming a long video, such as a complete movie. However, with a short video, such as a movie trailer, the user expects to watch the complete video at the most feasible video quality. Therefore, to select video rates, it makes sense to design different strategies for short and long videos. To this end, we design separate quality adaptation algorithms for short and long duration videos.

The understanding of MEC-assisted ABR strategies is still in the early stages. In this paper, we present a content-aware edge computing-assisted rate adaptation method for a single cell with multiple clients to centrally optimize the QoE of competing clients. The contributions of this research are as follows.

  • We design an integer non-linear programming (INLP) optimization model that jointly optimizes the QoE, fairness, and bandwidth utilization of HAS clients in a cellular network with MEC capabilities.

  • Due to the NP-Hardness of the problem, we designed content-aware greedy heuristic algorithms that solve the rate adaptation optimization problem for short and long duration videos. The algorithms consider video duration, segment duration, clients’ playback buffer size, estimated throughput, and playback buffer level to jointly select the video rates for HAS clients.

  • We conducted extensive experiments to evaluate the performance of the proposed algorithms with varied segment durations, playback buffer sizes, numbers of competing clients, clients’ moving speeds, and video durations.

  • The results from our extensive experiments show that the proposed algorithm guarantees QoE under varying client, server, dataset, and network settings. The proposed algorithm optimizes QoE by simultaneously enhancing all video quality metrics.

  • The results reveal that the proposed long video adaptation algorithm outperforms state-of-the-art algorithms, with average improvements in video rate, QoE, fairness, and bandwidth utilization ranging from 7.3%–12.3%, 8%–28%, 3.3%–5.7%, and 60%–130%, respectively. Additionally, when high bandwidth is available to clients, the proposed short video algorithm downloads 6% higher-quality segments, experiences 45% fewer switches, and improved QoE by 11.1%, compared to the proposed long video adaptation algorithm.

2 Related work

The ABR algorithms can be divided into three methods: 1) throughput-based, 2) buffer-based, and 3) hybrids. Throughput-based algorithms select the video quality based on the throughput observed while downloading segments [36] [5, 23, 27]. It has been shown that they cannot accurately estimate the bandwidth when multiple clients compete against a network bottleneck [22]. Therefore, some ABR algorithms suggest observing only the playback buffer to select the video quality [18, 41]. Multiple researchers have used a combination of playback buffer and estimated throughput to pick video quality [13, 14, 34, 42]. In [20], the authors used segment size in addition to throughput and the playback buffer for video rate adaptation. However, all these algorithms targeted client-side quality adaptation. Moreover, these algorithms do not target fair selection of the video rates in a multi-client environment. FESTIVE [6] uses an approach to improve HAS fairness by using a harmonic bandwidth estimator and randomizing the scheduling of the requested segments. Li et al. [10] presented an algorithm called Probe and Adapt (Panda) that probes for fair bandwidth sharing and adapts the video rate accordingly. Although these algorithms improve the fairness and stability in a wired network, they perform poorly under dynamic cellular links due to TCP unfairness. The Panda probing mechanism follows an additive-increase/multiplicative-decrease (AIMD) strategy. In a cellular network, a client close to the edge of the base station may observe low throughput due to propagation distance. When that client moves closer to the base station, it will observe higher throughput. However, due to Panda’s AIMD strategy, it will take multiple segments to increase the client’s estimated throughput.

In [9], the authors proposed a server-side scheme using feedback control theory to execute measurement and control at the HAS server. The clients’ video qualities are jointly adapted at the server. However, the scheme is not specifically designed for the cellular environment, and does not impose any constraints on radio resources, which might lead to overestimating or underestimating the video rates for adaptation. Petrangeli et al. [30] proposed a method to fairly utilize the bandwidth when multiple clients greedily compete for it. However, their proposed objective function and adaptation scheme do not consider the trade-off between the QoE of the clients and fairness. Other researchers [7, 19, 48] have proposed schemes that combine the designs of quality adaptation and resource allocation in a multi-client cellular environment. However, these schemes require modification of the standard cellular infrastructure.

The concept of MEC has been proposed by the European Telecommunications Standards Institute (ETSI) to satisfy the requirements of 5G. Yang et al. [44] implemented a proof-of-concept for a MEC-assisted mobile video streaming service. Tran et al. jointly utilized the processing capability of MEC along with edge caching to improve a streaming system [43, 45]. However, the focus of these works was to reduce video delivery latency without considering factors that impact the QoE of the clients. In [25], the authors proposed an MEC-assisted adaptation algorithm and a client to edge server mapping strategy to quantify the benefits of network-assisted solution. The authors compared the effect of network topology and inter-arrival time on the performance of MEC-assisted algorithm and purely client-based adaptation algorithms. The results in [25] showed that the client to edge server mapping mechanism led to clients achieving higher throughput. MEC-assisted algorithm utilized the higher available throughput to download higher quality segments compared to client-based algorithms. The MEC-assisted algorithm outperformed client-based algorithms in some of the video quality objectives when the achievable throughput was moderately high. However, the authors did not discuss the performance of the adaptation algorithms without employing client to serve edge mapping strategy. In addition, the authors did not use QoE and bandwidth utilization metric to compare the performance of the algorithms. Authors used a simple mathematical model to characterize the radio link as a function of distance of client from base station. In cellular networks, radio link depends on multiple factors, including propagation distance, fading, shadowing, and interference. The authors ignore factors such as fading, shadowing and interference in their mathematical model. Moreover, the authors ignored important content information in the design of the adaptation algorithm. In [46], the authors proposed an edge-assisted adaptive video streaming scheme based on a dueling deep Q-learning network. The objective of the video streaming scheme was to optimize QoE by jointly considering the physical layer transmission bandwidth and playback buffer status. In our previous work [35], we presented joint throughput estimation that assists an adaptation algorithm in fairly assigning video rates, as well as MEC-assisted rate adaptation method to enhance the viewing experience. These works [3, 21, 25, 35, 43, 45, 46] focused on jointly optimizing the QoE in a cellular environment. However, they do not focus on efficient utilization of the bandwidth by a HAS client. Moreover, these works do not take into account the video content and HAS client information. Authors in [12] introduced an edge- and SDN-assisted video streaming framework that exploited the capability of Software Defined Network (SDN) and Network Function Virtualization (NFV). This work focused on improving the user experience by improving playback video rate and minimizing playback interruptions. In [36], we showed the impact of segment duration, client buffer size, the number of competing clients, and clients’ arrival times on the performance of HAS algorithms. The results revealed that the rate adaptation algorithms must consider these parameters in order to guarantee QoE under different settings.

Different from existing works, the proposed algorithm investigates the impact of content-aware joint optimization of QoE, fairness, and bandwidth utilization for video streaming in MEC environments. The proposed algorithm jointly adapts video rates by exploiting cell-wide HAS clients’ information, video content details, and device features. Furthermore, the proposed method uses different strategies to adapt video rates to stream short and long duration videos.

3 Multi-access edge computing assisted streaming

In this section, we describe the proposed system.

3.1 Architecture overview

Traditionally, the adaptation module runs on the HAS client. HAS clients are oblivious to the decisions made by other competing clients. Moreover, clients unfairly utilize the available bandwidth in the presence of competing clients [22]. HAS clients rely on the underlying TCP to fairly and accurately estimate throughput; however, the underlying TCP is inaccurate and unfair in a cellular environment. The edge cloud can access RAN information and is computationally far more powerful than HAS clients. It is thus logical to shift the adaptation module from the client to the edge cloud. The adaptation module at the edge cloud exploits the channel knowledge of multiple streams to jointly adapt the video quality of the clients.

Figure 1 illustrates the MEC HAS system for adaptive video streaming over a cellular network. The HAS server stores video content encoded into a set of m video rates R = {R1, R2, R3,…, Rm}. Each representation of a video is split into multiple fixed-duration segments, τ. A set of N HAS clients subscribes to HAS services, and each client is indexed by i, where i = 1, 2, …, N. The edge cloud is deployed at the base station to enhance the mobile services, and cellular entities such as the cellular scheduler operate in the same way as conventional cellular networks.

Fig. 1
figure 1

Streaming architecture for multi-access edge computing–assisted video streaming

The client initiates streaming by requesting information about the stored content from the HAS server. In response, the HAS server sends the media presentation description (MPD) so the adaptation module at the edge cloud and the HAS client have information on the available video representations. Then, the HAS client requests a video segment based on the available application layer information. The request from the HAS client is treated as a suggestion by the adaptation module for the edge cloud. Under conventional client-side adaptation, the cellular network forwards the request to the HAS server. In MEC-assisted adaptation, the edge cloud intercepts the request. The adaptation module overwrites the suggested video rate by the client, Rc, based on the cell-wide optimization of the clients. In addition to the information available in the MPD sent by the server, clients’ playback information for adaptation, such as the playback buffer level, device capabilities, observed throughput, and QoE status of the clients, is embedded in the feedback from clients. This is feasible, because the 3rd Generation Partnership Project standardized QoE reporting for clients by using the HTTP POST request carrying XML-formatted metadata in the body [32]. The video rate adaptation results of the adaptation module for the edge cloud are then delivered to the HAS server for streaming the next segment. In this manner, the edge cloud can jointly optimize the user experience of the HAS client without modifying the client or server. The list of parameters and their descriptions have been summarized in Table 1.

Table 1 Cellular Network Configuration

The downloaded segments are stored in the playback buffer, which contains the unviewed video. Let B(t) ϵ [0, Bmax] be the buffer occupancy at time t. Different video players provide different buffer sizes, Bmax, depending on the service provider and storage limitations on the player. Figure 2 depicts the dynamics of the playback buffer. At time tk, the client downloads the kth segment encoded at the ith video rate, Rik. The size of the segment is equal to Rik × τ. The download time of the segment will be (Rik × τ/Tk) where Tk is the throughput observed by the client during the download of the kth segment. Once segment k is downloaded, the client waits for ∆tk seconds before sending the request for the kth + 1 segment. Waiting time is given by:

$$\Delta {t}^k=\left\{\begin{array}{c}0,\kern0.75em B(t)<{B}_{max}\\ {}\tau, \kern2em otherwise\end{array}\right.$$
(1)
Fig. 2
figure 2

Dynamics of playback buffer

Throughput Tk at time t is calculated as follows:

$${t}^{k+1}={t}^k+\frac{R_i^k\times \tau }{T^k}+\Delta {t}^k$$
(2)
$${T}^k=\frac{1}{t^{k+1}-{t}^k+\Delta {t}^k}{\int}_{t^k-\Delta {t}^k}^{t^{k+1}}{T}_t dt$$
(3)

Let Bk be the buffer level before the start of the download of the kth + 1 segment; then, Bk + 1 is expressed as:

$${B}^{k+1}={\left({B}^k+\tau -\left(\tau \times \frac{R_i^k}{T^k}\right)-\Delta {t}^k\right)}_{+}$$
(4)

The notation (x)+ = max (x, 0) ensures that the term is always positive. Eq. 4 shows that if Bk < τ× Rik /Tk, the buffer will be empty before the video player completely downloads the kth segment. Note that the segment duration plays an important role in the change in buffer occupancy during the download of the segment. A longer segment duration increases the risk of playback interruption in case of a mismatch between the selected video rate and the throughput.

  1. 3.1.

    Channel Model

We consider a cell that consists of N HAS clients that stream video content and are served by a base station. The spatial distributions of the base station and the HAS clients are mutually independent. Ignoring interference among clients, the Signal-to-Noise-Ratio (SNR) of the HAS client can be calculated with:

$$SNR=\frac{P_r}{N_oW}$$
(5)

where Pr, No, and W denote the received power, the power spectral density of additive white Gaussian noise, and the client’s bandwidth, respectively. The received power is related to the path loss and the transmitted power. The path loss, PL(d), is a function of propagation distance [31]:

$$PL(d)=128.1+\left(37.6\ast \mathit{\log}10(d)\right)(dB)$$
(6)

where d is the distance between the HAS client and the base station. Therefore, (5) can be expressed as:

$$SNR=\frac{P_t PL(d)}{N_oW}$$
(7)

where Pt denotes the transmitted power.

Assume the total bandwidth is BW, and the bandwidth allocated to the jth client is ωj. Ignoring interference among the clients, the jth client’s channel capacity, Cj, can be calculated according to Shannon’s theorem [31]:

$${C}_j={W}_j{\mathit{\log}}_2\left(1+ SNR\right)={W}_j{\mathit{\log}}_2\left(1+\frac{P_t PL(d)}{N_o{W}_j}\right)$$
(8)

The higher the client’s channel capacity, Cj, the higher the throughput, Tj, observed by the jth client during the download of a segment. Note that the channel capacity depends on the propagation distance. HAS clients may be located at different distances from the base station. A client close to the base station will achieve higher throughput, compared to a client located at the edge of the cell. On one hand, selecting the highest feasible video rate for both clients would decrease the fairness. On the other hand, selecting a video rate higher than the available throughput for the user at the edge of the circle (in order to improve fairness) would lead to buffer underflow. To this end, selecting a low video rate for the client closer to the base station would improve fairness, but increases bandwidth inefficiency. Therefore, optimizing both bandwidth utilization and fairness for the clients in a cellular environment is a challenging task.

  1. 3.2.

    Quality of Experience

A comprehensive survey on QoE under HAS determined the factors that affect user experience [38]. These factors include selecting the highest feasible set of video bitrates, avoiding unnecessary video bitrate switches, and avoiding playback interruption. Playback interruptions and selection of video bitrates affect the user experience the most [16]. There is a tradeoff between selecting the highest feasible video rate and the risk of playback interruption. We aim to provide optimal QoE based on the abovementioned conflicting criteria.

The average video bitrate over downloaded segments by the jth client is given by:

$${Q}_j=\frac{\sum_{k=1}^S\left({R}_{ij}^k\right)}{S}$$
(9)

where \({R}_{ij}^k\) is the ith video rate assigned to the jth client, k is the segment index, and S is the total number of segments downloaded by the client.

Frequent video rate switches inversely affect the user experience. Abrupt switching impairs QoE more than smooth switching [11]. Magnitude of the changes in the quality from one segment to another is given by:

$${QS}_j=\frac{\sum_{k=2}^S{R}_{ij}^k-{R}_{ij}^{k-1}}{Number\ of\ Switches}$$
(10)

The client experiences playback interruptions if the download time (τ×\({R}_{ij}^k\) /Tk) is higher than the playback buffer occupancy level. The total interruption time, IR, is \({\sum}_{k=1}^S{\left(\tau \times {R}_i^k/{T}^k-{B}^k\right)}_{+}\).

In this study, we used the same QoE metric used by the authors in [45], which is defined as follows:

$${QoE}_j={\sum}_{k=1}^Sq\left({R}_{ij}^k\right)-\mu {IR}_j-{\sum}_{k=1}^S\mid q\left({R}_{ij}^k\right)-\mathrm{q}\left({R}_{ij}^{k-1}\right)\mid$$
(11)

For a video fragmented into N segments, q(\({R}_i^k\)) maps the video rate to the quality perceived by the viewer. IRj represents the total rebuffering time during the download of the video, while the final term discourages frequent changes in the video rate. The authors in [45] used q(\({R}_{ij}^k\)) = \({R}_{ij}^k\) and μ = 3000, signifying that a playback interruption of 1 s receives the same penalty as reducing the bitrate of a segment by 3000 kbps. We also consider the same values in our evaluation. In this study, we calculated the average QoE per segment, that is, the total QoE metric divided by the number of segments. In Section 6, we evaluate the QoE of algorithms using Eq. (11).

3.2 Fairness and bandwidth efficiency

Rate adaptation algorithms are fairly effective when a client operates alone. When multiple HAS clients compete for the bandwidth, the clients inefficiently utilize bandwidth and select low-quality video rates [36].

In order to efficiently utilize the bandwidth, we strive to select for the competing clients the best suitable video rates such that their sum has the least difference from the total available bandwidth at the base station. The bandwidth inefficiency at time t is calculated according to:

$${IE}_j=\left|{R}_{ij}^{(t)}+{\sum}_{v\ne j}{R}_{iv}^{(t)}-{BW}^{(t)}\right|$$
(12)

where BW(t) is the available bandwidth at time t, \({R}_{ij}^{(t)}\) is the video rate selected by the jth client at time t, and \({\sum}_{v\ne j}{R}_{iv}^{(t)}\)is the sum of the video rates of the competing video clients at time t.

To ensure that the video rates are fairly allocated among the clients, we select for each client the most feasible video rate which has the least difference from the average of video rates allocated to other competing clients. The fairness index at time t is calculated according to:

$${F}_j=\left|{R}_{ij}^{(t)}-{R}_{avg}\ \right|$$
(13)

where Ravg = \(\left(\frac{1}{N-1}\right){\sum}_{v\ne j}{R}_{iv}^t\)is the average video rate of the other active streaming clients. Low values for inefficiency and fairness are desired. A low inefficiency value signifies that the client selects the highest feasible bitrates that are lower than the actual throughput, while a low fairness value signifies that the competing clients achieve equitable video rates.

4 Joint optimization problem

The ultimate goal of video quality adaptation is to enhance the QoE of video clients in order to achieve higher long-term user engagement [10]. With the abovementioned system, the utility maximization problem (jointly maximizing QoE for individual HAS clients, ensuring fairness, and reducing bandwidth inefficiency) is formulated as the following integer non-linear programming (INLP) optimization model.

$$\kern0.5em \mathit{\operatorname{Maximize}}\ {U}_j=\rho \times {Q}_j-\beta \times {QS}_j-\varphi \times F-\theta \times IE$$
(14)

Subject to:

$${t}^{k+1}={t}^k+\frac{R_{ij}^k\times \tau }{T^k}+\Delta {t}^k$$
(15)
$${T}^k=\frac{1}{t^{k+1}-{t}^k+\Delta {t}^k}{\int}_{t^k-\Delta {t}^k}^{t^{k+1}}{T}_t dt$$
(16)
$${\sum}_{j=1}^N{x}_{ij}^{(t)}\ge 0,\forall 1\le i\le$$
(17)
$${\sum}_{j=1}^N{x}_{ij}^{(t)}\times {W}_j^{(t)}\le BW,\forall 1\le i\le m$$
(18)
$${B}_j^{k+1}={\left({B}_j^k+\tau -\left(\tau \times \frac{R_{ij}^k}{T_j^k}\right)-\Delta {t}^k\right)}_{+}$$
(19)
$$0\le {B}_j^{(t)}\le {B}_j^{max}$$
(20)
$${R}_{ij}^{(t)}\le {R}_c,\forall 1\le i\le m,1\le j\le N$$
(21)
$${R}_{ij}^{(t)}\in R,\forall 1\le i\le m,1\le j\le N$$
(22)

We define four weighting parameters, 0 ≤ ρ, β, φ, θ ≤ 1 (ρ + β + φ + θ = 1), to control the respective video rates, the video-rate switches, fairness, and bandwidth inefficiency. The decision variable xij defines the number of clients streaming the ith video rate stored on the server. The only decision variables here are integer variables xij and \({R}_{ij}^k\). Variable Bk is a dependent variable whose values depend on the values of the decision variables. The values for the rest of the variables are known in advance.

Objective function (14) aims to jointly optimize the QoE of the jth client, the fairness, and the bandwidth efficiency, given throughput trace {Tt, t ∈ [t1, tk + 1]}. Constraint (17) specifies that a specific video rate can be streamed by multiple clients. Constraint (18) ensures that the total bandwidth allocated to the clients by the base station does not exceed the instantaneously available bandwidth at the base station. Constraint (20) guarantees that the clients do not experience any playback interruptions during the whole streaming duration. Constraint (21) ensures that the video rate selected for the jth client at the MEC does not exceed the video rate, Rc, as suggested by the client. And finally, constraint (22) specifies that the discrete video rate downloaded by the client from the server belongs to the set of available video rates.

5 Proposed online algorithm

In this section, we present the algorithms for solving the optimization problem described in Section 4. The algorithms are designed for online execution by the edge cloud. The existence of an integer decision variable in the optimization problem given in Section 4 makes it computationally intractable to solve the problem using exhaustive search methods. The complexity of exhaustive search methods grows exponentially with the increase in the number of clients making it impractical for DASH scheduling at a large scale. Moreover, the deployment of offline solution is unfeasible, since information about the clients is unknown in advance. To reduce complexity, we designed a heuristic online algorithm that is executed using the client data obtained for MEC.

The algorithm selects the ith video rate from set R for the kth segment, denoted as Rnext. The video rate selected for segment k − 1 is denoted as Rprev. As explained in Section 3.1, the adaptation module for MEC picks the video quality based on the video rate suggested by the client, Rc. The proposed MEC-assisted algorithm is unaware of the client’s capabilities. Therefore, the clients share with MEC the highest video rate they can play back, based on the observed throughput and buffer occupancy. Pseudo-code for the client-side adaptation algorithm is given in Algorithm 1, which first checks the current buffer occupancy level. If the buffer level is within the danger zone (Bk < Bmin), the algorithm cautiously selects the video rate. The buffer threshold, Bmin, is equal to the minimum segment duration and part of the buffer size, as follows:

$${B}_{min}=\min\ \left(\mathrm{Segment}\ \mathrm{duration},20\%\mathrm{of}\ \mathrm{buffer}\ \mathrm{size}\right)$$
(23)
Algorithm 1
figure a

Client-side Adaptation

As explained in Section 1, video streaming services offer segments of different durations. As the segment duration increases, the risk of buffer underflow increases in an unstable environment, as shown in Eq. (4). Therefore, segment duration should be considered in the selection of Bmin. However, with a long segment and a small buffer, it is not feasible to select Bmin based only on the segment length. For example, if the segment duration is 10 s, and the buffer size is 20 s, setting Bmin equal to the segment duration means the client cautiously selects the video rate most of the time. Therefore, buffer size should also be considered in the selection of Bmin. To this end, we set Bmin equal to the minimum segment duration and 20% of the buffer size. Once the buffer level increases above Bmin, the client aggressively selects Rc while ensuring that buffer occupancy does not enter the danger zone. Given the available throughput and segment duration, the client selects the highest video rate such that the predicted buffer occupancy level upon download of the next segment does not fall below Bmin. The client then shares the suggested video rate, Rc, with the MEC adaptation module to jointly adapt the video rates of the competing clients. Pseudo-code for the MEC-assisted algorithm is given in Algorithm 2.

Algorithm 2
figure b

MEC-assisted Adaptation

figure c

Subroutine 1 Startup Phase

The algorithm enters the startup phase (Subroutine 1) when the playback buffer is empty. At the start of a streaming session, MEC does not have any information regarding the throughput observed by the clients during segment download. For the first segment, the algorithm selects the highest available video rate for the first client (line 4). For the rest of the clients, the algorithm selects the highest video rate that is less than the average video rate of the competing clients (line 6). The reason is that as the number of streaming clients increase, the throughput available to each client decreases. Once the segment is downloaded, the client calculates the available throughput using Eq. (3). If the client enters the startup phase due to buffer underflow (line 9), the algorithm picks the highest video rate that is less than the available throughput for the next segment.

figure d

Subroutine 2 Long Video Adaptation Algorithm

As explained in Section 1, the user expects to watch short videos, such as a movie trailer or sports highlights, at the highest feasible video rate [40]. However, the available throughput fluctuates over time in a cellular environment. While streaming a long video (such as a complete movie or a sports match) in an unstable environment, selecting high-quality video rates throughout the streaming session would increase the risk of buffer underflow. Therefore, separate approaches are required to select the video quality for short and long videos. The next question to answer at this point is how to differentiate between short and long videos in terms of duration. The answer to this question is not available in literature. Based on the average duration of movie trailers, the duration of most videos on Facebook, and the average duration of English Premier League (EPL) highlights, we set the maximum duration of a short video to 120 s [1, 2, 17]. If the video is longer than 120 s, the algorithm runs Subroutine 2 (Long Video Adaptation Algorithm). Otherwise, the algorithm runs Subroutine 3 (Short Video Adaptation Algorithm).

5.1 Long video bitrate selection

In this section, we discuss the heuristic adaptation algorithm for long videos. The algorithm’s objective is to simultaneously optimize QoE, fairness, and bandwidth utilization. Because throughput can fluctuate in a cellular network for many reasons, selecting the highest feasible video rate could lead to buffer underflow. Therefore, when the buffer level is in the danger zone (Bk < Bmin), we ignore switching, fairness, and bandwidth inefficiency conditions. The algorithm selects the most feasible video rate that is less than Rc with the highest achievable utility objective value as the video rate for the current segment (lines 5–9). When the buffer level increases above Bmin, the proposed algorithm considers three known threshold values, δs, δF, and δIE, for the switching level, fairness, and the bandwidth inefficiency index, respectively. Switching threshold δS is computed as |max {r ϵ R} < Tkmax {r ϵ R} < Tk-1|, where max {r ϵ R} is the highest video rate in set R that is less than the throughput. The switching index associated with the selected rate is computed as |r − Rprev|. Bandwidth inefficiency threshold δIE is computed as |max {r ϵ R} < TkTk |, and the bandwidth inefficiency index is computed as |r − Ti|. The fairness index is computed as 1 – (rRavg)/(RmaxRmin), which takes a value between 0 and 1, where Ravg is the average video rate of streaming clients. Utility objective value (14) is computed for all available video rates less than Rc that satisfy video rate switching, fairness, and bandwidth inefficiency thresholds (lines 11–13). Among the video rates that satisfy these conditions, the video rate that maximizes the utility objective function is allocated to the clients for the next segment (line 14). If no such video rate is available, we compromise on the switching condition. Next, the utility objective function is evaluated for the set of video rates that satisfy the fairness and bandwidth inefficiency thresholds (lines 15–18). The candidate video rate that maximizes the utility objective function is the selected video rate for the next segment (line 19). If no such video rate is available, we compromise on fairness as well. The objective function is computed for the set of video rates that only satisfy the bandwidth inefficiency condition (20–23). Similarly, the most suitable video rate that maximizes the utility value is streamed for the next segment. If none of the video rates satisfy even the bandwidth inefficiency threshold, the most feasible video rate with the highest achievable objective value is streamed for the next segment (lines 16–19).

After the video rate selection, the weighting parameters of the objective function are dynamically computed. A simplified flowchart of the dynamic tuning of the weighting parameters is shown in Fig. 3. At the start of the streaming session, the tuning parameters are set with initial values. Once the streaming session starts, the weighting parameters of the quality factors (average bitrate (ρ), bitrate switching (β), fairness (φ), and bandwidth inefficiency (θ)) at the download of each segment are dynamically computed. The scheme monitors the effect of each video quality factor (video rate, switching magnitude, fairness, and bandwidth inefficiency) on the user experience of the jth client, \({\overline{U}}_j\), during the download of 5 previous segments.

Fig. 3
figure 3

Flowchart of proposed weighting parameters selection scheme

$${\overline{U}}_j=\rho \times \frac{\sum_{k={S}^{\prime }-5}^{S^{\prime }}{R}_{ij}^k}{5}-\beta \times \left|\frac{\sum_{k={S}^{\prime }-5}^{S^{\prime }}{R}_{ij}^k}{N}-\frac{\sum_{k={S}^{\prime }-10}^{S^{\prime }-5}{R}_{ij}^k}{5}\right|-\varphi \times \left|\frac{\sum_{k={S}^{\prime }-5}^{S^{\prime }}{R}_{ij}^k}{5}-{\sum}_{k={S}^{\prime }-5}^{S^{\prime }}{R}_{avg}^k\right|-\theta \times \left|\frac{\sum_{k={S}^{\prime }-5}^{S^{\prime }}\sum \limits_{j=1}^C\left({R}_{ij}^k-W\right)}{5}\right|$$
(24)

where S′ is the index of current segment.\({\overline{U}}_{prev}\) represents the value of \({\overline{U}}_j\) computed for previous segment. \(If\ {\overline{U}}_j\ge {\overline{U}}_{prev}\), the weighting parameters are not changed. \(If\ {\overline{U}}_j<{\overline{U}}_{prev}\), the weighting parameters are adjusted by the algorithm. The weighting parameters (δ, β, φ, θ) are calculated based on how far the average of the video rates of the last 5 downloaded segments is from the most feasible bitrates. γQ, γQS, γF, and γIE in Eqs. (25a) to (25d) denote the difference between the selected video rates, and the most feasible video rates for Qj, QSj, Fj and IEj, respectively. \(\overline{T}\) denotes the average throughput observed over the download of last 5 segments.

$${\gamma}_Q=\left|\frac{\sum_{k={S}^{\prime }-5}^{S^{\prime }}{R}_{ij}^k}{5}-\max \left\{R\right\}<\overline{T}\right|$$
(25a)
$${\gamma}_{QS}=\left|\frac{\sum_{k={S}^{\prime }-5}^{S^{\prime }}{R}_{ij}^k}{5}-\frac{\sum_{k={S}^{\prime }-10}^{S^{\prime }-5}{R}_{ij}^k}{5}\right|$$
(25b)
$${\gamma}_{QF}=\left|\frac{\sum_{k={S}^{\prime }-5}^{S^{\prime }}{R}_{ij}^k}{5}-{\sum}_{k={S}^{\prime }-5}^{S^{\prime }}{R}_{avg}^k\right|$$
(25c)
$${\gamma}_{IE}=\left|\frac{\sum_{k={S}^{\prime }-5}^{S^{\prime }}\sum \limits_{j=1}^N\left({R}_{ij}^k-W\right)}{5}\right|$$
(25d)

Next, the weighting parameters are selected according to Eqs. (26a) to (26d):

$$\rho =\frac{\gamma_Q}{\gamma_Q+{\gamma}_{QS}+{\gamma}_F+{\gamma}_{IE}}$$
(26a)
$$\beta =\frac{\gamma_{QS}}{\gamma_Q+{\gamma}_{QS}+{\gamma}_F+{\gamma}_{IE}}$$
(26b)
$$\varphi =\frac{\gamma_{\mathrm{F}}}{\gamma_Q+{\gamma}_{QS}+{\gamma}_F+{\gamma}_{IE}}$$
(26c)
$$\theta =\frac{\gamma_{IE}}{\gamma_Q+{\gamma}_{QS}+{\gamma}_F+{\gamma}_{IE}}$$
(26d)

After parameters are updated, the algorithm returns the client’s local utility, which was computed using (14).

5.2 Short video bitrate selection

In this section, we discuss the heuristic adaptation algorithm for short videos. For short videos, the objective is to optimize QoE while efficiently utilizing the available bandwidth. Because the throughput in a cellular environment depends on multiple parameters, including propagation distance, client speed, interference, etc., clients located in different regions of the cell would observe different throughput. Therefore, equitably distributing video rates among competing clients means compromising video quality and/or QoE. To this end, fairness is ignored for short videos.

figure e

Subroutine 3 Short Video Adaptation Algorithm

The proposed algorithm considers two known threshold values, δs and δIE, for the switching level and the bandwidth inefficiency index, respectively. In decreasing order of video rates, utility objective value (14) is computed for all available video rates less than Rc that satisfy both switching and bandwidth inefficiency thresholds (lines 3–6). The most feasible video rate that has the maximum utility value is then selected as the allocated video rate for the current segment of the client (lines 6–9). If no such video rate is available, the utility objective function is evaluated for the set of video rates less than Rc that only satisfy the bandwidth inefficiency threshold. Here, we compromise on the switching threshold as well (lines 10–15). Similarly, the video rate that maximizes utility objective value (14) is chosen as the video rate for the current segment. If none of the video rates satisfy even the bandwidth inefficiency threshold, the most feasible video rate with the highest achievable objective value is selected as the video rate for the current segment (lines 16–19). After video rate selection, the algorithm updates the weighting parameters as explained in Section 5.1 and returns the client’s local utility, which was computed using (14).

5.3 Computational complexity

The computation of estimated throughput during the download of every segment takes O(τ) time, where τ is the segment duration. Execution of the startup phase results in complexity O (τ + |R|). The evaluation of switching, and inefficiency thresholds takes O(|R|) units of time. Similarly, the execution of short/long video adaptation algorithms results in complexity of O(τ + | R|). Putting all the above together gives N competing clients at an overall complexity of O(N. (τ + |R|)). Hence, the overall time complexity for the heuristic algorithm shall be in polynomial time.

6 Performance evaluation

In this section, we implement HTTP–based adaptive video streaming in a multi-access edge computing scenario (as shown in Fig. 1) to evaluate the performance of the proposed algorithm. We implemented the experiments by utilizing the simulation software ns-3. A detailed configuration of the underlying LTE cellular network is shown in Table 2. To achieve adaptive streaming, the HTTP server offers the client 12 presentation levels to adapt video rates, which are 184, 380, 459, 693, 1270, 1545, 2000, 2530, 3750, 5379, 7861, and 11,321 kbps. We assume that all clients can playback the highest available video rate. We set fairness threshold δF at 0.6.

Table 2 Cellular network configuration

We adopted the algorithms proposed in MECA [46], ECAAS [21], AAA [13], DBT [34], DASH-Google [27], and QLSA [5] as benchmarks in order to demonstrate the efficiency of the proposed algorithm. Table 3 presents the properties of the HAS algorithms. The proposed, ECAAS, and MECA are an MEC-assisted DASH systems for mobile video streaming; AAA and DBT are client-side buffer-based algorithms, whereas DASH-Google and QLSA are client-side throughput-based algorithms. In addition to throughput and buffer level, the proposed algorithm also takes segment duration and client’s buffer size into consideration to select the video rate. The motivation is to maintain high QoE, equitably select video rates for video clients, and efficiently utilize bandwidth under different client and server settings. The rest of the algorithms do not consider any client or content characteristics to pick video quality. Since the client-based algorithms are oblivious to the decisions made by other competing clients, they do not target bandwidth efficiency and fairness. In addition, the proposed greedy heuristic algorithms solve the rate adaptation optimization problem for short and long duration videos. To the best of our knowledge, this is the first work to design algorithms for both short and long duration videos.

Table 3 Properties of HAS algorithms

6.1 Long videos

In this section, we evaluate the performance of the proposed long video adaptation algorithm. In our previous work [36], we showed that the performance of existing algorithms struggles to meet conflicting QoE objectives under different client/server settings. The reason is that algorithms employ fixed control laws, even though meeting different video quality objectives requires different strategies. In this work, we evaluated the algorithms under varying client speeds, network conditions, video durations, buffer sizes, and segment durations. A grid-based road topology is used to simulate mobility. The clients remain within a single cell throughput the streaming session. We analyzed the algorithms for the settings mentioned in Table 4. The experiment was repeated 10 times for each setting and the average of the results is presented in this section. The average YouTube video in 2018 was 11.7 minutes [4]. For this section’s experiments, a video was streamed for 12 minutes to evaluate the algorithms. As the experiments given in Table 2 were repeated 10 times and a video of 12 minutes was streamed during each run, the performance of each algorithm was analyzed for 120 minutes. The initial values of the tuning parameters for the objective function in (14) were set to ρ = 0.4, β = 0.4, φ = 0.1, and θ = 0.1. In the following results, we use Jain’s fairness index [37] to quantify fairness and bandwidth inefficiency at time t is calculated by \(\frac{\left|\sum \limits_j{R}_{ij}^{(t)}-W\right|}{W}\) [6].

Table 4 Experiment settings used to evaluate the algorithms

6.1.1 Effect of segment duration

Figure 4 displays the performance of the algorithms when the buffer size was set to 15 s and the segment duration was set to 2 s and 4 s, respectively. During both experiments, the client arrival time was uniformly distributed within the first 30 s of the streaming session. In the first experiment, the segment duration was set to 2 sec. Figure 4a shows that the proposed algorithm achieved the highest average video rate among the compared algorithms, followed by ECAAS. Similarly, the proposed algorithm selected video rates fairly while efficiently utilizing the available bandwidth. Figure 5 shows that the proposed algorithm avoided unnecessary playback interruptions. The rebuffering per client metric represents the ratio of clients that experienced a playback interruption to the total number of clients, while average interruptions is the number of times a client experienced a playback interruption. Figures 4 and 5 also reveal that the selection of high video rates and avoiding playback interruptions led to the highest QoE for the proposed algorithm. The DBT and AAA algorithms experienced fewer video rate switches. The reason is that the algorithms avoided switching video rates unless the buffer level increased above or decreased below predefined thresholds, irrespective of fluctuations in bandwidth. This led to mitigating unnecessary video rate switches, but also compromised video quality. On the other hand, the ECAAS algorithm downloaded high quality segment at the expense of high number of video rate switches.

Fig. 4
figure 4

The effect of segment duration on the performance of the algorithms

Fig. 5
figure 5

Comparison of (a) rebuffering per client and average number of interruptions, and (b) average buffering time of the algorithms when the buffer size was 15 s and segment duration was 2 s

Next, we increased the segment duration to 4 s. Figure 4 shows that, like the previous experiment, the proposed algorithm achieved the highest video rate. However, the proposed algorithm experienced a high number of video rate switches. Because a longer segment takes more time to download, the proposed algorithm reacted aggressively to reduce the risk of playback interruption. This led to a higher frequency of switches. The DBT algorithm achieved an average video rate similar to the proposed algorithm; however, it achieved the highest QoE due to a low frequency of video rate switches and avoided playback buffer underflow. Figure 6 shows that the proposed, DBT, and DASH-Google algorithms were able to avoid playback interruptions. Furthermore, Fig. 4c and d show that the proposed algorithm achieved the highest fairness and the lowest bandwidth inefficiency values. The reason is that the proposed algorithm jointly optimizes fairness and ensures bandwidth is efficiently utilized. The ECAAS and MECA algorithms achieved better fairness and bandwidth inefficiency, compared to the client-based algorithms.

Fig. 6
figure 6

Comparison of (a) rebuffering per client and average number of interruptions, and (b) average buffering time of the algorithms when the buffer size was 15 s and segment duration was 4 s

6.1.2 Effect of buffer size

In this section, we describe the effect on the performance of the algorithms from varying the buffer size. Figure 7 displays the performance of the algorithms when the segment was 4 s long and the buffer size was 15 s, 30 s and 60 s, respectively. Figure 7 shows that the proposed algorithm streamed higher-quality video irrespective of buffer size. The ECAAS algorithm also downloaded high quality segments, however, it also experienced the highest number of video rate switches. The proposed algorithm equitably allocated video rates to clients, and efficiently utilized bandwidth. Figure 7d shows that the proposed algorithm had the highest QoE value when the buffer size was increased to 30 s and 60 s. The MECA algorithm achieved a similar QoE when the buffer size was 30 s, but its QoE degraded when the buffer size was 60 s, because it downloaded low quality segments. We also observe that the DBT algorithm achieved low QoE and inefficiently utilized the bandwidth when the buffer size increased. The reason is that the algorithm downloads low-quality segments when the buffer size increases. Unlike the proposed algorithm, the DBT algorithm does not adapt the playback buffer thresholds as the buffer size changes. The QoE of throughput-based algorithms fluctuated from one experimental setting to the other.

Fig. 7
figure 7

The effect of buffer size on the performance of the algorithms

Figures 6, 8, and 9 show that the proposed algorithm avoided playback interruptions in all the experiments. Figures 6, 8, and 9 also show that only the ECAAS, MECA, AAA, and QLSA algorithms experienced playback interruptions, and the ECAAS algorithm had the most. The reason is that the ECAAS algorithm selects high quality segments at the expense of depletion of playback buffer. In case of a large drop in the throughput in the middle of a segment download, this approach increases the risk of playback interruption. The AAA algorithm also experiences long interruption durations because the algorithm waits for the buffer level to decrease below a pre-defined threshold before it adapts the video quality. Because the video rate cannot adapt in the middle of a segment download, the algorithm failed to protect the buffer when there was a sudden drop in throughput.

Fig. 8
figure 8

Comparison of (a) rebuffering per client and average number of interruptions, and (b) average buffering time of the algorithms when the buffer size was 30 s and the segment duration was 4 s

Fig. 9
figure 9

Comparison of (a) rebuffering per client and average number of interruptions, and (b) average buffering time of the algorithms when the buffer size was 60 s and the segment duration was 4 s

6.1.3 Effect of client speed

Here, we compared the algorithms for the following scenarios: (1) the clients moved at vehicular speed (75 km/h), and (2) the clients moved at pedestrian speed (3 km/h). Figure 10 shows that when clients moved at pedestrian speed, the proposed algorithm achieved the highest video rate and fairness value, and the lowest inefficiency value. The table also reveals that the proposed, ECAAS and the MECA algorithms guaranteed high QoE when the clients operated at pedestrian speed. However, the ECAAS algorithm had a lower value when the clients operated at vehicular speed. The result shows that the performance of ECAAS algorithm degrades in case of large fluctuations in throughput. Under stable network condition, the ECAAS algorithm performs better. Figure 10 indicates that the algorithms achieved higher QoE and fairness, and efficiently utilized the bandwidth at pedestrian speed, compared to vehicular speed. Figure also reveals that DBT had the best QoE among the compared algorithms when the clients moved at vehicular speed; however, it underutilized bandwidth when the clients moved at pedestrian speed, whereas the proposed algorithm efficiently utilized bandwidth and downloaded high-quality segments during both experiments. The proposed algorithm did not experience any rebuffering when the clients moved at pedestrian speed, as shown in Fig. 11. The DBT algorithm also avoided playback interruptions at the expense of video quality. The MECA, ECAAS and AAA algorithms experienced buffer underflow while streaming high-quality videos. If a higher weight is given to playback interruptions in Eq. (11), the QoE of the ECAAS, MECA and AAA algorithms would decrease further. The DASH-Google and QLSA algorithms are throughput-based methods that are unaware of the client buffer levels and competing clients. Therefore, they reacted aggressively to any changes in throughput, resulting in higher video rate switches and unfair selection of video rates.

Fig. 10
figure 10

The effect of client speeds on the performance of the algorithms

Fig. 11
figure 11

Comparison of (a) rebuffering per client and average number of interruptions, and (b) average buffering time of the algorithms when the clients moved at pedestrian speed

6.1.4 Effect of client arrival time

In this experiment, we compared the performance of the algorithms for the following scenarios: (1) all clients simultaneously start streaming, (2) the client arrival time was uniformly distributed within the first 30 s of the streaming session. The results of scenarios (1) and (2) are shown in Fig. 12. Similar to the previous experiment, Fig. 12 shows that the proposed algorithm achieved the highest video rate and guarantees the highest QoE. Furthermore, the proposed algorithm equitably selects video rates and efficiently utilizes bandwidth. Figure 12 also reveals that the algorithms achieved slightly higher video rates and fairness when the clients joined the streaming session randomly. The reason is that when all clients start streaming at the same time, there is a tug-of-war between greedy clients to obtain bandwidth share. The comparison also shows that the proposed algorithm achieved similar QoE in both experiments. However, the QoE of the rest of the algorithms degraded when the clients started the streaming session simultaneously. Figure 13 shows that the proposed, DBT, and DASH-Google algorithms were able to avoid buffer underflow. The ECAA and MECA algorithms downloaded higher quality segments and more efficiently utilized bandwidth, compared to the DBT algorithm, but they achieved low QoE due to a higher number of playback interruptions and higher frequency of switches.

Fig. 12
figure 12

The effect of client arrival time on the performance of the algorithms

Fig. 13
figure 13

Comparison of (a) rebuffering per client and average number of interruptions, and (b) average buffering time of the algorithms when the clients joined the streaming session simultaneously

6.2 Small videos

In this section, we compare the performance of the algorithms for short and long video bitrate selection. The initial tuning parameters in objective function (14) were set to ρ = 0.6, β = 0.3, and θ = 0.1. As explained in Section 5.2, fairness was ignored. For short videos, we gave more weight to ρ in Eq. (14), since the objective is to select high quality throughout the streaming session.

In a multi-client, bandwidth-constrained environment, a short video adaptation algorithm does not bring any notable advantage over a long video adaptation algorithm while streaming short duration videos (less than 120 s). Due to space limitations, we omit the comparison of the proposed short and long video adaptation algorithms for a bandwidth-constrained environment. Here, we compare the algorithms for a scenario where four clients compete through a bottleneck. The experiment settings used to evaluate the algorithms are given in Table 4. As each experiment was repeated 10 times and a video of 2 minutes was streamed during each run, the performance of each algorithm was analyzed for 20 minutes. Table 5 shows the initial tunings parameters used to evaluate the algorithms for experiments given in Table 6. We compare the following three strategies: (1) short video algorithm, (2) long video algorithm with same initial tuning parameters as used for short video algorithm (long video(SP)), and (3) long video algorithm with tuning initial parameters used in Section 6.1.

Table 5 Initial tuning parameters used to evaluate the adaptation algorithms for experiments given in Table 6
Table 6 Experiment settings used to compare short and long video adaptation algorithms

Figure 14 (a) displays the average video bitrate and switching ratio experienced by the clients while employing the algorithms and tunings parameters given in Table 5. Figure 14a shows that the short duration adaptation algorithm outperformed the long video adaptation algorithm in both experiments irrespective of the tuning parameters. Even when an adaptation algorithm optimizes QoE, it is important to understand the distributions of the underlying parameters given in Eq. (11). The short video algorithm achieved a higher video rate and experienced fewer video rate switches. Figure 14b shows the short video achieved higher QoE when the achievable throughput was high. The short video algorithm is able to achieve higher QoE as it downloaded high quality video segments, mitigated unnecessary video rate switches and playback interruption. Figure 14b shows that when segment duration is set to 4 seconds, the long video(SP) algorithm performs worse than long video algorithm despite assigning higher weightage to video quality. Because the playback buffer was only 15 s, larger segment duration increased the risk of playback interruption in case of mismatch between the select video rate and available bandwidth. It forced the algorithm to conservatively select video rates to avoid playback interruption. Although the short video adaptation algorithm prioritizes higher video quality at the expense of fairness, Fig. 14c reveals that the short video algorithm achieved similar fairness and bandwidth inefficiency values compared to long video algorithms for both experiments.

Fig. 14
figure 14

Comparison of (a) rebuffering per client and average number of interruptions, and (b) average buffering time of the algorithms when the clients join the streaming session simultaneously

6.3 Summary

The results in Section 6.1 reveal that the proposed algorithm guaranteed high QoE irrespective of buffer size, segment duration, client speed, number of clients, and client arrival times. However, the performance of other state-of-the-art algorithms varied from one setting to the other. The reason is that these algorithms employ fixed control strategies, even though optimizing different QoE objectives and experiment settings required different adaptive strategies. The ECAAS algorithm achieved high QoE under stable network conditions. However, it experienced high number of playback interruptions in an unstable environment, which degraded its QoE. The DBT algorithm achieved high QoE when the buffer size was small. However, the performance of the algorithm degraded when the buffer size increased, or if all clients started a streaming session simultaneously. Similarly, the performance of the AAA algorithm degraded when the segment duration increased or when all clients joined the streaming session together. Similarly, the algorithms did not meet all the conflicting video-quality objectives. The MECA algorithm streamed high-quality video but at the expense of playback interruptions. The results also indicate that the buffer-based algorithms performed better than throughput-based algorithms.

Table 7 displays the average performance of the adaptation algorithms over all the experiments and demonstrates that the proposed algorithm achieved the highest video rate and the lowest bandwidth inefficiency; and guaranteed the highest QoE among the state-of-the-art algorithms. Furthermore, the proposed algorithm avoided unnecessary playback interruptions during all experiments. However, the proposed algorithm experienced slightly more video rate switches. The reason is that in a highly unstable environment where the users are moving at a high speed, it is important to quickly react to changes in throughput and buffer occupancy levels to avoid unnecessary buffer underflow. The ECAAS algorithm streams high quality video at the expense of high number of switches and playback interruptions. Most of the buffer-based algorithms, including DBT and AAA, waited for buffer occupancy to increase above (or decrease below) predefined thresholds. That minimized the switching ratio, but compromised video quality. Furthermore, this approach led to inefficient utilization of bandwidth. The throughput-based algorithms do not have information on the playback buffers; therefore, they did not take the risk of conservatively reacting to changes in bandwidth.

Table 7 Average performance of the adaptive methods over all experiments

In the following summary, consecutive numbers represent the results from ECAAS, MECA, AAA, DBT, QLSA and Google-Dash, in that order.

The proposed algorithm

  1. 1)

    increased the average video rate by 0.4%, 7.3%, 12.9%, 18%, 18.1%, and 12.3%

  2. 2)

    outperformed existing schemes in terms of fairness by 3.3%, 3.3%, 9.5%, 5.7%, 6.9%, and 5.7%

  3. 3)

    improved bandwidth utilization by 60%, 60%, 220%, 170%, 160%, and 130%

  4. 4)

    outperformed other schemes in terms of QoE by 65%, 8%, 15.4%, 9.8%, 25.6%, and 28%

Only the proposed and DBT algorithms avoided experiencing any playback interruptions. In comparison with the DBT algorithm, the proposed algorithm achieved an 18% higher video rate, delivered 9.8% better QoE, 5.7% higher fairness, and 170% lower bandwidth inefficiency. In addition, the results showed that when high bandwidth is available to competing clients, the proposed short video adaptation algorithm streams a 6% higher-quality segment, performed 45% fewer switches, and improved QoE by 11.1%, compared to the proposed long video adaptation algorithm.

7 Conclusion

In this paper, we presented a context-aware hybrid MEC-assisted quality-adaptation algorithm that exploits video content characters, client-side settings, and application-layer information to achieve multiple objectives including: 1) Jointly optimize the user experience of multiple HAS clients in a cellular environment; 2) Guarantee QoE under varying client, server, dataset, and network settings; 3) Simultaneously meet conflicting video-quality objectives to optimize QoE, while fairly selecting video rates for competing clients, and efficiently utilizing bandwidth. To achieve these objectives, we designed a solution for content-aware MEC-assisted adaptation which considers the joint weighted maximization of QoE, bandwidth utilization, and fairness. Simulation results revealed that the proposed MEC-assisted algorithm outperformed state-of-the-art MEC-assisted and purely client-based algorithms. The results demonstrated that the proposed algorithm guaranteed improved user experience, irrespective of client playback buffer size, segment duration, the number of competing clients, client movement speed, and client arrival times. The proposed algorithm, on average, improved video quality by over 11%, fairness by over 6%, bandwidth efficiency by over 57%, and QoE by over 22%. Moreover, we presented separate strategies for short and long duration video content based on user expectations. The results showed that the proposed short video adaptation strategy achieved higher QoE and utilized bandwidth more efficiently than the long video strategy when achievable throughput was moderately high.