ACM Multimedia 97 - Electronic Proceedings

November 8-14, 1997

Crowne Plaza Hotel, Seattle, USA


A Framework for Supporting Previewing and VCR Operations in a Low Bandwidth Environment

Wallapak Tavanapong
Department of Computer Science
University of Central Florida
Orlando, FL 32816-2362
Email:tavanapo@cs.ucf.edu
http://www.cs.ucf.edu/~tavanapo

Kien A. Hua
Department of Computer Science
University of Central Florida
Orlando, FL 32816-2362
Email:kienhua@cs.ucf.edu
http://www.cs.ucf.edu/~kienhua

James Z. Wang
Department of Computer Science
University of Central Florida
Orlando, FL 32816-2362
Email:zwang@cs.ucf.edu
http://www.cs.ucf.edu/~zwang


ACM Copyright Notice


Abstract

We propose a novel delivery mechanism called 2-Phase Service Model to deliver video data to home users connected to the Internet through a low-bandwidth device such as a modem. In our scheme, non-adjacent fragments of the requested video file are first downloaded to the client during Initialization Phase. The missing fragments are transmitted to the client as the video is being played out, using a novel pipelining technique. This scheme offers several benefits as follows. First, it allows the user to perform a quick preview through the video with minimal delay. Second, it naturally supports VCR functionality with almost no delay as demonstrated by the simulation results shown in the paper. Finally, our mathematical analysis shows that despite the desirable features it offers, 2-Phase Service Model does not incur any more initialization delay than that of the conventional pipelining technique.


Keywords

Video player, VCR functions, home users, World-Wide-Web, digital libraries, pipelining


Table of Contents


1. Introduction

World-Wide-Web has become extremely popular during the recent years. It enables a wide variety of information to be disseminated to a wide range of users including home users who typically access the Web from home via modems. Though modem technology has advanced to operate at a higher speed (e.g, 57600 bps), its bandwidth is still significantly low compared to that obtained in Local Area Networks (LANs) or Wide Area Networks (WANs).

The modem bandwidth is barely enough to support the retrieval of texts and graphics which are the primitive media types offered on the Web. As the Web progresses to provide continuous media (e.g., audios and videos), the narrow bandwidth of the modem implicitly limits the access to these media to those home users who can tolerate either long wait time or highly jittering pictures.

Figure 1 depicts a simplified on-demand video streaming over the Web. A home user visits the Web site which provides meta information about video clips (i.e., video titles, descriptions, and playback rates). Once the user selects a video, the web server returns a video script corresponding to the selected video to the user's web browser (Label 1 in Figure 1). The web browser then invokes a local video player, which interprets the script, and makes a connection to the video server specified in the script (Label 2 in Figure 1). After some negotiation between the video server and the player, the video object is streamed to the player.

  figure125
Figure 1: An environment for video service in WWW.  

Two approaches are available for streaming a video object to a remote player:

Approach I : This approach encodes the video object such that the playback bit rate requirement is less than the modem transmission rate. This is achieved today by reducing the video quality. A significant advantage of this approach is that the users will experience a small delay once the video selection has been made. They can start watching the video as soon as the first frame arrives. To avoid unacceptable video quality due to network congestion, the player may buffer some small number of frames before the normal playback is allowed.

Approach II : This approach aims at providing a better video quality (e.g., MPEG encoding). As a result, a longer service delay is expected since the playback bit rate is essentially higher than what the modem can sustain. Pipelining technique can be used to reduce the long wait time. That is, at the video server, each video file is divided into a sequence of slices tex2html_wrap_inline819 such that the playback time of tex2html_wrap_inline821 must eclipse the time to materialize tex2html_wrap_inline823 (i.e., downloading tex2html_wrap_inline823 ) where tex2html_wrap_inline827. While the player displays tex2html_wrap_inline829, it continues to receive tex2html_wrap_inline831 . After tex2html_wrap_inline829 is played, the player proceeds to play tex2html_wrap_inline831 while receiving tex2html_wrap_inline837 , and so on. Pipelining technique reduces the wait time since the playback can begin as soon as the first slice of the object (i.e., tex2html_wrap_inline829 ) has been downloaded.

