18
Multiple description coded video streaming in peer-to-peer networks Yuanyuan Xu a , Ce Zhu a,n , Wenjun Zeng b , Xue Jun Li a a School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore 639798, Singapore b Department of Computer Science, University of Missouri-Columbia, MO65211, USA article info Available online 16 February 2012 Keywords: Peer-to-peer networks Video streaming Multiple description coding Packet scheduling Knapsack problem Dynamic programming abstract It is known that in a peer-to-peer (P2P) network a peer node serves as both a receiver and a supplier, which enables uploading bandwidth of peer nodes to be utilized efficiently while relieving burden of the server node. This solves the scalability problem typically encountered in the traditional client–server model. However, frequent peer churn and varying bandwidth of peer nodes in P2P networks pose significant challenges for video streaming. These challenges can be addressed from both the P2P system design and the advanced video coding perspectives. In this paper, we first present a survey on the existing P2P video streaming systems that leverage the multiple description coding (MD coding or MDC) techniques, featured in providing strong error resilience for video delivery and supporting heterogeneity for peer nodes. Compared with layered coded video streaming, MD coded video streaming presents stronger robustness without requiring special provisions in P2P system design at a modest cost of compression efficiency, which is desirable in dynamic and error-prone P2P networks. In the MD coded video streaming, packet scheduling is critical to performance of mesh- based P2P systems. A new packet scheduling framework is formulated for receiver- driven MD coded video streaming, where a receiver collects peer nodes’ information and generates a transmission schedule for MDC packets. In the proposed framework, a rate-distortion optimized packet selection scheme is developed to minimize the expected distortion subject to limited downloading bandwidth. Accordingly a rate- distortion based prioritized peer selection scheme is employed to choose an appropriate peer node for each of the selected packets. Simulation results validate the effectiveness of the proposed scheduling scheme and the advantage of MDC over layered coding in a network with frequent peer churn. & 2012 Elsevier B.V. All rights reserved. 1. Introduction Recent advance of networking technology and rapid growth of the digital content industry make multimedia services, especially the video streaming services, increas- ingly popular among subscribers. Users download either professionally produced, distributed and syndicated video or user generated video. For example, users on video- sharing websites such as YouTube [1] can upload and share self-generated videos, view professional produced videos or uploaded videos from other users. Video traffic is expected to consume a dominant portion of network traffic in the near future. Many of these video streaming applications involve distributing video from a source server to a large popula- tion of interested clients. Due to the lack of widespread support of Internet protocol (IP) multicast [2], the basic Contents lists available at SciVerse ScienceDirect journal homepage: www.elsevier.com/locate/image Signal Processing: Image Communication 0923-5965/$ - see front matter & 2012 Elsevier B.V. All rights reserved. doi:10.1016/j.image.2012.02.005 n Corresponding author. Tel.: þ65 6790 6041. E-mail addresses: [email protected] (Y. Xu), [email protected] (C. Zhu), [email protected] (W. Zeng), [email protected] (X.J. Li). Signal Processing: Image Communication 27 (2012) 412–429

Multiple description coded video streaming in peer-to-peer networks

Embed Size (px)

Citation preview

Page 1: Multiple description coded video streaming in peer-to-peer networks

Contents lists available at SciVerse ScienceDirect

Signal Processing: Image Communication

Signal Processing: Image Communication 27 (2012) 412–429

0923-59

doi:10.1

n Corr

E-m

eczhu@

lixuejun

journal homepage: www.elsevier.com/locate/image

Multiple description coded video streaming inpeer-to-peer networks

Yuanyuan Xu a, Ce Zhu a,n, Wenjun Zeng b, Xue Jun Li a

a School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore 639798, Singaporeb Department of Computer Science, University of Missouri-Columbia, MO65211, USA

a r t i c l e i n f o

Available online 16 February 2012

Keywords:

Peer-to-peer networks

Video streaming

Multiple description coding

Packet scheduling

Knapsack problem

Dynamic programming

65/$ - see front matter & 2012 Elsevier B.V. A

016/j.image.2012.02.005

esponding author. Tel.: þ65 6790 6041.

ail addresses: [email protected] (Y. Xu),

ntu.edu.sg (C. Zhu), [email protected] (W

@ntu.edu.sg (X.J. Li).

a b s t r a c t

It is known that in a peer-to-peer (P2P) network a peer node serves as both a receiver

and a supplier, which enables uploading bandwidth of peer nodes to be utilized

efficiently while relieving burden of the server node. This solves the scalability problem

typically encountered in the traditional client–server model. However, frequent peer

churn and varying bandwidth of peer nodes in P2P networks pose significant challenges

for video streaming. These challenges can be addressed from both the P2P system

design and the advanced video coding perspectives. In this paper, we first present a

survey on the existing P2P video streaming systems that leverage the multiple

description coding (MD coding or MDC) techniques, featured in providing strong error

resilience for video delivery and supporting heterogeneity for peer nodes. Compared

with layered coded video streaming, MD coded video streaming presents stronger

robustness without requiring special provisions in P2P system design at a modest cost

of compression efficiency, which is desirable in dynamic and error-prone P2P networks.

In the MD coded video streaming, packet scheduling is critical to performance of mesh-

based P2P systems. A new packet scheduling framework is formulated for receiver-

driven MD coded video streaming, where a receiver collects peer nodes’ information

and generates a transmission schedule for MDC packets. In the proposed framework, a

rate-distortion optimized packet selection scheme is developed to minimize the

expected distortion subject to limited downloading bandwidth. Accordingly a rate-

distortion based prioritized peer selection scheme is employed to choose an appropriate

peer node for each of the selected packets. Simulation results validate the effectiveness

of the proposed scheduling scheme and the advantage of MDC over layered coding in a

network with frequent peer churn.

& 2012 Elsevier B.V. All rights reserved.

1. Introduction

Recent advance of networking technology and rapidgrowth of the digital content industry make multimediaservices, especially the video streaming services, increas-ingly popular among subscribers. Users download either

ll rights reserved.

. Zeng),

professionally produced, distributed and syndicated videoor user generated video. For example, users on video-sharing websites such as YouTube [1] can upload andshare self-generated videos, view professional producedvideos or uploaded videos from other users. Video trafficis expected to consume a dominant portion of networktraffic in the near future.

Many of these video streaming applications involvedistributing video from a source server to a large popula-tion of interested clients. Due to the lack of widespreadsupport of Internet protocol (IP) multicast [2], the basic

Page 2: Multiple description coded video streaming in peer-to-peer networks

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429 413

solution of video streaming is the client–server model.Each client sets up a connection with the server to receivea specific video. A server unicasts the video to individualclients, even if all these clients are requesting the samevideo. The client–server model works well with a reason-able number of users. However, during some specialevents, flash crowds easily overwhelm or even crash thevideo server, which results in a scalability problem [3].Several solutions have been proposed to solve the scal-ability problem, including purchasing additional band-width, more capable servers and using content deliverynetwork (CDN) [4]. In the CDN, copies of video contentare stored on a set of content delivery servers at theedge of a network. A client is directed to a nearbycontent delivery server instead of the video source server.However, there are more cost-effective approaches insolving the scalability problem, such as peer-to-peer(P2P) technology.

More recently, P2P technology is becoming a popularsolution for video streaming applications. Back in 2006,65–70% of total Internet traffic is P2P traffic. In P2Pnetworks, a client serves as a receiver downloadingpackets from the server or peer nodes, while at the sametime it plays the role of a supplier uploading downloadedpackets to other peer nodes. In such systems, the clientdownloads the entire content using streams transmittedby the server and multiple peers, instead of relying on adedicated server. In this way, uploading bandwidth ofpeer nodes in the network is efficiently utilized and theburden of server node is alleviated. Since receivingpeers are also potential senders for other peers, thesystem capacity grows as more peers join the network,which solves the scalability problem in a more cost-effective way.

P2P file sharing applications, e.g. Gnutella, BitTorrent[5] and eMule [6] were developed and successfullydeployed to download large video files in bulk. Sinceusers usually require or prefer fast response, P2P videostreaming systems are then developed to provide livestreaming services or video-on-demand services, whichare P2P live streaming systems and P2P video-on-demandsystems, e.g. PPLive [7] and PPstream [8]. After down-loading part of the content using P2P video streamingapplications, users are able to watch video and downloadthe remaining parts simultaneously. Interested readersmay find a survey on P2P video streaming systems in [3].

Although P2P technology provides a good solution forvideo streaming, some characteristics of P2P systems alsopose new technical challenges. Video streaming servicesare delay sensitive, which generally demand a large net-work bandwidth compared with voice or data traffic.However, peer nodes are dynamic, and they may leavethe network at any time even if they are suppliers forother nodes. In addition, different peer nodes may be ofheterogeneous types with varying resources. Some peernodes may not have sufficient access bandwidth to sup-port video streaming. To ensure good visual quality, P2Pvideo streaming systems have to be error resilient andsupportive to the dynamic and heterogeneous nature ofP2P environments. Thus mechanisms are needed to effi-ciently utilize and manage the resources of peer nodes.

Among error resilient coding techniques, multipledescription coding (MD coding or MDC) [9] is a promisingtechnique to combat transmission errors by generatingmultiple descriptions for a single source. Each descriptionis decodable, and reconstructed quality can be refined asthe number of received descriptions increases. Thus MDCoffers robustness to description/packet loss over unreli-able P2P networks. In this paper, an MDC packet schedul-ing scheme is proposed for a receiver-driven pull-basedP2P video streaming system. The proposed MDC packetscheduling generates a schedule that controls which MDCpackets from which peer nodes to be downloaded. Firstly,a portion of MDC packets are selected to be included inthe schedule for each client, subject to its availabledownloading bandwidth. The packet selection algorithmaims to minimize a cost function of expected distortiondue to packet losses. Then a peer node is determined foreach selected packet in the schedule, by taking intoaccount varying uploading bandwidth, data availabilityand heterogeneous path conditions of peer nodes.

In this study, we can summarize our contributions asfollows: (i) a survey is presented for video streamingsystems in P2P networks that leverage the MDC, while acomparison and experimental evaluation are made on MDcoded P2P video streaming systems against layered codedP2P video streaming systems; (ii) an MDC packet sche-duling framework is proposed for receiver-driven pull-based P2P video streaming system, which includes a rate-distortion optimized packet selection scheme and a rate-distortion based prioritized peer node selection scheme.

