27
Dept. of Information Engineering, University of Padova Improving Quality-of-Experience for Multiple Description Video Transmission in Peer-To-Peer Networks Simone Milani and Giancarlo Calvagno E-mail: {simone.milani,calvagno}@dei.unipd.it Milan, Italy - Feb. 11 th , 2010

Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Dept. of Information Engineering, University of Padova

Improving Quality-of-Experience for Multiple Description Video Transmission

in Peer-To-Peer Networks

Simone Milani and Giancarlo Calvagno

E-mail: {simone.milani,calvagno}@dei.unipd.it

Milan, Italy - Feb. 11th, 2010

Page 2: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

2

Outline

Peer-to-Peer transmission for video streaming

A description of Multiple Description Coding

Adopted MDC schemes

Application of Multiple Description Coding to P2P transmission

The problem of granting both intra and inter stream diversity

A distributed classification approach for congestion control

Experimental results and conclusions

Page 3: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

3

Diffusion of Peer-to-Peer Transmission

Client-Server Content Delivery Network (CDN) Peer-To-Peer (P2P)

Nowadays, the traditional client-server (C-S) paradigm for accessing and distributing information throughout the network has been partially replaced by distributed delivery systems.

In our approach we consider P2P communications

Page 4: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

4

P2P Networks for video delivery

P2P protocols permits downloading the requested data from a set of separate network nodes instead of a single one, with

theoretical increase in the delivery capacity per single user;

cost reduction;

increment in the number of users that can be served at the same time.

Novel problems are posed to designer of video systems and services

Need to avoid congestions

Maximize the visual quality at the end terminal

Provide video streaming services with no interruptions and jitters

Need to synchronize different streams

Control the amount of data injected in the network

Page 5: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

5

Multiple Description Coding

Multiple Description Coding …represents a single information source with several chunks of data (descriptions)so that the source can be approximated from any subset of the chunks.

1/16 descr. 2/16 descr. 4/16 descr.16/16 descr.

Increasing the number of descriptions improves the quality of the reconstructed sequence.

Every description is independently decodable and has the same significance in the reconstruction of the transmitted sequence.

Page 6: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Fitting MDC to P2P Video Streaming

MDC schemes proves to be suitable for P2P streaming.

Each peer can be associated to one description.

Independent downloading of each description permits video streaming without jitters.

MDC makes P2P transmission robust to high churning rates and losses.

6

Page 7: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

MDC vs. Layered Coding: Which Is The Best ?

Advantages:

No hierarchy between the different streams

Continuous playback as far as at least one stream is received

High robustness to packet losses

Smooth quality degradation with respect to increasing loss probability

Quality of the reconstructed sequence is not constrained by the quality of the neighboring nodes

Disadvantages:

Less efficient in terms of compression

Less flexible (depending on the adopted scheme)

No standardization

Q0

Q0 Q1

Q1

Q2 > Q1 > Q0quality levels 7

Page 8: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Simone Milani, University of Padova ACM Multimedia 2010 – WS 16

8

Open Problems

Optimal routing (e.g. Rainbow Network Flow)

Definition of the delivery tree

Handling with varying network topology

Quality control and error protection

Error control and congestion handling in distributed way

FEC codesPacket classification

Page 9: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Adopted MD methods

MD with polyphase subsampling of odd and even pixel lines (2 descriptions) [1]

MD with polyphase subsampling using quincunx subsampling (4 descr.) [1]

MD with polyphase subsamplig a DVC coding of residual signal (MDDVC) [4]

MD with redundant slices (RSMDC) [2]

MD with redundant slices and DVC coding of residual (RSMDDVC) [5]

MD based on FEC and SVC (MD-FEC) [3]

[1] R. Bernardini and M. Durigon and R. Rinaldo and L. Celetto and A. Vitali, Polyphase Spatial Subsampling Multiple Description Coding of Video Streams with H.264, Proc. of ICIP 2004.[2] T. Tillo and M. Grangetto and G. Olmo, “Redundant slice optimal allocation for H.264 multiple description coding”, IEEE TCSVT, Jan. 2008[3] R. Puri and K. Ramchandran, “Multiple description source coding using forward error correction codes”, Proc. of Asilomar Conf. 1999.[4] S. Milani and G. Calvagno, “A Distributed Video Coding Approach for Multiple Description Video Transmission over Lossy Channels”, Proc. of EUSIPCO 2009[5] S. Milani and G. Calvagno, Multiple Description Distributed Video Coding Using Redundant Slices and Lossy Syndromes, IEEE SPL, Jan 2010.

Page 10: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Using Polyphase Subsampling and Redundant Slices

Slices are coded twice at high and low quality.Slices are multiplexed

Slices are coded twice at high and low quality.Slices are multiplexed

