Path Diversity for Enhanced Media Streaming John G. Apostolopoulos, Mitchell D. Trott Mobile and Media Systems Laboratory HP Laboratories Palo Alto HPL-2004-123 July 14, 2004* video streaming, path diversity, multipath streaming, multiple description coding Media streaming over best-effort packet networks such as the Internet is quite challenging because of the dynamic and unpredictable available bandwidth, loss rate, and delay. Recently, streaming over multiple paths to provide path diversity has emerged as an approach to help overcome these problems. This paper provides an overview of the benefits and use of path diversity for media streaming. The different approaches for media coding and streaming over multiple paths are examined, together with architectures for achieving path diversity between single or multiple senders and a single receiver. Important examples include using the distributed servers in a content delivery network to provide path diversity to a requesting client, using multiple 802.11 wireless access points to provide path diversity to a mobile client, and using relays to provide lowlatency media communication. The design, analysis, and operation of media streaming systems that use path diversity are considered, with emphasis on the accurate performance models needed to select the best paths or best servers. * Internal Accession Date Only Approved for External Publication Copyright IEEE. To be published in IEEE Communications Magazine, special issue on Proxy Support for Streaming on the Internet, August 2004. IEEE Communications Magazine, special issue on “Proxy Support for Streaming on the Internet”, August 2004. PATH DIVERSITY FOR ENHANCED MEDIA STREAMING John G. Apostolopoulos and Mitchell D. Trott Streaming Media Systems Group Hewlett-Packard Labs, Palo Alto, CA 94304 ABSTRACT Media streaming over best-effort packet networks such as the Internet is quite challenging because of the dynamic and unpredictable available bandwidth, loss rate, and delay. Recently, streaming over multiple paths to provide path diversity has emerged as an approach to help overcome these problems. This paper provides an overview of the benefits and use of path diversity for media streaming. The different approaches for media coding and streaming over multiple paths are examined, together with architectures for achieving path diversity between single or multiple senders and a single receiver. Important examples include using the distributed servers in a content delivery network to provide path diversity to a requesting client, using multiple 802.11 wireless access points to provide path diversity to a mobile client, and using relays to provide low-latency media communication. The design, analysis, and operation of media streaming systems that use path diversity are considered, with emphasis on the accurate performance models needed to select the best paths or best servers. 1. INTRODUCTION Path diversity is a transmission technique that sends data simultaneously through two or more paths in a packet-based network. The paths may originate from single [1, 2, 3, 4, 5, 6] or multiple sources [7, 8, 9]. The single-source case in a typical video streaming application is shown in Figure 1 [1]. A more complex multiple-source scenario is illustrated in Figure 2 [8]. Original Video Path # 1 MD #1 Relay 1 MD #1 MD Video Encoder MD #2 Path Selector Packet Receiver MD #2 MD Video Decoder Path # 2 Relay 2 MD Video Encoder and Transmitter Received Packets Packet Network and Relay Infrastructure Reconstructed Video MD Video Receiver and Decoder Fig. 1. Path diversity: media packets are sent over multiple paths in a packet network. In this case different media descriptions are explicitly sent over different paths via relays. C Server Server Server C CC C C C C C C Server Server Server CC C C C = Client Fig. 2. Path diversity in a content delivery network: multiple servers stream content to each client. A basic question: one green and one blue server should be selected to stream to the clients—which blue server should be selected? The closer one which shares a link with the green server, or the further blue server? The use of multiple paths through the transport network for streaming has been proposed to help overcome the loss [1] and delay [2] problems that afflict streaming media and lowlatency communication. In addition, it has long been known that multiple paths can improve fault tolerance and link recovery for data delivery, as well as provide larger aggregate bandwidth, load balancing, and faster bulk data downloads. Diversity techniques have been studied for many years for wireless communication, e.g., frequency, time, and spatial diversity. However, path diversity over packet networks has received limited attention until recently. The early work in this area, e.g. [10, 11], focuses on reliable data delivery through error correction coding or retransmission, and is generally performed in the context of multiple virtual circuits on connection-oriented systems such as ATM. A number of thorough experimental studies have demonstrated the great variability in the end-to-end performance observed over the Internet. This variability is analogous to the variability of wireless links, and motivates the application of wireless diversity techniques to wired and wireless Internet communication. Further motivation for the use of multiple paths is that the default (single) path between two nodes on a network is often not the best path. For example, the measurement study [12] comparing the paths between two hosts on the Internet found that “in 30-80% of the cases, there is an alternate path with significantly superior quality” to the default path, where quality is measured in terms of metrics such as round-trip-time, loss rate, and bandwidth. This paper outlines the benefits, implementation questions, and open problems associated with using path diversity for streaming media delivery. We begin in Section 2 by describing two basic components of the path diversity systems we consider: media streaming and media coding. In Section 3 we survey the benefits of path diversity in a streaming-media context. Many of these benefits accrue only for media streaming applications and have no direct analogy, for example, to benefits associated with classical wireless diversity. In Section 4 we describe various architectures that support path diversity, including source routing, overlay networks, and IEEE 802.11 wireless infrastructure. Lastly, Section 5 considers a variety of research problems in the design, analysis, and operation of path diversity systems. 2. BUILDING BLOCKS FOR MEDIA STREAMING This section describes the general problem of media streaming, focusing in particular on how it differs from transporting generic data. We then provide an overview of conventional single description, scalable, and multiple-description compression techniques, which are important ingredients in streaming methods that exploit multiple transport paths. 2.1. Media Streaming The problem of streaming media such as voice and video over best-effort packet networks is complicated by a number of factors. Unlike static content delivery or file download, streaming involves the simultaneous delivery and playback of media and is characterized by delay constraints on each transmitted packet. Packets that arrive after their decoding or display deadline are useless. These inevitable packet losses are not necessarily fatal; most media streams have some tolerance to packet loss, albeit limited by the use of temporally predictive compression. Delay constraints and tolerance to loss are primary factors that distinguish media streaming from ordinary data transport. If the delay constraints are loose relative to typical transport and decoding delays, for example more than a few seconds, then media can be delivered using mechanisms that resemble file download. Download is convenient for delivering pre-encoded objects of small size such as images or short audio clips. Larger objects, such as video clips, require long download times and significant storage at the receiver. A better approach for delivering these objects is streaming, which involves splitting the object into parts, transmitting the parts in succession, and decoding and playing back the parts as they are received. Streaming is the only option for live (meaning not prerecorded) media objects. Conversational or interactive applications have particularly tight delay constraints, typically 100 milliseconds or less. Meeting these constraints in the presence of packet losses, queuing delays, and network outages is quite challenging, and provides motivation for some of the path diversity techniques which follow. Note that conventional approaches for overcoming packet loss and network outage in data delivery, such as reliable transport via TCP, generally are not possible for streaming because the persistent retransmissions lead to excessive delay. Moreover, many applications (e.g., multicast or broadcast) lack a back channel or other means for retransmissions. 2.2. Media Coding: Single Description, Scalable, and Multiple Description Conventional single-description (SD) video coding algorithms, such as MPEG-1/2/4 and H.261/3/4, compress video into a single bitstream. In scalable (also called layered) coding, video is coded into multiple bitstreams, beginning with a base layer that provides low but usable quality, and one or more enhancement layers that improve quality. The scalable coding bitstreams are partially ordered, and different subsets can represent the video at different spatial, temporal, or amplitude resolutions and fidelities. Applications and networks that support prioritization can exploit scalable coding by assigning higher delivery priorities to coding layers that are more important. In best-effort networks like the Internet, however, all packets are equally likely to be lost or delayed. This fundamental mismatch—prioritized data on a non-prioritized network—makes scalable coding by itself difficult to exploit using the Internet. Multiple description (MD) coding is an alternative to scalable coding that produces two or more bitstreams, or descriptions, each of roughly equal importance. MD coding has two important properties. First, each description can be independently decoded to give a usable reproduction of the original signal. Second, the multiple descriptions contain complementary information so that the quality of the decoded signal improves with the number of descriptions received. Note that the first property contrasts with scalable coding, which has a base layer that is critically important and if lost renders the other bitstream(s) useless. MD coding enables a useful reproduction of the signal when any description is received. For example, a simple MD video coder can be achieved by splitting a video into even and odd frames and coding them separately. Repairable MD coding (also known as state recovery in MD coding) is an extension of conventional MD coding beneficial for temporally predictively coded media such as video [1]. Predictive coding causes errors in one frame, due for example to lost packets, to propagate to potentially many subsequent frames. In repairable MD coding the decoder stops error propagation in one description by repairing it using undamaged frames from the other. Such error-resilient decoding is effective so long as packets are not simultaneously lost for both descriptions — thus coupling nicely with path diversity. This comparatively recent decoder-side optimization is complementary to the ongoing efforts to improve the rate vs. quality tradeoff of MD encoders, which typically do not consider partial losses of both descriptions. The relative compression efficiencies of SD, scalable, and MD coding depend on the media type. For image and audio sources scalable coding can be as efficient as SD coding, and many new coding standards, e.g., JPEG-2000, are scalable. In addition, scalable image or audio coding may be combined with unequal error protection (UEP) to provide an efficient MD-like system: more redundancy is allocated to the high-priority data relative to the low-priority data, improving the probability that the high-priority data is correctly received. For video sources both scalable coding and MD coding are currently less efficient than SD coding, however they provide valuable properties for streaming. 3. BENEFITS OF PATH DIVERSITY Streaming over multiple paths can provide several types of benefits depending on how the paths are used. In this section we briefly describe some of these benefits, as itemized in Table 1. For simplicity we assume ideal path diversity where each path is independent with identical attributes. The case of realistic paths is examined in Section 5. Benefits of Path Diversity Improved (aggregate) BW Merging Load Balancing Splitting Reduced variability (losses) Average Reduced burst losses Subsampling Improved error resilience OR Reduced outages AND Reduced latency (queue diversity) Min Table 1. Benefits of path diversity and the associated mathematical operations that intuitively expresses why the benefit occurs. A straightforward benefit of multiple paths is increased bandwidth available by using all paths at once. A complementary benefit is load balancing, i.e., decreasing per-path bandwidth by splitting a stream across multiple paths. Another benefit of path diversity is reduced variability of packet losses, e.g., reduced excursions between periods of no loss and high loss that are common on the Internet. The end-to-end application sees the average network behavior across the paths, which generally has reduced variability. This reduced variability enables methods for combating losses, such as forward error correction (FEC), to become more effective [7, 13]. FEC adds specialized inter-packet redundancy that enables data recovery up to a loss threshold. The amount of redundancy can be adjusted dynamically to compensate for changes in the loss rate, but adaptation is problematic when the network changes quickly: the FEC is inevitably overdesigned (and therefore inefficient) or under-designed (and therefore ineffective). Combining FEC with long interleaving also helps combat loss variability, but the added delay makes interleaving unsatisfactory for media streaming. Path diversity may be viewed as a form of interleaving across paths rather than across time. Combined with FEC, path diversity provides benefits similar to time interleaving with smaller associated delay. Path diversity also reduces the frequency and length of burst losses, i.e., losses of consecutive packets. Distributing packets across multiple paths increases the inter-packet spacing on each path, and therefore for a network congestion event of a given duration fewer packets are lost. Reducing burst losses provides a number of benefits for media streaming. For example, for video it is easier to recover from multiple isolated losses than from an equal number of consecutive losses [1]. For two paths with equal average packet loss rates, sending even packets on one path and odd packets on the other has no effect on the end-to-end loss rate but does reduce burst losses. This provides 0.5–1.0 dB gain in video quality in certain SD-coded situations [5]. Improved error resilience is a powerful, synergistic benefit that accrues from combining path diversity with repairable MD coding. To better understand this combination, observe that repairable MD coding is useful without path diversity because it reduces error propagation. Conversely, path diversity is useful with non-repairable MD coding because the distortion remains manageable even if one description is lost. But both of these “partial” approaches have weaknesses: in the former case burst losses on the single path simultaneously damage frames in both descriptions and defeat the error-resilient decoder; in the latter, even isolated errors on the two paths ruin both descriptions. The combination of repairable MD coding and path diversity allows the system to survive multiple losses—even burst losses— on the two paths, so long as the losses are not simultaneous. Path diversity can dramatically decrease the probability of outage, where an outage is an event where communication along a network path is lost for a sizable length of time. A path diversity system experiences complete outage only when all paths are undergoing outages. A system employing MD video coding benefits from such outage protection because the media stream remains useful even if the traffic on one path is lost (e.g., 50% packet loss). Packets sent over independent paths are unlikely to suffer simultaneously from large packet delays. In heuristic terms, the probability of a bad delay event improves from to ¾ when the minimum of two path delays governs whether information is late. We term this effect queue diversity because network delays are often due to backlogged queues, and to emphasize the benefit of multiple parallel queues. Queue diversity offers little benefit for loss-intolerant data because the receiver must wait for all packets from all paths. In contrast, loss-tolerant delay-intolerant voice or video stream remain useful when only some packets arrive promptly. The affected stream may realize the minimum of two or more path delays (effectively chopping off the long tails in the end-to-end delay distribution), albeit at some loss in quality. Examples of such delay reduction include MD voice over IP (VoIP) [2] and SD video over 802.11 wireless networks [5]. 4. ARCHITECTURES FOR PATH DIVERSITY This section examines different architectures for media streaming with path diversity over packet networks. Specifically, we discuss: the different media coding approaches and how they can be coupled with path diversity; two approaches for path diversity from a single sender to a single receiver; the use of the distributed infrastructure of a CDN to stream from multiple senders to a single receiver; the use of multiple 802.11 access points for streaming to a wireless client; and the use of multiple paths in an ad-hoc wireless network. 4.1. SD versus Scalable versus MD coding? Effective media streaming with path diversity requires a careful co-design of the compression and the path diversity components. The coding approaches reviewed in Section 2.2 provide a number of tradeoffs, and there are many open research questions as to when each is preferable. In general, the answer depends crucially on the context, such as the specific media type, source coder, the required playback delay, the use of retransmissions or FEC, transmission over besteffort or QoS-enabled network, and whether the transmission is unicast or multicast. For example, while (prioritized) scalable coding is not a good match to the (unprioritized) best-effort Internet, the ability to perform prioritized retransmission or unequal error protection at the end hosts can provide a virtual end-toend channel that can better exploit the scalable coding properties. As a further example, the combination of MD coding and path diversity was first proposed for feedback-free video applications over lossy packet networks where either the delay of retransmission or FEC is not acceptable (as in real-time video communications) or where retransmissions are not possible (as in broadcast or multicast) [1]. 4.2. Single-Sender Path Diversity Path diversity can be achieved over a packet network by explicitly sending packets through different network paths. In certain circumstances it is possible to specify the set of nodes or “source route” for each packet to traverse. Path diversity can then be achieved by explicitly specifying different source routes for different subsets of packets. While IP source routing is theoretically straightforward, there are a number of problems that limit its use in the current Internet, though it may be useful within a private network. It has been argued that IPv6 may allow source routing to be adopted more widely. Another approach to explicitly send different streams over different paths is to send each stream to a different relay placed at a strategic node in the network, where each relay performs a simple forwarding operation [1, 13]. The relay infrastructure appears promising for today’s Internet, and corresponds to an application-specific overlay network on top of the conventional Internet. The proposed system routes traffic through semi-intelligent nodes at strategic locations, thereby providing a service of improved reliability while leveraging the infrastructure of the Internet. These paths should be selected to avoid joint bottleneck links, as discussed in Section 5. 4.3. Multiple-Sender Path Diversity Content delivery networks (CDNs) have been widely used to provide low latency, scalability, fault tolerance, and load balancing for the delivery of web content and more recently streaming media. CDNs improve end-user performance by caching popular content on edge servers located closer to users. This helps prevent server overload and improves scalability. Furthermore, delivering content from a nearby edge server reduces the request response time, the probability of packet loss, and total network resource usage. Another advantage of CDNs is their distributed infrastructure, which can be used to explicitly achieve path diversity between each client and multiple nearby edge servers, as in Figure 2 [8]. Furthermore, appropriately coupling MD coding with a CDN can provide improved reliability to packet losses, link outages, and server failures. This system is referred to as a Multiple Description Streaming Media Content Delivery Network or an MD-CDN for short. An MD-CDN operates in the following manner [8]. The media is coded into multiple complementary descriptions which are distributed across different servers in the CDN. When a client requests a stream, complementary descriptions are simultaneously sent from different nearby servers through different network paths. This architecture simultaneously reaps the benefits of path diversity and of CDNs. The multiple servers in a CDN can also provide path diversity with SD coding and FEC [7]. In this case, the Received Signal Strength −20 Power (dBm) content is replicated on multiple mirror servers and multiple servers stream disjoint sets of SD and FEC packets to the single client. As discussed earlier, the reduced variability of losses afforded by path diversity makes FEC more efficient. −40 AP1 AP2 −60 −80 0 5000 10000 15000 20000 25000 10000 15000 20000 25000 15000 20000 25000 Average Packet Loss Rate (5 sec window) 20 10 0 0 5000 10 Count Wireless networks are quite challenging for streaming since they generally offer time-varying and unpredictable behavior caused by multiple users, interference, propagation effects, and mobility. At the network level, these effects appear as variable delays, losses, and bandwidth. Wireless links, rather than the wired infrastructure, are often the bottlenecks. As mentioned in the introduction, various forms of diversity have been used for many years to overcome these problems, particularly in the cellular environment. Wireless LANs such as IEEE 802.11 are becoming widespread as they provide simple connectivity and data delivery. One approach to reliable streaming over 802.11 connections, in particular for low-latency or interactive communication, is to exploit the potential path diversity between each mobile client and multiple 802.11 access points (APs) in the infrastructure [5]. A mobile 802.11 wireless client is often in range of multiple APs, each offering a different relationship to the client with respect to distance, obstructions, multipath, signal strength, contention, available bandwidth, neighboring interferers, and potential hidden nodes. Figure 3 illustrates the variability seen by a mobile client in an 802.11 network with two access points. By using multiple paths simultaneously or by switching between multiple paths (site selection) as a function of channel characteristics, our results indicate that significant benefits may be achieved by using a wireless path diversity system compared to a conventional single access point system. These benefits may be achieved using a single client radio on a single channel [5]; there is no need to perform physical layer combining or multichannel operation. Path diversity is also beneficial in ad-hoc wireless networks, where the topology may change or nodes may come or go. Many ad-hoc routing protocols identify multiple paths between the sender and receiver, and the use of multiple paths can improve the reliability of the connection between the two wireless hosts. The effectiveness of path diversity over an ad-hoc wireless network for MD image communication is examined in [3]. Average PSNR (dB) 4.4. Path Diversity over Wireless Networks Percent 30 Number of Burst Losses (5 sec window) 5 0 0 5000 10000 Video Quality 35 30 Oracle AP1 AP2 25 20 0 10 20 30 40 50 60 70 80 90 Sequence Number Fig. 3. Performance statistics for path diversity between a mobile 802.11 wireless client and two APs in the distributed infrastructure [5]: received packet signal strength variation (top), average packet loss rate (second), and number of loss ¾ (third) as a function of packet events of burst length sequence number for 15-minute packet trace. Bottom plot illustrates video quality when using only AP1 (red) or only AP2 (green), and the upper bound on achievable performance by selecting the best AP for every packet (blue). in effectively designing and using path diversity in streaming media systems. 5.1. Joint and Disjoint Paths Multiple paths are not guaranteed in practice to be independent. A path may be expressed abstractly as a sequence of links connected through nodes. Two paths often share links and nodes. The benefits of path diversity do not depend on whether paths are completely disjoint, but rather on whether bottlenecks occur on shared or disjoint portions. Shared bottlenecks reduce the impact of path diversity, while disjoint bottlenecks do not. Identifying bottlenecks and avoiding them if possible is an important element in effective use of path diversity. Joint bottleneck detection is currently an active area of research, e.g., [14]. 5.2. How Many Paths to Use? 5. DESIGN, ANALYSIS, AND OPERATION OF MULTIPATH STREAMING SYSTEMS The prior sections discuss the potential benefits of path diversity for media streaming and highlight scenarios where path diversity arises. This section discusses issues that arise How do diversity benefits scale with the number of paths and when is it worthwhile to use more than one path? This complicated question depends on the specifics of the application, the path diversity benefits that one is trying to exploit, and the characteristics of the available paths. For example, for repairable MD video coding, the improved er- ror recovery arises with two paths, and while increasing the number of paths helps there are no further jumps in performance. End-to-end network characteristics improve in different ways with the number of paths. Total aggregated bandwidth (in principle) increases additively with the number of paths. Probability of outage decreases exponentially with the number of independent paths. Delay variability, measured in terms of standard deviation, decreases as ½ where is the number of independent paths. For media streaming in a real world scenario, we would expect that typically a small number of paths would provide a good balance between complexity and performance. 5.3. Streaming and Packet Scheduling across Asymmetric Paths Different paths may offer different bandwidths, loss rates, and delay characteristics. A path diversity system should compensate for and exploit these asymmetries. The first step is to estimate the characteristics of each path. Path measurement is an active area of research, and many techniques developed for single paths may be applied to the multiple path case, hence we do not cover this topic in further depth. When paths have different, potentially time-varying, available bandwidths, it is important to adapt the rate across paths. In the point-to-point case rate adaptation can be performed in a centralized manner. However in the multipointto-point case a distributed algorithm is generally required. The distributed rate allocation should not only perform the appropriate adaptation, but also for SD coding should ensure that the different senders send disjoint sets of packets (no duplication) to the receiver [7]. Paths with different packet loss rates or delays provide the opportunity to perform packet scheduling across the paths [9]. For example, more important packets may be sent over the path with the lower packet loss rate. Packets with tight delay constraints may be sent over the path with shorter delay. Furthermore, real-time video encoding can be adapted to react to the time-varying path characteristics and losses [4]. 5.4. Selecting the Best Paths or Best Servers As discussed above, the effectiveness of a pair of paths depends less on their lengths than on their shared vs. disjoint topology. Of still greater importance is whether bottlenecks occur on shared portions. Thus, it may be preferable to have longer paths or longer shared portions of paths if the resulting bottlenecks are not shared. This observation hints at the complexity of the important basic question: How to select the best paths to use? Determining the best paths is important for point-topoint multipath streaming, however its impact becomes even more apparent when streaming from multiple servers, as in the case of a CDN. The fundamental problems that arise when designing and operating a CDN are changed in important ways when using multipath streaming [8]. Three key CDN problems are: 1. Where to deploy the servers? 2. How to distribute the content? 3. How to select the best server for each client? In a conventional CDN, where each client receives a stream from a single server over a single path, the above problems are solved by minimizing some notion of distance between a client and a server. However, streaming from multiple servers to a single client, as in an SD- or MD-CDN, requires fundamentally different metrics [8]: minimizing distance from each client to multiple servers while maximizing path diversity. Note that minimizing distance to multiple servers and maximizing diversity usually conflict. Accurately evaluating these metrics is necessary for designing and operating a CDN that uses path diversity. In addition, the server selection problem must be solved for every client request. 5.4.1. Modeling Path Diversity Performance The above discussion highlights the importance of accurately modeling and predicting the performance of a path diversity system. An accurate model is needed for selecting the best subset of paths from a set of possible paths, selecting the best subset of servers from a set of possible servers, comparing path diversity scenarios, or simply evaluating the merits of a path diversity system relative to a conventional single path system. Determining an appropriate performance model depends on the benefits (reviewed in Section 3) one intends to capture and on the particular characteristics of the media and the network. In the following we examine the problem of accurately predicting SD and MD video quality over a lossy packet network as a function of path diversity and loss characteristics. Analytical models were proposed in [15, 8] and are briefly highlighted here; some attributes of these models may be useful in other scenarios. Our performance metric is application-level video quality, measured as mean-square error (MSE) distortion at the receiver. Different types of packet losses affect conventional SD and MD video differently. The model must therefore distinguish between isolated packet losses, burst losses of various lengths, and for MD whether the loss afflicts one or both descriptions at the same time. To account for losses on joint vs. disjoint links, each path is modeled as the concatenation of bursty single links (e.g., 2-state Gilbert model), where each link is separately identified as shared or disjoint. Modeling media streaming using path diversity is potentially quite complex, as the sender(s) and receiver may be connected through a wide range of different topologies. Sample topologies with one and two senders are illustrated in the top left and top right of Figure 4, respectively. It can be shown [15, 8], however, that the important end-to-end properties of a path diversity network are captured using the dramatically simplified three-subpath topologies shown in the bottom of Figure 4, where subpaths 1 and 2 are formed by the disjoint links along the first and second paths, respectively, and subpath 3 is formed by the joint links along both paths. To summarize, the loss process for two-path path diversity can be accurately modeled by three subpaths, where the associated burst loss behavior of each subpath is derived from the corresponding portion of the original path. Sender #1 Sender Receiver Sender Subpath 2 (disjoint) Subpath 3 (joint) Sender #1 Receiver 00 01 D12rec D1drop+D2noloss 10 11 D12drop Fig. 5. Combined MD performance model: the four states identify loss conditions, the 16 transition arcs correspond to different distortions (only 5 are labeled), and the transition probabilities are determined by the network loss model. Receiver Sender #2 Subpath 1 (disjoint) D1noloss+D2noloss D1 noloss+D2rec Sender #2 Subpath 1 (disjoint) Subpath 3 (joint) Receiver Subpath 2 (disjoint) Fig. 4. Modeling path diversity: Examples of various path diversity topologies (top), and simplified path diversity models which preserve the end-to-end characteristics important for accurately predicting video distortion (bottom). To form a complete application-level performance model, the packet loss model defined by the simplified topologies in Figure 4 must be coupled with a distortion model for SD and MD media streams. The result in the MD case is the finitestate model shown in Figure 5. The four states of the model represent at each point in time whether both descriptions are correctly received (state 00), one is correctly received and one is afflicted by loss (states 01 and 10), or both are simultaneously afflicted by loss (state 11). The state transition probabilities are derived from the path diversity loss model, while the distortions accumulated on each transition are derived from an MD distortion model (see [15, 8]). The combined model in Figure 5 may be used to compare SD and MD methods in a variety of scenarios. A basic and important comparison is examining conventional SD over a single path versus MD with two-path diversity. Detailed analysis and results are given in [15, 8], but to summarize for most video sequences, as we vary the fraction of losses on the joint and disjoint links (with, e.g., 5% endto-end average packet loss rate and average burst length of 1.25 packets) when the losses are on disjoint links then MD with path diversity is beneficial, however if the losses are on joint links then the path diversity gain vanishes and SD sometimes perform better. See [15, 8] for more details. Additional recent work includes [9] which investigates rate-distortion optimized packet transmission schedules across multiple paths, [6] where fast heuristics are presented for quickly performing path selection when a large number of candidate path pairs are available, while accounting for the loss and on-time arrival probability of each path, and [16] which provides a recent overview of MD video coding and its transport over multiple paths. 6. SUMMARY Media streaming with path diversity has gained significant interest in the last few years, as it provides valuable benefits for overcoming some of the challenges that afflict besteffort packet networks, including dynamic and unpredictable available bandwidth, delay, and loss rate. Studies have shown promise for both the single sender to single receiver case, and the multiple sender to single receiver case as in a streaming media CDN, as well as for both wired and wireless networks. Path diversity helps us take a step closer to feedbackfree video streaming, which could simplify a range of applications from low-latency communication to multicast or broadcast streaming. The combination of media streaming and path diversity provides significant promise, and we look forward to its continuing evolution and adoption. 7. REFERENCES [1] J.G. Apostolopoulos, “Reliable video communication over lossy packet networks using multiple state encoding and path diversity,” VCIP, pp. 392–409, January 2001. [2] Y.J. Liang, E.G. Steinbach, and B. Girod, “Real-time voice communication over the internet using packet path diversity,” Proc. ACM Multimedia, pp. 431–440, Sept/Oct 2001. [3] N. Gogate, D. Chung, S.S. Panwar, and Y. Wang, “Supporting image/video applications in a mobile multihop radio environment using route diversity and multiple description coding,” IEEE Trans. CSVT, pp. 777–792, Sept 2002. [4] Y. Liang, E. Setton, and B. Girod, “Channeladaptive video streaming using packet path diversity and rate-distortion optimized reference picture selection,” IEEE Fifth Workshop on Multimedia Signal Processing, pp. 420–423, Dec 2002. [5] A. Miu, J. Apostolopoulos, W. Tan, and M. Trott, “Low-latency wireless video over 802.11 networks using path diversity,” IEEE ICME, pp. 441–444, July 2003. [6] A. Begen, Y. Altunbasak, and O. Ergun, “Fast heuristics for multi-path selection for multiple description encoded video streaming,” IEEE ICME, pp. 517–520, July 2003. [7] T. Nguyen and A. Zakhor, “Distributed video streaming with forward error correction,” Packet Video Workshop, April 2002. [8] J.G. Apostolopoulos, T. Wong, W. Tan, and S.J. Wee, “On multiple description streaming with content delivery networks,” IEEE INFOCOM, pp. 1736–45, June 2002. [9] J. Chakareski and B. Girod, “Rate-distortion optimized packet scheduling and routing for media streaming with path diversity,” IEEE DCC, pp. 203– 212, April 2003. [10] N.F. Maxemchuk, Dispersity Routing in Store and Forward Networks, Ph.D. thesis, University of Pennsylvania, May 1975. [11] A. Banerjea, “Simulation study of the capacity effects of dispersity routing for fault-tolerant real-time channels,” Computer Communications Review (ACM SIGCOMM’96), vol. 26, no. 4, pp. 194–205, October 1996. [12] S. Savage, A. Collins, E. Hoffman, J. Snell, and T. Anderson, “The end-to-end effects of internet path selection,” ACM SIGCOMM, pp. 289–299, October 1999. [13] T. Nguyen and A. Zakhor, “Path diversity with forward error correction (pdf) system for packet switched networks,” IEEE INFOCOM, pp. 663–672, April 2003. [14] D. Rubenstein, J. Kurose, and D. Towsley, “Detecting shared congestion of flows via end-to-end measurement,” ACM SIGMETRICS, pp. 145–155, 2000. [15] J.G. Apostolopoulos, W. Tan, S.J. Wee, and G.W. Wornell, “Modeling path diversity for multiple description video communication,” ICASSP, pp. 2161–2164, May 2002. [16] Y. Wang, A. Reibman, and S. Lin, “Multiple description coding for video communications,” Submitted to Proceedings of the IEEE, 2004.