The remainder of this paper is organized as follows.We first describe the challenging issues in P2P videostreaming and discuss the solutions from the P2P systemdesign perspective in Section 2. Then a survey is providedfor P2P video streaming to address the challenges fromthe angle of video coding in Section 3. We focus on P2Psystems deploying MDC, and compare MD coded P2Pvideo streaming systems against layered coded P2P videostreaming systems. In Section 4, a new packet schedulingscheme is presented for MD coded video streaming in P2Pnetworks. Simulation results of the proposed MDC sche-duling scheme and evaluation comparison of MDC andlayered coding are provided in Section 5. Finally, Section 6concludes the paper.

2. Video streaming in P2P networks

In this section, the advantages and challenging issuesof P2P video streaming are further explored. A fewexisting solutions that address the challenges from theviewpoint of P2P system design are described.

P2P streaming systems generally fall into one of thetwo categories, i.e., tree-based systems and mesh-basedsystems as shown in Fig. 1, respectively. The tree-basedP2P systems use push-based content delivery over one ormultiple multicast trees, where a parent node pushespackets to its children nodes. The construction and themaintenance of multicast trees have a dominant impacton the performance of tree-based P2P systems. Due to thelack of widespread support for IP multicasting, the sourceserver and all the receivers usually form a logical overlay

Page 3: Multiple description coded video streaming in peer-to-peer networks

Streamingmediaserver

Peer node 1 Peer

node 2

Peer node 4

Peernode 3

Peernode 6

Peer node 7

Peernode 5

Peernode 8

Streamingmediaserver

Peer node 1 Peer

node 2

Peer node 4

Peernode 3

Peernode 6

Peer node 7

Peernode 5

Peernode 8

Fig. 1. (a) Tree-based and (b) mesh-based P2P streaming systems.

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429414

network at the application layer. On the contrary, themesh-based P2P systems follow the approach of P2P filedistribution, and adopt swarming content delivery over aself-organized and randomly connected mesh. Mesh-basedapproach can be used in both bidirectional and unidirec-tional delivery fashion, depending on whether peers formparent–child relationships. The unidirectional mesh-basedP2P system uses pull-based streaming policy, where aclient pulls packets from its supplier nodes. The meshoverlay structure, packet scheduling at peer nodes andoverlay management are the key components that affectthe performance of pull-based streaming systems [2].

2.1. Advantages of P2P video streaming

The advantages of P2P video streaming systems overthe traditional client–server systems are summarized asfollows.

More cost-effective self-scaling: The resources of indi-vidual peer nodes such as storage, uploading band-width, computational capability are efficiently utilizedin the P2P systems. In this way, the burden of the serveris alleviated, thus the server is able to handle moreclients’ requests without demanding more resources,like purchasing new servers or additional bandwidth. � Higher data rate: Video streaming generally demands

a large amount of content delivered in a timelymanner. A peer node is able to receive video packetsfrom the server and multiple peer nodes instead ofrelying on the server alone, making video streamingservices with high data rates possible.

� Alleviation of capacity bottleneck: As video streaming

services can be provided by other peer nodes, it is no

longer restricted by the bottleneck link on the pathfrom the server to the peer node.

2.2. Challenging issues in P2P video streaming

Although P2P technology provides a favorable solutionfor video streaming, some inherent characteristics of P2Psystems pose technical challenges as well, which can besummarized as follows:

Error resilience: Peer nodes distributing video contentsin P2P networks are dynamic. Peer node arrivals anddepartures are frequent during a video streamingsession, which may cause unreliable transmission.Furthermore, advanced video compression techniquesremove data redundancy, and thus introduce highdependency among the resulting processed data. As aconsequence, an error resilient solution becomes cri-tical for video streaming in P2P networks. � Heterogeneity support: Individual and heterogeneous

peer nodes have greatly varying downloading anduploading bandwidth. Some peer nodes have limiteddownloading bandwidth that only enables download-ing of a portion of video packets, while other peernodes have sufficient access bandwidth and desire forvideo streaming of high quality. Video streamingservice of a receiver peer node with sufficient down-loading bandwidth may be constrained by the limitedand varying uploading bandwidth and data availabilityof its supplier peer nodes as well. Therefore, a flexiblevideo streaming solution that accommodates the het-erogeneity of peer nodes is important in P2P networks.

� Incentives for participating peers: As observed in the

empirical study of existing P2P file sharing systems

Page 4: Multiple description coded video streaming in peer-to-peer networks

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429 415

[10], peer nodes are unwilling to contribute resources,which results in the well-known free-riding problem.For example, some nodes leave the network immedi-ately after downloading and seldom contribute theiruploading bandwidth to other peer nodes. The perfor-mance of P2P systems relying on resource contributionof each peer node is largely affected by the free-ridingproblem, which necessitates incentive mechanisms inthe P2P video streaming systems to eliminate ormitigate such a problem.

In the following, we present a few existing solutionsaddressing these issues from the P2P system design pointof view.

To provide error resilient transmission, multipathtransmission can be utilized to provide graceful perfor-mance degradation in unreliable P2P networks. For tree-based P2P streaming systems, multiple multicast treescan be used to provide multiple paths for video streaming.SplitStream system [11] splits the transmission contentinto multiple parts, and then multicasts each part using aseparate tree. By using multiple multicast trees, resilienceto node failure or departure is enhanced. For mesh-basedP2P streaming systems, each peer node can maintainrelationships with multiple supplier peer nodes. Increas-ing the number of supplier nodes enhances path diversityand resilience to peer churn [12]. However, even usingmultiple transmission paths, packet losses still occurduring the period between node failure and systemrecovery. Proper retransmission schemes can be designedto request retransmission of lost packets after loss detec-tions [13]. The trade-off between resilience and overheadin both the tree-based systems and mesh-based systemsis discussed in [12].

Varying uploading bandwidth of supplier nodes can beutilized through proper P2P system design. For tree-basedP2P system, the performance is limited by its centralserver and its bottleneck link on the path from the server.To efficiently utilize peer nodes’ varying uploading band-width, the number of sub-trees in which a peer node actsas an interior forwarding node can be set to be propor-tional to its uploading bandwidth [3]. For mesh-basedsystems, proper packet scheduling algorithms can bedesigned to perform peer node selection [14]. However,supporting the varying downloading bandwidth of peernodes and adapting video quality accordingly involveadvanced video coding techniques, which will be elabo-rated later in Section 3.

Several mechanisms have been proposed in the litera-ture to combat the free-riding problem. The prTorrentprotocol [15] addresses the incentive problem by unifyinga Piece Rarity factor with the BitTorrent UnchokingAlgorithm, i.e., peer selection for unchoking not onlydepends on the uploading bandwidth of the candidatepeers, but also on how valuable the pieces they haveuploaded are. Chu et al. [16] argues that the widelyadopted Bit-for-Bit model in P2P file sharing is notapplicable for P2P streaming, because the resource-poorpeers have asymmetrical bandwidth capacity with lowuploading bandwidth and high downloading bandwidth.In their work, a taxation model is proposed for multicast

streaming, where resource-rich peers are enforced tocontribute more bandwidth to the system whileresource-poor peers are subsidized. In [17], a servicedifferentiated peer selection mechanism is proposed forP2P media streaming. This incentive mechanism awardsthe contributors with flexibility and more choices in peerselection, while the free-riders are given limited options.These approaches in [16,17] require a central manage-ment authority, which adds an additional load to thesystem. There are other approaches that either let peernodes keep each other informed of the behaviors of free-riders, or periodically reshuffle a multicast tree [18].

The solutions from the P2P system design perspectivedemonstrate the feasibility of P2P streaming. However, toachieve better visual quality, P2P system design and videocoding techniques ought to be jointly considered. InSection 3, we provide a survey of P2P video streamingtechniques that leverage advanced video coding techni-ques to address the challenges.

3. Advanced video coding techniques for P2P videostreaming

Advanced video coding techniques can help in solvingthe challenging problems of P2P video streaming, whichcan be tailored to both the characteristics of video contentand P2P systems to achieve better visual quality. Forinstance, the unbalanced load and vulnerability problemfor tree-based P2P streaming systems can also be handledby leveraging MDC (CoopNet [2]) or layered coding (PALS[19]), which will be elaborated in the following subsec-tions. However, despite extensive research on network-adaptive video coding and streaming for client–serversystems, network-adaptive approaches for P2P videostreaming systems are immature [20].

In this section, we focus on MD coded video streamingschemes for P2P networks, and provide a survey of MDcoded P2P systems. Then layered coded P2P video stream-ing schemes are briefly discussed. A comparison of thesetwo schemes is presented at the end of this section.

3.1. MD coded video streaming in P2P networks

MD [9] coded video streaming generates differentencoded versions for the same video source. Each versionis referred to as a description and transmitted separatelyover unreliable networks. Each description can provide adegraded version of the video source independently,while a finer reconstruction quality can be obtained withincreasing number of descriptions received. Generally thedecoding of part of descriptions is known as side decodingassociated with side distortion, while the decoding ofall the descriptions is called central decoding with thesmallest central distortion.

Various methods have been developed to producemultiple descriptions, which can be classified into pre-processing-based MDC, encoding-based MDC and post-processing-based MDC, depending on which stage theone-to-multiple mapping occurs at [21]. In the preproces-sing-based MDC, the original source is split into multiplesubsources before encoding, and then subsources are

Page 5: Multiple description coded video streaming in peer-to-peer networks

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429416

encoded separately to generate multiple descriptions, e.g.subsampling based MDC in the temporal and spatialdomains [22–24]. For encoding-based MDC, the one-to-multiple mapping is performed by dedicated codingtechniques such as MD scalar quantization [25–28], MDlattice vector quantization [29–31] and MD correlatingtransform [32]. The postprocessing-based MDC realizesthe one-to-multiple mapping in the compression domainby transforming an encoded bitstream into multiplestreams such as FEC-based MDC [33,34].

3.1.1. Error resilience

