A Video Broadcasting System

Size: px
Start display at page:

Download "A Video Broadcasting System"

Transcription

1 A Video Broadcasting System Simon Sheu Department of Computer Science, National Tsing Hua University, Hsinchu, Taiwan 30013, R.O.C. Wallapak Tavanapong Department of Computer Science, Iowa State University, Ames, IA , U.S.A. Kien A. Hua Computer Science Program, School of EECS, University of Central Florida, Orlando, FL , U.S.A. Abstract. Recent years have seen intensive investigations of Periodic Broadcast, an attractive paradigm for broadcasting popular videos. In this paradigm, the server simply broadcasts segments of a popular video periodically on a number of communication channels. A large number of clients can be served simultaneously by tuning into these channels to receive segments of the requested video. A playback can begin as soon as a client can access the first segment. Periodic Broadcast guarantees a small maximum service delay regardless of the number of concurrent clients. Existing periodic broadcast techniques are typically evaluated through analytical assessment. While these results are good performance indicators, they cannot demonstrate subtle implementation difficulty that can prohibit these techniques from practical deployment. In this paper, we present the design and implementation of a video broadcasting system based on our periodic broadcast scheme called Striping Broadcast. Our experience with the system confirms that the system offers a low service delay close to its analytical guaranteed delay while requiring small storage space and low download bandwidth at a client. Keywords: Video-on-Demand, Video Streaming, Periodic Broadcast, Multicast. 1. Introduction Recent years have witnessed the use of digital videos and audio in several important applications such as distance learning, digital libraries, Movieon-Demand, and electronic commerce. Periodic Broadcast is an attractive delivery paradigm that has been intensively investigated in recent years. In this paradigm, the server strategically partitions each video into a number of logical segments, and periodically broadcasts these segments over the server channels reserved for the video. A server channel is defined as a unit of server capacity (i.e., the minimum of the network I/O bandwidth and the disk I/O bandwidth) required to support a continuous delivery of video data. The client tunes into one or more channels broadcasting the different segments of the video at proper times. The downloaded segments are temporarily stored in the client disk buffer until they are played out. The playback can begin as soon as the client receives the first few frames of the first segment. While playing c 2003 Kluwer Academic Publishers. Printed in the Netherlands. main.tex; 6/11/2003; 16:06; p.1

2 2 back the video frames in its buffer, the client typically switches channels to download subsequent segments. Periodic Broadcast guarantees a maximum service delay of no more than a fixed time period, say θ seconds, since the first segment of the video is broadcast every θ seconds. Several periodic broadcast schemes have been introduced. The effectiveness of these schemes is demonstrated via analytical assessment. However, some schemes are too expensive or very difficult to implement in practice. This is because they require the client to download data from many different network channels and write the data to various disk locations concurrently, or they require the client to have high download bandwidth or large storage space. A periodic broadcast scheme can be implemented by associating a multicast address with each server channel. Once the client obtains the multicast addresses for the desired broadcast video, the client then joins and leaves the multicast groups to download the different video segments without the need to contact the server directly during the downloading of the data. In this paper, we present the design and implementation of Striping Broadcast. We refined the original design of Striping Broadcast [20] that was shown to outperform Skyscraper Broadcasting [10] via analytical assessment. The desirable properties of Striping Broadcast are summarized as follows. Theoretically, Striping Broadcast ensures a jitter-free playback. With small client buffer space, Striping Broadcast guarantees a low maximum service delay. The degree of multiplexing is also low since the client downloads data from at most three channels concurrently. The client receiving bandwidth is at most three times the playback rate of the video. We implemented the prototype broadcasting system based on the design. Our objective in this paper is to share our implementation experience and to validate the analytical performance of Striping Broadcast with the experimental data that include playback quality perceived by users. The current literature has little information regarding implementation details of periodic broadcast schemes and the validation of the properties of the schemes. Our experience with the prototype confirms that the system offers a low service delay close to its analytical guaranteed delay while requiring storage space close to its theoretical bound. The video broadcasting prototype consists of the server and the client software. Both software run on Microsoft Windows platforms in an IP multicast network. Since IP multicast is used to facilitate the broadcast, we use the terms broadcast and multicast interchangeably hereafter. Both the server and the client software are written in Microsoft Visual C++. The client program uses Microsoft DirectShow to handle all decoding and rendering of video and audio data. Currently, the system supports MPEG-1 videos, but it can be extended to support other video formats supported by Microsoft DirectShow such as MPEG-4. The remainder of the paper is organized as follows. We provide background on existing periodic broadcast schemes and Striping Broadcast in main.tex; 6/11/2003; 16:06; p.2

3 Section 2 and present the design of the server software in Section 3. The client software is described in Section 4. Our experience with the system and experimental results are reported in Section 5. Finally, we give our concluding remarks and discuss future works in Section Background on Periodic Broadcast Existing periodic broadcast schemes can be classified into two major categories, namely the Server-Oriented category and the Client-Oriented category. Techniques in the first category reduce service delays by increasing server bandwidth whereas those in the second category minimize the delays by requiring more server and client bandwidth SERVER-ORIENTED CATEGORY Staggered Broadcasting [3] is the earliest and simplest video broadcasting technique. This scheme staggers starting times for broadcasting a video evenly across available channels. The difference in the starting times is referred as the phase offset. The advantage of Staggered Broadcasting is that the clients download data at the video playback rate and do not need extra storage space to buffer the incoming data. This scheme, however, scales only linearly with the increase in the server bandwidth. Pyramid Broadcasting [24] addresses this drawback by broadcasting video segments at a very high data rate, and allowing the clients to prefetch data into their local buffer. In this scheme, video segments are of geometrically increasing sizes; each segment is broadcast periodically on a server channel of equal bandwidth. This solution requires expensive client machines with enough bandwidth to cope with the high data rate on each broadcast channel. Permutation-Based Broadcasting [1] improves this condition by dividing each channel into s sub-channels that broadcast a replica of the video fragment with a uniform phase delay. This strategy reduces the requirement on client bandwidth by some factor s although the data rate remains very high, which can still flood the prefetch buffer with half of the total data [10]. In Skyscraper Broadcasting [10], the server bandwidth is divided into several logical channels. Each channel has bandwidth equal to the playback rate of the video. Each video is fragmented into several segments, and the sizes of the segments are determined using the following series referred to as the broadcast series: [1, 2, 2, 5, 5, 12, 12, 25, 25,...]. In other words, if the size of the first data segment is x, the size of the second and third segments are 2x, the fourth and fifth are 5x, sixth and seventh are 12x, and so forth. The server repeatedly broadcasts each segment on its dedicated channel at the playback rate of the video. To download the video, each client requires the communication bandwidth of at most twice the main.tex; 6/11/2003; 16:06; p.3

