PRACTICAL LOSSLESS BROADCASTING SCHEMES FOR VARIABLE BIT RATE VIDEOS IN VIDEO-ON- DEMAND SERVICE

Size: px
Start display at page:

Download "PRACTICAL LOSSLESS BROADCASTING SCHEMES FOR VARIABLE BIT RATE VIDEOS IN VIDEO-ON- DEMAND SERVICE"

Transcription

1 PRACTICAL LOSSLESS BROADCASTING SCHEMES FOR VARIABLE BIT RATE VIDEOS IN VIDEO-ON- DEMAND SERVICE Shufang Wu B. E., Shanghai Jiao Tong University, 1995 THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE In the School of Computing Science O Shufang Wu 2004 SIMON FRASER UNIVERSITY June 2004 All rights reserved. This work may not be reproduced in whole or in part, by photocopy or other means, without permission of the author.

2 APPROVAL Name: D,egree: Title of Thesis: Shufang Wu Master of Science Practical Lossless Broadcasting Schemes for Variable Bit Rate Videos in Video-on-Demand Service Examining Committee: Chair: Dr. Binay Bhattacharya Professor, School of Computing Science Dr. Tiko Kameda Senior Supervisor Professor, School of Computing Science - Dr. Ljiljana Trajkovit Supervisor Professor, School of Engineering Science Dr. Qianping Gu SFU Examiner Associate Professor, School of Computing Science Date DefendedIApproved:

3 Partial Copyright Licence The author, whose copyright is declared on the title page of this work, has granted to Simon Fraser University the right to lend this thesis, project or extended essay to users of the Simon Fraser University Library, and to make partial or single copies only for such users or in response to a request from the library of any other university, or other educational institution, on its own behalf or for one of its users. The author has further agreed that permission for multiple copying of this work for scholarly purposes may be granted by either the author or the Dean of Graduate Studies. It is understood that copying or publication of this work for financial gain shall not be allowed without the author's written permission. The original Partial Copyright Licence attesting to these terms, and signed by this author, may be found in the original bound copy of this work, retained in the Simon Fraser University Archive. Bennett Library Simon Fraser University Burnaby, BC, Canada

4 ABSTRACT Broadcasting in video-on-demand services scales well in transporting popular videos. A large number of broadcasting schemes have been proposed to minimize the server bandwidth for a given waiting time, a small number of which deals with variable bit rate (VBR) videos that are used in practice. We propose three new lossless VBR video broadcasting schemes to improve on existing schemes. Backward Segmentation using Equal Bandwidth and Prefix-Caching (BSEB-PC) segments a video backwards from its end until a relatively small part is left, which is cached by users in advance. All segments except the initial one are repeatedly broadcast on given standard channels of equal bandwidth. Experiments with real videos show that this scheme achieves server bandwidth requirement within 1% of the optimum. Forward Segmentation using Equal Bandwidth (FSEB) addresses the issue of minimizing server bandwidth using channels of equal bandwidth, given an upper bound on initial user wait time and user-bandwidth. Experimental results with real videos show that it achieves both better server bandwidth and user bandwidth than any other known scheme in the same deployment environment (i.e., number of server broadcasting channels, the maximum number of channels from which a user can receive concurrently, and user wait time). General Frame Level Segmentation (GFLS) deals with the situation where there are frames in the video that require future reference frames for decoding. This situation is common in practice, but has not been considered in the literature.

5 DEDICATION i%k% %0!J2% 53% To my dear father, WU, WEI.

6 ACKNOWLEDGEMENTS I wish to express my deepest gratitude to my senior supervisor, Dr. Tiko Kameda, for his guidance and continuous support during my research. His devotion to research and serious attitude toward science have given me great encouragement and inspiration to accomplish this thesis. It would be hard to imagine finishing this thesis without his continuous support. My gratitude also goes to my supervisor Dr. Ljiljana TrajkoviC and the examiner, Dr. Qianping Gu, for their valuable comments and advice on my thesis. I am thankful to the members of the Distributed Computing Laboratory, Yi Sun, Zhong Zhang, and Zhiwen Lin for their discussions with me. Their friendship and support made my research environment enjoyable.

7 TABLE OF CONTENTS Approval... ii... Abstract Dedication... iv Acknowledgements... v Table of Contents... vi... List of Figures... vnl List of Tables... x Chapter 1 Introduction Broadcasting Schemes and Concepts CBR video broadcasting schemes VBR video broadcasting schemes Concepts and techniques in broadcasting schemes Contribution Outline of Thesis Chapter 2 Related Work on Lossless Broadcasting for VBR Videos Loss-Less and Bandwidth-Efficient (LLBE) Loss-Less and Bandwidth-Efficient using Prefix Caching (LLBE- PC) Staircase Broadcasting (SCB) Analytical Model Notation Video properties Segmentation properties Server side properties User side properties Chapter 3 Analytical Model and Notation... Chapter 4 Backward Segmentation using Equal Bandwidth and Prefix Caching Segmentation algorithm for BSEB-PC Experimental Results Problem Description Proposed Solution Chapter 5 Forward Segmentation using Equal Bandwidth Problem Description... 42

8 5.2 Proposed Solution Segmentation algorithm for FSEB Experimental Results Chapter 6 General Frame Level Segmentation Problem Description The frame sequence of VBR video Proposed Solution Segment-end-flag (SEF) sequence Segmentation algorithm for GFLS Experimental Results Chapter 7 Performance Evaluation Performance of BSEB-PC Performance of FSEB Performance of GFLS Relationship among BSEB-PC, FSEB. and GFLS Chapter 8 Conclusion and Future Work Summary of the Thesis Future Work Bibliography vii

9 LIST OF FIGURES Figure Figure 2.1. Figure 2.2. Figure 2.3. Figure 2.4. Figure 2.5. Figure 2.6. Figure 2.7. Figure 2.8. Figure 2.9. Figure Figure Figure Figure Figure 3.1. Figure 3.2. Figure 3.3. Figure 4-1. Figure 4.2. Figure 4.3. Figure 5-1. Figure 5.2. Figure 5.3. Figure 5.4. Figure 5.5. Figure 5.6. Figure 5.7. Figure 5.8. Video-on-demand Service... 1 A simple example of LLBE scheme with n = Pseudocode of LLBE using dynamic programming Optimal server bandwidth of LLBE for three real videos Sizes of segments in frames of LLBE for FUSS (n=20, ~ ) 18 Sizes of segments in bits of LLBE for FUSS (n=20. ~ ) 18 Bandwidths of channels of LLBE for FUSS (n=20. ~ ) 19 An example of LLBE-PC scheme with n = Pseudocode of LLBE-PC using dynamic programming An example of SCB with k = 2 and n = Server and user bandwidth of SCB for FUSS (w=6. k3. N=15.000) Sizes of segments in frames of SCB for FUSS (w=6. k3. N= n= 18) Sizes of segments in bits of SCB for FUSS (w=6. k3. N=l n= 18) Bandwidths of channels of SCB for FUSS (w=6. k=3. N= n=l8) Frame size distribution of VBR video "Star Wars" from [4] Model of a VBR video without prefix caching Model of a VBR video with prefix caching Construction of a segment using BSEB-PC Pseudocode of BSEB-PC algorithm BSEB-PC for different p, when b,,, = 64kbps Construction of a segment using FSEB when 1 I i I k Construction of a segment using FSEB when i > k Pseudocode of FSEB algorithm Server bandwidth vs. wait time for FSEB Server bandwidth vs. wait time for FSEB with different k and b, Server bandwidth vs. channel bandwidth for FSEB Server and user bandwidth vs. number of user channels for FSEB Server and user bandwidth vs. channel bandwidth for FSEB... 51

10 Figure 6-1. Figure 6.2. Figure 6.3. Figure 6.4. Figure 6.5. Figure 6.6. Figure 6.7. Figure 6.8. Figure 6.9. Figure Figure 7-1. Figure 7.2. Figure 7.3. Figure 7.4. Figure 7.5. Figure 7.6. Figure 7.7. Figure 7.8. Figure 7.9. Figure Figure Display order and transmission order of a frame sequence with B frames Partial display problem... S4 Pseudocode to construct SEF sequence from the display order for GFLS Pseudocode to construct SEF sequence from the transmission order for GFLS Segment-end-flag (SEF) sequence for GFLS Pseudocode of GFLS using dynamic programming Optimal server bandwidth of GFLS for three real videos Size of each segment in frames using GFLS for FUSS and n=20. w= Size of each segment in bits using GFLS for FUSS and n=20. w= Bandwidth of each channel using GFLS for FUSS and n=20. w= Performance of BSEB-PC compared with LLBE-PC Constructed artificial video for BSEB-PC Wasted bandwidth of the artificial video constructed from "Star Wars" [4] Wasted bandwidth of the artificial videos constructed from four real videos [26] Performance of FSEB compared with SCB Constructed artificial video for FSEB Wasted bandwidth of the artificial video constructed from BOND [26] Optimal server bandwidths of GFLS and LLBE for FUSS Size of each segment in frames for GFLS and LLBE for FUSS Size of each segment in bits for GFLS and LLBE for FUSS Bandwidth of each channel for GFLS and LLBE for FUSS... 88

11 LIST OF TABLES Table 4-1. Properties of real video traces Table 4.2. Computation results of "Star Wars" from [4] Table 4.3. Experimental results of real video traces from [26] Table 7.1. Computation results for "Star Wars" from [4] Table 7.2. Computation results for four real video traces from [26] Table 7.3. Wasted bandwidth of the artificial video constructed from "Star Wars" [4] Table 7.4. Wasted bandwidths of the artificial videos constructed from four real videos [26] Table 7.5. Computation results for sample video for SCB and FSEB Table 7.6. Computation result for the artificial video constructed from BOND [26] Table 7.7. Computation result for the artificial vide from BOND [26] for w from 16 to Table 7.8. Comparison of GFLS and LLBE for FUSS: optimal server bandwidths Table 7.9. Size in frames of each segment for GFLS and LLBE Table Size in bits of each segment for GFLS and LLBE Table Bandwidth of each channel for GFLS and LLBE... 86

12 CHAPTER 1 INTRODUCTION Video is becoming the dominant media in high-speed networks. Users want to choose the time and the content they want to watch. Video-on-demand (VOD) service (Figure 1-1) gives users such flexibility. Current commercial VOD services are expensive due to the huge network resources they consume. New techniques are under investigation to improve VOD service. I Scheduler I 9 Memorv 1 Local Disks Network Interface t 9 Network Decoder el Viewer VOD Server Figure 1-1. Video-on-demand Service. VOD User VOD service may be provided in two different networking environments. In a heterogeneous networking environment, the transmission bandwidths are different for different users, which makes it necessary to transmit different qualities of a video. In a homogeneous networking environment, on the other hand, the transmission bandwidth is the same for each user. The video received by each user thus has the same quality. There are two approaches for the design of VOD servers: the client-centred approach and the data-centred approach. In the client-centred approach, a user sends a request and obtains a dedicated service if its request is accepted. This is the traditional

13 clientlserver architecture. The total transmission bandwidth is proportional to the maximum number of concurrent users, which is not scalable. In contrast, in the datacentred approach, data sharing techniques can provide higher scalability. Multicasting batches the requests for a video from different users during a period of time and transmits the video to a group of users instead of individual users. However, the transmission is still user-initiated in multicasting. Broadcasting is purely data-centred, and a user doesn't have to send a request. When a user wants to watch a video, he or she just tunes in to the channels transmitting that video. Broadcasting is suitable for popular videos in the prime time for its high scalability. Since the video request pattern observed follows the Zipf s distribution [35], broadcasting can meet roughly 80% of the user needs for 20% most popular videos [2]. So for the deployment of VOD service in a metropolitan area network, broadcasting is better suited. Research on broadcasting schemes focuses on the bandwidth requirement for a given wait time. In the early VOD research, the buffer size on the user side was one of the major performance parameters. With the current techniques, neither the capacity nor the price of local storage (disk) is a limiting factor. Therefore, minimizing the local buffer size is not our concern here. VOD service can be divided into true VOD service and near VOD service. In true VOD service, all control functions can be provided, including Rewind and Fast Forward, while in near VOD service, not all control functions are provided. In this thesis, we focus on near VOD service only and will not consider the issue of buffer size on the user side.

