• Tidak ada hasil yang ditemukan

6.2 Video Quality Adaptation Unit (VQAU)

6.2.4 Smoothing Controller (SC)

6.2 Video Quality Adaptation Unit (VQAU)

Smoothing Controller

(SC)

<l0, l1, …, lN-1>

q(t) <sgi, L(sgi)>

S b(t)^ qs

Initialize LOOK-UP TABLE

& Set K = 1

+ qs-

LOOK-UP TABLE Segment

Index (sgi) Enhancement Level (L(sgi)) K=1

K=2 K=P

Apply Streamlined Enhancement-level

Smoother (SES)

Update LOOK-UP TABLE

IS LOOK-UP TABLE(K)

Empty?

Generate Output

<sgi, L(sgi)> from LOOK-UP TABLE(K) Wait until the download

of sgi at L(sgi) K = K + 1

Recompute time resource

T = q(t) – qs

NO

YES

-

Figure 6.7: Smoothing Controller.

enhancement level (L(sgi)≤Lmax) for which the obtained QoE is highest. That is,

L(sgi) = {lij|max

j (QoEij)} (6.2)

Thus, DC produces the final output as hsgi, L(sgi)i.

segment is encoded and stored at various enhancement levels in the server. In SVC-DASH, a segment at the kth enhancement level consists of the data corre- sponding to levelk−1 along with additional data which enables the enhancement in encoding quality to the higher level k. Thus, for an enhancement level upgra- dation from levelk tok+l (say), SVC-DASH necessitates download of only the incremental data for the desired enhancement by l levels. This is unlikeMPEG- DASH where such reuse of previously downloaded data is not possible during en- coding quality upgradation. This results in bandwidth wastage not only because previously downloaded data for the segment becomes invalid, but also because the upgradation requires far heavier downloads compared to SVC-DASH.

Obviously, smoothing is conducted on a windowW ofP consecutive segments in the buffer (which are yet to be played) such that the minimum segment ID (say, x) in W is greater than ηs. Here, ηs is a threshold which is necessary to guarantee a minimum safety interval to ensure that the xth segment will never reach its playout instant while it is still in the process of being enhanced. It may be observed from Figure 6.2 that smoothing is enabled whenever size of the buffer q(t) becomes qs+ and is continued until buffer size reduces below qs. Therefore, T =qs+−qs is the total time for which SC can conduct smoothing over the P segments in windowW. When the smoothing phase begins, each segment sgi in W is at its initially downloaded enhancement levelci.

Let tij be the time required (at the currently estimated available bandwidth) to enhancesgi to level j from its initial levelci. The time tij = 0, in case,j =ci. A binary variable xij is equal to 1 (xij = 1) if the ith segment is selected to be smoothed to level j. The objective of smoothing is to maximize the overall QoE by appropriately upgrading the segments in W such that the expression:

P

∀i∈W

P

∀j≥ciQoEijs xij, is maximized, where, QoEijs represents the QoE com- ponent corresponding to the smoothing of sgi to level j. Here, QoEijs is defined as a linear combination of two components: (i) the encoding quality (measured in terms ofPSNR) corresponding to the playback ofsgiat thejthenhancement level (Qij) and (ii) resulting switch in encoding quality with respect to the immediate

6.2 Video Quality Adaptation Unit (VQAU)

predecessor and successor ofsgi (|q−p|+|p−r|;p, qand rdenote the smoothed enhancement levels for sgi−1, sgi and sgi+1). Thus,

QoEijs =Qij −β(|q−p|+|p−r|) (6.3) where, β is a switching penalty factor.

We then formulate the segment smoothing problem as:

Maximize

P

X

i=1 N−1

X

j=ci

Qij xij

β

N−1

X

j1=ci

Qij1 xij1

N−1

X

j1=ci−1

Q(i−1)j1 x(i−1)j1

+

N−1

X

j1=ci

Qij1 xij1

N−1

X

