Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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
Video traffic growth
A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015
Video traffic growth
A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Thank you!
A. S. Rawat and E. Soljanin Dynamic Control of Video Quality for AVS October 14, 2015
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
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