14 1.1 Broadcasting Schemes and Concepts Broadcasting [311 has been shown to be a bandwidth-efficient way to transport frequently requested videos in VOD service. The major performance parameters of VOD service are the transmission bandwidth (server bandwidth) and the initial user wait time (start-up latency). Sometimes, the user side bandwidth may also be considered as another important performance parameter. Staggered Broadcasting proposed in 1994 [2] is the earliest and perhaps the most natural broadcasting scheme, but its performance has been exceeded by more recent schemes based on segmentation. The segmentation-based broadcasting schemes partition a video into segments and repeatedly broadcast each segment through a dedicated logical channel. The idea of using segmentation together with broadcasting was first conceived in the little-known work in 1991 by Hollmann and Holzscherer [3]. Since the well-known work by Viswanathan and Imielinski in 1995 [29], many segmentation-based schemes for constant bit rate (CBR) encoded videos with varying performance have been reported CBR video broadcasting schemes Most existing segmentation-based broadcasting schemes for CBR videos can be classified into two groups, according to how channel bandwidths and segment sizes are determined. The first group consists of schemes that use channels of equal bandwidth and segments of different sizes. Pyramid Broadcasting (PB) in 1995 [29] and in 1996 [30], Permutation-based Pyramid Broadcasting (PPB) in 1996 [I], Skyscraper Broadcasting (SB) in 1997 [8] and Greedy Equal Bandwidth Broadcasting (GEBB) in 1999 [6] belong

15 to this group. Fast Broadcasting (FB) in 1998 [lo] refers to equal-sized blocks as "segments". But we call the several consecutive blocks that are broadcast one after another in a dedicated channel a segment. Therefore, FB belongs to the first group. The first group of schemes originated from PB, so they are also referred to as pyramid-based broadcasting schemes. Among those schemes, GEBB is the most bandwidth-efficient [5]. The second group uses segments of equal size and channels of different sizes. It includes Harmonic Broadcasting (HB) in 1997 [9], Cautious Harmonic Broadcasting (CHB), Quasi-Harmonic Broadcasting (QHB) in 1998 [20] and Poly-Harmonic Broadcasting (PHB) in 1998 [21]. These schemes originated from HB, so they are also referred to as harmonic-based broadcasting schemes. Studies [21] have shown that PHB' is the most bandwidth-efficient one among those harmonic-based broadcasting schemes. Compared to the pyramid-based broadcasting schemes, which use a small number of high bandwidth channels, harmonic-based broadcasting schemes use a large number of low bandwidth channels. If we compare PHB with GEBB, although their normalized server bandwidths approach In(l+l/W) (W is the user wait time over the duration of the video) in the asymptotic sense when the number of segments/channels goes to infinity, the bandwidth requirement of GEBB approaches the theoretical optimum more quickly. Furthermore, GEBB is much easier to implement than PHB, given the same user wait time and the number of segments a video is divided into (number of server channels). Pagoda Broadcasting (PaB) in 1999 [22], New Pagoda Broadcasting (NPB) in 1999 [18] and Fixed-Delay Pagoda Broadcasting (FDPB) in [19] all ostensibly use I QHB is the most bandwidth-efficient if the average waiting time is used as the user wait time instead of the maximum waiting time used by default. 4

16 "channels" of equal bandwidth and segments of equal size. At closer examination, each "channel" (except the first one) is divided into a set of "sub-channels" and each "subchannel" repeatedly broadcasts a segment. Therefore, a "sub-channel" is really the logical channel in our terminology, and a "channel" transmits a sequence of interleaved segments. In summary, all these schemes use channels of different bandwidths and segments of equal size. Therefore, they belong to the second group. PaB, NPB and FDPB originated from PaB, so they are also known as pagoda-based broadcasting schemes. FDPB is the most bandwidth-efficient one among all the above three pagoda-based broadcasting schemes and its lower bound is the same as that of PHB or GEBB. Since in pagoda-based schemes, the i-th segment is not broadcast once every i slots2, they are not as efficient as PHB or GEBB. We try to help commercialize VOD by making inexpensive the processing equipment on user side, which is commonly known as the "set-top box" (STB). Therefore, we should not only minimize the server bandwidth but also think of the user side bandwidth and try to minimize it for a given server bandwidth. Among all the above broadcasting schemes, except PB, PPB, and SB, the user bandwidth requirements are the same as their server bandwidth requirements. In PB, the user bandwidth is twice the channel bandwidth. PPB is similar to PB, except that each channel is subdivided into p staggered sub-channels, and the user uses at most one sub-channel at a time. In SB, the user downloads two streams at the display rate, which is independent of the server bandwidth. But if the user bandwidth is larger than twice the display rate, the extra user bandwidth will be wasted when we use SB. Client-Centric Approach (CCA) in 1998 [7] One slot time is the time length of one segment.

17 leverages such extra user bandwidth to reduce the server bandwidth and thus outperforms SB when the user bandwidth is larger than twice the display rate. When the user bandwidth is equal to server bandwidth, CCA becomes identical to FB. J.-F. Piris and D. D. E. Long in 2000 [24] studied the issue of limiting user bandwidth and modified FB to FB-3, FB-4, and NPB to NPB-3 and NPB-4 so that the user bandwidth would never exceed three or four times the display rate with only moderate effect on the overall performance of FB and NPB (the server bandwidth increases by no more than 15%). Similarly, [19] in 2001 modified FDPB to FDPB-2 by limiting the user bandwidth to twice the display rate, which with proper parameter setting requires less server bandwidth than SB to achieve the same user wait time. Recently, Generalized Fibonacci Broadcasting (GFB) in 2003 [34] addressed the problem of minimizing server bandwidth using channels of equal bandwidth, given user bandwidth limit, user wait time and the number of segments a video is divided into (number of server channels). Under the same conditions, GFB with proper parameters outperforms FB-3, FB-4, NPB-3, NPB-4, and FDPB-2. Since CCA, FB-3, FB-4 and GFB use channels of equal bandwidth and segments of different sizes, they belong to the first group we mentioned before. NPB-3, NPB-4, and FDPB-2 belong to the second group. For more detailed review and systematic evaluation of the above CBR broadcasting schemes, the reader is referred to 151.

18 1.1.2 VBR video broadcasting schemes All the broadcasting schemes mentioned so far are designed for CBR videos. But in practice, videos are commonly compressed and variable bit rate (VBR) encoded to ensure high image quality. In order to broadcast VBR videos, two approaches have been investigated. One is to allow occasional data losses, provided that they are infrequent enough not to disturb viewing quality very much. The other approach, which we pursue in this thesis, is to design a scheme that guarantees no data loss. In 1999, Saparilla et al. proposed a scheme (VBR-B) [27] based on the segmentation of FB, using Group of Pictures (GoP) smoothing, server buffering and client pre-fetching. Trace-Adaptive Fragmentation (TAF) in 1999 [ 131 combined those techniques with the fragmentation principle of CCA to first get a number of alternate fragmentations that satisfy the per-video delay constraints and then select the fragmentation for each video by taking into account the video trace to make sure that combined traffic of all the videos under the selected fragmentations minimizes the lost data. Unlike VBR-B and TAF, Piiris proposed a lossless scheme called Variable Bandwidth Harmonic Broadcasting (VBHB) in 1999 [17], which modified CHB for VBR videos. In VBHB, each segment has equal duration (those of the first two segments are adjusted later). The first segment is broadcast concurrently with its display, while the other segments are completely downloaded just before their display starts. The first channel uses high enough bandwidth (higher than the average display rate of the first segment) to guarantee no data loss. The extra data it transmits (because it has higherthan-average bandwidth) is deducted from the second segment. So the second segment

19 becomes smaller and its bandwidth will be adjusted accordingly. All other segments will be broadcast similarly to those in CHB, except that the channel bandwidth will be the average display rate of each segment. To implement VBHB, we have to know the minimum required bandwidth of the first segment and the average bandwidths of all segments. This incurs a lot of computation. In 2000, Nikolaidis et al. proposed a Loss-Less and Bandwidth-Efficient (LLBE) scheme [I 61 to address the issue of minimizing the server bandwidth for real videos, given user wait time and number of segments (transmission channels). LLBE formulates this problem as the shortest path problem in a directed acyclic graph. Hu in 2001 [5] solved the same problem using dynamic programming. The disadvantage of LLBE is that its solution requires channels with irregular bandwidth, which makes its implementation difficult. However, since LLBE generates the optimal segmentation, we will use it as a benchmark. Staircase Broadcasting (SCB) in 2000 [14] provided a heuristic for minimizing both server and user bandwidth, given user wait time, number of segments (transmission channels), and number of user channels (maximum number of channels from which user can receive concurrently). The bandwidth of each channel is an output from SCB, and it is not controllable. Although SCB is not the optimal scheme, it is the only known lossless VBR scheme considering user side limitation. We will use it as a benchmark too Concepts and techniques in broadcasting schemes We now review some concepts relevant to our schemes to be proposed in this thesis. In fixed-delay [21, 191 (or greedy [6]) broadcasting, the user wait time doesn't

20 depend on the particular time when the user "tunes in". Instead, it always incurs the same initial waiting time. Such a scheme starts downloading from several channels immediately, without waiting for the beginning of segments, and always starts displaying the first segment after fixed latency, which is the time needed to download the first segment. There is a trade-off between user wait time and the bandwidth needed by the server to broadcast a video. The performance of a broadcasting scheme is commonly measured by the server bandwidth to achieve the given user wait time (or alternatively, by the length of user wait time for the given server bandwidth). GEBB, PHB, FDPB and GFB are greedy broadcasting schemes. The most bandwidth-efficient greedy broadcasting scheme for CBR videos without considering user bandwidth is GEBB. It can be shown that the server bandwidth requirement of GEBB approaches the theoretical optimum quickly as the number of segments is increased. The performances of PHB and FDPB also approach the optimum but more slowly as the number of segments is increased. When the user bandwidth limit is considered, GFB is the best greedy broadcasting scheme for CBR videos. Zero-delay in [23] (or prefix caching, also called "partial preloading" in 1251) means that an initial segment of the video is downloaded into user's cache ahead of time, so that the user can start displaying the video from the moment helshe wants to view it. We will employ this technique in LLBE to get LLBE using prefix caching (LLBE-PC) as a benchmark to compare with one of our proposed schemes, which uses prefix caching too. Concurrent segment downloading means that a segment is downloaded concurrently with its display. For example, if a segment is broadcast at the display rate,

21 concurrent loading is possible. Concurrent segment downloading is useful, since it reduces both buffer and bandwidth requirement, but concurrent segment downloading cannot be combined with greedy approach. PB, PPB, SB, FB, HB, CHB, QHB, PaB, NPB, and CCA all use concurrent segment downloading. An alternative to concurrent segment downloading is segment preloading, which means that a segment is completely downloaded prior to its display. Therefore, segment preloading has nothing to do with prefix caching. GEBB, PHB and GFB all use segment preloading. Some broadcasting schemes use both techniques. For example, VBHB uses concurrent segment downloading for the first segment and segment preloading for other segments. The three broadcasting schemes we will propose in this thesis will all use segment preloading and greedy approach. One scheme will use prefix caching. 1.2 Contribution In this thesis, we review some important lossless VBR broadcasting schemes. Based on our analysis of currently known schemes, we bring up two open questions when considering user bandwidth limit: minimizing server bandwidth within user bandwidth limit and minimizing user bandwidth within server bandwidth limit. We propose three new lossless broadcasting schemes based on segment preloading for VBR videos to improve existing schemes for all practical purposes. The first scheme, BSEB-PC, sacrifices little total bandwidth (within 1%) to get most practical advantages, i.e., linear run time and usage of existing standard channels. The second scheme, FSEB, solves the server bandwidth minimization problem considering user bandwidth limit under the condition of using channels of equal

22 bandwidth. We look into the frame types of VBR videos and find two general problems for current schemes if the video uses backward prediction for encoding, for example, using B frames in MPEG encoding. The third scheme, GFLS, solves the problems successfully. All schemes show their performance through experimental results of real videos. 1.3 Outline of Thesis The remainder of this thesis is organized as follows. In Chapter 2, we review some related work on broadcasting schemes for VBR videos in detail. In Chapter 3, we present our model and notation used throughout this thesis. From Chapter 4 to Chapter 6, we propose three new schemes. In Chapter 4, we propose Backward Segmentation using Equal Bandwidth and Prefix Caching (BSEB-PC) [l 11 and some related experimental results. In Chapter 5, Forward Segmentation using Equal Bandwidth (FSEB) [33] considering user bandwidth limit is proposed and detailed discussions based on experimental results will be given. In Chapter 6, we point out the observed problems in the currently known VBR schemes and detail how our third scheme, General Frame Level Segmentation (GFLS) [32], can solve these problems. In Chapter 7, we evaluate the three proposed schemes. First, we compare BSEB-PC with LLBE-PC to show its practical value and analyze the wasted bandwidth of BSEB-PC. Second, FSEB is compared with SCB in the same deployment environment to show its better performance and the analytical results on the wasted bandwidth of FSEB are presented. Third, we compare GFLS with LLBE to see what improvement GFLS can bring us other than ensuring proper decoding and full display of each downloaded

23 segment for videos using backward prediction for encoding. Finally, we describe the relationship among the three schemes. Chapter 8 contains the conclusion and possible future work.

24 CHAPTER 2 RELATED WORK ON LOSSLESS BROADCASTING FOR VBR VIDEOS In this chapter, we will review two related lossless broadcasting schemes for VBR videos. One is Loss-Less and Bandwidth-Efficient (LLBE) [16] proposed by Nikolaidis et al. in 2000, and the other is Staircase Broadcasting (SCB) 1141 proposed by Li and Nikolaidis in These two schemes both see a video as a sequence of frames with a constant display rate in frames per second, put frames into several segments, transform the VBR videos to CBR data streams to be broadcast in the channels and use segment preloading to ensure just-in-time delivery on the user side. So they are inherently lossless. Both LLBE and SCB use the greedy approach to minimize the bandwidth requirements. LLBE is an optimal scheme that requires the minimum server bandwidth Bs for VBR videos, given user wait time w and the number of server channels n. Therefore, LLBE using prefix caching (LLBE-PC) is the optimal scheme that requires the minimum server bandwidth Bs for VBR videos, given user wait time w, the number of server channels n and an initial part of video downloaded into the user's cache ahead of time. SCB provides a heuristic for minimizing both server bandwidth Bs and user bandwidth B,, given user wait time w, the number of server channels n, and the number of user channels k (maximum number of channels from which user can receive concurrently). Since we will compare them with our new schemes, we review LLBE, LLBE-PC and SCB in some detail here.

25 2.1 Loss-Less and Bandwidth-Efficient (LLBE) In LLBE, we see a video as a frame sequence with a constant display rate of F frames per second. The whole sequence is partitioned into n segments, from SI to S,,. Each segment is periodically broadcast in a dedicated channel. For users to see the video continuously after the video starts playing, they have to wait a fixed time w until the first segment S1 finishes downloading and each segment has to be completely downloaded before the previous segment finishes displaying (Figure 2-1). The bandwidth of the channel to broadcast a segment depends on the number of frames in the previous segments, wait time w and the number of frames in the current segment. The server bandwidth B, is the sum of all n channel bandwidths (In Figure 2-1, Bs is bl + bz + b3-1 b4). The objective is to achieve the minimum server bandwidth min(bs) for a given user wait time w. Figure 2-1. A simple example of LLBE scheme with n = 4. So the problem is how to partition the whole sequence into segments to achieve the minimum server bandwidth min(b,), given: N: total number of frames in a video; F: display rate of the video in frames per second, or frame rate; fli): size in bits of the i-th frame in the frame sequence (i = 1,..., N); n: number of segments (channels); w: fixed user wait time in seconds.

26 For i = 1,..., n, let b, be the bandwidth of the i-th channel in bits per second, S, be the i-th segment, A(j) be the number of bits in the first j frames, j = 1,..., N, and X(i) be the index of the last frame in the i-th segment. For convenience, A(0) and X(0) are set to 0. We can see that: - A(X (i)) - A(X (i - 1)) X(i - 1) W+ F and Bs = C b, Hu in [5] solved this problem using dynamic programming to construct an N x n table B,,,, where B,,,(j, i) is the minimum server bandwidth to transmit the first j frames of the given frame sequence using i channels. The minimum server bandwidth min(bs) is the value of B,,,(N, n). We modify the pseudocode in [5] to compute the size of each segment both in frames and in bits and the bandwidth of each channel as in Figure 2-2. / / INPUTS: // w, n,f, N,andj~],i= 1,..., N. / / OUTPUTS: / / bl, X(I], i = 1,..., n and Bs. / / Initialize table Bmin( i, j ) to infinity for j 2 i // (i= 1,..., N,j= 1,..., n) for ( i = 1; i2 N, i ++ ) for (j= 1; ji n; j++ ) if(i<j)

27 break; Bmin ( i, j ) = INFINITY; / / Compute A(1) (Number of bits in the first i frames) and / / initialize Bmin ( i, 1 ) for i = 1,..., N. (The first segment) A(0) = 0; for(i= 1; i<n,i++) A(1) = A(i - 1) + Az); Bmin ( i, 1 ) = A(z) / W; / / Construct the remaining table for(i=2; isn; i++) for(j= i;jin; j++) for(k=i-1; kcj; k++) increased-bandwidth = ( A(I) - A(k) ) / ( w + k / F); bandwidth = Bmin ( k, i - 1 ) + increased-bandwidth; if ( bandwidth c Bmin ( j, i ) ) Bmin ( j, i ) = bandwidth; Pmin ( j, i ) = k + 1; //Starting frame position of i-th segment / / Get server bandwidth Bs = BmEn ( N, n ); / / Get each segment and bandwidth of the related broadcasting channel startframe-position = N + 1 ; for ( i = n; i >= 1; i -- ) previousframes = startframe-position - 1 ; startframe-position = 1); endframe-position = previousframes; segment-size-in-bits(z) = A(endframe-position) - A(startframe-position - 1); segment-size-inframes(z) = endframe-position - startframe-position + 1; channel_bandwidth(l:1) = segment-size-in-bits(z) / (w + (startframe-position - 1) / I;); Figure 2-2. Pseudocode of LLBE using dynamic programming. In Figure 2-2, Bmin(j, i) is calculated from the previous values of Bmin(k, i - 1) with i - 2 < k < j. The loop of k tries to find the best cutting point k between (i - 1) and (j - 1) to get the i-th segment in order to achieve the minimum bandwidth. increased bandwidth - is the extra bandwidth required for the new segment from (k + 1) to j. Pmin(j, i) stores the starting frame position of the result segment, which will be used to calculate the size of each segment and the bandwidth of each channel.

28 Figure 2-3 shows the optimal server bandwidth as a result of changing n (number of segments) from 3 to 25 for videos FUSS, MTV-1 and NEWS-2 from [26] (all have N=40,000 and F=25) when user wait time w = 60 seconds (3.75% of video length). Figure 2-3 tells us that when n increases, Bs will decrease. Also, Bs will get close to the lower bound when n goes to infinity. The curve for NEWS-2 is much lower than the other two since the size of NEWS-2 is much smaller than the other two. Sumbet* of F~.amesN= 40,000 Wait Time w= 60 secontls Frntne Rate F= 25 fps I I I I Number of Segments Figure 2-3. Optimal server bandwidth of LLBE for three real videos. The computation results for FUSS with w = 60 seconds and n = 20 are given in Figure 2-4, showing the size of each segment in frames, in Figure 2-5, showing the size of each segment in bits and in Figure 2-6, showing the bandwidth of each channel in bits per second. From Figure 2-4 and Figure 2-5, we can see that segment size does not increase

29 strictly with the index of segment. Figure 2-6 shows that the optimal bandwidths of channels have large differences. The largest bandwidth is 209% of the smallest bandwidth Segment Size in Frames Figure 2-4. Sizes of segments in frames of LLBE for FUSS (n=20, w=60) 200 Segment Size in Million Bits I - Figure 2-5. Sizes of segments in bits of LLBE for FUSS (n=20, w=60).

30 Channel Bandwidth in Bits Per Second Figure 2-6. Bandwidths of channels of LLBE for FUSS (n=20, w=60). The time complexity of segmentation algorithm used in LLBE is ~ (nx~~). Typically, the frame rate F is within the range of 25 to 30 frames per second. For a 2- hour video with frame rate of 25, for example, the total number of frames is 180,000 (=25x60~120). When programmed in C++, this algorithm took close to one day for such a video on a desktop computer, which has a 1 SGHz Pentium 4 CPU and 256MB memory running under Windows 2000 Professional. Also, we notice from the above computation results that the broadcasting channels have variable bandwidths3. Both attributes make LLBE not practical Loss-Less and Bandwidth-Efficient using Prefix Caching (LLBE-PC) LLBE-PC is the algorithm if we use the technique of prefix caching in LLBE, where the p frames in segment So are prefetched in the cache (Figure 2-7). So when a user tunes in, he can watch So at once. After seeing So, SI has just finished downloading and 3 Here we only show the computation results for FUSS. Other videos have similar characteristics.

31 can be displayed as soon as So finishes displaying and so on. Therefore, the whole video can be watched continuously without any initial wait time. Display t=o Figure 2-7. An example of LLBE-PC scheme with n = 4. - t LLBE-PC addresses the problem of how to partition the whole sequence (except the prefetched frames) into segments to achieve the minimum server bandwidth B, given: N: total number of frames in a video; p: number of frames prefetched in the cache; F: display rate of the video in frames per second, or frame rate; fi): size in bits of the j-th frame in the frame sequence (j = 1,..., N); n: number of segments (channels). Again, let b, be the bandwidth of the i-th channel in bits per second, S, be the i-th segment, A(j) be the number of bits in the first j frames, for j = 1,..., N, and X(i) be the index of the last frame in the i-th segment, for i = 1,..., n. For convenience, A(0) is set to 0 and X(0) is set top. We can see that:

32 11 and Bs= z b,. We modify the pseudocode of LLBE in Figure 2-2 to account for prefix caching and get the pseudocode of LLBE-PC using dynamic programming (Figure 2-8). In Figure 2-8, for p+l 5 j 5 N, 1 5 i 5 n, and i 5 0-p), let Bmi,(j, i) be the minimum bandwidth required to send frames numbered from p+l to j, using i channels. The minimum server bandwidth is min(bs) = Bmin(N, n). / / INPUTS: //p,n,f,n,andf(q,i=l,..., N. / / OUTPUTS: / / bi, X(z), i = 1,..., n and Bs. / / Initialize table Bmin( i, j ) to infinity for j I (Cp) // (i=p+l,..., N, j= 1,..., n) for(i=p+l; iin; i++) for (j= 1; ji n; j++) if ((2-p) < j) break; B,,, ( i, j ) = INFINITY; / / Compute A(z) (Number of bits in the first i frames) and / / initialize Bmin ( i, 1 ) for i = p+ 1,..., N. (The first segment) A(0) = 0; for(i= 1; iin; i++) A(z) = A(i - 1) +A& if ( i r p) Bmin ( i, 1 1 = MI) -A@)) / (PIF); / / Construct the remaining table for ( i = 2; ii n; i ++ ) for(j=p+ i;j<n;j++) for(k=i+p-1; k<j;k++) increased-bandwidth = ( AU) - A(k) ) / ( k / F ); bandwidth = Bmin ( k, i - 1 ) + increased-bandwidth; if ( bandwidth < Bmin ( j, i ) ) Bmin ( j, i ) = bandwidth; Pmin ( j, i ) = k + 1; //Starting frame position of i-th segment / / Get server bandwidth Bs= Bmin( N, n); / / Get each segment and bandwidth of the related broadcasting channel startframe-position = N + 1 ; for(i= n; i>= 1; i--) previousframes = startframe-position - 1;

33 startframe-position = Pmin (previousframes, 1); endframe-position = previousframes; segment-size-in-bits(z) = A(endframeposition) - A(startframe-position - 1); segment-size-inframes(z) = endframe-position - startframe-position + 1; channel-bandwidth(z1 = segment-size-in-bits(1) / ( (startframeposition - 1) / F); Figure 2-8. Pseudocode of LLBE-PC using dynamic programming. Actually, we can interpret the segmentation in LLBE-PC, which hasp frames prefix-cached, as the segmentation in LLBE, which is applied to a new video with the user wait time w = plf. The new video consists of the frames of the original video minus the first p frames. Thus, it is easy to understand that, for the same video and number of segments n, LLBE-PC withp frames prefix-cached requires less server bandwidth than LLBE with w =plf. Also, the computation results of LLBE-PC for real videos have the same attributes (i.e., the server bandwidth Bs changing with n, the size of each segment, and the variance of bandwidth of each channel) as those of LLBE. The time complexity of segmentation algorithm used in LLBE-PC is 0(nx(~-~)~) ~ ( n x (since ~ ~ N ) >> p). From the similarity of Equations 2-1,2-2, and 2-3 to Equations 2-4,2-5, and 2-6, we can see that the two algorithms in Figure 2-7 and Figure 2-8 can be merged into one general algorithm, in which the bandwidth of the i-th channel bi, for i = 1,..., n, can be expressed as follows: bi A(X (i)) = - A(X (i- 1)),i= 1,..., n. X (i- 1) W+ F For LLBE, we have X(0) = 0, while for LLBE-PC, we have w = 0 and X(0) =p.

34 2.2 Staircase Broadcasting (SCB) Only SCB [14] deals with the server bandwidth optimization with user side bandwidth limit for VBR videos respecting frame boundaries. Like LLBE, SCB partitions the video as a frame sequence with a constant display rate of F frames per second into n segments, from S1 to S,,. Each segment is periodically broadcast in a dedicated channel. For users to see the video continuously after the video starts playing, they have to wait a fixed time w until the first segment S1 finishes downloading and each segment has to be completely downloaded before the previous segment finishes displaying. Unlike LLBE, in SCB, the user can download from at most k channels simultaneously. As many segments as possible are downloaded before the whole video is downloaded. Therefore, once tuning in, the user starts downloading the first k segments. After the wait time w, when the first segment is downloaded completely, the user begins to display it and at the same time starts to download the (k+l)-st segment. In contrast, in LLBE, the user starts downloading all n segments as soon as he tunes in. Figure 2-9 gives a simple example of SCB when k is 2 and n is 4. Figure 2-9. An example of SCB with k = 2 and n = 4.

35 Given the wait time w, the number of channels k through which the user can download simultaneously and the number of segments n into which the video is divided, the minimum required bandwidth b, of channel i can be expressed as follows: Hence, the server bandwidth Bs is given by: The user bandwidth B, (maximum bandwidth required to download k consecutive segments simultaneously) is: B,= max i+k-1 xb,. Isis(t1-k+l).. I=/ (2-1 1) There are two optimization problems. Their key issue is how to divide the entire video into n segments. One is to find the segmentation to minimize the server bandwidth, given the user bandwidth limit, which can be stated as follows: Solve (2-8) and (2-9) such that (2-10) is minimized and (2-11) is no larger than the given user bandwidth limit. The other is to find the segmentation so that the user bandwidth is minimized given the server bandwidth limit, which can be stated as follows: Solve (2-8) and (2-9) such that (2-1 1) is minimized and (2-1 0) is no larger than the given server bandwidth

36 limit. SCB doesn't provide a solution to either of the two optimization problems. But its authors observed that "most likely the closer the necessary bandwidth for each segment, the lower the sum for any k consecutive segments and the lower the total necessary bandwidth for all the segments". Based on this observation a heuristic algorithm is proposed in [14] to approximate the optimal solution. Initially, there are N segments (each segment consists of just one frame). In each round, among all the adjacent pairs of segments, the pair that would result in the "the closest necessary bandwidth among all segments" is chosen and merged. Since (N-n) merges need to be carried out, so that n segments remain in the end, the time complexity of the heuristic is o(n~). Here, we clarify the meaning of "the closest necessary bandwidth among all segments" [12, 151. The merge that brings about "closest necessary bandwidth" is defined as the merge that will cause the minimal difference among all bandwidths after this merge. That is, in the beginning, among the (N-1) bandwidths after this merge, the difference is minimum compared with the difference among the (N-1) bandwidths after any other merge. For example, suppose that if the K-th segment is merged with the (K+l)-st segment, the difference among the (N-1) channel bandwidths after this merge is Diff(K). For any other merge, say, if the M-th segment is merged with the (M+1)-st segment, M# K, the difference among the (N-1) channel bandwidths after this merge is Diff(M). Then Diff(K) I Diff(M) for any M. Function Diff() could be defined in several different ways. One is the standard deviation as the authors of SCB 1141 pointed out. In this thesis, we use standard deviation

37 to compute the difference. Figure 2-10 shows our implementation of SCB for the first frames of real video FUSS from [26] with user wait time w = 6 seconds (1% of the video display time) and user channel limit k = 3. Figure 2-10 shows that when n increases, B, will decrease until a lower limit. As for Bs, when n 17, Bs decreases as n increases. But when n 2 11, the server bandwidth increases as n continues increasing. This conclusion is different from that in SCB [14], which concluded that server bandwidth decreases as n increases based on the results for n ranging from 3 to 7 only. SC'B for Snmple Video ESS (Tom1 Frnntrr: : Frnnrv Rntr: 2.5jjn) With 3 User Chi11111els and Wait Time of 6 Second ' Number of Segments Figure Server and user bandwidth of SCB for FUSS (w=6, k=3, N=15,000). The computation results for the first 15,000 frames of FUSS with w = 6 seconds and n = 18 are given in Figure 2-1 1, showing the size of each segment in frames, in Figure 2-12, showing the size of each segment in bits and in Figure 2-13, showing the bandwidth of each channel in bits per second.

38 Segment Size in Frames ~ Figure Sizes of segments in frames of SCB for FUSS (w=6, k=3, N=15,000, n=18). Segment Size in Million Bits Figure Sizes of segments in bits of SCB for FUSS (w=6, k=3, N=15,000, n=18).

39 Channel Bandwidth in Bits Per Second Figure Bandwidths of channels of SCB for FUSS (w=6, k=3, N=15,000, n=18). As in LLBE, Figure 2-11 and 2-12 show that segment size does not increase strictly with the index of segment. Figure 2-13 tells us that the resulting bandwidths of channels have large differences. The largest bandwidth is 100 times of the smallest bandwidth, which is much bigger than that in LLBE. The time complexity of the computation in SCB, which is based on merging N segments into n segments causing minimal difference, is 0(N2). But to find the merging that causes minimal difference in one round, other possible merging operations have to be executed to get the right merging. If we count those possible merging operations, the time complexity is 0(N3), which is the complexity in our implementation.

40 CHAPTER 3 ANALYTICAL MODEL AND NOTATION In this chapter, we present an analytical model and the notation used throughout this thesis. VBR videos are encoded using a constant quantization scale during compression to achieve high quality. The popular encoding algorithms are MPEG-1, MPEG-2, and MPEG-4. Because of the usage of a constant quantization scale, VBR videos exhibit significant rate variability. To get a feel for how the frame size fluctuates, we show in Figure 3-1 the frame size distribution for a typical video (about 2 hours long), with the frame size in bytes as a function of the index of each frame in the video4. Figure 3-1. Frame size distribution of VBR video "Star Wars" from From now on, a video refers to a VBR video by default.

41 3.1 Analytical Model In this thesis, we consider a video as a sequence of N frames (Figure 3-2). The display rate of the video is a constant Fin frames per second. A frame is the smallest operational unit. Segmentation of a video is to partition the video into a sequence of n non-overlapping segments, SI to S,, while respecting the frame boundaries. So, a segment contains a whole number of frames. In other words, a frame cannot be divided so that part of it is in one segment and the rest is in another segment. Frame 1 Frame N Display Time X(1) X(2) X(n-1) X(n) Figure 3-2. Model of a VBR video without prefix caching. All frames in each segment are transmitted as a data block periodically using a constant bit rate stream in a dedicated channel. Since there are n segments, n channels will be needed to broadcast them. If bi in bits per second is the bandwidth of the i-th n channel, the server bandwidth Bs is the sum of all b,'s. That is, Bs = b,. r=l In our model, each segment will be displayed on the user side only after it has been completely downloaded. Since a user may tune in at an arbitrary time, he may not be able to download each segment from its beginning. Therefore, the missed initial

42 portion must be downloaded later before this segment can be displayed. Here, we omit the time for reordering and decoding. Once tuning in, the user will download from all possible channels it can and start to display the video continuously after a fixed wait time of w seconds. The user will continue downloading until the whole video is completely downloaded. If some initial part ofp frames (called aprejx, see So in Figure 3-3) of the video is cached on the user side in advance, the user doesn't have to wait at all and can start watching the video immediately after tuning in (Figure 3-3). Frame 1 Frame (p+l) Frame N Figure 3-3. Model of a VBR video with prefix caching. If the user can use at most k (k < n) channels concurrently, the user bandwidth B, is the maximum bandwidth required to download k consecutive segments simultaneously. This is because in our model, a user downloads the segments in sequence. That is, B, = max I<,<(n-k+l) xbl. /=,

43 3.2 Notation The notation used in this thesis is presented here, Video properties N: F: 4: All: AG): A(0): A VE: MAX: total number of frames in a video; video display rate in frames per second; the i-th frame in a video, j = 1,..., N; size of the i-th frame in bits, j = 1,..., N, number of bits in the first i frames, j = 1, 0, for convenience; the average frame size of the video; the maximum frame size of the video. We can see that: N Au) = f ( j) /=I, andfjr) = A(i) - A(i-1), forj = 1,..., N Segmentation properties n: s,: So: P : Isil /Sol: S(i) : X(i) : X(0) : number of segments ( = number of server channels); the i-th segment of the video, i = 1,..., n; the prefix of the video if prefix caching is used; number of frames in So if prefix caching is used, otherwise, 0; number of frames in S,, i = 1,..., n; number of frames in So if prefix caching is used, otherwise, 0; number ofbits ins;, i = 1,..., n; index of the last frame in Si, i = 1,..., n; p if prefix caching is used, otherwise, 0. We can see that: Pol = P, IS,\ =X(i) - X(i-I), for i = 1,..., n, X(i) = TI S, 1, for i = 1,..., n, and /=o X(i) S(i) = f ( j) = A(X(i)) - A(X(i- I)), for i = 1,..., n. j=x(i-1)+1

