A control-based algorithm for rate adaption in MPEG-DASH

Similar documents
FUZZY LOGIC TECHNIQUES. on random processes. In such situations, fuzzy logic exhibits immense potential for

Chapter 7 Fuzzy Logic Controller

CHAPTER 5 FUZZY LOGIC CONTROL

CHAPTER 4 FREQUENCY STABILIZATION USING FUZZY LOGIC CONTROLLER

Evaluation of HTTP/DASH Adaptation Algorithms on Vehicular Networks

Adaptation Algorithm for Adaptive Streaming over HTTP

Introduction to Fuzzy Logic and Fuzzy Systems Adel Nadjaran Toosi

Lecture notes. Com Page 1

FUZZY INFERENCE SYSTEMS

Why Fuzzy Fuzzy Logic and Sets Fuzzy Reasoning. DKS - Module 7. Why fuzzy thinking?

ARTIFICIAL INTELLIGENCE. Uncertainty: fuzzy systems

Introduction 3 Fuzzy Inference. Aleksandar Rakić Contents

Fuzzy if-then rules fuzzy database modeling

ARTIFICIAL INTELLIGENCE - FUZZY LOGIC SYSTEMS

A Fuzzy System for Adaptive Network Routing

What is all the Fuzz about?

CHAPTER 4 FUZZY LOGIC, K-MEANS, FUZZY C-MEANS AND BAYESIAN METHODS

Lecture 5 Fuzzy expert systems: Fuzzy inference Mamdani fuzzy inference Sugeno fuzzy inference Case study Summary

CHAPTER 6 SOLUTION TO NETWORK TRAFFIC PROBLEM IN MIGRATING PARALLEL CRAWLERS USING FUZZY LOGIC

Fuzzy Logic. Sourabh Kothari. Asst. Prof. Department of Electrical Engg. Presentation By

FUZZY INFERENCE. Siti Zaiton Mohd Hashim, PhD

MODELING FOR RESIDUAL STRESS, SURFACE ROUGHNESS AND TOOL WEAR USING AN ADAPTIVE NEURO FUZZY INFERENCE SYSTEM

A QoE Friendly Rate Adaptation Method for DASH

Why Fuzzy? Definitions Bit of History Component of a fuzzy system Fuzzy Applications Fuzzy Sets Fuzzy Boundaries Fuzzy Representation

Speed regulation in fan rotation using fuzzy inference system

Neural Networks Lesson 9 - Fuzzy Logic

ANALYTICAL STRUCTURES FOR FUZZY PID CONTROLLERS AND APPLICATIONS

Chapter 4 Fuzzy Logic

Exploring Gaussian and Triangular Primary Membership Functions in Non-Stationary Fuzzy Sets

Similarity Measures of Pentagonal Fuzzy Numbers

Fuzzy Logic Controller

CHAPTER 3 FUZZY INFERENCE SYSTEM

QoE-aware Traffic Shaping for HTTP Adaptive Streaming

Adaptive Video Acceleration. White Paper. 1 P a g e

Fuzzy rule-based decision making model for classification of aquaculture farms

Dra. Ma. del Pilar Gómez Gil Primavera 2014

SOLUTION: 1. First define the temperature range, e.g. [0 0,40 0 ].

Fuzzy Based Decision System for Gate Limiter of Hydro Power Plant

FUZZY SYSTEMS: Basics using MATLAB Fuzzy Toolbox. Heikki N. Koivo

Fuzzy If-Then Rules. Fuzzy If-Then Rules. Adnan Yazıcı

Improving Context Interpretation by Using Fuzzy Policies: The Case of Adaptive Video Streaming

Future Buffer based Adaptation for VBR Video Streaming over HTTP

Introduction to Fuzzy Logic. IJCAI2018 Tutorial

Characterizing Netflix Bandwidth Consumption

FUZZY INFERENCE SYSTEM AND PREDICTION

Introduction. Aleksandar Rakić Contents

Using Ones Assignment Method and. Robust s Ranking Technique

Background Fuzzy control enables noncontrol-specialists. A fuzzy controller works with verbal rules rather than mathematical relationships.

