A Fuzzy-Based Adaptive Streaming Algorithm for Reducing Entropy Rate of DASH Bitrate Fluctuation to Improve Mobile Quality of Service

.


Introduction
Users recently have had access to increased network bandwidth such as 5G technology.On the one hand, users have many advantages in streaming services.On the contrary, they might have very rough experiences if network throughput fluctuates rapidly and frequently, especially mobile users.For example, a mobile user signs up to a 5G service/80 Mbps, which is high network bandwidth.It brings the user to the huge gap of fluctuation between a low and high throughput.This problem degrades the quality of mobile services such as video streaming because the streaming is sensitive to network changes.
In the past, streaming media servers used Real Time Streaming Protocol (RTSP) [1] for media streaming delivery.RTSP is a stateful protocol that maintains a connection through the RTP Control Protocol (RTCP) which cooperates with Real-time Transport Protocol (RTP).However, nowadays, most servers support Hypertext Transfer Protocol (HTTP)-based streaming because it inherits the benefits of HTTP.HTTP is a stateless protocol and requires a single port.It can also traverse firewalls.
The principle of adaptive bitrate HTTP-based [2,3] is to produce multiple versions of video content, such as various bitrates and different spatial resolutions on a server.The bitrates vary from low quality to high quality to serve a user in all conditions of the network bandwidth.The technique then divides each bitrate into multiple chunks.Continually, each chunk divides into small parts or segments with a duration length that varies from two to ten seconds.All of the information of the segments and chunks are included in a manifest file called Media Presentation Description (MPD).The information contains chunk location, segment duration, type of bitrate, etc.On the client side, a player searches for segment information in the manifest file MPD.On the basis of the manifest file, the player first requests the lowest-quality representation and then increases the quality of representation depending on network conditions.During playback, the video quality changes to match network conditions.To do that, the player does two main tasks.First, the player periodically measures server-to-client bandwidth.Second, the player chooses the maximum coding rate for sustainability given current network conditions.
The advantage of the technique is that it can switch the streaming among the different bitrates automatically without awareness of a user.If the network speed is greater than a certain bitrate, then it switches downloading the next higher adjacent bitrate.Many organizations involved in the project of building such Adaptive Bitrate Streaming (ABS) applications as well as improving delivering technique in the real business applications.We currently have several types of the streaming that are based on the technique of ABS.Moving Picture Experts Group (MPEG) created Dynamic Adaptive Streaming over HTTP (MPEG-DASH or DASH) [4][5][6].Adobe HTTP Dynamic Streaming [5] supports both Real-Time Messaging Protocol (RTMP) and HTTP protocol.Apple HTTP Live Streaming (Apple Technology Company, Cupertino, CA, USA) [3] is a standard streaming service on the iPhone, and Microsoft Smooth Streaming (Microsoft Corporation Technology Company, Albuquerque, NM, USA) [5] is commonly used for Windows, etc.
The problem of frequent network changes has been solved by the adaptive streaming as discussed above.However, the problem has not been resolved thoroughly because the adaptive streaming frequently changes bitrates if network metric values such as bandwidth continuously change from low to high.Researchers have invested the problem and proposed many adaptive algorithms to improve network utilization and reduce the changes.An adaptive algorithm does select representations of video streaming that match to the current network state.However, most studies only concerned about the state of the network at present to provide alternative representations.In addition, modeling a problem in a network is hard due to the uncertainty of the network as users continuously join and leave the network.Even though we can model network problems, sometimes we must solve nonlinear optimization problems.
In DASH currently, if the segment downloading time takes less than the segmentation duration, the player must wait until the segment request timeout.This problem leads to unstable generated traffic, which can trap other players in the unfair distribution [7].As addressed in [8], the problem is challenging because adaptive streaming-based always has an inevitable mismatch between the actual network throughput and the selected video bitrate.Therefore, in this paper, we will present a method based on DASH [6] to solve the emerged problem.In this article, we take advantage of a fuzzy logic application such as a fuzzy research in [9] to handle the uncertainty of the network system.In addition, we use a cumulative moving average to average a set of values because this average technique can express related information between near-term past values and current values.When we have a new value, the technique updates the average of data to present.More specifically, we extend our previous research [10] to improve the mobile quality of service.We improve our previously proposed method for mobile devices to maximize bandwidth usage and minimize the fluctuation of mobile video quality streaming.First, we find the average of previous bandwidth/buffer variation values of a client by using a moving average calculation.Second, we trace-back at a certain number of the previous fluctuation values to infer the degree of current network fluctuation.We then predict the next request representation for the client by our proposed algorithm.
In comparison with our previous contribution [10], we reformulate fuzzy input equations to reduce computation resources.In addition, we dig deeper into the determination of trace-back step in our proposed algorithm.In the experiment, we test with more resolutions up to 4K and compare our proposed method with another method that used the same fuzzy approach.Finally, we show that our approach leads to lower entropy rate compared to other methods.
We organize the rest of the paper as the following.Section 2 provides related research.Section 3 states the problem and challenges of high-quality mobile video streaming over the Internet and the future trend of high-definition video using DASH for mobile devices.Furthermore, Section 4 presents our proposed method that discusses system working flow and major components.Then, Section 5 includes an experiment where we build a server on Node.js [11], and a mobile client runs on Android.Finally, we conclude our work with the future work of the research.