A drawback of pipelining is that it can only be done in the forward direction making it unsuitable for implementing VCR-style operations.

Despite the employment of the pipelining technique, a significant delay is still unavoidable in the low bandwidth environment if decent video quality is insisted. To encourage the home users to wait for the service, we propose a framework for a novel delivery mechanism called 2-Phase Service Model (2PSM) which offers several desirable features over the conventional pipelining technique as follows:

The remainder of this paper is organized as follows. In Section 2, we review the conventional pipelining scheme to make the paper self-contained. In Section 3, we present our proposed technique in details. Implementation effort is discussed in Section 4. We develop a simulation model and measure the performance of our technique compared to that of the pipelining approach in Section 5. In Section 6, we analyze the initialization delay for both techniques. Finally, we give our concluding remarks and discuss our on-going and future research in Section 7.

<-- Table of Contents


2. Pipelining Approach

In this section, we review the concept of the pipelining mechanism, and summarize some analyses relevant to this paper. Interested readers are referred to [Ghand94, Wang96, Hua97] for more detail.

A video file is logically divided into a sequence of slices tex2html_wrap_inline819 , where the playback time of tex2html_wrap_inline821 must eclipse the time required to materialize tex2html_wrap_inline823 , tex2html_wrap_inline849 . This time is dominated by the transmission time of tex2html_wrap_inline823 for systems whose communication bandwidth is a bottleneck. As soon as the entire first slice ( tex2html_wrap_inline829 ) has been downloaded, the playback can begin. Figure  2 illustrates the pipelining mechanism.

  figure145
Figure 2: Pipelining mechanism.  

Let S represent a video file, and |S| be its size (in bits). We define a Production Consumption Rate (pcr) as a ratio between the average download rate (m) (i.e., the speed of the modem in bps) and the average playback rate (p) in bps. Thus, we have

pcr = tex2html_wrap_inline867 .

Since the time to download tex2html_wrap_inline823 must eclipse the time to playback tex2html_wrap_inline821 , the following holds:

eqnarray154

where tex2html_wrap_inline827 . |X| denotes the size (in bits) of a slice X, where tex2html_wrap_inline879 .

Since tex2html_wrap_inline881 and tex2html_wrap_inline883 ,

eqnarray167

Since the time to download the sequence of tex2html_wrap_inline885 tex2html_wrap_inline887 is equal to the time to playback the sequence of tex2html_wrap_inline889 tex2html_wrap_inline891 . We have

eqnarray172

We choose the size of the last slice tex2html_wrap_inline893 to be that of a minimum retrieval unit (i.e., a group of frames (GOF)) to reduce the initialization delay (i.e., tex2html_wrap_inline829 needs to be as small as possible). GOF represents a decodable unit whose frames in the unit can be decoded independently from other units. For example, GOF for MPEG [Mpeg92] videos contains a sequence of I-, P-, and B-frames.

Since the average size (in bits) of GOF ( tex2html_wrap_inline897 ) is much smaller than |S|, we can approximate the size of the first slice tex2html_wrap_inline901 as

eqnarray180

<-- Table of Contents


3. 2-Phase Service Model

Pipelining allows one to reduce the initialization latency. However, it is not suitable for search operations such as fast-forward or fast-reverse. To provide the preview feature and allow quick search operations, 2PSM logically organizes video files stored at the server as illustrated in Figure 3.

  figure185
Figure 3: Logical video file organization for 2PSM.  

Each video file is divided into a sequence of playback units ( tex2html_wrap_inline905 ). Each unit consists of a pair of L-fragment and R-fragment. Thus, the two types of fragments interleave each other throughout the video file. All L-fragments are first downloaded before the R-fragments are downloaded. The L-fragment and the R-fragment contain l and r number of GOFs, respectively.