A Fuzzy Based Approach for Priority Allocation in Wireless Sensor Networks Imen Bouazzi #1, Jamila Bhar #2, Semia Barouni *3, Mohamed Atri #4

Unit V. Neural Fuzzy System

CHAPTER 3 FUZZY RULE BASED MODEL FOR FAULT DIAGNOSIS

On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud

Fuzzy Reasoning. Outline

Qoe-aware adaptive bitrate video streaming over mobile networks with caching proxy

Identification of Vehicle Class and Speed for Mixed Sensor Technology using Fuzzy- Neural & Genetic Algorithm : A Design Approach

Analyzing the Receiver Window Modification Scheme of TCP Queues

FUZZY SYSTEM FOR PLC

Intelligent Traffic Management in High-Speed Networks by Fuzzy Logic Control

Available online at ScienceDirect. Procedia Computer Science 76 (2015 )

Final Exam. Controller, F. Expert Sys.., Solving F. Ineq.} {Hopefield, SVM, Comptetive Learning,

Rate Control of Real-time MPEG-2 over ATM DBR Service with Bandwidth Re-negotiation

CHAPTER 3 INTELLIGENT FUZZY LOGIC CONTROLLER

Dinner for Two, Reprise

CODING METHOD FOR EMBEDDING AUDIO IN VIDEO STREAM. Harri Sorokin, Jari Koivusaari, Moncef Gabbouj, and Jarmo Takala

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)

CHAPTER 3 ADAPTIVE NEURO-FUZZY INFERENCE SYSTEM

SARA: Segment Aware Rate Adaptation for DASH Video Services

Development of a Generic and Configurable Fuzzy Logic Systems Library for Real-Time Control Applications using an Object-oriented Approach

Defect Depth Estimation Using Neuro-Fuzzy System in TNDE by Akbar Darabi and Xavier Maldague

Study of Fuzzy Set Theory and Its Applications

An Adaptive Fuzzy Type-2 Control Double Token Leaky Bucket and Back-pressure over High-Speed Network

What is all the Fuzz about?

Computational Intelligence Lecture 12:Linguistic Variables and Fuzzy Rules

Fuzzy Sets and Fuzzy Logic

REAL-TIME SCHEDULING OF SOFT PERIODIC TASKS ON MULTIPROCESSOR SYSTEMS: A FUZZY MODEL

TOPSIS Modification with Interval Type-2 Fuzzy Numbers

Integration of Fuzzy Shannon s Entropy with fuzzy TOPSIS for industrial robotic system selection

Fuzzy Set, Fuzzy Logic, and its Applications

Machine Learning & Statistical Models

Fuzzy Reasoning. Linguistic Variables

A New Fuzzy Neural System with Applications

IMPROVING LIVE PERFORMANCE IN HTTP ADAPTIVE STREAMING SYSTEMS

Fuzzy Sets and Fuzzy Logic. KR Chowdhary, Professor, Department of Computer Science & Engineering, MBM Engineering College, JNV University, Jodhpur,

Reference Variables Generation Using a Fuzzy Trajectory Controller for PM Tubular Linear Synchronous Motor Drive

fuzzylite a fuzzy logic control library in C++

Fuzzy time series forecasting of wheat production

Fuzzy Logic in Critical Section of Operating System

Position Tracking Using Fuzzy Logic

Fuzzy Systems (1/2) Francesco Masulli

CHAPTER - 3 FUZZY SET THEORY AND MULTI CRITERIA DECISION MAKING

QoS-Aware IPTV Routing Algorithms

399 P a g e. Key words: Fuzzy sets, fuzzy assignment problem, Triangular fuzzy number, Trapezoidal fuzzy number ranking function.

REASONING UNDER UNCERTAINTY: FUZZY LOGIC

The Travelling Salesman Problem. in Fuzzy Membership Functions 1. Abstract

CS 457 Multimedia Applications. Fall 2014

VHDL framework for modeling fuzzy automata

Fuzzy Sets and Systems. Lecture 1 (Introduction) Bu- Ali Sina University Computer Engineering Dep. Spring 2010

Data Fusion for Magnetic Sensor Based on Fuzzy Logic Theory

Computing Performance Measures of Fuzzy Non-Preemptive Priority Queues Using Robust Ranking Technique

