• No results found

General System Analysis

In the previous chapter, the scheduling function was replaced by a policy which simplified our design. Figure 4.1 presents the Framework 1 without the scheduling function. As can be seen, only the dynamics of the two remaining components affect the decision made by the adaptation logic. Next, we discuss the general behaviour each of the two remaining components interacting with the adaptation module.

4.2.1

General Dynamics of Video Chunk Request

A typical system state is determined by two classes of the variable: the controlled and exogenous variable. While a typical system designer has control over the former, this is not the case concerning the latter. Based on this fact, the general dynamics of video rate switch, in HAS, can be succinctly represented by the following system state equation:

˙

x=u(t)±z(t) (4.1) where u(t) is the input to the adaptation controller, which is used as a situational indicator. For example: buffer occupancy as seen Chapter 3 and [14]; throughput in [19, 18]; and power level in [70]. The variable z(t) is the exogenous component of the ABR, that is, the part of the ABR service that a typical content provider has no control over. For instance, in the previous chapter, it is assumed that a content provider does not influence any factor that affects the user experience except the video rate. While ˙x represents the evolution of the system, e.g. the rate at which buffer change with respect to time [24] or the rate of video bitrate change with respect to buffer occupancy.

4.2.2

General Dynamics of User Experience

The primary objective of a typical ABR scheme designer is to ensure a high level of QoE, which is defined as ‘the degree of delight or annoyance of the user of an application or service. It results from the fulfilment of his or her expectations with respect to the utility and/or enjoyment of the application or service in the light of the user’s personality and current state’ [139]. The following definition can be modelled thus:

˙

Where DI is the delight index that tracks the degree of user satisfaction with the system. AI is the annoyance index at any given timetafter the streaming has started, which represents the cumulative annoyance a user suffers while streaming. Andλ is a constant that captures the level of user’s tolerance to a degradation in the video quality. This depends on ‘user’s personality and current state’1.

The minimum level of satisfaction that guarantees a user does not abandon a streaming session can easily be found by equating Equation 4.2 to zero. The solution tells us that provided DI(t) > λAI(t) a user will continue streaming and may only abandon the session for any other reason but poor quality. Since the video quality perceived by a user does not always equate to the video rate, in this chapter and beyond, a distinction would be made between thevideo quality, which is used to refer to the user perceived video fidelity and the video rate, which is the bitrate of the requested chunk. Many factors are known to have an impact on the QoE, in this chapter we restrict ourselves to the following:

1. average video quality [161],

2. video quality fluctuation [142, 162], 3. number of rebuffering events [15].

Apparently, from the above list, only the increase in video quality level improves user delight. Therefore, we define the delight experienced by a user at any given time during a video streaming session to be a function of the video quality, as thus:

Definition 4.1

DI(t) =f(video quality)

However, an increase in any of the remaining three (3) QoE metrics negatively affects the QoE. Primarily, an ABR architect always aims at the absence of rebuffering even though it is not an achievable target. This is because the available network

1The modelling of this constant (λ) requires an advance psychological study that is out of the

capacity can go below what even can sustain the minimum available video rate. Therefore, a more realistic aim should be to avoid any unnecessary video freeze. A rebuffering event is called ‘unnecessary’ when it occurs while the network capacity is greater than at least the minimum video rate.

Policy 3

Rebuf f ing Event= 0

subject to throughput > minimum video rate

If we build a model that guarantees Policy 3, we can be sure that for any re- buffering event that occurs, the annoyance suffered, is unpreventable. Therefore, the annoyance a streaming user suffers that is directly attributable to the system design will come from the video quality fluctuation. Hence,AI(t) can be defined as thus:

Definition 4.2

AI(t) =f(video quality f luctuation)

Simply put, provided Policy 3 is achieved, the system designer is only concerned with video quality fluctuation.

y(t) =R(u(t)) (4.3)

With the existing architecture the adaptation functionR(), which is the video rate selection function that maps input, typically takes the controlled variable as the input of the Equation 4.1, to the outputy(t). The output is generally the video rate of the chunk i+ 16l (see the Definition 3.2). Various methods have been used to realised this function e.g., heuristics [22], control theory [24], and machine learning [122].