2PSM consists of two phases as follows:

We note that once the playback is initiated, a playback buffer is used to assemble the playback units using the R-fragments from the server and the corresponding L-fragments from the local L-file.

To ensure continuous play, the time required to download the tex2html_wrap_inline921 R-fragment tex2html_wrap_inline923 must eclipse the time to playback the playback unit tex2html_wrap_inline925 , for tex2html_wrap_inline827 .

Let tex2html_wrap_inline929 and tex2html_wrap_inline931 be the sizes (in bits) of the tex2html_wrap_inline921 R-fragment ( tex2html_wrap_inline935 ) and a playback unit tex2html_wrap_inline937 , respectively. The continuous requirement can now be expressed mathematically as follows:

  eqnarray205

Unlike the conventional pipelining technique, in which the sizes of the slices vary significantly, the sizes of the R-fragments and the L-fragments are reasonably uniform in 2PSM. Let tex2html_wrap_inline939 , tex2html_wrap_inline941 , and tex2html_wrap_inline943 be the average sizes (in bits) of an L-fragment, an R-fragment, and a playback unit, respectively. Equation (1) can be estimated in terms of the average values as follows:

eqnarray216

Substitute the Production Consumption Rate (pcr) for tex2html_wrap_inline947 ; the following holds:

eqnarray228

After some number of GOFs of the L-fragments, say v, are downloaded in the Initialization Phase, the user is allowed to preview the video. That is, the player plays the already downloaded GOFs, and skips those that have not been downloaded. v is a tuning parameter, which depends on several factors such as the types of videos and amount of wait time users are willing to tolerate. For example, if the video is of head-talking type, which has few changes in the scene, v could be small. However, if the video is of action type, where one frame is much different from neighboring frames, v could be larger. Nevertheless, v should not incur more wait time than what users can tolerate. As the Initialization Phase proceeds, the quality of the preview is gradually increased as more L-fragments are downloaded.

We present three different strategies to download the L-fragments: Linear strategy, Spreading strategy, and Binary-tree strategy. These strategies show our effort to improve the preview quality defined in this paper as how well the preview covers the entire video. We note that if the slice tex2html_wrap_inline829 is used to allow previewing in the conventional pipelining technique, the preview quality is very poor because all L-fragments are clustered at the begining of the file. As a result, the preview covers only the beginning of the video.

Recall that 2PSM divides the video file into a number of playback units, say n. Each unit contains an L-fragment and an R-fragment consisting of l and r GOFs, respectively. v is the number of GOFs required before a preview is allowed.

Linear strategy: This strategy further refines the Initialization Phase into l steps. Let tex2html_wrap_inline971 denote the tex2html_wrap_inline921 GOF of the L-fragment tex2html_wrap_inline975 for tex2html_wrap_inline977 . This scheme downloads the tex2html_wrap_inline921 GOF of each L-fragment during Step i for tex2html_wrap_inline983 . After Step l, tex2html_wrap_inline985 is downloaded to complete the Initialization Phase. This strategy is illustrated in Figure 4. It shows three steps of downloading. We assume that tex2html_wrap_inline987 , where n is the total number of playback units. Figure 4 indicates that the user is allowed to preview the video as soon as the start of Step 3. The player plays the first two consecutive GOFs. It, then, skips 11 GOFs, and plays the next two consecutive GOFs. This pattern is repeated until the player reaches the end of the file. We note that the preview covers the entire video very well. The user can repeat the preview many times. The preview quality improves progressively for each subsequent preview as the player has downloaded more data from the L-fragments.

 

figure239


Figure 4: 2PSM : Linear strategy.  