Figure 2-1: Membership Functions for the Set of All Numbers (N = Negative, P = Positive, L = Large, M = Medium, S = Small)

Transcription:

A control-based algorithm for rate adaption in MPEG-DASH Dimitrios J. Vergados, Angelos Michalas, Aggeliki Sgora,2, and Dimitrios D. Vergados 2 Department of Informatics Engineering, Technological Educational Institute of Western Macedonia, Greece Email:djvergad@gmail.com, amichalas@kastoria.teikoz.gr 2 Department of Informatics, University of Piraeus, Greece Email:{asgora,vergados}@unipi.gr Abstract Although MPEG-Dynamic Adaptation Streaming over HTTP (MPEG-DASH) eliminates data packet loss, based on the rate adaptation strategy adopted by the user and the network conditions, still playback interruptions may not be avoided. In this paper an algorithm for rate adaption in MPEG-DASH is proposed that employs fuzzy logic to estimate the resolution of the next video segment that each client should obtain from the server. In this way, the buffering time at each client is kept above a target buffering time and thus buffer overflows and unnecessary bit rate fluctuations are avoided. Simulation results showed that the proposed rate adaptation strategy has a beneficial effect on the quality each user perceives. I. INTRODUCTION The increasing popularity of video streaming has lead several companies to develop their proprietary solutions, such as Apple, Microsoft, Abode etc, and several standards bodies, such as Third Generation Partnership Project (3GPP), Motion Picture Experts Group (MPEG), etc to establish their own task groups to develop standards for HTTP adaptive streaming (HAS). In this context, in 22, MPEG issued its standard for streaming multimedia over Internet, namely MPEG Dynamic Adaptive Streaming over HTTP (DASH) (ISO/IEC 239- ) []. The basic concept of DASH is that users generally prefer to have the best possible resolution of undisrupted video playback in accordance with fluctuations of throughput over a TCP connection. The available throughput over an internet connection could change significantly due to the existence of multiple connections or the presence of interference and fading in channels. However, the MPEG-DASH specification only defines the Media Presentation Description (MPD) and the segment formats. Since several aspects, such as the media-encoding format, the adaptation techniques, etc are outside the MPEG DASH s scope, several research works that deal with these issues may be found in the literature [2] []. In this paper a fuzzy control-based algorithm for rate adaption in MPEG-DASH is proposed that employs fuzzy logic to control the buffering time and the resolution in order to avoid buffer overflows and unnecessary bit rate fluctuations. The rest of the paper is structured as follows. Section II presents preliminaries concerning fuzzy controllers while Section III presents the proposed algorithm for rate adaptation. Section IV provides simulation results indicating the efficiency of the proposed model. Finally, conclusions are drawn in Section V. II. PRELIMINARIES The concept of fuzzy logic was introduced by Zadeh [6] and is used to make a decision from indeterminate and approximate information. One of the most important applications of the the fuzzy logic is the fuzzy logic controller. The major advantages of fuzzy logic controllers over the conventional controllers are [7]: ) they do not need accurate mathematical model; 2) they can work with imprecise inputs; 3) they can handle nonlinearity; 4) they are more robust than conventional nonlinear controllers. Although the fuzzy control application area is really wide, the basic steps of fuzzy controllers consists of: Fuzzification: Unlike classical (or crisp) set theory where sets have clear cut boundaries and no uncertainty is allowed, in fuzzy set theory the fuzzy sets have vague boundaries and thus it is able to deal effectively with uncertainties. A fuzzy set is an extension of the classical set theory in that an x can be a member of set A with a certain degree of membership. During the process of fuzzification, a memebership is assigned to the crisp input obtained from different membership sets that are described by the means of membership functions, such as triangular, trapezoidal, sinusoidal etc. If x is some variable over some domain of discourse U and X is a fuzzy set over U, then µ X (x) is defined to be the degree of membership of x in X. All the membership functions are graded between and. The membership sets are assigned linguistic variable names that allow the designer to easily identify the membership set [8]. For example if U is identified with the parameter measuring temperature the fuzzy set X over U can be X = {too cold, cold, hot, too hot}. Fuzzy Rule (or knowledge) base: It associates the fuzzy output to the fuzzy inputs and is constructed to control the fuzzy output. A fuzzy rule is a simple IF-THEN rule with a condition and a conclusion. In case that a rule has multiple parts, fuzzy operators may be used to combine more than one inputs: AND = min, OR = max and NOT = additive complement. During this step the rule matrix is also built to describe

