optimizing the quality of scalable video streams on p2p networks raj kumar rajendran dan rubenstein...

22
Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

Post on 19-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

Optimizing the quality of scalable video streams on p2p networks

Raj Kumar RajendranDan Rubenstein

DNA Group, Columbia University

Page 2: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Motivation Multimedia Streams on P2P networks

are growing in popularity P2P streams account for large fraction of

TCP traffic! Our Goal: support live streaming.

However bandwidth Varies widely with time Is often insufficient for high-quality video

Page 3: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Known Solutions

Use buffering (pre-fetching) Divide stream into layers

Facilitates multiple-peer downloads

Page 4: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Using Layered Coding Use Fine-Grained

Scalable coding Required small

base-layer Optional large

enhancement layers

Divide stream into M equally sized layers

Time t

Bitra

te

Base Layer

Enhancement Layers

Video bitrate

M

1

2

Page 5: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Question Viewer’s available

bandwidth fluctuates How do we

download? The two extremes:

Emphasize present quality

Ensure future first The tradeoff

Bandwidth utilization vs

Variation in quality

Bandwidth

Video layers

Current time

New

Bandwidth

Present

Future

Page 6: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Structure

Model Problem Formulation Ideal solution (offline) Online Solutions

Naïve Solutions Hill-climbing Solutions

Results

Page 7: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Discretizing the Video Like to deal with video

in constant sized units But video is variable

rate Divide time into

variable-length epochs

Size epochs to have same number of video bits S

Each layer of each epoch is termed a chunk

All chunks are of the same size (S/M bits)

Time tPre-fetch Epoch

C1

C2

C3

Playback Bitrate

Epoch 0

Equal Areas (S bits)

Equal Areas (S/M bits)

Epoch 1

M=3

Page 8: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

The Model(2)

Time t

Downloaded chunks

Current Epoch

The number of chunks of video downloaded in each epoch varies

Epoch lengths vary

Bandwidth varies Bandwidth of

current epoch is used to download video chunks for future epochs

Available Bandwidth (3 chunks)

1

5

6

4

2 3

7

Page 9: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Discrete Model Playback

Output: A=<a1,a2,…aT> the allocation vector

ai is the total #chunks allocated to epoch i

0 ≤ ai ≤ M

Bandwidth Input: W=<w0,w1,…,wT-

1> the bandwidth vector wi is the #chunks of

bandwidth available at epoch i

T

k i

k

i aw10

Allocation

0 1 2

Bandwidth

W=<3,5,1,4,2> A=<1,2,2,4,4>

3 4 1

Page 10: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

An Example Which future chunk should be downloaded with a chunk of

bandwidth currently available ?

3 4

1

Bad

Varying quality, wasted bandwidth

0 1 2

Bandwidth

51 32 4

Good

Even quality, Little waste

waste

M=3

Example 1 Example 2

Page 11: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Metrics of Performance Waste

Unused bandwidth (all future chunks already downloaded)

Σwi- Σ ai

Variability Variance from maximum

possible quality (layers) Σ(M – ai)2

Smoothness Absolute change in

quality ΣAbs(ai-1-ai)

Goal: Minimize these metrics

Variability

Waste

Smoothness

Page 12: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Needed Given:

Bandwidth vector <w0,w1,…,wT-1> Produce:

Allocation vector <a1,a2,…,aT> that Minimizes Waste, Smoothness, Variability Under Constraints

Quality: Bandwidth/Time: Online: wi needs to be allocated before wi+1

T

k i

k

i aw10

Mai 0

Page 13: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Structure

Model Problem Formulation Ideal solution (offline) Online Solutions

Naïve Solutions Hill-climbing Solutions

Results

Page 14: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

The optimal solution (offline)

Is Given all of W Allocates bandwidth

of last epoch wT first and works its way back to epoch 1

Allocates wi to the smallest, latest non-full (aj<M) epoch

Proved to minimize waste, smoothness and variability in paper

0 1 2

Bandwidth

1 32 4 5

3 4

4

5

3M=3

3

2

1

2

4

1

Page 15: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Structure

Model Problem Formulation Ideal solution (offline) Online Solutions

Naïve Solutions Hill-climbing Solutions

Results

Page 16: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Online Solutions (naïve) Online algorithms make

decisions about wi purely based on wj,0≤j<i

Same-Index Allocates all bandwidth

to earliest future epoch Non-smooth, high-

variability, low-waste Smallest Bin

Allocates all bandwidth to most empty epoch

Downloads all of layer-1, then all of layer-2, etc.

Smoother, high-waste

W:<3,5,1,4,2>

Waste(2)

M=4

M=4

1 42 53

Page 17: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Hill-climbing online solutions

Solution: smooth and low-waste Guideline

Experiments: Viewers extremely sensitive to abrupt lowering of video quality.

Solution: algorithms that Bound the downhill slope of allocations

(decrease in quality) Then maximize current quality

Page 18: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Largest-Hill Maximize

current quality but ensure gentle fall in quality

Allocates such that aj-aj+1<C

Produces hills with gentle downhill slopes

0 1 2

Bandwidth

1 32 4 4

4 4

C=1M=4

Page 19: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Structure

Model Problem Formulation Ideal solution (offline) Online Solutions

Naïve Solutions Hill-climbing Solutions

Results

Page 20: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Results from simulation How do the algorithms perform

under strain Video bitrate approach bandwidth Bandwidth fluctuation increases

Draw bandwidth from Uniform and Normal distributions

600 epochs 100 runs 0

2

4

6

8

10

12

0.5 1.5 2.5

Stdandard Deviation

Waste

(%

ch

un

ks)

Best

Same Index

Smallest Bin

Large Hill

Mean Hill

Wide Hill

0

0.5

1

1.5

2

2.5

0.5 1.5 2.5

Standard Deviation

Sm

oo

thn

ess

Best

Same Index

Smallest Bin

Large Hill

Mean Hill

Wide Hill

2.5

2.7

2.9

3.1

3.3

3.5

3.7

3.9

0.5 1.5 2.5

Standard Deviation

Vari

ab

ilit

y

Base

Same Index

Smallest Bin

Large Hill

Mean Hill

Wide Hill

Page 21: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Results from bandwidth traces Bandwidth traces from DSL

Line Trace lasted 11,682 secs Downloaded 80 Mb video 1,2 or more servers Performance as function of

epoch-lengths (1,2,4,..,128) secs

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

1.5 2 2.5 3

Standard Deviation

Sm

oo

thn

ess

Base

Same Index

Smallest Bin

Large Hill

Mean Hill

Wide Hill

3.1

3.2

3.3

3.4

3.5

3.6

3.7

3.8

3.9

1.5 2 2.5 3

Standard Deviation

Vari

ab

ilit

y

Base

Same Index

Smallest Bin

Large Hill

Mean Hill

Wide Hill

3.1

3.2

3.3

3.4

3.5

3.6

3.7

3.8

3.9

1.5 2 2.5 3

Standard Deviation

Vari

ab

ilit

y

Base

Same Index

Smallest Bin

Large Hill

Mean Hill

Wide Hill

Page 22: Optimizing the quality of scalable video streams on p2p networks Raj Kumar Rajendran Dan Rubenstein DNA Group, Columbia University

[email protected], DNA Lab, Columbia University

Conclusion A solution that allows live video

streaming on P2P networks Uses scalable-coding to overcome

insufficient-bandwidth problem slice stream into lower-bandwidth streams

Clever pre-fetching ensures consistent high-quality Provide optimal offline solution Our online-algorithms performs close to

optimal