optimizing the quality of scalable video streams on p2p networks raj kumar rajendran dan rubenstein...
Post on 19-Dec-2015
213 views
TRANSCRIPT
Optimizing the quality of scalable video streams on p2p networks
Raj Kumar RajendranDan 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
[email protected], DNA Lab, Columbia University
Known Solutions
Use buffering (pre-fetching) Divide stream into layers
Facilitates multiple-peer downloads
[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
[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
[email protected], DNA Lab, Columbia University
Structure
Model Problem Formulation Ideal solution (offline) Online Solutions
Naïve Solutions Hill-climbing Solutions
Results
[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
[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
[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
[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
[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
[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
[email protected], DNA Lab, Columbia University
Structure
Model Problem Formulation Ideal solution (offline) Online Solutions
Naïve Solutions Hill-climbing Solutions
Results
[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
[email protected], DNA Lab, Columbia University
Structure
Model Problem Formulation Ideal solution (offline) Online Solutions
Naïve Solutions Hill-climbing Solutions
Results
[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
[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
[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
[email protected], DNA Lab, Columbia University
Structure
Model Problem Formulation Ideal solution (offline) Online Solutions
Naïve Solutions Hill-climbing Solutions
Results
[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
[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
[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