live p2p streaming with scalable video codinggg and ...mhefeeda/talks/mmsys10_svc-nc.pdf ·...

24
School of Computing Science School of Computing Science Simon Fraser University, Canada Simon Fraser University, Canada Live P2P Streaming with Scalable Video Coding and Network Coding Mh dHf d Mohamed Hefeeda (Joint work with Shabnam Mirshokraie) 22 February 2010 1

Upload: doankiet

Post on 09-Aug-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

School of Computing ScienceSchool of Computing ScienceSimon Fraser University, CanadaSimon Fraser University, Canada

Live P2P Streaming with Scalable Video Coding and Network Codingg g

M h d H f dMohamed Hefeeda(Joint work with Shabnam Mirshokraie)

22 February 2010

Mohamed Hefeeda 1

Page 2: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Motivations

Wide deployment of P2P streaming systems- PPLive, UUSee, SopCast, CoolStreaming, …., , p , g,

Users demand better video qualityUse s de a d bette deo qua ty- Higher resolution, frame rate, fidelity

However, P2P systems face multiple challenges- Limited upload capacity (ADSL, Cable)- High churn rate- High churn rate- Diverse receivers

• Screen resolutions, bandwidth, CPU capacity

Mohamed Hefeeda 2

Page 3: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Motivations

To provide better quality, we need to:Deploy more resources (seed servers)Deploy more resources (seed servers)

AND/OR

Efficiently manage current resourcesMaximize utilization of peers’ upload capacity- Maximize utilization of peers’ upload capacity

- Customize multimedia content for diverse receivers- Adapt to network and peer dynamics

- Our focus in this paper

Mohamed Hefeeda 3

Page 4: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Our Work

Propose new design for P2P streaming systems Employ both:Employ both:

Scalable Video Coding AND Network Coding

- Performance benefits well beyond those achieved by each

Implementation and quantification of potential gainImplementation and quantification of potential gain- Much higher (several dBs) visual quality- Smoother streaming rate- More streaming capacity- Higher robustness

Mohamed Hefeeda 4

Page 5: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Related Works

Most currently deployed systems use single-layer videosvideosNetwork coding in P2P streaming systems [Wang 07, Feng 08, …]

- Improve performance of single-layer videos- But limited support for heterogeneous receivers

Scalable video coding in P2P streaming systems [Lan 07, Cui 03, Rejaie 03, Hefeeda 08, … ]

- Better support for heterogeneous receivers- But may not fully utilize peer’s capacity

Mohamed Hefeeda 5

Page 6: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Related Works

Network coding and scalable video coding [Chenguang 07 Zhao 06][Chenguang 07, Zhao 06]

- Assume static tree-based streaming systems- Solve integer linear programming to determine #layers for g p g g y

receivers in multicast sessions

O k i f d i h b d t i t- Our work is for dynamic mesh-based streaming systems—the most common in practice

- And we provide practical validation p p

Mohamed Hefeeda 6

Page 7: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Brief Background

Scalable Video Coding (recent H.264/SVC)- Multi-layer streams

- Temporal, spatial, and quality scalability

- Low overhead [Schwarz 07 ]- Efficient extraction and

customization of streams

Mohamed Hefeeda 7

Page 8: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Brief Background

Network Coding- Increases throughputIncreases throughput- Reduces buffering delay- Improves robustness

Source and intermediate nodes encode data blocks

iik

ibcx .

1∑=Receivers use coefficients to decode blocks

iii 1∑=

Encoding and decoding linear operations over fi it fi ld

Mohamed Hefeeda

finite fields

8

Page 9: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Overview of Proposed System

Mesh-based P2P streaming systemTracker

- Matching peers viewing the same video stream• Multiple dynamic swarms• Multiple dynamic swarms

Source node (seed server)- Providing additional capacityg p y- Distributing network-coded scalable video streams

Peers- Receiving clients- Sharing their upload bandwidth to serve others

Mohamed Hefeeda 9

Page 10: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Peer Software Architecture: Receiver

Download Scheduler- Compute number of required p q

encoded blocks

Progressive NC Decoder- Gauss-Jordan elimination- Multi-threaded

SVC Layer ManagerSVC Layer ManagerSharing Buffer

Mohamed Hefeeda 10

Page 11: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Peer Software Architecture: Sender

Random NC Encoder - Linear operations on blocks of p

each video layer separately- Reduces network coding

complexityp y- Robustness- No need to have centralized

knowledgeknowledge

Upload Scheduler- Selects receivers (incentives)Selects receivers (incentives)

Mohamed Hefeeda 11

Page 12: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Source Node Architecture and Functions

Prepare video streams before introducing them into the systeminto the system

- Encoding a video stream into multiple layers- Equal-length segments

• Network coding operations on individual segments- Fixed-size blocks

• Different layers may contain different number of• Different layers may contain different number of blocks

Mohamed Hefeeda 12

Page 13: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Evaluation: Setup

Testing application to evaluate our implementation

