Dynamic Video Streaming Approach Introduction
A view from BOLA
乔春雨
2016-9-19
Currently video streaming structure
Adaptive Bitrate (ABR) Streaming
Apple’s HTTP Live Streaming Overview
Currently video streaming structure
Difficulties and challenges in approaches
• Def utility
• Control buffer
• Bandwidth switches
• Algorithm design
• Theoretical Guarantee
BOLA: first look
• Buffer Occupancy based Lyapunov Algorithm(BOLA)
• Why is BOLA?
• Buffer based approach, without predicting of future bandwidth
• Avoid frequent bitrate switches
• Provide a theoretical guarantee
BOLA: Model
• Video
• Segmented in N chunks, indexed as {1,2, … , 𝑁}, each chunk possesses 𝑝
seconds’ video.
• Bitrate index m of {1,2, … , 𝑀} is of 𝑆𝑚 bits, and utility 𝑣𝑚 is corresponded
with 𝑆𝑚 .
• WLOG:
𝑣1 ≥ 𝑣2 ≥ ⋯ ≥ 𝑣𝑀 𝑆1 ≥ 𝑆2 ≥ ⋯ ≥ 𝑆𝑀
BOLA: Model
• Video Player
• Max buffer size : 𝑄max chunks.
1
𝑝
• Video play back rate: chunks/second
• Network
• Bandwidth : 𝑤(𝑡)
• Suppose chunk m at video player downloaded from 𝑡 to 𝑡 ′ , then
𝑡′
𝑆𝑚 =
𝑤 𝑡 𝑑𝜏
𝑡
BOLA: Problem Formulation
• Def utility
• time-average playback quality which is a function of the bitrates of the chunks
viewed by the user.
• fraction of time spent not rebuffering.
• Time-slotted representation
• Slots 𝑘 starts from 𝑡𝑘 and is 𝑇𝑘 = 𝑡𝑘+1 − 𝑡𝑘 seconds long, assume 𝑇𝑘 is a
random variable, when the buffer is full, then the slot will last for a fixed
duration of ∆ seconds.
• For each slot k, define
1, 𝑝𝑙𝑎𝑦𝑒𝑟 𝑑𝑜𝑤𝑛𝑙𝑜𝑎𝑑𝑠 𝑎 𝑐ℎ𝑢𝑛𝑘 of 𝑏𝑖𝑡𝑟𝑎𝑡𝑒 𝑖𝑛𝑑𝑒𝑥 𝑚 𝑖𝑛 𝑠𝑙𝑜𝑡 𝑘
𝑎𝑚 (𝑡𝑘 ) =
0, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
BOLA: Problem Formulation
• Time-slotted representation
• Note that 𝑀
𝑚=1 𝑎𝑚 𝑡𝑘 ≤ 1
• Let 𝐾𝑁 denote the index of the slot in which the Nth(last) chunk is
downloaded. Also 𝑇𝑒𝑛𝑑 as the last chunk finishes playing back at player.
• Then the first performance metric of interest is the time-average expected
playback utility
𝑁𝑁
𝑀
𝐸 𝑘=1
𝑚=1 𝑎𝑚 𝑡𝑘 𝑣𝑚
𝑣𝑁 ≜
𝐸 𝑇𝑒𝑛𝑑
average playback smoothness
𝑁𝑁
𝑀
𝐸 𝑘=1
𝑚=1 𝑎𝑚 𝑡𝑘 𝑝
𝑠𝑁 ≜
𝐸 𝑇𝑒𝑛𝑑
𝑁𝑁
𝑀
where 𝑁𝑝 = 𝐸 𝑘=1
𝑚=1 𝑎𝑚 𝑡𝑘 𝑝 and 𝑇𝑒𝑛𝑑 ≥ 𝑁𝑝
BOLA: Problem Formulation
Performance Objective
𝑣𝑁 + 𝛾𝑠𝑁 , 𝛾 > 0
Problem Relaxation, denote 𝑣, 𝑠 when N is large
1 𝑁𝑁 𝑀
lim 𝐸
𝑚=1 𝑎𝑚 𝑡𝑘 𝑣𝑚
𝑘=1
𝐾
𝑁→∞
𝑁
𝑣 ≜ lim 𝑣𝑁 =
1 𝐾𝑁
𝑁→∞
lim 𝐸{
𝑇𝑘 }
𝑘=1
𝐾
𝑁→∞
𝑁
𝑠 ≜ lim 𝑠𝑁 =
𝑁→∞
𝑁→∞
In fact,Tend −
𝐾𝑁
𝑘=1 𝑇𝑘
≤ 𝑄𝑚𝑎𝑥 𝑝
1
𝐾𝑁
𝑁𝑁
𝑘=1
𝑀
𝑚=1 𝑎𝑚
1
lim 𝐸{
𝐾𝑁
𝑁→∞
𝐾𝑁
𝑘=1 𝑇𝑘 }
lim 𝐸
𝑡𝑘 𝑝
BOLA:design
Then , maximize 𝑣 + 𝛾𝑠 is equivalent to maximize
𝑀
𝑚=1 𝑎𝑚 (𝑡𝑘 )(𝑣𝑚 + 𝛾𝑝)
Buffer level Q
𝑀
𝑇𝑘
𝑄 𝑡𝑘+1 = max 𝑄 𝑡𝑘 − , 0 +
𝑎𝑚 𝑡𝑘
𝑝
𝑚=1
Reach buffer stability by minimizing(Lyapunov optimization)
𝑀
𝑇𝑘
𝑄 𝑡𝑘 (
𝑎𝑚 − )
𝑝
𝑚=1
BOLA:design
Tradeoff between buffer size and utility, use a control parameter 𝑉
Maximize
𝑀
𝑚=1 𝑎𝑚
𝑡𝑘 𝑉𝑣𝑚 +𝑉𝛾𝑝 −𝑄 𝑡𝑘
𝑀
𝑚=1 𝑎𝑚 𝑡𝑘 𝑆𝑚
Subject to 𝑀
𝑚=1 𝑎𝑚 𝑡𝑘 ≤ 1, 𝑎𝑚 𝑡𝑘 ∈ {0,1}
The optimal solution is
1) If 𝑄 𝑡𝑘 > 𝑉 𝑣𝑚 + 𝛾𝑝 for all m bitrates, then no-download option
is chosen.
2) Else, choose
𝑚∗
which max
𝑎𝑚 𝑡𝑘 𝑉𝑣𝑚 +𝑉𝛾𝑝 −𝑄 𝑡𝑘
𝑎𝑚 𝑡𝑘 𝑆𝑚
for all m.
BOLA: design
𝑉 𝑣𝑚 + 𝛾𝑝 − 𝑄
𝑆𝑚
𝑆𝑚 : chunk size of the chunk whose bitrate index is m, recall that its
decreasing with m.
𝑄: current buffer size, measured by chunk quantities.
𝑣𝑚 : chunk utility of the m’th bitrate chunk, can be defined in arbitrary
𝑆𝑚
ways, eg. 𝑣𝑚 = ln( ).
𝑉 : choose 0 < 𝑉
𝑆𝑀
𝑄𝑚𝑎𝑥 −1
≤
𝑣1 +𝛾𝑝
BOLA: an example
BOLA: an example
BOLA: algorithm
𝐷
𝑄max
is designed as a dynamic buffer
size to balance the process, does not
try to fill the whole buffer too soon and
does not try to maintain a full buffer too
long.
BOLA-O: avoid oscillations
BOLA-U: does not sacrifice utility
Theoretical Guarantee
Bandwidth vs. latency
BOLA: experiment result
BOLA: test on utility
BOLA: test on bitrate oscillation
Rethinking of BOLA
• Buffer based approach?
• Theoretical guarantee?
• Near optimal?
Rethinking of BOLA
• One math proof error discovered in this paper.
• Buffer size is a key factor affecting BOLA’s performance.
• Utilization can not be viewed generally in all cases, it depends on the
model established by designers.
• Ability to apply math model into solutions is PROMINENT.
• What else factors may be influenced in this case?
• Chunk size is different even bitrate is the same
•…
Rethinking of BOLA
Lyapunov Optimization
• Control scheme
Drift plus penalty
© Copyright 2026 Paperzz