Scalable Compression and Transmission of Internet Multicast Video
Total Page:16
File Type:pdf, Size:1020Kb
Scalable Compression and Transmission of Internet Multicast Video Steven Ray McCanne Report No. UCB/CSD-96-928 December 16, 1996 Computer Science Division (EECS) University of California Berkeley, California 94720 Scalable Compression and Transmission of Internet Multicast Video by Steven Ray McCanne B.S. (University of California, Berkeley) 1990 A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science in the GRADUATE DIVISION of the UNIVERSITY of CALIFORNIA at BERKELEY Committee in charge: Professor Martin Vetterli, Chair Professor Domenico Ferrari Professor Jim Pitman 1996 Scalable Compression and Transmission of Internet Multicast Video Copyright 1996 by Steven Ray McCanne 1 Abstract Scalable Compression and Transmission of Internet Multicast Video by Steven Ray McCanne Doctor of Philosophy in Computer Science University of California at Berkeley Professor Martin Vetterli, Chair In just a few years the ªInternet Multicast Backboneº, or MBone, has risen from a small, research curios- ity to a large scale and widely used communications infrastructure. A driving force behind this growth was our development of multipoint audio, video, and shared whiteboard conferencing applications that are now used daily by the large and growing MBone community. Because these real-time media are transmitted at a uniform rate to all the receivers in the network, the source must either run below the bottleneck rate or over- load portions of the multicast distribution tree. In this dissertation, we propose a solution to this problem by moving the burden of rate-adaptation from the source to the receivers with a scheme we call Receiver-driven Layered Multicast, or RLM. In RLM, a source distributes a hierarchical signal by striping the constituent lay- ers across multiple multicast groups. Receivers then adjust their reception rate by simply joining and leaving multicast groups. But RLM solves only half of the problem. To distribute a multi-rate ¯ow to heterogeneous receivers using RLM, the underlying signal must be encoded in a hierarchical or layered format. To this end, we devel- oped and present herein a layered video compression algorithm which, when combined with RLM, provides a comprehensive solution for scalable multicast video transmission in heterogeneous networks. In addition to a layered representation, our coder has low-complexity (admitting an ef®cient software implementation) and high error resilience (admitting robust operation in loosely controlled environments like the Internet). Even with these constraints, our hybrid DCT/wavelet-based coder, which we call ªProgressive Video with Hybrid transformº or PVH, exhibits good compression performance Ð comparable to wavelet zerotree cod- ing (i.e., EZW) at low rates and near the performance of traditional DCT-based schemes at high rates. As well, it outperforms all (publicly available) Internet video codecs while achieving comparable run-time per- formance. Our RLM/PVH framework leverages two design methodologies from two related yet often seg- regated ®elds: joint source/channel coding (JSCC) from traditional communications theory and application level framing (ALF) from computer network design. In accordance with JSCC, we combine the design of the source-coding algorithm (i.e., PVH) with the channel-coding algorithm (i.e., RLM), while in accordance with ALF, we re¯ect application semantics (i.e., PVH) in the design of the network protocol (i.e., RLM). In this thesis, we posit that JSCC and ALF are two manifestations of the same underlying design principle. We explore the ALF/JSCC design space with a discussion of our ªIntra-H.261º video coder, which we developed speci®cally for MBone video transmission, and compare its performance to that of traditional designs based on independent source- and channel-coding. Finally, we bring all of the pieces of our design together into a comprehensive system architec- ture realized in a ¯exible software toolkit that underlies our widely used video application Ð the UCB/LBL 2 video conferencing tool vic. Our system architecture not only integrates RLM and PVH into an autonomous video application but also provides the functionality requisite to a complete multimedia communication sys- tem, including user-interface elements and companion applications like audio and shared whiteboard. In this framework, we craft ªmedia agentsº from a common multimedia toolkit and control and con®gure them over a software interprocess communication bus that we call the Coordination Bus. By composing an arbitrary arrangement of media agents over the Coordination Bus and complementing the arrangement with an ap- propriate user-interface, we can induce an arbitrary multimedia collaboration style. Unlike previous work on layered video compression and transmission, we have implemented RLM, PVH, and our coordination framework in a ªrealº application and are deploying a fully operational system on a very large scale over the MBone. iii To my wife Deana McCanne, who gives me reason, meaning, and wholeness. iv Contents List of Figures viii List of Tables x 1 Introduction 1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1.1 History and Motivation: The MBone : 2 : : : : : : : : : : : : : : : : : : : : : : : : : : : 1.2 The Problem: Network Heterogeneity : 7 : : : : : : : : : : : : : : : : : : : : 1.3 A Solution: Layered Compression and Transmission : 7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1.3.1 Layered Compression : 8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1.3.2 Layered Transmission : 10 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1.4 Contributions : 11 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1.5 Dissertation Overview : 13 2 Related Work 14 : : : : : : : : : : : : : : : : : : : : : : : : : 2.1 Packet Video Transmission: An Overview : 14 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.1.1 Circuit-switched Networks : 15 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.1.2 Packet-switched Networks : 16 : : : : : : : : : : : : : : : : : : : : : : : 2.1.3 Congestion Control for Packet Video : 17 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.1.4 Congestion Accommodation : 17 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.1.5 Integrated Services : 18 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.1.6 Encompassing Multicast : 19 : : : : : : : : : : : : : : : : : : : : : : 2.1.7 Network-assisted Bandwidth Adaptation : 21 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.1.8 Receiver-based Schemes : 23 : : : : : : : : : : : : : : : : : : : : : : : : : : 2.1.9 Summary of Packet Video Work : 25 : : : : : : : : : : : : : : : : : : : : : : : : 2.2 Layered Video Compression: An Overview : 25 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.2.1 Layered DCT : 25 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.2.2 Pyramid Coding : 27 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.2.3 Subband Image Coding : 29 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.2.4 Subband Video Coding : 34 : : : : : : : : : : : : : : : : : : : : : : : : : 2.2.5 Summary of Layered Video Work : 35 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.3 Internet Video: An Overview : 35 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.3.1 Xerox PARC Network Video : 35 : : : : : : : : : : : : : : : : : : : : : : : : : 2.3.2 INRIA Videoconferencing System : 36 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.3.3 CU-SeeMe : 37 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.3.4 Streaming Video : 37 v : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2.3.5 Digital Media Toolkits : 37 : : : : : : : : : : : : : : : : : : : : : : : : : 2.3.6 Summary of Internet Video Work : 38 3 The Network Model 39 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.1 The Internet Protocol : 40 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.2 IP Multicast : 40 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.2.1 Group Maintenance : 41 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.2.2 Multicast Scope : 42 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.3 Orthogonality of Routing : 43 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.4 Lightweight Sessions : 44 : : : : : : : : : : : : : : : : : : : : : : : : : 3.4.1 The Real-time Transport Protocol : 45 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.5 Multiple Multicast Groups : 46 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.6 Packet Scheduling : 47 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.6.1 Random Drop : 47 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.6.2 Priority Drop : 47 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.6.3 Random Early Detection : 48 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.6.4 Fairness : 48 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.7 Summary : 49 4 Joint Design across Network and Application 51 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4.1 The Separation Principle : 52 :