Exploiting Content-Based Networking for Video Streaming Viktor S. Wold Eide1,2 Frank Eliassen1 Jørgen Andreas Michaelsen2 1 2 Simula Research Laboratory P.O. Box 134 N-1325 Lysaker, Norway University of Oslo P.O. Box 1080 Blindern N-0314 Oslo, Norway {viktore,frank}@simula.no {viktore,jorgenam}@ifi.uio.no ABSTRACT This technical demonstration shows that content-based networking is a promising technology for multireceiver video streaming. Each video receiver is provided with fine grained selectivity along different video dimensions, such as region of interest, quality, colors, and temporal resolution. Efficient delivery is maintained, in terms of network utilization and processing requirements. A prototype demonstrates the feasibility of this approach and is available as open source. Video Server Content−Based Network 01 Publish Advertise General Terms 2 Subscribe 2 Subscribe 3 Notify 3 Notify Figure 1: Categories and Subject Descriptors C.2.2 [Computer-Communication Networks]: Network Protocols—Content-based networking; H.4.3 [Information Systems Applications]: Communications Applications— Video streaming Video Client(s) Network node Content-based network example. video data. The video streaming software presented here is part of our framework targeting this application domain [3]. The software exploits content-based networking in order to provide fine grained selectivity and efficient delivery. Design, experimentation 2. Keywords Content-based networking, distributed content-based publish subscribe systems, fine granularity video streaming, scalable video coding, layered video 1. INTRODUCTION A lot of effort has been made in order to efficiently deliver video data over best-effort networks, such as the Internet [6]. Unicast delivery may provide each client with a customized stream, but is inefficient and does not scale. Multicast delivery, provided at the network level or by overlay networks, may improve network efficiency. However, a single multicast stream provides clients with no selectivity. Simulcast delivery may provide clients with a choice between a few number of streams, each having a different tradeoff between quality characteristics and resource requirements. A combination of layered coding and multicast is also rather course grained, but improves network efficiency as the amount of redundant information in different streams is reduced [7]. However, fine grained selectivity along different video quality dimensions is important for domains such as real-time distributed video content analysis, where timeliness and accuracy requirements may necessitate parallel processing of Copyright is held by the author/owner. MM’04, October 10-16, 2004, New York, New York, USA. ACM 1-58113-893-8/04/0010. CONTENT-BASED NETWORKING In content-based networking [2], messages are forwarded based on content, and not on an explicit address. Each message contains a set of attribute/value pairs and clients express interest in certain messages by specifying predicates over these attribute/value pairs. These predicates are used by the network nodes for routing. Messages are forwarded based on these routing tables and delivered only to clients having matching selection predicates. Filtering is pushed towards the source and each message should traverse a link at most once. Content-based networks are currently realized as overlay networks. Distributed content-based publish subscribe systems [1] are examples of content-based networks. The messages, called notifications, are injected into the network by publishing as illustrated in Figure 1. Clients express their interests in subscriptions as predicates over the attributes/value pairs and are notified accordingly. 3. VIDEO STREAMING Video servers publish notifications, which encapsulate encoded video data. Each notification contains a subset of the video data for a single frame and is delivered to all video clients having matching subscriptions. The presented video coding software exploits well known video compression techniques, but is implemented from scratch as extending e.g. other MPEG implementations for content-based networking seemed non-trivial. The software is Open Source and is available from http://www.ifi.uio.no/˜dmj/. Figure 2: Experimental video client controller. 3.1 Fine Granularity Selectivity Our video coding scheme supports selectivity along the following dimensions: regional, quality, color, and temporal. The smallest selectable region is a so-called superblock, which is a number of 16 × 16 pixel macroblocks. In the quality dimension, a layered coding is used. Each block within a macroblock is transformed to the frequency domain by using the Discrete Cosine Transform. The DCT coefficients are quantized and bit-plane coded [5]. The different bit-planes are mapped to different quality layers. Notifications for the base layer contain the most significant bits. With respect to colors, the luminance part of the video signal is handled separately from the chrominance part and sent in different notifications. The temporal dimension is realized by a layered coding scheme. The first frame in a gop (group of pictures) is intra coded, i.e. self contained. The rest of the gop is coded to exploit temporal redundancy. Only the difference between two blocks is sent, taking the layering into consideration. Each additional temporal layer, doubles the frame rate. The maximum number of notifications generated pr. frame is given by: #superblocks × #color layers × #quality layers. A 384 × 288 pixel frame and a superblock size of 8 × 6 macroblocks implies 3 × 3 superblocks, hence a maximum of 9 × 2 × 4 = 72 notifications/frame. 3.2 Description of Demonstration This technical demonstration will show how different video clients may subscribe to video data with fine grained selectivity. An experimental video client controller is shown in Figure 2, illustrating a subscription and some statistics obtained during execution. Figure 3 shows how e.g. four different video clients may request different parts of the video data (if unclear in the printed copy, please refer to the electronic version) - upper left: full quality and colors, lower left: luminance and lowest quality for some superblocks, upper right: luminance, chrominance, and both for different columns, lower right: luminance and lowest quality, except for a part in the middle having full quality and colors. The content-based networking is handled by Siena [1], extended with IP multicast support [4]. The demonstration will also show how the mapping from the “notification space” Figure 3: Four video clients with different interests. to IP multicast addresses may be changed during runtime. Our Java implementation is capable of encoding/decoding a 384 × 288 pixel video at 25 frames/sec. on a standard PC. 4. CONCLUSION AND FURTHER WORK Exploiting content-based networking for video streaming has a potential for offering each video receiver with fine grained selectivity along different quality dimensions, while providing efficient delivery. We currently investigate how to adapt to available resources by e.g. changing subscriptions. 5. REFERENCES [1] A. Carzaniga, D. S. Rosenblum, and A. L. Wolf. Design and Evaluation of a Wide-Area Event Notification Service. ACM Transactions on Computer Systems, 19(3):332–383, August 2001. [2] A. Carzaniga, M. J. Rutherford, and A. L. Wolf. A Routing Scheme for Content-Based Networking. In Proceedings of IEEE INFOCOM 2004, Hong Kong, China, March 2004. [3] V. S. W. Eide, F. Eliassen, O.-C. Granmo, and O. Lysne. Supporting Timeliness and Accuracy in Real-time Content-based Video Analysis. In Proceedings of the 11th ACM International Conference on Multimedia, ACM MM’03, Berkeley, California, USA, pages 21–32, November 2003. [4] V. S. W. Eide, F. Eliassen, O. Lysne, and O.-C. Granmo. Extending Content-based Publish/Subscribe Systems with Multicast Support. Technical Report 2003-03, Simula Research Laboratory, July 2003. [5] W. Li. Overview of Fine Granularity Scalability in MPEG-4 Video Standard. IEEE Transactions on Circuits and Systems for Video Technology, 11(3):301–317, March 2001. [6] J. Liu, B. Li, and Y.-Q. Zhang. Adaptive Video Multicast over the Internet. IEEE Multimedia, 10(1):22–33, Jan-Mar 2003. [7] S. McCanne, M. Vetterli, and V. Jacobson. Low-Complexity Video Coding for Receiver-Driven Layered Multicast. IEEE Journal of Selected Areas in Communications, 15(6):983–1001, August 1997.