One of the key challenges in P2P video streaming isto make content distribution resilient to peer transience.A natural approach to this problem is to introduceredundancy by transmitting redundant video over multi-ple paths in the networks. SplitStream system [11] stripsdata across multiple multicast trees to tolerate faults.Another tree-based P2P system CoopNet in [2] firstly usesMDC to introduce redundancy in the transmitted videocontent and strips them over multiple distribution treeslike that in the SplitStream system [11].

Constructing and maintaining an efficient distributiontree among the overlay nodes is a key issue in tree-basedP2P systems. In [2], the video streaming server, which isthe root of the tree, collects the information of all thenodes for tree construction and maintenance. Such acentralized algorithm is efficient, but relies on a powerfuland dedicated root node. Multiple multicast trees areconstructed by spanning interested peers. As the peernodes and their last-hop links are likely to be the causesof interruption, CoopNet focuses on building short anddiverse trees to achieve the objective of resilience. Eachpeer is generally made an interior forwarding node in afew trees and a leaf node in the rest of the trees.

...GOP 1

Videoframes

...GOP 2

...Scalablebitstream

...

FEC ...

FEC FEC ...

FEC FEC ...

0 R1 R2 R3 RN

DND3D2D1

MDCdescriptions

Scalable video coding

FEC protectionaccording to data

unit priority

FEC

Description 1

Description 2

Description 3

Description N

4

M

Fig. 2. MD coded P2P video streaming system CoopNet. (a) FEC bas

The CoopNet MDC system is shown in Fig. 2. Asindicated in Fig. 2(a), the video frames to be distributedare partitioned into groups of pictures (GOPs). Each GOPwill then be independently encoded, error protected andpacketized into N descriptions. For each GOP, a scalablebitstream is produced and rate-distortion information ofthis bitstream is collected. The expected distortion of aGOP,

PNn ¼ 1 DðRnÞpðnÞ is minimized producing the rate

points R1,R2, . . . ,RN for optimal packetization, where theprobability of receiving n out of N packets p(n) can becomputed based on the feedback received from clients.Using these optimal rate points R1,R2, . . . ,RN , forwarderror correction codes (FEC) are added to protect thesedata according to their priorities shown in Fig. 2(a)producing N equally important descriptions.

These MDC descriptions are stripped across multiplemulticast trees spanning the interested peers shown inFig. 2(b). The number of distribution trees can be equal toor smaller than the number of descriptions. Each peerreceives substreams over a diverse set of paths. In case offailures of some nodes, it is highly likely that normal peernodes will continue to receive majority of the descriptionsand hence be able to reconstruct a video of reasonablequality.

Similar to CoopNet, many other researchers advocatethe use of transmitting MD coded video over multipleapplication-layer multicast trees [20,35,36]. As a peernode in the mesh-based systems maintains relationshipswith multiple dynamic supplier peer nodes, delivery ofMD coded video from multiple peers in mesh-basedsystems [37,38] enhances its resilience to error as well.

3.1.2. Heterogeneity support

Another key challenge in P2P multicast is to accom-modate the heterogeneity of peer nodes.

1

2 3

65

S

1

2

3

65

4

1

2

3

6

5

4

ulticasttree 1

Multicasttree 2

Multicasttree n

...

...

...

Streaming media server

ed MDC video coding. (b) Transmission across multiple trees.

Page 6: Multiple description coded video streaming in peer-to-peer networks

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429 417

In [37], MDC is incorporated to encode video sequencein a P2P Internet Protocol television (IPTV) system. Oddframes and even frames of a video sequence together withtheir spatially down-sampled versions are coded sepa-rately, producing four descriptions. Peer nodes canrequest either one or multiple of these four descriptionsaccording to their capabilities. This unbalanced MDCoffers greater flexibility for P2P video streaming withvarying bandwidth.

A more flexible MDC (F-MDC) framework is proposedin [39] to address the varying bandwidth problem in P2Pnetworks, which can adjust the F-MDC design parametersincluding the number of base layer descriptions, thenumber of enhancement layer descriptions, the encodingrate and the redundancy level of each description on thefly. In their work, motion compensated temporal filtering(MCTF) is performed along the temporal direction toefficiently de-correlate frames within a GOP. Each code-block is coded and extracted at two truncation pointscorresponding to a high rate and a low rate, respectively.NB base descriptions are generated as different combina-tions of these two different quality versions of code-blocks starting from the most significant bitplanes. NE

enhancement descriptions are generated using theremaining bitplanes. This video codec is subsequentlydeployed in a receiver centric P2P network. The receiverperforms rate-distortion optimization to determine theabove-mentioned F-MDC design parameters for the cur-rent GOP, using packet loss rates and estimated band-width obtained during streaming of the previous GOP.

Heterogeneity in bandwidth can be both static due todifference in link speed, and dynamic with time varyingtraffic congestion. In [40], the problem of supportingbandwidth heterogeneity, dynamic bandwidth and con-gestion control is considered for stripping layered MDCdescriptions across multiple multicast trees. Loss rateinformation from a diverse set of network paths can beused to infer the likely location of congestion and whetherthe congestion is due to uplink or downlink traffic. Trafficwill be shed in case of congestion, and will be added if nocongestion occurs.

Peer nodes differ not only in uploading and down-loading bandwidth, but also in their channel conditions.In [41], a scalable FEC-based MDC packetization scheme isproposed to accommodate heterogeneous users withdifferent channel conditions in overlay video streaming.A data unit called coded unit is introduced betweenunprocessed source symbols and packets for transmis-sion. An intermediate peer node unpacks its receivedbitstream to coded units, and repacks coded units accord-ing to estimated network condition of its children nodes.With this repacketization, the intermediate node caneasily reorganize the received bitstream for its childrenpeer nodes so as to achieve optimal performance for eachclient based on the channel conditions.

3.1.3. Incentives

MDC can be utilized to address the incentive problemfor peers’ contribution to the whole P2P network as well.In [38], MDC provides incentives for redistribution in adata-driven P2P live streaming network. It is based on the

principle that peers contributing more uplink resourcesare likely to receive more descriptions and consequentlyachieve better video quality.

The Orchard algorithm in [18] deals with the free-riding problem and frequent peer churn by creating adynamic spanning tree for each description. It allowspeers strike deals to exchange and redirect descriptions,where each deal ensures that a peer does not forwardmore than it receives. The Orchard algorithm is decen-tralized and does not require any central authoritycomponent to implement video multicasting withoutfree-riding.

3.2. Layered coded P2P video streaming

Besides MDC, some interesting works about layeredcoding have been reported for P2P video streaming[19,42–44]. Layered video coding, also known as scalablevideo coding (SVC) [45], generates a base layer andmultiple enhancement layers for a raw video sequence.Base layer is able to provide a coarse level of visual qualityand can be decoded independently, while multipleenhancement layers refine the base-layer visual qualityand are useless alone. Layered coded P2P video streamingsystems are mainly designed to support heterogeneity ofpeer nodes.

3.2.1. Heterogeneity support

The streaming system in [44] uses SVC in a P2Penvironment. Theoretical analysis is conducted to quan-tify the performance of SVC and single layer coding in anerror-free P2P video streaming. In case of networks with aheterogeneous bandwidth distribution, SVC allows a fairdelivery of video to the peers corresponding to theiraccess bandwidth. Simulation results show that SVC out-performs single layer coding with a better adaptation tovarying bandwidth of peer nodes.

The ordering of prioritized layers in layered codedvideo streaming requires complicated coordinationamong peers. A receiver-driven P2P adaptive layeredstreaming (PALS) is presented in [19]. In PALS, a receiverorchestrates adaptive delivery of stored layered codedstreams from multiple sender peers. By periodicallymonitoring delivery condition of requested packets, activ-ity of peer nodes, and available throughput of peer nodes,the PALS then determines the target overall quality,specifically the number of layers, distribution of totalthroughput among layers, allocation of packets amongsender peers.

The bandwidth and data availability of each suppliernode are constrained and heterogeneous, which furtherlimits the data availability of its children nodes. In [43],the authors use SVC and cache-and-relay to address theproblems of asynchrony of user requests, heterogeneity ofboth peer network bandwidth and data availability.The problem of maximizing the system benefit (streamingquality) subject to bandwidth constraint is formulated,where algorithmic solutions are given under certainconditions.

Page 7: Multiple description coded video streaming in peer-to-peer networks

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429418

3.3. Comparison of MD coded against layered coded video

streaming

Both MDC and SVC can support heterogeneity in theP2P video streaming. For layered coded video streaming,different peer nodes with varying downloading band-width can request different numbers of enhancementlayers accordingly, thus different qualities can beobtained according to peers’ capability. For MD codedvideo streaming, a simple way to accommodate varyingdownloading bandwidth is to change the number ofdownloading descriptions according to the bandwidthconstraint. More sophisticated and flexible rate-adapta-tion MDC approaches can also be found in the literature[37,39–41], as briefed in Section 3.1.

The layered coded bitstream can be decoded only if thebase layer packets are correctly received. When theenhancement layer losses occur, a degraded version ofthe video can still be provided as long as the base layerpackets are received correctly. In this sense, SVC provideslimited error resilience for the enhancement layers. How-ever, the MDC descriptions are all of equal importance,and any subset of them can be used to reconstruct a videowhose quality is commensurate with the size of thesubset. Compared with SVC, MDC exhibits stronger errorresilience in P2P networks with dynamic peer activity.

To ensure successful transmission of the base layerpackets, SVC with transport prioritization is a popular andeffective approach for video transmission over error-prone networks. A major limitation of such an approachis that a fundamental mismatch exists between theordering of prioritized layers and the lack of widespreadsupport for differentiated treatment of packets in currentnetworks. Another approach is to add unequal errorprotection according to the importance of layers in theSVC, which turns out to be equivalent or similar to theFEC-based layered MDC [2]. Compared with the originalSVC bitstream, FEC-based layered MDC achieves strongererror resilience at a modest price of compression effi-ciency. SVC can also be combined with a prioritizedretransmission scheme [20]. Retransmission of the baselayer increases the system complexity. Compared withSVC, MDC descriptions generally do not need any retrans-mission, which simplifies the P2P system design.

In summary, if a P2P network is relatively static andwith a low loss rate, SVC is a good option. On the contrary,if the network is dynamic with frequent peer churnand error-prone, MDC is a better choice. A comparisonbetween layered coded video streaming against MD codedvideo streaming is summarized in Table 1.

