Empirical Evaluation of the Shaped Variable Bit Rate Algorithm for Video Transmission

Document Sample
Empirical Evaluation of the Shaped Variable Bit Rate Algorithm for Video Transmission Powered By Docstoc
					                                                                 (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                   Vol. 9, No. 3, March 2011

     Empirical Evaluation of the Shaped Variable Bit Rate Algorithm for
                            Video Transmission
                             A. Suki M. Arif, Suhaidi Hassan, Osman Ghazali, Mohammed M. Kadhum
                                  InterNetWorks Research Group, UUM College of Arts and Sciences,
                                                      Universiti Utara Malaysia,
                                                06010 UUM Sintok, Kedah, Malaysia
                                          {suki1207, suhaidi, osman, kadhum}

Abstract—Due to the surge of media traffic over the existing best-           video coding, it leaves the flexibility to designers to develop
effort Internet, the network congestion condition is projected to            the suitable scheme for specific applications [6]. Thus, any
worsen. Hence, video transmission rate needs to be regulated to              created algorithm can be applied to many video coding
adjust it with the network condition or constraint. Therefore,               standards.
rate control is essential in video transmission for an accepted
visual quality under some certain rate constraint. One of the                   Most of the video applications are employing video rate
novel algorithms for the rate control, which is called Shaped VBR            controllers in the form of either a Variable Bit Rate (VBR) and
(SVBR), was created by Hamdi et al. SVBR is a novel video data               Constant Bit Rate (CBR). The advantage of VBR is that it
rate shaping for a real-time video transmission application. It is a         produces a consistent visual quality, while CBR generates
preventive traffic control which allows VBR coding video traffic             constant data rate for the network interface.
direct into the network, while regulating unpredictable large
bursty traffic by utilizing a leaky bucket algorithm. SVBR                        However, the bursty form of VBR causes grave problems to
algorithm uses prediction in calculating the next Group of                   networks in terms of significant variation of the network traffic,
Picture (GoP) video data size and in determining the next                    jitters and delays. Equally, the problems with CBR
appropriate quantization parameter value. This algorithm has                 implementation are the additional delay due to buffering, and
been utilized by many researchers and implemented in many                    the visual quality tends to vary according to the video content.
network scenarios. However, despite its novel creation for a real-
time, the analytical empirical evaluation in this paper found some
                                                                                 There is an obvious need for an alternative solution by
obvious weaknesses. The weaknesses which are revealed in this                taking advantages of both CBR and VBR. At the same time,
paper are the occurrence of a sudden sharp decrease in the data              the alternative solution should eliminate the weaknesses of the
rate, the occurrence of a sudden bucket overflow, the existence of           both rate controllers. Therefore, an ideal rate controller requires
a low data rate with a low bucket fullness level, and the                    a higher and consistent visual quality video, video data rate is
generation of a cyclical negative fluctuation.                               always within a permissible bandwidth level, and less delay.
                                                                             The delay can happen either because of the introduction of an
    Keywords-component; rate control; shaped VBR; video                      additional buffer or complex computational algorithm.
                                                                                 By that, it is useful to encode the video with an open loop
                                                                             VBR as much as possible, but, at the same time, it needs to
                        I.      INTRODUCTION                                 control traffic admission into the network when the permissible
    Recent years have witnessed an explosive growth of the                   level is exceeded. By doing so, it helps to maintain the
Internet and increasing demand for multimedia information                    consistent visual quality in VBR and get into reasonable
services. Multimedia based applications via the Internet have                compromise with adaptive quality when the network
received tremendous attention. In spite of the growing                       transmission rate degrades. In addition, it avoids unpredictable
networking capabilities of the modern Internet and the                       large bursty rate variations, as in VBR. However, it is done
sophisticated techniques used by today’s video coding,                       without the rigidity and systematic coding delay of CBR coders
transmitting video data over the Internet is still a great                   or intermediate CBR buffer.
challenging task, as stated in [1].                                              SVBR was introduced by Hamdi et al. [11] in 1997. The
    Rate control is always regarded as an essential element of               main idea behind SVBR is to limit the open-loop burst while,
the typical video coding as stated in the following works [2],               at the same time, allowing open-loop VBR coding, provided
[3], [4], [5], [6]. The general rate control is illustrated in Figure        that they are still within a permitted constraint. To achieve this
1. Its main task is to regulate the coded video bits to meet a               objective, SVBR manipulates a leaky bucket algorithm to
suitable target rate. Video coding refers to the process of                  perform admission control. The leaky bucket used in SVBR
reducing the quantity of data used to represent a sequence of                can be considered as an imaginary buffer, thus, no extra delay
video pictures or frames. A number of standards of video                     is introduced. Moreover, Hamdi et al. assumed that for a fast
coding have been defined, such as MPEG-2, H.263, and                         moving scene with complex image structure, the scene quality
MPEG-4. Although a rate control is not always a part of video                can slightly be reduced, since human eyes do not have enough
coding, but it plays a very important role in producing video                time to notice the image details. In addition to that, Hamdi et
data traffic [7], [8], [9], [10]. Since, it is not a fix part of the         al. have suggested applying the algorithm at Group of Picture

                                                                                                         ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                 Vol. 9, No. 3, March 2011

                                                   Figure 1: General rate control architecture

(GoP) granularity, which consequently yields to a less complex               They claimed that their algorithm is based on SVBR
algorithm and lower delay.                                               algorithm with several enhancements. Among the enhancement
                                                                         they made, besides implementing SVBR in Evalvid framework
    In this paper, we discuss our extensive analysis of the              to become Evalvid-RA, they added a supported network
SVBR algorithm performance in identifying its strengths and              feedback systems, and performed some changes in the
weaknesses. The organization of the paper is as follows. We              parameters of the SVBR's leaky-bucket algorithm. Instead of
describe the related works on the SVBR algorithm in next                 using SVBR leaky-bucket equation, as in (1), they
section. Then, in Section III, we comprehensively describe the           reformulated the equation as (2),
SVBR algorithm. In Section IV, we present our experiments
setting in order to evaluate the SVBR algorithm. After that, in
Section V we elaborate and analyze extensively the experiment                      X (k + 1) = min{b, (max{0,X (k) – r} + R(k))}           
results. We summarize our paper in Section VI.
                                                                                  X (k + 1) = min{b’, (max{0,X (k) – r’} + R(k))}          
                   II.   RELATED WORKS
    SVBR can be regarded as an alternative solution that taking              where Rk is video data input, rk is the leak rate, b is the
advantages of both CBR and VBR. At the same time, it                     bucket size and Xk is a level of the bucket fullness after
eliminates the weaknesses of the both rate controllers. Since the        transmitting the data in the time of k. In (2), r’ < r, b’ < b,
introduction of SVBR, it has been utilized by several works.             where r’ and b’ are dynamically adjusted based on network
However, these works are still implemented under the                     feedback.                   r’=roldi/G+rnew(G−i)/G          and
limitations or weaknesses of the SVBR.                                   b’=boldi/G+bnew(G−i)/G. When there is no network feedback
                                                                         during a GOP, r’=rold=rnew and b’=bold=bnew. Here, r' and b' are
                                                                         Evalvid-RA's adaptive leaky bucket rate and bucket size used
A. Evalvid-RA and RA-SVBR
                                                                         during GOP-k, rold and rnew are previous and current network
    One of the recent works is performed by Lie and Klaue, as            update of rate, G is a GOP size, and i is the time index for the
in [12], [13]. They created the Evalvid-RA, a tool-set for rate          network feedback event counted as the position in the active
adaptive video performance evaluation in ns-2. The creation of           GOP of size G frames.
Evalvid-RA builds on modifications to the original software of
Klaue et al. [14] and Ke et al. [15]. The main modification to               What should be stressed here is that although the changes
EvalVid was that the re-assembly post process program had to             made in Evalvid-RA is seemed big, but it still maintained the
take into account that multiple MPEG-4 source files and                  core of SVBR algorithm. By limiting the changes to SVBR
modification to the ns-2 interface, and the associated VBR rate          leaky-bucket parameters, such as r’ < r and b’ < b, all the
controller based on SVBR by Hamdi et al. Thus, the engine of             weaknesses in SVBR are inherited.
the video rate adaptation in the Evalvid-RA is come from
SVBR algorithm.                                                          B. Other Recent SVBR Related Works
    Lie and Klaue claimed that Evalvid-RA is a true rate                     Talaat et al. [16] investigated the effect of incorporating
adaptive video. Their solution has generated a real rate adaptive        TFRC on the peak signal-to-noise ratio PSNR of the
MPEG-4 streaming traffic, using the quantizer parameter for              transmitted video over the Internet in a simulated environment.
adjusting the sending rate. Then, a feedback based on the VBR            They found that TFRC performance on slow motion videos
rate controller is used at simulation time, which supporting             was slightly better than on medium-motion that was better than
TFRC and a proprietary congestion control system named P-                that on high-motion videos. In this work, they actually
AQM. By simulating in ns-2 of TFRC and P-AQM, they                       deployed the Evalvid-RA in their investigation, without
demonstrated that Evalvid-RA capabilities in performing close-           making any changes to the core of SVBR algorithm.
to-true rate adaptive codec operation with low complexity.

                                                                                                      ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                Vol. 9, No. 3, March 2011
    Another work can be found in [17], where a power                      important attribute was the long term TCP-friendliness.
management mechanism for wireless video transmission using                Although, this work is dissimilar from others in terms of
the TFRC protocol that takes into account feedback about the              implementing the SVBR in a multicast environment instead of
received video quality and tries to intelligently adapt                   unicast, and make some adjustment in data rate, but it does not
transmitting power accordingly. The purpose of the mechanism              make any adjustment to the estimation approach in the SVBR.
is to utilize TFRC feedback and thus achieve a beneficial
balance between the power consumption and the received                               III.     SVBR ALGORITHM AND PRINCIPLES
video quality.
   The researchers claimed that they have implemented a                   A. SVBR Fundamentals
module consists of the logic of the proposed mechanism in the                 It can be concluded that SVBR principles are revolved
Evalvid-RA environment. The module that implemented the                   around several principles. First, the algorithm works on GoP
TFRC protocol also was changed so that, they claimed, can                 granularity, thus, it has low complexity that leads to a lesser
provide information about packet losses to their mechanism.               delay [12]. Therefore, it is much simpler than that the one
The mechanism calculates the power needed to improve PSNR,                employed in the CBR coder which is working on macroblock-
and then this information was passed to the modified wireless             by-macroblock variations [11].
physical layer module that is able to increase or decrease power
according to the mechanism. However, as stated previously, the              1) Controlling Video Data Input: The second principle of
fundamental contributors for the weaknesses in SVBR/Evalvid-              SVBR algorithm is that it uses a leaky-bucket algorithm to
RA is as a consequence of the estimation and prediction used in           avoid an excessive burst data rate into the network. By using
generating the data rate, the work in [17] did not change                 the leaky-bucket algorithm, the SVBR mechanism can control
anything on this part.                                                    the video data admission into the network. Thus, it avoids data
    The other work is done by Bouras et al. in [18], [19], where          loss at the network interface. This principle can be written as