44 3.2.3 Sewer side properties bi: Bs: bandwidth in bits per second of the channel to broadcast the i-th segment; total server bandwidth to broadcast the video. As we saw earlier, User side properties w: fixed user wait time in seconds, 0 if prefix caching is used; k: maximum number of channels from which a user can receive concurrently; B,: maximum bandwidth in bits per second to download k consecutive segments simultaneously. As we saw earlier, i+k-1 B,,= max Cb,. I<i<(r~-k+l).. J=l

45 CHAPTER 4 BACKWARD SEGMENTATION USING EQUAL BANDWIDTH AND PREFIX CACHING In this chapter, we first describe some problems with LLBE and LLBE-PC. Then, we present the proposed new loss-less broadcasting scheme, Backward Segmentation using Equal Bandwidth and Prefix Caching (BSEB-PC), to solve the observed problems. 4.1 Problem Description In Chapter 2, we reviewed LLBE, the optimal broadcasting scheme to get the minimized server bandwidth B, for VBR videos, given user wait time w and number of server channels n. There, we mentioned two observations regarding LLBE. One observation is that different channels have different bandwidths. In the example shown in Figure 2-6, the largest bandwidth is 209% of the smallest one. To implement LLBE in an existing networking environment, we would have to use complex multiplexing technologies, which impedes the application of this scheme. On the other hand, if we can transmit the video segments using channels with almost the same bandwidth, which is easy to implement, this would help speed up the application of VOD. We need a scheme that can output almost the same bandwidth for each channel. Or furthermore, to gain more control, in our proposed solution, the bandwidth of each channel is given as an input. This bandwidth is given as the upper bound on the actual channel bandwidth. Also, each channel will try to make full use of the given bandwidth.

