dynamic control of video quality for adaptive video streaming · dynamic control of video quality...

48
Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin (Bell Labs) October 14, 2015 A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Upload: others

Post on 07-Oct-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Dynamic Control of Video Qualityfor Adaptive Video Streaming

Ankit Singh Rawat (CMU)

Joint work with Emina Soljanin (Bell Labs)

October 14, 2015

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 2: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Video traffic growth

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 3: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Video traffic growth

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 4: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Video traffic growth

Two broad challengesI Storage of the content.I Delivery of the content to end users.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 5: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Adaptive video streaming

Chunk 1 Chunk 2 Chunk M

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 6: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Adaptive video streaming

Chunk 2 Chunk M

Chunk 1

Chunk 1

Chunk 1

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 7: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Adaptive video streaming

Chunk M

Chunk 1 Chunk 2

Chunk 1 Chunk 2

Chunk 1 Chunk 2

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 8: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Adaptive video streaming

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 9: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Adaptive video streaming

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 10: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Adaptive video streaming

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Video Server

(Large Storage)

Base Station

Clients

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 11: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Adaptive video streaming

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Video ServerBase Station

Clients

Chunk 2

Chunk 1 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 2 Chunk M

Chunk 1

slot 1 slot 2 slot M

Effective channel b/w the server and the clients is not constant.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 12: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Adaptive video streaming

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Video ServerBase Station

Clients

Chunk 2

Chunk 1 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 2 Chunk M

Chunk 1

slot 1 slot 2 slot M

Effective channel b/w the server and the clients is not constant.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 13: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Adaptive video streaming

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Video ServerBase Station

Clients

Client’s Bu↵er

Chunk 2

Chunk 1 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 2 Chunk M

Chunk 1

slot 1 slot 2 slot M

Pull-based streaming vs. push-based streaming.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 14: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Adaptive video streaming

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 1 Chunk 2 Chunk M

Video ServerBase Station

Clients

Client’s Bu↵er

Chunk 2

Chunk 1 Chunk M

Chunk 1 Chunk 2 Chunk M

Chunk 2 Chunk M

Chunk 1

slot 1 slot 2 slot M

Pull-based streaming vs. push-based streaming.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 15: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Quality of experience (QoE) metrics

1 Probability of buffer starvation/overflow (interruptions).

2 Number of chunks watched in high quality.

3 Number of transitions between video qualities (fluctuations).

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 16: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Avoiding buffer starvations

time (t)

No.ofch

unksin

bu↵erQ(t)

Bu↵er Limit B

Initial Bu↵ering

Tbuild

D

Bu↵er Starvation

Q(t) = D + A(t � Tbuild

)� rate

pb · (t � D).

[1] A. ParandehGheibi et al. “Avoiding interruptions - QoE trade-offs inblock-coded streaming media applications”. ISIT 2010.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 17: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Avoiding buffer starvations

time (t)

No.ofch

unksin

bu↵erQ(t)

Bu↵er Limit B

Initial Bu↵ering

Tbuild

D

Bu↵er Starvation

Initial buffering period to avoid buffer starvations.

Choose D such that that probability of buffer starvation ✏.

Single video quality level.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 18: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Problem statement

The server stores L description (quality levels) of a video file.

I Quality decreases from level 1 to level L.

Assume a stochastic channel model and a fixed scheduler.

Scheduling scheme dictates the arrival processes {Xi [n]}n�1.

I Xi [n]: # of chunks of quality level i downloaded in n-th play-out slot.

Each play-out slot comprises multiple scheduling slots.

To design video quality selection scheme with high QoE.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 19: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Problem statement

The server stores L description (quality levels) of a video file.

I Quality decreases from level 1 to level L.

Assume a stochastic channel model and a fixed scheduler.

Scheduling scheme dictates the arrival processes {Xi [n]}n�1.

I Xi [n]: # of chunks of quality level i downloaded in n-th play-out slot.

Each play-out slot comprises multiple scheduling slots.

To design video quality selection scheme with high QoE.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 20: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Our contribution

Previously known approaches involveI Estimation of effective bandwidth.I Knowledge of other parts of the system.

We propose a simple dynamic quality selection algorithm.I Requires only the current state of the buffer.

The algorithm divides the buffer range into multiple levels.

Switches among quality levels based on upward/downward buffer-statecrossing of these levels.

Quanitative analysis of various QoE metrics of interest.

[2] T.-Y. Huang et al. “Downton Abbey without the hiccups: buffer-based rateadaptation for HTTP video streaming”. ACM SIGCOMM 2013 Workshop onFhMN.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 21: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Description of the proposed quality selection algorithm

Input: For quality level i 2 [L], four thresholds

