Chameleon: Adaptive Peer-to-Peer Streaming with Network Coding

advertisement
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
1
Outlines




Introduction
Chameleon: Adaptive P2P Streaming with
Network Coding
Performance Evaluation
Conclusion
2
Introduction

Current P2P streaming systems


PPLive, PPStream, TvAnt, SopCast, TVUPlayer…
Their limitations

Provide the same Quality of Service
to all their customers regardless of
network conditions
 end-device’s characteristics
 user preferences

3
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
-> adaptability
-> expressiveness
Source:
http://ip.hhi.de/imagecom_G1/savce/
4
Introduction

Motivations for using network coding

peer coordination


quality adaptation


Peer coordination is critical to the system performance because it controls the
collaboration of sending peers to utilize available bandwidth from each sender to
maximize the delivered quality at the receiving peer.
The purpose of quality adaptation is to avoid playback skips and to maximize the video
quality 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
5
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
received 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.
6
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
L4
L3
L2
L1

L2
L1
Higher upload contribution results in better received video quality
http://www.powercam.cc/slide/609
77
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
MDC
encoding
MDC
decoding
http://www.powercam.cc/slide/609
Video
quality
Video
content
# of
description
88
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
9
Scalable Video Coding (SVC)
SNR scalable
coding
Temporal
scalable coding
Prediction
Enhancement
Layer
Base layer
coding
Scalable
bit-stream
Spatial
decimation
SNR scalable
coding
Temporal
scalable coding
Prediction
Base layer
coding
10
Base Layer
http://www.powercam.cc/slide/111
•LR (Layer
Representation)
•An Access Unit
(AU) consists of all
LRs that represent
an original picture.
•IDR
(Instantaneous
Decoding Refresh)
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.
11
Fig. 2. The store order of the entities in the video file.
12
A segmentation method to use SVC in P2P
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.
13
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.
14
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 fluctuations
Offers low skip rates and high quality satisfaction
15
Architecture
-Invoked when peer
-Invoked when the
joins or when peer
status of the playback
wants
-Selects
to improve
potential
buffer changes
quality
senders
level
to sendtolayer
-Sends
request
(periodically)
requestssenders
selected
- adds/keeps/drops
-Forms/maintains the
quality level
overlay.
16
Class-based Vs. Quality-based
Neighbor Selection
•Peers are classified into
classes based on their
bandwidth capacity
•Each peer calculates the
average quality level it has
perceived so far.
•A peer connects to other
peers in the following priority
•Peers of the same class
•Peers of higher classes
•Peer of lower classes
•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
•If more peers than needed,
choose randomly.
17
Quality Adaptation

The status of the playback buffer with two
thresholds


add_threshold
drop_threshold
Fig. 7. The playback buffer in Chameleon: The dark shade indicates the receiving
status of each segment.
Ex: we set drop_threshold = 6, and add_threshold =drop_threshold+δ, δ=2, ..., 12.
18
Adaptation Graph
Fig. 9. An example of the playback graph of a typical peer.
(1): playback skip
(2): buffering effect
Aurora Workshop, Oslo 24-26
19
Quality Adaptation
20
Sender Selection

Random-based Vs. Heuristic-based selection


Closest available bandwidth capacity (maximize
available bandwidth capacity utilization)
Smallest number of available layers (maximize
available layer utilization)
21
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
blocks 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
22
23
24
Performance Evaluation

Environment


JSVM Software,
Version 9.17
generate a real twohour video sequence
 4 quality levels
(average bit rate)




level 1: 620 Kbps
level 2: 825 Kbps
level 3: 945 Kbps
level 4: 1065 Kbps
25
Performance Evaluation

Performance metrics
 Playback skip rate: the percentage of segments skipped
during playback.
 Average quality satisfaction: the average quality
satisfaction of the system.
Average_ skip _ rate 
Playback_ skips
Total _ playbacks
Perceived _ quality_ level
Average_ quality_ satisfaction 
Expected_ quality_ level
26
Performance Evaluation
Fig. 11. The performance of Chameleon and FABALAM in different network sizes.
•Vary the number of peers from 70 to 700. Peers join the network randomly, and stay connected until the
session ends.
27
• Chameleon achieves very low skip rates.
• The quality satisfaction of Chameleon is always greater than 90%.
Performance Evaluation

Peer Dynamics

use the Weibull
distribution —
Weibull(k, 2)
 With a two-hour
streaming 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.
28
Performance Evaluation
• Chameleon can adapt to peer dynamics well to achieve stable performance,
whereas the performance of FABALAM is much impacted by peer dynamics.
29
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.
30
References








[1] H. Schwarz, D. Marpe, and T. Wiegand, “Overview of the Scalable Video Coding
Extension 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-toPeer 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 2327, 2010.
31
Download