Backward-Shifted Strategies Based on SVC for HTTP Adaptive Video Streaming

Backward-Shifted Strategies Based on SVC for HTTP Adaptive Video Streaming

Zakaria Ye1, Rachid El-Azouzi1, Tania Jimenez1, Eitan Altman2 and Stefan Valentin3, 1University of Avignon, Avignon, France, 2INRIA, Paris, France, 3Huawei Technologies, France
Email: {, rachid.elazouzi, tania.jimenez}

Although HTTP-based video streaming can easily penetrate firewalls and profit from Web caches, the underlying TCP may introduce large delays in case of a sudden capacity loss. To avoid an interruption of the video stream in such cases we propose the Backward-Shifted Coding (BSC). Based on Scalable Video Coding (SVC), BSC adds a time-shifted layer of redundancy to the video stream such that future frames are downloaded at any instant. This pre-fetched content maintains a fluent video stream even under highly variant network conditions and leads to high Quality of Experience (QoE). We characterize this QoE gain by analyzing initial buffering time, re-buffering time and content resolution using the Ballot theorem. The probability generating functions of the playback interruption and of the initial buffering latency are provided in closed form. We further compute the quasi-stationary distribution of the video quality, in order to compute the average quality, as well as temporal variability in video quality. Employing these analytic results to optimize QoE shows interesting trade-offs and video streaming at outstanding fluency.

Scalable Video Coding, Quality of Experience, Queuing Theory, Ballot theorem, QoE Optimization

I Introduction

Recent studies show that video streaming already generated 45% of all mobile data traffic in 2014 [1]. By 2019, this fraction will likely increase to 62%, while an 11-fold increase is predicted for the overall mobile data traffic [1]. Despite the recent advances in increasing wireless capacity, this massive traffic load will drive mobile networks further into saturation and will turn user satisfaction into an enormous challenge. Consequently, more and more content providers and network operators will focus on Quality of Experience (QoE) per unit cost as primary metric for operational efficiency [2].

The dominating factors of QoE are widely studied [3, 4]. Recent works developed approaches for understanding user engagements metrics [7, 5]. The direct relation between time spent in rebuffering and user engagement was shown in [5]. In [7], the buffering ratio, rate of buffering, start up delay, rendering quality and average bit rate were demonstrated to show a dominating effect on QoE. Guidance to operators for improving user engagement in real time using only network-side measurements is provided in [8]. Authors of [9] found that temporal quality variation is worse than keeping a constant quality that is lower on the average.

In general, understanding the QoE of mobile video is a complex task due to the many relationships between metrics and end-user’s perceived video quality, metric-to-metric dependencies and confounding factors [8]. At the same time, highly dynamic load and channel states lead to fluctuating capacity not only in mobile networks.

To efficiently trade-off fluency and visual quality, more and more content providers deploy HTTP Adaptive Streaming (HAS) solutions, which are standardized as MPEG Dynamic Adaptive Streaming over HTTP (DASH) [10]. With DASH, each video file is divided into multiple small segments and each segment is encoded into multiple quality levels. Based on the available capacity, the client adaptively chooses the quality level of the segment such that visual quality is maximized at a low risk for an empty playback buffer.

The video segments can be created by encoding video content with various compression algorithms, where those following H.264/AVC (Advanced Video Coding) and H.264/SVC (Scalable video coding) [12, 13] are widely employed. Although each AVC encoding run generates only segments of a single bitrate, segments for various bitrates can be created in multiple runs and chosen adaptively with HAS. This leads to a multiple bitrate video stream even with a non-scalable technique as AVC. On the other hand, SVC directly supports multiple bitrates within a single segment by multi-layer coding. With this technique, the video stream is encoded in one base layer and one or more enhancement layers. The base layer is always requested and, at sufficient capacity, one or more enhancement layers are additionally requested.

I-a Related Literature

