Optimizing the Quality of Scalable Video Streams in P2P Networks Method The Problem

advertisement
Optimizing the Quality of Scalable
Raj Kumar Rajendran
Video Streams in P2P Networks
Dan Rubenstein
Dept of Electrical Engineering
Columbia University
•
Video time-sliced
fixed-bytesize
epochs
•
Epoch 1
•
– Minimizes waste and variability
– Maximizes smoothness
Time
– In practice: future bandwidth availability not known
• We develop on-line algorithms that allocates current
bandwidth to download current or future parts of the video
Bandwidth
Time
Solution
Naïve Solutions
Same-Index (Greedy)
– Allocate all currently available bandwidth to
nearest future epoch
•
video displayed
•
Smallest-Bin (Conservative)
– Allocate all current bandwidths to future
epoch with fewest layers
–Waste: the amount of unused
available bandwidth
–Smoothness: the average change
in video quality
–Variability: the standard deviation
Bandwidth from
a single Epoch
Largest Hill: Allocate to earliest epoch maintaining slope
Our Solution: Constrained
Allocators
– Problem: Large variation in the quality of
•Formulate measures of video
quality
We identify an off-line algorithm when future bandwidth
availability is known
We prove optimality:
Video bitrate
Buffering
•
Novel Prefetching Approach:
Epoch 5
•
How do we use
available bandwidth
chunks of current
epoch?
Approach
•
•
Attempt to maximize
utilization, given smoothness
constraints
Bound the downhill slope of
allocations
Three variants
Mean Hill: Most empty epoch smaller than mean, maintaining slope
Wide Hill: Earliest epoch smaller than mean maintaining slope
– Problem: Wastes bandwidth
Video Quality of Constrained Allocators
–
0
0.57 1.04 1.51 1.91 2.28 2.62 2.94
•
3.9
Best
SameIndex
SmallestBin
LargeHill
WideHill
MeanHill
3.5
3.3
3.1
2.9
2.7
2.5
0.57 1.04 1.51 1.91 2.28 2.62 2.94
Std. Dev (chunks/period)
–
–
Mean-hill and wide hill allocators
perform close to the bound
Largest hill performs a little
worse
Naïve Allocators perform poorly
64
1.
73
1.
92
1.
08
2.
32
2.
67
2.
86
97
64
4
Results
–
3.7
0
1.
–
0.1
73
0.5
0.2
1.
1
0.3
92
1.5
0.4
1.
–
–
Best
SameIndex
SmallestBin
LargeHill
WideHill
MeanHill
Best
SameIndex
SmallestBin
LargeHill
WideHill
MeanHill
0.5
08
2
0.6
2.
2.5
0.7
32
0.57 1.04 1.51 1.91 2.28 2.62 2.94
Input: bandwidth traces obtained
while downloading video from a
P2P network
Tested on DSL and T1
Video downloaded from multiple
peers
Waste, smoothness, Variabilty
measured with increasing epoch
lengths
2.
–
0
2.
Constrained Allocators
vastly outperform naïve
allocators and are close
to the bound
The naïve allocators
perform well on one of
the measures but poorly
overall
Experiment
67
–
•
2.
Results
2
97
•
4
Best
SameIndex
SmallestBin
LargeHill
WideHill
MeanHill
2.
–
6
Bandwidth Trace
Experiments:
Smoothness
–
Input bandwidth
simulated
Increasing variance,
constant mean
Waste,smoothness,
variability measured
Best
SameIndex
SmallestBin
LargeHill
WideHill
MeanHill
8
Variability
–
Waste%
Experiment
Smoothness
• Viewing scalably encoded videos in P2P systems
without smart prefecthing strategies yields a poor
viewing experience
• We provide an off-line algorithm that provides the
optimal performance given bandwidth constraints
• We provide on-line algorithms that perform close to
the optimum and vastly outperform naïve algorithms
•
10
Variability
Impact
Simulation Results
Waste%
12
10
9
8
7
6
5
4
3
2
1
0
2.
Experimental Verification
86
•How do we maximize
video quality timevarying bandwidth?
Bitrate
2.
• Challenge: what should
• Video streaming in P2P
available bandwidth be
systems is a potential
killer app
used to prefetch?
– Downloading all layers of
• Bandwidth availability to
current portion can create
a client fluctuates
unpleasant variation in
unpredictably and rapidly
video quality as bandwidth
with time
availability changes
• Solution: use scalable
– Prefetching one layer at a
coding (FGS) to break
time unnecessarily forces
viewing of initial portion of
up video into M layers
video at lowest quality
• Viewing more layers =
higher fidelity viewing
Discretized Model:
Best
SameIndex
SmallestBin
LargeHill
WideHill
MeanHill
3.8
3.6
3.4
3.2
3
2.
97
2.
86
2.
67
2.
32
2.
08
1.
92
1.
73
1.
64
The Problem
Method
Std. Dev (chunks/period)
Download