46 The other observation is the time complexity of LLBE, which is ~ (nx~~). As the example in Section 2.1 shows, this complexity makes LLBE impractical to implement. We need a scheme that can decrease the time complexity to some reasonable level, say O(N). Fortunately, the complexity of our solution is O(N). As Chapter 2 shows, the two observations on LLBE apply to LLBE-PC as well. To solve the above problems, we may need to find a new optimal scheme too, or more practically, we may have to sacrifice some good attributes of LLBE. We will use the latter approach. Although it sacrifices the optimality to use almost the same equal channel bandwidth and simple time complexity of O(N), the bandwidth requirement of our proposed scheme is within 1% of the optimum for all the real videos that we tested. 4.2 Proposed Solution Backward Segmentation using Equal Bandwidth and Prefix Caching (BSEB-PC) combines the greedy approach with the idea of prefix caching, segmenting a video backwards from its end until a relatively small part is left, which is cached by users in advance. All segments except the initial one are repeatedly broadcast on given standard channels of equal bandwidth. In BSEB-PC, the upper bound on bandwidth is given as b,. We will make sure that b, 5 b,,,. To try to make full use of the bandwidth, we will try to make bi very close Another important given parameter in BSEB-PC is the maximal number of frames in the prefix of the video, which is denoted asp,,, or T (= p,,, / F') expressed in terms of its duration. We will ensure that p Sp,,.

47 Given a video, b,,,, and p, BSEB-PC will construct segments from the end of the video as follows. First of all, if the number of remaining frames, which haven't been put into some segments, is no larger thanp,,, then BSEB-PC terminates the process of segmentation and all the remaining frames compose SO. Otherwise, from the end of the remaining sequence of frames, we put frames one by one into a new segment. Once the required bandwidth of a channel to transmit this segment exceeds b, we generate a complete segment excluding the last frame, which will become the first frame to put into the next new segment. After that, we continue the process of segmentation until the termination condition is reached. As above, we can get a series of segments as output. The order of the segments we get from the construction is the reverse of that of the segments to be played. The n number of these segments, that is, n, is the output. So Bs = b, i (n x bma) = B, and Bs = Bma,. From the process, we can see that p is an output too. So neither n norp can be controlled. r=l b Segment Si I Constructed segments( Display Time: NF (sec) Figure 4-1. Construction of a segment using BSEB-PC. The construction of segment S, in a video is illustrated in Figure 4-1. As shown, for the remaining frames from F, to Fxi,, inclusive, if X(i) is no larger thanp,,, the process of construction terminates and all those remaining frames will be in the prefix So, that is, X(0) = p = X(i) and i=o. If X(i) > p,,,, in the order from Fqi) to F1, we put frames

48 one by one into a segment to be constructed, Si. Supposing that FI+~,..., Fx(i) have been put into S,, the required bandwidth of a channel to transmit Si is S (i) - A (X(i))- A(1) -- I I - F F We decrease the value of I one by one as long as the value of Equation 4-1 is not larger than b,. That is, we can compute X(i-1) as the minimum integer I satisfying For the last segment S,, X(i) is N, so we can get X(n-1) using the above inequality. We compute X(n-2), X(n-3),..., X(l) and X(0) similarly and get Sn-2,..., S, and So accordingly. Also, the actual bandwidth of each channel can be computed using Before the termination of the construction process, if the length of the constructed segment is 0, which means that k is equal to X(i) in Inequality 4-2, the whole construction process fails. We have to increase b, in order to contain at least one frame in the segment to be constructed. This means that for a given video, there exists a minimal bandwidth such that this scheme can generate segments for a givenp,,, Segmentation algorithm for BSEB-PC Here, we present the pseudocode of the algorithm to construct the segments. / / INPUTS:

49 // T, b, F, N, andf(z), i= 1,..., N. / / OUTPUTS: // n, X(z), i = 0,..., n-1 and Bs. ( Note: p = X(0) ) / / Compute A(I) for i = 1,..., N. A(0) = 0; for(i= 1; iin,i++) A(I] = A(i - 1) +All; / / Construct the segments one by one from the end of the video. Z(1) = N, / / Z(I) is the index of the last frame in the i-th segment // in the order of construction. It is equal to X(n-i+ 1). frames-in-segment = 1 ; segmentation~success = false; for ( i = 1; frames-in-segment 2 1; i ++ ) { if( (Zbl 1 F) ST) { 1 / / Construction process terminates successfully. segmentation~success = true; break; I triedframe-index = Z(z) - 1 ; while ( (A(Z(1))- A(triedframe-index)) / (triedframe-index IF) I b,, ) { triedframe-index = triedframe-index - 1; frames-in-segment = Z(I) - triedframe-index - 1; if (frames-in-segment 2 1 ) Z(i+ 1) = Z(z) - frames-in-segment; / / If the construction process failed, exit. if ( segmentation-success == false ) exit; n = i - 1; // Get the number of segments / / Get the index of the last frame in each segment. for(i=o; i<n; i++) { X(z) = Z(n-i+l); I / / Get each segment, b, and Bs. Bs = 0; for(i= 1; iin; i++) startframe-position = X(i - 1) + 1 ; endframe_position = X(1); segment-size-in-bits(1) = A(endframe-position) - A(startframe-position - 1); segment-sizejnframes(z) = endframe_position - startframe-position + 1; channel-bandwidth(1) = segment-sizein-bits(z) / ((startframe-position - 1) / 4; Bs = Bs + channel-bandwidth(z) ; Figure 4-2. Pseudocode of BSEB-PC algorithm.

50 4.3 Experimental Results In this section, we apply BSEB-PC to a set of real video traces coded according to the MPEG-1 standard. Those traces at 25 frames per second are from [26]. The STARWARS trace at 24 frames per second is from [4]. Here we only show the results for five traces. Others are similar. The properties of the five videos are shown in Table 4-1. I STARWARS 1 174, ,716,203, , ,267 ( 24 1 Table 4-1. Properties of real video traces. We choose 64Kbps as b,, since it is one of the most widely used bandwidths in practice. For the value of T, we choose 1%, 2%, 3%, 4% and 5% of the total display time. In other words, we choose 1%, 2%, 3%, 4% and 5% of the total frames as the value of The computation results for STARWARS from [4] are shown in Table 4-2. Table 4-2. Computation results of "Star Wars" from 141.

51 The computation results for BOND, FUSS, MTV-1 and NEWS-2 from [26] are shown in Table 4-3. Table 4-3. Experimental results of real video traces from [26]. The graph in Figure 4-3 was plotted using the data in Table 4-2 and Table 4-3. From the results, we can see easily that whenp,, increases, Bs decreases accordingly. Also, B, 1 Bmax is over 99.5%. This means that there is little waste in the allocated server bandwidth. Furthermore, this indicates that the fluctuation of the actually used bandwidth is no more than 0.5%. Note that STARWARS shown in Table 4-2 is about two hours long, and its bandwidth fluctuation is smaller than those of the half-hour traces shown in Table 4-3. The time complexity of BSEB-PC algorithm is O(N) by analyzing the pseudocode

52 in Figure 4-2. In our experiments, when programmed in C++, the algorithm for BSPC-PC ran in milliseconds for a 2-hour video (STARWARS) on a PC with a 1 SGHz Pentium 4 CPU and 256MB of memory running under Windows 2000 Professional Cached Prefix / Totnl Fritmes (%) Figure 4-3. BSEB-PC for different p,,, when b,,, = 64kbps.

53 CHAPTER 5 FORWARD SEGMENTATION USING EQUAL BANDWIDTH In this chapter, we discuss an optimization problem related to the first optimization problem presented in Section 2.2, which is to find the segmentation to minimize the server bandwidth for a given user bandwidth limit. Then, we propose a new loss-less broadcasting scheme, Forward Segmentation using Equal Bandwidth (FSEB), considering user bandwidth limit, as a solution to this problem. Detailed discussion is given based on experimental results. 5.1 Problem Description In Section 2.2, we presented two open questions. The first one is to find the segmentation to minimize the server bandwidth B, (Equation 2-1 O), given the user bandwidth limit B, (Equation 2-1 I), the wait time w, the number of channels k through which the user can download simultaneously and the number of segments n into which the video is divided. The output is the minimum required bandwidth bi of channel i (Equations 2-8 and 2-9). In the above problem, {bi} can be either equal or unequal. It is shown in [6] that for CBR videos the total bandwidth is minimized when all channels have equal bandwidth. It is natural to try this in the case of VBR, as commented by Li and Nikolaidis in [14]. Based on the usage of channels of equal bandwidth, we provide another related optimization problem, where B, is an input. There are two places of modification. First, n will be an output here. Second, we assume that equal bandwidth is used. Because of the

54 VBR attribute, actually almost the same bandwidth is supposed to be used for each channel and we denote the upper bound on channel bandwidth as bmax. Since B, is given, it is natural to use k = B, / b, channels. So the problem we have now is: given w, B,, and the condition that equal bandwidth is used, how to partition the whole video to minimize the server bandwidth for delivering videos with no loss. FSEB, the scheme we will propose next, provides an optimal solution for the above problem. Outputs of FSEB are the n segments and bi. 5.2 Proposed Solution Forward Segmentation using Equal Bandwidth (FSEB) addresses the issue of minimizing server bandwidth using channels of equal bandwidth, given an upper bound on initial user wait time and user-bandwidth. Experimental results with real videos show that it achieves both better server bandwidth and user bandwidth than any other known scheme in the same deployment environment (i.e., number of server broadcasting channels, the maximum number of channels from which a user can receive concurrently, and user wait time). A round of FSEB algorithm computes in linear time the sizes of the n segments for the video such that each segment can be downloaded in time for display through a channel with bandwidth upper-bounded bmax. It tries to "fill" the first channel by packing as many initial frames as possible without exceeding b, and then the second channel, and so on, down to the last channel. With this method, it is easy to ensure that bi I b, and bi = b,. It is likely that the last or the nth channel will be only partially filled. If that is the case, we decrease w in small increments, until there is little or no space left in the

55 last channel. Each of these increments incurs a new round of execution. Fortunately, it turns out that the last channel gets filled rather quickly within a small number of rounds if we choose one second as the incremental step for w. If we need to adjust w to make best use of the last channel, the initial input w can be considered as an upper bound on the actual wait time. So we denote the original input wait time as w, while the wait time we try and get finally is denoted as w. So for a run of FSEB algorithm, given w, and two of the upper bound on channel bandwidth b,,,, user bandwidth B, and the maximum number of channels that a user can use concurrently k as inputs, n and X(i) need to be computed. The detailed procedure is given below. First, to ensure an uninterrupted display of the video once it starts, the download time of the i-th segment must not be larger than w plus the time to display the previous i- 1 segments. Since the user can download from up to k channels simultaneously, we can compute X(i) for 1 I i I k from b. = A(X (i)) - A(X(i - 1)) r b,,,, 1 I i I k and X(O)=O. X (i - 1) W+ F As for S, when k < i I n, once the user finishes downloading Si-k, it can start downloading Si immediately. Also, in order to play the video continuously, the user has to finish downloading S, by the time the display of S,.I completes. So, the download time for Si is the display time of segments Si-k,..., which is the number of frames in those k previous consecutive segments divided by the display rate. We thus have

56 b. = A(X(i)) - A(X (i- 1)) I b, k<i<n. X(i-1) - X(i- k-1) ( ) F The construction of segment S, in a video when 1 I i < k is shown in Figure 5-1. As shown, for the remaining frames from Fx(,-l,+l to FN, inclusive, in the order from Fx(i. 1)+1 to FN, we put frames one by one into a segment to be constructed, S,. Suppose Fx(i- 1,+1,..., Fr have been put into Si, the required bandwidth of a channel to transmit Si is We increase the value of 1 one by one as long as the value of Equation 5-3 is not larger than bmax. That is, we can compute X(i) as the maximum integer 1 satisfying N Display Time: w+x(i-l)/f (see)' Segment Si I Frames to be grouped I Figure 5-1. Construction of a segment using FSEB when 1 I i I k. For the first segment SI, X(0) is 0, so we can get X(l) and S1 using the Inequality 5-4. We compute X(2), X(3),..., X(k-1) and X(k) similarly and get S2, Sj,..., Sk-, and Sk accordingly. The actual bandwidth of each channel can be computed using Equation 5-1. The construction of segment S, in a video when i > k is shown in Figure 5-2. As shown, for the remaining frames from Fx(i.l)+l to FN, inclusive, ifx(i-1) is equal to N, the process of construction terminates and we get n = i -1. If N > X(i-1), in the order from

57 Fx(,.I,+I to FN, we put frames one by one into a segment to be constructed, S,. Supposing that Fxc,.l,+I,..., FI have been put into S,, the required bandwidth of the channel to transmit S, is We increase the value of I one by one as long as the value of Equation 5-5 is not larger than b,,,. That is, we can compute X(i) as the maximum integer I satisfying I c D~splay Tune: (X(r-1)-X(r-k-1))lF Segment Si I Frames to be grouped I Figure 5-2. Construction of a segment using FSEB when i > k. For the first segment Sk+l, X(k) is known, so we can getx(k+l) and &+I using Inequality 5-6. We compute X(k+2), X(k+3),..., X(n-1) and X(n) similarly and get &+2, S Sk+3,..., Sn-l and S,, accordingly. The actual bandwidth of each channel can be computed using Equation 5-2. As above, we can get a series of segments as output. The order of the segments we get from the construction is the same as that of the segments to be played. The n number of these segments, that is, n, is an output. So Bs = b, 5 (n x b,) = B,, and B,,=I z B,. We denote the allocated server bandwidth as B,, (=n x b,). SO n cannot be controlled.

58 When we construct Si using Inequality 5-4 or Inequality 5-6, it could happen that even the first frame after X(i-1) may not satisfy the relevant inequality. That is, even 1 =X(i-l)+l fails to satisfy it. Segmentation fails in this situation. What we could do is to increase b,, or k and try again. Increasing bmm or k implies increasing the user bandwidth B,. This means that there must be a minimum user bandwidth to avoid unsuccessful segmentation of a video for a given wait time Segmentation algorithm for FSEB Here, we present the pseudocode of the algorithm to construct the segments. / / INPUTS: // w,&,, k,f, N,andAQ,i= 1,..., N. / / OUTPUTS: / / n, X(l), i = 1,..., n-1 and Bs. / / Compute A(z) for i = 1,..., N. A(0) = 0; for(i= 1; i<n, i++) A(z) = A(i - 1) + Jq; / / Segmentation segmentation~success = true; j= 1; i=o; X(O)=O; while (js N) { i=i+ 1; if(i<k){ while (Ineauality 5-1 is true) { j= j+ 1; if ( j> N) break; 1 X(z) = j - 1; } else { while (Ineauality 5-2 is true) { j= j+ 1; if (j> N) break; } X(z) = j- 1; I if ( X(z) == X(i- 1) ) { i=i- 1; segmentation~success = false; / / Segmentation fails break; } }

59 / / If the construction process failed, exit. if ( segmentation-success == false ) exit; / / Get n: Number of segments n = 1: / / Get each segment, bandwidth of the related broadcasting channel and / / finally the server bandwidth. Bs = 0; for(i= l;i<n;i++) startframe-position = X(i - 1) + 1; endframegosition = X(1); segment-size-in-bits(1) = A(endframe_position) - A(startframe-position - I); segment-sizejnframes(1) = endframe-position - startframe-position + 1; channel-bandwidth(z1 = segment-size-in-bits(1) / ((startframe-position - 1) / 4; Bs = Bs + channel-bandwidth(z1 ; Figure 5-3. Pseudocode of FSEB algorithm. It is easy to see that the time complexity of the above algorithm is O(N). 5.3 Experimental Results We applied FSEB to some real video traces from [26]. Since the performance results are similar regardless of the VBR video content, we only use one representative video BOND here. The properties of BOND have been shown in Table 4-1. Figure 5-4 plots the allocated server bandwidth Bs against the wait time w when k and b,,, are fixed at 19 and 64Kbps, respectively, for BOND. The figure shows that the server bandwidth in general decreases when we increase the wait time with the user bandwidth fixed. Note that if we fix b,,, and k, we should get the same n for a range of w. This explains why the graph has the form of a staircase. The height of each step equals b,. The left end of each step corresponds to the case where the last channel is fully used. Therefore, in a sense, such a point represents an "optimal" selection of wait time w.

60 FSEB gives implementers fine-grained control via the input parameters w, bmax and k. Given the maximum user bandwidth B, and a fixed w, we can adjust k and b,, within the constraint of k x bmax = B,. Decreasing (increasing) b,,, would increase (decrease) both k and n. But decreasing b,,, would delay the downloading of later frames, thereby decreasing the total server bandwidth. Waiting Time I Length of Video (%) Figure 5-4. Server bandwidth vs. wait time for FSEB ? Waiting Time I Length of Video (%) Figure 5-5. Server bandwidth vs. wait time for FSEB with different k and b,,,.

61 Figure 5-5 shows the effect of varying b, and k within the constraint of k x b, = b (The choice of B, here and later is only for the demonstration purpose.) for the sample video, where b (bitslsec) is its average display rate. It can be seen that for a fixed wait time and user bandwidth, a smaller b,,, leads to smaller server bandwidth. 0?U 10 B0 %I Channel Bandwidth in Kbps Figure 5-6. Server bandwidth vs. channel bandwidth for FSEB. Figure 5-6 shows the trend more clearly. In Figure 5-6, we keep B, the same (1.896 times the average display rate b) for the sample video, while changing b, from 8Kbps to 128Kbps with w = 16 (thus, the normalized wait time is 0.01). If we fix w and bmax for a video, there is a minimum k that prevents segmentation failure, as we commented earlier. Increasing k can decrease the server bandwidth so that we can trade the user side bandwidth with the server bandwidth to a certain extent (similarly to the idea in CCA [7]). Figure 5-7 shows the server bandwidth as a function of k for the sample video when w = 16 and b, = 16,000. It demonstrates that the server bandwidth can be saved by increasing the user bandwidth.

62 43 :a $0 7r; cjo 60 loo 110 1x Number of User Channels Figure 5-7. Server and user bandwidth vs. number of user channels for FSEB. 11: r " r " - "~.?*PC f%i~'l,"l;"l' - 4- ' I ' 1 X QI FSEB for Sample Wdeo BOYD 1 (Torn1 Frflnics: I0,OOO; Frrtura Rnlf: 25fr1r) d (.-lwrnp Drrplny Rnlf: b = 60"11.63.C1)ps) rvitlt \5 ail Tllne = 16 $~conds (1% of\ideo length) and Snmber of Vsei C'hnnnci\ = 80 ul 0 % '' E C) \ 5 --c?? * --\- )_- u -t e =? 2 Y R Channel Bandwidth in Kbps Figure 5-8. Server and user bandwidth vs. channel bandwidth for FSEB. Another way to save the server bandwidth by exploiting the user bandwidth is to increase b,, for fixed w and k. Figure 5-8 shows the server bandwidth as a function of b,, as b,, is varied from 8Kbps to 18Kbps for the sample video, when w = 16 and k = 80. It demonstrates that the server bandwidth can also be reduced by increasing the channel bandwidth for a given number of user channels.

63 CHAPTER 6 GENERAL FRAME LEVEL SEGMENTATION In this chapter, we observe some problems in the currently known VBR schemes and propose our third scheme, General Frame Level Segmentation (GFLS), to solve these problems. 6.1 Problem Description In Section 2.1, we described that LLBE can achieve the minimum server bandwidth given the user wait time and number of segments. Its discussion was based on the frame sequence of a VBR video. However, LLBE doesn't take into account the fact that the frames may use backward prediction (e.g., B frames in MPEG). Actually, LLBE cannot work correctly for the sample videos from 0. Rose [26]. LLBE doesn't differentiate the frame sequence in transmission order from that in display order. LLBE only works if the two frame sequences are the same, which is not the case for the sample videos used in its paper. All the sample video traces from [26,4] only give the frame sequences in display order, which is not the order in which they are transmitted in the network. But they were used to demonstrate LLBE. For example, when applying LLBE to the sample video trace FUSS (N= 40,000 and F=25) from [26], with n = 20 and w = 60 seconds, at the end of Segment 6 is Frame 2,484, which is a B frame using backward prediction based on the I frame, Frame 2,485. But Frame 2,485 is in the next segment, Segment 7. So when Segment 6 finishes downloading, the decoder on the user side may not be able to decode Frame 2,484 properly since its future reference

64 frame, Frame 2,485, may not be available5. Thus, we cannot ensure the continuous display of the video when using LLBE for a frame sequence with B frames The frame sequence of VBR video The video can be seen as a frame sequence. Different video coding standards have different frame types. In H.261 and H.263, there are only two types of frames. One is the I frame (Intra-coded image) and the other is the P frame (Predictive-coded image). The I frames are coded without any reference to other images, while the P frames require information of previous reference frames for encoding and decoding. The I and P frames can both be reference frames. MPEG-1, MPEG-2 and MPEG-4 have added another type of frames, the B frames (Bi-directionally predictive-coded image). The B frames require information of the previous and following reference frames to encode and decode. The I, P and B frames can be formed into a group of pictures (GoP). One GoP contains at least one I frame and the frames in it have a specified sequence, called the GoP pattern. FrameType I B-B P B B P B B P B B I Transmission Order Figure 6-1. Display order and transmission order of a frame sequence with B frames. For the decoder to work properly, a reference frame has to be decoded before all 5 Whether Frame 2,485 is available or not depends on when the downloading of Segment 7 starts, and in general we cannot assume it is available.

65 the frames that use prediction based on it. So for a frame sequence that has B frames in it, the transmission order is not the same as the display order. Figure 6-1 shows the difference between the two orders of a frame sequence with the GoP pattern used by the trace files from [26]. For more details on the frame sequence of a video, the reader is referred to [28]. To partition a whole video with B frames into segments and transmit them over a network, we have to use the frame sequence in transmission order to make the decoder on the user side work properly. This is the problem LLBE does not address. LLBE doesn't differentiate between these two different orders of the frame sequence. If there is no B frames, LLBE can be used. If there is any B frame using backward prediction, LLBE cannot be used. Transmission Order Display Order Segment segment 2 I B B P B? I Figure 6-2. Partial display problem. Furthermore, we have to avoid the possible partial display of a downloaded segment if there are reference frames (I and P) in it and the related B frames in the segment that is still being downloaded. If there is any B frame that is encoded based on a reference frame and this B frame locates in a segment in transmission order after the segment that has the reference frame, the segment containing the reference frame may not be displayed fully. It is because the reference frame can only be displayed after all the B frames that are encoded based on it are displayed. Figure 6-2 shows the partial display

66 problem in a simple example, where the user side can only display the first 5 frames, not the expected first 6 frames. Currently, many videos use B frames to achieve higher compression rate. In order to solve the above problems, we provide a new segmentation method, which will be explained in the next section. 6.2 Proposed Solution General Frame Level Segmentation (GFLS) provides a new segmentation method taking the frame interdependency into consideration. We can use it to achieve the minimum server bandwidth given a fixed user wait time and the number of segments. It can also be used in the case where there is user bandwidth limit. In general, any broadcast scheme based on the frame sequence of a video has to use an algorithm like GFLS to ensure the continuous display of the video. Here we discuss in detail how it correct LLBE to get a loss-less VBR broadcast scheme, which achieves the minimum server bandwidth given a fixed user wait time and the number of segments. In subsequent discussions, for convenience, we assume that there always exist B frames using backward prediction in the frame sequence Segment-end-flag (SEF) sequence To solve the partial display problem, GFLS introduces a sequence, called the segment-end-flag (SEF) sequence, which has one element for each frame. The SEF sequence contains the information on whether a frame in the frame sequence can be at the end of a segment or not. For each item in the SEF sequence, it has a value of either false

67 (0) or true (1). false means the frame in the corresponding position of the frame sequence cannot be at the end of a segment. While, if the value is true, the frame can. Given a video with its GoP pattern, which shows whether a frame uses backward prediction, there are two ways to construct the SEF sequence. One is to compute the SEF sequence using the frame sequence in display order, which is given in Figure 6-3. The other is to use the frame sequence in transmission order, which is given in Figure 6-4. // Construct SEF from the display order / / prediction-type-display(1) is the prediction type of / / the i-th frame in display order / / INPUTS: / / prediction-type-display(z), i = 1,..., N. / / OUTPUTS: / / segment-endflag(z), i = 1,..., N. for(i= 1; i<n,i++) if ( prediction-type-display(z) == BACKWARD-PREDICTION ) segment-endflag(z) = false; // false for the frame using backward prediction else segment-endflag(z) = true; Figure 6-3. Pseudocode to construct SEF sequence from the display order for GFLS. / / Construct SEF from the transmission order / / prediction-type-data(i) is the prediction type of / / the i-th frame in transmission order / / INPUTS: // prediction-type_data(1), i = 1,..., N. / / OUTPUTS: // segment-endjag(4, i = 1,..., N. for ( i= 2; i<n; i++) if ( prediction-type-data(z) == NO-BACKWARD-PREDICTION ) segment-endflag(i- 1) = true; // true for the frame before no backward prediction else segment-endflag(i- 1) = false; segment-endflag(nj = true; Figure 6-4. Pseudocode to construct SEF sequence from the transmission order for GFLS. Figure 6-3 shows that, for a frame sequence in display order, only frames not using backward prediction can be at the end of segments. If any frame using backward

68 prediction is at the end of a segment, it cannot be decoded properly since it lacks the information of the succeeding reference frame that is in the next segment. Figure 6-4 shows that, for a frame sequence in transmission order, only the frames just before reference frames can be at the end of segments. This is because it ensures that all frames using backward prediction are located in the same segment as their backward reference frame, which makes full display of the segment possible. So segmentation based on the SEF sequence ensures both the proper decoding for the frame sequence in display order and the full display for the frame sequence in transmission order. Figure 6-5 gives an example of the SEF sequence using the frame sequence in Figure 6-1. Frame Type I B B P B B P B B P B B I Display Order Transmission Order SEF Sequence Figure 6-5. Segment-end-flag (SEF) sequence for GFLS. Figure 6-5 shows that the frame sequences in display order and in transmission order both have the same SEF sequence. It is not coincidental. We now show that this property is independent of the GoP pattern. To see this intuitively, note that in display order forward prediction doesn't cause any problem, while the frame using backward prediction cannot be decoded unless the reference frame is in the same segment. Since no frames using backward prediction beyond the next reference frame, each reference frame can be at the end of a segment but no non-reference frames can be at the end of a segment. Let us define a block to be a maximal subsequence of the frame sequence in display order that ends in a reference

69 frame but containing no other reference frame. Now note that the frame sequence in transmission order can be obtained from the sequence in display order by permuting each block in such a way that the (only) reference frame is moved from the end of the block to the beginning of the block. It is easy to see that this permutation has no effect on the block boundaries, where segments can start and end, and end of the block can be identified as just before the reference frame in transmission order. We now present a more formal proof. First, it is obvious that the last item in the SEF sequence in either order is 1 and Frame N in display order is a reference frame. Suppose in display order, the first true value item in the SEF sequence before the last one is k, k < N, then the (N- k - 1) frames from Frame (k + 1) to Frame (N- 1) in display order use backward prediction. In transmission order, these (N- k -1) frames have to be after their future reference frame, which is Frame N in display order. So in transmission order, they are at positions from (k + 2) to Nand Frame N in display order at position (k + 1). Thus, in transmission order, Frame (k + 1) does not use backward prediction while Frame (k + 2) to Frame N do. Therefore, in transmission order, the first true value item in the SEF sequence before the last one is also k. Similarly, proceeding forward, we can prove that the SEF sequence is independent of the order Segmentation algorithm for GFLS Like LLBE, we also use dynamic programming to achieve minimum server bandwidth, given a user wait time and the number of segments. We need to make two major changes to the program for LLBE (shown in Figure 2-2). First, for frame j that cannot be at the end of a segment, we don't have to compute the value of Bmin( j, i ). Second, because the number of segments must not be larger than the number of frames

70 that can be at the end of a segment, there is no need to compute the value of Bmi,( j, i ) if in the first j frames the number of frames that can be at the end of a segment is less than i. We let minimumframes(i) denote the minimum number of first frames that contain i frames that don't use backward prediction. We can get minimum_fi.ames(i) from the GoP pattern. For the GoP pattern used in all the sample videos, which is IBBPBBPBBPBB, the minimumframes(i) is (i - 1) x The pseudocode for GFLS using dynamic programming is given in Figure 6-6. / / INPUTS: / / w, n, F, N, segment-end_flag(z) and flz), i = 1,..., N, / / function of minimumframes. / / OUTPUTS: / / bi, X(z), i = 1,..., n and Bs. / / Initialize table Bmin( i, j ) to infinity for j 2 i //(i= 1,..., N,j= 1,..., n ) / / Same as that in LLBE for(i= 1; i2n; i++) for(j= l;jin;j++) if(i< j) break; Bmin ( i, j ) = INFINITY; / / Compute A(z) (Number of bits in the first i frames) and / / initialize Bmin ( i, 1 ) for i = 1,..., N. (The first segment) / / Same as that in LLBE A(0) = 0; for(i= 1; ism, i++) A(z) = A(i - 1) + flz); Bmm ( i, 1 ) = A(z) / W; / / Construct the remaining table for ( i = 2; i s n; i++ ) for(j=i;jin;j++) if ( segment-end-gb) == true AND minimumframes(i) 2 j ) for ( k= i- 1 ; kcj k++) if ( segment-endjag(k) / / Get server bandwidth == true AND minimumfrarnes(i- 1) I k ) increased-bandwidth = ( A(I) - A(k) ) / ( w + k / F ); bandwidth = Bmin ( k, i - 1 ) + increased-bandwidth; if ( bandwidth < Bmin ( j, i ) ) Bmin ( j, i ) = bandwidth; Pmin ( j, i) = k + 1; //Starting frame position of i-th segment

71 / / Same as that in LLBE Bs = Bmin ( N, n); / / Get each segment and bandwidth of the related broadcasting channel / / Same as that in LLBE startframe-position = N + 1 ; for(i= n; i>= 1; i--) preuiousframes = start f rame-position - 1 ; startframe-position = Pmin (previousframes, 4; endframe-position = previousframes; segment-size-in-bits(1) = A(endframeposition) - A(startframe-position - 1); segment-size-inframes(r) = endframe-position - startframe-position + 1; channel-bandwidth(1) = segment-size-in-bits(1) / (w + (startframe-position- 1) / 4; Figure 6-6. Pseudocode of GFLS using dynamic programming. 6.3 Experimental Results We applied GFLS to all real VBR video traces from [26]. Since the performance results are similar regardless of the VBR video content, we only use some representative videos here. Figure 6-7 shows the optimal server bandwidth for the value of n (number of segments) ranging from 3 to 25 for videos FUSS, MTV-1 and NEWS-2 from [26] (all have N=40,000 and F=25), when user wait time w = 60 seconds (3.75% of the video length). Figure 6-7 shows that when n increases, Bs will decrease. Also, B, will get close to the lower bound when n gets very large. The computation results for FUSS with w = 60 seconds and n = 20 are given in Figure 6-8, showing the size of each segment in frames, in Figure 6-9, showing the size of each segment in bits, and in Figure 6-10, showing the bandwidth of each channel in bits per second.

72 I Number of Segments Figure 6-7. Optimal sewer bandwidth of GFLS for three real videos Segment Size in Frames Figure 6-8. Size of each segment in frames using GFLS for FUSS and n=20, w=60.

73 Segment Size in Million Bits Figure 6-9. Size of each segment in bits using GFLS for FUSS and n=20, w= Channel Bandwidth in Bits Per Second I Figure Bandwidth of each channel using GFLS for FUSS and n=20, w=60. If we go back to Figures 2-3,2-4,2-5 and 2-6 of LLBE in Section 2.1, we can find that they are almost the same as Figures 6-7,6-8, 6-9 and 6-10, respectively. But there are still some differences, which will be discussed later.

74 CHAPTER 7 PERFORMANCE EVALUATION In this chapter, we evaluate the performance of the three proposed schemes. First, we compare BSEB-PC with LLBE-PC to show its practical value and analyze the wasted bandwidth of BSEB-PC. Second, FSEB is compared with SCB in the same deployment environment to show its better performance and the analytical results on the wasted bandwidth of FSEB are presented. Third, we compare GFLS with LLBE to see what improvement GFLS can bring us other than ensuring proper decoding and full display of each downloaded segment for videos using backward prediction for encoding. Finally, we describe the relationship among the three schemes. 7.1 Performance of BSEB-PC LLBE-PC is an optimal scheme based on prefix caching and greedy downloading, and BSEB-PC uses the same approach. Our experiments used a set of real videos encoded using the MPEG-1 standard. Since the results are similar regardless of the video content, here we only show the results for the videos in Table 4-1. We first compare BSEB-PC with LLBE-PC. For a given video and input parameters T and bandwidth b,, of each channel, we use the segmentation algorithm of BSEB-PC (Figure 4-2) to get server bandwidth Bs of BSEB-PC, n andp. Then, we take n and p as input parameters to the segmentation algorithm of LLBE-PC for the same video to get server bandwidth Bs of LLBE-PC. We compute the value of perf= 100 x ( (Bs of BSEB-PC) - (Bs of LLBE-PC) ) 1 (Bs of LLBE-PC) (%).

75 So for a pair of T and b,,, values, we can compute the performance value perj We choose 64Kbps as b, since it is the most widely used bandwidth currently. For the values of T, we choose I%, 2%, 3%, 4% and 5% of the total display time. In other words, we choose 1 %, 2%, 3%, 4% and 5% of the total number of frames as the value ofp,,. - Pmax 1742 n 30 P 1622 Bs of BSEB-PC (bps) Bs of LLBE-PC (bps) perf (%) Table 7-1. Computation results for "Star Wars" from 14). The computation results for STARWARS from [4] are shown in Table 7-1. PI Video I Total (,%Of MTV 1 Frames) 800 BOND (2% of FUSS Total # of MTV 1 Frames) NEW<;? 1200 BOND (3% of FUSS Total # of MTV 1 Frames) BOND # of t"" NEWS a 36 P 385 Bs of BESB-PC (bps) Bs of LLBE-PC (bps) perf ("10) I Frames) I NEWS 2 Table 7-2. Computation results for four real video traces from 1261.

76 The computation results for BOND, FUSS, MTV - 1 and NEWS - 2 from [26] are shown in Table I 1-1 I I I fa : Cached Prefix Total Framer (0%) Figure 7-1. Performance of BSEB-PC compared with LLBE-PC. The graph in Figure 7-1 was plotted using the data in Table 7-1 and Table 7-2. The horizontal axis is the fraction of the cached prefix duration over the total duration of the video. For all the sample videos, it is observed from the figure that the wasted bandwidth is less than 1%. We know from Figure 2-8 that the time complexity of LLBE-PC segmentation algorithm is O(~X(N-~)~) a 0(nxN2) (since N >>p). In contrast, the BSEB-PC segmentation algorithm runs in linear time O(N). When programmed in C++, the algorithm for BSEB-PC ran in milliseconds for a 2-hour video (STARWARS) on a PC with a 1 SGHz Pentium 4 CPU and 256M of memory running under Windows 2000

77 Professional, while the algorithm for LLBE-PC took close to one day. The experimental results demonstrated that the bandwidth requirement of our scheme BSEB-PC is within 1% of the optimum. We believe that this is a small cost to pay in return for the benefits we get, namely no need for customization of channels and only linear run time of segmentation algorithm. This implies a great practical value. Second, we analyze the wasted bandwidth of BSEB-PC. In BSEB-PC, each channel has the possibility that it cannot be used fully and has some wasted bandwidth. As stated in Section 4.2, the actual bandwidth of each channel is where X(i - 1 ) is determined as the minimum integer 1 satisfying The total wasted bandwidth is We can see that the value of the wasted bandwidth depends on the frame size distribution of the video besides the frame sizes and total number of frames in the video. The frame size distribution determines the segmentation of the video, represented by the indices {X(i)). These indices, in turn, determine the download time of segments and the bandwidths of the channels to transmit these segments.

78 To analyze the wasted bandwidth, we use the average frame size and maximum frame size of a video to create an artificial distribution of the video to get an upper bound on the wasted bandwidth. Given the number of frames in the video (N), the average frame size of the video (AVE), and the maximum frame size of the video (MAX), we suppose the frame, which is just before the first frame in one segment during the process of segment construction in BSEB-PC, has the maximum size and the wasted bandwidth to transmit this segment is caused by this frame. Thus, we construct an artificial video based on the above three parameters of a real video. After this process, for BSEB-PC, we assume that the last segment is composed of frames of average size, and in all other segments, the last frame is of the maximum size and other frames are of the average size, shown in Figure 7-2. I cached Prefix ( 1 Segment Si, i=l,..., n-1 ( ( Last Segment ( Figure 7-2. Constructed artificial video for BSEB-PC. As we stated above, X(n - 1) is determined as the minimum integer 1 satisfling Here, A(N) - A(I) is equal to A VE*(N - I), so that

79 Hence, X(n - 1) = The exact wasted bandwidth of this segment is Since the wasted space of the segment cannot exceed maximum frame size, we have + MAX, so AVE*(N-X(n-1)) MAX b,mx - X (n- 1) < (x(n- 1) F F AsforX(i-l),i=(n- l),(n-2),..., l,a(n)-a(i)isequaltoave*(x(i)-1-1) 1 AVE * (X(i) -1-1) +MAX 1 5 bmm, 12 A VE * (X(i) - 1) + MAX AYE+& F

80 We can get X(i - 1) = The exact wasted bandwidth of this segment is Similarly, AVE*(X(i)-X(i-1)-1)+W bmx - X(i < - 1) MAX From the above, we can compute an upper bound as on the wasted bandwidth for BSEB-PC. We choose 64Kbps as b, since it is one of the most widely used bandwidths in practice, and 1 %, 2%, 3%, 4% and 5% of the total frames as the value ofp,,. Here we only show the results of the constructed videos for five real traces in Table 4-1. Others are similar. The computation results for the artificial video constructed from STARWARS [4] are shown in Table 7-3.

81 x rl wasted Bandwidtlt(Oh) Upper Bound on fisted Bandwidt/, yo P pln (%) Table 7-3. Wasted bandwidth of the artificial video constructed from "Star Wars" 141. The graph in Figure 7-3 was plotted using the data in Table 7-3. For STARWARS t (J 1 - i I I I I I ' 'I Cnch~d Prefix I Totnl Frames (oh) Figure 7-3. Wasted bandwidth of the artificial video constructed from "Star Wars" [4]. The computation results for the artificial videos constructed from BOND, FUSS, MTV - 1 and NEWS - 2 [26] are shown in Table 7-4.

82 Pmax 400 (l%of Total Video BOND FUSS MTV 1 n Wasted Bandwidth(%) Upper Bound on Wasted Bandwidth ( Oh) P PIN (%) Table 7-4. Wasted bandwidths of the artificial videos constructed from four real videos [26]. From the experimental results on the constructed videos, we can see that the exact wasted bandwidths are all less than 0.4% whenp,, is no less than 1% of the total frames. In those cases, the W A V E ratio is between 9 and 13, and the upper bounds are all less than 6%. The graph in Figure 7-4 was plotted using the data in Table 7-4. The upper bound for BSEB-PC we got is an upper bound on wasted bandwidth for a large group of videos, which have the given number of frames, maximum frame size and the following frame size distributions based on the above computation of a given trial size of video.

83 The last segment has (N- X(n- 1)) frames, and the size of this segment can be between * 'ma, - MAX + 1 and bma, * X(n - 1) X (n- 1) F F For other segments except the initial prefix, the last frame has the maximum size. And the size of the remaining part of the segment can be between * X(i - 1) X (i- 1) F F b, -MAX - MAX + 1 and b,,, * -MAX. As for the initial prefix, it hasp frames, and the size can be betweenp and 0 5 I ' C'nclted Prefix! Total Frame$ (96) Figure 7-4. Wasted bandwidth of the artificial videos constructed from four real videos [26].

84 7.2 Performance of FSEB SCB is the only currently known scheme that deals with the server bandwidth optimization with user channel limit for VBR videos, respecting frame boundaries with no data loss. FSEB provides a solution to the server bandwidth minimization problem, considering user bandwidth limit using equal bandwidth. To know the performance of FSEB, we compare FSEB with SCB. Here we only give one example, since all other sample videos from [26] we have tested yielded similar results. For comparison purposes, for the first frames of real video FUSS from [26], we set w = 6 (corresponding to 1% of the video display time) and k = 3. These are the values that we used in Figure 2-10 of Chapter 2 (which discusses SCB). First, we run the segmentation algorithm of SCB for n from 3 to 20 to compute user bandwidth B, and server bandwidth B,. Then, we run the segmentation algorithm of FSEB with different channel bandwidths b,,, to produce n from 3 to 20. After we get the minimal bmax for each n, we compute kxb,,, as B, of FSEB and nxb,, as Bs of FSEB. The computation results are shown in Table 7-5. Figure 7-5 shows the graph plotting the data in Table 7-5.

85 n B,, of SCB (bps) B, of SCB (bps) I kxbmnx (bps) I nxbmnx (bps) Table 7-5. Computation results for sample video for SCB and FSEB. I I I I I I SCB ~ er& 8andwtddh -I- :>,;:.: :.+,.-,*.;:;nl../~4 >". X"... FSEB Server Bondwidth -.-r--- - l:..:;eg IJsey cnntjwi,:{th...-a 4 ( Number of Segments Figure 7-5. Performance of FSEB compared with SCB.

86 Note that in Figure 7-5, for FSEB, the bandwidth values plotted are kxb,, and nxb,,,, which include the small amounts of unused bandwidth. In spite of this unfairness, it can still be observed that FSEB outperforms SCB, in some cases rather significantly. We can see in Figure 7-5 that for both FSEB and SCB, the server bandwidth B, increases as the number of segments n increases. To see why this happens, observe that when n gets larger, the number of frames in each segment gets smaller. Note that the download time of a frame in a segment i, where i > k, is the display time of the previous k segments, which is proportional to the number of frames in these segments. Therefore, the download time of a frame in such a segment gets shorter when n is larger, which makes the total server bandwidth increase when n is larger. To see this more clearly, let us examine Equations (2-9) and (5-2). In those equations, the denominator is (X(i-1)-X(i- k-1))lf. The value of this expression gets smaller when n gets larger. The numerator A(X(i))-A(X(j-1)) represents the amount of data contained in all the frames in segment i. Let us consider a particular frame j in segment i. This frame requires bandwidth equal to (A0)-AG- 1 ))I( (X(i- 1)-X(i-k- 1))lF). This quantity gets larger for larger n, since A(j)-A(j- I) is a constant. Figure 5-3 shows that the time complexity of the FSEB segmentation algorithm is O(N). In contrast, SCB is based on merging N frames into n segments leading to the minimal difference. Its time complexity is o(n~). But to find the merging that leads to the minimal difference in one round, other possible merging operations have to be tried. If we count those possible merging operations, the time complexity is o(n~), which is the complexity in our implementation.

87 Second, we analyze the wasted bandwidth of FSEB. In FSEB, each channel has the possibility that it cannot be used fully and has some wasted bandwidth. As stated in Section 5.2, the actual bandwidth of each channel is b. = A(X(i)) - A(X(i - 1)), when 1 _< i I k; X(i - 1) W+ F b. = A(X (i)) - A(X (i - 1)),whenk<iIn. ',X(i-1)-X(i-k-1). where X(i) is determined as the maximum integer 1 satisfying A(1) - A(X(i - 1)) X(i-1) -X(i - k -1) ( F 1 I b,,, when k < i I n. The total wasted bandwidth is We can see that the value of the wasted bandwidth depends on the frame size distribution of the video besides the frame sizes and total number of frames in the video. The frame size distribution determines the segmentation of the video, represented by the indices {X(i)). These indices, in turn, determine the download time of segments and the bandwidths of the channels to transmit these segments.

88 To analyze the wasted bandwidth, we use the average frame size and maximum frame size of a video to create an artificial distribution of the video to get an upper bound on the wasted bandwidth. Given the number of frames in the video (N), the average frame size of the video (A VE), and the maximum frame size of the video (MAX), we suppose the frame, which is just after the last frame in one segment during the process of segment construction in FSEB, has the maximum size and the wasted bandwidth to transmit this segment is caused by this frame. Thus, we construct artificial videos based on the above three parameters of a real video. After this process, the first segment is composed of frames of average size, and in all other segments, the first frame is of maximum size and other frames are of the average size, shown in Figure 7-6. Figure 7-6. Constructed artificial video for FSEB. X(1) is determined as the maximum integer 1 satisfying 4 5 b,,, (since X(O)=O and A(0) = 0). W Here, A(I) is equal to A VE*l, so

89 Lwik]. Hence, X(l) = The exact wasted bandwidth of this segment is It is clear that bmax - AVE * X(l) W AVE*X(l) AVE MAX ( 'ma - I<- I- W W W As for X(i), 1 < i 5 k, ( A(Z) - A(X(i - 1)) ) is equal to MAX+ AVE*(I - X(i -1) - Hence, The exact wasted bandwidth is -, for 1 < i l k.

90 It is clear that ('Inax - MAX+ AVE*(X(i)-X(i-1)-1) A VE I MAX X(i - 1) )< ~(i-1) X(i - 1) ' W+ W+ W+ F F F As for X(i), k < i I n, we can get similarly that The exact wasted bandwidth is It is clear that MAX+ AVE*(X(i)-X(i-1)-1) A VE ( bmax - X(i-1) - X(i- k -1) < X(i-1) - X(i 5 - k -1) F F MAX For the last segment, X(n) = Nand the exact wasted bandwidth is Since the last bandwidth may not be used fully, we cannot use the previous way to get the upper bound. Since N 2 (X(n - 1) +I), we have

91 MAX MAX+AVE*(N-X(n-1)-1) ( bmm - X(M-1)-X(n-k-1) 1' (bmax - X(n-1)-X(n-k-1) 1. F F The left side supposes that the last segment only has one frame of the maximum size, which causes an upper bound on the wasted bandwidth of the last segment. From the above, we can compute an upper bound as mk MAX,I-1 MAX*F A!L4x*F w ;=2 X(i-1) +,~l,x(i-l)-x(i-k-l) + ('ma, - X(n-1)- X(n- k-1) ) -+ W F on the wasted bandwidth for FSEB. We choose 64Kbps as b,,, since it is one of the most widely used bandwidths in practice. Here, we take BOND for example and choose 1%, 2%, 3%, 4% and 5% of the video length as the value of w and k as 19 (so that the bandwidth on user side is about two times the average display rate in bps). The computation result for the artificial video constructed from BOND is shown in Table 7-6. w 16 n 56 Wasted Bandwidth (%) Upper Bound on Wasted Bandwidth(%) Table 7-6. Computation result for the artificial video constructed from BOND [26]. The minimum value of w in seconds of them produces the largest usage of the last bandwidth, which is the reasonable one to choose.

92 We can get the computation result, shown in Table 7-7, for the artificial video constructed from BOND by increasing the value of w from 16 to 80. ble 7-7. Computation result for the artificial vide from BOND [26] for w from16 to 80. 'he graph in Figure 7-7 was plotted using the data in Table 7-7.

93 2 1'5 :3 3 5 Waiting Time i Length of Video (Oh) Figure 7-7. Wasted bandwidth of the artificial video constructed from BOND From the experimental results, we can see that for the same server bandwidth, there is a minimum value of w in seconds and its wasted bandwidth is always less than 2% for w 2 1 % of video length. But for the upper bound we computed, it supposes that the last segment is composed only of one frame with the maximum size. Hence, the fluctuation of the usage of the last bandwidth does not affect the upper bound. From the experimental results, the values of upper bounds are all less than 8% for w > 1 % of video length.

94 It is clear that the upper bound for FSEB we got is an upper bound on wasted bandwidth for a large group of videos, which have the given number of frames, maximum frame size and the following frame size distributions based on the above computation of a given trial size of video. The first segment has X(l) frames, and the size of this segment can be between (b,,,,, * w - MAX+ 1) and (b,, * w). For those segments from the second to the k-thy the first frame has the maximum size. The size of the remaining part of the segment can be X (i- 1) F between b, * (w + )-MAX-W+1 and b,,, *(w+ X(i - I)) - rn. For the last segment, it has (N- X(n-1)) frames, and the size can be between (MAX+(N- X(n-1) - 1)* 1) and (N- X(n-l))*MAX. F 7.3 Performance of GFLS LLBE is an optimal scheme that requires the minimum server bandwidth B, for a VBR video given user wait time w and the number of server channels n. In LLBE, greedy downloading and segment preloading are used. We find the improper decoding and partial display problems of LLBE for VBR videos, which uses backward prediction for encoding, and propose GFLS to solve these problems. Other than this, here we show other impacts GFLS can have. For the same reason as the above, here we only show the computation results for the video trace FUSS from [26]. From server bandwidth B, of LLBE and server bandwidth B, of GFLS, we compute the difference as ((Bs of GFLS) - (Bs of LLBE)) and the difference in percentage as di;ff= 100 x ( (Bs of GFLS) - (Bs of LLBE) ) / (Bs of LLBE) (%).

95 Table 7-8 shows the optimal server bandwidth B, of GFLS, Bs of LLBE, their difference and the value ofperf for n ranging from 3 to 20. Table 7-8. Comparison of GFLS and LLBE for FUSS: optimal server bandwidths. Salnbcr of Segments Figure 7-8. Optimal server bandwidths of GFLS and LLBE for FUSS.

96 To compare GFLS and LLBE in more detail, we compute the size of each segment in frames and in bits and the bandwidth of each channel for FUSS for n = 20, w = 60. The size in frames of each segment for GFLS and LLBE and their difference relative to the respective values for LLBE are shown in Table 7-9. i lsil of GFLS lsil of LLBE Difference Difference in Percentage Table 7-9. Size in frames of each segment for GFLS and LLBE. The size in bits of each segment for GFLS and LLBE and their difference relative to the respective values for LLBE are shown in Table The bandwidth of each channel for GFLS and LLBE and their difference relative to the respective values for LLBE are shown in Table 7-11.

97 I 1 2 S(i) of GFLS S(i) of LLBE Difference Difference in Percentage Table Size in bits of each segment for GFLS and LLBE. Table Bandwidth of each channel for GFLS and LLBE.

98 Figure 7-8 shows the graph plotting the data in Table 7-8, Figure 7-9 shows the graph plotting the data in Table 7-9, Figure 7-10 shows the graph plotting the data in Table 7-10, and Figure 7-11 shows the graph plotting the data in Table In Figure 7-9, Figure 7-10 and Figure 7-1 1, we use label S to mean that the value of GFLS is smaller than that of LLBE and label L means larger. When the two values are exactly the same, there is no label Segment Size in Frames (GFLS &LLBE) -f?- I Figure 7-9. Size of each segment in frames for GFLS and LLBE for FUSS. Segment Size in Million Bits ( &S & LLBE) Figure Size of each segment in bits for GFLS and LLBE for FUSS.

99 Figure Bandwidth of each channel for GFLS and LLBE for FUSS. We can see that, for all the quantities that we computed, the difference between GFLS and LLBE is small. Although the optimal server bandwidths of GFLS are almost the same as those of LLBE, they are always a little bit larger than those of LLBE, since LLBE is not realizable, while GFLS is. Here we compare GFLS with LLBE only to show the impact when we take proper decoding and full display into account. When there are no frames using backward prediction in the frame sequence, they are the same. In both GFLS and LLBE, the bandwidths of channels are more or less the same, unlike the sizes of segments, which increase with n. When n is large enough, the bandwidth of each channel is almost the same. As for the computation complexity, Figure 6-6 shows that GFLS computes fewer steps than LLBE. GFLS only computes the value of B,, (j, i ) when segment - endflagu) is true and j is no less than minimumframes(i). For the GoP pattern used in all the sample videos, which is IBBPBBPBBPBB, there are four frames not using backward

A Lossless VOD Broadcasting Scheme for VBR Videos Using Available Channel Bandwidths

A Lossless VOD Broadcasting Scheme for VBR Videos Using Available Channel Bandwidths A Lossless VOD Broadcasting Scheme for VBR Videos Using Available Channel Bandwidths Tiko Kameda and Shufang Wu School of Computing Science, CMPT-TR 2003-09 Simon Fraser University Vancouver, British Columbia,

More information

Lossless VBR Video Broadcasting with User Bandwidth Limit using Uniform Channels

Lossless VBR Video Broadcasting with User Bandwidth Limit using Uniform Channels Lossless VBR Video Broadcasting with User Bandwidth Limit using Uniform Channels Shufang Wu and Tiko Kameda School of Computing Science, CMPT-TR 2003-08 Simon raser University Burnaby, B.C., Canada V5A

More information

1. Introduction. SPIE/ACM MMCN2003, Santa Clara, CA, Jan An Efficient VOD Broadcasting Scheme with User Bandwidth Limit

1. Introduction. SPIE/ACM MMCN2003, Santa Clara, CA, Jan An Efficient VOD Broadcasting Scheme with User Bandwidth Limit SPIE/ACM MMCN2003, Santa Clara, CA, Jan. 2003 An Efficient VOD Broadcasting Scheme with Bandwidth Limit Edward Mingjun Yan and Tiko Kameda School of Computing Science, Simon Fraser University Burnaby,

More information

Video-on-demand broadcasting protocols. Jukka Leveelahti Tik Multimedia Communications

Video-on-demand broadcasting protocols. Jukka Leveelahti Tik Multimedia Communications Video-on-demand broadcasting protocols Jukka Leveelahti 17.4.2002 Tik-111.590 Multimedia Communications Motivation Watch any movie at home when ever you like MPEG-2 at least 4 MB per second Too expensive!

More information

A variable bandwidth broadcasting protocol for video-on-demand

A variable bandwidth broadcasting protocol for video-on-demand A variable bandwidth broadcasting protocol for video-on-demand Jehan-François Pâris a1, Darrell D. E. Long b2 a Department of Computer Science, University of Houston, Houston, TX 77204-3010 b Department

More information

Pattern Smoothing for Compressed Video Transmission

Pattern Smoothing for Compressed Video Transmission Pattern for Compressed Transmission Hugh M. Smith and Matt W. Mutka Department of Computer Science Michigan State University East Lansing, MI 48824-1027 {smithh,mutka}@cps.msu.edu Abstract: In this paper

More information

Combining Pay-Per-View and Video-on-Demand Services

Combining Pay-Per-View and Video-on-Demand Services Combining Pay-Per-View and Video-on-Demand Services Jehan-François Pâris Department of Computer Science University of Houston Houston, TX 77204-3475 paris@cs.uh.edu Steven W. Carter Darrell D. E. Long

More information

16.5 Media-on-Demand (MOD)

16.5 Media-on-Demand (MOD) 16.5 Media-on-Demand (MOD) Interactive TV (ITV) and Set-top Box (STB) ITV supports activities such as: 1. TV (basic, subscription, pay-per-view) 2. Video-on-demand (VOD) 3. Information services (news,

More information

Trace Adaptive Fragmentation for Periodic Broadcast of VBR Video

Trace Adaptive Fragmentation for Periodic Broadcast of VBR Video Trace Adaptive Fragmentation for Periodic Broadcast of VBR Video Fulu Li and Ioanis Nikolaidis Department of Computing Science University of Alberta Edmonton, Alberta Canada, T6G 2H1 ffulu,yannisg@cs.ualberta.ca

More information

A Dynamic Heuristic Broadcasting Protocol for Video-on-Demand

A Dynamic Heuristic Broadcasting Protocol for Video-on-Demand Proc.21 st International Conference on Distributed Computing Systems, Mesa, Arizona, April 2001. A Dynamic Heuristic Broadcasting Protocol for Video-on-Demand Scott R. Carter Jehan-François Pâris Saurabh

More information

An Interactive Broadcasting Protocol for Video-on-Demand

An Interactive Broadcasting Protocol for Video-on-Demand An Interactive Broadcasting Protocol for Video-on-Demand Jehan-François Pâris Department of Computer Science University of Houston Houston, TX 7724-3475 paris@acm.org Abstract Broadcasting protocols reduce

More information

An Efficient Implementation of Interactive Video-on-Demand

An Efficient Implementation of Interactive Video-on-Demand An Efficient Implementation of Interactive Video-on-Demand Steven Carter and Darrell Long University of California, Santa Cruz Jehan-François Pâris University of Houston Why Video-on-Demand? Increased

More information

A Proactive Implementation of Interactive Video-on-Demand

A Proactive Implementation of Interactive Video-on-Demand A Proactive Implementation of Interactive Video-on-Demand Jehan-Frangois PLis Department of Computer Science University of Houston.Houston, TX 77204-3010 paris@cs.uh.edu Darrell D. E. Long Department of

More information

Seamless Workload Adaptive Broadcast

Seamless Workload Adaptive Broadcast Seamless Workload Adaptive Broadcast Yang Guo, Lixin Gao, Don Towsley, and Subhabrata Sen Computer Science Department ECE Department Networking Research University of Massachusetts University of Massachusetts

More information

Tabbycat: an Inexpensive Scalable Server for Video-on-Demand

Tabbycat: an Inexpensive Scalable Server for Video-on-Demand Tabbycat: an Inexpensive Scalable Server for Video-on-Demand Karthik Thirumalai Jehan-François Pâris Department of Computer Science University of Houston Houston, TX 77204-300 {karthik, paris}@cs.uh.edu

More information

Improving Bandwidth Efficiency on Video-on-Demand Servers y

Improving Bandwidth Efficiency on Video-on-Demand Servers y Improving Bandwidth Efficiency on Video-on-Demand Servers y Steven W. Carter and Darrell D. E. Long z Department of Computer Science University of California, Santa Cruz Santa Cruz, CA 95064 Abstract.

More information

Implementation of MPEG-2 Trick Modes

Implementation of MPEG-2 Trick Modes Implementation of MPEG-2 Trick Modes Matthew Leditschke and Andrew Johnson Multimedia Services Section Telstra Research Laboratories ABSTRACT: If video on demand services delivered over a broadband network

More information

A Video Broadcasting System

A Video Broadcasting System A Video Broadcasting System Simon Sheu (sheu@cs.nthu.edu.tw) Department of Computer Science, National Tsing Hua University, Hsinchu, Taiwan 30013, R.O.C. Wallapak Tavanapong (tavanapo@cs.iastate.edu) Department

More information

Improving Server Broadcast Efficiency through Better Utilization of Client Receiving Bandwidth

Improving Server Broadcast Efficiency through Better Utilization of Client Receiving Bandwidth Improving Server roadcast Efficiency through etter Utilization of lient Receiving andwidth shwin Natarajan Ying ai Johnny Wong epartment of omputer Science Iowa State University mes, I 50011 E-mail: {ashwin,

More information

Skip Length and Inter-Starvation Distance as a Combined Metric to Assess the Quality of Transmitted Video

Skip Length and Inter-Starvation Distance as a Combined Metric to Assess the Quality of Transmitted Video Skip Length and Inter-Starvation Distance as a Combined Metric to Assess the Quality of Transmitted Video Mohamed Hassan, Taha Landolsi, Husameldin Mukhtar, and Tamer Shanableh College of Engineering American

More information

THE CAPABILITY of real-time transmission of video over

THE CAPABILITY of real-time transmission of video over 1124 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 15, NO. 9, SEPTEMBER 2005 Efficient Bandwidth Resource Allocation for Low-Delay Multiuser Video Streaming Guan-Ming Su, Student

More information

Understanding Compression Technologies for HD and Megapixel Surveillance

Understanding Compression Technologies for HD and Megapixel Surveillance When the security industry began the transition from using VHS tapes to hard disks for video surveillance storage, the question of how to compress and store video became a top consideration for video surveillance

More information

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015 Optimization of Multi-Channel BCH Error Decoding for Common Cases Russell Dill Master's Thesis Defense April 20, 2015 Bose-Chaudhuri-Hocquenghem (BCH) BCH is an Error Correcting Code (ECC) and is used

More information

Network. Decoder. Display

Network. Decoder. Display On the Design of a Low-Cost Video-on-Demand Storage System Banu Ozden Rajeev Rastogi Avi Silberschatz AT&T Bell Laboratories 600 Mountain Avenue Murray Hill NJ 07974-0636 fozden, rastogi, avig@research.att.com

More information

Improving Video-on-Demand Server Efficiency Through Stream Tapping

Improving Video-on-Demand Server Efficiency Through Stream Tapping Improving Video-on-Demand Server Efficiency Through Stream Tapping Steven W. Carter and Darrell D. E. Longt Department of Computer Science University of California, Santa Cruz Santa Cruz, CA 95064 Abstract

More information

An optimal broadcasting protocol for mobile video-on-demand

An optimal broadcasting protocol for mobile video-on-demand An optimal broadcasting protocol for mobile video-on-demand Regant Y.S. Hung H.F. Ting Department of Computer Science The University of Hong Kong Pokfulam, Hong Kong Email: {yshung, hfting}@cs.hku.hk Abstract

More information

SWITCHED BROADCAST CABLE ARCHITECTURE USING SWITCHED NARROWCAST NETWORK TO CARRY BROADCAST SERVICES

SWITCHED BROADCAST CABLE ARCHITECTURE USING SWITCHED NARROWCAST NETWORK TO CARRY BROADCAST SERVICES SWITCHED BROADCAST CABLE ARCHITECTURE USING SWITCHED NARROWCAST NETWORK TO CARRY BROADCAST SERVICES Gil Katz Harmonic Inc. Abstract Bandwidth is a precious resource in any cable network. Today, Cable MSOs

More information

Constant Bit Rate for Video Streaming Over Packet Switching Networks

Constant Bit Rate for Video Streaming Over Packet Switching Networks International OPEN ACCESS Journal Of Modern Engineering Research (IJMER) Constant Bit Rate for Video Streaming Over Packet Switching Networks Mr. S. P.V Subba rao 1, Y. Renuka Devi 2 Associate professor

More information

Chapter 10 Basic Video Compression Techniques

Chapter 10 Basic Video Compression Techniques Chapter 10 Basic Video Compression Techniques 10.1 Introduction to Video compression 10.2 Video Compression with Motion Compensation 10.3 Video compression standard H.261 10.4 Video compression standard

More information

SWITCHED INFINITY: SUPPORTING AN INFINITE HD LINEUP WITH SDV

SWITCHED INFINITY: SUPPORTING AN INFINITE HD LINEUP WITH SDV SWITCHED INFINITY: SUPPORTING AN INFINITE HD LINEUP WITH SDV First Presented at the SCTE Cable-Tec Expo 2010 John Civiletto, Executive Director of Platform Architecture. Cox Communications Ludovic Milin,

More information

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Chapter 2: Basics Chapter 3: Multimedia Systems Communication Aspects and Services Chapter 4: Multimedia Systems Storage Aspects Optical Storage Media Multimedia File Systems Multimedia Database Systems

More information

OPEN STANDARD GIGABIT ETHERNET LOW LATENCY VIDEO DISTRIBUTION ARCHITECTURE

OPEN STANDARD GIGABIT ETHERNET LOW LATENCY VIDEO DISTRIBUTION ARCHITECTURE 2012 NDIA GROUND VEHICLE SYSTEMS ENGINEERING AND TECHNOLOGY SYMPOSIUM VEHICLE ELECTRONICS AND ARCHITECTURE (VEA) MINI-SYMPOSIUM AUGUST 14-16, MICHIGAN OPEN STANDARD GIGABIT ETHERNET LOW LATENCY VIDEO DISTRIBUTION

More information

Module 8 VIDEO CODING STANDARDS. Version 2 ECE IIT, Kharagpur

Module 8 VIDEO CODING STANDARDS. Version 2 ECE IIT, Kharagpur Module 8 VIDEO CODING STANDARDS Lesson 24 MPEG-2 Standards Lesson Objectives At the end of this lesson, the students should be able to: 1. State the basic objectives of MPEG-2 standard. 2. Enlist the profiles

More information

Workload Prediction and Dynamic Voltage Scaling for MPEG Decoding

Workload Prediction and Dynamic Voltage Scaling for MPEG Decoding Workload Prediction and Dynamic Voltage Scaling for MPEG Decoding Ying Tan, Parth Malani, Qinru Qiu, Qing Wu Dept. of Electrical & Computer Engineering State University of New York at Binghamton Outline

More information

Multi-Layer Video Broadcasting with Low Channel Switching Dl Delays

Multi-Layer Video Broadcasting with Low Channel Switching Dl Delays Multi-Layer Video Broadcasting with Low Channel Switching Dl Delays Cheng-Hsin Hsu Joint work with Mohamed Hefeeda Simon Fraser University, Canada 5/14/2009 PV 2009 1 Mobile TV Watch TV anywhere, and anytime

More information

Implementation of an MPEG Codec on the Tilera TM 64 Processor

Implementation of an MPEG Codec on the Tilera TM 64 Processor 1 Implementation of an MPEG Codec on the Tilera TM 64 Processor Whitney Flohr Supervisor: Mark Franklin, Ed Richter Department of Electrical and Systems Engineering Washington University in St. Louis Fall

More information

VIDEO GRABBER. DisplayPort. User Manual

VIDEO GRABBER. DisplayPort. User Manual VIDEO GRABBER DisplayPort User Manual Version Date Description Author 1.0 2016.03.02 New document MM 1.1 2016.11.02 Revised to match 1.5 device firmware version MM 1.2 2019.11.28 Drawings changes MM 2

More information

Digital Video Engineering Professional Certification Competencies

Digital Video Engineering Professional Certification Competencies Digital Video Engineering Professional Certification Competencies I. Engineering Management and Professionalism A. Demonstrate effective problem solving techniques B. Describe processes for ensuring realistic

More information

Video coding standards

Video coding standards Video coding standards Video signals represent sequences of images or frames which can be transmitted with a rate from 5 to 60 frames per second (fps), that provides the illusion of motion in the displayed

More information

MPEGTool: An X Window Based MPEG Encoder and Statistics Tool 1

MPEGTool: An X Window Based MPEG Encoder and Statistics Tool 1 MPEGTool: An X Window Based MPEG Encoder and Statistics Tool 1 Toshiyuki Urabe Hassan Afzal Grace Ho Pramod Pancha Magda El Zarki Department of Electrical Engineering University of Pennsylvania Philadelphia,

More information

Deploying IP video over DOCSIS

Deploying IP video over DOCSIS Deploying IP video over DOCSIS John Horrobin, Marketing Manager Cable Access Business Unit Agenda Use Cases Delivering over DOCSIS 3.0 Networks Admission Control and QoS Optimizing for Adaptive Bit Rate

More information

COMP 249 Advanced Distributed Systems Multimedia Networking. Video Compression Standards

COMP 249 Advanced Distributed Systems Multimedia Networking. Video Compression Standards COMP 9 Advanced Distributed Systems Multimedia Networking Video Compression Standards Kevin Jeffay Department of Computer Science University of North Carolina at Chapel Hill jeffay@cs.unc.edu September,

More information

Analysis of MPEG-2 Video Streams

Analysis of MPEG-2 Video Streams Analysis of MPEG-2 Video Streams Damir Isović and Gerhard Fohler Department of Computer Engineering Mälardalen University, Sweden damir.isovic, gerhard.fohler @mdh.se Abstract MPEG-2 is widely used as

More information

Efficient Broadcasting Protocols for Video on Demand

Efficient Broadcasting Protocols for Video on Demand Efficient Broadcasting Protocols for Video on Demand Jehan-François Pâris y Department of Computer cience University of Houston Houston, TX 7704-3475 paris@cs.uh.edu teven W. Carter Darrell D. E. Long

More information

Bit Rate Control for Video Transmission Over Wireless Networks

Bit Rate Control for Video Transmission Over Wireless Networks Indian Journal of Science and Technology, Vol 9(S), DOI: 0.75/ijst/06/v9iS/05, December 06 ISSN (Print) : 097-686 ISSN (Online) : 097-5 Bit Rate Control for Video Transmission Over Wireless Networks K.

More information

Deploying IP video over DOCSIS

Deploying IP video over DOCSIS Deploying IP video over DOCSIS Juan Carlos Sugajara Consulting Systems Engineer Sergio Sicard Consulting Systems Engineer Agenda Use Cases Delivering over DOCSIS 3.0 Networks Admission Control and QoS

More information

Bridging the Gap Between CBR and VBR for H264 Standard

Bridging the Gap Between CBR and VBR for H264 Standard Bridging the Gap Between CBR and VBR for H264 Standard Othon Kamariotis Abstract This paper provides a flexible way of controlling Variable-Bit-Rate (VBR) of compressed digital video, applicable to the

More information

FREE TV AUSTRALIA OPERATIONAL PRACTICE OP- 59 Measurement and Management of Loudness in Soundtracks for Television Broadcasting

FREE TV AUSTRALIA OPERATIONAL PRACTICE OP- 59 Measurement and Management of Loudness in Soundtracks for Television Broadcasting Page 1 of 10 1. SCOPE This Operational Practice is recommended by Free TV Australia and refers to the measurement of audio loudness as distinct from audio level. It sets out guidelines for measuring and

More information

Feasibility Study of Stochastic Streaming with 4K UHD Video Traces

Feasibility Study of Stochastic Streaming with 4K UHD Video Traces Feasibility Study of Stochastic Streaming with 4K UHD Video Traces Joongheon Kim and Eun-Seok Ryu Platform Engineering Group, Intel Corporation, Santa Clara, California, USA Department of Computer Engineering,

More information

1022 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 19, NO. 4, APRIL 2010

1022 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 19, NO. 4, APRIL 2010 1022 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 19, NO. 4, APRIL 2010 Delay Constrained Multiplexing of Video Streams Using Dual-Frame Video Coding Mayank Tiwari, Student Member, IEEE, Theodore Groves,

More information

Adaptive Key Frame Selection for Efficient Video Coding

Adaptive Key Frame Selection for Efficient Video Coding Adaptive Key Frame Selection for Efficient Video Coding Jaebum Jun, Sunyoung Lee, Zanming He, Myungjung Lee, and Euee S. Jang Digital Media Lab., Hanyang University 17 Haengdang-dong, Seongdong-gu, Seoul,

More information

Matrox PowerStream Plus

Matrox PowerStream Plus Matrox PowerStream Plus User Guide 20246-301-0100 2016.12.01 Contents 1 About this user guide...5 1.1 Using this guide... 5 1.2 More information... 5 2 Matrox PowerStream Plus software...6 2.1 Before you

More information

THE HIGH-BANDWIDTH requirements and long-lived

THE HIGH-BANDWIDTH requirements and long-lived IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 6, NO. 2, APRIL 2004 387 Smooth Workload Adaptive Broadcast Yang Guo, Member, IEEE, Lixin Gao, Member, IEEE, Don Towsley, Fellow, IEEE, and Subhabrata Sen, Member,

More information

Motion Video Compression

Motion Video Compression 7 Motion Video Compression 7.1 Motion video Motion video contains massive amounts of redundant information. This is because each image has redundant information and also because there are very few changes

More information

)454 ( ! &!2 %.$ #!-%2! #/.42/, 02/4/#/, &/2 6)$%/#/.&%2%.#%3 53).' ( 42!.3-)33)/. /&./.4%,%0(/.% 3)'.!,3. )454 Recommendation (

)454 ( ! &!2 %.$ #!-%2! #/.42/, 02/4/#/, &/2 6)$%/#/.&%2%.#%3 53).' ( 42!.3-)33)/. /&./.4%,%0(/.% 3)'.!,3. )454 Recommendation ( INTERNATIONAL TELECOMMUNICATION UNION )454 ( TELECOMMUNICATION (11/94) STANDARDIZATION SECTOR OF ITU 42!.3-)33)/. /&./.4%,%0(/.% 3)'.!,3! &!2 %.$ #!-%2! #/.42/, 02/4/#/, &/2 6)$%/#/.&%2%.#%3 53).' ( )454

More information

Dual frame motion compensation for a rate switching network

Dual frame motion compensation for a rate switching network Dual frame motion compensation for a rate switching network Vijay Chellappa, Pamela C. Cosman and Geoffrey M. Voelker Dept. of Electrical and Computer Engineering, Dept. of Computer Science and Engineering

More information

White Paper. Video-over-IP: Network Performance Analysis

White Paper. Video-over-IP: Network Performance Analysis White Paper Video-over-IP: Network Performance Analysis Video-over-IP Overview Video-over-IP delivers television content, over a managed IP network, to end user customers for personal, education, and business

More information

Dynamic bandwidth allocation scheme for multiple real-time VBR videos over ATM networks

Dynamic bandwidth allocation scheme for multiple real-time VBR videos over ATM networks Telecommunication Systems 15 (2000) 359 380 359 Dynamic bandwidth allocation scheme for multiple real-time VBR videos over ATM networks Chae Y. Lee a,heem.eun a and Seok J. Koh b a Department of Industrial

More information

Multimedia Communications. Video compression

Multimedia Communications. Video compression Multimedia Communications Video compression Video compression Of all the different sources of data, video produces the largest amount of data There are some differences in our perception with regard to

More information

Communication Lab. Assignment On. Bi-Phase Code and Integrate-and-Dump (DC 7) MSc Telecommunications and Computer Networks Engineering

Communication Lab. Assignment On. Bi-Phase Code and Integrate-and-Dump (DC 7) MSc Telecommunications and Computer Networks Engineering Faculty of Engineering, Science and the Built Environment Department of Electrical, Computer and Communications Engineering Communication Lab Assignment On Bi-Phase Code and Integrate-and-Dump (DC 7) MSc

More information

Lossless Compression Algorithms for Direct- Write Lithography Systems

Lossless Compression Algorithms for Direct- Write Lithography Systems Lossless Compression Algorithms for Direct- Write Lithography Systems Hsin-I Liu Video and Image Processing Lab Department of Electrical Engineering and Computer Science University of California at Berkeley

More information

FullMAX Air Inetrface Parameters for Upper 700 MHz A Block v1.0

FullMAX Air Inetrface Parameters for Upper 700 MHz A Block v1.0 FullMAX Air Inetrface Parameters for Upper 700 MHz A Block v1.0 March 23, 2015 By Menashe Shahar, CTO, Full Spectrum Inc. This document describes the FullMAX Air Interface Parameters for operation in the

More information

CHAPTER 2 SUBCHANNEL POWER CONTROL THROUGH WEIGHTING COEFFICIENT METHOD

CHAPTER 2 SUBCHANNEL POWER CONTROL THROUGH WEIGHTING COEFFICIENT METHOD CHAPTER 2 SUBCHANNEL POWER CONTROL THROUGH WEIGHTING COEFFICIENT METHOD 2.1 INTRODUCTION MC-CDMA systems transmit data over several orthogonal subcarriers. The capacity of MC-CDMA cellular system is mainly

More information

AE16 DIGITAL AUDIO WORKSTATIONS

AE16 DIGITAL AUDIO WORKSTATIONS AE16 DIGITAL AUDIO WORKSTATIONS 1. Storage Requirements In a conventional linear PCM system without data compression the data rate (bits/sec) from one channel of digital audio will depend on the sampling

More information

Audio Compression Technology for Voice Transmission

Audio Compression Technology for Voice Transmission Audio Compression Technology for Voice Transmission 1 SUBRATA SAHA, 2 VIKRAM REDDY 1 Department of Electrical and Computer Engineering 2 Department of Computer Science University of Manitoba Winnipeg,

More information

Efficient Bandwidth Resource Allocation for Low-Delay Multiuser MPEG-4 Video Transmission

Efficient Bandwidth Resource Allocation for Low-Delay Multiuser MPEG-4 Video Transmission Efficient Bandwidth Resource Allocation for Low-Delay Multiuser MPEG-4 Video Transmission Guan-Ming Su and Min Wu Department of Electrical and Computer Engineering, University of Maryland, College Park,

More information

Packet Scheduling Algorithm for Wireless Video Streaming 1

Packet Scheduling Algorithm for Wireless Video Streaming 1 Packet Scheduling Algorithm for Wireless Video Streaming 1 Sang H. Kang and Avideh Zakhor Video and Image Processing Lab, U.C. Berkeley E-mail: {sangk7, avz}@eecs.berkeley.edu Abstract We propose a class

More information

Content storage architectures

Content storage architectures Content storage architectures DAS: Directly Attached Store SAN: Storage Area Network allocates storage resources only to the computer it is attached to network storage provides a common pool of storage

More information

QCN Transience and Equilibrium: Response and Stability. Abdul Kabbani, Rong Pan, Balaji Prabhakar and Mick Seaman

QCN Transience and Equilibrium: Response and Stability. Abdul Kabbani, Rong Pan, Balaji Prabhakar and Mick Seaman QCN Transience and Equilibrium: Response and Stability Abdul Kabbani, Rong Pan, Balaji Prabhakar and Mick Seaman Outline of presentation 2-QCN Overview and method for improving transient response Equilibrium

More information

Video-on-Demand. Nick Caggiano Walter Phillips

Video-on-Demand. Nick Caggiano Walter Phillips Video-on-Demand Nick Caggiano Walter Phillips Video-on-Demand What is Video-on-Demand? Storage, transmission, and display of archived video files in a networked environment Most popularly used to watch

More information

Using deltas to speed up SquashFS ebuild repository updates

Using deltas to speed up SquashFS ebuild repository updates Using deltas to speed up SquashFS ebuild repository updates Michał Górny January 27, 2014 1 Introduction The ebuild repository format that is used by Gentoo generally fits well in the developer and power

More information

17 October About H.265/HEVC. Things you should know about the new encoding.

17 October About H.265/HEVC. Things you should know about the new encoding. 17 October 2014 About H.265/HEVC. Things you should know about the new encoding Axis view on H.265/HEVC > Axis wants to see appropriate performance improvement in the H.265 technology before start rolling

More information

Multimedia Communications. Image and Video compression

Multimedia Communications. Image and Video compression Multimedia Communications Image and Video compression JPEG2000 JPEG2000: is based on wavelet decomposition two types of wavelet filters one similar to what discussed in Chapter 14 and the other one generates

More information

VVD: VCR operations for Video on Demand

VVD: VCR operations for Video on Demand VVD: VCR operations for Video on Demand Ravi T. Rao, Charles B. Owen* Michigan State University, 3 1 1 5 Engineering Building, East Lansing, MI 48823 ABSTRACT Current Video on Demand (VoD) systems do not

More information

Joint Optimization of Source-Channel Video Coding Using the H.264/AVC encoder and FEC Codes. Digital Signal and Image Processing Lab

Joint Optimization of Source-Channel Video Coding Using the H.264/AVC encoder and FEC Codes. Digital Signal and Image Processing Lab Joint Optimization of Source-Channel Video Coding Using the H.264/AVC encoder and FEC Codes Digital Signal and Image Processing Lab Simone Milani Ph.D. student simone.milani@dei.unipd.it, Summer School

More information

Alcatel-Lucent 5910 Video Services Appliance. Assured and Optimized IPTV Delivery

Alcatel-Lucent 5910 Video Services Appliance. Assured and Optimized IPTV Delivery Alcatel-Lucent 5910 Video Services Appliance Assured and Optimized IPTV Delivery The Alcatel-Lucent 5910 Video Services Appliance (VSA) delivers superior Quality of Experience (QoE) to IPTV users. It prevents

More information

An Efficient Low Bit-Rate Video-Coding Algorithm Focusing on Moving Regions

An Efficient Low Bit-Rate Video-Coding Algorithm Focusing on Moving Regions 1128 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 11, NO. 10, OCTOBER 2001 An Efficient Low Bit-Rate Video-Coding Algorithm Focusing on Moving Regions Kwok-Wai Wong, Kin-Man Lam,

More information

Digital Representation

Digital Representation Chapter three c0003 Digital Representation CHAPTER OUTLINE Antialiasing...12 Sampling...12 Quantization...13 Binary Values...13 A-D... 14 D-A...15 Bit Reduction...15 Lossless Packing...16 Lower f s and

More information

P1: OTA/XYZ P2: ABC c01 JWBK457-Richardson March 22, :45 Printer Name: Yet to Come

P1: OTA/XYZ P2: ABC c01 JWBK457-Richardson March 22, :45 Printer Name: Yet to Come 1 Introduction 1.1 A change of scene 2000: Most viewers receive analogue television via terrestrial, cable or satellite transmission. VHS video tapes are the principal medium for recording and playing

More information

Processes for the Intersection

Processes for the Intersection 7 Timing Processes for the Intersection In Chapter 6, you studied the operation of one intersection approach and determined the value of the vehicle extension time that would extend the green for as long

More information

A Statistical Framework to Enlarge the Potential of Digital TV Broadcasting

A Statistical Framework to Enlarge the Potential of Digital TV Broadcasting A Statistical Framework to Enlarge the Potential of Digital TV Broadcasting Maria Teresa Andrade, Artur Pimenta Alves INESC Porto/FEUP Porto, Portugal Aims of the work use statistical multiplexing for

More information

Real-time QC in HCHP seismic acquisition Ning Hongxiao, Wei Guowei and Wang Qiucheng, BGP, CNPC

Real-time QC in HCHP seismic acquisition Ning Hongxiao, Wei Guowei and Wang Qiucheng, BGP, CNPC Chengdu China Ning Hongxiao, Wei Guowei and Wang Qiucheng, BGP, CNPC Summary High channel count and high productivity bring huge challenges to the QC activities in the high-density and high-productivity

More information

THE DEMAND and interest of various services through

THE DEMAND and interest of various services through 208 IEEE TRANSACTIONS ON BROADCASTING, VOL. 54, NO. 2, JUNE 2008 An Effective IPTV Channel Control Algorithm Considering Channel Zapping Time and Network Utilization Hyunchul Joo, Hwangjun Song, Dai-Boong

More information

How to Manage Video Frame- Processing Time Deviations in ASIC and SOC Video Processors

How to Manage Video Frame- Processing Time Deviations in ASIC and SOC Video Processors WHITE PAPER How to Manage Video Frame- Processing Time Deviations in ASIC and SOC Video Processors Some video frames take longer to process than others because of the nature of digital video compression.

More information

Performance Evaluation of Error Resilience Techniques in H.264/AVC Standard

Performance Evaluation of Error Resilience Techniques in H.264/AVC Standard Performance Evaluation of Error Resilience Techniques in H.264/AVC Standard Ram Narayan Dubey Masters in Communication Systems Dept of ECE, IIT-R, India Varun Gunnala Masters in Communication Systems Dept

More information

Motion Re-estimation for MPEG-2 to MPEG-4 Simple Profile Transcoding. Abstract. I. Introduction

Motion Re-estimation for MPEG-2 to MPEG-4 Simple Profile Transcoding. Abstract. I. Introduction Motion Re-estimation for MPEG-2 to MPEG-4 Simple Profile Transcoding Jun Xin, Ming-Ting Sun*, and Kangwook Chun** *Department of Electrical Engineering, University of Washington **Samsung Electronics Co.

More information

A Video Frame Dropping Mechanism based on Audio Perception

A Video Frame Dropping Mechanism based on Audio Perception A Video Frame Dropping Mechanism based on Perception Marco Furini Computer Science Department University of Piemonte Orientale 151 Alessandria, Italy Email: furini@mfn.unipmn.it Vittorio Ghini Computer

More information

Lecture 1: Introduction & Image and Video Coding Techniques (I)

Lecture 1: Introduction & Image and Video Coding Techniques (I) Lecture 1: Introduction & Image and Video Coding Techniques (I) Dr. Reji Mathew Reji@unsw.edu.au School of EE&T UNSW A/Prof. Jian Zhang NICTA & CSE UNSW jzhang@cse.unsw.edu.au COMP9519 Multimedia Systems

More information

Modeling and Evaluating Feedback-Based Error Control for Video Transfer

Modeling and Evaluating Feedback-Based Error Control for Video Transfer Modeling and Evaluating Feedback-Based Error Control for Video Transfer by Yubing Wang A Dissertation Submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE In partial fulfillment of the Requirements

More information

The H.263+ Video Coding Standard: Complexity and Performance

The H.263+ Video Coding Standard: Complexity and Performance The H.263+ Video Coding Standard: Complexity and Performance Berna Erol (bernae@ee.ubc.ca), Michael Gallant (mikeg@ee.ubc.ca), Guy C t (guyc@ee.ubc.ca), and Faouzi Kossentini (faouzi@ee.ubc.ca) Department

More information

REDUCING DYNAMIC POWER BY PULSED LATCH AND MULTIPLE PULSE GENERATOR IN CLOCKTREE

REDUCING DYNAMIC POWER BY PULSED LATCH AND MULTIPLE PULSE GENERATOR IN CLOCKTREE Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 3, Issue. 5, May 2014, pg.210

More information

Module 8 VIDEO CODING STANDARDS. Version 2 ECE IIT, Kharagpur

Module 8 VIDEO CODING STANDARDS. Version 2 ECE IIT, Kharagpur Module 8 VIDEO CODING STANDARDS Lesson 27 H.264 standard Lesson Objectives At the end of this lesson, the students should be able to: 1. State the broad objectives of the H.264 standard. 2. List the improved

More information

On the design of turbo codes with convolutional interleavers

On the design of turbo codes with convolutional interleavers University of Wollongong Research Online University of Wollongong Thesis Collection 1954-2016 University of Wollongong Thesis Collections 2005 On the design of turbo codes with convolutional interleavers

More information

6.UAP Project. FunPlayer: A Real-Time Speed-Adjusting Music Accompaniment System. Daryl Neubieser. May 12, 2016

6.UAP Project. FunPlayer: A Real-Time Speed-Adjusting Music Accompaniment System. Daryl Neubieser. May 12, 2016 6.UAP Project FunPlayer: A Real-Time Speed-Adjusting Music Accompaniment System Daryl Neubieser May 12, 2016 Abstract: This paper describes my implementation of a variable-speed accompaniment system that

More information

MPEG-2. ISO/IEC (or ITU-T H.262)

MPEG-2. ISO/IEC (or ITU-T H.262) 1 ISO/IEC 13818-2 (or ITU-T H.262) High quality encoding of interlaced video at 4-15 Mbps for digital video broadcast TV and digital storage media Applications Broadcast TV, Satellite TV, CATV, HDTV, video

More information

Vocoder Reference Test TELECOMMUNICATIONS INDUSTRY ASSOCIATION

Vocoder Reference Test TELECOMMUNICATIONS INDUSTRY ASSOCIATION TIA/EIA STANDARD ANSI/TIA/EIA-102.BABC-1999 Approved: March 16, 1999 TIA/EIA-102.BABC Project 25 Vocoder Reference Test TIA/EIA-102.BABC (Upgrade and Revision of TIA/EIA/IS-102.BABC) APRIL 1999 TELECOMMUNICATIONS

More information

An Improved Fuzzy Controlled Asynchronous Transfer Mode (ATM) Network

An Improved Fuzzy Controlled Asynchronous Transfer Mode (ATM) Network An Improved Fuzzy Controlled Asynchronous Transfer Mode (ATM) Network C. IHEKWEABA and G.N. ONOH Abstract This paper presents basic features of the Asynchronous Transfer Mode (ATM). It further showcases

More information

Relative frequency. I Frames P Frames B Frames No. of cells

Relative frequency. I Frames P Frames B Frames No. of cells In: R. Puigjaner (ed.): "High Performance Networking VI", Chapman & Hall, 1995, pages 157-168. Impact of MPEG Video Trac on an ATM Multiplexer Oliver Rose 1 and Michael R. Frater 2 1 Institute of Computer

More information

Multimedia Networking

Multimedia Networking Multimedia Networking #3 Multimedia Networking Semester Ganjil 2012 PTIIK Universitas Brawijaya #2 Multimedia Applications 1 Schedule of Class Meeting 1. Introduction 2. Applications of MN 3. Requirements

More information

Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and

Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and private study only. The thesis may not be reproduced elsewhere

More information