Providing Smoother Quality Layered Video Stream
Shirhari NelakuditiRaja R HarinathEwa KusmierekZhi-Li Zhang
Proceedings of NOSSDAV 2000
Outline
Introduction Smoothness Criteria and Quality Metrics Optimal Layer Selection
– Maximize Average Run Length– Maximize Minimal Run Length– Maximize Expected Run Length
Experimental Result Conclusion
Introduction
Streaming Constraints– Network Bandwidth– Client Buffer
Solution– Non-Layered Video : A video with different
quality (bit rate) version.– Layered Video : A video is split into layers,
and provide finer control on video quality.
Introduction
Problem– Difficult to select layers such that better but
consistent quality is ensured when the network condition are constantly varying.
Object– Address the layer selection problem in layered
video delivery and show how smoother quality video playback can be provided by utilizing the client buffer for prefetching.
Smoothness Criteria and Quality Metrics
How to define a metric that captures the user’s perception of video quality– The higher the amount of detail in the
video, the better is its quality.– It is visually more pleasing to watch a video
with consistent, albeit lower, quality than one with highly varying quality
More gradual
Fewer change
Smoothness Criteria
Metrics of the quality smoothness criteria– Higher weight to lower layers– Longer run (A sequence of consecutive frames shown in a layer)
M = (m1, m2, …, mL), L : number of layer
M1 is smoother than M2
if exist i
that m1j = m2
j, j<i and m1i > m2
i
Example:
M1 = (1, 1, 2, …)
M2 = (1, 1, 1,…..)
Quality Metric
/N/N
k : the total number of urns in a layer
n1, , ,nk : the lengths of these runs
N : the length of the video sequence
Exprun : ((1+1+2+3)/4)/12 = 0.145Minrun : 1/12 = 0.083Exprun : (12+12+22+32)/12 = 0.104
Problem Formulation
Time Slot : represents the unit of time for playing back a video frame
Client buffer underflow curve with respect to S
Client buffer overflow curve with respect to S
Problem Formulation
A(S) is said to be feasible with respect to S if and only if for i = 0, 1, ,,,,N
1. Rate constraint : i.e. ai(S) <= Ci
2. Buffer constraint : Ai(S) <= Ui(S)
3. Playback constraint : Di(S) <= Ai(S)
Optimal Layer Selection
Assumption– Each layer in the video is of CBR.– All layers are the same bit rate.– Size of each frame in a layer is 1.– Buffer and bandwidth values are all integers.
//From lower layer to higher layer
Residual Bandwidth
Residual BufferOptimal subset
Maximize Average Run Length
Key : minimizing the number of runs while keeping the sum of all the runs as high as possible.
A new run is not initiated unless the buffer is accumulated
Forward Scan
Backward Scan
Forward Scan
Buffer = 3
(1) Buffer = 1 S1 = 0
(2) Buffer = 1 S2 = 0
(3) Buffer = 2 S3 = 0
(4) Buffer = 3 S4 = 0
(5) Buffer = 3 S5 = 1
(6) Buffer = 2 S6 = 1
(7) Buffer = 2 S7 = 1
(8) Buffer = 1 S8 = 1
(9) Buffer = 0 S9 = 1(10) Buffer = 0 S10 = 0
Backward Scan
Maximal Average Run Length
Forward Scan– Identify the end of each run.– Minimal number of runs.
Backward Scan– Extend each run towards the front of it.– Maximizing the residual buffer made
available to higher layers.– Calculate residual bandwidth and buffer for
higher layers.
Maximize Minimum Run Length
Key – Reduce the variance among the runs.– Grow the shorter runs while shrinking
their longer neighbor runs. Step
1. Start with a MAX_AVG_RUN
2. Readjust the length of each run without increasing the number of runs
Maximize Minimum Run Length
nk and nk+1 are run length of consecutive run.
xk+1 is the limit length that run k+1 can grow.
if nk <= nk+1
continue with the next pair
else
select min((nk-nk+1+1)/2, xk+1) number of frames
Maximize Expected Run Length
Key– The longer runs are in the sequence, the higher
it’s expected run length is.– Extension of a longer run contributes more
towards the expected run length than that of a shorter run.
Experiment ResultThe video consists of 4 layers.
Mean Bandwidth :
•0<frame<10000 : 3.5
•10000<frame<20000 : 2.5
•20000<frame<30000 : 4.5
Varying bandwidth Buffer of 30
Buffer of 300 Buffer of 900
Conclusion
We defined smoothness criteria and designed metrics namely, avgrun, minrun, and exprun for measuring smoothness
We developed an optimal offline algorithm to find maximal average run length when network conditions are known a priori
Top Related