Scalable and interactive multimedia streaming over the internet (2006)

Streaming audio/video contents over the Internet requires large network bandwidth and timely delivery and playback of the media data. However, large network latency and jitter cause long start-up delay and frequent unwanted pauses in the playback, respectively. An entire audio/video media file cannot be cached due to intellectual property right concerns of the content owners, security reasons, and also due to its large size. This makes a streaming service hard to scale using conventional proxy caches. Media file compression using variable-bit-rate (VBR) encoding is often preferred in order to get constant quality compressed videos. VBR-encoding produces traffic burst, which not only wastes bandwidth but also inserts hiccup in the media playback. The standard frame sequence of a compressed video stream is only suitable for normal playback. Its inter-frame dependency makes it difficult to play it in interactive playback modes, such as fast forward/backward, jump and play backward. Moreover, different interactive clients generally ask for different playback sequences. Hence, they cannot be served together using a common server stream. Therefore, as the frequency of interaction increases, an ordinary scalable streaming service transforms into a non-scalable service. 
In this thesis, we present a new proxy based constant-bit-rate (CBR) streaming scheme that allows a server to transmit a VBR-encoded video at a fixed rate, close to its mean encoding bit-rate, and deals with the network latency and jitter issues efficiently without caching an entire media file at the proxy. We use a prefix buffer at the proxy to cache the prefixes of popular videos in order to minimize the start-up delay and to enable near mean bit rate streaming. We present a new proxy based scalable streaming scheme that uses our CBR streaming scheme. We use the smoothing buffer at the proxy not only to eliminate jitter and traffic burst effects but also to enable many clients to share the same server stream. We also present a new interactive and scalable streaming scheme, which divides a video stream into several logical segments and provides segment-by-segment interactive playback options to the clients. We use hybrid temporal-data-partition scalable encoding to create a suitable playback sequence for the interactive playback modes. Experimental result shows that our streaming scheme remains fully scalable even when all the clients are highly interactive. As further improvements, we present a new on demand and user driven segmentation and proxy buffer provisioning (prefix caching) mechanism for our interactive and scalable streaming scheme in order to avoid buffer over provisioning at the proxy as well as to avoid the use of complex video segmentation algorithms. We also present a new collaborative-proxy-peering system in order to get better resource utilization and performance from a set of proxies that are used to stream a video. 
Mathematical expressions to compute the precise sizes of the prefix and the smoothing buffers as well as the precise amounts of bandwidth requirements have been developed. All our streaming schemes have been analyzed and the results of Java simulation programs have shown their effectiveness.