One benefit of HAS video streaming is that HTTP traffic can easily penetrate firewalls and profit from Web-infrastructure such as proxies and Content Delivery Networks (CDNs). The drawback, however, is that the underlying TCP protocol may introduce substantial delays to cope with packet errors and contention. For the video, this means that pixels errors and frame drops can essentially be ignored while resolution, initial buffering latency, starvation duration, and rate of buffering become the dominating factors for QoE. Such latencies are the result of an empty playback buffer as a consequence of choosing a higher quality than the supported bitrate [15]. To avoid such erroneous adaptation, current HAS policies are based on the measured segment fetch time that allows an instantaneous adaptation [17]. Authors in [16] developed a rate adaptive method to enhance DASH performance over multiple content distribution servers. A Fuzzy-based controller has been proposed to dynamically adapt the video bitrate based on both the estimated throughput and the size of the playback buffer [20]. Other approaches have been explored by jointly considering the characteristics of the media content and the available wireless resources in the operator network [18, 19].

This paper proposes a complementary solution to DASH, named Backward-Shifted Coding (BSC). This solution makes HAS more robust to rapid fluctuations of the network capacity and provides more flexibility in increasing the quality of video without playback interruption. Furthermore, we develop an exact approach to obtain the distributions of the number of the playback interruptions and of the initial buffering latency. This analysis is closed to that of M/M/1 queue model in [22] and allows us to obtain an explicit formulation for the QoE metrics. While the bounds on the playback interruption probability were obtained in [21] for an M/D/1 queue, our paper provides a new analysis for BSC which also obtains the average quality and temporal variability in video quality by using the quasi-stationary regime.

I-B Main Contributions

This paper provides important insight in optimization of HTTP adaptive video streaming and proposes a new Backward-Shifted Coding (BSC) scheme. The main idea of BSC is to add a layer of time-shifted redundancy to the video stream such that future frames are downloaded at any instant. In case of a sudden capacity drop, these pre-fetched frames can be played back and maintain a smooth video stream at sufficient quality. BSC can be implemented using the standard codecs and allows us to analytically obtain the key QoE factors by using the Ballot theorem. Using these factors as inputs we finally propose a QoE optimization function.

We can summarize the main contributions of this paper as follows:

  • We develop a novel coding scheme to improve the user QoE in HTTP adaptive streaming.

  • We present explicit form expressions for the QoE metrics.

  • We propose an optimization scheme that take into account not only the waiting time, but also the mean video quality.

  • We show that our scheme can render a better QoE than existing bitrate adaptation algorithms used in DASH.

  • We show that our scheme can greatly reduce the probability of video playback interruption using several frames arrivals processes.

I-C Paper Organization

The remainder of this paper is structured as follows: Section II describes the system model. Section III presents the analytical model for computing the QoE metrics using the Ballot theorem. Section IV presents the optimization issue for the QoE metrics while Section V verifies the theoretical results and shows some numerical examples. Section VI concludes the paper.

Ii System Design

In this section we describe how our scheme Backward-Shifted Coding (BSC) can be used with any video codec that follows the H.264/SVC standard [13]. Then we describe the integration into HAS based on the MPEG-DASH standard [10].

Ii-a Mapping from BSC Scheme to Coding Scheme

BSC is entirely client driven and it is independent of the video compression standard. The main idea of this scheme is to shift the base layer frames (low quality) and the enhancement layer frames (optimal quality), so that, when an interruption of playback buffer occurs, the base layer frames can still be played. To each frame , we add its base layer in some subsequent frame . If the starvation happened at frame , the playback retrieves the base layer frame from frame . In particular, we exploit temporal redundancy between subsequent frames in order to avoid the interruption of the playback buffer. Our scheme is inspired from Forward Error Correction (FEC) where the encoder adds redundancy to a message. However, using the SVC codec, the BSC scheme does not generate any overhead or redundant frames compared to the FEC scheme. Indeed, with an SVC codec, the video bitstream contains a base layer and number of enhancement layers. The enhancement layers are added to the base layer to further improve the quality of video by increasing video frame-rate, temporal and quality scalability and spatial resolution. In our scheme, base layer and enhancements layers are temporally shifted as shown in Figure 1. We assume to be the offset between the basic layer frame and its enhancement layers. Frame with contains two blocks: complete block and the base layer of block . Frame with contains two blocks: the enhancement layers of block and the base layer of block .

Fig. 1: Using SVC in Backward-Shifted Coding

At the user side, incoming bits are reassembled into video frames by the decoder. Starvation under BSC can happen at block if the base layer block is missing and the quality switching occurs when the enhancement layer is missing and the player finds only the base layer block .