j1=ci+1

Q(i+1)j1 x(i+1)j1

(6.4a)

Subject to

P

X

i=1 N−1

X

j=ci

tij xij ≤T, (6.4b)

N−1

X

j=ci

xij = 1, xij ∈ {0,1},∀i (6.4c)

The first constraint given in Equation 6.4b guarantees that the total smoothing time over all segments inW is at most the available timeT. The second constraint given in Equation 6.4c ensures that exactly one enhancement level is selected for any segment.

SC dynamically smooths the segments inW by essentially solving the above Constraint Satisfaction Problem (CSP) in equation 6.4 whenever the value of S flips from 0 to 1. A closer look reveals that an optimal solution to the smooth- ing problem of selecting appropriate upgradation levels of the segments may be obtained as a composition of the optimal solutions to a set of its sub-problems and therefore, DP provides a natural solution mechanism. A step-by-step algo- rithm along with discussion of DP is given in section 4.2.2, Algorithm 6, page no. 96 in previous chapter. TheDP based optimization procedure corresponding

to the definition in equation 6.4 can be represented by the following recursive formulation:

QoE(i, τ) =

0, ifi= 0 orτ = 0

maxj{QoE(i1, τ),

QoEijs +QoE(i1, τtij)}, ∀j ∈ {ci, N1}|τ til

(6.5)

It may be noted that, in the above recursive formulation, τ may take any value within the continuous range 0 toT, i.e., 0≤τ ≤T. Given such continuous parameters (for example, time interval (0,T) in our case),DPtypically proceeds by dividing such continuous intervals by a constant (say,tick of given resolution) and thus, effectively partitions the interval on a discrete scale. Thus, the number of distinct values thatτ can assume is given by: T0 =T /tick. It may be noted that bigger the value of the constant tick, lower becomes the partitioning resolution and this results in a degradation of the solution quality.

The computational complexity ofDPisO(P×N×T0) where,P is the number of segments,N is the total the number of enhancement levels available andT0 is the total number of time steps. This complexity indicates that run-time of DP based solution quickly increase as the value of tick is reduced. In fact, overhead of the DPstrategy proves to be quite expensive even for moderate values oftick.

For example, in a system with number of segments in the smoothing window P = 10, smoothing time T = 10 secs and tick = 0.001 secs, the value of T0 becomes 10000. Our experimental analysis shows that, given segment sizes of 2 secs duration and N = 10 enhancement levels,DP takes ∼167 ms to generate a solution on a 2.5 GHz computing core. It is easy to understand that this overhead is significantly high as it wastes time which could have been utilize to conduct further smoothing.

An important observation in the optimization problem under consideration is that it is inherently discrete in nature. Thus, we do not obtain continuous improvements in aggregateQoEfor each additional tick considered in the partial solution. Rather, for any given value of i in equation 6.5, the improvement in aggregate QoE has a step-wise nature as τ is increased from 0 to T0. Moreover,

6.3 MDP Based Video Adaptation: Problem Formulation

the number of such steps (reflecting QoE improvements) is << T0 and this is essentially because P

iN −ci << T0. Consequently, a majority of the partial optimal solutions QoE(i, τ) do not return distinct values. Hence generic DP, which memoizes all partial solutions for each distinct value of i and τ (in equa- tion 6.5) may suffer from high and unnecessary computational overheads. This overhead may be reduced (often drastically) through a more efficient implementa- tion which memoizes only those partial optimal solutions which provide distinct enhancements inQoE with increment in the bound on timeτ, for each value ofi.

Further, it may be observed that this reduced memoization do not cause solution optimality to be compromised. Here, we propose an efficient and optimal solution strategy called Streamlined Enhancement-level Smoother (SES). A step-by-step description of streamlined dynamic programming along with its description is pre- sented in section 5.2.3.3, algorithms 8 and 9, page no. 122 of the previous chapter.

6.3 MDP Based Video Adaptation: Problem