On the Interactions Between Layered Quality Adaptation And Congestion Control for Streaming Video Mick Feamster, Deepak Bansal, and Hari Balakrishnan MIT Laboratory of Computer Science published in 11 th International Packet Video Workshop, Kyongju, Korea, April 2001.
This paper presents: 1. mechanisms for smoother playout of layers with a class of non-AIMD CC algorithms 2. rules for “quality adaptation” for simulcast, hierarchical encoding and optimistic adaptation algorithm 3. a mechanism for performing “quality adaptation” in combination with non-AIMD CC algorithms
Background Knowledge: Binomial Congestion Control - generalize TCP’s increase/decrease rules using the following equations I: W t+R W t + / W t k ; > 0 D: W t+ t W t - W t l ; 0 < < 1 where k, l are the parameters of binomial controls; W t is the instantaneous window value, which governs the transmission rate
Note that Note that, - for k= 0, l=1, we get AIMD used by TCP (along with = 1 and = 0.5) - for k=-1, l=1, we get MIMD used by Slow-Start in TCP (along with = 1 and = 0.5) - for k=-1, l=0, we get MIAD - for k= 0, l=0, we get AIAD - for a binomial congestion control algorithm to TCP-friendly be TCP-friendly, k + l = 1 - one member of the TCP-friendly family is SQRT SQRT (k = l = 0.5)
- SQRT seems to be attractive for streaming media delivery due to its smaller magnitude of oscillations - In SQRT, the reduction in tx rate is proportional to W, whereas in AIMD the reduction is proportional to W. W t+R = W t + ( ) / W t k W t+R - W t = RTT RTT * W t k d W = dt W t k * RTT
Quality Adaptation 1. Instantaneous Adaptation - simply send video at the highest possible layer that can be sent at any given time - too optimistic - disadv: the magnitude and frequency of oscillations in the congestion control algorithm will govern the perceived quality of video at the receiver
2. Simulcast - server encodes the bit-stream at various target bit rates and switches between the previously encoded layers as the available BW changes - (for simplicity) assume a constant rate spacing between successive layers and assume also that no buffering available to alleviate backoff and the resulting drop in the tx rate - the transmission should be switched to a higher layer only if the higher layer can be sustained after an immediate backoff
- thus, for a TCP-friendly binomial control, the video quality that should be sent should be the highest encoding available such that BR < R - R l where, BR: the bit rate at which the video stream is encoded R : the instantaneous transmission rate - for TCP-style AIMD where l = 1 and = 0.5, BR < R/2 - for SQRT where l = 2 BR < R - R
3. Hierarchical Encoding - Recall that, with RAP and hierarchical encoding, figure 2 shows the optimal interlayer buffer allocation and the total buffering required to survive one backoff (suppose that smoothing factor = 1) - with binomial congestion control algorithm, the same idea can be applied. We will start with the conditions for adding a new layer. The following two conditions should hold: R > (n a + 1)C i=0 to na-1 buf i >= A where A is the shaded area in figure 3
t1t1 t2t2
- assuming that we have layers available at all encoding (i.e., continuity assumption), it follows that n a +1 corresponds to the encoding of the video data at the mean rate of transmission. Therefore, AIMD: (n a +1) C = [ R + ( R/2 ) ] / 2 = 3R/4 SQRT: (n a +1) C = [ R + ( R - R) ] / 2 = R – ( / 2) R
- substitute the estimated value of (na+1) C into (3), we get the following in-equations: - thus, the buffer required for adding a layer with SQRT is significantly lower than the one when AIMD is employed
Results: - “Binomial Congestion Control” can provide regardless of the benefits over AIMD, regardless of the quality adaptation mechanism used quality adaptation mechanism used by reducing the degree of oscillation in the video server’s sending rate - “Binomial Congestion Control” can provide when used with buffered significant benefits when used with buffered quality adaptation of hierarchically encoded video video by reducing the amount of required buffering at the receiver in order to playout at a given layer