Ii-B Mapping from BSC Scheme to DASH

In DASH systems, each video consists of multiple small segments at the media server and each segment is encoded at multiple discrete bitrates. Hence, the BSC scheme can be used at client side with DASH. In fact, when using the BSC scheme with DASH, the video player decides the most suitable quality level of the base layer and the number of enhancement layers. For example, given three video resolutions 720p, 480p and 360p, the video player can decide the most suitable configuration between the base layer and enhancement layer such as 360p (BL) and 480p (1 EL) or 360p (BL) and 720p (2 ELs). This gives more flexibility to the video player to detect the highest quality level the current network conditions can support.

Iii Mathematical Performance Evaluation

In order to evaluate the efficiency of BSC using the SVC codec, in this section, we develop a novel performance evaluation for QoE based on the Ballot theorem [11]. This analysis captures QoE factors such as fraction of time spent rebuffering, content resolution and initial buffering latency. The analysis of starvation is closely related to analyzing the busy period in transient queues but differs in two aspects: First, our work aims to find the probability generating function of starvation events and not the queue size. Second, we do not assume a stationary arrival process.

Iii-a Starvation Analysis

In this section, we call optimal frame the enhancement layers. The non-optimal frame corresponds to the base layer. We assume to be the media file size. When the streaming packets traverse the network, their arrivals to the media player are not deterministic due to the dynamic of the available bandwidth. The packets are reassembled by the decoder to render the video frames. We assume a Poisson distribution to describe the frames arrivals. After the streaming frames are received, they are first stored in the playout buffer. The interval between the service of two frames is assumed to be exponentially distributed so that we can model the receiver buffer as an M/M/1 queue. The exponential distributed assumption is not the most realistic way to describe frame arrivals, but it reveals the essential features of the system, and it is the first step for more general arrival processes. In Section V we evaluate the performance of the Backward-Shifted Coding system by simulation, using different types of packet arrivals process such as the logistic process and the on-off process. The logistic process fits the video streaming traffic on the Long Term Evolution (LTE) networks according to [14]

The maximum buffer size is assumed to be large enough to exclude buffer overflows. is the offset between the optimal frame and its corresponding non-optimal frame (Fig. 2). A starvation happens when the playout buffer is empty.
We denote by the Poisson arrival rate of the frames, and by the Poisson service rate. We define to be the traffic load.
In a non-empty M/M/1 queue with everlasting arrivals, the rate at which either an arrival or a departure occurs is given by . This event corresponds to an arrival with probability , or is otherwise to an end of service with probability , where

The buffer is initially empty. We let be the initial buffering delay, in which frames are accumulated in the buffer.

Iii-A1 Probability of Starvation

We present a frame level model to investigate the starvation probability with the BSC. Our analysis of the probability of starvation is built on the Ballot theorem111Ballot theorem: In a ballot, candidate scores votes and candidate scores votes, where . Assume that while counting, all the ordering (i.e. all sequences of ’s and ’s) are equally alike, the probability that throughout the counting, is always ahead in the count of votes is ..
Since we set the value of at the beginning of the video session, the starvation can happen before the arrival of frame if . So we have to investigate the probability of starvation by distinguishing the two cases: and . Let and denote, respectively, the probability of starvation for and .

Fig. 2: The BSC Coding for the offset . The starvation can happen before the arrival of optimal frame since .

For , the media player starts to work when the number of optimal frames in the buffer reaches optimal frames which corresponds to non-optimal frames stored in the buffer. Thus is given by [22],


Let and denote, respectively, the probability that the starvation happens exactly after the departure of frame using BSC and without BSC. These probabilities are given by

Theorem 1.

For the offset , the probability of starvation is given by:






