Providing Smoother Quality Layered Video Stream Shirhari Nelakuditi Raja R Harinath Ewa Kusmierek...

Post on 21-Dec-2015

212 views 0 download

Transcript of Providing Smoother Quality Layered Video Stream Shirhari Nelakuditi Raja R Harinath Ewa Kusmierek...

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