4 4 playback rate of the video. The requirement of the client buffer storage is also reduced. Fast Broadcast [12], Dynamic Skyscraper Broadcast [4], and Mayan Temple Broadcast [17] employ different broadcast series. Client-Centric Approach [9] and Greedy Disk-conserving Bandwidth [6] utilize extra client network bandwidth to further reduce the access latency. The two schemes employ different broadcast series. In all the schemes in this category, once clients resources have been determined, the service latency can be reduced by adding only server resources. Support for VCR-like interactions such as fast-forward and fast-reverse for periodic broadcast schemes in this category has been investigated [5, 22]. Active Buffer Management (ABM) [5] extends Staggered Broadcasting while the broadcast-based interaction technique [22] extends Client-Centric Approach. Broadcasting a variable bit rate videos can be supported by mapping it into a constant bit rate stream using the peak bandwidth of the video as the bit rate of the stream or a better mapping approach. To handle packet loss, Forward Error Correction has been used with Periodic Broadcast [13]. The effectiveness of these schemes are evaluated analytically or via simulations CLIENT-ORIENTED CATEGORY The techniques in this category require an increase in both server and client network bandwidth to reduce service delays since these techniques demand client bandwidth equal to server bandwidth for broadcasting a video. Harmonic Broadcasting (HB) [11] is the first technique in this category. HB fragments a video into segments of equal sizes, and periodically broadcasts each segment on a dedicate channel. The channels, however, have decreasing bandwidths following the Harmonic series. In other words, the first channel is allocated bandwidth equal to the playback rate of the video; the second channel has the bandwidth of half of the playback rate; the third channel has one third, and so forth. The client downloads segments from all the channels concurrently. The original HB, however, cannot deliver all the segments on time [18]. A simple delay equal to the size of one segment solves this problem. Caution Harmonic Broadcasting [24], Quasi-Harmonic and Poly- Harmonic Broadcasting [15] also address this problem. Although these schemes use many channels to broadcast a video, the total bandwidth grows slowly following the Harmonic series, typically adding up to only five or six times the playback rate of the video. Nevertheless, theses schemes requires the use of numerous channels for broadcasting long videos (e.g., 240 channels are required for a 2-hour video if the latency is kept under 30 seconds). Since the client must concurrently obtain video segments from many channels, a storage subsystem with the capability to move their read heads fast enough to multiplex among so many concurrent streams would be very expensive. To solve this problem, Pagoda Broadcasting and its variants [16, 14] use segmain.tex; 6/11/2003; 16:06; p.4

5 ments of equal sizes, but broadcast more than one segment on some channels of equal bandwidth. Optimally broadcasting scheme further optimizes the server bandwidth requirement for broadcasting a video [8]. Given n as the number of segments and S as the size of the video in terms of the size of the first segment, the optimal segment sizes follow a geometric series where the next segment is ( n S +1 1) times the current segment. Each segment is broadcast on a dedicated channel with equal bandwidth. Nevertheless, the client bandwidth must match that of the server bandwidth for broadcasting the video. VCR-interactions have also been investigated with a scheme in the client-oriented category [2] PERFORMANCE COMPARISONS The techniques in the client-oriented category have several drawbacks compared to those in the server-oriented category. First, the client must have network bandwidth equal to the server bandwidth allocated to the longest video to broadcast. The requirement on the client bandwidth is, therefore, very high, making the overall system very expensive. Second, to improve access latency, it will require adding bandwidth to both server and client, which makes the system enhancement very costly. The justification for the serveroriented approach is that server bandwidth, shared by a large community of users, contributes little to the overall cost. As a result, these techniques are less expensive than the client-oriented approach, which requires a client to be equipped with significant client bandwidth. Table I. Comparisons of analytical performance Technique Worst Delay Max. No. Storage Space Client Disk (min.) of Channels (% of video) BW (Mbps) Fast Broadcast [12] Client Centric Broadcast [9] GDB(4) [6] Striping Broadcast Skyscraper Broadcast [10] Within the server-oriented category, Table I depicts an analytical performance comparison of Striping Broadcast presented in this paper compared with some existing periodic broadcast schemes for a broadcast of a 2-hour video with the average playback rate of 1.5 Mbps. The server bandwidth for broadcasting the video is limited to be no more than 15.0 Mbps. The performance metrics are the worst service delay, the maximum number of concurrent channels to download data, the client storage space (in percentage main.tex; 6/11/2003; 16:06; p.5

6 6 of the size of the video), and the client disk bandwidth. We observe that for a small worst delay no more than 0.40 min., Striping Broadcast uses the smallest buffer space, downloads data from at most three channels using the network bandwidth of at most three times the playback rate of the video, and requires low disk bandwidth. Skyscraper Broadcasting cannot support the worst delay smaller than 0.85 min. given the same server bandwidth. Given the promising performance of Striping Broadcast, we implemented our video broadcasting system based on Striping Broadcast and validate the theoretical performance with experimental data. 3. Server Software We describe the implementation of the server software in this section. The server software is responsible for advertising information regarding videos being broadcast and for broadcasting the videos. The program allows the user to easily insert and remove videos into/from the broadcast and to specify parameters to control a desirable maximum service delay through a graphic user interface (GUI) shown in Figure 1. Figure 1. Server software: main window SERVER ARCHITECTURE Figure 2 illustrates the high-level architecture of the server software. Coordinator accepts the user s commands via the interface and contacts other software modules according to the requested task. Currently, the video database refers to a collection of video files on a local file system of the server. Three important software modules are Data Retrieval Handler, Video Delivery Handler, and Directory Manager. The coordinator creates both handlers when a new video file is selected for broadcasting. The data retrieval handler is main.tex; 6/11/2003; 16:06; p.6

7 Multicast Networks 7 Directory Manager Coordinator GUI Administrator Video v Video Delivery Handler Streaming Buffers Data Retrieval Handler Video Database Figure 2. Server architecture. Disk Disk responsible for retrieving data blocks 1 from the disk into Streaming Buffers in memory. One streaming buffer is allocated per segment. The data in the buffer will later be multicast by the delivery handler. When the video is removed from the broadcast, the handlers of the corresponding video are also destroyed. Note that the two handlers and the streaming buffers are allocated per video instead of using the same set of handlers and buffers for all of the videos. This is to reduce the complexity of the server software when handling videos with different playback rates. Better server performance may be achieved with more complex disk and buffer scheduling for all broadcast videos Data Retrieval Handler The retrieval handler is implemented as a thread. The thread determines the size of each segment using a video playback rate p extracted from the MPEG system header of the video file and the following parameters from the user. K or the number of server channels allocated for the video; each channel has bandwidth equal to p Mbps. Let C 1,C 2,..., and C K be the K channels reserved for the video. Segment i is denoted by S i and is periodically broadcast on its own channel C i by the video delivery thread. N where 2 N K. N is used to control the size of the largest video segments, which affects the service delay and the amount of the required client buffer space. Let L be the time taken (in minutes) to play out the entire video at the playback rate. In other words, L is the playback duration of the video. Let L i be the size of segment i for i [1,K], which is measured in terms of the 1 A block is the smallest retrieval unit from disk; the size of each block is the same and is measured in terms of its playback duration in this paper. main.tex; 6/11/2003; 16:06; p.7

8 8 playback duration of the segment. The data retrieval thread calculates L i as follows. L i =1, (K N+2) 2 N 1 1 L i = 2 i 1 L 1 i [2,N 1], 2 N 1 L 1 i [N,K]. (1) When listing the sizes of all the segments in terms of the first segment, we have the following series of K elements, <1, 2, 4, 8, 16,, 2 N 1,, 2 N 1 >. This demonstrates that the sizes of the first N 1 segments increase geometrically, but the sizes of the last K N +1segments are kept the same. L 1 is also the maximum service delay. On average, the service delay is L 1 /2. According to Equation (1), the geometric increase enables the first segment to be small, resulting in a short maximum service delay. L 1 is smallest when N is the same as K, but the requirement on the buffer space increases in this case. This is because later segments become much larger. When they are downloaded ahead of their playback time, more buffer space is needed. To reduce the buffer space requirement, each of the largest segments is further divided into two equal-sized fragments or stripes as follows. We first define a superblock as consecutive blocks of which the combined size is equal to L 1. Each superblock of segment i where i [N,K] is equally divided into two parts. The first part is assigned to the first stripe of S i (S i1 ), and the second part belongs to the second stripe (S i2 ). The same process is repeated for the next superblock until all the superblocks in this segment have been considered. Figure 3 shows the logical segmentation for a video having 376 blocks when K =6and N =5. Each block in the figure is labeled with the block ID. The playback order is in the increasing order of the block IDs. The playback rate is assumed 1 minute per block. Since K or the number of channels is equal to 6, the video file is logically partitioned into six segments. Using Equation (1), the first segment consists of 8 blocks. Since N equals 5, each of the first four segments is twice as large as the segment preceding it. The sizes of the fifth and the sixth segments are limited to 2 4 L 1. Each of these largest segments is divided into two stripes as follows. For each superblock of S 5, the first half of the superblock is assigned to the first stripe (S 51 ), and the second half of the superblock is given to the second stripe (S 52 ). The same process is applied to S 6. The striping feature allows savings in client storage over the case without striping since one of the stripes is scheduled to arrive just in time for rendering. Hence, very small buffer space is needed for this stripe. The maximum theoretical required client storage in Mbits is [21] 60 p L 1 (3 2 N 3 1). (2) Once segments are determined, the data retrieval thread brings in multiple blocks of each segment from the disk into the streaming buffer of that segment main.tex; 6/11/2003; 16:06; p.8