For the case , the starvation could happen before the arrival of frame . We define and to be the event that the starvation happens for the first time before and after , respectively. The event of starvation is ; where is the complementary of and is the event that no starvation happens before the arrival of frame . We have . For the event , since we cannot use the non-optimal frames of the BSC coding because the starvation happens before , the probability of starvation is . We exclude in this sum since the starvation cannot happen after the service of frame because the frame (non-optimal) is already stored in the buffer. Now we compute the probability of the second term . We have . Since is the complementary of , is . is the event that a starvation happens for the first time after the arrival of frame , given that the starvation does not happen before. Then, assuming that the starvation does not happen before , frame will be played after as shown in Fig. 3. At this instant, the non-optimal frame is already in the buffer, so the starvation cannot happen before the service of . We use the Ballot theorem to compute the probability of the event based on the non-optimal frames. The most important trick is the origin of the Ballot theorem, i.e., where to start the process of counting the frames arrivals and departures. The inappropriate method is to start the counting process just after the arrival of the frame . At that moment, we do not know the number of departures that occur before. So we start the counting process when we have optimal frames in the buffer, that correspond to the last non-optimal frame . We define to be an event that the buffer becomes empty for the first time when the service of frame is finished (Fig. 3).

Fig. 3: If the starvation does not happen before , then there will be no starvation untill the service of frame .

All the events , are mutually exclusive. The event of starvation is the union . We exclude in this union for because we cannot have a starvation before the arrival of optimal frame . That corresponds to the non-optimal frame . This union of events excludes because the empty buffer after the service of packets is not a starvation. When the buffer is empty at the end of the service of the packet, the number of arrivals is after the pre-fetching process. The probability of having arrivals and departures is computed from the binomial distribution . For the necessary and sufficient condition of the event , we apply the Ballot theorem. If we count the number of arrivals and departures when the playback starts, the number of departures is always greater than the number of arrivals. Otherwise, the empty buffer already happens before the frame is served. According to the Ballot theorem, the probability of event is computed by . Therefore, the probability of the event , is the probability of the union , given by (5). ∎

Iii-A2 Probability Generating Function of Starvation Events

Fig. 4: A starvation happens at .
Fig. 5: A starvation happens at .

In the BSC scheme, the starvation may happen for more than once during the file transfer. We are interested in the probability distribution of starvation, given the finite file size . When , we cannot have a starvation before the service of . In this case, the probability generating function is similar to that of [22] in replacing by .
Now, we show how the probability generating function of starvation events can be derived using the Ballot theorem for the case . We define a path as a complete sequence of frame arrivals and departures [22]. The probability of a path depends on the number of starvations. We consider a path with starvations. To carry out the analysis, we start from the event that the first starvation takes place. We denote by the departure of a frame that sees an empty queue. We notice that the path can be decomposed into the following mutually exclusive events:

  • Event : the buffer becoming empty for the first time in the entire path.

  • Event : the empty buffer after the service of frame given that the previous empty buffer happens at the departure of frame .

  • Event : the last empty buffer observed after the departure of the last frame .

We let , and be the probabilities of events , and , respectively, and will analyze the probabilities of these events step by step. We first compute the probability of having only one starvation. This probability concerns the two events: and , i.e., the event that the buffer becomes empty for the first time after the service of the frame and the event that we do not observe an empty buffer after until the end of the video file (Fig. 4 and 5).

The starvation can happen at before we use the BSC redundant frames, i.e., before the arrival of frame . In this case, the probability of starvation is given by of (2). If the starvation happens after the arrival of frame , then it necessarily happens after the service of frame since we cannot have a starvation between and . Then the probability of starvation is given by Theorem 1. So the probability distribution of event is expressed as


, and are given by (2) and (4). Given that the only starvation happens at , what is the probability that no starvation happens until the end of the video? That is the probability of the event . We take the complement of starvation probability as the probability of no starvation for the file size . We denote to simplify the expressions. We distinguish two cases (Fig. 4 and 5). The first case is that the starvation happens at , and we still can have a starvation before the arrival of frame (Fig. 4). Then, we use the probability of starvation of the theorem 1, to compute the probability of having no starvation until the end of the video file. For the remaining case (Fig. 5), a starvation cannot happen before we use the non-optimal frames. Then, we use the probability of starvation, . Finally, the probability distribution of event is expressed by


We denote by the probability of having starvations. For the case with one starvation, is solved by


where denotes the transpose. Here, is the row vector of , and is the row vector of , for . Now we compute the probability of having more than one starvation. A path with starvations is composed of a succession of events