they performed a performance evaluation of MPEG-4 video                   follows,
transmission with their proposed multicast protocols, namely
Adaptive Smooth Simulcast Protocol (ASSP) and Adaptive                                      Rk < rk + (b - Xk)                 
Smooth Multicast Protocol (ASMP). The features in their
protocols include adaptive scalability to large sets of receivers,            The relationship of all variables are illustrated in Figure 2.
TCP-friendly behavior, high bandwidth utilization, and smooth             The (b - Xk) in (3) is the space in the bucket that can still
transmission rates which suitable for multimedia applications.            accommodate more video data. Whereas, rk is the data from the
They evaluated the performance of their protocols under an                bucket that has been sent into the network interface. Thus, the
integrated simulation environment which extends Evalvid-RA                blank space in the bucket is now ((b - Xk) - rk). Therefore, (3)
to the multicast domain with the use of the Real-time Transport           restricts the video data input, so that the bucket fullness will not
Protocol (RTP) or Real-Time Transport Control Protocol                    be overflowed. Consequently, no drops will occur.
(RTCP). Simulations conducted under that environment
                                                                              In order to realize the above-mentioned principle, the video
combine the measurements of network-centric along with video
                                                                          bit allocation or Rk should be controlled so that the Xk does not
quality metrics. They claimed that the ―joint‖ evaluation
                                                                          exceed b. For that purpose, Hamdi et al. in [11] proposed (1).
