2. Conventional Smooth Algorithm
2.2 Rate Constrained Smoothing Algorithm
− . The generated transmission schedule is identified as a series of CBR transmission segments, each ending with a change in transmission rate.
2.2 Rate Constrained Smoothing Algorithm
Now, we consider the rate constrained smoothing algorithm. In this case, the max transmission rate of the network link between server and client is constrained to be under r. Thus, the client buffer have to be large enough to store the data which is transmitted ahead to prevent the playback discontinuously, and the playback startup delay has to be long enough to confirm that the server can transmitted enough data ahead for the first peak of the video data with a rate that is lower than r. See Fig. 6 as an example of a feasible rate constrained transmission schedule. The minimum buffer requirement is the greatest distance between the transmission schedule and the consumed data, L(k). The server has to transmit enough data before the client starts to play the video to prevent the total transmitted data may be below L(k) in the future, and the rate for this duration has to be also lower than r. Thus the startup delay has to
Figure 6: An example of feasible rate constrained transmission schedule. The slopes of each segment have to be under r, and the cumulative transmission data have to be greater than the L(k). There exist on minimum buffer requirement and one minimum startup delay for each feasible transmission schedule, and the two parameters will be determined after the schedule is generated.
Under this constraint, a feasible transmission schedule must satisfy the following two terms:
2.2.1 Rate Constrained Bandwidth Smoothing (RCBS)
RCBS, a rate constrained smoothing algorithm, is to find a transmission schedule, which transmits data as late as possible to reduce the requirement of client buffer, and also obey the rate constraint r simultaneously. After a feasible transmission schedule is computed, a corresponding group of minimum startup delay and minimum client buffer requirement is determined.
The procedure of RCBS is simple. The concept of this algorithm is that when the amount of data which must be transmitted at ith frame slot is greater than r, the server can only transmits in rate of r at ith frame slot, and the remainder data that can’t be transmitted at this frame slot have to be transmitted at the earlier frame slot for preventing client buffer underflowing. Therefore, the amount of data, which has to be transmitted at i-1th frame slot, becomes the data of i-1th frame plus the remainder data of ith frame slot. The transmission schedule is as following:
+ > have to be transmitted at i+1th frame slot originally, but the server cannot transmit these data at i+1th frame slot because of the rate constraint. Therefore ai +remi represents the data have to be transmitted at ith frame slot. If ai +remi is greater than r, it means that the data, which have to be transmitted before ith frame slot, is great
equals to ai +remi −si.
The Procedure of RCBS
The initial setting of RCBS is that i equals to N, the latest frame number, and the initial remi equals to 0, it also means that rem equals to 0. Then, according to N equation 2-10, s equals to N a and N remN−1 equals to 0 if aN +remN is smaller than r. On the other hand, if aN +remN is greater than r, s will be set to r and N
1
remN− will be set to aN +remN −r . Then, the next step is to check if aN−1+remN−1 is greater than r, and determine sN−1 according to equation 2-10. This process will repeat until i reaches 0. Then the total transmission schedule is generated, and the minimum buffer requirement and the minimum start up delay will be determined.
Fig. 7 illustrates this procedure, where the bold line represents L(k), and the fine line is the CBR segment of transmission schedule, of which the slope equals to r. The remainder data at ith frame slot equals to 0, therefore the data have to be transmitted at ith frame slot equals to the data of ith frame. Because the amount of data of ith frame is greater than the constrained rate, the server can only transmit in rate of r at ith frame slot, and the data, which can’t be transmitted at ith frame slot, have to be transmitted at previous frame slot. These remainder data and the data of i-1th frame have to be transmitted together at i-1th frame slot. Then the process checks if the sum of the remainder data and the data of i-1th frame is greater than r. If the sum is smaller than r, the server can transmitted all of these data at this frame slot. Otherwise, like Fig. 7, the server can only transmitted in rate of r at i-1th frame slot, and the remainder data will be transmitted at i-2th frame slot with the data of i-2th frame slot, and repeat the same check process. This process will continuous until the whole video frame is checked.
Time
Cumulative Data
Figure 7: An example of RCBS procedure. The data exceeds the constrained rate is transmitted at the prior frame slot.
After the transmission schedule is determined, the maximum difference between transmission schedule and L(k) is the minimum required client buffer requirement.
That is
And the elongate part in front of the first frame slot is the startup delay, that is
0 t
w rem
= r , (2-12)
where, w means the start up delay, and t rem is the data which have to be 0 transmitted before 0th frame slot. The minimum startup delay equals to the data, which have to be transmitted before the video stars to be play, divide by the constrained rate,