Documente Academic
Documente Profesional
Documente Cultură
I. INTRODUCTION
ULTIMEDIA streaming over the Internet has been a
very challenging issue due to the dynamic uncertain
nature (e.g., variable available bandwidth and random packet
loss) of the channels. To address this problem, many solutions
have been proposed based on the layered design principle of
the Internet, all following the architecture of congestion control
for streaming multimedia at the transport layer and source
rate control at the application layer. At the transport layer,
congestion control for streaming multimedia has been proposed
to make the users fairly share the network resources. Because
many commercial products of streaming media adopt the user
Manuscript received August 27, 2005; revised June 15, 2006. This work was
supported in part by National Science Foundation under Grant CNS-0423386
and in part by a grant from the University of Missouri System Research Board.
The associate editor coordinating the review of this manuscript and approving
it for publication was Dr. Deepak S. Turaga.
P. Zhu is with Hitachi (China) R&D Corporation, Beijing, China (e-mail:
pzhu@hitachi.cn).
C. Li is with Department of Automation, Tsinghua University, Beijing, China
(e-mail: lcw@mail.tsinghua.edu.cn).
W. Zeng is with the Department of Computer Science, University of Missouri-Columbia, Columbia MO 65211-2060 USA (e-mail: zengw@missouri.
edu).
A color version of Fig. 8 is available online at http://ieeexplore.ieee.org.
Digital Object Identifier 10.1109/TMM.2006.886284
constraint. Simulation results show that our algorithm can significantly improve the playback quality while maintaining good
long-term TCP-friendliness.
The remainder of this paper is organized as follows. Section II
discusses the related work. The architecture of our joint design
algorithm is presented in Section III. In Section IV, we introduce
the QoS-aware congestion control algorithm. The virtual buffer
management mechanism is explained briefly in Section V. Section VI describes the proposed joint design algorithm in detail.
Simulation results are presented in Section VII. In Section VIII,
we summarize this paper and point out some future research directions.
II. RELATED WORK
A. TCP-Based Streaming
Strictly speaking, it is not suitable to use TCP as the transport protocol for streaming multimedia because of its lack of
control on the delay (due to reliable transmission) and its frequent deep fluctuation of the sending rate [4], especially when
the required end-to-end delay of the multimedia application is
small. It is also difficult for TCP-based streaming to work in a
multicast scenario. In addition, throughput efficiency is of a concern for TCP-based streaming over wireless networks. Nevertheless, when the multimedia application has a large end-to-end
delay (e.g., several seconds) and the available bandwidth is also
sufficiently large (e.g., twice as much as the video bitrate), it
has been proved that TCP-based unicast streaming can achieve
satisfactory performance[5]. As a result, many schemes based
on TCP-streaming have also been proposed[6], [7]. However in
this paper, we mainly focus on UDP-based streaming, which can
work under a wide range of end-to-end delay requirements and
different network scenarios.
B. UDP-Based Streaming
For UDP-based streaming, congestion control at the transport layer and source rate control at the application layer are
two important components. Congestion control for streaming
multimedia has to take care of not only the fairness and responsiveness of the protocol, but also the rate smoothness to
achieve better playback quality of the multimedia applications
[4]. A number of TCP-friendly congestion control schemes
for streaming media have been proposed to provide smoother
sending rate. These include the window-based schemes [8][12]
and the rate-based schemes which can be further classified into
the probe-based [12][14] and equation-based schemes [2],
[15]. The equation-based congestion control mechanisms can
achieve good TCP-friendliness by adapting the sending rate according to the throughput equation of the TCP flows under the
same condition (packet size, packet loss ratio, and round-trip
time (RTT), etc.). A well-known equation-based mechanism,
named TFRC, is proposed for unicast flows with constant
packet sizes in [2]. To support multimedia flows with variable
packet sizes, some variants of TFRC have been proposed
[16][18].
Source-rate control at the application layer is to make the
source rate match the channel condition to achieve better video
quality. At the sender side, adaptive adjustment of the source
367
368
(2)
where
is the end-to-end startup delay (in terms of frame
number).
369
(4)
and
, respectively, as the encoder and decoder
Denote
buffer sizes. To avoid underflow and overflow of the decoder
buffer, from (3), we have
(5)
Combining (5) and the encoder buffer constraint, we have
(6)
So if we can maintain the encoder buffer to meet the constraints of (6) by selecting appropriate source rate and sending
rate, the overflow and underflow of both the encoder and decoder buffers can be avoided.
There exists a maximum admissible sending rate constraint,
which is imposed by the buffer sizes of the encoder and decoder.
From (3), it can be easily seen that the admissible sending rate
should make sure the following constraint is met:
(7)
Too large a sending rate will make the decoder buffer overflow.
So if the available bandwidth is so large that the constraint of
(7) is to be violated, we have to limit the sending rate.
Note that there exist some other works (e.g., [21], [28]) that
discuss similar buffer constraints, but they are used for different
scenarios such as constant bit rate channel or other non- best
effort networks with deterministic channel rates and constant
transmission delay. In the best effort network scenario, the challenge is that the available bandwidth is quite dynamic and packet
loss and variable delay will be introduced in the network. We
will discuss in the next section how to estimate these parameters, detect the potential estimation error, and compensate for it
soon enough to assure good performance.
VI. THE PROPOSED JOINT DESIGN ALGORITHM
Let us count the feedback intervals of TFRCC as . At time
, by using the sending rate of the current feedback interval
(bytes/frame) to estimate the receive rates of the future
frame period in (6) (as a result,
remains a constant,
(8)
and
are two nonnegative safety margins that are
where
used to guard against the potential estimation errors, and both
are set to 1 in the simulations. Then we first try to maintain
the encoder buffer fullness within the bounds by adjusting the
source rate, subject to the video quality smoothness constraint,
while maintaining the sending rate TCP-friendly.
Suppose at time , the sender receives a new feedback from
.
the receiver, then the sending rate is updated as
, the estimation of the
Consequently, at times
future receive rates using
might not have been accurate
and the constraints of (6) might not actually be met. This may
lead to the overflow or underflow of the decoder buffer from
to
. To address this issue, we will revisit
time
(6) to take advantage of knowledge of the updated TCP-friendly
, and if necessary, the readjustment of the
sending rate
(if still available in
size of the encoded frame
the encoder buffer), subject to the quality smoothness constraint,
is used to ensure that the decoder buffer will not underflow and
overflow. If this still cannot prevent the decoder buffer from
underflow or overflow, we will have to adjust the sending rate to
pull back the decoder buffer fullness to within the safety region.
Note that this may temporarily violate TCP-friendliness, but a
rate-compensation algorithm is introduced to assure long-term
TCP-friendliness.
In general, the proposed joint design algorithm is composed
of the algorithm done in TFRCC, the virtual network buffer
management mechanism at the application layer, and the algorithm for joint decision of source and sending rate which is done
in the middle-ware. Next, we introduce the details of these components.
A. TFRCC
1) The Receiver: At the end of the
th feedback
is determined, which
interval, next interval length
can be fixed or randomly selected with a constant average.
Then the receiver feeds the calculated TCP-friendly rate
,
, and
back to the sender, where
is the actual amount of received data (including
the amount of data of the detected lost packets) since the
beginning of the transmission.
2) The Sender: When the receivers feedback is received,
is decided by using a rate-compensation algorithm to
maintain long-term TCP-friendliness.
We denote the accumulated difference between the amount
of actually sent data and that of the ideal TCP-friendly sent data
. So a large deviation from 0 for
means long-term
as
un-TCP-friendliness, which should be avoided. A positive (negmeans that the amount of actually sent data is more
ative)
370
(less) than the TCP-friendly value, and we need to make the future sending rate smaller (larger) than the TCP-friendly rate to
.
reduce the magnitude of
First, if we would like to pull back
to zero at the end of
to be
the th feedback interval, we need to set
where is one frame period. However we hope that the comcan help to reduce the sending rate variation
pensation of
to achieve smooth video quality. So we only do the compensation under the following two situations. For other situations, we
to
.
directly set
and
, which means that
1)
the available bandwidth increases, but the sender needs
to set the sending rate to be a value smaller than
to do the rate compensation. In this case, the compensation can reduce the sending rate variation. Considering the responsiveness of the transport protocol, we set
a lower bound
(9)
where
is a response factor. If
, we directly set
to be
, and
to be zero. Otherwise we can only set
to be
, and
is updated as follows:
(10)
2)
and
: Similar to the
as in (9).
previous case, we set a upper bound
, we set
to be , and
So if
to be zero. Otherwise, we set
to be
,
is updated as in (10).
and
Obviously with a larger , better responsiveness can be
achieved, while a longer time may be needed to achieve
has as good
long-term TCP-friendliness. The case of
responsiveness as TFRC, but long-term TCP-friendliness is
has slow
not taken into account. While the case of
responsiveness, and it will not change the sending rate unless
the long-term TCP-friendliness has been met. We will investigate the influence of on the system performance through
simulations in Section VII.
B. The Virtual Network Buffer Management Algorithm
When the feedback from the receiver is received, the virtual
network buffer fullness
is updated as follows:
(11)
where
is the amount of data sent since the beginis the uplink delay, which
ning of the transmission, and
is assumed to be half of the RTT in this paper. Note that any
algorithm for accurate estimation of the uplink delay can be
where
is the maximum rate adaptation range. Then the
. Note
bounds are updated according to (8) and the new
that there is some tradeoff in selecting . With a larger , there
and , which may
is a larger adaptation range between
will lead
lead to smoother video quality. However a large
to a low sending rate, which may result in low video quality.
Simulation results show that it is a good choice to set to be
40 kB when the video source is in QCIF format.
will result in temporal un-TCPThis adjustment of
is updated as follows:
friendliness, so
(12)
371
Then
is updated according to (12).
is larger than the minimum bandwidth requirement
If
or the decoder buffer will still underflow even with the above
, we have to adjust
,
updated
which are set to
, the minimum value which can prevent the
is given by
decoder buffer underflow.
(14)
is updated as follows:
(15)
(16)
(see the proof given in the Appendix). Then
cording to (15).
is updated acBd(k ); .
. . ; Bd(k +
3To have an effective estimation, there should be at least one I frame in the
previous M frames, i.e., M should be larger than the GOP size.
372
Fig. 4. Encoder and decoder buffer occupancies of one DB-TFRC flow, one GM-TFRC flow, and one VB-TFRCC flow in Scenario 1. (a) Encoder buffer. (b)
Decoder buffer. Top: DB-TFRC. Middle: GM-TFRC. Bottom: VB-TFRCC.
373
Fig. 5. Sending rate of one GM-TFRC flow and one VB-TFRCC flow in Scenario 1 when
is, respectively, set to 0.15 and 0. Top:
is set to 0.15. Bottom:
is
set to 0.
Fig. 6. Sending rate of one GM-TFRC flow and one VB-TFRCC flow in Scenario 2.
Both the encoder buffer size and decoder buffer size are set to
400 kB. In this scenario, the standard video sequence of coastguard (300 frames) in QCIF format is circularly used as the
video source.
Setting the end-to-end delay sufficiently large is usually considered an effective way of protecting the continuous playback
of multimedia applications. However, from Fig. 7(b), we can
find that even with very large end-to-end delay, DB-TFRC
and GM-TFRC still cannot achieve satisfactory performance.
Within the first 200 s, the available bandwidth is larger than
the maximum admissible value constrained by the buffer sizes.
So their decoder buffers overflow. Between 200 and 400 s,
the available bandwidth may be sometimes smaller than the
minimum bandwidth requirement of the video source. So the
data in the encoder buffers of DB-TFRC and GM-TFRC cannot
be sent out timely, which causes the underflow of their decoder buffers. VB-TFRCC, on the other hand, can successfully
avoid the underflow and overflow of the decoder buffer by
temporarily adapting its sending rate to support the urgent QoS
requirements of the application.
D. Summary of the Simulation Results
In all the scenarios, VB-TFRCC can better support the QoS
requirements of the application, and avoid/reduce the underflow or overflow of the decoder buffer. As a result, VB-TFRCC
can significantly reduce the video quality degradation due
to lost/late packets between the sender and the receiver, and
achieve higher average PSNR and smoother video quality than
DB-TFRC and GM-TFRC (see Tables IIII, where all the
entries are the average value of all the flows using the same
source rate/congestion control algorithm). This can also be
easily seen from Fig. 8. Note that very low PSNR values (e.g.,
less than 25 dB) in the figure typically indicate an effective loss
of base layer packet for a frame, which introduce significant
quality loss for that frame and the subsequent frames.
Although TFRCC may sometimes make its sending rate temporarily violate TCP-friendliness, from Table IV, we can find
that it can still achieve good long-term TCP-friendliness and internal fairness by using the rate-compensation algorithm. One
may concern about how the overall network performance is affected when short-term TCP-friendliness is broken. To address
374
Fig. 7. Decoder buffer occupancies of one DB-TFRC flow, one GM-TFRC flow, and one VB-TFRCC flow in Scenario 2 and 3. (a) Scenario 2. (b) Scenario 3.
Top: DB-TFRC. Middle: GM-TFRC. Bottom: VB-TFRCC.
TABLE I
PSNR OF DB-TFRC, GM-TFRC, AND VB-TFRCC IN SCENARIO 1 (
= 0:15)
TABLE II
PSNR OF DB-TFRC, GM-TFRC, AND VB-TFRCC IN SCENARIO 2
TABLE IV
TCP-FRIENDLINESS(TF) AND INTERNAL FAIRNESS (IF) OF TFRC AND TFRCC
TABLE III
PSNR OF DB-TFRC, GM-TFRC, AND VB-TFRCC IN SCENARIO 3
375
TABLE V
THE OVERALL NETWORK PERFORMANCE (INCLUDING THE OVERALL
PACKET LOSS RATIO IN THE NETWORK AND THE UTILIZATION RATIO OF THE
BOTTLENECK BANDWIDTH) WHEN USING TFRC/TFRCC
, the past
frame sizes
, and the sending rate
from time
, according to (2), we have
ACKNOWLEDGMENT
to
(17)
Then we use the sending rate to estimate the receive rates
, and have
(18)
To avoid the decoder buffer underflow, it is needed that
(19)
Combining (18) and (19), it can be easily derived that
[1] S. Shakkottai, T. S. Rappaport, and P. C. Karlsson, Cross-layer design for wireless networks, IEEE Commun. Mag., vol. 41, no. 10, pp.
7480, Oct. 2003.
[2] M. Handley, S. Floyd, J. Padhye, and J. Widmer, TCP friendly rate
control (TFRC): Protocol specification, in IETF RFC 3448, Jan. 2003.
[3] B. Xie and W. Zeng, Rate distortion optimized dynamic bitstream
switching for scalable video streaming, in Proc. IEEE Int. Conf. Multimedia and Expo, Taipei, Taiwan, Jun. 2004.
[4] J. Widmer, R. Denda, and M. Mauve, A survey on TCP-friendly congestion control, IEEE Network, vol. 15, no. 3, pp. 2837, May 2001.
[5] B. Wang, J. F. Kurose, P. J. Shenoy, and D. F. Towsley, Multimedia
streaming via TCP: an analytic performance study, Proc. ACM Multimedia04, pp. 908915, Oct. 2004.
[6] A. Sehgal, O. Verscheure, and P. Frossard, Distortion-buffer optimized tcp video streaming, in Proc. IEEE Int. Conf. Image Processing
(ICIP), Oct. 2004, pp. 20832086.
[7] P. de Cuetos, P. Guillotel, K. W. Ross, and D. Thoreau, Implementation of adaptive streaming of stored mpeg-4 FGS video over TCP, in
Proc. IEEE Int. Conf. Multimedia and Expo (ICME), Aug. 2002, pp.
405408.
[8] D. Bansal and H. Balakrishnan, Binomial congestion control algorithms, in Proc. IEEE Infocom, Apr. 2001, pp. 631640.
[9] Y. R. Yang and S. S. Lam, General AIMD congestion control, in
Proc. 8th IEEE Int. Conf. Network Protocols, Nov. 2000, pp. 187198.
[10] L. Cai, X. Shen, J. Pan, and J. W. Mark, Performance analysis of TCPfriendly AIMD algorithms for multimedia applications, IEEE Trans.
Multimedia, vol. 7, no. 2, pp. 339355, Apr. 2005.
[11] N. R. Sastry and S. S. Lam, CYRF: A theory of window-based unicast congestion control, IEEE/ACM Trans. Netw., vol. 13, no. 2, pp.
330342, Apr. 2005.
[12] R. Rejaie, M. Handley, and D. Estrin, RAP: An end-to-end rate-based
congestion control mechanism for real-time streams in the internet, in
Proc. IEEE INFOCOM99, Mar. 1999, pp. 13371345.
[13] D. Sisalem, TCP-Friendly Congestion Control for Multimedia Communication in the Internet, Ph.D. dissertation, Tech. Univ. Berlin,
Berlin, Germany, 2000.
[14] T. Kim, S. Lu, and V. Bharghavan, Improving congestion control performance through loss differentiation, in Proc. IEEE Int. Conf. Computers and Communication Networks, Oct. 1999, pp. 412418.
376
[15] Y.-G. Kim, J. Kim, and C.-C Jay Kuo, TCP-friendly Internet video
with smooth and fast rate adaptation and network-aware error control,
IEEE Trans. Circuit Syst. Video Technol., vol. 14, no. 2, pp. 256268,
Feb. 2004.
[16] J. Widmer, C. Boutremans, and J. -Y. Le Boudec, End-to-end congestion control for TCP-friendly flows with variable packet size, ACM
SIGCOMM Comput. Commun. Rev., vol. 34, no. 2, pp. 137151, Apr.
2004.
[17] S. Floyd and E. Kohler, TCP friendly rate control (TFRC) for voice:
VoIP variant and faster restart, Internet Draft, IETF, Feb. 2005.
[18] J. Vieron and C. Guillemot, Real-time constrained TCP-compatible
rate control for video over the Internet, IEEE Trans. Multimedia, vol.
6, no. 3, pp. 634646, Aug. 2004.
[19] S. Jacobs and A. Eleftheriadis, Streaming video using TCP flow control and dynamic rate shaping, J. Vis. Commun. Image Repres., vol. 9,
no. 21, pp. 1222, 1998.
[20] M. Kalman, E. Steinbach, and B. Girod, Adaptive media playout for
low-delay video streaming over error-prone channels, IEEE Trans.
Circuits Syst. Video Technol., vol. 14, no. 6, pp. 841851, Jun. 2004.
[21] C. -Y. Hsu, A. Ortega, and A. R. Reibman, Joint selection of source
and channel rate for VBR video transmission under ATM policing constraints, IEEE J. Sel. Areas Commun., vol. 15, no. 6, pp. 10161028,
Aug. 1997.
[22] W. -C. Feng and J. Rexford, Performance evaluation of smoothing
algorithms for transmitting prerecorded variable-bit-rate video, IEEE
Trans. Multimedia, vol. 1, no. 3, pp. 302313, Sep. 1999.
[23] S. Sen, J. L. Rexford, J. K. Dey, J. F. Kurose, and D. F. Towsley, Online smoothing of variable-bit-rate streaming video, IEEE Trans. Multimedia, vol. 2, no. 1, pp. 3748, Mar. 2000.
[24] P. de Cuetos and K. W. Ross, Adaptive rate control for streaming
stored fine grained scalable video, in Proc. NOSSDAV, May 2002, pp.
312.
[25] T. Kim and M. H. Ammar, Optimal quality adaptation for scalable encoded video, IEEE J. Sel. Areas Commun, vol. 23, no. 2, pp. 344356,
Feb. 2005.
[26] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, RTP: A
transport protocol for real-time applications, FETE RFC 3550, Jul.
2003.
[27] J. Widmer and M. Handley, TCP-friendly multicast congestion control (TFMCC): Protocol specification, Internet Draft, IETF, Oct. 2004.
[28] J. Ribas-Corbera, P. A. Chou, and S. L. Regunathan, A generalized hypothetical reference decoder for h.264/avc, IEEE Trans. Circuit Syst.
Video Technol, vol. 13, no. 7, pp. 674687, Jul. 2003.
[29] S. Floyd and S. McCanne, Network Simulator LBNL public domain
software [Online]. Available: ftp.ee.lbl.gov., http://www.isi.edu/
nsnamlns/.
[30] H. M. Radha, M. van der Schaar, and Y. Chen, The MPEG-4 finegrained scalable video coding method for multimedia streaming over
IP, IEEE Trans. Multimedia, vol. 3, no. 1, pp. 5368, Mar. 2001.
[31] J. Padhye, Towards a Comprehensive Congestion Control Framework
JBR Continuous Media Flows in Best Effort Network, Ph.D. dissertation, Univ. Massachusetts, Amherst, 2000.
[32] P. Zhu, W. Zeng, and C. Li, Cross-layer design of source rate control and qos-aware congestion control for wireless video streaming, in
Proc. IEEE Int. Conf. Multimedia and Expo (ICME), Jul. 2006.
Peng Zhu received the B.S. degree in electrical engineering, the M.S. degree, and the Ph.D. degree in automation from Tsinghua University, Beijing, China,
in 2000, 2003, and 2006, respectively.
Currently, he is an Associate Senior Researcher
with Hitachi (China) R&D Corp. His research interests include multimedia networking, optical access
network, IPTV, control theory and applications.
Chunwen Li received the B.E. degree, the M.E. degree in control theory, and the Ph.D. degree in control engineering from Tsinghua University, Beijing,
China, in 1982, 1985, and 1989, respectively.
He joined the Teaching Staff at the Department of
Automation, Tsinghua University, in 1989, where he
is currently a Professor of Information Science and
Technology. His current research interests center
around nonlinear control, network control, and
power system control.