process provides a better understanding of the benefits and
                                                                          In the Equation, they defined X(k) as a bucket fullness level at
limitations of any proposed protocol for multimedia data
                                                                          the beginning of GoP-kth video transmission (before
                                                                          transmitting GoP-kth data). Thus, X(k+1) can be regarded as
    They called their tool-set as Multi-Evalvid-RA, which                 the bucket fullness level after transmitting GoP-kth data.
provides all the necessary tools to perform simulation studies            Equation (1) restricts the bucket fullness level into (4).
and assess the video quality by using both network related
metrics along with video quality measurements. This is due to
that Evalvid-RA does not support multicast transmission,
which is necessary for experiments and simulations with the
RTP/RTCP protocols. Therefore, they further extend the
functionality of Evalvid-RA by adding the codes in order to
exploit the sender and receiver RTCP reports.
    They used Evalvid-RA in implementing media rate control
based on traffic feedback and takes advantage of RTCP's
Sender Report (SR) and Receiver Reports (RR). They claimed
innovation created is the calculation of smooth transmission
rates, which was performed by receivers and is based on RTCP
reports. In such a way, the oscillations are reduced. Another

                                                                                      Figure 2: Restrict input in the leaky-bucket algorithm

                                                                                                         ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                              Vol. 9, No. 3, March 2011
                 0 < X(k + 1) < b          (4)

    Here (4) can be realized since the mathematical expression
max{0, (X(k)-r)} from (1) will produce a positive result
between 0 and (X(k)-r), even if the expression (X(k)-r)
produces negative result. Even though expression (max{0,
(X(k)-r)}+R(k)) might produces a value which is higher than b,
the expression min{b,(max{0, (X(k)-r)}+R(k))} will cap the
result to b only.
  2) Allowing VBR Coding when the Network Permits: This
principle can be written as follows, as stated in [11], video
sequence with reasonable activity and duration can be coded at
the normal VBR rate while excessively long and/or active
sequence is ―truncated‖ and their bit rate is reduced to r. This
means that for video sequence where conforms to the traffic
contract, the shaping algorithm behaves like normal VBR. On                         Figure 3: SVBR shaping principle when bucket empty
the other hand, during overload periods (those where video
sequence does not conform to the traffic contract), the
algorithm aims to bring the rate down to r. During these
periods, image quality may be reduced to that of CBR coding.
However, because network resources are dimensioned based
on the leaky-bucket conformance, this shaping avoids data
loss. Thus, only harmful sequences are shaped.
   This principle can be depicted in Figure 3 and Figure 4.
SVBR data rates are shown in the red-dotted lines. Here,
SVBR uses bucket fullness level as a conditional parameter to
address this principle. When the bucket is empty, it indicates a
video sequence with a reasonable activity. Whereas, the full
bucket shows that active video sequence is being processed.
    This principle can be easily seen in the region II of Figure
3. When the bucket empty, SVBR uses VBR data rate. Thus,
the higher quality of VBR in Region II is maintained without                         Figure 4: SVBR shaping principle when bucket full
bucket overflow. On the contrary, the video data rate is
decreased into CBR rate when an excessive active sequence is            next QP value. The notation Q(k) is used to represent the
occurred, as illustrated in region II of Figure 4. Here, SVBR           quantization parameter value used in a kth GoP. Rest(k+1)
compromises high visual quality since the bucket is already             notation will be used to represent the estimation data rate.
full. By following VBR data rate, SVBR might risks of bucket
                                                                            As described in the Subsection III-A2, that the SVBR data
                                                                        rate lies between CBR and VBR data rate due to the use of
    In case of low VBR data rate (lower than CBR rate), as              linear calculation. Based on bucket fullness level, SVBR data
seen in the region I and region III of Figure 4, SVBR applies           rate can be either close to CBR or VBR. For that purpose,
normal VBR data rate. This will not make the bucket overflow,           SVBR uses (5) and (6).
since the leak rate is greater than the input rate. However, in
                                                                            if Ropen (k + 1) > r,
similar case but with an empty bucket level, SVBR employs
CBR rate. This will increase the video rate which leads to a                         Rest(k + 1) = (1 - x) .Ropen(k + 1) + x.r             
better visual quality without compromizing the risk of bucket
overflowing or underflowing.                                                if Ropen (k + 1) ≤ r,
   However, in the actual implementation, the bucket rarely                          Rest(k + 1) = (1 - x) .Ropen(k + 1) + x.r             
empty or full completely. Thus, by using linear calculation,
which will be described later, the SVBR will be lying between               Here Ropen(k + 1) is actually a GoP-(k + 1)th SVBR data rate
CBR and VBR data rate.                                                  estimation. Since SVBR is targeted for real time video
                                                                        application, the next GoP data is not known in advance. Thus,
B. Determining Bit Rate Allocation:                                     Ropen(k + 1) is needed in order to calculate R(k + 1). For that
    SVBR uses estimation and prediction in calculating the              purpose, SVBR uses (7) as a prediction or estimation for the