Pixels are sampled along vertical and horizontal directions

Page 11: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Additional MD methods

Page 12: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Distributed Source Coding

12

Page 13: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

13

Packet classification for MDC Video over P2P

An effective transmission needs to differentiate the priority of packets depending on whether they contain

Crucial information for decoding

Information that can be easily estimated from previous data

Packet loss probability needs to vary (need for “diversity” in the priority assignment).

Inter-stream diversity

MD1 MD2

Intra-stream diversity

MD1 MD2

Page 14: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

14

Game Theory and Non-Cooperative Games

A game consists of:a set of n players (identified by the index d),a set of choices (or strategies) available to those players, a specification of payoffs/costs for each player d function of

A/B Betray Silent

Betray (3,3) (0,5)

Silent (5,0) (1,1)

the final aim of each player is maximizing its own payoff (or minimize the cost);

the possible behaviors of the others (and the lack of control) make the player less demanding.

Nash equilibria are configurations c* where none of the player is willing to change its strategy as the strategies of the other players remain unchanged, i.e.

Prisoners' Dilemma

Page 15: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

15

Non-cooperative game for packet classification

Cost function (expected quality degradation)[Milani and Calvagno, ICIP '09]

0 1 2

0 0.22,0.22 0.14,0.19 0.19,0.31

1 0.19,0.14 0.24,0.24 0.21,0.27

2 0.31,0.19 0.27,0.21 0.40,0.40

Example with TRTCM packet classification:

3 classes=color labels (green, yellow, red) and

2 players

i: packet indexd: index for players or associated descriptions

: loss probability for class k

C: classes : PSNR degradation : strategy of player d for the packet i (packet prior.)

Page 16: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

16

Enhancing the quality of MDC transmission

Inter-stream diversityIntra-stream diversity

Sx, S

y, D

t: horizontal, vertical,

temporal gradients

Correlation ratio

Payoff (or cost) functions must take care of both types of diversity

Page 17: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Creating coalitions

•Nodes can cooperate among each other.•Performance improves in case a small amount of information is shared between nodes (i.e. network conditions)

•It is possible to plan joint strategies

*verticalhorizontaldiagonal

Page 18: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Peculiarities of the GT approach

Classification performed at peer level

No need to know the conditions of the other peers

Low playout delay

Reduced control messaging

UEP for both intra and inter diversity

The game theory optimization leads selfish and individualistic peers to a “social behaviour”.

Both intra and inter stream diversity is granted.

Page 19: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

19

Experimental results A

MDC 4-descriptionswith polyphase subsamplingcoded with GOP IPPP and fixed QP

Sequence foreman QP=30

Sequence crew QP=25

Congestion affecting all the streams

Page 20: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

20

Experimental results B

MDC 4-descriptionswith polyphase subsamplingcoded with GOP IPPP and fixed QP

Sequence foreman QP=30

Sequence flower QP=30Congestion affecting a single stream

Page 21: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Results for MD-FEC on Network A

Foreman (CIF) Crew (CIF)

GOP IBBP (hierarchical B) QP=30 fixed MGS enabled12 descriptions grouped into 4 streams of 3 descriptions

Page 22: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Results with coalitional games (network A)

Foreman (CIF) Crew (CIF)

Page 23: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Extending the experimental setting

Using GT-ITM for the a random network generation (100 nodes)

Congestions take place on a random set of links (percentage of

congested links is a simulation parameters)

Congestion level can vary

Page 24: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

Experimental results with GT-ITM networks

ts 1 473 0 01 20 3 1.04 20 3 0.68 10 3 0.42

Page 25: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

PSNR

0.94

NON COOP 32.45

COOP

1 COALIZIONE 32.77

v0d0v0d1

1 COALIZIONE 32.47

v0d0v1d0

1 COALIZIONE 33.52

v0d0v1d1

1 COALIZIONE 33.47

v0d1v1d0

1 COALIZIONE 32.97

v0d1v1d1

1 COALIZIONE 32.71

v1d0v1d1

Page 26: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

26

Conclusions and future work

Distributed classification strategies proves to be extremely effective for congestion handling in P2P protocols;

For MDC video transmission over P2P networks, both intra and inter stream diversity has to be granted;

This requirement can be satisfied via classification strategy based on a non-cooperative game;

An accurate modulation of both intra and inter stream diversity permits improving the quality of the reconstructed sequence.

Tests of the algorithms on different types on networks;

Allowing some partial inter-peer communications;

Tests using 3D video signals.

Ongoing work …..

Page 27: Improving Quality-of-Experience for Multiple …...•Nodes can cooperate among each other. •Performance improves in case a small amount of information is shared between nodes (i.e

27

Thank you for the attention !!

Any question ?

More results and documentation can be found at

http://www.dei.unipd.it/~sim1mil