{`down

i , `low

i , `high

i , `up

i } 2 [B].

1: Two candidate quality levels (qlow, qhigh = qlow � 1).2: Initial buffering.3: while Downloading is incomplete do4: Update candidate quality levels.5: Switch between the current candidate quality levels.6: Download chunks of the selected quality level.7: Go to line 2, if buffer gets empty.8: end while

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 22: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Description of the proposed quality selection algorithm

Input: For quality level i 2 [L], four thresholds

{`down

i , `low

i , `high

i , `up

i } 2 [B].

1: Two candidate quality levels (qlow, qhigh = qlow � 1).2: while Buffer has less than D chunks do3: Download chunks of quality level qhigh.4: end while5: while Downloading is incomplete do6: Update candidate quality levels.7: Switch between the current candidate quality levels.8: Download chunks of the selected quality level.9: Go to line 2, if buffer gets empty.

10: end while

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 23: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Description of the proposed quality selection algorithm

Input: For quality level i 2 [L], four thresholds

{`down

i , `low

i , `high

i , `up

i } 2 [B].

1: Two candidate quality levels (qlow, qhigh = qlow � 1).2: Initial buffering.3: while Downloading is incomplete do4: if Q[n] > `up

qhigh

or Q[n] < `down

qlow

then5: Update candidate quality levels.6: end if7: Switch between the current candidate quality levels.8: Download chunks of the selected quality level.9: Go to line 2, if buffer gets empty.

10: end while

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 24: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Description of the proposed quality selection algorithm

Input: For quality level i 2 [L], four thresholds

{`down

i , `low

i , `high

i , `up

i } 2 [B].

1: Two candidate quality levels (qlow, qhigh = qlow � 1).2: Initial buffering.3: while Downloading is incomplete do4: Update candidate quality levels.5: if qdownload = qhigh and Q[n] `low

qlow

then6: Set qdownload = qlow.7: else if qdownload = qlow and Q[n] � `high

qhigh

then8: Set qdownload = qhigh.9: end if

10: Download chunks of the selected quality level.11: Go to line 2, if buffer gets empty.12: end while

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 25: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Thresholds based quality selection algorithm

play-out slot (n)

Q[n]

`low3

`high2

`down3

`up2

B

n1

D

n2

Q[n + 1] = max�

0,min�

Q[n] + X(·)[n]� 1,B

, n � n1.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 26: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Thresholds based quality selection algorithm

play-out slot (n)

Q[n]

`low3

`high2

`down3

`up2

B

n1

D

n2

n3

n3a

Q[n + 1] = max�

0,min�

Q[n] + X(·)[n]� 1,B

, n � n1.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 27: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Thresholds based quality selection algorithm

play-out slot (n)

Q[n]

`low3

`high2

`down3

`up2

B

n1

D

n2

n3

n3a n

4

n4a

Q[n + 1] = max�

0,min�

Q[n] + X(·)[n]� 1,B

, n � n1.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 28: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Thresholds based quality selection algorithm

play-out slot (n)

Q[n]

`low3

`high2

`down3

`up2

B

n1

D

n2

n3

n3a n

4

n4a n

5

Q[n + 1] = max�

0,min�

Q[n] + X(·)[n]� 1,B

, n � n1.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 29: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Analysis of the proposed quality selection algorithm

Two quality levels, i.e., L = 2.

Buffer evolution process = high phases + low phases.

t ih = duration of the i-th high phase.

t i` = duration of the i-th low phase.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 30: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Analysis of the proposed quality selection algorithm

Two quality levels, i.e., L = 2.Buffer evolution process = high phases + low phases.

play-out slot (n)

`down2

= 0

Q[n]

`low2

`high1

B = `up1

n1

D

n2

n3

n4

n5

t1h � n1

t1` t2h t2`

t ih = duration of the i-th high phase.

t i` = duration of the i-th low phase.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 31: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Thresholds based quality selection algorithm

play-out slot (n)

Q[n]

`low2

`high1

B

n1

D

n2

n3

n4

n5

t1h � n1

t1` t2h t2`

n2

n3

0

`low2

`high1 Lowphase

• RandomWalk on integers

Q[n] = `low2

+

n�1X

t=n2

(X2

[t]� 1)

• Starting point: `low2

.

• Boundary points: `high1

and 0.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 32: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Thresholds based quality selection algorithm

play-out slot (n)

Q[n]

`low2

`high1

B

n1

D

n2

n3

n4

n5

t1h � n1

t1` t2h t2`

n3

n4

`low2

`high1

Bu↵er Limit B

High phase

• RandomWalk on integers

Q[n] = Q[n3

]+

n�1X

t=n3

(X1

[t]�1)

• Random starting point.

• Boundary points: B and `low2