next Group of Picture (GoP) video bit rate allocation, that             Ropen(k + 1).
means determining R(k+1). The size of the R(k) is very much
related to the QP. Also, SVBR uses estimation to determine the

                                                                                                      ISSN 1947-5500
                                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                          Vol. 9, No. 3, March 2011
                                            Rk   Qk                            allocation), suitable QP value should be determined. To
                       Ropenk 1                                     
                                                                                     calculate the next GoP QP value, which is Q(k+1), SVBR
                                                                                     requires R(k), q and x. The relationship of all variables with the
                                                                                     SVBR rate control block diagram is depicted in Figure 5.
    It is written like that in order to indicate that SVBR will use
quantization parameter q which is used for the generation of                             The main idea here is as follows, if the current GoP
VBR data rate as its base rate. q is any suitable value that will                    produces high bit rates data (higher than r) and the bucket
be fixed by user in the beginning of the operation.                                  fullness level is high as well (more than half of the bucket), a
                                                                                     higher QP value for the next GoP should be generated. Higher
   Additionally, x is a simple function to calculate the ratio of                    QP value means lower data rate, R(k+1), which is exactly what
bucket fullness level. The calculation is shown in (8);                              SVBR is supposed to produce. When the bucket is nearer to
                                     X (k  1)                                       full level and VBR video sequence is active (high rate), the
                               x                                              next data rate should be lower. Thus, the bucket does not tend
                                        b                                            to full or overflow. The opposite will be happened if the current
     As described previously, the purpose of the bucket fullness                     data rate is low. The QP value will be reduced, which will
function is to determine either it should be closer to CBR (r) or                    produce higher data rate for the next transmission.
SVBR (Ropen(k + 1)). If the bucket fullness is high (x>0.5) and
Ropen(k + 1) (refer to Region II of Figure 4), the SVBR data rate                    D. Implications of the Design
should be closer to r. This is reflected well in (5); higher x                           There are many implications from the original principles of
value, increases r value and comparatively will decrease                             the SVBR design. The implications are inherited from the way
Ropen(k + 1) value by using expression (1-x). On the other hand,                     SVBR determines (predicts or estimates) the suitable bit rate
if the bucket fullness is low (x>0.5) and Ropen(k + 1)) ≤ r (refer                   allocation and the QP value. From this estimation, the QP value
to Region I and III of Figure 4), the SVBR data rate is closer to                    will be fed into the video encoder (refer to Figure 5) to generate
Ropen(k + 1). This condition is also reflected in (5). All the                       the real encoded video. The data rate for the encoded video
combinations of bucket fullness level, Ropen(k + 1) is greater or                    might be very much differ from the earlier data rate estimation,
lower than r, and either SVBR is closer to r or Ropen(k + 1) are                     when estimating the suitable bit rate allocation (Rest(k+1)).
shown in Table I.
                                                                                         Another big implication is on the encoded video data rate.
   From (7), it is clear that the next GoP Ropen is calculated                       Since the estimated QP value is used to encode the video, and
based on previous R(k) and previous QP values.                                       the next original video data rate is much different from the
                                                                                     previous one, this might create another undesired relationship.

C. Determining QP Value                                                              E. SVBR Algorithma Flow
    In determining the next QP value, which is vital in                                  The gross or important parts of the SVBR algorithm can be
producing the suitable bit rate allocation for the next GoP data,                    illustrated in a flow chart form as shown in Figure 6. Following
the following equations are used;                                                    is the explanation on the notations, commands or variables
     if Ropen (k + 1) > r,                                                           used;
                                                                                        •     X(0): It is the intialization bucket fullness level at
                                     q  Ropen k  1
             Qk  1                                                                  GoP-0, which is set to half of the bucket.
                             1  x  R k  1  x  r 
                                                                                        •     For k: to perform looping in order to process all video
                                                                                              sequences from the first GoP until the last GoP.
     if Ropen (k + 1) ≤ r,                                                              •     Transmit data: to transmit each GoP data. The real
                                                                                              implementation in the simulation package is much
                                     q  Ropen k  1                                        more complex. This is due to the fact that the
            Qk  1                                                 
                           x  R k  1  1  x  r 
                                                                                              simulation package imitate almost 100% similar to the
                                                                                              real network behaviour.
   As mentioned earlier, QP value is used by the video