Spreading strategy: This strategy aims at evenly spreading GOFs of the L-fragments being downloaded in the Initialization Phase throughout the playback unit (i.e., each GOF downloaded in this step is of k distance away from the GOF downloaded in the previous step where k is a constant). The Initialization Phase consists of l steps. During Step i for tex2html_wrap_inline983 , the L-fragment tex2html_wrap_inline971 is downloaded. tex2html_wrap_inline971 denotes the tex2html_wrap_inline921 GOF of the L-fragment tex2html_wrap_inline975 for tex2html_wrap_inline977 . tex2html_wrap_inline1009 where tex2html_wrap_inline1011 . After Step l, tex2html_wrap_inline985 is downloaded to complete the Initialization Phase. Figure 5 shows 3 steps of downloading. Each L-fragment contains 3 non-consecutive GOFs. After Step 2 is completed, the preview is allowed if v is assumed to be tex2html_wrap_inline1017 . The player plays GOFs 0, 4, 13, 17, and so on during the preview.

 

figure243


Figure 5: 2PSM : Spreading strategy.  

Binary-tree strategy: To make the quality of the preview more smooth, the GOFs downloaded during the Initialization Phase can be more spread out in the video. This is achieved in the Binary-tree strategy by choosing the size of the L-fragment or the size of the R-fragment to be one GOF as follows. If pcr > 0.50, the size of the L-fragment is chosen to be one GOF. Otherwise, we choose the size of the R-fragment to be one GOF. This strategy is illustrated in Figure 6. Each playback unit is shown vertically. The size of each L-fragment is assumed to be one GOF. The playback order is from left to right. The downloading of the L-fragments, however, follows a different order. The Initialization Phase is divided into k steps. After Step k, tex2html_wrap_inline985 is downloaded. Assume that there are n playback units numbered from 0 to n-1. If tex2html_wrap_inline1029 , during Step i where tex2html_wrap_inline1031 , the L-fragments , for tex2html_wrap_inline1035 are downloaded. That is, during Step 1, tex2html_wrap_inline1037 is downloaded (e.g., GOF 90 in Figure 6). In Step 2, tex2html_wrap_inline1039 and tex2html_wrap_inline1041 are downloaded (e.g., GOF 42 and 138 in Figure 6). However, when n is not tex2html_wrap_inline1045 , there does not seem to have a formula to compute which L-fragments should be downloaded. To facilitate the Binary-tree strategy in all cases, we build a binary tree which has all GOFs of the L-fragments as its nodes. During Step i, the nodes at the tree level i are downloaded from left to right. In other words, the downloading order is the breadth-first traversal order of the tree. We note that the root node of the tree is at level 1. With efficient implementation, building the tree and traversing the tree result in linear time complexity [Horowitz89]. We note that the playback order can be seen as the depth-first traversal order of the tree.

 

figure247


Figure 6: 2PSM : Binary-tree strategy.  

Figure 6 shows 4 steps of downloading. The L-fragments can be seen as forming a binary tree. These fragments are downloaded in the following order: 90, 42, 138, 18, 66, 114, 162, and so forth. The preview can begin as soon as Step 3 is finished if at least 7 GOFs are enough for previewing. During the preview, the player plays GOFs 18, 42, 66, 90, 114, 138, and 162, respectively.

Since L-fragments are downloaded first and are spread throughout the video file, fast-forward is implemented simply by playing these L-fragments in a forward direction. Fast-reverse is achieved by playing them in a reverse direction. When the normal play is resumed, the corresponding R-fragment of the the playback unit at the resumption point needs to be downloaded if it is not cached locally. The normal play can begin as soon as the R-fragment has been downloaded.

<-- Table of Contents


4. Implementation Effort

We are currently implementing 2-Phase Service Model using the Continuous Media Toolkit (CMT)  [Smith96]. The system is functioning, but not very stable to perform fruitful experiments. Nevertheless, it gave us more insight on our technique when adapted to a practical environment.

CMT provides a flexible and complete programming environment for developing continuous media applications on several platforms. CMT extends Tcl/Tk and Tcl-DP to support media in continuous domain. It supports several video file formats such as MPEG, Motion JPEG, and H.261. Transport protocols such as RTP and UDP can be used to deliver the media to the client.