fuzzy sets and fuzzy operators in form of conditional statements. Fuzzy Inference Engine: It performs the fuzzy inference process, by computing the activation degree and the output of each rule. It uses all pieces described in previous sections: membership functions, logical operations and if-then rules. The most common types of inference systems are Mamdani and Sugeno [9]. Defuzzification: The Defuzzification process is used to transform a fuzzy set to a crisp set. The input of this step is the aggregate output fuzzy set and the output is a crisp number. Several techniques may be applied, such as the maximum method, the centroid method, the center of gravity method etc. III. THE PROPOSED ALGORITHM The basic concept of DASH is that users generally prefer to have the best possible resolution of undisrupted video playback in accordance with fluctuations of throughput over a TCP connection. The available throughput over an internet connection could change significantly due to the existence of multiple connections or the presence of interference and fading in channels. To this end, our model is based on clients implementing the MPEG-DASH standard to request streams of video with different resolutions from an HTTP video server. Each client uses the fuzzy controller rate adaptation algorithm to estimate the resolution of the next video segment obtained from the server. A. The Proposed Algorithm We assume that a video stream consisted of n segments of duration τ is available at the server. Each segment is encoded in multiple resolutions of quality. The segment throughput is estimated at the client as: r i = (b i τ) / ( t e i t b ) i where b i denotes the bit rate of segment i, t e i and tb i denote respectively the time when the segment i has been started downloading and the time the whole segment has been received at the client. Each client requests the next video segment with higher/lower or equal resolution to the last downloaded segment. The increase/decrease in resolution is determined by the fuzzy controller rate adaptation algorithm. The algorithm uses two crisp inputs, namely the buffering time denoting the time t i that the last received segment waits at the client until it starts playing and the difference t i = t i t i of the last buffering time from the previous one. The proposed scheme tries on one hand to keep the buffering time at the client above the target buffering time denoted as T to avoid buffer under-runs and on the other hand to retain the difference between the current and the previous resolution close to zero in order to reduce consecutive changes of video resolution subject to continuous variations of the network throughput. () Specifically, the linguistic variables of the buffering time input are described as short, close and long, so as to denote the distance of the current buffering time from the target T. Additionally, the linguistic variables for the differential of the buffering time input, signify that the rate between subsequent buffering times is falling, steady or rising, while the linguistic variables of the output described as reduce (R), small reduce (SR), No Change (NC), small increase (SI) and Increase (I) declaring the factor of the increase/decrease of the resolution of the next segment. The linguistic values for the input and output variables are represented by triangular fuzzy numbers. Figs. and 2) depict the membership functions of each input, while Fig. 3 depicts the membership function of the output.the applied fuzzy rules are summarized in table I. Degree of membership.8.6.4.2 TABLE I: Fuzzy rules short close long rising NC SI I steady R NC SI falling SR R NC Membership functions for the buffering time 2T/3 T 4T Buffering time t (sec) short(x) close(x) long(x) Fig. : The membership functions for the buffering time Accordingly, the rules that associate the fuzzy output to the fuzzy inputs could be expanded to the following if-then-else statements: Rule : if (short) and (falling) then R Rule 2: if (close) and (falling) then SR Rule 3: if (long) and (falling) then NC Rule 4: if (short) and (steady) then SR Rule : if (close) and (steady) then NC Rule 6: if (long) and (steady) then SI Rule 7: if (short) and (rising) then NC Rule 8: if (close) and (rising) then SI Rule 9: if (long) and (rising) then I Then, the value of each rule is calculated as the minimum value among the two input functions that comprise it. Afterwards each output variable is calculated according to the