We have to solve the probability distribution of the events and . Suppose that there are starvations after the service of frame . Then, only the lower bound of changes in the event from . This lower bound corresponds to the extreme case where the starvations take place consecutively. Let be the number of starvations that we can have before frame in the extreme case. So . We distinguish two cases where and (Fig. 6). If , then all the starvations will happen before the service of frame and the lower bound of is . Then we find the expression of in replacing the lower bound by in the expression of . If , then the remaining starvations will happen after the service of frame since we do not have starvation between and . Hence, the probability distribution of event is


We now compute the probability of the event . After frame is served, the starvation is observed. We compare to to obtain the position of . If , then should not be less than in order to have starvations. Also, must satisfy because of the pre-fetching after and the fact that we have starvations in total. In this case, is expressed as . If , then we have . For , is expressed as . Since the starvation cannot happen between and , for , the probability of the event is expressed as the probability for the case . We denote by the matrix of for . The probability of having starvations is given by

Fig. 6: The lower bound of in case we have starvations.

Then, we can write the probability generating function (p.g.f) by


Iii-B Analysis of the Video Quality

In this section, we analyze the average video quality of the BSC system. For this purpose we model the system as a continuous-time Markov birth-death process with an absorbing state which corresponds to the starvation event. Then, we compute the amount of time spent in each bitrate level. We call low bitrate, the bitrate of the base layer frames (or non-optimal frames) and optimal bitrate, the bitrate of the combined base and enhancement layers frames. The switching process is shown in Fig. 7.
Let and be the sequence number of the last optimal frame in the buffer and the sequence number of the last frame that was displayed at the screen respectively. The state of the Markov process is . If , the state is positive and there is exactly available optimal frames in the buffer. Otherwise, if , the state is negative. In that case, there is no more available optimal frames and the number of available non optimal frames is . For example if the process is in the state (i.e., ), it remains exactly 1 non optimal frame in the buffer as shown in Fig. 7.

Fig. 7: Markov model of the switching mechanism, denoting the difference between the number of optimal and non-optimal frames in the playout buffer.

The infinitesimal generator of the process is a tridiagonal matrix where elements of the diagonal, upon the diagonal and under the diagonal are , and respectively, except the first element of the diagonal and upon the diagonal which is (due to the absorbing state).

First, we compute the time to absorption starting from initial state . To do this, we substitute transition to the absorbing state by transition to the initial state , whenever the resulting Markov chain is ergodic and admits a stationary regime . is given by solving the balance equations of the resulting Markov chain


Thus, we have


Let be the expected time spent in state before the process reaches the absorbing state. From [6], we have

where is the time to absorption into state starting from the initial state . According to [27], the mean time to absorption into state from the initial state is given by


Thus the expected time spent in state before the process reaches the absorbing state is given by


where is given by (13). Thus the time spent in the low bitrate and in the optimal bitrate are given, respectively, by


Let and be the bitrate of the low coding (base layer) and the bitrate of the optimal coding (base and enhancement layers) respectively. Hence, the average bitrate is


Let us now compute the distribution of period of time during which the video playback quality is optimal, named . This period corresponds to the duration of time that the process starting from state 1, stays continuously away from state 0. Using the analysis from the busy period in M/M/1, the expected and variance of is given, respectively, by [27]

The analysis of the variation of the quality is omitted in this paper due to lack of space.

Iii-C The Initial Buffering Delay and Rebuffering Delay

The expected initial buffering delay is and the expected rebuffering delay is . Note that the BSC scheme increases the start-up delay compared to an equivalent single bitrate system because of the shift . Indeed, we send the enhancement layer after the complete frame . But in practice, this delay does not exceed a couple of seconds, then it does not have a huge impact on the overall quality of experience. However, impacts the rebuffering delay, i.e., the waiting time after a starvation event. The player starts when we accumulate optimal frames in the buffer. So a high value of increases the amount of rebuffering time.

Iv Evaluation of the QoE

In this section, we show how the BSC can be used to improve the metrics of the quality of experience. The parameter affects the initial buffering delay and the starvation. We first confirm this with the model and show how one can choose to improve the QoE metrics. Then, we propose an evaluation function to improve the user experience during the video session.

Iv-a Choosing the Offset

To set the value of the offset , we should know the probability of starvation of a simple system without BSC according to the file size . This probability is given in [22] by


It also corresponds to the probability of playing the non optimal frames for the first time in BSC system since a starvation in a system without BSC is equivalent to a switching in BSC system. The surrounded region in figure 8 corresonds to the set of values of where the risk of the playback interruption is small ( can be set up to 80 in the figure without risk of starvation).