The current prototype implements the linear downloading strategy for L-fragments on a Linux system. The GOFs are stored in the server in the same order they are downloaded to facilitate sequential access. To minimize disk seek overhead, we reorganize the video file at the server in advance according to the transmission order of the GOFs. Once the re-organization is done, the server could send the media data in the order as described in the previous section, yet retrieve the data from its disk sequentially.

We modify cmplayer [Patel96] to accept an additional parameter called preview in a CM script file. Cmplayer interprets the script file for several types of information such as hostnames of the media servers, locations of the media files, etc. Preview parameter indicates the wait time required (in secs) before a preview is allowed. We note that the script file can be saved on a local disk and possibly be changed by the user to some unreasonable value. In such cases, the player must ensure that enough L-fragments are downloaded, and ignore the value of the preview.

At the current stage, we focus on supporting MPEG-1 videos. Figure 7 shows CMT objects related to our prototype. At the server, MPEGSegment object periodically prepares MPEG frames for PacketSource object. In each cycle, MPEGSegment object determines the number of frames, the frames to be transmitted, and their transmission order. MPEGSegment object relies on MPEGDataFile object to retrieve the needed MPEG frames from the server disk. PacketSource object reorgarnizes these frames into packets and transmits them to PacketDest object residing on the client. PacketDest object assembles the packets and passes them to MPEGPlay object. PacketSource and PacketDest objects employ UDP transport protocol and handle all low level communication including packet loss and retransmission of the lost packets. MPEGPlay object reassembles the frames, and MPEGSoftwareDevice object renders these frames on to the screen. We modify MPEGDataFile, MPEGSegment, and MPEGPlay objects to function as described in Section 3.

  figure314
Figure 7: Flow of media data through CMT objects.  

4.1 Handling Frame Loss

Under UDP protocol [Kochan89], media data could arrive at the player in different order. It also could get lost while traveling through the network. Several protocols have been developed to reduce the lost rate [Jeffay92, Tally94]. When experiencing frame loss or unexpected out-of-sequence frames, 2PSM adjusts itself as follows:

<-- Implementation Effort

4.2 Handling Fast-Forward and Fast-Reverse operations

The user can perform fast-forward and fast-reverse as soon as the Playback Phase begins. The player plays the L-fragments and skips the R-fragments during the fast-forward and the fast-reverse.

Fast-forward: If the user presses the fast-forward button while the player is playing the frame belonging to some L-fragment, the player plays all subsequent frames of the same L-fragment. It, then, skips the R-fragment of this playback unit to play the L-fragment of the next playback unit. If the user presses the button while the player is playing the frame of some R-fragment, the player skips the entire playback unit to play the L-fragment of the next playback unit. When the user resumes the normal play at some playback unit, a small delay is experienced since the R-fragment of this unit must be downloaed before the normal play can begin. This is illustrated in Figure 8. A video file can be seen as a sequence of GOFs. The shaded area of the sequence represents the L-fragments while the non-shaded area represents the R-fragments. The playback sequence shows the frames that are played and those that are skipped during the fast-forward. The skipping is represented by the dash lines. The shaded area on the time line represents the time periods that the movie is being played out. The non-shaded area shows a small delay that may be experienced due to the downloading of the needed R-fragment.

  figure329
Figure 8: Fast-forward.  

Fast-reverse: If the user performs fast-reverse while the player is showing the frame of some L-fragment, the player plays all previous frames of the same L-fragment backward. It, then, skips backward to play the L-fragment of the previous playback unit in the reverse direction. If the user presses the fast-reverse button while the player is showing the frame of some R-fragment, the player simply skips the current playback unit to play the L-fragment of the previous playback unit. Before the normal play can be resumed at some playback unit, the R-fragment of the unit must be downloaded if it is not cached locally. This results in a small delay as illustrated as a white area on the time line in Figure 9.

  figure334