encoder to encode the video data. In the context of SVBR, QP
value produces R(k). To obtain a certain R(k) value (bit rate

                           SVBR DATA RATE

                                x < 0.5                 x > 0.5
     Ropen(k + 1) > r        SVBR is closer          SVBR is closer
                                to Ropen                  to r
     Ropen(k + 1) ≤ r        SVBR is closer          SVBR is closer
                                  to r                  to Ropen
                                                                                                     Figure 5: Rate control block diagram with SVBR

                                                                                                                 ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                Vol. 9, No. 3, March 2011
                                                                                 and approximation in calculating the next GoP VBR
                                                                            •    Ropen(k+1) > r: is to test whether VBR data is in higher
                                                                                 data rate than r. From that test, SVBR can determine
                                                                                 either the next GoP data rate is closer to Ropen or r.
                                                                            •    Q: is to represent Q(k+1), the quantization parameter
                                                                                 for the next GoP video data.

                                                                                               IV.    EXPERIMENTS
                                                                             This section presents a performance evaluation experiments
                                                                         of SVBR to analyze its strengths and weaknesses.

                                                                         A. The Evaluation Approach
                                                                             A combination of several video clips is used for the purpose
                                                                         of evaluating SVBR. These clips consist of low and high video
                                                                         rate, thus, the SVBR performance in several scenarios can be
                                                                             The video traffic used in this research is the video traffic
                                                                         trace. The idea is to employ a real video information (from the
                                                                         selected video sequence) but without the use of a very big data
                                                                         in the experiments. Compared to traffic model, trace-traffic is
                                                                         considered credible as it represents an actual traffic load, as
                                                                         justified in [20]. The video traffic trace is perfectly fix the
                                                                         requirement and it has been employed by majority of the video
                                                                         communication research community, as in [21], [22], [23],

                                                                         B. The Video Sequences Used
                                                                             The video sequence used is a combination of several video
                                                                         clips taken from These
                                                                         include ―news‖, ―bridge_far‖, ―bridge_close‖, ―bus‖, and
                                                                         ―highway‖. They are typical video sequences used in various
                                                                         video rate control studies. All the video clips and its profiles
                                                                         are describe in Table II. The combined clip duration is 218.4
                                                                         seconds, which consists of 7099 frames (6552 frames without
                 Figure 6: SVBR algorithma flow chart                    header) and 547 GoPs. All clips used are in a raw YUV 4:2:0,
                                                                         25 frames per seconds (fps) and in CIF format (352x288). CIF
•    X(k+1): after the transmission, the virtual bucket                  and QCIF format are two commonly used formats in video
     fullness will be calculated.                                        transmission-related studies [25], [26].
•    e: to represent x, which is the ratio of bucket fullness
     level to the bucket size.
•    Calculate Ropen(k+1): to calculate the next GoP VBR
     data. As described previouly, SVBR uses prediction

                                       TABLE 2. PROFILE OF VIDEO SEQUENCES USED IN THE EXPERIMENTS

Video clips                  Size (frames)              Motion categories          Description
News                         300                        Medium                     Two news reporter are talking.
Bridge (far)                 2101                       Low                        A bridge view from far side, then a small
                                                                                   boat going to that direction with a bird flying
                                                                                   in the sky.
Bridge (close)               2001                       Low                        A bridge view from near side and many
                                                                                   people are walking across the bridge.
Bus                          150                        Very High                  A bus moving speedily in a road.
Highway                      2000                       High                       A panoramic view from a vehicle speedily
                                                                                   moving in a highway.

                                                                                                     ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                  Vol. 9, No. 3, March 2011
C. Rate Control Experiment Settings                                      compared to VBR. This case is clearly can be seen in Figure 7.
   In order to execute the experiments, the following                    The SVBR data rate is bursted from 6048 Bytes/GoP to 253000
parameters setting are employed;                                         Bytes/GoP, while, the VBR data rate is only increased sharply
                                                                         from 4032 Bytes/GoP to 30240 Bytes/GoP.
   •    Bucket size (b) = 60000 Bytes/GoP. This size is equal
        to 1Mbps transmission speed.                                        This above scenario can be explained as follows;
   •    Leak rate (r) = 20000 Bytes/GoP. This rate is average                 For Gop-201, the k is equal to 201. Then, the bucket
        open-loop rate for the video sequences used, as                  fullness ratio for the next GoP, when applying (8), is 0.1008.
        suggested by Hamdi et al. [11].                                  The QP values for the respective GoPs are shown in the Table
   •    VBR Initial q = 10. This initial value is selected to            III.
        provide space for the SVBR rate control to increase or
        decrease QP value freely. For a more limited network                                     X 202 6048
                                                                                           x                   0.1008
        resources setup, the higher initial q value should be                                       b     60000
                                                                                                 R201  Q201 6048  7
                                                                                  Ropen202                             4233.6
               V.     THE RESULT AND ANALYSIS                                                           q          10
    The strengths and weaknesses of the SVBR algorithm will
                                                                            Since Ropen(202) is less than r (CBR=20000), then (6) is
be highlighted based on the analysis on several scenarios
below. The analysis are based on how SVBR will react when
certain scenarios occur. The analyzed scenarios include the                                                 q  Ropen202
                                                                                       Q202 
occurrence of sharp decrease in VBR data rate, sudden bucket
overflow, low data rate with low bucket fullness level, and                                        x  R 202  1  x  r 

fluctuate data rate.
                                                                                                         10  4233.6
                                                                                Q202 
A. Sharp Decreases in SVBR Data Rate                                                       0.1008  4233.6  1  0.1008  20000
    Figure 7 show the phenomenon of sharp decreses in SVBR
data rate which can be seen at the GoP-201. Figure 7 charts the
                                                                              Q202 
                                                                                                42336           42336
                                                                                                                         2.2995
data for this particular GoP and the GoPs around it. The sudden
sharp decrease in SVBR data rate is from 17,136 Bytes/GoP to
                                                                                         426.7469  17984 18410.7469
6,048 Bytes/GoP. The SVBR data rate is examined here
because the generation of the next SVBR data rate is very                    Since the nearest QP value for Q(202) is 2, then Q(202)=2.
much dependent on it (refer to Figure 6); Rest(k+1) and                  What should be highlighted here is that, when at GoP-201 the
Ropen(k+1) is the SVBR data rate estimation for the GoP-(k+1).           data rate is comparatively very low, the algorithm wants to
                                                                         increase the data rate for the next GoP by lowering the QP
    What can be observed here is that when a sharp decrease in           value. The algorithm succeeds in its principle to perform that
SVBR data rate occurs, it will automatically generate a sudden           task. The QP value has been decreased from 7 to 2, with the
bursty in the next SVBR data rate. This kind of scenario occurs          intention to increase the data rate substantially. However, at
especially when the next VBR data rate is increased sharply as           GoP 202, VBR data rate increases to higher rate, consequently
well. The possible problem of this scenario is that, the SVBR            QP=2 for SVBR GoP 202 data rate is equal to 252000
data rate might be increased at very much higher rate as                 Bytes/GoP. For a reference purpose, if VBR data rate remains
                                                                         at the same rate for GoP-202 as the GoP-201, QP=2 will
                                                                         moderately increase SVBR GoP 202 data rate to 24192
                                                                             From the above calculation, it can be concluded that one of
                                                                         the weaknesses of SVBR algorithm is when a sharp decrease in
                                                                         VBR data rate occurs, the SVBR data rate for the next GoP will
                                                                         increase dramatically. This is especially true in the case the
                                                                         next VBR data rate is increased sharply as well. The sudden
                                                                         sharp fluctuation in the SVBR data rate can go up beyond the
                                                                         permissible level, which overflows the bucket. This scenario
                                                                         crops up as a result of very low bucket level fullness and low
                                                                         Ropen value case. This leads to a very low QP value and
                                                                         consequently, producing very high data rate.

                                                                                    TABLE 3. RESPECTIVE QP VALUES FOR GOP 198-204

                                                                               GoP #     198     199    200      201    202     203     204
             Figure 7: Sharp decrease scenario in the GoP-201
                                                                                QP        7       7      7        7      2       25      18

                                                                                                       ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                  Vol. 9, No. 3, March 2011
B. When a Sudden Bucket Overflow Occurs                                  fullness is also high, the estimation for the R(370) is going
                                                                         closer to r or CBR. All these will produce a higher QP value
    Figure 8 shows the case when a sudden bucket overflow                (Q(370)) than q. Accordingly, the higher QP value will
occurs. This scenario can be observed starts from GoP 369                generate low SVBR data rate. This is a good strentgh of the
until 381. This phenomenon can be described as an advantage              SVBR algorithm. Even though the VBR data rate are very high
of the SVBR algorithm, but at the same time, it shows poor               and it is maintained high for several consecutive GoPs, SVBR
performance as well. The disadvantage of this algorithm can be           algorithm quickly adjust its data rate to an acceptable level and
seen at GoP-369. Here, when VBR data rate fluctuates sharply             maintains that rate onwards.
to 59472 Bytes/GoP, exceeds the bucket size, the SVBR also
follows this behaviour, even to higher data rate than the VBR.               It can be concluded here that when there is a high data rate
                                                                         burst occurs, for the next first GoP, SVBR will burst as well
    In addition to the aforementioned explanation, since SVBR            leading to bucket overflow. As each GoP consists 12 frames,
uses previous GoP data, which is GoP 368, to estimate the next           this means that 12 frames will burst as well. However, SVBR
GoP data, it generates a small Ropen. The small Ropen and higher         has been designed to quickly retract the burst into permissible
bucket fullness level will generate R(369) (refer (6)) close to          level for the following GoPs.
the Ropen value (refer to Table I). Consequently, SVBR
algorithm generates QP value which is close to the default               C. Low Data Rate and Low Bucket Fullness Level
value q. This form of estimation is good for video sequences
which are increased or decreased in a smoother way. But, for                 As shown in Figure 9, this scenario can be clearly seen
the next video sequence, even though the date rate is sharply            from GoP 26 to 200. From this range, especially from GoP 106
increased, the q value is still the same as for previous video           to 200, it shows a long flat low rate sequence. Part of this
sequence. Then, for the SVBR, when the QP value is around                sequence is shown in Figure 9. Here, both of CBR and VBR
the default q value, it produces a high data rate. This is due to        are at low rate, SVBR is seen tend to be around the both rates.
that SVBR is using the real data for the transmission, which is          SVBR should increase its data rate here to improve its visual
same as VBR (Q(369)=q=10).                                               quality. It is clearly shows here that SVBR is not designed to
                                                                         increase the visual quality in a low data rate sequence.
                          X 370 60000
                   x                    1.0000                            Based on Figure 9, for SVBR to estimate GoP 106 from
                             b     60000                                 GoP 105, SVBR bases on its distance to CBR (r) and VBR. In
                                                                         the case of calculating GoP 106 using GoP 105, that its data
                         R369  Q369 59472  10                      rate is very close to r, this derives SVBR to adjust its rate to
         Ropen 370                               59472
                                q           10                           lower than r value. It does that by lowering the R(106)
                                                                         estimation than the real value of the R(105), refer to (6). By
   Since Ropen(370) is greater than r, then (9) is applied;              designing in such a way, it produces a higher QP value
                                   q  Ropen 370
                                                                         estimation, which is 7 (previously QP=6). Consequently, it
               Q370                                                   generates lower value of data rate for SVBR GoP 106 data rate.
                           x  R 370  1  x   r 
                                                                             In producing SVBR data rate for GoP 107, the SVBR will
                                                                         estimate R(107) as a little bit higher than the real R(106) since
                          10  59472                                     R(106) is located in the middle of the r and VBR but at a little
      Q370 
                                                         29.736
                 0  59472  1  20000         20000                 bit lower distance. In consequence, when calculating the value
                                                                         for QP, it gains Q(107)=6.7717. Since, the nearest round
   Since the nearest QP value for Q(370) is 30, then QP=30.              number for 6.7717 is 7, it produces the SVBR data rate for GoP
The data rate for QP=30 is 25200 Bytes/GoP, then accordingly             107 similar to the previous GoP. This scenario is continuing
SVBR data rate for GoP-369 is 25200 Bytes/GoP.                           until the GoP 200, where VBR data rate for GoP changes to
                                                                         other value.
    In the above case, although the present VBR and estimation
of the next VBR (Ropen(370)) are high, and since the bucket                  Therefore, the clear disadvantage of SVBR algorithm is that
                                                                         it has been designed to maintain its data rate to be vary between
                                                                         VBR and CBR data rate. Inevitably in a low data rate,

                                                                                         Figure 9: A long-low-flat data rate sequence
                  Figure 8: Sharp VBR increase scenario

                                                                                                       ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                  Vol. 9, No. 3, March 2011
especially in a long-flat data rate, SVBR tend to be around that
rate. Thus, it maintains its visual quality. However, since the
bucket fullness is in a low level, the data rate can be increased
so that the visual quality can be increased as well.

D. Fluctuate Data Rate
    There are two types of conflicting fluctuated data rate;
positive and negative fluctuation. Video data rate fluctuates
generaly. A positive fluctuation is a condition where its QP
                                                                                               Figure 10: SVBR data rate fluctuation
values are constant. Thus, video data rate fluctuation is
considered as a positive fluctuation. A negative fluctuation is a
condition where data rate and QP value are not constant. This
subsection is referred to the negative fluctuation, especially the
fluctuation in the SVBR data rate. In the following, two cases
of the negative fluctuation are explained.
Case I: VBR is Higher than CBR
   Wherever SVBR fluctuates differently from VBR, it can be
considered as a negative fluctuation. One of this scenario can
be seen at GoP 208 to 250. Figure 10 and 11 show this
scenario.                                                                                         Figure 11: SVBR QP fluctuation

    This scenario is one of the good examples of the sensitive                  The fluctuation occurs also as a result of sensitivity in the
relationship as describe in the subsection III-D. In the GoP 209,           algorithm when the gap between VBR and CBR is quite wide.
QP=11 and SVBR data rate (R(209)) is 19152. This data rate is               Although, it is less wider as compared to the previous
below both CBR and VBR data rate at that GoP. One of the                    subsection, but the changes in one QP value has contributed to
principles of SVBR is to let the next data rate lying between               this fluctuation. Another attributes to this fluctuation is the
VBR and CBR data rate by adjusting the next QP value. It                    oscillation on the bucket fullness level at the CBR data rate.
should be emphasized here that SVBR is only able to estimate
the next QP value with the hope that the actual data rate will be
lying between intended region.                                                                       VI.      SUMMARY
                                                                                This paper presented the extensive analysis of the SVBR
    Since the generated Ropen for GoP 210 is a little bit higher, it
                                                                            algorithm performance. In general, this algorithm has
will produce a little bit higher QP value but below than 11.
                                                                            demonstrated its novel creation of an ideal rate controller
Another way to comprehend this scenario is by looking at how
                                                                            especially for real time video application which produce a
SVBR try to increase its data rate to be between CBR and
                                                                            higher visual quality video, the video data rate is within a
VBR. Given that the current data rate is below CBR-VBR and
                                                                            permissible bandwidth level, and less delay as a result of no
its QP value is 11, SVBR will decrease its QP value (to
                                                                            introduction of an additional buffer or complex computational
increase its data rate) but to the maximum of 10. This is due to
that the QP value for the VBR is 10. The calculation of Q(210)
gives 10.4223 and since there is no fraction of QP encoding,                   However, there are spaces for performance improvement of
SVBR obtains Q(210)=10.                                                     the SVBR algorithm, especially under certain specific
    The Q(210)=10 will generate similar data rate with VBR
GoP-210 data rate. Since, VBR data rate is in active sequence,
SVBR obtains much higher data rate compared to previous data
rate. The negative implication of this situation is on the
generation of the next QP and its data rate. As a result of the
wider gap between Ropen and r, it causes the generation of QP
becomes sensitive. In the case of Q(211), SVBR obtains
14.3137 (or 14 only). This QP, when translates to the actual
data rate, is equal to 17136 Bytes/GoP. It creates a significant
ding-dong in the SVBR data rate. This situation continues until                    Figure 12: SVBR with VBR lower than CBR data rate fluctuation
GoP 250 when VBR data rate changes into a lesser active
   Case II: CBR is Higher than VBR
    At GoP 424 to GoP 448, similar negative fluctuation can be
observed but this time VBR is lower than CBR. The other
dissimilar condition is that the bucket fullness level is also
fluctuating between above and below CBR data rate. Figure 12                         Figure 13: SVBR with VBR lower than CBR QP fluctuation
and 13 show this scenario.

                                                                                                           ISSN 1947-5500
                                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                            Vol. 9, No. 3, March 2011
conditions. Besides the strengths of SVBR algorithm, this                              [16] M. A. Talaat, M. A. Koutb, and H. S. Sorour, ―PSNR Evaluation of
analysis had pointed several weaknesses areas that can be                                   Media Traffic over TFRC,‖ International Journal of Computer Networks
                                                                                            & Communications (IJCNC), vol. 1, no. 3, pp. 71–76, 2009.
considered for improvement. The circumstances that had been
                                                                                       [17] C. Bouras, V. Papapanagiotou, K. Stamos, and G. Zaoudis, ―Efficient
strongly stressed were when there is an occurrence of a sudden                              power management adaptation for video transmission over TFRC,‖ in
sharp decrease in the VBR data rate, the occurrence of a sudden                             2010 Sixth Advanced International Conference on Telecommunications
bucket overflow, the existence of a low data rate with low                                  (AICT), May 2010, pp. 509 –514.
bucket fullness level, and the generation of a cyclical negative                       [18] C. Bouras, A. Gkamas, and G. Kioumourtzis, ―Adaptive Smooth
fluctuation. These weaknesses play an important role in                                     Simulcast Protocol (ASSP) for video applications: Description and
designing a new algorithm for stored video transmission                                     performance evaluation,‖ Journal of Network and Systems Management,
                                                                                            pp. 1–35, 2010, 10.1007/s10922-010-9159-8. [Online]. Available:
                                                                                       [19] ——, ―Evaluation of single rate multicast congestion control schemes
                                REFERENCES                                                  for MPEG-4 video transmission,‖ in Proceedings of the 5th Euro-NGI
                                                                                            conference on Next Generation Internet networks, ser. NGI´09.
[1]    P. Seeling, M. Reisslein, and B. Kulapala, ―Network performance                      Piscataway, NJ, USA: IEEE Press, 2009, pp. 32–39. [Online]. Available:
       evaluation using frame size and quality traces of single-layer and two-    
       layer video: A tutorial,‖ IEEE Communications Surveys Tutorials, vol.
       6, no. 3, pp. 58 –78, 2004.                                                     [20] A. Al Tamimi, R. Jain, and C. So-In, ―Modeling and prediction of high
                                                                                            definition video traffic: A real-world case study,‖ in 2010 Second
[2]    M.-J. Kim and M.-C. Hong, ―Adaptive rate control scheme for real-time                International Conferences on Advances in Multimedia (MMEDIA), Jun.
       H.264/AVC video coding,‖ in 2010 Digest of Technical Papers                          2010, pp. 168 –173.
       International Conference on Consumer Electronics (ICCE), 2010, pp.
       271–272.                                                                        [21] W.-K. Liao and Y.-H. Lai, ―Type-aware error control for robust
                                                                                            interactive video services over time-varying wireless channels,‖ IEEE
[3]    M. Semsarzadeh, M. Langroodi, and M. Hashemi, ―An adaptive rate                      Transactions on Mobile Computing, vol. 10, no. 1, pp. 136 –145, Jan.
       control for faster bitrate shaping in x264 based video conferencing,‖ in             2011.
       2010 IEEE International Symposium on Broadband Multimedia Systems
       and Broadcasting (BMSB), Mar. 2010, pp. 1 –4.                                   [22] R. Zhang, R. Ruby, J. Pan, L. Cai, and X. Shen, ―A hybrid
                                                                                            reservation/contention-based MAC for video streaming over wireless
[4]    X. Liu, Q. Dai, and C. Fu, ―Improved methods for initializing R-Q                    networks,‖ IEEE Journal on Selected Areas in Communications,, vol.
       model parameters and quantization parameter in H.264 rate control,‖ in               28, no. 3, pp. 389 –398, Apr. 2010.
       2009 WRI World Congress on Computer Science and Information
       Engineering, vol. 6, Mar. 2009, pp. 320 –323.                                   [23] M. S. Koul, ―Error Concealment and Performance Evaluation of
                                                                                            H.264/AVC Video Streams in a Lossy Wireless Environment,‖ Dept. of
[5]    S. G. Zhao Min, Takeshi Ikenaga, ―A novel rate control algorithm for                 Electrical Engineering, The University of Texas at Arlington, Tech.
       H.264/AVC,‖ in The 23rd International Technical Conference on                        Rep., 2008.
       Circuits/Systems, Computers and Communications. The Institute of
       Electronics, Information and Communication Engineers (IEICE), 2008,             [24] O. A. Lotfallah, M. Reisslein, and S. Panchanathan, ―A framework for
       pp. 725 – 728.                                                                       advanced video traces: evaluating visual quality for video transmission
                                                                                            over lossy networks,‖ EURASIP J. Appl. Signal Process., pp. 263–263,
[6]    Z. Chen and K. N. Ngan, ―Recent advances in rate control for video                   Jan.               2006.               [Online].                Available:
       coding,‖ Image Commun., vol. 22, no. 1, pp. 19–38, 2007.                   
[7]    H. A. Marios C. Angelides, The Handbook of MPEG Applications:                   [25] C.-H. Ke, C.-K. Shieh, W.-S. Hwang, and A. Ziviani, ―Improving video
       Standards in Practice. John Wiley and Sons, 2011.                                    transmission on the Internet,‖ IEEE Potentials, vol. 26, no. 1, pp. 16–19,
[8]    S. Eshaghi and H. Farsi, ―Rate control and mode decision jointly                     Jan. 2007.
       optimization in H.264AVC,‖ in Proceedings of the 4th conference on              [26] P. Seeling, F. H. P. Fitzek, and M. Reisslein, Video Traces for Network
       European computing, ser. ECC’10. Stevens Point, Wisconsin, USA:                      Performance Evaluation: A Comprehensive Overview and Guide on
       World Scientific and Engineering Academy and Society (WSEAS),                        Video Traces and Their Utilization in Networking Research. Springer,
       2010,           pp.         280–283.         [Online].        Available:             2007.
[9]    P. Ranganth and Y. V. Swaroop, ―Adaptive rate control for H.264 video
       encoding in a video transmission system,‖ in XXXII National Systems                                         AUTHORS PROFILE
       Conference (NSC 2008), Dec. 2008.                                               Ahmad Suki Che Mohamed Arif is is a lecturer in the Graduate Department
[10]   W. Lu, X. Gao, Q. Deng, and T. Wang, ―A basic-unit size based                   of Computer Science, Universiti Utara Malaysia (UUM) and is currently
       adaptive rate control algorithm,‖ in Fourth International Conference on         attached to the InterNetWorks Research Group at the UUM College of Arts
       Image and Graphics (ICIG 2007), Aug. 2007, pp. 268 –273.                        and Sciences as a doctoral researcher.
[11]   H. Hamdi, J. W. Roberts, and P. Rolin, ―Rate control for VBR video              Associate Professor Dr. Suhaidi Hassan is currently the Assistant Vice
       coders in broad-band networks,‖ IEEE Journal on Selected Areas in               Chancellor of the College of Arts and Sciences, UUM. He is a senior member
       Communications, vol. 15, no. 6, pp. 1040–1051, 1997.                            of the Institute of Electrical and Electronic Engineers (IEEE) in which he
                                                                                       actively involved in both the IEEE Communications and IEEE Computer
[12]   A. Lie and J. Klaue, ―Evalvid-RA: Trace driven simulation of rate
                                                                                       societies. He has served as the Vice Chair (2003-2007) of the IEEE Malaysia
       adaptive MPEG-4 VBR video,‖ Multimedia Systems, vol. 12, no. 1,
       2008.                                                                           Computer Society.
                                                                                       Dr. Osman Ghazali is a Senior Lecturer at Universiti Utara Malaysia. As an
[13]   A. Lie, ―Enhancing rate adaptive IP streaming media performance with
                                                                                       academician, his research interests include congestion control, quality of
       the use of Active Queue Management,‖ Ph.D. dissertation, Norwegian
       University of Science and Technology, 2008.                                     services, wired and wireless network, transport layered protocols and network
                                                                                       layered protocols. His works have been published in international conferences,
[14]   J. Klaue, B. Rathke, and A. Wolisz, ―Evalvid - a framework for video            journals and won awards on research and innovation competition in national
       transmission and quality evaluation,‖ in the 13th International                 and international level.
       Conference on Modelling Techniques and Tools for Computer
       Performance Evaluation, 2003, pp. 255–272.                                      Dr. Mohammed M. Kadhum, is a visiting assistant professor in the Graduate
                                                                                       Department of Computer Science, UUM. He is currently attached to the
[15]   C.-H. Ke, C.-K. Shieh, W.-S. Hwang, and A. Ziviani, ―An evaluation              InterNetWorks Research Group at the UUM College of Arts and Sciences as a
       framework for more realistic simulations of MPEG video transmission,‖           research advisor. He has been awarded with several medals for his outstanding
       Journal of information science and engineering, vol. 24, pp. 425–440,           research projects.

                                                                                                                        ISSN 1947-5500