Table 1Comparison of layered coded video streaming against MD coded video stream

Layered coded video str

Heterogeneity Supported

Decodability Inferior (base layer requ

Error resilience Weak

System complexity Relatively high

Compression efficiency Relatively high

Applicable/desirable P2P networks Static, stable, low loss r

4. MDC packet scheduling for P2P video streaming

As aforementioned, MD coded video streaming offers agood alternative for robust video streaming over unreli-able P2P networks. However, variations of downloadingbandwidth of receiver nodes and uploading bandwidth ofsupplier peer nodes impose additional challenges. Speci-fically, a receiver peer with limited downloading band-width may only enable the downloading of a portion ofthe transmitted packets. Moreover, as the uploadingbandwidth of a single supplier peer node is generallyinsufficient to support delivery of all requested packets tothe receiver node, accordingly the receiver peer hasto obtain some video packets from other peer nodes.Consequently, mechanisms are needed to efficiently man-age and coordinate limited resources in the dynamic andunreliable P2P environments.

In this section, we consider a receiver-driven pull-based (unidirectional mesh-based) P2P system for MDcoded video streaming from multiple peer nodes to onereceiver. A packet scheduling approach that is the keycomponent in pull-based P2P systems is investigated. Theproposed MDC packet scheduling scheme attempts tominimize the reconstructed distortion subject to con-straints of downloading bandwidth of a receiver node aswell as uploading bandwidth of its supplier peer nodes.Data availability and heterogeneous path conditions ofpeer nodes are also taken into account in the design. Inthe following, we will present the proposed MDC packetscheduling scheme comprising two components, whichare packet selection and node selection.

4.1. Problem formulation

Packet scheduling in P2P systems plays the role ofgenerating a schedule for fetching the expected packetsfrom its supplier peer nodes, based on the informationcollected from these nodes. Two functions are required inpacket scheduling, namely, packet selection and peernode selection. In a homogenous and static environment,a simple round-robin scheduler can work well. In [46],packets are selected randomly or based on the rareststrategy, while supplier peer nodes can be chosen eitherrandomly or based on the fraction of available uploadingbandwidth or the fraction of used uploading bandwidth.In a heterogeneous and dynamic environment, a moresophisticated scheduler is required [47]. Specifically, apacket scheduler needs to take into account the playbackdeadline, varying uploading bandwidth, data availabilityat peer nodes and heterogeneous path conditions.

ing in P2P networks.

eaming MD coded video streaming

Supported

ired) Superior (any description decodable)

Strong

Relatively low

Relatively low

ates Dynamic, frequent peer churns, error-prone

Page 8: Multiple description coded video streaming in peer-to-peer networks

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429 419

We consider the case of two balanced descriptions ofequal importance generated at the server node. The sub-bitstream of each frame in a description constitutes apacket, and thus each frame has two MDC packets.Nevertheless, the developed scheduling scheme can beeasily extended to the case of two or more MDC packetsfor other units (video slice, GOP, etc.). Note that thescheduling scheme makes use of the rate-distortioninformation of the MD coded video, but does not affector interact with the encoding procedure. The proposedscheduling scheme aims to minimize the expected dis-tortion of reconstructed video sequence at a receiver nodesubject to its limited downloading bandwidth, estimatedpath loss rates, data availability of its supplier peer nodesand uploading bandwidth of supplier peers.

This MDC scheduling scheme is invoked periodically asshown in Fig. 3 to generate a schedule for packets of N

frames within the window of T seconds. The number offrames N can be calculated as N¼ T � F, where F is theframe rate of the played video. It can be seen that thewindow slides every T seconds.

If a peer node requests two MDC packets of the ithvideo frame from its supplier peers, the expected distor-tion of frame i becomes

Di ¼ ð1�pi,1Þð1�pi,2Þdi,0þpi,1ð1�pi,2Þdi,1

þð1�pi,1Þpi,2di,1þpi,1pi,2di,2

¼ di,0þ½pi,1ð1�pi,2Þþð1�pi,1Þpi,2�ðdi,1�di,0Þ

þpi,1pi,2ðdi,2�di,0Þ ð1Þ

where di,j is the distortion of reconstructed frame i with atotal of j missing MDC packets (di,0odi,1odi,2), and pi,k isloss probability for packet k of frame i. Note that if apacket arrives too late for decoding and playing, it isuseless and considered to be lost. We take the factor of

o

o

X

X

Buffered MDC packet

X Missed MDC packet

Descriptionindex Playout

time

1

2

X

X

Descriptionindex Playout

time

1

2

T

o

I

Fig. 3. Scheduling scheme is invoked periodically at the receiver node. (a) Sche

invoked for the (nþ1)th time.

overdue packets into account while measuring packet lossprobability of a selected path. It is noted that di,0,di,1,di,2

are fixed and independent of scheduling. By skipping thefirst term di,0 which is constant, it is equivalent tominimizing

½pi,1ð1�pi,2Þþð1�pi,1Þpi,2�ðdi,1�di,0Þþpi,1pi,2ðdi,2�di,0Þ ð2Þ

In case of losing one or two MDC packets, the decodingerror of frame i propagates to the following frames thatare encoded based on the direct or indirect predictionfrom frame i. As in [48–50], additive distortion model isused to calculate the total distortion. Considering theimpact of packet loss on frame i and its following frames,the distortion caused by the loss of j MDC packets offrame i can be evaluated as follows:

Di,j ¼ di,j�di,0þdpi,j, j 2 f1;2g ð3Þ

where dpi,j is propagation distortion due to the loss of j

MDC packets of frame i. Minimizing the expected distor-tion of N frames caused by the losses is equivalent tominimizing

Dloss ¼XN

i ¼ 1

Dlossi

¼XN

i ¼ 1

f½pi,1ð1�pi,2Þþð1�pi,1Þpi,2�Di,1þpi,1pi,2Di,2g ð4Þ

For packet scheduling, we use a binary variable xji,k to

indicate scheduling strategy of packet k of frame i,

xji,k ¼

1 requested from supplier peer j

0 not requested from supplier peer j