Figure 9: Fast-reverse.  

<-- Implementation Effort
<-- Table of Contents


5. Performance Study

In this section, we evaluate the performance of 2PSM by comparing it to the conventional pipelining approach. We develop a simulation model and measure the performance of the two techniques based on the following metrics.

Average Fast-Forward Resumption Time: The average time taken for a player to resume the normal play after the user has located the resumption point in the future (i.e., playing in fast-forward mode).

We recall that in 2PSM, the playback phase cannot start until the first R-fragment ( tex2html_wrap_inline985 ) has been downloaded to ensure a continuous playback. The same requirement applies when a fast-forward takes the playback to some future point in the video. The R-fragment of the playback unit, which contains the desired resumption point, must first be downloaded before the normal play can resume. Fortunately, this delay should be very brief. In the case of conventional pipelining, however, the delay can be very significant since many of the data slices are large. These bigger slices must be downloaded before the resumption. Therefore, a longer delay is expected.

Average Fast-Reverse Resumption Time: An average time taken for the player to resume the normal play after the user has located the resumption point in the previous playback unit (i.e., playing in fast-reverse mode). We assume that the player caches the downloaded media data on its local disk once they are received.

It first seems that fast-reverse would not incur any communication overhead due to the caching of the downloaded data. However, a fast-forward can cause the player to skip forward to a future point. Some time later, a fast-reverse may take the playback to a video frame skipped earlier. In order for the video player to resume the normal play starting from this frame, one or more missing frames must first be downloaded causing a delay in the resumption.

Preview Delay: The time taken since the player contacts the server until the preview is available. This metric is only applicable to 2PSM since the preview feature is not available in the conventional pipelining technique.

Since communication bandwidth is the bottleneck in our environment, the metrics mentioned above are measured based solely on the communication overhead as it dominates other costs.

5.1 Simulation Model

The model focuses on the user's behavior during the playback period. The simulator maintains 2 pointers: display pointer and download pointer. The display pointer records the retrieval unit being displayed, while the download pointer keeps track of the retrieval unit being downloaded. The time to display one retrieval unit (GOF) is one second. That means, at every second, the display pointer is advanced. The download pointer is advanced only when the time to download the entire retrieval unit has passed (i.e., depending on the modem transmission rate). Initially, the display pointer and the download pointer are set to the first retrieval unit. The simulator proceeds as follows:

<-- Performance Study

5.2 Simulation Results

We use the following parameters and their values in our study.

5.2.1 Effect of VCR Functions

We fixed m and p at 57600 and 288000 bps, respectively, and varied f between 60 and 300. In other words, the video length was varied between 1 and 5 minutes. The results are shown in Figure 10 and  11.

  figure396
Figure 10: Average fast-forward resumption time.  

Figure 10 demonstrates that 2PSM requires much less time to resume after playing in fast-forward mode than that required in the pipelining scheme. For example, when the video length is 5 minutes, 2PSM takes under 10 seconds to resume, while pipelining takes about 43 seconds. Moreover, 2PSM is invulnerable to the increase in the video length, while the pipelining scheme is severely affected. This is because 2PSM needs to download only the R-fragment of the desirable playback unit, while the pipelining scheme needs to download a much bigger slice to ensure the continuous play after resumption. The fact that the resumption times of 2PSM is insensitive to the video size is a very desirable property.

  figure401
Figure 11: Average fast-reverse resumption time.  

Figure 11 shows that the pipelining scheme requires less time to resume than that of 2PSM after playing in fast-reverse mode. However, the difference is under 5 seconds. Fast-reverse mostly jumps back to play already displayed frames, which are cached locally. These cases result in no communication overhead. Nevertheless, there are cases where fast-forward skips some frames, and fast-reverse jumps back to play those frames. This causes 2PSM to download an R-fragment before it resumes while most of the skipped frames are already downloaded before the fast-forward occurs for the pipelining scheme. As a result, the pipelining scheme incurs a very small resumption time.