Scalable Videos- Three: Sony Demo, Tokyo Olympics, NBC News

- 5 scalable layers each

- Average Y-PSNR from 35.5 to 47.6 dB

A bit t f 325 t 850 kb- Average bit rate from 325 to 850 kbps

- CIF frames, frame rate of 30 fps

Network codingNetwork coding - Random network coding

- Progressive decoding

Mohamed Hefeeda

- Progressive decoding

- Fixed block size for all layers13

Page 14: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Evaluation: Setup

P2P systemHi hl d i P2P t i t- Highly-dynamic P2P streaming system

- 1,000 heterogeneous peers

- High churn rates- High churn rates

- Flash crowd scenarios

- Practical upload/download bandwidth distribution [Liu 08]Practical upload/download bandwidth distribution [Liu 08]

Mohamed Hefeeda 14

Page 15: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Evaluation: Setup

Comparing proposed system (SVC+NC) againstScalable video coding (SVC)- Scalable video coding (SVC)

- Single layer video streams with network coding (SL+NC)- Single layer streams (SL)

Performance metrics- Average streaming rate- Average streaming quality- Number of streaming requests served - Fraction of late framesFraction of late frames

Mohamed Hefeeda 15

Page 16: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Evaluation: Average Streaming Rate

Less than 18% of peers receive rate of 200 kbps or less

Mohamed Hefeeda

Less than 18% of peers receive rate of 200 kbps or less,50% of peers receive 600+ kbps

16

Page 17: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Evaluation: Average Streaming Quality

More than 5 dB quality improvement

Mohamed Hefeeda

More stable and smoother quality against SL and SL+NC17

Page 18: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Evaluation: Number of Served Requests

More streaming capacity: up to 30% more requests served

Mohamed Hefeeda

More streaming capacity: up to 30% more requests served

18

Page 19: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Evaluation: Fraction of Late Frames

Almost no peer with high fraction of late frames16% of peers with more than 80% of late frames in single

Mohamed Hefeeda

16% of peers with more than 80% of late frames in single layer streaming system

19

Page 20: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Impact of Churn Rate on Video Quality

Improving the quality as more peers join - More throughput providing more video layers

Mohamed Hefeeda

- More throughput, providing more video layers- Efficient use of resources of the new peers

20

Page 21: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Impact of Flash Crowd Arrivals

Demand for receiving video data more than available resourcesavailable resources

- Up to 5 dB improvement- Low quality under very high peer arrival rates

• Limited uploadcapacity

Mohamed Hefeeda 21

Page 22: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Conclusions

New system for P2P streaming Integration of network coding and scalable videoIntegration of network coding and scalable video coding

- Supports receiver heterogeneity- Better utilization of peer upload bandwidth- More robust for network and peer dynamics

Evaluation study in realistic settings - Significant performance gain in

• Visual quality• Visual quality• Average streaming rate• Streaming capacity

Mohamed Hefeeda

• Adaptation to high peer dynamics

22

Page 23: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

Thank You!Thank You!

Questions??

More info at:More info at:

http://nsl cs sfu ca/http://nsl.cs.sfu.ca/

Mohamed Hefeeda 23

Page 24: Live P2P Streaming with Scalable Video Codinggg and ...mhefeeda/Talks/mmsys10_svc-nc.pdf · Motivations Wide deployment of P2P streaming systems-PPLive, UUSee, SopCast, CoolStreaming,

References

[Gkantsidis 05] C. Gkantsidis and P. Rodriguez. Network coding for large scale content distribution. In Proc. of IEEE INFOCOM’05, pages 2235–2245, Miami, FL, March 2005.[Wang 07] M. Wang and B. Li. Lava: A reality check of network coding in peer-to-peer live streaming. In Proc. Of IEEE INFOCOM’07, pages 1082–1090, Anchorage, AK, May 2007.[Feng 08] C. Feng and B. Li. On large-scale peer-to-peer streaming systems

ith t k di I P Of ACM M lti di ’08 269 278with network coding. In Proc. Of ACM Multimedia’08, pages 269–278, Vancouver, Canada, October 2008.[Chenguang 07] X. Chenguang, X. Yinlong, Z. Cheng, W. Ruizhe, and W. Qingshan. On network coding based multirate video streaming in directed networks In Proc Of IEEE International Conference on Performancenetworks. In Proc. Of IEEE International Conference on Performance, Computing and Communications (IPCCC’07), pages 332–339, New Orleans, LA, April 2007.[Zhao 06] J. Zhao, F. Yang, Q. Zhang, Z. Zhang, and F. Zhang. Lion: Layered overlay multicast with network coding. IEEE Transactions on Multimedia, 8(5) 1021 1032 O t b 20068(5):1021–1032, October 2006.[Nguyen 07] K. Nguyen, T. Nguyen, and S. Cheung. Peer-to-peer streaming with hierarchical network coding. In Proc. of IEEE International Conference on Multimedia and Expo (ICME’07), pages 396–399, Beijing, China, July 2007.

Mohamed Hefeeda