* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Scalable_Video_Delivery_to_Unicast_Handheld
Survey
Document related concepts
Transcript
Scalable Video Delivery to Unicast Handheld-based Clients Raymond K.Y. Chow,Chen-Khong Tham Dept. of Electrical Engineering,National University of Singapore Networks, 2000. (ICON 2000). Proceedings. IEEE International Conference on , 2000 Lin-Kai Chen VCLab Outline Introduction Proxy gateway Unicast client Testing the proxy & the Client Discussion Conclusion Lin-Kai Chen VCLab Introduction The aim of this paper is to deliver video to heterogeneous clients using only a single video stream. The challenge of video streaming and delivery is to overcome the combined problems of the performance demands required of the network and the diversity of the devices that it supports. This paper describes the design and architecture of a video delivery proxy gateway. Lin-Kai Chen VCLab Introduction(Cont.) This proxy gateway is part of an experimental multicast scalable video delivery system. Its role is to translate the video stream that is split and multicast,into a single unicast stream delivered in a customized form to the unicast client. This is done because there are devices that cannot receive multicast,either due to their simple TCP/IP stacks or the presence of a network that does not support multicast along the route from the server. Lin-Kai Chen VCLab Introduction(Cont.) SeeWAVE: A scalable video delivery system that has been developed to deliver video content to heterogeneous computing devices. The system employs a layered wavelet-based video codec to achieve a scalable data stream,which is divided and distributed using multicast. Key components: the codec and multicast. The codec permits the encoded video stream to be divided into separate layers: base and enhancement layers. Lin-Kai Chen VCLab Introduction(Cont.) In addition,multicast also reduces the number of duplicate packets in the network.The duplication in unicast transmission case is eliminated in multicast. Reasons for unicast Because there exist classes of devices that are unable to receive multicast data. In order to support these classes of devices, a copy of the multicast video stream has to be sent in a unicast manner to them. Lin-Kai Chen VCLab Proxy gateway Unicast Stream Lin-Kai Chen VCLab Introduction(Cont.) We can modify the multicast stream by putting a transformation agent in the network. Figure 1 illustrates the scalable video delivery system of SeeWAVE,which comprises the following: Video server Multicast video clients Proxy gateway: Unicast video clients: Lin-Kai Chen VCLab Proxy gateway Primary objective: To convert the multicast layers transmitted by the server to unicast. The proxy has to be located on a network that is able to receive multicast traffic. The proxy should be as close as possible to the unicast clients that it is serving.The number of duplicate unicast data streams increases with the number of clients. Secondary objective: Pre-process the packets of each layer. It’s to reduce the processing load and memory requirements required by clients. Lin-Kai Chen VCLab Proxy gateway(Cont.) Pre-processing: to buffer incoming packets and wait for other packets of the same frame and to search for required packets and consolidate them into a single packet that is sent to the client. Requirements Ability to query the video server, and to subscribe/unsubscibe to multiple layers of video. - The proxy can adjust its layer subscription as and when the Max. required quality changes. Servicing multiple unicast clients,with different quality requirements. Lin-Kai Chen VCLab Proxy gateway(Cont.) Ability to selectively consolidate packets from the various layers delivered via different multicast channels. - it enables the proxy to accommodate to the video quality requested by the unicast client. Facility to lower the frame rate of the video. Design Four main objects in the proxy. The functional diagram of the design and components of the proxy gateway is shown in Figure 2. Lin-Kai Chen VCLab Lin-Kai Chen VCLab Proxy gateway(Cont.) Multicast receiver 1.to query the video server for details on the video stream. 2.to subscribe to the multicast groups via the creation of “session managers” 3.to transfer the received data to the data pre-processor. Data pre-processor 1.storing all the incoming packets into the hash buffer. 2.consolidating the packets into a single packets as required by the client. 3.performing garbage collection periodically and removing buffered packets that are considered out-of-date. Lin-Kai Chen VCLab Proxy gateway(Cont.) The consolidate packet is then marked by the number of layers it contains and is passed to the unicast sender. Unicast sender Frame rate control: required to reduce the frame rate of the video stream for less capable clients. This is possible bacause the wavelet-based codec that is being used supports only intra-frame coding. Therefore,the reduction of the frame rate only requires the suppression of certain frames. Lin-Kai Chen VCLab Proxy gateway(Cont.) Client manager The client manager performs the following duties: 1.maintains the list of clients the proxy is serving. 2.listens for and accepts new clients. 3.processes quality change requests from the client. 4.compute the number of layers required based on the clients’ requirements. Lin-Kai Chen VCLab Unicast client The unicast client was first implemented on a Win CE Palm-sized PDA and then on desktop Win9x/NT. The client can be divided into three components. Network component: it includes a TCP port for communication with the proxy, and a UDP port for receiving video packets from the proxy. Decoder component Renderer component Lin-Kai Chen VCLab Lin-Kai Chen VCLab Unicast client As soon as the connection is established,the client’s video quality requirements are sent to the proxy. The decoder implemented in the handheld-based client is the same as that used in desktop clients. The decoded video frame is initially in YUV format. Before displaying,the renderer component has to convert the YUV format into RGB. Lin-Kai Chen VCLab Testing the proxy & client The Specification of the testbed: Video server: P III 450MHz,64MB RAM, Win NT 4.0 Proxy gateway: P III 450MHz, 64MB RAM, Win NT 4.0 Handheld unicast client: Casio Cassiopeia 131MHz,32MB RAM. Desktop unicast clients: P MMX 266 MHz,P II 400,64/128 RAM,Win95/98. The test on the handheld unicast client using 3 different network connections: 10BaseT Ethernet,56K modem via PPP, 9.6K GSM data via PPP. Lin-Kai Chen VCLab Testing the proxy & client Transmission configuration of video server: 3 layers (1 base, 2 enhancement layers) Video capture frame rate: 10 frames per second. Proxy-loading test The performance of the proxy is measured by the average time a packet spends in the proxy before being transmitted to the unicast clients. All the subscribed to the same quality- color and 1 frame per second,which requires 3 layers and frame rate modification down from the server’s rate of 10 fps. Lin-Kai Chen VCLab Testing the proxy & client Handheld client performance test The performance measure for this test is the average times taken for decoding and rendering. The test was performed with the client requesting for a video stream of 1 frame per second and following conditions: 10BaseT connections:from 1-layer to 3-layers quality level. 56K modem PPP:from 1-layer to 3-layers quality level. 9.6K GSM modem PPP: 1-layer quality level. Lin-Kai Chen VCLab Discussion Lin-Kai Chen VCLab Discussion(Cont.) Lin-Kai Chen VCLab Discussion(Cont.) The variation of the average packet delay with the number of unicast clients is almost linear. As expected,the video decoding time increased when better video quality was requested. The average rendering time remained similar. The performance of the renderer is not dependent on the level of video quality. The average decoding time for 56K modem,3 layers is exceeding 1 second.(the frame rate is 1fps). Lin-Kai Chen VCLab Discussion(Cont.) The fluctuation in the average decoding times are most probably caused by additional overheads that were imposed on the handheld device’s processor. When using 56K modem: a PPP protocol stack had to be created in addition to the TCP/IP stack. 9.6K GSM and Nokia 8810 mobile phone: an IrDA stack had to be created. The additional stacks and processing required by them lowered the client’s performance. Lin-Kai Chen VCLab Conclusion The proxy gateway approach seems to be a viable method of extending the SeeWave scalable video delivery system from multicast networks to unicast clients. However,the handheld-based unicast client performs rather poorly. From the performance measures, the Max. frame rate of the client is limited to between 1 to 2 fps,despite using a device with a high-speed processor. Lin-Kai Chen VCLab Conclusion(Cont.) This is in comparison to the 12 fps rate achievable on desktop computers. It is probably due to the nature of the decoder, which was targeted for a desktop computer. A version of the decoder optimized for a handheld device may very likely improve performance. Lin-Kai Chen VCLab