.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 33: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Analysis of the proposed quality selection algorithm

play-out slot (n)

`down2

= 0

Q[n]

`low2

`high1

B = `up1

n1

D

n2

n3

n4

n5

t1h � n1

t1` t2h t2`

t ih = duration of the i-th high phase.

t i` = duration of the i-th low phase.

We assume that the download process involves S low phases.Beginning of each low phase serves as a ‘regenerating point’.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 34: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Relevant work

Similar models have previously been studied in different contexts.Steady state analysis (infinite horizon problem).We study bounds on different QoE metrics as opposed toperforming an exact analysis.

[1] M. Roughan and C.E.M. Pearce, Martingale methods for analysingsingle-server queues, Queueing Systems, July 2002.

[2] V. I. Lotov, On oscillating random walks, Siberian Mathematical Journal,1992.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 35: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Probability of buffer starvation free play-outLemma

P�

Q[n] > 0, n1 n nend

� E{⇢bS}.

Here,

⇢ = probability that low phase ends at `high

1 .

bS = minn2N�

n :Pn

i=1bZi � MF � D

.

bZi ⇠ length of complete starvation free low phase + high phase.

0

`low2

`high1

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 36: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Probability of buffer starvation free play-out

Theorem

P�

Q[n] > 0, n1 n nend

� 1 � e�s⇤`low

2

E{bZ1}

MF � D +

E{(bZ1)2}E{bZ1}

!,

where s⇤ > 0 is such that

lnE�

es⇤(�X2[n]+1) = 0.

Proof Outline:

⇢ � 1 � e�s⇤`low

2 .

P�

Q[n] > 0, n1 n nend

� E{⇢bS}

