Media Delivery in .NET framework

Printer QR Code JIS X 0510 in .NET framework Media Delivery
1.3 Media Delivery
QR Code ISO/IEC18004 Reader In .NET Framework
Using Barcode Control SDK for Visual Studio .NET Control to generate, create, read, scan barcode image in .NET applications.
Of the two types of media data discussed earlier, we will focus on the delivery of continuous media in the rest of the book. We can broadly classify continuous media data delivery into two categories real-time delivery and soft-real-time delivery. Real-time delivery refers to applications where the media data must be delivered from the source and presented at the destination within a given delay budget. This is most common in applications where there are interactions between users, such as in Internet phone or video conferencing applications (Figure 1.2). Take Internet phone [2] as an example, the one-way delay, i.e., the delay from capturing the voice data from the speaking user to the time the voice data are played back to the listening user should be no more than 150ms [3]. Longer delays will lead to talking collisions, i.e., both users trying to speak at the same time as commonly experienced in long-distance telephone conversations, and thus this degrades the service quality. Clearly this real-time delivery requirement often con icts with the requirements for data integrity and timing integrity. In fact, for applications such as Internet phone, the requirement
Quick Response Code Encoder In .NET Framework
Using Barcode encoder for .NET framework Control to generate, create QR Code 2d barcode image in Visual Studio .NET applications.
Scalable Continuous Media Streaming Systems
Reading Quick Response Code In VS .NET
Using Barcode decoder for Visual Studio .NET Control to read, scan read, scan image in .NET applications.
Passive Client Network
Print Barcode In VS .NET
Using Barcode encoder for VS .NET Control to generate, create barcode image in VS .NET applications.
Active Client
Scan Bar Code In .NET
Using Barcode recognizer for Visual Studio .NET Control to read, scan read, scan image in .NET applications.
Conferencing Server
Create QR Code In Visual C#
Using Barcode encoder for .NET framework Control to generate, create QR Code image in .NET applications.
Active Client
Print QR Code In .NET Framework
Using Barcode drawer for ASP.NET Control to generate, create Quick Response Code image in ASP.NET applications.
Figure 1.2 Real-time continuous media data delivery in a video conferencing application
Generate Quick Response Code In Visual Basic .NET
Using Barcode maker for VS .NET Control to generate, create QR Code image in VS .NET applications.
Client Media Server storage Network Playback audio/video
UPCA Maker In VS .NET
Using Barcode maker for Visual Studio .NET Control to generate, create UPCA image in VS .NET applications.
Directory Server Upload
Data Matrix 2d Barcode Encoder In .NET Framework
Using Barcode drawer for Visual Studio .NET Control to generate, create DataMatrix image in Visual Studio .NET applications.
TV Set-top box
Bar Code Creator In .NET
Using Barcode encoder for Visual Studio .NET Control to generate, create bar code image in .NET framework applications.
storage
MSI Plessey Encoder In Visual Studio .NET
Using Barcode printer for .NET Control to generate, create MSI Plessey image in VS .NET applications.
A/V Encoder
Barcode Printer In Java
Using Barcode drawer for Java Control to generate, create barcode image in Java applications.
A/V Source
Code 128 Code Set A Decoder In .NET Framework
Using Barcode reader for .NET Control to read, scan read, scan image in Visual Studio .NET applications.
Figure 1.3 Soft-real-time continuous media data delivery in video-on-demand applications
Data Matrix Reader In .NET
Using Barcode reader for .NET Control to read, scan read, scan image in Visual Studio .NET applications.
for real-time delivery may even surpass that of data integrity and presentation timing integrity. For example, it may be necessary to allow data loss (or even discard data) and/or playback jitter in order to meet the given delay budget. On the other hand, for soft-real-time delivery, there is no delay budget given. Instead, the system must deliver the media data so that data integrity and presentation timing integrity are preserved, while reducing the delay as far as possible. Examples of soft-real-time delivery are video-on-demand (VoD) where a user can select and playback a video title from the video collection available at a video server over the network as shown in Figure 1.3. These applications are far more tolerable to longer start-up delays (e.g., in seconds) as long as smooth playback is maintained after playback has started.
Create Bar Code In Visual Studio .NET
Using Barcode drawer for ASP.NET Control to generate, create barcode image in ASP.NET applications.
Introduction
Read Bar Code In Java
Using Barcode scanner for Java Control to read, scan read, scan image in Java applications.
Server
Data Matrix ECC200 Printer In Visual C#
Using Barcode maker for .NET framework Control to generate, create ECC200 image in .NET applications.
Send data
Bar Code Creator In C#.NET
Using Barcode printer for .NET framework Control to generate, create barcode image in .NET applications.
. . .
Code 128 Code Set A Generation In C#.NET
Using Barcode creator for VS .NET Control to generate, create Code128 image in VS .NET applications.
Client
Send req
Present data
Figure 1.4 Interaction between client and server under the download data delivery model
1.4 Streaming versus Download
Delivering data over a network is not new and there are many different methods already available. Among them, download is the most common method to deliver data from a server to a client. The download model, depicted in Figure 1.4, is relatively straightforward: the client rst sends a request to the server indicating the data object to be downloaded; the server then retrieves the data object (e.g., from the local le system) and start sending it over the network to the client using some application/transport protocol. Take the WWW as an example, the web browser rst sends a HTTP GET request using TCP to a web server, which then retrieves the required le object and sends it back over the same TCP connection using a HTTP reply message. After completely receiving the data object, the client (e.g., web browser) then decodes and displays the data object to the user. The key characteristic of the download model is that the data object is rst completely received, and possibly cached either in memory buffer or in the local le system, before being decoded and played back. Clearly, as the complete data object is available to the client, the decoding processing and presentation can be done in the same way as local data objects. This download model works well in many applications but, unfortunately, is not very suitable for continuous media data delivery. Let us reconsider the download process as shown in Figure 1.5. Ignoring processing time, the delay from the instant the user initiates the request to the instant the requested data object can be presented is determined by the size of the data object and the rate at which it is transmitted across the network. For applications such as WWW, the data objects are often text-based HTML web pages or small images/graphics, and thus the delay is relatively small. Continuous media data objects, however, will likely be signi cantly larger and thus the delay incurred in downloading, say, a video object will become unacceptably long. Take MPEG2 video as an example. A 2-hour MPEG2 system stream (e.g., a movie) encoded at an average bitrate of 6Mbps will generate 5.4GB of data. Delivering this amount of data even over broadband access networks, say, at 8Mbps, will take an unacceptably long time (e.g., 5.4GB 8/8 = 1.5 hours) before playback can start. The fundamental problem in the download model, as evident in Figure 1.6, is the requirement to wait until the whole video object is downloaded before playback can begin. While this requirement is necessary for many discrete media data types such as image or graphic, continuous media such as video possess the unique characteristics that partial data