9 9 2*L 1 4*L 1 8*L 1 16*L 1 16*L S L S S 1 S 2 S 3 S 4 S 5 Figure 3. Logical segmentation of a video with N=5 and K=6. in rounds, starting from the beginning of the segment. Blocks are kept in the streaming buffer as long as the buffer is not full. The maximum size of each streaming buffer is set to be the minimum of the segment size and a predetermined value. This value is experimentally determined from a separate set of experiments by increasing the value until the server can broadcast the desired set of videos. This is to handle the case that the effective disk bandwidth of the system may be insufficient to support the broadcast of the desired videos. If the buffer is full, the retrieval thread sleeps until it is awakened by the delivery thread after some blocks are multicast and discarded from the streaming buffer. Some small segments are also kept in memory. Disk I/Os are not required for these segments for subsequent broadcasts. Since memory is relatively much less expensive than server communication bandwidth, we were not concerned with the available memory space. All streaming buffers for the video are deallocated when the video is removed from the broadcast or when the user exits the server program Video Delivery Handler The delivery handler is also implemented as a thread. The thread periodically multicasts the data in the buffers on the server channels using the associated multicast addresses. Each of the channels broadcasting the largest segment is further divided into two subchannels. Each subchannel has equal bandwidth of 0.5 p Mbps. The server repeatedly broadcasts S i on C i for i [1,N 1]. Each stripe of the largest segments is repeatedly broadcast on its own subchannel. That is, the first stripe or S i1 where i [N,K], is repeatedly broadcast on subchannel C i1. Similarly, each S i2 is repeatedly broadcast on subchannel C i2. Each segment (or stripe) is repeatedly broadcast on its channel (or subchannel), respectively. Since all segments need not be broadcast at the same time, the video delivery thread schedules the first broadcasts of different segments at different times. The demand on the client buffer space is minimized since each segment is stored in the client buffer for main.tex; 6/11/2003; 16:06; p.9

10 10 a short duration and is soon played out. The delay (phase delay) of the first broadcast of each segment is determined as follows. S 1 0 The phase delay of S i L S i1 = i 2 i [2,N 1], L i i [N,K], 2 S i2 L i i [N,K]. (3) The first segment is broadcast right away (i.e., phase delay is zero). The delay of the first broadcast of segment i where i [2,N 1] is half the size of the segment. Furthermore, all the first stripes of the largest segments are first broadcast with the same phase delay. All the second stripes are first broadcast at the same time, but are delayed twice the phase delay of the first stripe. The schedule for broadcasting the video segments of the previous example is depicted in Figure The jth broadcast Broadcast Index S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 S 1 C 1 S 2 S 2 S 2 S 2 S 2 S 2 S 2 S 2 S 2 S 2 S 2 S 2 S 2 C 2 S 3 S 3 S 3 S 3 S 3 S 3 C 3 S 4 S 4 S 4 C 4 S 51 S 51 S 52 C 51 C 52 S 61 S 61 S 62 C 61 C 62 phase delay broadcast data Figure 4. Broadcast schedule for the video file shown in Figure 3. To notify the client of the arrival times of the other segments relative to the arrival time of the corresponding first segment, the video delivery thread broadcasts Broadcast Tag before each broadcast of the first segment. Before downloading the first segment, the client receives the broadcast tag and uses it to derive the order of the download of other segments. Broadcast Tag is a N 1 bit representation ([b N 1 b N 2 b 1 ] 2 ) of the broadcast index associated with each broadcast of the first segment. The index value of the first broadcast is set to 2 N 2. For each subsequent broadcast, the index value is decremented by one. When the index value reaches zero, the value is reset to 2 N 1 1 for the next broadcast, and the same decrementing process continues. Suppose main.tex; 6/11/2003; 16:06; p.10