Fig. 8: The value of the offset .

Then, we can choose the offset to improve the QoE metrics: the rebuffering time, the starvation and the average bitrate. We have less risk of starvation for some values of . Since after each starvation event, we wait for frames, small values of decreases the rebuffering time. Moreover, (16) shows that the time spent in low bitrate level increases with . Then, must satisfy these QoE metrics requirements too. Parameter is calculated at the beginning of the video session based on the networks conditions and the user profile but its value can be updated after each starvation if the networks conditions changed.

Iv-B Evaluation Scheme for the Global QoE

To use our analysis for optimizing the QoE, we define an objective QoE cost function for a user, which includes the expected initial buffering latency, the number of playback interruption during the video session and the average video quality. These metrics are weighted by three coefficients , and , which allow us to balance the tradeoff among the QoE metrics according to user preferences.

The weights and are preceded by a positive sign because the smaller the initial buffering latency and the number of starvation are, the better the QoE is. Implicit tradeoff exists between the two metrics and the initial buffering time is preferred to the starvation by around 90% of users [24]. Although users have a very low tolerance for playback interruptions [23] they also only accept a start-up delay between 5 and 15 seconds, depending on the duration of the overall video [24].

The weight is preceded by a negative sign because the higher the average quality, the better the QoE. According to this reasoning, we propose the cost function


where is the expected initial buffering delay, is the number of starvations, is the number of available bitrates, is a weight associated to each bitrate and is the fraction of time spent in each bitrate level. We use this function to evaluate the BSC scheme performance on the QoE metrics, i.e., how our scheme can evaluate the objective QoE cost . The examples are shown in section V-B.

V Simulation and Numerical Examples

V-a Simulation and validation

Fig. 9: The probability of starvation vs the file size N
Fig. 10: The probability of no starvation, or having at least one and two starvations vs the file size N

The mathematical models of QoE metrics are computed and compared with event-driven simulations using MATLAB. A timer generates random variable stamps that record the frames arrival and departure. Each frame contains two blocks (original frame and the copy of another frame). We monitor the playout buffer length based on the frames arrival rate and the playback rate. A switching occurs when there is no more frames of high bitrate. In this case, the player display only the frames with the low bitrate until high bitrate frames are available. A starvation happens when the buffer is empty. We take into account the size of the video file. We vary the parameters frame arrival rate , service rate , the file size , the pre-fetching threshold , the offset . We run each set of simulations for 4000 times and we show here only a small set of figures obtained, due to page number constraints. Our model exhibits excellent accuracy with the simulations. Figure 10 shows the probability of starvation given the file size N, for different settings of the traffic intensity . The start-up threshold while the offset . The probability of starvation decreases when the network throughput increases. The streaming users only suffer from the playback interruption when . We further evaluate the probabilities of having no starvation, at least one and two starvations, given the file size for . Figure 10 shows that our analytical model predicts the starvation probabilities accurately. The probability of no starvation decreases from 1 to 0, while the probability of having at least one and two starvations increases. The lag between the two curves gives an idea about the mean playback time, i.e., the mean time between two consecutive starvations. Then, based on the file size, the initial buffering latency, the offset and the traffic intensity, the model predicts the number of starvation that the video session could have.

Fig. 11: The playback interruption probability using several packet arrivals processes

Before studying the QoE optimization problem, we evaluate the BSC scheme under different types of arrival processes: the logistic distribution and the ON/OFF arrival process. In Fig. 11 we show that the BSC scheme reduces the playback interruption. Furthermore, we obtain an important improvement of the probability of playback interruption where the arrival of frames follows the logistic process.

V-B QoE Optimization