� E{(1 � e�s⇤`low

2 )bS}

� 1 � E{bS}e�s⇤`low

2 .

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 37: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Probability of buffer starvation free play-out

Theorem

P�

Q[n] > 0, n1 n nend

� 1 � e�s⇤`low

2

E{bZ1}

MF � D +

E{(bZ1)2}E{bZ1}

!,

where s⇤ > 0 is such that

lnE�

es⇤(�X2[n]+1) = 0.

Proof Outline:

⇢ � 1 � e�s⇤`low

2 .

P�

Q[n] > 0, n1 n nend

� E{⇢bS}

� E{(1 � e�s⇤`low

2 )bS}

� 1 � E{bS}e�s⇤`low

2 .

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 38: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Probability of buffer starvation free play-out

Theorem

P�

Q[n] > 0, n1 n nend

� 1 � e�s⇤`low

2

E{bZ1}

MF � D +

E{(bZ1)2}E{bZ1}

!,

where s⇤ > 0 is such that

lnE�

es⇤(�X2[n]+1) = 0.

Proof Outline:

⇢ � 1 � e�s⇤`low

2 .

P�

Q[n] > 0, n1 n nend

� E{⇢bS}

� E{(1 � e�s⇤`low

2 )bS}

� 1 � E{bS}e�s⇤`low

2 .0

`low2

`high1

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 39: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Probability of buffer starvation free play-out

Theorem

P�

Q[n] > 0, n1 n nend

� 1 � e�s⇤`low

2

E{bZ1}

MF � D +

E{(bZ1)2}E{bZ1}

!,

where s⇤ > 0 is such that

lnE�

es⇤(�X2[n]+1) = 0.

Proof Outline:

P�

Q[n] > 0, n1 n nend

� 1 � E{bS}e�s⇤`low

2 .

Note that bS = minn2N�

n :Pn

i=1bZi � MF � D

.

Using Wald’s identity and Lorden’s result on excess over the boundary.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 40: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Probability of buffer starvation/overflow free play-outTheoremThe probability of starvation/overflow free play-out is at least

1 � e�r⇤(B�D) � e�s⇤`low

2 + e�r⇤(B̃�`high

1 )

E{eZ1}

⇣MF � D +

E{(eZ1)2}E{eZ1}

⌘.

Here, B̃ = B � f (cmax) + 1 and s⇤, r⇤ > 0 such that

lnE�

es⇤(�X2[n]+1) = 0, lnE�

er⇤(X1[n]�1) = 0.

eZ1 = length of complete low phase (no starvation) + high phase (no overflow).

play-out slot (n)

`down2

= 0

Q[n]

`low2

`high1

B = `up1

n1

D

n2

n3

n4

n5

t1h � n1

t1` t2h t2`

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 41: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Fluctuations in video quality

S: number of low phases during the download process.

Number of transitions between video qualitiesh2S � 1�

downloading ends in S-th low phase. i+

.

play-out slot (n)

`down2

= 0

Q[n]

`low2

`high1

B = `up1

n1

D

n2

n3

n4

n5

t1h � n1

t1` t2h t2`

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 42: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Fluctuations in video qualityNumber of transitions between video qualities

h2S � 1�

downloading ends in S-th low phase. i+

.

Lemma

Let downloading the file F involves S low phases, then

MF � D � E{ND}E{t1

` }+ E{t2h}

E{S} MF � D � E{ND}E{t1

` }+ E{t2h}

+ 1.

play-out slot (n)

`down2

= 0

Q[n]

`low2

`high1

B = `up1

n1

D

n2

n3

n4

n5

t1h � n1

t1` t2h t2`

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 43: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Fluctuations in video qualityMF � D � E{ND}E{t1

` }+ E{t2h}

E{S} MF � D � E{ND}E{t1

` }+ E{t2h}

+ 1.

Note that, ND = (t1h � n1)� (D � `low

2 ).

Need to compute E{t1` }, E{t2

h} and E{t1h � n1}.

I Expected time for a random walk between two levels to hit one levelbefore hitting another level.

I Using Wald’s fundamental identity.

play-out slot (n)

`down2

= 0

Q[n]

`low2

`high1

B = `up1

n1

D

n2

n3

n4

n5

t1h � n1

t1` t2h t2`

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 44: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Average video quality

Expected number of chunks watched in high quality,

⌦ = D + E�

ND +SX

i=1

Ni+1h .

Using Wald’s inequality,

⌦ = D + E{ND}+ E{S � 1}E{N2h}+ E{NS+1

h }.

Combind the bounds on E{S} with

E{t2h}� (`high

1 + f (cmax)� 1 � `low

2 ) E{N2h} E{t2

h}� (`high

1 � `low

2 ).

and0 E{NS+1

h } E{t2h}� (`high

1 � `low

2 ).

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 45: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Conclusion

Video delivey uses a very large portion of available bandwidth.

Efficient utilization of the bandwidth with high QoE is essential.

ContributionWe propose a quality selection scheme for adaptive video streaming

Depends only on the client’s local knowldege = buffer state.

Allow control on important QoE metrics through various thresholds.

Future workExtension of our analysis to more than two quality levels.

Multi-user setting.

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 46: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Thank you!

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 47: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Control of QoE metrics by varying thresholds

0 200 400 600 800 10000

20

40

60

Time (# of slots)

# o

f ch

un

ks in

bu

ffe

r

100 200 300 400 500 600 700 800 9000

1

2

Time (# of slots)

Qu

alit

y le

vel d

ow

nlo

ad

ed

High threshold

Low threshold

(B,Lh, L`, D) = (70, 50, 20, 30)

0 200 400 600 800 10000

20

40

60

Time (# of slots)

# o

f ch

un

ks in

bu

ffe

r

100 200 300 400 500 600 700 800 9000

1

2

Time (# of slots)

Qu

alit

y le

vel d

ow

nlo

ad

ed

High Threshold

Low Threshold

(B,Lh, L`, D) = (70, 35, 20, 30)

Size of a high quality chunk: 12 bits, Size of a low quality chunk: 10 bits.

Each playback slot consists of 5 scheduling slots.

Random number of bits can be transmitted in each scheduling slot suchthat

10 Ravg

(in bits per playback slot) 12

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015

Page 48: Dynamic Control of Video Quality for Adaptive Video Streaming · Dynamic Control of Video Quality for Adaptive Video Streaming Ankit Singh Rawat (CMU) Joint work with Emina Soljanin

Control of QoE metrics by varying thresholds

0 200 400 600 800 10000

20

40

60

Time (# of slots)

# o

f ch

un

ks in

bu

ffe

r

100 200 300 400 500 600 700 800 9000

1

2

Time (# of slots)

Qu

alit

y le

vel d

ow

nlo

ad

ed

High threshold

Low threshold

(B,Lh, L`, D) = (70, 50, 20, 30)

Avg. # of fluctuations: 7.4

Fraction of time in high phase:0.62

Fraction of chunks watched inhigh quality: 0.56

0 200 400 600 800 10000

20

40

60

Time (# of slots)

# o

f ch

un

ks in

bu

ffe

r

100 200 300 400 500 600 700 800 9000

1

2

Time (# of slots)

Qu

alit

y le

vel d

ow

nlo

ad

ed

High Threshold

Low Threshold

(B,Lh, L`, D) = (70, 35, 20, 30)

Avg. # of fluctuations: 13.3

Fraction of time in high phase:0.63

Fraction of chunks watched inhigh quality: 0.57

A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015