Upload
india-carlson
View
47
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Chameleon : Adaptive Peer-to-Peer Streaming with Network Coding. Anh Tuan Nguyen, Baochun Li, and Frank Eliassen Department of Informatics, University of Oslo, Oslo, Norway IEEE INFOCOM 2010. Outlines. Introduction Chameleon : Adaptive P2P Streaming with Network Coding - PowerPoint PPT Presentation
Citation preview
1
Chameleon: Adaptive Peer-to-Peer Streaming
with Network Coding
Anh Tuan Nguyen, Baochun Li, and Frank Eliassen
Department of Informatics, University of Oslo, Oslo, Norway
IEEE INFOCOM 2010
2
Outlines
Introduction Chameleon: Adaptive P2P Streaming with Ne
twork Coding Performance Evaluation Conclusion
3
Introduction
Current P2P streaming systems PPLive, PPStream, TvAnt, SopCast, TVUPlayer…
Their limitationsProvide the same Quality of Service
to all their customers regardless of network conditionsend-device’s characteristicsuser preferences
4
Introduction
▪ Approach: Scalable Video Coding + P2P networking▪ An original SVC stream can be filtered to produce video of
different qualities, spatial resolution, and frame rates
Source: http://ip.hhi.de/imagecom_G1/savce/
-> adaptability-> expressiveness
5
Introduction Motivations for using network coding
peer coordination Peer coordination is critical to the system performance because it controls the collaborati
on of sending peers to utilize available bandwidth from each sender to maximize the delivered quality at the receiving peer.
quality adaptation The purpose of quality adaptation is to avoid playback skips and to maximize the video q
uality when bandwidth variations occur.
Exploiting Network Coding coding at intermediate nodes in the overlay networks all pieces of information are treated equally; every packet encoded by a peer
is innovative to others Benefits
reduce delivery time among peers increase the potential for peer collaboration make the system more resilient to peer dynamics and bandwidth variations
6
Introduction Combining network coding with SVC
SVC prioritizes video data to provide different quality levels by allowing the extraction of substreams.
Network coding makes data packets equally important to ease the data delivery, and the original data is only recovered when enough linearly independent blocks are received. With network coding, a peer only needs to check if it has recei
ved a sufficient number of linearly independent coded blocks, without being concerned with who has been sending them.
Since coded blocks are equally useful to the receiver, the responsibilities of a particular sender can be easily transferred to other senders if it leaves the system.
7
Layered Video Single layer Video
All peers receive the same video quality PPStream, PPLive, CoolStreaming
Layered video A video is encoded into several layers More layers introduce better video quality Nested dependence between layers A higher layer can be decoded only if all the lower layers are available
Higher upload contribution results in better received video quality
L4
L3
L2
L1
L2
L1
7http://www.powercam.cc/slide/609
8
Multiple Description Coding (MDC)
Video encoding/decoding technology Video content is encoded into several descriptions Each description can be decoded independently Even receiver only receives one description, the video is
displayed with low quality The more descriptions received, the better video quality Compatible for transmitting video streaming in the Internet
encoding
MDCVideocontent
decoding
MDC
# of description
Vid
eo
qu
ality
8http://www.powercam.cc/slide/609
9
Scalable Video Coding (SVC)
SVC is an extension to the H.264/MPEG4-AVC video coding standard. To extend the wide range of:
Temporal Scalability. Spatial Scalability. Quality Scalability.
An SVC bit-stream consists of a base layer and several enhancement layers. The base layer is a plain H.264/MPEG4-AVC bit-
stream for backward compatibility.
http://www.powercam.cc/slide/111
10
Scalable Video Coding (SVC)
Spatial decimation
Temporal scalable coding
Temporal scalable coding
Prediction
Prediction
Base layer coding
Base layer coding
SNR scalable coding
SNR scalable coding
Scalable bit-stream
Base Layer
Enhancement Layer
http://www.powercam.cc/slide/111
11
Fig. 1. An example of the SVC structure. (a) An AU consisting of 4 LRs. (b) A GOP consisting of 8 pictures (AUs) and coded with hierarchical B-pictures. The symbols Tk specify the temporal layers with k representing the corresponding T_ID. The numbers below specify the coding order. (c) A coded video sequence.
•LR (Layer Representation)•An Access Unit (AU) consists of all LRs that represent an original picture.•IDR (Instantaneous Decoding Refresh)
13
Fig. 3. An example of the segmentation method where the stream has 3 quality levels and is divided into segments of 2 GOPs. The symbols QL(quality level) k specify Q_ID = k.
A segmentation method to use SVC in P2P
14
Fig. 4. An example of the combination of network coding and SVC. Packet 1, 2, and 3 are divided into n, m, and k blocks, respectively. Network coding with different number of unknowns (n, m, and k) is used for different quality levels.
15
Chameleon: Adaptive P2P Streaming with NC and SVC
The primary design goal of Chameleon is to effectively utilize available bandwidth capacity of each peer to maximize delivered quality under bandwidth variations.
A streaming protocol designed to incorporate NC with SVC.Adapts to network fluctuationsOffers low skip rates and high quality satisfaction
16
Architecture
-Invoked when peer joins or when peer wants to improve quality level (periodically)-Forms/maintains the overlay.
-Invoked when the status of the playback buffer changes
- adds/keeps/drops quality level
-Selects potential senders to send layer requests-Sends request to selected senders
17
Class-based Vs. Quality-based Neighbor Selection
•Peers are classified into classes based on their bandwidth capacity
•A peer connects to other peers in the following priority•Peers of the same class•Peers of higher classes•Peer of lower classes
•If more peers than needed, choose randomly
•Each peer calculates the average quality level it has perceived so far.
•When a peer selects a neighbor, it will choose the peer whose average quality level is closest to it class.
•If more peers than needed, choose randomly.
18
Quality Adaptation
The status of the playback buffer with two thresholds add_threshold drop_threshold
Ex: we set drop_threshold = 6, and add_threshold =drop_threshold+δ, δ=2, ..., 12.
Fig. 7. The playback buffer in Chameleon: The dark shade indicates the receiving status of each segment.
19
Adaptation Graph
(1): playback skip(2): buffering effect
Aurora Workshop, Oslo 24-26
Fig. 9. An example of the playback graph of a typical peer.
21
Sender Selection
Random-based Vs. Heuristic-based selectionClosest available bandwidth capacity (maximize
available bandwidth capacity utilization)Smallest number of available layers (maximize
available layer utilization)
22
Peer Coordination
Receiver-driven approach Each receiver:
sends requests for the lowest unavailable layer to all senders. progressively decodes arrived blocks when having received enough linearly independent blocks, sends
a stop notification (via buffer maps) to the senders, finishes the decoding process
Each sender: on receiving a request, performs network coding on available block
s of the requested layer, and sends newly coded blocks to the requesting peers automatically and continuously as soon as possible
on receiving a stop notification, stops sending
25
Performance Evaluation
Environment JSVM Software,
Version 9.17 generate a real two-
hour video sequence 4 quality levels
(average bit rate) level 1: 620 Kbps level 2: 825 Kbps level 3: 945 Kbps level 4: 1065 Kbps
26
Performance Evaluation
Performance metrics Playback skip rate: the percentage of segments skipped during playback. Average quality satisfaction: the average quality satisfaction of the
system.
playbacksTotal
skipsPlaybackrateskipAverage
_
___
levelqualityExpected
levelqualityPerceivedonsatisfactiqualityAverage
__
____
27
Performance Evaluation
•Vary the number of peers from 70 to 700. Peers join the network randomly, and stay connected until the session ends.• Chameleon achieves very low skip rates.• The quality satisfaction of Chameleon is always greater than 90%.
Fig. 11. The performance of Chameleon and FABALAM in different network sizes.
28
Performance Evaluation
Peer Dynamics use the Weibull distrib
ution — Weibull(k, 2) With a two-hour stre
aming session, we use 3 different values of k = 2000, 4000, and 6000 to generate different mean lifetimes.
The network size is 350. Fig. 12. The effects of peer dynamics on Chameleon.
29
Performance Evaluation
• Chameleon can adapt to peer dynamics well to achieve stable performance, whereas the performance of FABALAM is much impacted by peer dynamics.
30
Conclusion
We present the design and the performance evaluation of Chameleon, our new adaptive P2P streaming protocol that combines the advantages of network coding and SVC.
With Chameleon, we demonstrate that the combination of network coding and SVC is feasible and beneficial.
31
References [1] H. Schwarz, D. Marpe, and T. Wiegand, “Overview of the Scalable Video Coding Exten
sion of the H.264/AVC Standard,” IEEE Trans. on Circuits and Systems for Video Technology, vol. 17, no. 9, pp. 1103–1120, Sep. 2007.
[2] M. Wien, H. Schwarz, and T. Oelbaum, “Performance Analysis of SVC,” IEEE Trans. on Circuits and Systems for Video Technology, vol. 17, no. 9, pp. 1194–1203, Sep. 2007.
[3] T. Oelbaum, H. Schwarz, M. Wien, and T. Wiegand, “Subjective Performance Evaluation of the SVC Extension of H.264/AVC,” in Proc. of 15th IEEE International Conference on Image Processing (ICIP), Oct. 2008, pp. 2772–2775.
[5] M. Wang and B. Li, “R2: Random Push with Random Network Coding in Live Peer-to-Peer Streaming,” IEEE Journal on Selected Areas in Communications, vol. 25, no. 9, pp. 1655–1666, Dec. 2007.
[6] Y. Cui and K. Nahrstedt, “Layered peer-to-peer streaming,” in Proc. of NOSSDAV, Jun. 2003, pp. 162–171.
[7] Y. Liu, W. Dou, and Z. Liu, “Layer Allocation Algorithms in Layered Peer-to-Peer Streaming,” in Proc. of IFIP international conference on network and parallel computing (NPC) , Oct. 2004, pp. 167–174. [FABALAM]
[8] R. Rejaie and A. Ortega, “PALS: Peer-to-Peer Adaptive Layered Streaming,” in Proc. of NOSSDAV, Monterey, CA, USA, jun 2003, pp. 153–161.
Anh Tuan Nguyen, Baochun Li, Frank Eliassen. “Quality- and Context-aware Neighbor Selection for Layered Peer-to-Peer Streaming,” in the Proceedings of IEEE International Conference on Communications 2010 (IEEE ICC 2010), Cape Town, South Africa, May 23-27, 2010.