When compared Figure 10 to Figure 11, we notice that the average resumption times in either direction (i.e., forwarding or reversing) are consistent for 2PSM, while they are so much different in the pipelining scheme. Small and consistent resumption times is another important property to enhance users' satisfaction for the service.

<-- Simulation Results

5.2.2 Preview Delay

We set up the same parameters as in Section 5.2.1, and measured the preview delay. The results are plotted in Figure 12.

  figure410
Figure 12: Preview Delay vs Initialization Delay.  

We allow the user to preview as soon as Step 1 of 2PSM has finished. The preview is about 10% of the total retrieval units. Our preliminary experiments with our video player discussed in Section 4 suggest that a preview of 10% of the entire video is good enough to provide general ideas about the videos we experimented with.

Figure 12 demonstrates that the preview delay is much lower than the initialization delay. For example, when the video length is of 3 minutes, users are able to watch the preview after about 1.5 minutes of waiting, while the normal play can begin only after about 12 minutes. Thus, the user has the option to cancel the video after 1.5 minutes if it is not the desirable one, instead of having to waste the next 10.5 minutes for the wrong video. The figure also confirms our analysis that the initialization delay of both techniques are comparable.

<-- Simulation Results

5.2.3 Effect of Production Consumption Rate

In this experiment, we varied PCR (pcr) by varying the playback rate between 96000 and 480000 bps, and we fixed f at 180. Varying playback rate has the same effect to PCR as varying the modem transmission rate with fixed playback rate. Thus, the results of this experiment also explain the behavior of both techniques when the modem rate is lower than 57600 bps as we typically experience in many situations. The resumption time after fast-forward and fast-reverse for both techniques are shown in Figure 13.

  figure418
Figure 13: Effect of PCR.  

We observe that the resumption times for 2PSM are under 10 seconds and are in between those of the pipelining technique. Resumption times after playing in fast-reverse mode of both techniques are small and not affected by the increases in PCR. However, the resumption time after playing in fast-forward mode is much higher for pipelining when the PCR is small. That is, in most situations where the modem transmission rate is insufficient, the pipelining scheme incurs much more wait time than 2PSM.

<-- Simulation Results

<-- Table of Contents


6. Analysis of Initialization Delay

In this section, we demonstrate our mathematical analysis that 2PSM incurs no worse initialization delay than that of the pipelining technique. We formally define the initialization delay as follows:

Initialization Delay: Period of time measured since a player contacts the video server until the normal play can begin. Small initialization time without jitters during the playback is desirable.

We recall the following notations:

6.0.4 Pipelining Technique

We recall from Section 2 that

eqnarray437

Since the playback can begin as soon as the entire first slice tex2html_wrap_inline1169 is downloaded, the initialization delay for this scheme tex2html_wrap_inline1171 can be derived as follows:

eqnarray442

<-- Analysis of Initialization Delay

6.0.5 2PSM

2PSM can initiate the playback as soon as all L-fragments and the first R-fragment tex2html_wrap_inline1173 have been downloaded. To derive the initialization time, we first estimate the size of all L-fragments as follows:

eqnarray454

Since tex2html_wrap_inline1175 , we derive tex2html_wrap_inline1177 in terms of |S| as shown below:

eqnarray462

Substitute tex2html_wrap_inline1181 for tex2html_wrap_inline941 (from Section 3), we have

eqnarray471

The initialization delay of 2PSM tex2html_wrap_inline1185 is then estimated as follows.

eqnarray484

Since, tex2html_wrap_inline941 is much less than |S|,

eqnarray496

We can conclude that 2PSM does not incur any more wait time than that of the conventional pipelining technique.

<-- Analysis of Initialization Delay
<-- Table of Contents


7. Concluding Remarks

Video players playing videos from remote sites have not been popular in the homes due to the following reasons. They either have to sacrifice the playback quality (conventional data streaming technique), or they require long delay to initialize the client's buffer with a significant portion of the video (pipelining techniques). Furthermore, during the playback period, the user is only allowed to skip forward or reverse to some random position in the video instead of playing in fast-forward or fast-reverse mode.

