perceived video quality as inconsistent, start-stop
play out. By switching between different quality levels
during the stream, the mechanism makes a
fundamental trade-off by increasing the video
compression in an effort to preserve a consistent
frame rate at the client.
In this paper we focus on sender-driven quality
adaptation, for low-delay video streams, to minimize
any overheads at the client. In particular, we focus
on quality adaptation using stream switching, as it
has been shown to provide better viewing quality
than adding/dropping layers, due to the layering
overhead (Cuetos, 2001). First, we introduce an
adaptive stream switching mechanism for low-delay
video that does not require either modifications to
the network transport protocol at the sender or at the
receiver, or support from the network infrastructure.
By monitoring the application buffer occupancy, the
mechanism detects the network bandwidth variations
and estimates the current and future server buffer
drain delay, and accordingly it adapts the video
transmission rate to minimize the client buffer
starvation while ensuring that the adaptation affects
the perceptual quality at the client minimally. Then,
we show that by scaling the transport protocol send-
buffer according to the available bandwidth-delay
product, the adaptation accuracy can be improved
significantly.
Although the presented mechanisms are suitable
for video transport over AIMD-based transport
protocols in general, we chose to implement them
over Stream Control Transmission Protocol (SCTP)
(Stewart, 2000). SCTP is an AIMD-based transport
protocol, with many attractive features for video
transport than TCP. The most attractive features are
multi-streaming and multi-homing support. Multi-
streaming allows data to be partitioned into multiple
streams that have the property of being
independently delivered to the application at the
receiver. This means that the loss of a data chunk
that belongs to a certain stream will only affect the
delivery within that stream, without affecting the
delivery of other streams. This feature prevents
head-of-line blocking problem that can occur in
TCP, as TCP supports only a single data stream.
Multi-homing allows a single SCTP endpoint to
support multiple IP addresses. In its current form,
SCTP multi-homing support is only for redundancy.
In addition, SCTP provides different reliability
levels, which are more suitable for video transport
than the strict reliability provided by TCP (Blak,
2002). SCTP congestion control is similar to TCP,
thus ensured to be friendly to other TCP flows
sharing the same network (Brennan, 2001).
This paper is organized as follows. In section 2, we
present related work in video rate and quality
adaptation mechanisms. In Section 3, we describe
our system architecture. Section 4 describes the
adaptation mechanisms and the SCTP send-buffer
scaling. In Section 5, we evaluate the performance
for our proposed mechanisms. Section 6 concludes
the paper.
2 RELATED WORK
Multimedia adaptation has been studied for Internet
applications, and the adaptive control schemes can
be classified into receiver-driven and sender-driven.
Receiver driven schemes allow receivers
individually to tune the received transmission
according to their needs and capabilities. Mehra and
Zakhor (Mehra, 2003) modify the TCP protocol at
the receiver end to provide video streams a nearly
CBR connection over a bandwidth limited access
link. Hsiao et al (Hsiao, 2001) present Receiver-
based Delay Control (RDC) in which receivers delay
TCP ACK packets based on router feedback to
provide constant bit rate for streaming. While
receiver buffers can be used for smoothing out rate
fluctuations, buffering is limited by the end-to-end
latency limit.
A majority of the sender-driven algorithms may
be grouped under quality adaptation schemes.
Quality adaptation techniques can further be
classified into on-the-fly encoding, adding/dropping
layers, and switching among multiple encoded
versions. Kanakia et al (Kanakia, 1993) estimate the
buffer occupancy and the service rate received by
the connection at the bottleneck queue through
periodic feedback messages from the network. These
estimates are used to control the transmission rate of
each video frame on-the-fly by adjusting the encoder
quantization factor. However, in general, on-the-fly
encoding is CPU intensive and thus regarded as
unsuitable for streaming real-time video. In the
adding/dropping layers scheme, the video stream is
partitioned into several layers using scalable coding
schemes such as MPEG-4 FGS or interframe
wavelet video encoding. Video streaming
applications can add or drop enhancement layers to
adjust the transmission rate to the available
bandwidth. In the switching-versions scheme, the
video is encoded at different rates, and therefore
different quality levels, and each of these versions is
made available to the streaming server as an
independent stream. The server detects changes in
available bandwidth and switches among the input
streams, in order to adapt the transmission rate to the
available bandwidth. Quality adaptation that is based
on multiple encoded versions has been shown to
provide better viewing quality than adding/dropping
layers, due to the layering overhead (Cuetos, 2001).
STREAMING LOW-DELAY VIDEO OVER AIMD TRANSPORT PROTOCOLS
51