Related Works
Nowadays, popular service providers such as YouTube, Netflix or Apple TV, Skype, WhatsApp are using Over-The-Top (OTT) services [12].Video delivery with the adaptive streaming has gained a lot of popularity.By encoding/storing each of these at various quality levels and then dividing a source video into multiple segments with a duration around two to ten seconds, it allows clients to dynamically adapt the requested quality during the playback along with network changes.However, the method of quality selection is unpredictable and heuristics.Thus, it is unable to deal with a vast range of highly dynamic network fluctuation.
Packet loss, end-to-end delay, and unpredictable bandwidth are all problems that can affect the quality of video streaming over the Internet.To deal with such problems, Xiong et al. [13] presented an idea to adapt the video bitrate with the fluctuation of network transmission rate.Similar to our approach, they utilized fuzzy control to propose a feedback mechanism that can make a decision on adoption bit-rate.Additionally, they also addressed a future issue of fairness in the presence of multiple concurrent users.So far, this method focuses on video layer while our proposed method concerns an algorithm to select video representation to reduce the fluctuation of the bandwidth, though their video compression efficiency is still much lower than traditional encoders.
While our proposed method is HTTP-based, research in [14] is Transmission Control Protocol (TCP)-based with the same idea of adapting rate along with network conditions.Kuschnig et al. [14] used H.264/SVC (MPEG-4 Part 10, Advanced Video Coding/Scalable Video Coding) to encode/decode a multimedia file at the sender and receiver.They set up a rate-control algorithm to cope with bandwidth limitation as well as congestion.The encoding/decoding rate changes depending on TCP throughput.Their research currently is still limited in the performance of the request-response streams by their fixed parameter settings.
An application of interval type-2 fuzzy logic [15] overcomes a major problem of bandwidth fluctuation while sending out packages.As a result, their method improved delivery of video quality significantly compared with existing traditional controllers such as TCP flow control and a type-1 fuzzy logic.Their work is on the network transport layer as opposed to our method that performs on the application layer of the network transport protocol.Even though they had a dramatic improvement, their method still limited with video coding techniques that might depend on encoding/decoding performance.
Low network metric, such as low latency streaming and low bandwidth, is a great challenge in mobile video streaming, especially in live services deployment.HTTP streaming has recently become a commonly discussed topic in multimedia communications with ongoing standardization activities.Bouzakaria et al. [16] addressed a problem of low and latency in MPEG-DASH.The latency in DASH is affected by the asynchronous fetch of media segments; the segmentation delay; the buffering at the client side; and the time to download the segments.In the first version of the DASH standard, the MPD only indicates the availabilityStartTime value.The client having no knowledge of how segments are produced.This problem leads to a latency of one segment duration.Therefore, they measured the overhead of a frame sent and analyzed a behavior of such overhead.In such a way, their method reduced the initial segment delay and allowed faster switching between bitrates.Meanwhile, our research concentrates on overall network utilization without considering the initial season of DASH.
While most of the previous research focused on a client side, Toni et al. [17] formed a problem of finding a set of representations in an adaptive streaming server because no scientific study supported the problem.They addressed that the issue of network changes can be solved if we have forecasting algorithms.The crystal-ball algorithm [18] considered buffer occupancy and bitrates to predict bandwidth.They also analyzed when the predictions are useful and the effect of their prediction alogorithms on adaptive streaming.Their experiment results showed that prediction-based algorithms improve the quality of service (QoS).However, their research did not pay attention to the value of bandwidth and buffer before the present time.It might result in incorrectness prediction results.On the another hand, geo-predictive crowdsourcing [19] has an approach on clients' previous download experience.Their crowdsourcing-based algorithms outperformed all other methods regarding QoS.They used the buffer level and the current representation of a client to predict bandwidth without considering past bandwidth values.If they could combine the earlier bandwidth values and the buffer level, the results might significantly improve.These reasons motivate us to come up with the idea of network state prediction based on some factors such as the buffer level and bandwidth.
As pointed out by Sobhani et al. [8], adaptation methods in ABS can be categorized into two different categories: (1) bandwidth-base [13,[20][21][22][23][24][25][26]; (2) buffer-based [27,28].The bandwidth-based method relies on the current bandwidth change to select the best quality video quality for the user.It also ensures the continuity and real-time video streaming.The buffer-base method examines the state of the buffer to provide the choice of video quality representations so that it will not cause the buffer overflow or underflow.Logically, the bandwidth-based method focuses on bandwidth.This method can not determine the state of the buffer.In addition, this method also raises some issues in the process of playing out streaming video at the client such as the player ignores frames due to overflowing buffer.In contrast, the player has to wait for frame download due to buffer underflow.This problem also happens to buffer-based methods without considering bandwidth.
On the basis of the change of buffer and throughput, Sobhani et al. [8] introduced a fuzzy-based adaptation algorithm to adjust the quality of video as the rnetwork changes.However, this method only considers the value of bandwidth and buffer at present.They do not yet research about the past states of the network.This method works efficiently when bandwidth and buffer are stable.If these two parameters frequently change, sometimes that change causes the buffer underflow, which might degrade the method efficiency because it causes the player sometimes to stop streaming.Therefore, in this research, we rely on their methods to make improvements to the problem raised above.
As mentioned in the introduction section, the main goal of a client is to reach the highest quality of experience (QoE) [29].Therefore, the fluctuation of video streaming in unstable network condition, which may negatively affect the user's QoE.Thus, the experiments in [30] consider two-second segments to overcome being sluggish to bandwidth variations.Moreover, considering small segment duration does not reflect how this method prevents buffer under-run in the case of large segment durations such as ten seconds and large bandwidth variations [27].
Using entropy to characterize per-application network traffic, Petkov et al. [31] estimated the entropy of difference streaming scenarios and divided them into categories of entropy measurement from the lowest to the highest.The entropy rate of a sequence is a measure of how predictable a sequence is based on past observations.Invariant streaming sequences probably have entropy rates equal to zero.Meanwhile, an independent sequence of streaming has an entropy rate with a value one as an example of coin tossing.On the basis of the above logic, they observed the past sequence of these streaming sequences and deducted new information of the outcome in the next streaming sequence.

Problem Statement and Background
Ultra High Definition TV [32] will become a standard of broadcasting and the internet streaming in the next few decades as we have a constantly growing number of subscribers as well as providers.It requires an internet speed of 25 Mbps or higher with compatible hardware.As a 4K video content provider, YouTube's 4K uses the VP9 compression codec instead of the commonly-used HEVC (High Efficiency Video Coding or H.265) [33] codec, which supports the platform and serves up high-quality.Even though, a user satisfies all the requirements of Ultra HD.It still suffers from the inherent network bandwidth fluctuation as internet users frequently join and leave an Internet Service Provider (ISP).In addition, a mobile user hardly watches the 4K contents because most of the mobile devices do not support 4K display.Thus, we must reduce the video resolution to capable video rates, which suit users' current network states and users' hardware configurations.
The above description is the principle of ABS.It is an approach of distributing multimedia content from a server to a client, an end-user.The approach is HTTP-based, which uses HTTP as the transmitting protocol to deliver the content over the networks.Thus, it receives many benefits from the HTTP-based technology such as packets that can traverse firewalls without having many difficulties in a Network Associate Translation (NAT).In addition, a server and a client do not require a persistent connection between them, and the server does not need to retain session information on the client.
If network bandwidth frequently fluctuates, the current implementation of the adaptive streaming at a client can handle such bandwidth fluctuation by setting the interval time between segment requests from a client.However, the method sometimes cannot choose representations appropriately.For example, in Figure 1, after a client requests a segment with a high-quality representation at t 1 , bandwidth dramatically drops down to a very low bandwidth at t 2 .Thus, the downloading duration of the segment t h gets long.In contrast, after the client requests a segment with a low-quality representation, bandwidth spontaneously increases to a high value.Hence, the downloading duration of the segment t l gets short.We realize that if a client can estimate the average of network bandwidth, then the request segment is in the medium bitrate.More specifically, in the high streaming video, such as 4K, we have a huge gap between two adjacent high-quality video representations.For example, the pixels per image of the video mode 2160p (4K) is twice the pixels per image of the video mode 2000p.Hence, the bandwidth requirement to stream the 4K video is multiple times of the division between the two rates, and twice in the example.Therefore, in this paper, we focus on maximizing the use of network bandwidth by reducing video resolution fluctuation, and we also investigate in order to infer the next optimal representations based on network past states.

Mathematics Modeling and Proposed Algorithm
Before modeling the problem of bandwidth fluctuations, we introduce two mathematic techniques.First, we use a moving average [34] to average bandwidth and buffer values of a client over a period.Secondly, we use fuzzy logic [35][36][37][38] to infer whether bandwidth increases or decreases compared to the current value.We then propose a fuzzy system to anticipate the next optimal representation for a client.
In network communication, we must consider many parameters, such as throughput, end-to-end delay, to ensure the stability of the network since the network is susceptible to fluctuations.Thus, we need to analyze these parameters.For example, within a certain amount of time, we collect a set of the parameters, such as throughput and a number of transmitted packages, in order to analyze data trend.On the basis of the trend, this analysis can predict the network conditions in advance.In this research, we use the moving average technique to analyze the series of bandwidth values because the method can reduce the fluctuations of data and emphasize the data trend as shown in Figure 2. It works by creating the series of average points of a data set.More specifically, it first averages the initial data set to get the first element.It then calculates the next element based on the last averaged data.The process continuously repeats over the time until we terminate the calculation.Several forms of the moving average are the simple average, and cumulative average, or weighted average forms.In this paper, we combine the cumulative moving average with a fuzzy logic method, which is described in the following.In mathematics, fuzzy sets [37] are sets whose elements have degrees of membership.In the application of the theory, fuzzy logic is a form of logic values that has the true values of variables are a real number between 0 and 1.The variables are managed by particular membership functions that are defined by experts or users.We employ the fuzzy to handle the concept of partial truth, where the truth value may range between completely true and completely false.In user-defined membership functions, each function has a range of value instead of a defined value.Fuzzy logic has been applied to many fields, from control theory to artificial intelligence.
The fuzzy system has three main calculation processes.First, we form the real input values of the system.We refer this process as Fuzzification.Then, we use user's or expert's experiential knowledge as if and then rules to calculate the output.We refer this process as Fuzzy Inference.Finally, the system defuses the input values to obtain the output system, which is the decision of the response segment, and this process is also known as Defuzzification.Figure 3 depicts the detail of the system.
In this research, we use the Mamdani fuzzy model [39].A triangular fuzzy number represents a fuzzy linguistic value.It is triangle-shaped and can be viewed as a probability distribution.Suppose that we have three points q = (q 1 , q 2 , q 3 ), q 1 ≤ q 2 ≤ q 3 ; then, q is a triangular fuzzy number with membership function µ q (x) ∈ [0, 1] as shown in Equation (1).

Fuzzification
In the adaptive streaming, we consider two important factors at a client: (1) bandwidth estimation; (2) buffer level.The quality of a video streaming reflects the quality of the network as presented by the bandwidth and the buffer level.For example, at a given time t, the bandwidth measurement of the client is b t .A video has three resolution options for streaming, such as high, medium and low-resolution streaming, and their bandwidth requirements are b h , b m , b l , respectively.Apparently, if b t > b h and the buffer level is significantly high, then the client can retrieve the high resolution streaming and increase the buffer level.
Given buffer values at n different times v 0 , v 1 , v 2 , . . ., v n , bandwidth values at those respective times are b 0 , b 1 , b 2 , . . ., b n , and responses' representations are r 0 , r 1 , r 2 , . . ., r n .After getting values at n + 1, we calculate the bandwidth average W n+1 , the buffer average V n+1 , and the response representation average R n+1 by Equations ( 2)-(4): In the fuzzy logic modeling, we define seven linguistic sets as the following: (1) Negative High Difference-NHD; (2) Negative Medium Difference-NMD; (3) Negative Low Difference-NLD; (4) Difference-D; (5) Positive Low Difference-PLD; (6) Positive Medium Difference-PMD; (7) Positive High Difference-PHD.We might have more or less than the seven linguistics.It represents human perception based on each particular circumstance evaluation.In our research, we define the fuzzy center set (difference) and three fuzzy sets which are symmetrical on both sides of increasing and decreasing order of the center set.Throughout experience with video streaming, we recognized that the seven linguistics are enough to describe network state.To specify the degree of difference, we compare between average values and original values (measurement values) in a period.We then normalize those values to form input values of the fuzzy system.
Our logical base is network change status, such as bandwidth, fluctuates around average values of the network, which may be higher or smaller as shown in Figure 4. Network changes in the near past affect changes at some points in the future.On the basis of those changes, we can predict the next network metric values at a predetermined time.In addition, the trace-back is based on the logic that the current state of an event, which relates to its previous states, or previous states of a network cause the occurrence of an event.We measure bandwidth, buffer level, and video quality representation each time a client makes a request to get a DASH segment from a server.We call each measurement a step.Suppose that we trace back within k steps (k ∈ N + ) from the current states of a network at n.We compare a subtraction between the moving average and original bandwidth/buffer value at the present time with the previous subtractions.We then summarize these quotients to form fuzzy input values.For example, we compare a subtraction at n with subtractions at {n − 1, n − 2, ... n − k}.The sum results in a rate that can be greater or less than one.Therefore, we normalize the quotients by comparing with the maximum different bandwidth/buffer.We obtain the result in a range between minus one and one.We define the degree of difference in Equations ( 5) and (6). Figure 5 depicts the triangular membership function of the linguistic values.We form the membership functions based on the calculated results from Equations ( 5) and ( 6):

Fuzzy Inference
The fuzzy system has two input parameters that are bandwidth measurements and buffer values within k steps of a client.The output is a video quality representation, which aims to reduce video quality fluctuations and optimizes bandwidth utilization.In the system, we have total forty-nine rules to infer output from given inputs as shown in Table 1, where Bandwidth/Buffer represents fuzzy bandwidth and buffer numbers.As introduced in the fuzzy logic above, the inference rules are the expert knowledge or user experience.At the point of view of our experience at different video streaming scenarios, we use the experience to judge output inference based on input values.For example, we basically think that if network bandwidth is 50 Mbps, so that the network is adequate to have 4K video streaming.In more detail, if the bandwidth is Positive High Difference (PHD) and the buffer level is Positive Low Difference (PLD), then the response segment is Positive Medium Difference (PMD), or a client requests by "positively medium different", increasing a video resolution streaming compared to the previous values.More specifically, PHD means the bandwidth/buffer at present highly increases when we compare the increasing amount with the previous values.On the contrary, NHD means the bandwidth/buffer at the moment dramatically decreases compared to the decreasing amount of the previous values.

Fuzzy Defuzzification
In the above fuzzification process, we formed an input parameter by comparing the present difference value with the previous difference values within k steps.Therefore, the defuzzification process must inverse the input formulations.Suppose that d r is a fuzzy output of the system at present.It can receive value from the set of the linguistic value PHD, PMD, PLD, D, NLD, NMD, and NHD. Figure 6 depicts output membership functions of the proposed system.In the defuzzification process, the fuzzy output is calculated by the max-min inference method which is formed as Equation ( 7): where µ B , µ V are membership functions of bandwidth and buffer level, respectively, and i, j ∈ {1, ..., 49}, (i, j ∈ N + ).We express the formulation as the following.We firstly calculate the minimum for both input values for each rule.We then maximize a total of forty-nine results and use a centroid triangle method to get output from the fuzzy system.Figure 7 depicts the correlation between input and output of the fuzzy system.It displays an increasing gradually from left to right.r n+1 is a real representation output after the defuzzification process.We calculate the representation by Equation ( 8), where R n+1 is calculated by Equation ( 4).In Equation ( 8), µ O might greater or less than zero.Figure 8 depicts the above described defuzzification process: A list of representations is integers, but Equation ( 8) results in a real number.Thus, in the system implementation, we will take the value of a resolution that has a video width that is the nearest and smaller than the result of Equation (8).
Given a stochastic process X = (X 1 , X 2 , ..., X n ), where X i , (i, n ∈ R) are discrete values in a domain D. Its entropy rate H(X) [40] is defined as: where H(X 1 , X 2 , ... X n ) is the entropy of random variables set, the limit exists, and X = X 1 , X 2 , ..., X n with joint probability P(X 1 , X 2 , ..., X n ).It can be described as: We use two Equations ( 9) and ( 10) to show that our proposed method leads to a lower entropy rate compared to other methods.In this research, we determine the parameter k so that it reduces the entropy rate, which describes as fluctuation values, such as bandwidth, representations, and buffer.Increasing k means that we reduce the variation of values and vice versa, and we make the average value that accurately depicts the trend of value change by reducing k.As mentioned in the last paragraph of Section 2, entropy rate of an invariant sequence has zero value.Therefore, we capture the changing trend of the network state by using moving average for entropy rate of a sequence because the entropy rate sometimes approaches zero as a result of a stable network.Then, we use this average entropy rate to control trace-back step with the above-mentioned reasoning for parameter k.
In conclusion of this section, we summarize the proposed method by an Algorithm 1 named the fuzzy moving DASH algorithm (FMDASH) as the following:

Experimentation and Evaluation
In this paper, we only focus the research on a mobile client.We implemented all the traffic measurements and calculations on the client.As addressed in Section 1, the proposed system is the DASH-based streaming system.The client detects bandwidth and CPU capacity in real time and accordingly adjusts the quality of a video stream along with bandwidth variations.In the experiment, we set up a system that has four components-first, a playback mobile client on Android-LibDash-based [41] where we implemented our proposed algorithm.Second, FFmpeg software [42] is used to encode a video source file into different video qualities.Third, MP4Box software [43] is to divide the encoded files into small segments and create a manifest file that links to the segment files.Fourth, a Node.jsserver stores uploaded files from a user.The server is responsible for executing the two software programs and providing video streaming for mobile clients.
We ran the implemented network system in two scenarios.First, we connect the Android mobile with a WiFi 5G to have a video streaming with the server.We then moved away and moved closer to the WiFi to have a bandwidth fluctuation.Second, the Android mobile has subscribed to 4G service in South Korea.We also moved the mobile around urban areas and remote areas for having bandwidth changes.In the MPD file, we encoded a source video with different video bitrates as follows: (video-frame-width video-frame-height birate (bps)): (80, 144, 196214), (134, 240, 295335), (202, 360, 394255), (270, 480, 493965), (404, 720, 1478490), (606, 1080, 2934159), and (810, 1440, 5843682).We set trace-back step is a natural random number in experiment comparisons.
First, we compared the proposed method with a method without fuzzy logic, CrystalBall [18].In Figure 9, the blue line depicts buffer length of the proposed method while playing back video streaming.The buffer length values of the proposed method are higher than the red line, which is the statistic buffer level of the compared method.The red line reaches the zero value several times, which is more than the blue line.Thus, the compared method increased playing back the duration of the video streaming because the buffer level is depleted.Hence, the play back duration of our proposed method is shorter than the compared method.In addition, Figure 10 shows a variation of video representations in the experiment.The variation of our method does not vary much compared to the nonlinear method, which has streaming resolutions jumping from the maximum resolution (1440p) to the minimum resolution (144p) frequently.On the one hand, such frequent change in the resolution disturbs users because they can distinctly recognize the difference.On the other hand, reducing such change improves the stable of streaming and decreases the stream stalling, as the streaming time of our method is shorter than the nonlinear method.In addition, we also compared our approach with another fuzzy-based method, FDASH (Fuzzy-Based MPEG/DASH Adaptation Algorithm) [8,44].We re-used their simulation on NS3 and also implemented our proposal method on the source code.As a result, our proposed method reduced the variations of video frame width in Figure 11 and variation of video frame height in Figure 12.In addition, for simplicity, we define bandwidth utilization as a product between width and height of a video.The product represents a number of downloaded bits of a video streaming session.As a result, we got the utilization of our proposed method higher than the compared method at about 40%, though the buffer level of both the compared and proposed method is not much different, as shown in Figure 13.FDASH buffer variation is similar to our proposed method buffer variation as well as time for using a buffer because both methods employ the fuzzy logic to control the network uncertainty such as network fluctuation.Finally, we used the above entropy Equations ( 9) and ( 10) to calculate the randomness of the sequence of the measurement values, and we got the results as shown in Table 2. Our proposed method (FMDASH) has a lower entropy rate at the buffer values and the fluctuation of segment response than the nonlinear method and FDASH.Apparently, our approach entropy rate on the left and right sides of Table 2 are different since we tested in two scenarios, which are real network tests to compare with nonlinear and NS3 test to compare with FDASH.Recall that lower rate of entropy indicates the stable of sequence.Thus, our method not only improves bandwidth utilization but also archives stable streaming than the nonlinear method.The important factor in our approach is the look of network changes in the near past.The factor is the parameter k.If k is large, we refer to the long-term past.Therefore, the reference does not adapt to network fluctuation in the short term.In contrast, if k is small, we only rely on small network changes to infer the next state of the network.Therefore, the choice of the parameter k is an important determinant of the method effectiveness.More specifically, we tested the k parameter with different values in the two mentioned scenarios without using entropy rates that control the length of trace-back step.Regardless of entropy rate, we got different results with different input trace-back values in the experiment as shown in Figure 14.In addition, we achieved k = 6 in the experiment using an entropy rate without considering the choice the initial trace-back step.Therefore, we concluded that the trace-back step equals k = 6 in our experimental scenarios and is the optimal value to reduce the frequent change of the network while enhancing the video quality compared to other values.

Conclusions
In this paper, we presented the fuzzy-based adaptive streaming method to reduce the mobile video quality fluctuations in DASH by minimizing the fluctuation entropy rate.We exploited two mathematics techniques, such as moving average and fuzzy logic.First, we found the average of previous fluctuation points by using the moving average calculation.Second, we trace-backed at certain steps of the last variation points to infer the degree of current network fluctuation.We then inferred the following representation request for a client.The experiment results showed that our proposal lowered the fluctuation of video quality, and improved bandwidth utilization by about 40% compared to existing methods.
The following points summarize our contributions in this research:

•
We proposed an adaptive algorithm in DASH for mobile devices.

•
Our algorithm reduced video quality fluctuations and improved network utilization compared to existing methods in DASH.
For future work, we intend to combine the proposed method with video compression techniques, such as H.264, to reduce the amount of transmitted and received bits between receivers and senders over the internet.We also plan to research the initial season of DASH cooperating with the proposed method.Furthermore, the question of choosing trace-back steps has not thoroughly been answered yet in this research.Therefore, we will put our effort towards employing mathematics optimization methods in order to find the optimal step for each network condition.

Figure 1 .
Figure 1.Change of bitrates over bandwidth fluctuation.

Figure 2 .
Figure 2. Moving average and time series data trend.

Figure 3 .
Figure 3. Overview of the proposed fuzzy system.

Figure 4 .
Figure 4. Base idea of estimating network change state.

Figure 7 .Figure 8 .
Figure 7. Correlation graph between input and output of the fuzzy system.

Figure 14 .
Figure 14.Simulation with different numbers of trace-back steps.

Table 1 .
System fuzzy inference rules.