2-Phase Service Model is designed to address these drawbacks. It offers a major step forward in making playback of remote videos from home more interesting. In particular, it allows the user to quickly preview a video to avoid waiting for an unintended one. The novel data fragmentation technique and the unique data streaming strategy provide a natural environment for implementing VCR-style operations. The efficient search makes it an excellent candidate for applications such as digital libraries and distance learning systems.

We are currently implementing a video player based on this technique. The system is currently functioning but not very stable. The preliminary observation of our prototype shows that it supports the features discussed very well. We are working to incorporate the audio capability and to further reduce the service delay.

<-- Table of Contents


Bibliography

[Mpeg92]
ISO Standard: IS 11172. Coding of moving pictures and associated audio - for digital storage media at up to about 1.5 Mbits/s. November 1992.

[Feng96]
Wu chi Feng, Farnam Jahanian, and Stuart Sechrest. Providing VCR functionality in a constant quality video-on-demand transportation service. In Proc. of IEEE Multimedia '96, pages 127-135, June 1996.

[Chen94]
M. Chen, D. Kandlur, and P. S. Yu. Support for fully interactive playout in a disk-array-based video server. In Proc. of ACM Multimedia, pages 391-398, 1994.

[Dan94]
A. Dan, D. Sitaram, and P. Shahabuddin. Scheduling policies for an on-demand video server with batching. In Proc. of ACM Multimedia, pages 15-23, October 1994.

[Kochan89]
S. G. Kochan et. al. Unix Networking. Hayden Books, IN, 1989.

[Ghand94]
S. Ghandeharizadeh and C. Shahabi. On multimedia repositories, personal computers, and hierarcical storage systems. In Proc. of ACM Multimedia, pages 407-416, October 1994.

[Horowitz89]
Ellis Horowitz and Sartaj Sahni. Fundamentals of Computer Algorithms. Computer Science Press, 1989.

[Hua97]
Kien A. Hua, James Z. Wang, and Simon Sheu. BiHOP: A bidirectional highly optimized pipelining technique for large-scale multimedia servers. In Proc. of the IEEE INFOCOM'97, Kobe, Japan, April 1997. (to appear).

[Patel96]
Ketan M. Patel, David Simpson, David Wu, and Lawrence A. Rowe. Synchornized continuous media playback through the world wide web. In Proc. of the 4th ACM International Multimedia Conference, pages 435-436, Boston, MA, USA, November 1996.

[Smith96]
B. C. Smith, Lawrence A. Rowe Joseph A., Konstan, and Ketan D. Patel. The berkeley continuous media toolkit. In Proc. of the 4th ACM International Multimedia Conference, pages 451-452, Boston, MA, USA, November 1996.

[Tally94]
T. Talley and K. Jeffay. Two-dimensional scaling techniques for adaptive, rate-based transmission control of live audio and video streams. In Proc. of ACM Multimedia, pages 151-162, New York, October 1994.

[Jeffay92]
K. Jeffay D. L. Stone T. Talley and F. D. Smith. Adaptive, best-effort delivery of digital audio and video across packet switched networks. In Network and Operating System Support for Digital Audio and Video: Third Internationl Workshop, pages 1-12, November 1992.

[Wang96]
James Z. Wang, Kien A. Hua, and Honesty C. Young. SEP: a space efficient pipelining technique for managing disk buffers in multimedia servers. In Proc. of the IEEE int'l Conf. on Multimedia Computing and Systems, Hiroshima, Japan, June 1996.

[Wolf96]
W. Wolf, Y. Liang, M. Kozuch, H. Yu, M. Phillips, M. Weekes, and A. Debruyne. A digital video library on the world wide web. In Proc. of ACM Multimedia, pages 433-434, November 1996.

<-- Table of Contents