We consider five video resolutions (1080p, 720p, 480p, 360p and 240p) with the corresponding bitrates (4500Kbps, 2500Kbps, 1000Kbps, 750Kbps and 400Kbps). The network throughput is 2200Kbps or 3000Kbps. Then we compute the corresponding traffic intensities . We also compute the bitrate in the BSC scheme using H.264/SVC codec. We compare the QoE metrics between a classical DASH based SVC and the BSC system. Our BSC system is based on the SVC codec, then, we compare it to DASH/SVC since we know that SVC adds 10% encoding overhead compared with the same quality AVC. This comparison is done on a single video segment. The bitrate adaptation in the BSC system is the scope of our ongoing research. We will show the two appropriate bitrates to select after the downloading of each segment, and compare the video quality to the classical DASH system.
Let assume that the network throughput is 2200Kbps. In DASH, the adaptation engine will select the bitrate that is just under the network throughput, i.e., 480p resolution. What happens if we select 480p360p, 720p360p or 720p480p in the BSC scheme?
When we select 480p360p in the BSC, the cost of DASH is better than BSC although there is no starvation in both cases. Indeed, the DASH system just benefits from the initial buffering latency. However, selecting the resolutions 720p360p or 720p480p allows to minimize the QoE cost function (Fig. 13). There is only one starvation for a file size of 1500 frames but with a better rendering quality. Hence, when the network throughput changes to 3000Kbps, the BSC can use 1080p video resolution while the simple DASH cannot.

Fig. 12: The QoE cost function for 480p and 720p480p, , ,
Fig. 13: Reduce the probability of starvation with BSC scheme

Vi Conclusion and Discussion

In this paper, we proposed the novel Backward-Shifted Coding (BSC) scheme to improve the performance of HTTP adaptive streaming. Inspired from Forward Error Correction, BSC adds time-shifted redundancy to the video stream that provides smooth playback even if the main stream is interrupted.

We describe an integration of BSC into SVC and its operation with HAS. We then provide an analytical characterization of the dominating QoE factors initial buffering time, starvation and average video bitrate. We compute the first two metrics using the Ballot theorem and obtain explicit results for the probability generation function of the starvation. The average video bitrate metric is computed using the quasi-stationary approach. Finally, we show by global optimization that BSC can improve both the playback interruption and the average bitrate in video streaming systems compared to standard DASH on a single video segment.

We will explore the bitrate adaptation in the BSC system in our future work.


