Page 215 - ITU Kaleidoscope 2016
P. 215
ICTs for a Sustainable World
4.2 Buffer Switching Rate (BSR) Adaptation Algorithm 20. else
21. l n+1 = r cur // Maintain current level
Buffer based switching algorithm [8] considers the current 22. Set d=0
buffer occupancy level and number of segments of video to 23. Repeat the above steps until streaming terminates
provide the best possible quality of streamed video to the
client. The harmonic mean is computed to measure the
throughput for the entire video session and to avoid 4.3 Heuristic Decision based Rate Adaptation (HDR)
instantaneous variation of throughputs. Weights (s 1, s 2, s 3..) Algorithm
are assigned proportional to their segment sizes (t 1, t 2, t3..) to
compute the weighted harmonic mean, which is expressed Sample data set contains input variables being mapped to the
as, set of membership functions using a fuzzy heuristic logic.
= ∑ =1 The fuzzification technique involves the conversion of crisp
(9)
value to continuous fuzzy value. The HDR algorithm is
∑ =1 based on the decision of the heuristic control system which
The different types of resolutions depicting various qualities in turn is based on the if-then rules [7].
of video r 1, r 2, r 3… r cur, … where r cur denotes the current The difference in arrival time of the packets is classified as
resolution, are the input to the playout buffer. The buffer is short (S), near (N) and extended (E) that describes the
associated with three thresholds E 1, E 2 and E 3 as shown in remoteness of the current buffering time from target
Fig. 4. buffering time T. This heuristic based rate adaptive decisions
is used to avoid buffer underflow and also retain the
0 E 1 E 2 Cur E 3 E max
difference between current and previous resolution quality to
zero in order to avoid frequent variations .The buffering time
is the difference between the time at which the packet is
Figure 4. Buffer occupancy level received and time at which it is played. The difference
between the subsequent buffering times is classified as
degrading (F), stable (S) and increasing (I). The rules
BSR Algorithm corresponding to Decrease (D), Short Decrease (SD), Steady
Input: Segment information, Current buffer occupancy level (S), Sort Advance (SA), and Advance (A) are as follows:
Cur, Weighted Harmonic mean download rate H n
Output: The next predicted bit rate l n+1 (r 1): if (small) and (decreasing) then D
1. Read the current buffer occupancy level Cur for n th (r 2): if (near) and (decreasing) then SD
segment while streaming (r 3): if (extended) and (decreasing) then S
2. If (Cur ≤ E 1) //Speedy start phase (r 4): if (small) and (stable) then SD
3. l n+1 = r1 //Choose lowest quality (r 5): if (near) and (stable) then S
4. else (r 6): if (extended) and (stable) then SA
cur (r 7): if (small) and (increasing) then S
s
5. if n +1 > cur – E 1
H n (r 8): if (near) and (increasing) then SA
(r 9): if (extended) and (increasing) then A
6. l n +1 = max >0 , + s n 1 ≤cur −
r cur H n E 1
7. Set d = 0 //immediate download These are five decision conditions which are sent to the
8. else if (Cur ≤ E 2) // progressive increase phase server to make appropriate adjustment in parameters of the
video being streamed. Finally, the centroid method is used
9. if s n 1+ < cur − for de-fuzzification i.e., to map the arrival and buffering
H n E 2
times in terms of a single parameter h given by [7]
10. l n+1 = r cur +1 //Increment resolution in steps
11. else 2 ∗ + 1 ∗ + ∗ + 1 ∗ + 2 ∗
12. l n+1 = r cur // Maintain current level ℎ= + + + + (10)
13. Set d=0
14. else if (Cur ≤ E 3 ) // Rapid Shift Phase where N 2 , N 1, Z, P 1, P 2 are the membership values defined
as in Table 2 [7] and A, SA, S, SD, and D are formulated in
terms of rules (r 1 - r 9) given by
15. l n +1 = max > , + s n 1 ≤cur −
r cur E 2 H n E 2 2
= (11)
9
16. Set d=cur-E 2 = + (12)
2
2
17. elseif (Cur>E 3) // Delayed download 6 8
2
2
2
= + + (13)
3 5 7
18. l n +1 = max > , + s 1 ≤cur − 2 2
rcur E 3 H n E 2 = + (14)
4
2
2
19. Set d = cur - E 2 = (15)
1
– 197 –