Degree of membership Membership functions for the differential of the buffering time.8.6.4.2 falling(x) steady(x) rising(x) -2T/3 4T Differential of the buffering time t (sec) Fig. 2: The membership functions for the differential of the buffering time Degree of membersip.8.6.4.2 Output membership function N 2 N Z P P 2 Output: increase/reduce bitrate factor for the next segment Fig. 3: The output membership functions following formulas: I = r9 2 (2) SI = r6 2 + r2 8 (3) NC = r3 2 + r2 + r2 7 (4) SR = r2 2 + r2 4 () R = r 2 (6) Finally the output of the fuzzy algorithm is calculated using the centroids of each output component (Fig. 3): f = N 2 R + N SR + Z NC + P SI + P 2 I SR + R + NC + SI + I (7) The output of the controller (f (t i, t i )) is an increase/decrease factor, which refers to the bit-rate (and ultimately the resolution) of the next segment (b k ), in relation to the estimated channel throughput over the last period. Specifically, b k = f (t i, t i ) r d (8) The term r d is the available connection throughput, estimated as the average segments throughput of the last k segments downloaded during a specified period of time d. Consequently, the available connection throughput equals to /k k r i. i= The final step of the algorithm tries to avoid unnecessary bit rate fluctuations. Since the videos are available on the server only at specific resolutions, b k is quantized to the highest available resolution b n that is lower than b k. If b n > b k and by selecting the new bit rate b k, the buffer level is estimated to be less than T for the next 6 sec, then the bit rate remains unchanged. Similarly, if b n < b k, but the old bit rate is estimated to produce a buffer level for the next 6 sec that is larger than T, then the bit rate remains unchanged. In all other cases the bit rate of the next segment is set to b n. IV. A. Simulation Setting SIMULATION SETUP AND RESULTS Our experiments were implemented using the simulation software ns-3 (http://www.nsnam.org). The simulation setup consisted of several nodes, one acting as a DASH MPEG server, and the others acting as DASH MPEG clients. The bottleneck link is a 2Mbps link, with a propagation delay of ms. Each client node tries to download and play a video from the server using the proposed algorithm. The target buffering time T was equal to 3 sec whereas the time period d, estimating the available connection throughput at the client, was set to 6 sec. The factors N 2, N, Z, P and P 2 of the output membership function were set equal to.,.,,. and 2 respectively. The code of our experiments is available in https://github.com/djvergad/dash/tree/master/model. The available video segments at the server have been produced using the trace files of several dash video streams given in http://www-itec.uniklu.ac.at/ftp/datasets/mmsys2/bigbuckbunny/. The duration of each video segment τ was equal to 2 sec. The video segment resolutions used in the experiments were 4, 89, 3, 78, 22, 263, 334, 396, 22, 9, 79, 33, 24, 47, 234, 2484, 379, 327, 384, 422 bps. B. Two clients attempting to access a DASH server In this scenario we investigate the behavior of the algorithm when two clients compete for access to the server. In this case the target buffering time T was set to 7sec. In Fig. 4 the evolution of the buffering time t as well as the evolution of the differential of the buffering time t can be seen for both clients. According to the obtained results, the algorithm manages to keep the playback buffering time above the target buffering time as well as the difference between the current and the previous resolution close to zero.

time (sec) T 2T/3-2T/3 2 3 4 6 Simulation Time (sec) Node - T Node - T Node - t Node - t Fig. 4: The buffering time t and the differential buffering time t over time 4 3 3 2 2 3 Interruption time 3 2 4 4 682 6 8 2 connections Fig. 6: The average total interruption time among users. 4 3 3 2 C. Multiple clients with varying target buffering times accessing a DASH server In this scenario we evaluated the performance of the proposed algorithm for different numbers of clients and target buffering times. 3 3 2 Interruptions 3 3 2 4 4 3 3 2 2 average buffering time 3 3 2 4 4 682 6 8 2 connections Fig. 7: The average buffering time among users. 4 4 3 3 2 2 3 3 2 4 4 682 6 8 2 connections Fig. : The average number of playback interruptions. Fig. shows the average number of playback interruptions while Fig. 6 presents the average total interruption time among users. As it can be seen the algorithm tries to avoid buffer starvation by adjusting video resolution. Thus, in most cases the average number of playback interruptions as well as the average total interruption time is close to zero, except for the cases that there is a large number of clients requesting video or a small target buffering time is specified at the algorithm. Fig. 7 depicts the average buffering time among clients throughout the simulation. From the obtained results, in can be observed that as the target buffering time increases, the average actual buffering time at the client increases as well. In case there are a few client connections, and a high target buffering time, then the largest playback buffering times are achieved at the clients. Fig. 8 illustrates the average bitrate obtained by the clients. As it can be seen, the algorithm tries to adjust the download bit rate to the available throughput in an effort to provide the best possible resolution for each client. Accordingly, when there are few client connections, video of high resolution is provided. However as the number of connections increases, the video bitrate falls. In addition, the target buffering time also affects the bitrate; when the target buffering time increases, the average bitrate falls. Finally, Fig. 9 presents the average minimum bitrate obtained by all clients. It can be seen that as the number of clients increases, the minimum rate decreases. However the minimum rate does not seem to be affected significantly by the target buffering time. V. CONCLUSIONS In this paper a novel MPEG-DASH fuzzy control-based adaptation scheme employing fuzzy logic is presented aiming

6 4 2 8 6 4 2 2 8 6 4 2 2 3 Average Rate 3 2 4 4 682 6 8 2 connections Fig. 8: The average bitrate among clients. 2 4 6 8 2 connections 4 6 8 2 minimum rate 3 2 6 4 2 8 6 4 2 2 8 6 4 2 ACKNOWLEDGEMENTS This work is partly supported by UPRC (University of Piraeus Research Center). REFERENCES [] I. Sodagar, Industry and standards, 2. [2] L. Rovcanin and G.-M. Muntean, A DASH-based performance-oriented adaptive video distribution solution, in Broadband Multimedia Systems and Broadcasting (BMSB), 23 IEEE International Symposium on. IEEE, 23, pp. 7. [3] G. Muntean, G. Ghinea, and T. N. Sheehan, Region of interest-based adaptive multimedia streaming scheme, Broadcasting, IEEE Transactions on, vol. 4, no. 2, pp. 296 33, 28. [4] V. Menkovski and A. Liotta, Intelligent control for adaptive video streaming, in Consumer Electronics (ICCE), 23 IEEE International Conference on. IEEE, 23, pp. 27 28. [] K. Miller, E. Quacchio, G. Gennari, and A. Wolisz, Adaptation algorithm for adaptive streaming over HTTP, in Packet Video Workshop (PV), 22 9th International. IEEE, 22, pp. 73 78. [6] L. A. Zadeh, Fuzzy sets, Information and control, vol. 8, no. 3, pp. 338 33, 96. [7] M. Veerachary, T. Senjyu, and K. Uezato, Neural-network-based maximum-power-point tracking of coupled-inductor interleaved-boostconverter-supplied PV system using fuzzy controller, Industrial Electronics, IEEE Transactions on, vol., no. 4, pp. 749 78, Aug 23. [8] D. McGowan, D. J. Morrow, and B. Fox, Multiple input governor control for a diesel generating set, Energy Conversion, IEEE Transactions on, vol. 23, no. 3, pp. 8 89, Sept 28. [9] A. Hamam and N. D. Georganas, A comparison of Mamdani and Sugeno fuzzy inference systems for evaluating the quality of experience of haptoaudio-visual applications, in Haptic Audio visual Environments and Games, 28. HAVE 28. IEEE International Workshop on, Oct 28, pp. 87 92. Fig. 9: The average minimum bitrate obtained by the clients. to efficiently adjust the video rate delivered to each user in accordance to the current network conditions. Each client watching a video stream obtained from the DASH server downloads the video segments by estimating their resolution with the aid of a fuzzy controller rate adaptation algorithm. Simulation results showed that the proposed algorithm succeeds in avoiding buffer starvation by adjusting video resolution. Also, the results indicate the significance of the target buffering time value. The increase of the target buffer time has a beneficial effect on the users perceived quality. Thus if the flow is not ineffective, the algorithm can perform reasonably well for various congestion levels. However, when the buffer target is low, as would be the case in interactive video conferencing, the performance of the algorithm worsens in terms of interruptions and bitrate. Directions for future work include the realization of further wide scale simulation trials in order to experiment with the applicability of the algorithm presented herewith, as well as, to incorporate other DASH adaptation schemes in ns-3 and test their performance against our algorithm s performance.