(

In this work, the sub-bitstream of each frame in one of thetwo descriptions constitutes a packet. Therefore, each

time

o o

o o

I I I I

I I I I

Scheduling window

time

X o o o I

o o o I

T

Scheduling window

T

MDC packet being scheduled

MDC packet to be scheduled

duling scheme is invoked for the nth time and (b) Scheduling scheme is

Page 9: Multiple description coded video streaming in peer-to-peer networks

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429420

frame has two MDC packets, and k can take the value ofeither 1 or 2. Each packet is either skipped or to bedownloaded from just one of M supplier peer nodes as(known as exclusive selection)

0rXMj ¼ 1

xji,kr1, 8i,k where xj

i,k 2 f0;1g

IfPM

j ¼ 1 xji,k ¼ 1, the packet k of frame i is selected;

otherwise, it is skipped. As the scheduling scheme isinvoked at a time interval of T seconds, sum rate ofrequested packets for a receiver node in each schedulingsession is constrained by its downloading capabilitywithin T seconds,

XN

i ¼ 1

Ri

XMj ¼ 1

xji,1þ

XN

i ¼ 1

Ri

XMj ¼ 1

xji,2rRdownload � T

where Ri is the packet size of frame i, and Rdownload denotesdownloading bandwidth of the receiver. For a supplierpeer node, sum rate of requested packets is limited to itsuploading bandwidth dedicated to the receiver Rj

upload,

XN

i ¼ 1

Rixji,1þ

XN

i ¼ 1

Rixji,2rRj

upload � T

Moreover, scheduling strategy needs to consider dataavailability at a supplier peer node as well. If the packetk of frame i is not available at peer j, we denoted asBj

i,k ¼ 0; otherwise Bji,k ¼ 1. If Bj

i,k ¼ 0, the correspondingxj

i,k ¼ 0. Loss probability of packet k of frame i, pi,k, can beestimated based on path condition from the selectedsupplier peer node to the receiver,

pi,k ¼

1 ifXMj ¼ 1

xji,k ¼ 0

XMj ¼ 1

pjxji,k otherwise

8>>>>>><>>>>>>:

where pj is the estimated path loss rate between thereceiver and supplier peer node j taking the factor ofoverdue packets into account.

Table 2Symbols and notations.

Symbol Definition

di,j Distortion of frame i with j MD

dpi,j

Distortion of following frames

Di,j Aggregated distortion caused b

Dlossi

Expected aggregated distortion

pi,k Loss probability of packet k of

pj Packet loss rate between peer j

Ri Packet size of frame i

xji,k

A binary variable indicating if p

Bji,k

A binary variable indicating wh

Rdownload Downloading bandwidth of the

Rjupload

Uploading bandwidth of peer j

pavg Estimated average path loss rat

N Number of frames in the sched

M Number of supplier peer nodes

Therefore, the MDC packet scheduling problem ofpulling MDC packets of N frames from M supplier peernodes can be formulated as follows:

minimizeXN

i ¼ 1

Dlossi

¼XN

i ¼ 1

f½pi,1ð1�pi,2Þþð1�pi,1Þpi,2�Di,1þpi,1pi,2Di,2g ð5Þ

subject toXN

i ¼ 1

Ri

XMj ¼ 1

xji,1þ

XN

i ¼ 1

Ri

XMj ¼ 1

xji,2rRdownload � T ð6Þ

XN

i ¼ 1

Rixji,1þ

XN

i ¼ 1

Rixji,2rRj

upload � T ð7Þ

0rXMj ¼ 1

xji,kr1, 8i,k where xj

i,k 2 f0;1g ð8Þ

xji,k ¼ 0 if Bj

i,k ¼ 0 ð9Þ

pi,k ¼

1 ifXMj ¼ 1

xji,k ¼ 0

XMj ¼ 1

pjxji,k otherwise

8>>>>>><>>>>>>:

ð10Þ

The symbols and notations used in this problem formula-tion are summarized in Table 2. The expected distortion ofN frames in the scheduling period of T seconds due to loss(5) is minimized subject to (6), (7) and (9) representingthe constraints of limited downloading bandwidth of thereceiver node, uploading bandwidth of supplier peernodes, and data availability of supplier peers, respectively,as well as constraints (8) and (10).

The minimization problem with bandwidth constraint(6) alone is an NP-complete knapsack problem. As otherconstraints do not appear to simplify the problem, theoptimization is likely remain to be NP-complete. Weattempt to solve this problem via two steps: (i) selectingthe MDC packets that are included in the schedule; (ii)choosing a supplier peer node for each scheduled packet.

C packets missing

due to the loss of j MDC packets of frame i

y the loss of j MDC packets of frame i

due to losses of frame i’s packets

frame i

and the client including the factor of overdue packets

acket k of frame i is requested from peer j

ether packet k of frame i is available at peer j

receiver node

dedicated to the receiver

e between the receiver and supplier nodes

uling window

Page 10: Multiple description coded video streaming in peer-to-peer networks

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429 421

As we assume the bottleneck of this P2P system is thelimited downloading bandwidth, some MDC packets areskipped to meet the downloading bandwidth constraint.

4.2. Proposed rate-distortion optimized packet selection

MDC packet skipping or selection is to select a portion ofMDC packets that minimizes the expected distortion shownin (5) while meeting the constraints of limited downloadingbandwidth (6) and exclusion selection (8). (Note that con-straints (7), (9) and (10) do not affect packet selection.) Thiscan be cast as a type of classical knapsack problem incombinational optimization. Given a set of MDC packets,each with a size and a value that indicates the distortionreduction if this packet is received, we need to determine thesubset of MDC packets to maximize the total distortionreduction with a limit of packet size.

In [48], the authors address the same problem ofskipping MDC packets prior to transmission according tobandwidth constraint. MDC packets of the same descrip-tion are selectively skipped according to the bandwidthconstraint of underlying path so that the impact of theskipped packets on the reconstruction quality is mini-mized. The objective function of expected distortion issimplified to D ¼

P2h ¼ 1 Dh, which is the sum of distortion

caused by skipping packets in description 1 and descrip-tion 2, respectively. However, this model may causeconsiderable deviation from the practical distortion whentwo MDC packets of a frame are lost or skipped.

We calculate the distortion reduction of each packet inthe knapsack problem as follows. If none of two MDCpackets for frame i is scheduled for transmission, theresulting distortion Dloss

i is Di,2. If one packet of frame i istransmitted along a path with a loss rate of pavg, theresulting distortion Dloss

i becomes ð1�pavgÞDi,1þpavgDi,2,where the average path loss rate pavg can be estimated fromprevious transmissions, e.g. ratio of the number of success-ful transmissions to the number of scheduled transmissions.Thus the first packet of frame i has a value of

vi,1 ¼Di,2�½ð1�pavgÞDi,1þpavgDi,2� ¼ ð1�pavgÞðDi,2�Di,1Þ

ð11Þ

indicating its reduction in the overall expected distortion.Similarly, if two packets of frame i are transmitted, theexpected distortion becomes 2pavgð1�pavgÞDi,1þp2

avgDi,2.Therefore, the value of the second packet of frame i is

vi,2 ¼ ½ð1�pavgÞDi,1þpavgDi,2��½2pavgð1�pavgÞDi,1þp2avgDi,2�

¼ pavgð1�pavgÞDi,2þð1�2pavgÞð1�pavgÞDi,1 ð12Þ

The knapsack problem is NP-complete. The straight-forward greedy algorithm sorts the objects in decreasingorder using the objects’ ratio of profit to size, or profitdensity, and then picks objects in that order until no moreobjects will fit into the knapsack. We compare the valuesof the first and second packets:

vi,1�vi,2 ¼ ð1�pavgÞðDi,2�Di,1Þ�½pavgð1�pavgÞDi,2

þð1�2pavgÞð1�pavgÞDi,1�

¼ ð1�pavgÞ2Di,2�2ð1�pavgÞ

2Di,1

¼ ð1�pavgÞ2ðDi,2�2Di,1Þ ð13Þ

Assuming Di,242Di,1, the first packet has a larger valuethan the second one, which is reasonable as losing bothpackets of a frame makes this frame undecodable. Thisensures that the first packet is selected before the secondone in the decreasing order of profit density.

The greedy algorithm may not perform well in somecases in solving knapsack problem. Alternatively, dynamicprogramming (DP) [51] can be used to solve this problemas shown in Algorithm 1.

Algorithm 1. Rate-distortion optimized algorithm to findout n packets from a total of 2N MDC packets minimizingthe expected distortion subject to the downloading band-width constraint, using dynamic programming.

Sort 2N MDC packets in decreasing order using the ratio of distortion

reduction to packet size.

for r¼0 to R, where R¼ Rdownload � T doD½0,R� ¼ 0.

end forfor i¼1 to 2N do

D½i,0� ¼ 0.

end forfor i¼1 to 2N do

for r¼0 to R doif packet size of ith packet Ri rR, then

if DiþD½i�1,R�Ri�4D½i�1,R�, where Di is the distortion

reduction of ith packet, then

D½i,R� ¼DiþD½i�1,R�Ri�;

else

D½i,R� ¼D½i�1,R�;

end ifelse

D½i,R� ¼D½i�1,R�.

end ifend for

end for

i¼ 2N; r¼ R.

while i40 AND R40 do

if D½i,r�aD½i�1,r�, thenith packet after sorting is selected in the schedule;

i¼ i�1; r¼ r�Ri;

else

i¼ i�1.

end ifend while

4.3. Proposed rate-distortion based prioritized peer node

selection

The MDC packet selection algorithm described abovefinds a subset of MDC packets and includes them in theschedule. Then a supplier peer node needs to be identifiedfor each selected packet. The supplier peer node selectionproblem is to minimize (5) while satisfying (7)–(10).(Note that supplier peer node selection is not affectedby constraint (6).) We adopt a prioritized peer selectionscheme as follows. We first sort these MDC packets indecreasing order using the ratio of distortion reduction topacket size, and then take turn to select peer node forthese packets. The value of the first packet of frame i

vi,1 ¼ ð1�pi,1ÞðDi,2�Di,1Þ

is inversely proportional to pi,1. With a fixed loss rate ofpacket 1, pi,1, the value of the second packet

vi,2 ¼ pi,1ð1�pi,2ÞDi,2þð1�2pi,1Þð1�pi,2ÞDi,1

Page 11: Multiple description coded video streaming in peer-to-peer networks

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429422

is inversely proportional to pi,2. As smaller loss rates pi,1

and pi,2 result in smaller distortion, each MDC packetfavors an available peer node with the lowest path lossrate. This prioritized heuristic peer selection algorithm isoutlined in Algorithm 2.

Algorithm 2. Rate-distortion based prioritized algorithmto select a supplier peer node for each of the n selectedpackets from M available peer nodes.

Sort n selected packets in decreasing order using the ratio of

distortion reduction vi to packet size Ri.

Initialization xji,k ¼ 0, 8i,k,j.

for m¼1 to M do

Initialize occupied uploading bandwidth of peer m, Rmoq ¼ 0.

end forfor k¼1 to n do

Initialize loss probability of packet k, pkloss ¼ 1.

Initialize index of selected peer, PeerIndex¼0.

if kth packet is the first packet of frame i, thenfor m¼1 to M do

if RmoqþRi rRm

upload AND Bm1,iþBm

2,i 40, then

if pm opkloss , then

pkloss ¼ pm; PeerIndex¼m.

end ifend if

end for

if PeerIndexa0, then

if BPeerIndex1,i ¼ 1, then

xk1,i ¼ 1;

else

xk2,i ¼ 1.

end ifend if

end ifif kth packet is the second packet of frame i, then

if packet 1 of frame i has been processed, thenPktNo¼2;

elsePktNo¼1;

end iffor m¼1 to M do

if RmoqþRi rRm

upload AND BmPktNo,i 40, then

if pm opkloss , then

pkloss ¼ pm; PeerIndex¼m.

end ifend if

end for

if PeerIndex!¼ 0, then

xPeerIndexPktNo,i ¼ 1.

end ifend if

end for

23

4Buffer map

To sum up, the proposed MDC packet schedulingscheme consists of the two above-mentioned algorithms,namely packet selection (Algorithm 1) and peer nodeselection (Algorithm 2).

1

79

8

56

availablemissing

Frame index

Des

crip

tion

inde

x

Fig. 4. An example of simulation setup.

5. Simulation results

This section presents the simulation results of theproposed MDC packet scheduling scheme, and evaluatesthe performance of MDC based P2P video streamingcompared with SVC-based P2P video streaming.

5.1. Simulation setup

We evaluate the proposed MDC packet schedulingscheme in a network of 100 peer nodes with peer churn.We are considering 10 client nodes requesting videosequence from multiple supplier peers who have down-loaded part of these MDC packets. Every client has connec-tions with 7–9 supplier peer nodes. An example of oneclient node with nine supplier peer nodes is illustrated inFig. 4. The available downloading bandwidth of each usernode is set to a value below or around the encoding rate ofrequested video sequence. The uploading bandwidth of eachsupplier node dedicated to the video streaming service ofone client is set to be [120, 150] kb/s for ‘‘Foreman’’sequence and [300, 350] kb/s for ‘‘Mobile’’ sequence. Thebuffer map that records the availability of packets israndomly generated for each peer node, where each packetis available with a probability of 0.8. The packet lossprobability between the client node and a peer node israndomly selected to be between [0.01, 0.05], which takesthe factor of overdue packets into account. As packetsrepresenting I-frames require more bits compared to P-frames and are fragmented into multiple packets, loss rateof I-frame packets is set to three times packet loss prob-ability of the selected path. The MDC scheduling scheme isinvoked every 2 s.

In the simulation, the redundant slice based H.264MDC scheme [50] is adopted to code the standard ‘‘Fore-man’’ sequence and ‘‘Mobile’’ sequence in CIF format at30 fps. The video sequences are coded using ‘‘IPP..P’’structure, with a GOP size of 30 and an intra-period of30. Each frame is coded with a relatively small quantiza-tion parameter QP¼28 in the primary pass to generateprimary slices, and then coded again in the redundantpass with a relatively large QP¼33 to generate redundantslices. The resulting encoding rates are 625 kb/s and2005 kb/s for the ‘‘Foreman’’ sequence and the ‘‘Mobile’’sequence, respectively. These two types of slices areinterleaved to produce two balanced descriptions, whileslices belonging to the same frame are interleaved to formtwo MDC packets for that frame. Packets of differentframes have various sizes and cause different distortionsif they are lost during the transmission. A simple errorconcealment technique is employed by replacing theundecodable frame with the reconstructed previousframe in the same GOP. Fig. 5 shows the distortion dueto packet losses including propagation errors for the first

Page 12: Multiple description coded video streaming in peer-to-peer networks

0 10 20 30 40 50 600

0.5

1

1.5

2

2.5

3

3.5

4x 105

Frame index

MS

E

1 MDC packet lost2 MDC packets lost

Fig. 5. Distortion caused by losing one or two packets of a frame in the

‘‘Foreman.cif’’ video sequence.

0 5 10 15 20 25 3028

29

30

31

32

33

34

35

36

37

Churn level (%)

PS

NR

(dB

)

600kb/s downloading bandwidth400kb/s downloading bandwidth300kb/s downloading bandwidth

Fig. 6. Performance comparison of downloading ‘‘Foreman’’ video

sequence under different churn levels.

4 5 6 7 8 9 1030.5

31

31.5

32

32.5

33

33.5

34

34.5

Node degree

PS

NR

(dB

)

600kb/s downloading bandwidth500kb/s downloading bandwidth400kb/s downloading bandwidth300kb/s downloading bandwidth

Fig. 7. Performance comparison of downloading ‘‘Foreman’’ video

sequence with different node degrees.

1 1.5 2 2.5 3 3.5 4 4.5 530

31

32

33

34

35

36

Interval of scheduling update (second)

PS

NR

(dB

)

500 kb/s downloading bandwidth350 kb/s downloading bandwidth200 kb/s downloading bandwidth

Fig. 8. Performance comparison of downloading ‘‘Foreman’’ video

sequence with varying intervals of MDC scheduling updates.

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429 423

60 frames of the ‘‘Foreman.cif’’ video sequence. As thisvideo is intra-coded every 30 frames, the distortion oflosing both MDC packets for 1st frame or 31st frame ismuch larger than the average.

To consider the effect of peer churn, a distorted net-work is emulated by removing a certain percentage ofsupplier peer nodes from the original network, whilenewly joined peers will be considered in the next sche-duling session. We evaluate the proposed MDC packetscheduling scheme in a P2P network under differentlevels of peer churn, which is indicated by the percentageof removed suppliers. Fig. 6 shows performance compar-ison of downloading ‘‘Foreman’’ video sequence underdifferent churn levels. It can be seen from the figure thatthe delivered video quality drops greatly as the number ofremoved peers increases. We use a network with 10% ofpeers leaving the network in the following simulation.

The connectivity of peers affects the performance of MDcoded video steaming as well. Fig. 7 shows performance of

downloading ‘‘Foreman’’ video sequence with different valuesof average node degree. As aforementioned, each supplierdevotes a fixed uploading bandwidth within [90,120] kb/s toa receiver in our simulation. If an average node degree isbelow the minimum requirement to support video streamingwhich is 5–6 nodes in our case, video streaming performanceis affected, especially when the aggregated uploading band-width is below the downloading bandwidth. Increasing nodedegree results in a larger aggregated uploading bandwidth,however, transmission of video packets is still constrained byreceivers’ limited downloading bandwidth. In the rest ofsimulation, each receiver is connected with 7–9 supplier peernodes so that the aggregated uploading bandwidth is suffi-cient to support video streaming.

The frequency of scheduling updates also affects thepacket scheduling performance. Increasing the interval ofMDC scheduling update results in a larger scheduling win-dow with more packets being scheduled each time. Fig. 8shows performance comparison of downloading ‘‘Foreman’’video sequence with varying intervals of scheduling updates,

Page 13: Multiple description coded video streaming in peer-to-peer networks

350 400 450 500 550 600 650 70016

18

20

22

24

26

28

30

32

34

36

Downloading bandwidth (kb/s)

PS

NR

(dB

)

MDC scheduling in [48] (default: greedy)MDC scheduling in [48] with DPProposed MDC scheduling (DP default)Proposed MDC scheduling with greedy algorithm

1000 1500 2000 25000

5

10

15

20

25

30

35

Downloading bandwidth (kb/s)

PS

NR

(dB

)

MDC scheduling in [48] (default: greedy)MDC scheduling in [48] with DPProposed MDC scheduling (DP default)Proposed MDC scheduling with greedy algorithm

Fig. 9. Comparison of proposed rate-distortion optimized packet selec-

tion against MDC packet selection scheme in [48]. (a) The ‘‘Foreman.cif’’

video sequence. (b) The ‘‘Mobile.cif’’ video sequence.

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429424

in which reconstructed quality is obtained and averaged over100 trials. It can be seen from Fig. 8 that average recon-structed video quality is slightly better with a longer intervalof scheduling updates. However, as the interval of schedulingupdate increases, client nodes will experience larger delayand need a larger buffer. A shorter interval may cost somecommunication overhead among peer nodes. MDC schedul-ing updates is done every 2 s in the paper.

5.2. Performance comparisons of MDC packet scheduling

Different MDC packet scheduling schemes are comparedin terms of reconstructed video quality, under identicalconditions for the sake of fairness. As the uploading band-width, path loss probability and buffer maps in the simula-tion are randomly generated, we repeat the simulation for100 times to get an average value. Performance compar-isons are conducted in three aspects. First, we consider theperformance comparison of rate-distortion optimizedpacket selection scheme using DP and greedy algorithmfor the knapsack problem. Second, the proposed rate-dis-tortion optimized packet selection scheme is comparedagainst MDC packet skipping scheme in [48] with the samepeer node selection algorithm (Algorithm 2). Finally, tofurther examine the effectiveness of the proposed packetselection and peer selection approaches, we compare theproposed scheduling scheme against others with differentpacket selection or different peer selection methods.

5.2.1. DP versus greedy algorithm for the proposed packet

selection scheme

The comparison of DP with greedy algorithm for theproposed rate-distortion optimized packet selectionscheme is shown in Fig. 9. It can be seen from Fig. 9 thatsimple greedy algorithm appears to be adequate toachieve the same performance as the DP in solving theknapsack problem involved in the selection optimization.In fact, the DP based algorithm achieves negligible gainover that using greedy algorithm for the two test videos(maximally 0.087 dB and 0.088 dB, respectively). As thefirst packet of a frame achieves larger distortion reductionthan the second one, these two packets are less likely tobe skipped simultaneously using greedy algorithm. Inshort, for the proposed packet selection scheme, DP andgreedy algorithms show the same or similar performance.

5.2.2. Comparison of the proposed packet selection scheme

against the packet selection approach in [48]

The proposed rate-distortion optimized packet selectionis compared with the MDC packet selection approach in [48]under the same peer node selection algorithm (Algorithm2). We implement Xie’s scheme in [48] that solves theknapsack problem using greedy algorithm originally. Intheir scheme, each packet of frame i is assigned a distortionreduction of Di,1. We also employ DP to solve the knapsackproblem in Xie’s scheme [48]. As shown in Fig. 9, it can beseen that DP can largely enhance the performance of Xie’sscheme that uses greedy algorithm originally. As two MDCpackets for the same frame are treated independently inXie’s scheme, these packets with the same ratio of distortionreduction to size are likely to be kept or skipped together

using the greedy algorithm, which makes the greedy algo-rithm suffer especially at low downlink rates. The gain ofthe proposed scheme over the original Xie’s scheme in [48]is evident. Compared with Xie’s scheme with DP, theproposed scheme achieves up to 0.65 dB and 2.39 dB gainsfor ‘‘Foreman’’ and ‘‘Mobile’’ sequences, respectively (or0.35 dB and 0.81 dB gains on average). Fig. 10 showsreconstructed frames using the two schemes in a transmis-sion trial with downloading bandwidth of 500 kb/s. As Xie’sscheme skips both packets of frame 176, 176th framecannot be reconstructed but copied from the 175th frame,which causes a jerky effect when playing the video. On thecontrary, 176th frame can be reconstructed using theproposed scheme resulting in more fluent video playback.

5.2.3. Comparison of the proposed scheduling scheme

against other packet selection and peer selection approaches

As we point out earlier, the proposed MDC packetscheduling scheme comprises rate-distortion optimizedpacket selection (Algorithm 1) as well as rate-distortionbased prioritized peer selection (Algorithm 2). Now wecompare it with other existing packet selection and peer

Page 14: Multiple description coded video streaming in peer-to-peer networks

Fig. 10. Reconstructed 176th frames of ‘‘Foreman.cif’’ using different

packet selection methods with downloading bandwidth of 500 kb/s.

(a) MDC packet selection in [48] (copied from 175th frame,

PSNR¼19.11 dB). (b) The proposed MDC packet selection scheme

(reconstructed 176th frame, PSNR¼29.46 dB).

150

200

250

300

350

400

450

500

550

600

650

700

22

24

26

28

30

32

34

36

Downloading bandwidth (kb/s)

PS

NR

(dB

)

Proposed MDC schedulingRarest−first packet selectionRandom packet skippingRandom peer selection

150

200

250

300

350

400

450

500

550

600

650

700

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Downloading bandwidth (kb/s)

Pac

ket d

eliv

ery

ratio

Proposed MDC schedulingRarest−first packet selectionRandom packet skippingRandom peer selection

150

200

250

300

350

400

450

500

550

600

650

700

100

150

200

250

300350

400

450

500550

Downloading bandwidth (kb/s)

Ave

rage

thro

ughp

ut (k

b/s)

Proposed MDC schedulingRarest−first packet selectionRandom packet skippingRandom peer selection

Fig. 11. Comparison of the proposed scheduling scheme with other

packet selection and peer selection counterparts in downloading ‘‘Fore-

man’’ video sequence. (a) Average decoded quality. (b) Packet delivery

ratio. (c) Throughput.

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429 425

selection approaches as well as their different combinations.Specifically, we consider the following testing schemes: (i)random packet skipping/selection plus the proposed peerselection (Algorithm 2); (ii) the proposed packet selection(Algorithm 1) plus random peer selection; (iii) the rarest-first packet selection in [46] plus the proposed peer selection(Algorithm 2). The testing scheme (i) randomly skips MDCpackets until the total size of remaining packets is within thenode’s downloading bandwidth, while peers are selectedaccording to Algorithm 2. The test scheme (ii) skips packetsusing the proposed Algorithm 1, but randomly chooses apeer node for each selected packet from a list of connectedsupplier peers. If the chosen peer does not have therequested packet, or has reached its uploading bandwidthlimit, this requested packet will not be transmitted. The testscheme (iii) progressively skips one MDC packet for eachframe in descending order of frame index and then thesecond MDC packet of each frame until the total size ofremaining packets does not exceed the downloading

bandwidth. Peer selection of the rarest-first scheme usesprioritized peer selection in Algorithm 2.

Figs. 11 and 12 show the comparison of the proposedscheduling scheme with other packet selection and peerselection counterparts in terms of decoded quality, packetdelivery ratio and throughput. Packet delivery ratio in thefigures is defined as ratio of the number of successfullydelivered packets to the total number of packets in thescheduling window including skipped ones. It can be seen

Page 15: Multiple description coded video streaming in peer-to-peer networks

400

600

800

1000

1200

1400

1600

1800

2000

2200

400

600

800

1000

1200

1400

1600

1800

2000

2200

400

600

800

1000

1200

1400

1600

1800

2000

2200

18

20

22

24

26

28

30

32

34

Downloading bandwidth (kb/s)

PS

NR

(dB

)

Proposed MDC schedulingRarest−first packet selectionRandom packet skippingRandom peer selection

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Pac

ket d

eliv

ery

ratio

Proposed MDC schedulingRarest−first packet selectionRandom packet skippingRandom peer selection

200

400

600

800

1000

1200

1400

1600

1800

Downloading bandwidth (kb/s)

Ave

rage

thro

ughp

ut (k

b/s)

Proposed MDC schedulingRarest−first packet selectionRandom packet skippingRandom peer selection

Downloading bandwidth (kb/s)

Fig. 12. Comparison of the proposed scheduling scheme with other

packet selection and peer selection counterparts in downloading

‘‘Mobile’’ video sequence. (a) Average decoded quality. (b) Packet

delivery ratio. (c) Throughput.

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429426

from figures that the proposed scheme outperforms all theother three comparison schemes. Taking the ‘‘Foreman’’video sequence as an example, the proposed schemeachieves 0.89 dB gain on average over the testing scheme(iii). The performance gain becomes larger at lower down-loading bandwidth, when only a small portion of MDCpackets are selected to be downloaded. Since the testingscheme (iii) skips packets in descending order of frame

index, it is highly likely both MDC packets of the secondintra-coded frame are not included in the schedule withlow downloading bandwidth, which causes a big distor-tion in the second GOP. On the contrary, the proposedscheme uses rate-distortion information and chooses themost valuable MDC packets that maximize the averagereconstruction quality. As the proposed scheme favorsI-frame packets of both GOPs which are generally largerthan P-frame packets, packet delivery ratio of the pro-posed scheme is lower than packet delivery ratios ofscheme (iii) and scheme (i) especially at a low down-loading bandwidth, with similar throughput. Comparedwith the testing schemes (i) and (ii), the proposed schemeachieves an average of 2.16 dB and 0.76 dB gains, respec-tively, for the ‘‘Foreman’’ video sequence. As the downloadbandwidth increases, the schemes (i) and (iii) approachthe performance of the proposed one, since most (if notall) of the packets are selected producing the same/similarreconstruction results. However, scheme (ii) may stillsuffer the relatively poor reconstruction quality, sincethe random peer selection will generally fail to find someselected packets for downloading. Therefore, scheme (ii)has lowest packet delivery ratio and lowest throughputamong these schemes. Reconstructed frame samples usingdifferent packet scheduling schemes are shown in Fig. 13,which are obtained in a transmission trial when thedownloading bandwidth is 400 kb/s. Artifacts in theseimages are marked with arrows. It can be seen from thefigure that reconstructed 52th frame of the proposedscheme achieves better video quality than the recon-structed 52th frames of schemes (i)–(iii).

5.3. Comparison of layered coding and MDC

In this subsection, we compare the performance oflayered coding (or SVC) and above-mentioned redundantslice based MDC in heterogeneous P2P networks. The‘‘Foreman.cif’’ sequence is encoded with SVC referencesoftware JSVM 9.12 [52] using ‘‘IPP..P’’ structure, with aGOP size of 16 and an intra-period of 16. Base layer isgenerated with QP¼31, while one enhancement layer isgenerated with QP¼27. Bitrate and average PSNR ofdifferent schemes are summarized in Table 3. If we useH.264/AVC codec JM 9.4 to generate a single bitstream for‘‘Foreman’’ video sequence with QP¼28, the resultingbitstream has a coding rate of 482 kb/s. Compared withsingle bitstream, SVC and MDC increase total bitrate by33.4% and 29.6%, respectively. Note that, the codingefficiency of MDC appears to be slightly better than SVCin the table. The main reason is that a large GOP size (30)is used for MDC, while a GOP size of 16 is employed forSVC. Here we target for performance comparison betweenMDC and SVC in P2P networks with respect to differentnetwork conditions with errors (including packet loss andpeer churn). Therefore such setting does not favor theMDC for that purpose. Moreover, a larger GOP size withMDC may be unadvantageous due to the error propaga-tion in a longer period.

In the simulation, base layer and enhancement layerof a frame constitute two SVC packets for transmission.We add protection to base layer packet of I-frame by

Page 16: Multiple description coded video streaming in peer-to-peer networks

Fig. 13. Reconstructed 52th frames of ‘‘Foreman.cif’’ using different packet scheduling methods with downloading bandwidth of 400 kb/s. (a) Testing

scheme (i): random packet skipping plus proposed Algorithm 2 for peer selection (PSNR¼29.77 dB). (b) Testing scheme (ii): proposed Algorithm 1 for

packet selection plus random peer selection (PSNR¼30.41 dB). (c) Testing scheme (iii): rarest-first packet selection plus proposed Algorithm 2 for peer

selection (PSNR¼30.44 dB). (d) Proposed packet scheduling scheme: Algorithm 1 for packet selection plus Algorithm 2 for peer selection

(PSNR¼32.11 dB).

Table 3An example of SVC and MDC in the coding of ‘‘Foreman.cif’’ sequence

(QP¼31 for SVC base layer and QP¼27 for SVC enhancement layer;

QP¼28 for primary slice and QP¼33 for redundant slice of MDC, for

producing similar bit-rates in SVC and MDC).

1 layer/description 2 layers/descriptions

Bit-rate (kb/s) PSNR (dB) Bit-rate (kb/s) PSNR (dB)

SVC 312 34.49 643 36.36

MDC 313 34.50 625 36.44

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429 427

transmitting it twice. Sorting packets in decreasing order ofthe ratios of distortion reduction to packet size, rate-distor-tion optimized packet selection (Algorithm 1) and priori-tized peer selection (Algorithm 2) are used to schedule thesepackets. Performance comparisons of SVC against MDC inP2P networks for different churn levels and packet lossprobabilities are shown in Fig. 14, where peer churn level isrepresented by the percentage of peers leaving from theoriginal network as mentioned above in Section 5.1. In anetwork with a low packet loss rate (1–5%) and no peerchurn as shown in the figure, SVC outperforms MDC with0.59 dB gain on average, for SVC is prioritized in layerswhich is suitable for stable P2P networks with heteroge-neous path conditions. However, performance of SVC isheavily affected by peer churn as shown in the figure.

For instance, the presence of peer churn (10%) degradesperformance of SVC and MDC by 3.67 dB and 1.74 dB inaverage, respectively. Similarly, as the peer churn rateincreases to 20%, the presence of peer churn degrades theperformance by 6.82 dB and 3.49 dB for SVC and MDC,respectively. In a network experiencing relatively a highpacket loss rate as shown in Fig. 14b, MDC exhibits strongerrobustness and achieves better performance, even withoutthe peer churn. We also notice that as the downloadingbandwidth increases, MDC tends to be enhanced moresignificantly than that of SVC. The underlying reason mayreside in the fact that every and each received description(packet) can contribute to the performance improvement,while it is not true for SVC due to the layer dependency inSVC. In summary, SVC is a good option for a stable P2Pnetwork with a low loss rate. On the contrary, if the networkis highly dynamic with frequent peer churn and a high lossrate, MDC provides better video streaming performance.

6. Conclusion

In this paper, we first present a survey of P2P videostreaming systems that leverage MDC to achieve robust,adaptive video streaming as well as to provide incentivesfor resource contribution. Particularly, a comparison andexperimental evaluations are made on an MD coded P2Pvideo streaming scheme against a layered coded (SVC)

Page 17: Multiple description coded video streaming in peer-to-peer networks

250 300 350 400 450 500 550

24

26

28

30

32

34

36

Downloading bandwidth (kb/s)

PS

NR

(dB

)

SVC without peer churnMDC without peer churnSVC with peer churn (10%)MDC with peer churn (10%)SVC with peer churn (20%)MDC with peer churn (20%)

250 300 350 400 450 500 55022

24

26

28

30

32

34

Downloading bandwidth (kb/s)

PS

NR

(dB

)

SVC without peer churnMDC without peer churnSVC with peer churn (10%)MDC with peer churn (10%)SVC with peer churn (20%)MDC with peer churn (20%)

Fig. 14. Performance comparison of MDC vs. SVC in P2P networks with

respect to different peer churn levels and packet loss probabilities.

(a) Packet loss probability (1–5%). (b) Packet loss probability (10–15%).

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429428

P2P video streaming approach. It has been shown thatSVC can provide a good solution for video streaming in astable network in the case of a low packet loss rate, whileMDC is more suitable for dynamic P2P networks with ahigh packet loss rate or frequent peer churn. Then, wespecifically develop a new packet scheduling frame-work for MD coded video streaming in mesh-based P2Pnetworks. In the proposed scheduling framework, a rate-distortion optimized packet selection scheme is intro-duced, followed by a rate-distortion based prioritizedpeer selection scheme. The effectiveness of the proposedMDC packet scheduling scheme is demonstrated by com-parison with other relevant scheduling algorithms.

To further explore potentialities of MDC based videostreaming, we would like to extend our work by con-sidering the following studies in the next step: (1) a jointdesign of coding and packet scheduling in MDC-basedvideo streaming; (2) symmetric and asymmetric MDC-based video streaming considering more sophisticatednetwork settings with varying conditions, e.g. hierarchicalinternet-like topology.

References

[1] Youtube homepage, /http://www.youtube.com/S, last accessed on

September 26, 2011.

[2] V. Padmanabhan, H. Wang, P. Chou, Resilient peer-to-peer stream-ing, in: Proceedings of IEEE International Conference on NetworkProtocols, 2003, pp. 16–27.

[3] Y. Liu, Y. Guo, C. Liang, A survey on peer-to-peer video streamingsystems, Peer-to-peer Networking and Applications 1 (1) (2008)18–28.

[4] A. Vakali, G. Pallis, Content delivery networks: status and trends,IEEE Internet Computing 7 (6) (2003) 68–74.

[5] Bittorrent homepage, /http://www.bittorrent.com/S, last accessedon September 26, 2011.

[6] emule homepage, /http://www.emule-project.net/S, last accessedon September 26, 2011.

[7] Pplive homepage, /http://www.pptv.com/S, last accessed on Sep-tember 26, 2011.

[8] Ppstream homepage, /http://www.ppstream.com/S, last accessedon September 26, 2011.

[9] V. Goyal, Multiple description coding: compression meets thenetwork, IEEE Signal Processing Magazine 18 (5) (2001) 74–93.

[10] S. Saroiu, K. Gummadi, S. Gribble, Measuring and analyzing thecharacteristics of Napster and Gnutella hosts, Multimedia systems9 (2) (2003) 170–184.

[11] M. Castro, P. Druschel, A. Kermarrec, A. Nandi, A. Rowstron,A. Singh, SplitStream: high-bandwidth multicast in cooperativeenvironments, in: Proceedings of the 19th ACM Symposium onOperating Systems Principles, 2003, pp. 298–313.

[12] V. Fodor, G. Dan, Resilience in live peer-to-peer streaming [Peer-to-Peer Multimedia Streaming], IEEE Communications Magazine 45(6) (2007) 116–123.

[13] H. Chang, S. Jamin, W. Wang, Live streaming performance of theZattoo network, in: Proceedings of the 9th ACM SIGCOMM Con-ference on Internet Measurement Conference, ACM, 2009,pp. 417–429.

[14] M. Mushtaq, T. Ahmed, Adaptive packet video streaming over P2Pnetworks using active measurements, in: Proceedings of the 11thIEEE Symposium on Computers and Communications, 2006,pp. 423–428.

[15] S. Roy, W. Zeng, prTorrent: on establishment of piece rarity in theBitTorrent unchoking algorithm, in: IEEE Ninth International Con-ference on Peer-to-Peer Computing, 2009, pp. 252–261.

[16] Y. Chu, J. Chuang, H. Zhang, A case for taxation in peer-to-peerstreaming broadcast, in: Proceedings of the ACM SIGCOMM Workshopon Practice and Theory of Incentives in Networked Systems, 2004.

[17] A. Habib, J. Chuang, Service differentiated peer selection: anincentive mechanism for peer-to-peer media streaming, IEEETransactions on Multimedia 8 (3) (2006) 610–621.

[18] J. Mol, D. Epema, H. Sips, The orchard algorithm: building multicasttrees for P2P video multicasting without free-riding, IEEE Transac-tions on Multimedia 9 (8) (2007) 1593–1604.

[19] R. Rejaie, A. Ortega, PALS: peer-to-peer adaptive layered streaming,in: Proceedings of the 13th International Workshop on Networkand Operating Systems Support for Digital Audio and Video, 2003,pp. 153–161.

[20] E. Setton, P. Baccichet, B. Girod, Peer-to-peer live multicast: a videoperspective, Proceedings of the IEEE 96 (1) (2007) 25–38.

[21] C. Zhu, M. Liu, Multiple description video coding based on hier-archical B pictures, IEEE Transactions on Circuits and Systems forVideo Technology 19 (4) (2009) 511–521.

[22] D. Wang, C. Canagarajah, D. Redmill, D. Bull, Multiple descriptionvideo coding based on zero padding, IEEE International Symposiumon Circuits and Systems, vol. 2, 2004.

[23] I. Bajic, J. Woods, Domain-based multiple description coding ofimages and video, IEEE Transactions on Image Processing 12 (10)(2003) 1211–1225.

[24] Z. Zhang, C. Zhu, Y. Zhao, Two-description image coding withsteganography, IEEE Signal Processing Letters 15 (2008) 887–890.

[25] S. Servetto, K. Ramchandran, V. Vaishampayan, K. Nahrstedt, Multi-ple description wavelet based image coding, IEEE Transactions onImage Processing 9 (5) (2000) 813–826.

[26] V.A. Vaishampayan, Design of multiple description scalar quantizer,IEEE Transactions on Information Theory 39 (3) (1993) 821–834.

[27] C. Lin, Y. Zhao, C. Zhu, Two-stage diversity-based multipledescription image coding, IEEE Signal Processing Letters 15 (2008)837–840.

[28] M. Liu, C. Zhu, Enhancing two-stage multiple description scalarquantization, IEEE Signal Processing Letters 16 (4) (2009) 253–256.

[29] V.A. Vaishampayan, N.J.A. Sloane, S.D. Servetto, Multiple descrip-tion vector quantization with lattice codebooks: design andanalysis, IEEE Transactions on Information Theory 47 (5) (2001)1718–1734.

Page 18: Multiple description coded video streaming in peer-to-peer networks

Y. Xu et al. / Signal Processing: Image Communication 27 (2012) 412–429 429

[30] H. Bai, C. Zhu, Y. Zhao, Optimized multiple description lattice vectorquantization for wavelet image coding, IEEE Transactions onCircuits and Systems for Video Technology 17 (7) (2007) 912–917.

[31] M. Liu, C. Zhu, M-description lattice vector quantization: indexassignment and analysis, IEEE Transactions on Signal Processing 57(6) (2009) 2258–2274.

[32] V. Goyal, J. Kovacevic, Generalized multiple description coding withcorrelating transforms, IEEE Transactions on Information Theory 47(6) (2001) 2199–2224.

[33] R. Puri, K. Ramchandran, K. Lee, V. Bharghavan, Forward errorcorrection (FEC) codes based multiple description coding for Inter-net video streaming and multicast, Signal Processing: Image Com-munication 16 (8) (2001) 745–762.

[34] W. Xiang, C. Zhu, C. Siew, Y. Xu, M. Liu, Forward error correction-based 2-D layered multiple description coding for error-resilient H.264 SVC video transmission, IEEE Transactions on Circuits andSystems for Video Technology 19 (12) (2009) 1730–1738.

[35] G. Dan, V. Fodor, I. Chatzidrossos, On the performance of multiple-tree-based peer-to-peer live streaming, in: 26th IEEE InternationalConference on Computer Communications, 2007, pp. 2556–2560.

[36] N. Magharei, R. Rejaie, Y. Guo, Mesh or multiple-tree: a comparativestudy of live P2P streaming approaches, in: 26th IEEE InternationalConference on Computer Communications, 2007, pp. 1424–1432.

[37] M. Lu, J. Wu, K. Peng, P. Huang, J. Yao, H. Chen, Design andevaluation of a P2P IPTV system for heterogeneous networks, IEEETransactions on Multimedia 9 (8) (2007) 1568–1579.

[38] Z. Liu, Y. Shen, S. Panwar, K. Ross, Y. Wang, P2P video live streamingwith MDC: providing incentives for redistribution, in: IEEE Inter-national Conference on Multimedia and Expo, 2007, pp. 48–51.

[39] E. Akyol, A. Tekalp, M. Civanlar, A flexible multiple descriptioncoding framework for adaptive peer-to-peer video streaming, IEEEJournal of Selected Topics in Signal Processing 1 (2) (2007)231–245.

[40] V. Padmanabhan, H. Wang, P. Chou, Supporting heterogeneity andcongestion control in peer-to-peer multicast streaming, Peer-to-Peer Systems III (2005) 54–63.

[41] G. Wang, S. Futemma, E. Itakura, Multiple-description coding foroverlay network streaming, IEEE Multimedia 14 (1) (2007) 74–82.

[42] S. McCanne, V. Jacobson, M. Vetterli, Receiver-driven layeredmulticast, in: Conference Proceedings on Applications, Technolo-gies, Architectures, and Protocols for Computer Communications.

[43] Y. Cui, K. Nahrstedt, Layered peer-to-peer streaming, in: Proceed-ings of the 13th International Workshop on Network and OperatingSystems Support for Digital Audio and Video, 2003, pp. 162–171.

[44] P. Baccichet, T. Schierl, T. Wiegand, B. Girod, Low-delay peer-to-peer streaming using scalable video coding, in: Packet Video 2007,2007, pp. 173–181.

[45] 264: Advanced Video Coding for Generic Audiovisual Services, ITU-T Rec. H. 264-ISO/IEC 14496-10 AVC.

[46] N. Magharei, R. Rejaie, Prime: Peer-to-peer receiver-driven mesh-based streaming, IEEE/ACM Transactions on Networking 17 (4)(2009) 1052–1065.

[47] B. Li, H. Yin, Peer-to-peer live video streaming on the internet:issues, existing approaches, and challenges, IEEE CommunicationsMagazine 45 (6) (2007) 94–99.

[48] G. Xie, M. Swamy, M. Ahmad, Joint optimal multipath routing andrate control for multidescription coded video streaming in ad hocnetworks, IEEE Transactions on Multimedia 10 (8) (2008)1687–1697.

[49] Y. Wang, Z. Wu, J. Boyce, Modeling of transmission-loss-induceddistortion in decoded video, IEEE Transactions on Circuits andSystems for Video Technology 16 (6) (2006) 716–732.

[50] T. Tillo, M. Grangetto, G. Olmo, Redundant slice optimal allocationfor H. 264 multiple description coding, IEEE Transactionson Circuits and Systems for Video Technology 18 (1) (2008)59–70.

[51] R. Bellman, S. Dreyfus, Functional approximations and dynamicprogramming, Mathematical Tables and Other Aids to Computa-tions, vol. 13, National Research Council, US, 1959, pp. 247–251.

[52] J. Reichel, H. Schwarz, M. Wien, JSVM 9.8 Software, Joint VideoTeam of ISO/IEC MPEG and ITU-T VCEG 9212.