This work has been carried out in the framework of IDEFIX project, funded by the ANR under the contract number ANR-13-INFR-0006.


  • [1] Cisco Visual Networking Index: Global mobile data traffic forecast update, 2014–2019, white paper, Cisco Systems, February 2015.
  • [2] A.  Balachandran, V.  Sekar, A.  Akella, S.  Seshan, I.  Stoica and H.  Zhang, A Quest for an Internet Video Quality-of-experience Metric, Proceedings of the 11th ACM Workshop on Hot Topics in Networks, Redmond, Washington, 2012.
  • [3] S. Thakolsri, S. Khan, E. Steinbach, and W. Kellerer, ÒQoE-Driven Cross-Layer Optimization for High Speed Downlink Packet Access,Ó Journal of Communications, vol. 4, no. 9, pp. 669Ð680, Oct. 2009.
  • [4] P. Ameigeiras, J. J. Ramos-Munoz, J. Navarro-Ortiz, P. Mogensen, and J. M. Lopez-Soler, ÒQoE oriented cross-layer design of a resource allocation algorithm in beyond 3G systems,Ó Computer Communications, vol. 33, no. 5, 2010.
  • [5] A.  Balachandran, V.  Sekar, A.  Akella, S.  Seshan, I.  Stoica and H.  Zhang, ÒDeveloping a Predictive Model of Quality of Experience for Internet VideoÓ, Sigcomm, Hong Kong, 2013.
  • [6] R. J. Kryscio, C. Lefèvre, ”On the extinction of the SIS stochastic logistic epidemic, Journal Appl. Prob. 27, 685-694, 1989.
  • [7] F. Dobrian, A. Awan, D. Joseph, A. Ganjam, J. Zhan, V. Sekar, I. Stoica, and H. Zhang, ÒUnderstanding the impact of video quality on user engagement,Ó in ACM SIGCOMM, pp. 362Ð373, 2011
  • [8] M. Z.  Shafiq, J.  Erman, L.  Ji, A. X. Liu, Jeffrey Pang, Jia Wang ÒUnderstanding the Impact of Network Dynamics on Mobile Video User EngagementÓ SIGMETRICSÕ14, June 16Ð20, 2014, Austin, Texas, USA.
  • [9] C. Yim and A. C. Bovik, ÒEvaluation of temporal variation of video quality in packet loss networks,Ó Signal Processing: Image Communication, Jan. 2011.
  • [10] ISO/IEC, “Dynamic adaptive streaming over HTTP (DASH)”, International Standard DIS 23009-1.2, 2012.
  • [11] FELLER, William. An Introduction to Probability Theory and Its Applications. Volume I. London-New York-Sydney-Toronto : John Wiley & Sons, 1968.
  • [12] J.  Ohm, G.  Sullivan, H.  Schwarz, T.K.  Tan and T.  Wiegand, Comparison of the Coding Efficiency of Video Coding Standards - Including High Efficiency Video Coding (HEVC), IEEE Transactions on Circuits and Systems for Video Technology, vol. 22, no. 12, pp. 1669-1684, 2012.
  • [13] International Standards Organisation/International Electrotechnical Commission (ISO/IEC), 14496-10:2012 Information Technology - Coding of Audio-visual Objects - Part 10: Advanced Video Coding, 2012.
  • [14] YE, Zakaria, JIMENEZ, Tania, et EL-AZOUZI, Rachid. Video streaming analysis in Vienna LTE system level simulator. In : Proceedings of the 8th International Conference on Simulation Tools and Techniques. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), 2015. p. 47-54.
  • [15] T.-Y. Huang, R. Johari, N. McKeown, M. Trunnell, and M. Watson, ”A buffer-based approach to rate adaptation: Evidence from a large video streaming service,” in Proc. ACM Conference on Special Interest Group on Data Communication (SIGCOMM), 2014.
  • [16] C. Zhou, C.-W. Lin, X. Zhang, and Z. Guo, ÒA control-theoretic approach to rate adaption for DASH over multiple content distribution servers,Ó IEEE Trans. Circuits Syst. Video Technol., vol. 24, no. 4, Apr. 2014.
  • [17] C. Liu, I. Bouazizi, and M. Gabbouj, ÒRate adaptation for adaptive HTTP streaming,Ó in Proc. ACM Multimedia Syst. 2011.
  • [18] El Essaili, D. Schroeder, D. Staehle, M. Shehada, W. Kellerer, E. Steinbach, Quality-of-Experience driven Adaptive HTTP Media Delivery, IEEE ICC 2011, Budapest, Hungary, Juni 2013.
  • [19] C. Lottermann, A. Machado, D. Schroeder, Y. Peng, E. Steinbach, Bit Rate Estimation for H.264/AVC Video Encoding based on Temporal and Spatial Activities, IEEE ICIP 2014, Paris, France, Oktober 2014.
  • [20] A.  Sobhani, A. Yassine and S. Shirmohammadi, ”A fuzzy-based rate adaptation controller for DASH”, in the Proceeding NOSSDAV 15, 2015.
  • [21] Parandeh Gheibi et al, Avoiding Interruptions a QoE Reliability Function for Streaming Media Applicationsº, IEEE J. Sel. Areas Commun., Vol.29, No.5, pp:1064-1074, 2011.
  • [22] XU, Yuedong, ALTMAN, Eitan, EL-AZOUZI, Rachid, et al. Analysis of buffer starvation with application to objective qoe optimization of streaming services. Multimedia, IEEE Transactions on, 2014, vol. 16, no 3, p. 813-827.
  • [23] T.  Hoßfeld, R.  Schatz, M.  Seufert, M.  Hirth, T.  Zinner and P.  Tran-Gia, Quantification of YouTube QoE via Crowdsourcing, MQoE 2011, Dana Point, CA, USA, (December 2011).
  • [24] P.  Balaouras and I.  Stavrakakis, Multimedia Transport Protocols for Wireless Networks, Emerging Wireless Multimedia: Services and Technologies (2005), pp. 49-82, 2005.
  • [25] J.N.  Darroch and E.  Seneta, On Quasi-Stationary Distributions in Absorbing Continuous-Time Finite Markov Chains, Journal of Applied Probability Vol. 4 No. 1, pp:192-196 1967.
  • [26] I.  NÅSELL, Extinction and quasi-stationarity in the Verhulst logistic model: with derivations of mathematical results, 2007.
  • [27] S.  Karlin and H. M.  Taylor, A first course in stochastic processes, Academic Press, New York, 1975.
  • [28]
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description