Chameleon adaptive peer to peer streaming with network coding l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 31

Chameleon : Adaptive Peer-to-Peer Streaming with Network Coding PowerPoint PPT Presentation

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 Performance Evaluation

Related searches for Chameleon : Adaptive Peer-to-Peer Streaming with Network Coding

Download Presentation

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

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Chameleon adaptive peer to peer streaming with network coding l.jpg

Chameleon: Adaptive Peer-to-Peer Streamingwith Network Coding

Anh Tuan Nguyen, Baochun Li, and Frank Eliassen

Department of Informatics, University of Oslo, Oslo, Norway

IEEE INFOCOM 2010


Outlines l.jpg

Outlines

  • Introduction

  • Chameleon: Adaptive P2P Streaming with Network Coding

  • Performance Evaluation

  • Conclusion


Introduction l.jpg

Introduction

  • CurrentP2Pstreamingsystems

    • PPLive, PPStream, TvAnt, SopCast, TVUPlayer…

  • Theirlimitations

    • Provide the same Quality of Service to all their customers regardless of

      • network conditions

      • end-device’s characteristics

      • user preferences


Introduction4 l.jpg

Introduction

-> adaptability

-> expressiveness

  • 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/


Introduction5 l.jpg

Introduction

  • Motivations for using network coding

    • peer coordination

      • 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.

    • quality adaptation

      • 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


Introduction6 l.jpg

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.


Layered video l.jpg

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 bedecoded only if all the lower layers are available

Higher upload contribution results in better received video quality

http://www.powercam.cc/slide/609

7


M ultiple d escription c oding mdc l.jpg

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

Video quality

MDC

MDC

Videocontent

encoding

decoding

http://www.powercam.cc/slide/609

# of description

8


Scalable video coding svc l.jpg

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


Scalable video coding svc10 l.jpg

Enhancement Layer

Base Layer

Scalable Video Coding (SVC)

SNR scalable coding

Base layer coding

Prediction

Temporal scalable coding

Scalable bit-stream

Spatial decimation

SNR scalable coding

Temporal scalable coding

Prediction

Base layer coding

http://www.powercam.cc/slide/111


Slide11 l.jpg

  • 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.


Slide12 l.jpg

Fig. 2. The store order of the entities in the video file.


Slide13 l.jpg

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.


Slide14 l.jpg

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.


Chameleon adaptive p2p streaming with nc and svc l.jpg

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


Architecture l.jpg

Architecture

  • Invokedwhen peer joins or when peer wants to improvequalitylevel (periodically)

  • Forms/maintainstheoverlay.

  • 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


Class based vs quality based neighbor selection l.jpg

Class-based Vs. Quality-based Neighbor Selection


Quality adaptation l.jpg

Quality Adaptation

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.

  • The status of the playback buffer with two thresholds

    • add_threshold

    • drop_threshold


Adaptation graph l.jpg

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


Quality adaptation20 l.jpg

Quality Adaptation


Sender selection l.jpg

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)


Peer coordination l.jpg

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


Performance evaluation l.jpg

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


Performance evaluation26 l.jpg

Performance Evaluation

  • Performance metrics

    • Playback skip rate: the percentage of segments skipped during playback.

    • Average quality satisfaction: the average quality satisfaction of the system.


Performance evaluation27 l.jpg

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.

  • Chameleon achieves very low skip rates.

  • The quality satisfaction of Chameleon is always greater than 90%.


Performance evaluation28 l.jpg

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.


Performance evaluation29 l.jpg

Performance Evaluation

  • Chameleon can adapt to peer dynamics well to achieve stable performance, whereas the performance of FABALAM is much impacted by peer dynamics.


Conclusion l.jpg

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.


References l.jpg

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-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.


  • Login