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 –
   210   211   212   213   214   215   216   217   218   219   220