11 that the client starts receiving the first segment from the xth broadcast. The associated broadcast index is computed as follows. 11 Broadcast Index of the xth broadcast = { (2 N 2 x)(mod 2 N 1 ) for x 2 N 2 (2 N 2 x)(mod 2 N 1 )+2 N 1 otherwise. (4) For instance, given the broadcast schedule in Figure 4 when N equals 5 and K equals 6, the broadcast index associated with the 6th broadcast of the first segment is two (( )( mod )=2). The corresponding broadcast tag is The facts that the size of the segments is the power of two and the broadcast tag is generated this way are essential to prove that Striping Broadcast guarantees a jitter-free playback and the client downloads data from no more than three channels concurrently. Readers interested in the proofs are referred to Reference [21]. Before starting the broadcast, the video delivery thread creates a socket for each server channel and binds the socket with the multicast address and the port number associated with the channel. After that, the delivery thread executes setsockopt() function to set the time to live (TTL) value of a multicast packet to be 32. Setting the TTL value limits the multicast packets to be forwarded within the networks that are at most 32 hops away from the server since each router decrements the TTL value of a packet each time the router receives the packet. The router forwards the packet only if the TTL value of the packet is greater than the TTL scoping threshold set by the network administrator. Otherwise, the packet is discarded. The delivery thread does not need to join the multicast group in order to multicast the packets. To multicast the data on different server channels concurrently, the video delivery thread multicasts one block of each segment in a round-robin fashion for each playback duration of a block. For each stripe, the thread periodically multicasts one block at every other playback duration of a block. This is essentially similar to transmitting each segment at the playback rate and each stripe at half the playback rate. For instance, suppose there are S 3 and S 41 to be broadcast concurrently. The delivery thread multicasts the first blocks of S 3, and S 41, respectively. Right before the playback duration of a block elapses, the delivery thread multicasts the 2nd block of S 3. In the next period, the delivery thread multicasts the 3rd block of S 3 and the 2nd block of S 41. The same cycle repeats for the next blocks. The video delivery thread arranges each data block into a packet. That is, the payload of each UDP packet has a 4-byte header followed by the data in the block. The header of the packet contains the location of the block in the video file. The block location serves as both the timestamp and the sequence number for the client to reorder the data blocks for the correct playback. The delivery thread also keeps track of the number of late transmissions. When this number reaches a threshold, the delivery thread pauses the broadcast for the video and prompts a warning message that the server main.tex; 6/11/2003; 16:06; p.11

12 12 is encountering some problems. Since network conditions change and packet loss occurs in practice, dividing a block into a number of smaller packets and using error concealment techniques to estimate and reconstruct an approximation of the loss data can help minimizing the effect of packet loss. Alternatively, adding forward error correcting code can be used. Since existing error handling techniques are applicable, we do not focus on this issue in this prototype. However, we recommend the use of error handling techniques with periodic broadcast techniques in practice Directory Manager The directory manager maintains and broadcasts Video Directory that keeps information about all the videos being broadcast and the broadcast parameters. Each element of the directory has information about the broadcast of a particular video such as the video title, the multicast address of the channel used for broadcasting the first segment, broadcast parameters, and important characteristics of the video. Subsequent segments of the video are broadcast using subsequent multicast addresses from the address of the first channel. Prior to the broadcasts, socket creation and TTL setting must be done in a similar way the video delivery thread does. The video characteristics include information obtained from the MPEG sequence header of the video stream. This is to help the client software to setup its DirectShow encoding and rendering modules quickly. The structure of each directory element is depicted in Figure 5. The video directory is an array of these elements ended by a null byte. Like Session Announcement Protocol (SAP), the directory manager multicasts the video directory periodically (every one second in the current implementation) so that the client program can get the updated information when needed. We note that the video directory can be provided to the clients via other means such as Web servers or during an initial negotiation between the video server and the client. 4. Client Software The user wishing to watch a video runs the client program, JukeBox, and selects a multicast address to receive the video directory. The user selects a video to watch through a graphical user interface (see Figure 6). In the current version, we assume that the user knows the multicast address for broadcasting the video directory. For actual deployment, JukeBox can be extended to obtain this multicast address from the server. main.tex; 6/11/2003; 16:06; p.12

13 Multicast Networks 13 typedef struct Vdir tag { CString title; // video title DWORD size; // video size in bytes BYTE N; // parameters: N( 2) BYTE K; // parameters: K( N) IN ADDR home; // multicast address of the channel for the 1st segment WORD port; // port number of the first channel // Streams Specific DWORD mux; // playback rate BYTE ispts; // whether the stream has Presentation Time Stamp DWORD pts; // Presentation Time Stamp (last 32 bits) BYTE aid; // audio stream ID. BYTE atype[4]; // first 4 bytes of audio payload BYTE vid; // video stream ID. BYTE vlen; // used in vshape BYTE vshape[136]; // video resolutions } Vdir; Figure 5. Directory format for each broadcast video. Figure 6. Client software: JukeBox. Directory Explorer Coordinator GUI User Tag Prober Disk Buffer Manager Loader Loader Loader Video Player Figure 7. Client software: client architecture. Disk main.tex; 6/11/2003; 16:06; p.13

14 CLIENT ARCHITECTURE JukeBox is a multi-thread client with the high-level architecture illustrated in Figure 7. Coordinator accepts the commands from the user via the GUI and translates these commands into a set of actions for other modules. When the user asks for the updated video directory, the coordinator contacts Directory Explorer to get the list of broadcast videos and relevant broadcast parameters. The directory explorer asks the coordinator to pass along the video directory to have it presented to the user. To obtain the video directory, the directory explorer first creates a socket and binds the socket to the multicast address where the video directory is broadcast. The explorer joins the multicast group using the setsockopt(socketid, IPPROTO IP, IP ADD MEMBERSHIP, &mreq, sizeof(mreq)) function where mreq contains the multicast address. If successful, the explorer obtains the video directory using the select and recv function calls as in the case for unicast. After the user has selected the desired video, a series of tasks are performed by different modules in Figure 7 as follows. First, the video player is configured with the video-specific information from the corresponding element in the video directory. The directory element also specifies the multicast group broadcasting the first segment. The coordinator informs Tag Prober to obtain the broadcast tag as soon as possible from the multicast group of the first segment. The three Loaders are responsible for downloading video segments. One loader downloads the first segment right away while the tag prober translates the broadcast tag into the order for downloading the other segments. The playback can begin as soon as the beginning of the first segment is received. The remaining loaders download more segments according to the order indicated by the broadcast tag. Each loader first puts the downloaded data in its staging buffer to avoid socket buffer overflows (see Figure 7). As soon as the first block is downloaded, the playback can begin. Disk Buffer Manager takes the data from the three staging buffers and stores them in a temporary disk buffer. The data are later retrieved and pipelined to the video player. We discuss the details of each module as follows Tag Prober After getting the broadcast tag, the tag prober determines the order to download the segments from the broadcast tag. Since segment i is broadcast on channel i, the order of the download of the segments also determines the order of the channels that the client tunes into. Thus, we call this order a tuning order. Figure 8, illustrates how the tag prober determines the tuning order when the server broadcasts the segment as shown in Figure 4. The algorithm called DTS used by the tag prober to determine the tuning order is given in Figure 9. main.tex; 6/11/2003; 16:06; p.14

15 Channel ID Segment ID Broadcast Tag Initialization After scanning 1 bit After scanning 2 bits scan direction Tuning order (R) 3 2 Q 2 After scanning 3 bits After scanning 4 bits Figure 8. DTS when N=5 and K=6 and the broadcast tag is Suppose the tag prober obtains the broadcast tag of the 6th broadcast of the first segment. The corresponding broadcast tag is DTS checks the tag bit by bit from right to left. Since the first least significant bit is zero, the corresponding ID of the segment (i.e., 2) is entered into queue Q. Because the second least significant bit is 1, DTS appends the ID of the corresponding segment (i.e., 3) to the tuning order R, followed by the current content of Q. R now contains the partial list 3, 2, and Q is made empty. Since the third least significant bit is zero, 4 is appended to Q. The most significant bit is 0, indicating DTS to append the ID of the first stripe of segment 5 (denoted as 5 1 ) into R first. The current content of Q (i.e., 4) and the ID of the second stripe of segment 5 (denoted as 5 2 ) are appended, respectively. R now has the partial list 3, 2, 5 1,4,5 2. The tuning order for the subsequent stripes is simply 6 1 and 6 2. Thus, the final tuning order is 3, 2, 5 1,4,5 2,6 1,6 2. The tuning order is then used by the loaders to download the segments. The overhead for computing the tuning order is negligible since the algorithm is simple. It scans the broadcast tag only once. Using the DTS algorithm in Figure 9, we proved that the client does not need to download video segments from more than three channels concurrently [21]. This reduces the requirement of disk I/Os and network bandwidth of the client Loaders Three loaders are implemented as threads running the same routine. Recall that one loader is used to download the first segment right away. Once DTS determines the tuning order from the broadcast tag, each of the remaining loaders removes the first channel ID from the tuning order one by one, and tunes into the corresponding channel as soon as possible (i.e., join the corresponding multicast address). This enables the loader to successfully join the multicast group in time to download the segment. However, the loader may receive packets that belong to the previous broadcast of the segment. In this case, the loader ignores these extra packets by comparing the block ID in the main.tex; 6/11/2003; 16:06; p.15

16 16 ALGORITHM: Deterministic Tuning Schedule (DTS): INPUT: Broadcast Tag: [b N 1 b N 2 b 1 ] 2 Length of broadcast tag in bits: N 1 Number of video segments: K OUTPUT: Result queue: R LOCAL: Temporary queue: Q Working variables: i, j and k FOR i := 1 TO N-2 DO IF b i is zero THEN Append i +1to Q; ELSE Append i +1to R; Append Q to R; Empty Q; ENDIF ENDFOR IF b N 1 is zero THEN j=1; k=2; ELSE j=2; k =1ENDIF; Append N j to R; Append Q to R; Append N k to R; FOR i := N +1TO K DO Append i j to R; Append i k to R; ENDFOR RETURN(R); Figure 9. Algorithm for determining the tuning order. packet header with the range of the expected blocks of the segment. When the current download is finished, the loader becomes available and repeats the same process until the tuning order becomes empty. As the data loaders fill the buffers, the disk buffer manager fetches the data from disk and passes the data to the video player in the playback order. The video player uses DirectShow modules to decode and display the data. In Figure 10, we show main.tex; 6/11/2003; 16:06; p.16

17 the example when the loaders use the above tuning order (i.e., 3, 2, 5 1,4,5 2, 6 1,6 2 ) to download the video segments broadcast by the server in Figure Loader 1 2 S S 61 Loader 2 S 3 10 S 52 Loader 3 1 S 2 6 S 4 26 S 62 Player S 2 S 3 S 4 S Figure 10. Jitter-free playback at the client. S S 62 S61 47 Playback Time Figure 10 shows the loader that downloads a segment, the arrival time, and the time to start the playback of the segment (termed playback time) since the 6th broadcast of the first segment. Each segment is entirely downloaded by one loader. The time unit on the x-axis is in terms of the playback duration of the first segment (L 1 ). The arrival time of each segment is labeled on the top-left corner of the segment. Although the size (in bytes) of each stripe is half the size of its segment, the stripe is also broadcast at half the playback rate. Thus, the time to download the entire stripe is still equal to the playback duration of the segment. The figure also shows that each segment arrives at the client before the playback time of the segment. For instance, S 4 arrives at the client at time 6, but the playback time of S 4 is at time 7. The facts that segments arrive before their playback times and the download rate is equal to the playback rate ensure that the playback is jitter free. In addition, at each time step, at most three segments are being downloaded concurrently. For instance, during times 10 and 14, three segments, S 4, S 51, S 52, are downloaded concurrently. To handle out-of-order UDP packets, the loader also allows blocks from the same segment to be received out of order. The loader does this detection by examining the block ID in the packet header. Only blocks in the expected range are inserted into the staging buffer. Packet loss is handled by Direct- Show during the playback of the video by skipping the lost data to the nearest decodable data. In practice, the time required to join a multicast group is not negligible. In the implementation, we made a slight change to the design as follows. For each broadcast of the first segment, the delivery thread attaches the broadcast tag of the next broadcast (instead of the current broadcast) to the beginning of the current broadcast. In other words, the tag of the next broadcast is multicast right before the data of the current broadcast. After receiving the tag and calculating the download order specified in the tag, the loaders join the multicast groups to receive the data as soon as possible. Since main.tex; 6/11/2003; 16:06; p.17

18 18 the loader is most likely to join the group successfully before the segment arrives, the loader ignores extra packets as out-of-order packets. However, if the segment arrives before the loader can successfully join the multicast group, a jitter occurs at the segment boundary. Fortunately, this condition happens rarely because each client has three loaders and the broadcast tag is multicast earlier, which gives the loaders some time to join the multicast groups. In the case that the broadcast tag itself is lost, the client waits for the subsequent tag, which results in a longer service delay Disk Buffer Manager The disk buffer manager manages the temporary buffer. Since video segments are received out of their playback order, the straightforward implementation is to create the complete image of the video in the local file system. When a block is received, it is stored in this file at the location indicated in the packet header. However, such implementation requires the buffer space as large as the entire video. We, on the other hand, strive to implement the disk buffer manager that does not use much more buffer space than the theoretical bound computed using Equation (2). A temporary file is created on disk as the client buffer, and deleted after the user closes the playback window. The buffer size depends on the video length, the playback bit rate, and the desired maximum service delay. Hence, broadcasting long videos of higher quality can still require a significant amount of the buffer space. Since it is still too costly to cache video data in the main memory for some environments (e.g., set-top boxes), we decided to maintain the buffer space on the disk to show that Striping Broadcast can be implemented in such environments. The disk buffer manager allocates the file larger than the theoretical bound by the size of the first segment (in bytes). The extra buffer space is used to conceal the effects of late arriving packets due to network congestion in practice. In other words, instead of playing the first block as soon as it arrives, the client uses the extra buffer space to store more blocks before initiating the playback. Hence, if the needed blocks arrive at most L 1 time unit late, the playback can still continue without jitters. Figure 11 illustrates how the disk buffer manager works. The video file, having 14 blocks, is multicast from the server with both N and K equal to 3. The playback rate is one block per minute. Each data block is denoted with a square labeled with its block ID. Using Equation (1), S 1 has two blocks, blocks 1 and 2. S 2 is twice as large S 1 ; thus, it has the next four blocks. The last segment S 3 has stripes: S 31 and S 32. The disk buffer of six slots (blocks), d 1, d 2,..., d 6, is created by the disk buffer manager since it uses the buffer larger than the theoretical buffer requirement (4 blocks using Equation (2)) by the size of the first segment (2 blocks) to cope with late arriving packets as mentioned previously. As shown in Figure 11(a), the last blocks of S 1 and S 2 are aligned with the last slot of the buffer. Blocks of S 1 and S 2 are stored in main.tex; 6/11/2003; 16:06; p.18

19 d 5 and d 6 at different times. S 31 and S 32 also use the slots previously used by the first two segments at a later time. Despite the sharing of the disk buffer, we show by example that there are no buffer overruns that are the situations when any two loaders store data in the same location concurrently relative playback time relative receiving time S S S 2 Case S 3 1 first S S S S 3 2 Case S 3 1 S 1 Disk Buffer S 2 (a) Regular segments S 3 first 2 (b) Stripes Figure 11. Disk buffer management. Figure 11(a) illustrates the scenario when S 1 and S 2 are downloaded at the same time. The relative receiving time and the relative playback time of each block are shown on the top left corner of the data block. Blocks of regular segments are downloaded at the rate of one block per minute. Blocks of stripes are downloaded at half the playback rate, taking two minutes to download a block. Each block of the second stripe is consumed right after the completion of its download. The client will receive S 2, S 31, S 32 at 0, 2, 6 minutes, respectively since it starts downloading the first segment. At time 0, blocks 1 and 3 are downloaded into d 5 and d 3, respectively. At time 1, block 1 is consumed at the same rate, while blocks 2 and 4 are downloaded into d 6 and d 4, respectively. There is still one free block, d 5, for storing an incoming block. At time 2, block 2 in d 6 is consumed, and block 5 is downloaded into d 5. At time 3, block 3 is consumed, and block 6 is stored in d 6. Note that block 2 in d 6 has already been consumed. If S 2 is downloaded later after S 1, the disk buffer overruns are not possible since there will be more free slots available. Now, we show that buffer overruns cannot occur among stripes. S 31 and S 32 are received by 4 blocks apart according to the phase delay. Two scenarios are depicted in Figure 11(b). In Case 1, S 31 is received first; d 1, d 2, d 3, and d 5 are used for S 31, while d 4 and d 6 are repeatedly used for S 32. This case is similar to the case in Figure 11(a). Blocks 7 and 9 are stored in d 1 and d 2 that have not been used by any segments or stripes. Block 11 is stored in d 3 main.tex; 6/11/2003; 16:06; p.19

20 20 at time 6 or three minutes after block 3 occupying the same space has been rendered. Similarly, block 13 is stored in d 5 three minutes after block 5 in d 5 has already been rendered. Some blocks of the second stripe are stored at some disk slots used earlier by S 2. At time 6, block 8 is downloaded into d 4 in which block 4 has been rendered out since time 4. At time 8, block 10 is downloaded into d 6 in which block 6 has been rendered at time 6. Within S 32, blocks 8 and 12 can share d 4 since block 12 is stored in d 4 after block 8 has already been consumed. No buffer overruns occur. It can be shown similarly that there are no buffer overruns for Case 2 when S 32 is received before S Video Player Filter Graph Manager (FGM) Piper (MPEG-1 Stream Splitter) Video Player video audio input input MPEG Video Decoder MPEG Audio Decoder output output input input Video Renderer Audio Renderer Figure 12. Architecture of the video player. The video player uses Microsoft DirectShow modules to handle all decoding and rendering. The architecture of the player is shown in Figure 12. The core of DirectShow services consists of a collection of different types of filters connected in a configuration called a filter graph. Filters are Microsoft objects that perform some specific functions. DirectShow uses Filter Graph Manager (FGM) to coordinate the filters and to allocate the shared buffers between them to exchange media data. FGM also controls the data flow and synchronizes the filters such that time-stamped data samples are delivered at the right time. Applications control the filter graph through FGM. More information on the process of setting up the filter graph can be found in [23]. Existing DirectShow filters used in our implementation are as follows. MPEG Video Decoder decodes an MPEG-1 video bitstream and outputs the corresponding uncompressed video data. At least one MPEG sequence header 2 must be found in the bitstream. This is the reason that our video directory contains video/audio-specific information from the sequence header so that this decoder and the audio decoder can be set up quickly. MPEG Audio Decoder decodes MPEG-1 audio data from its input and outputs the corresponding uncompressed audio samples. 2 An MPEG sequence header contains the width and the height of the picture, picture rate defining the number of frames to be displayed per second, etc. main.tex; 6/11/2003; 16:06; p.20

21 21 Video Renderer displays uncompressed video data on the screen. Audio Renderer renders uncompressed audio samples to a sound device. The FGM provides a set of COM interfaces 3 for an application to access the filter graph. The important interface is IMediaControl that allows the application to issue commands to run, pause, and stop the filter graph. When the filter graph is running, all filters in the filter graph continuously transport data from one filter to the next so that the media data is rendered. When the filter graph is paused, the filters process data but do not render the data. In a stopped filter graph, the filters release resources and do not process any data. We implemented a new MPEG-1 stream splitter named Piper in our video player. Piper takes data from the disk buffer manager, parses the data, and separates them into audio and video streams according to the MPEG specification. Piper is more flexible than the DirectShow MPEG-1 stream splitter since Piper not only accepts an MPEG-1 system bitstream as the DirectShow MPEG-1 stream splitter does, but also accepts a MPEG-1 video bitstream (without the audio stream) and a MPEG-1 audio bitstream (without the video stream) from the disk buffer manager. Piper gets the information whether the bitstream has both audio and video or just either one of them from the video directory. Hence, the player can play MPEG-1 files with or without audio. Furthermore, error handling techniques suitable for visual frames or audio frames can be implemented in Piper in the future to correct errors before passing the data to appropriate decoding filters. When the video player receives commands from the coordinator in response to user inputs, the video player controls the FGM through the IMediaControl interface to start, stop, or pause the filter graph. The current prototype does not support VCR functions. Readers interested in the extension of Striping Broadcast to support these functions are referred to Reference [19]. To support other commercial video players in the future, the client software can be implemented as a middleware to reassemble video data from different channels and feed the data to other players in the playback order. 5. Experience We conducted several experiments to assess the performance of the broadcasting prototype on an IP multicast testbed shown in Figure 13. Our testbed consisted of two 100 Mbps Ethernet subnets interconnected through a Linux machine configured as a multicast router as follows. We recompiled the Linux kernel to enable its multicast support and ran pimd routing daemon [7] 3 A specific memory structure containing an array of pointers to functions implemented by the component. main.tex; 6/11/2003; 16:06; p.21

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

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

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

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

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

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

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

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 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

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

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

ENGINEERING COMMITTEE Digital Video Subcommittee SCTE

ENGINEERING COMMITTEE Digital Video Subcommittee SCTE ENGINEERING COMMITTEE Digital Video Subcommittee SCTE 138 2009 STREAM CONDITIONING FOR SWITCHING OF ADDRESSABLE CONTENT IN DIGITAL TELEVISION RECEIVERS NOTICE The Society of Cable Telecommunications Engineers

More information

Evaluation of SGI Vizserver

Evaluation of SGI Vizserver Evaluation of SGI Vizserver James E. Fowler NSF Engineering Research Center Mississippi State University A Report Prepared for the High Performance Visualization Center Initiative (HPVCI) March 31, 2000

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 Unified Approach for Repairing Packet Loss and Accelerating Channel Changes in Multicast IPTV

A Unified Approach for Repairing Packet Loss and Accelerating Channel Changes in Multicast IPTV A Unified Approach for Repairing Packet Loss and Accelerating Channel Changes in Multicast IPTV Ali C. Begen, Neil Glazebrook, William Ver Steeg {abegen, nglazebr, billvs}@cisco.com # of Zappings per User

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

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

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

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

COSC3213W04 Exercise Set 2 - Solutions

COSC3213W04 Exercise Set 2 - Solutions COSC313W04 Exercise Set - Solutions Encoding 1. Encode the bit-pattern 1010000101 using the following digital encoding schemes. Be sure to write down any assumptions you need to make: a. NRZ-I Need to

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

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

Processor time 9 Used memory 9. Lost video frames 11 Storage buffer 11 Received rate 11

Processor time 9 Used memory 9. Lost video frames 11 Storage buffer 11 Received rate 11 Processor time 9 Used memory 9 Lost video frames 11 Storage buffer 11 Received rate 11 2 3 After you ve completed the installation and configuration, run AXIS Installation Verifier from the main menu icon

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

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

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

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

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

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

A NEW METHOD FOR RECALCULATING THE PROGRAM CLOCK REFERENCE IN A PACKET-BASED TRANSMISSION NETWORK

A NEW METHOD FOR RECALCULATING THE PROGRAM CLOCK REFERENCE IN A PACKET-BASED TRANSMISSION NETWORK A NEW METHOD FOR RECALCULATING THE PROGRAM CLOCK REFERENCE IN A PACKET-BASED TRANSMISSION NETWORK M. ALEXANDRU 1 G.D.M. SNAE 2 M. FIORE 3 Abstract: This paper proposes and describes a novel method to be

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

AUDIOVISUAL COMMUNICATION

AUDIOVISUAL COMMUNICATION AUDIOVISUAL COMMUNICATION Laboratory Session: Recommendation ITU-T H.261 Fernando Pereira The objective of this lab session about Recommendation ITU-T H.261 is to get the students familiar with many aspects

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

Personal Mobile DTV Cellular Phone Terminal Developed for Digital Terrestrial Broadcasting With Internet Services

Personal Mobile DTV Cellular Phone Terminal Developed for Digital Terrestrial Broadcasting With Internet Services Personal Mobile DTV Cellular Phone Terminal Developed for Digital Terrestrial Broadcasting With Internet Services ATSUSHI KOIKE, SHUICHI MATSUMOTO, AND HIDEKI KOKUBUN Invited Paper Digital terrestrial

More information

ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer

ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer by: Matt Mazzola 12222670 Abstract The design of a spectrum analyzer on an embedded device is presented. The device achieves minimum

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

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

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

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

Installation & Operational Manual

Installation & Operational Manual Radiant Communications Corporation 5001 Hadley Road South Plainfield NJ 07080 Tel (908) 757-7444 Fax (908) 757-8666 WWW.RCCFIBER.COM QRF5000M MDU ENCODER Installation & Operational Manual Rev.A2 1. Introduction

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

HEVC H.265 TV ANALYSER

HEVC H.265 TV ANALYSER INTRODUCING THE WORLD S FIRST HEVC H.265 METER & TV ANALYSER Digital terrestrial TV is at the dawn of a new transformation driven by the need to release yet further spectrum in the so called second dividend

More information

IO [io] 8000 / 8001 User Guide

IO [io] 8000 / 8001 User Guide IO [io] 8000 / 8001 User Guide MAYAH, IO [io] are registered trademarks of MAYAH Communications GmbH. IO [io] 8000 / 8001 User Guide Revision level March 2008 - Version 1.2.0 copyright 2008, MAYAH Communications

More information

ELEC 691X/498X Broadcast Signal Transmission Winter 2018

ELEC 691X/498X Broadcast Signal Transmission Winter 2018 ELEC 691X/498X Broadcast Signal Transmission Winter 2018 Instructor: DR. Reza Soleymani, Office: EV 5.125, Telephone: 848 2424 ext.: 4103. Office Hours: Wednesday, Thursday, 14:00 15:00 Slide 1 In this

More information

B. The specified product shall be manufactured by a firm whose quality system is in compliance with the I.S./ISO 9001/EN 29001, QUALITY SYSTEM.

B. The specified product shall be manufactured by a firm whose quality system is in compliance with the I.S./ISO 9001/EN 29001, QUALITY SYSTEM. VideoJet 8000 8-Channel, MPEG-2 Encoder ARCHITECTURAL AND ENGINEERING SPECIFICATION Section 282313 Closed Circuit Video Surveillance Systems PART 2 PRODUCTS 2.01 MANUFACTURER A. Bosch Security Systems

More information

Milestone Solution Partner IT Infrastructure Components Certification Report

Milestone Solution Partner IT Infrastructure Components Certification Report Milestone Solution Partner IT Infrastructure Components Certification Report Infortrend Technologies 5000 Series NVR 12-15-2015 Table of Contents Executive Summary:... 4 Introduction... 4 Certified Products...

More information

Digital Audio Broadcast Store and Forward System Technical Description

Digital Audio Broadcast Store and Forward System Technical Description Digital Audio Broadcast Store and Forward System Technical Description International Communications Products Inc. Including the DCM-970 Multiplexer, DCR-972 DigiCeiver, And the DCR-974 DigiCeiver Original

More information

AMD-53-C TWIN MODULATOR / MULTIPLEXER AMD-53-C DVB-C MODULATOR / MULTIPLEXER INSTRUCTION MANUAL

AMD-53-C TWIN MODULATOR / MULTIPLEXER AMD-53-C DVB-C MODULATOR / MULTIPLEXER INSTRUCTION MANUAL AMD-53-C DVB-C MODULATOR / MULTIPLEXER INSTRUCTION MANUAL HEADEND SYSTEM H.264 TRANSCODING_DVB-S2/CABLE/_TROPHY HEADEND is the most convient and versatile for digital multichannel satellite&cable solution.

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

Multimedia Time Warping System. Akiko Campbell Presentation-2 Summer/2004

Multimedia Time Warping System. Akiko Campbell Presentation-2 Summer/2004 Multimedia Time Warping System Akiko Campbell Presentation-2 Summer/2004 Outline Overview Facts Features Multimedia Time Warping System Conclusion Effect of TiVo on VoD Overview Facts A Linux box that

More information

Telecommunication Development Sector

Telecommunication Development Sector Telecommunication Development Sector Study Groups ITU-D Study Group 1 Rapporteur Group Meetings Geneva, 4 15 April 2016 Document SG1RGQ/218-E 22 March 2016 English only DELAYED CONTRIBUTION Question 8/1:

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

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

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

A Software-based Real-time Video Broadcasting System

A Software-based Real-time Video Broadcasting System A Software-based Real-time Video Broadcasting System MING-CHUN CHENG, SHYAN-MING YUAN Dept. of Computer & Information Science National Chiao Tung University 1001 Ta Hsueh Road, Hsinchu, Taiwan 300 TAIWAN,

More information

Matrox PowerStream Plus

Matrox PowerStream Plus Matrox PowerStream Plus User Guide 20246-301-0200 2017.07.04 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

More information

User guide. IP output module - Art. No A

User guide. IP output module - Art. No A User guide IP output module - Art. No. 492072 891080A GB Contents Contents Disposal... 3 Box content... 3 IP output module... 3 Labels... 4 Installation of IP modules... 5 Installation of extender boards...

More information

Introduction. Packet Loss Recovery for Streaming Video. Introduction (2) Outline. Problem Description. Model (Outline)

Introduction. Packet Loss Recovery for Streaming Video. Introduction (2) Outline. Problem Description. Model (Outline) Packet Loss Recovery for Streaming Video N. Feamster and H. Balakrishnan MIT In Workshop on Packet Video (PV) Pittsburg, April 2002 Introduction (1) Streaming is growing Commercial streaming successful

More information

Digital Terrestrial HDTV Broadcasting in Europe

Digital Terrestrial HDTV Broadcasting in Europe EBU TECH 3312 The data rate capacity needed (and available) for HDTV Status: Report Geneva February 2006 1 Page intentionally left blank. This document is paginated for recto-verso printing Tech 312 Contents

More information

18-551, Spring Group #4 Final Report. Get in the Game. Nick Lahr (nlahr) Bryan Murawski (bmurawsk) Chris Schnieder (cschneid)

18-551, Spring Group #4 Final Report. Get in the Game. Nick Lahr (nlahr) Bryan Murawski (bmurawsk) Chris Schnieder (cschneid) 18-551, Spring 2005 Group #4 Final Report Get in the Game Nick Lahr (nlahr) Bryan Murawski (bmurawsk) Chris Schnieder (cschneid) Group #4, Get in the Game Page 1 18-551, Spring 2005 Table of Contents 1.

More information

Case Study Monitoring for Reliability

Case Study Monitoring for Reliability 1566 La Pradera Dr Campbell, CA 95008 www.videoclarity.com 408-379-6952 Case Study Monitoring for Reliability Video Clarity, Inc. Version 1.0 A Video Clarity Case Study page 1 of 10 Digital video is everywhere.

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

invr User s Guide Rev 1.4 (Aug. 2004)

invr User s Guide Rev 1.4 (Aug. 2004) Contents Contents... 2 1. Program Installation... 4 2. Overview... 4 3. Top Level Menu... 4 3.1 Display Window... 9 3.1.1 Channel Status Indicator Area... 9 3.1.2. Quick Control Menu... 10 4. Detailed

More information

DIGISPOT II. User Manual LOGGER. Software

DIGISPOT II. User Manual LOGGER. Software DIGISPOT II LOGGER Software User Manual September 2002 Version 2.12.xx Copy - Right: R.Barth KG Hamburg I m p r e s s u m This product has been developed by joint efforts of both companies based on the

More information

Abstract WHAT IS NETWORK PVR? PVR technology, also known as Digital Video Recorder (DVR) technology, is a

Abstract WHAT IS NETWORK PVR? PVR technology, also known as Digital Video Recorder (DVR) technology, is a NETWORK PVR VIDEO SERVER ARCHITECTURE Jay Schiller, Senior VP Broadband Strategy and Product Management Michael Fallon, Senior Technical Writer ncube Corporation Abstract Set-top Personal Video Recording

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

Arbitrary Waveform Generator

Arbitrary Waveform Generator 1 Arbitrary Waveform Generator Client: Agilent Technologies Client Representatives: Art Lizotte, John Michael O Brien Team: Matt Buland, Luke Dunekacke, Drew Koelling 2 Client Description: Agilent Technologies

More information

On the Characterization of Distributed Virtual Environment Systems

On the Characterization of Distributed Virtual Environment Systems On the Characterization of Distributed Virtual Environment Systems P. Morillo, J. M. Orduña, M. Fernández and J. Duato Departamento de Informática. Universidad de Valencia. SPAIN DISCA. Universidad Politécnica

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

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 source-channel video coding for H.264 using FEC

Joint source-channel video coding for H.264 using FEC Department of Information Engineering (DEI) University of Padova Italy Joint source-channel video coding for H.264 using FEC Simone Milani simone.milani@dei.unipd.it DEI-University of Padova Gian Antonio

More information

CHARACTERIZATION OF END-TO-END DELAYS IN HEAD-MOUNTED DISPLAY SYSTEMS

CHARACTERIZATION OF END-TO-END DELAYS IN HEAD-MOUNTED DISPLAY SYSTEMS CHARACTERIZATION OF END-TO-END S IN HEAD-MOUNTED DISPLAY SYSTEMS Mark R. Mine University of North Carolina at Chapel Hill 3/23/93 1. 0 INTRODUCTION This technical report presents the results of measurements

More information

BER MEASUREMENT IN THE NOISY CHANNEL

BER MEASUREMENT IN THE NOISY CHANNEL BER MEASUREMENT IN THE NOISY CHANNEL PREPARATION... 2 overview... 2 the basic system... 3 a more detailed description... 4 theoretical predictions... 5 EXPERIMENT... 6 the ERROR COUNTING UTILITIES module...

More information

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER 80 CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER 6.1 INTRODUCTION Asynchronous designs are increasingly used to counter the disadvantages of synchronous designs.

More information

DVB-T2 modulator design supporting multiple PLP and auxiliary streams

DVB-T2 modulator design supporting multiple PLP and auxiliary streams > BMSB-2010 - mm2010-86 < 1 DVB-T2 modulator design supporting multiple PLP and auxiliary streams Correia S., Vélez M., Prieto G., Eizmendi I., Berjon-Eriz G., Fernández C., Ordiales J.L. Abstract This

More information

Matrox PowerStream Plus

Matrox PowerStream Plus Matrox PowerStream Plus User Guide 20246-301-0250 2018.09.04 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

More information

Improved H.264 /AVC video broadcast /multicast

Improved H.264 /AVC video broadcast /multicast Improved H.264 /AVC video broadcast /multicast Dong Tian *a, Vinod Kumar MV a, Miska Hannuksela b, Stephan Wenger b, Moncef Gabbouj c a Tampere International Center for Signal Processing, Tampere, Finland

More information

Synchronization Issues During Encoder / Decoder Tests

Synchronization Issues During Encoder / Decoder Tests OmniTek PQA Application Note: Synchronization Issues During Encoder / Decoder Tests Revision 1.0 www.omnitek.tv OmniTek Advanced Measurement Technology 1 INTRODUCTION The OmniTek PQA system is very well

More information

Using Software Feedback Mechanism for Distributed MPEG Video Player Systems

Using Software Feedback Mechanism for Distributed MPEG Video Player Systems 1 Using Software Feedback Mechanism for Distributed MPEG Video Player Systems Kam-yiu Lam 1, Chris C.H. Ngan 1 and Joseph K.Y. Ng 2 Department of Computer Science 1 Computing Studies Department 2 City

More information

ITU-T Y Specific requirements and capabilities of the Internet of things for big data

ITU-T Y Specific requirements and capabilities of the Internet of things for big data I n t e r n a t i o n a l T e l e c o m m u n i c a t i o n U n i o n ITU-T Y.4114 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (07/2017) SERIES Y: GLOBAL INFORMATION INFRASTRUCTURE, INTERNET PROTOCOL

More information

Agilent E4430B 1 GHz, E4431B 2 GHz, E4432B 3 GHz, E4433B 4 GHz Measuring Bit Error Rate Using the ESG-D Series RF Signal Generators, Option UN7

Agilent E4430B 1 GHz, E4431B 2 GHz, E4432B 3 GHz, E4433B 4 GHz Measuring Bit Error Rate Using the ESG-D Series RF Signal Generators, Option UN7 Agilent E4430B 1 GHz, E4431B 2 GHz, E4432B 3 GHz, E4433B 4 GHz Measuring Bit Error Rate Using the ESG-D Series RF Signal Generators, Option UN7 Product Note Introduction Bit-error-rate analysis As digital

More information

Digital television The DVB transport stream

Digital television The DVB transport stream Lecture 4 Digital television The DVB transport stream The need for a general transport stream DVB overall stream structure The parts of the stream Transport Stream (TS) Packetized Elementary Stream (PES)

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

QRF5000 MDU ENCODER. Data Sheet

QRF5000 MDU ENCODER. Data Sheet Radiant Communications Corporation 5001 Hadley Road South Plainfield NJ 07080 Tel (908) 757-7444 Fax (908) 757-8666 WWW.RCCFIBER.COM QRF5000 MDU ENCODER Data Sheet Version 1.1 1 Caution Verify proper grounding

More information

Interlace and De-interlace Application on Video

Interlace and De-interlace Application on Video Interlace and De-interlace Application on Video Liliana, Justinus Andjarwirawan, Gilberto Erwanto Informatics Department, Faculty of Industrial Technology, Petra Christian University Surabaya, Indonesia

More information

ViewCommander- NVR Version 3. User s Guide

ViewCommander- NVR Version 3. User s Guide ViewCommander- NVR Version 3 User s Guide The information in this manual is subject to change without notice. Internet Video & Imaging, Inc. assumes no responsibility or liability for any errors, inaccuracies,

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

Multicore Design Considerations

Multicore Design Considerations Multicore Design Considerations Multicore: The Forefront of Computing Technology We re not going to have faster processors. Instead, making software run faster in the future will mean using parallel programming

More information

DigiPoints Volume 2. Student Workbook. Module 5 Headend Digital Video Processing

DigiPoints Volume 2. Student Workbook. Module 5 Headend Digital Video Processing Headend Digital Video Processing Page 5.1 DigiPoints Volume 2 Module 5 Headend Digital Video Processing Summary In this module, students learn engineering theory and operational information about Headend

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

DETEXI Basic Configuration

DETEXI Basic Configuration DETEXI Network Video Management System 5.5 EXPAND YOUR CONCEPTS OF SECURITY DETEXI Basic Configuration SETUP A FUNCTIONING DETEXI NVR / CLIENT It is important to know how to properly setup the DETEXI software

More information

First Encounters with the ProfiTap-1G

First Encounters with the ProfiTap-1G First Encounters with the ProfiTap-1G Contents Introduction... 3 Overview... 3 Hardware... 5 Installation... 7 Talking to the ProfiTap-1G... 14 Counters... 14 Graphs... 15 Meters... 17 Log... 17 Features...

More information

TIME-COMPENSATED REMOTE PRODUCTION OVER IP

TIME-COMPENSATED REMOTE PRODUCTION OVER IP TIME-COMPENSATED REMOTE PRODUCTION OVER IP Ed Calverley Product Director, Suitcase TV, United Kingdom ABSTRACT Much has been said over the past few years about the benefits of moving to use more IP in

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

FLEXIBLE SWITCHING AND EDITING OF MPEG-2 VIDEO BITSTREAMS

FLEXIBLE SWITCHING AND EDITING OF MPEG-2 VIDEO BITSTREAMS ABSTRACT FLEXIBLE SWITCHING AND EDITING OF MPEG-2 VIDEO BITSTREAMS P J Brightwell, S J Dancer (BBC) and M J Knee (Snell & Wilcox Limited) This paper proposes and compares solutions for switching and editing

More information

ATSC Standard: Video Watermark Emission (A/335)

ATSC Standard: Video Watermark Emission (A/335) ATSC Standard: Video Watermark Emission (A/335) Doc. A/335:2016 20 September 2016 Advanced Television Systems Committee 1776 K Street, N.W. Washington, D.C. 20006 202-872-9160 i The Advanced Television

More information

Introduction This application note describes the XTREME-1000E 8VSB Digital Exciter and its applications.

Introduction This application note describes the XTREME-1000E 8VSB Digital Exciter and its applications. Application Note DTV Exciter Model Number: Xtreme-1000E Version: 4.0 Date: Sept 27, 2007 Introduction This application note describes the XTREME-1000E Digital Exciter and its applications. Product Description

More information

Stream Labs, JSC. Stream Logo SDI 2.0. User Manual

Stream Labs, JSC. Stream Logo SDI 2.0. User Manual Stream Labs, JSC. Stream Logo SDI 2.0 User Manual Nov. 2004 LOGO GENERATOR Stream Logo SDI v2.0 Stream Logo SDI v2.0 is designed to work with 8 and 10 bit serial component SDI input signal and 10-bit output

More information

(12) Patent Application Publication (10) Pub. No.: US 2007/ A1

(12) Patent Application Publication (10) Pub. No.: US 2007/ A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/0230902 A1 Shen et al. US 20070230902A1 (43) Pub. Date: Oct. 4, 2007 (54) (75) (73) (21) (22) (60) DYNAMIC DISASTER RECOVERY

More information

TV Character Generator

TV Character Generator TV Character Generator TV CHARACTER GENERATOR There are many ways to show the results of a microcontroller process in a visual manner, ranging from very simple and cheap, such as lighting an LED, to much

More information