6. Supporting VCR-Like Interactions


6. Supporting VCR-Like Interactions

An important functionality of a VOD system is to offer VCR-like interactivity. This section first introduces various interaction functions that a VOD system can support, then it discusses some techniques that handle such functions in both the multicast and the broadcast environments.

5.1 Forms of Interactivity

Videos are sequences of continuous frames. The frame being displayed to the monitor by a client is referred to as the current frame or the play point. The client watching the video can change the position of the play point to render another frame that is called the destination point. There exist two types of interactive functions, continuous interactive functions and discontinuous functions. In the first type of interactivity, a client continuously advances the play point one frame at a time at a speed that is different from the playback rate. The frames between the original play point and the destination point are all rendered to the monitor. Such interactions include the fast-forward and fast-reverse actions. In the second type of interactions, the user instantaneously changes the play point to another frame; such interactions are the jump forward and the jump backward interactions.

Furthermore, the interactions are divided into forward and backward interactions. Let's denote by b the playback rate, Δt the time taken by the interaction, and Δl the video length of the interaction in time unit. The Δl, in other words, is the difference between the current play point and the destination point. The parameter x [11] that represents all type of interactions is then defined as:

Table 31.1 gives the potential forward and backward interactions with the possible values of the parameter x.

Table 31.1: Backward and forward interactions.

Backward Interactions

Forward Interactions

Action

Jump Backward

Fast Reverse

Play Backward

Pause

Play

Fast Forward

Jump Forward

X

-

[-x1,-1)

-1

0

1

(1,x1)

+

A play action is therefore an action where its length over its duration equals to the playback rate. A fast forward action is when the length over the duration of the action is greater than the playback rate. In the case of a jump action, since the duration is zero, then the parameter x is infinite. A pause action is of length zero; therefore the parameter x is zero. Fast reverse, jump backward, and play backward are the exact opposite of fast forward, jump forward, and play respectively.

Figure 31.12 shows the position of the play point in the client buffer system after some interactions. The incoming frames fill up the buffer from one side while frames from the other side are discarded. After a play action of 2 frames the play point does not change its position. After a pause action, the play point follows the frame the user had paused in. After a fast forward action, the play point gradually moves toward the newest frame. After a jump backward, the play point instantly jumps towards an older frame in the buffer. From the figure, because a pause action is toward oldest frames, it is considered as a backward action. To complete the canonical world of interactions, there are two more actions, the slow forward with a parameter x (0,1) and the slow backward with x (-1,0). Both interactions are backward interaction for the same reason as the pause interaction.

click to expand
Figure 31.12: Play point position in the client buffer.

Another parameter, duration ratio representing the degree of interactivity, is defined as the portion of time a user spends performing interactions over the time spent on normal play. Blocked interactions are interactions that cannot complete due to some limitation of resources.

6.2 VCR Interaction Techniques

This section presents some techniques that handle VCR-interactions in both the multicast and broadcast environment. These techniques try to take full advantage of the data sharing of multicast delivery while providing VCR functionality to each client individually. When a user requests an interaction, the VOD system not only should provide the interaction but it should also guarantee a jitter-free playback when the user resumes from the interaction. A good interaction technique is the one that provides a small degree of blocked interactions with a high duration ratio.

In the multicast environment, the interactive multicast technique [3][4] schedules the delivery of the video in some specified time slots; such time slots could range from 6 seconds to 30 minutes. The video is delivered only if some requests are pending in the queuing server. Requests during the same time slot form one multicast group. Because the period of a slot is known, users that jump forward or backward change their multicast group. A user jumping forward changes its multicast group to a group that has been scheduled earlier, while a user jumping backward changes to a multicast group scheduled after its current group. If such multicast group does not exist, an emergency channel is issued to provide the service. The continuous actions are handled in the client buffer, which contains a multicast threshold. When incoming frames exceed the threshold, a multicast change occurs. Therefore, the continuous actions are performed within the buffer's limitation.

This technique provides only limited discontinuous actions; for example if the period of the slots are 5 minutes, users cannot jump 7 minutes. Furthermore, using emergency channels to accommodate users degrades the performance of the multicast paradigm.

The split and merge [20] protocol offers an efficient way to provide VCR interactivity. This protocol uses two types of stream, an S stream for normal playback of the video, and an I stream to provide interactive actions. When a user initiates an interactive operation, the user splits from its multicast group, and uses an I stream. After the completion of the interaction, the user merges from the I stream to a new multicast group. The split and merge scheme uses synchronized buffers located at the access node to merge the clients smoothly. If the merging fails, a new S stream is allocated to the user. The drawback of the split and merge protocol is that it requires an excessive number of I channels. Because all interactions are served using I streams, a blocked interaction is queued to be served as a new S stream, thus causing a high blocking rate of VCR interactions and therefore degrading multicast scalability.

The technique proposed in [1] improves the split and merge protocol by disregarding I channels whenever they are not needed. Some interactions do not need an I stream to be performed and can join directly a new multicast. In this technique the allocation of regular streams is independent from user's interaction behavior, and an I channel is only allocated if it is available and the user's buffer is exhausted by the VCR operation.

A typical merging operation in this scheme is composed of three steps. First, some frames in the client buffer are disregarded to free some buffer space for future frames. Second, the client buffer prefetches frames from the targeted S channel while displaying frames from the I channel. After an offset time, the client merges to the targeted channel and releases the I channel.

In the broadcast situation, because the system can support unlimited number of users, using guard or emergency channels to support VCR interactivity violates the intention of using periodic broadcast. In this environment, it was observed in [11][12] that the play point can be maintained at the middle of the video segment currently in the prefetch buffer in order to accommodate interactive actions in either forward or reverse direction equally well. Because, the position of the play point profoundly influences future interactions (see figure 12), keeping it in the middle enhances the chance of their completion. This is accomplished in [11][12] by selectively prefetching the segments to be loaded depending on the current position of the play point. This scheme is called Active Buffer Management; in [12] it extends the staggered broadcasting scheme and in [11] it extends the client centric approach periodic broadcast. In general, Active Buffer Management can be set to take advantage of the user behavior. If the user shows more forward actions than backward actions, the play point can be kept near the beginning of the video segment in the buffer, and vice versa.

The technique proposed in [27] improves on the duration ratio of the active buffer management technique by extending the client centric approach periodic broadcast. The broadcast-based interaction technique improves on the overall duration ratio by periodically broadcasting a compressed version of the video. Clients watching the compressed segments at the playback rate will have the impression of fast playing the normal video. The broadcast-based interaction technique retains the most desirable property of the broadcast approach, namely unlimited scalability. The technique divides the client buffer space into two parts, one part holds the normal version of the video, and the second part holds the compressed version. The two play points of the two separate buffers are held on the same frame throughout the download of the entire video. When the user initiates a discontinuous action, the play point of the normal buffer fetches the destination frame; if such frame does not exist, the user downloads the appropriate segment of the normal video. However, when a continuous action is performed, the play point renders the next frame in the interactive buffer. Once the continuous interaction resumes the loader fetches the appropriate normal segments to match the content of the destination point.




Handbook of Video Databases. Design and Applications
Handbook of Video Databases: Design and Applications (Internet and Communications)
ISBN: 084937006X
EAN: 2147483647
Year: 2003
Pages: 393

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net