Optimal Set of VideoRepresentations inAdaptive StreamingL. Toni1, R. Aparicio2, G. Simon2,A. Blanc2 and P. Frossard1
1: EPFL2: Telecom Bretagne
Context : Video Delivery Chain
Content provider
ingestserver
CDN
originserver
edgeservers
end-users
Adaptive Streaming
1 video stream = k representations
many works on adaptive video deliverymany works on client adaptationwhat about video encodingfor adaptive streaming ?
2 / 17 Gwendal Simon Optimal Video Representations in DASH
Context : Video Delivery Chain
Content provider
ingestserver
CDN
originserver
edgeservers
end-users
Adaptive Streaming
1 video stream = k representations
many works on adaptive video deliverymany works on client adaptationwhat about video encodingfor adaptive streaming ?
2 / 17 Gwendal Simon Optimal Video Representations in DASH
Context : Video Delivery Chain
Content provider
ingestserver
CDN
originserver
edgeservers
end-users
Adaptive Streaming
1 video stream = k representations
many works on adaptive video delivery
many works on client adaptationwhat about video encodingfor adaptive streaming ?
2 / 17 Gwendal Simon Optimal Video Representations in DASH
Context : Video Delivery Chain
Content provider
ingestserver
CDN
originserver
edgeservers
end-users
Adaptive Streaming
1 video stream = k representations
many works on adaptive video delivery
many works on client adaptation
what about video encodingfor adaptive streaming ?
2 / 17 Gwendal Simon Optimal Video Representations in DASH
Context : Video Delivery Chain
Content provider
ingestserver
CDN
originserver
edgeservers
end-users
Adaptive Streaming
1 video stream = k representations
many works on adaptive video deliverymany works on client adaptation
what about video encodingfor adaptive streaming ?
2 / 17 Gwendal Simon Optimal Video Representations in DASH
Encoding a set of representations
For a content provider, what does it mean ?
For each video in the catalog, deciding :How many representationsWhat resolutionsWhat bit-rates
Today :Recommendations from vendors (e.g. Apple)Self-tuned by content providers (e.g. Netflix)
3 / 17 Gwendal Simon Optimal Video Representations in DASH
Encoding a set of representations
For a content provider, what does it mean ?
For each video in the catalog, deciding :How many representationsWhat resolutionsWhat bit-rates
Today :Recommendations from vendors (e.g. Apple)Self-tuned by content providers (e.g. Netflix)
3 / 17 Gwendal Simon Optimal Video Representations in DASH
Encoding a set of representations
For a content provider, what does it mean ?
For each video in the catalog, deciding :How many representationsWhat resolutionsWhat bit-rates
Today :Recommendations from vendors (e.g. Apple)Self-tuned by content providers (e.g. Netflix)
3 / 17 Gwendal Simon Optimal Video Representations in DASH
Our objective
Finding the best set of representations
for each video in a catalog
maximizing QoE of clients
with limited infrastructure cost
4 / 17 Gwendal Simon Optimal Video Representations in DASH
Our objective
Finding the best set of representations
for each video in a catalog
maximizing QoE of clients
with limited infrastructure cost
4 / 17 Gwendal Simon Optimal Video Representations in DASH
Our objective
Finding the best set of representations
for each video in a catalog
maximizing QoE of clients
with limited infrastructure cost
4 / 17 Gwendal Simon Optimal Video Representations in DASH
Our contributions
1. We formulate an optimization problem
2. We study how optimal are recommended sets
3. We identify guidelines for encoding parameters
5 / 17 Gwendal Simon Optimal Video Representations in DASH
Our contributions
1. We formulate an optimization problem
2. We study how optimal are recommended sets
3. We identify guidelines for encoding parameters
5 / 17 Gwendal Simon Optimal Video Representations in DASH
Our contributions
1. We formulate an optimization problem
2. We study how optimal are recommended sets
3. We identify guidelines for encoding parameters
5 / 17 Gwendal Simon Optimal Video Representations in DASH
Model
6 / 17 Gwendal Simon Optimal Video Representations in DASH
Definitions
(v , r , s) : representation of video v encoded atresolution s and at bit-rate reach user is associated with one video resolutionfvs(r) ∈ [0, 1] : user satisfaction
normalized QoE per resolution
0 2,000 4,000 6,000 8,0000.6
0.7
0.8
0.9
1
rate (in kbps)
(1-V
QM
)no
rmal
ized
224p360p720p1080p
7 / 17 Gwendal Simon Optimal Video Representations in DASH
Definitions
(v , r , s) : representation of video v encoded atresolution s and at bit-rate reach user is associated with one video resolutionfvs(r) ∈ [0, 1] : user satisfaction
normalized QoE per resolution
0 2,000 4,000 6,000 8,0000.6
0.7
0.8
0.9
1
rate (in kbps)
(1-V
QM
)no
rmal
ized
224p360p720p1080p
7 / 17 Gwendal Simon Optimal Video Representations in DASH
Definitions
(v , r , s) : representation of video v encoded atresolution s and at bit-rate reach user is associated with one video resolutionfvs(r) ∈ [0, 1] : user satisfaction
normalized QoE per resolution
0 2,000 4,000 6,000 8,0000.6
0.7
0.8
0.9
1
rate (in kbps)
(1-V
QM
)no
rmal
ized
224p360p720p1080p
7 / 17 Gwendal Simon Optimal Video Representations in DASH
Constraints
The global CDN capacity C
The total number of representations K
The fraction of users that must be served P
8 / 17 Gwendal Simon Optimal Video Representations in DASH
ILP
max{ααα,βββ}
∑u∈U
∑v∈V
∑r∈R
∑s∈S
fvrs · αuvrs (1a)
s.t. αuvrs ≤ βvrs , u ∈ U, v ∈ V, r ∈ R, s ∈ S (1b)
βvrs ≤∑u∈U
αuvrs , v ∈ V, r ∈ R, s ∈ S (1c)
(bminvs − br ) · βvrs ≤ 0, v ∈ V, r ∈ R, s ∈ S (1d)
(br − bmaxvs ) · βvrs ≤ 0, v ∈ V, r ∈ R, s ∈ S (1e)∑
r∈R
αuvrs ≤
{1, if v = vu
& s = su0, otherwise
u ∈ U, v ∈ V, s ∈ S (1f)
∑v∈V
∑r∈R
∑s∈S
br · αuvrs ≤ cu , u ∈ U (1g)
∑u∈U
∑v∈V
∑r∈R
∑s∈S
br · αuvrs ≤ C, (1h)
... (1i)
9 / 17 Gwendal Simon Optimal Video Representations in DASH
Recommended setperformance
10 / 17 Gwendal Simon Optimal Video Representations in DASH
Process
1. We define some configurations :A model for QoE based on four test sequencesA population of usersSettings for the content provider
2. We use CPLEX to compute the optimalrepresentations and obtain the best QoE possible
3. We compare with the best QoE achievable with therecommended sets
11 / 17 Gwendal Simon Optimal Video Representations in DASH
Process
1. We define some configurations :A model for QoE based on four test sequencesA population of usersSettings for the content provider
2. We use CPLEX to compute the optimalrepresentations and obtain the best QoE possible
3. We compare with the best QoE achievable with therecommended sets
11 / 17 Gwendal Simon Optimal Video Representations in DASH
Process
1. We define some configurations :A model for QoE based on four test sequencesA population of usersSettings for the content provider
2. We use CPLEX to compute the optimalrepresentations and obtain the best QoE possible
3. We compare with the best QoE achievable with therecommended sets
11 / 17 Gwendal Simon Optimal Video Representations in DASH
How far from the optimal ?
For a catalog of four videos in a regular configuration
20 30 40 50 600.8
0.85
0.9
0.95
1
Apple(40 rep)
number of representations K
avg.
user
satisfaction
12 / 17 Gwendal Simon Optimal Video Representations in DASH
How far from the optimal ?
For a catalog of four videos in a regular configuration
20 30 40 50 600.8
0.85
0.9
0.95
1
Apple(40 rep)
number of representations K
avg.
user
satisfaction
12 / 17 Gwendal Simon Optimal Video Representations in DASH
How far from the optimal ?
For a catalog of four videos in a regular configuration
20 30 40 50 600.8
0.85
0.9
0.95
1
Apple(40 rep)
19 rep.
number of representations K
avg.
user
satisfaction
12 / 17 Gwendal Simon Optimal Video Representations in DASH
Guidelines
13 / 17 Gwendal Simon Optimal Video Representations in DASH
Process
1. We define multiple configurations with variation ofThe popularity of videosThe characteristics of clientsThe constraints of the service provider
2. We identify trends and derive useful guidelines forthe settings of encoding parameters
14 / 17 Gwendal Simon Optimal Video Representations in DASH
Process
1. We define multiple configurations with variation ofThe popularity of videosThe characteristics of clientsThe constraints of the service provider
2. We identify trends and derive useful guidelines forthe settings of encoding parameters
14 / 17 Gwendal Simon Optimal Video Representations in DASH
How many representations per video ?
224p 360p 720p 1080p0
2
4
6
Resolution
numbero
frepresentations
cartoon documentary sport movie
nb. of representations depends on the content1
slightly more representationsfor high resolutions
2
15 / 17 Gwendal Simon Optimal Video Representations in DASH
How many representations per video ?
224p 360p 720p 1080p0
2
4
6
Resolution
numbero
frepresentations
cartoon documentary sport movie
nb. of representations depends on the content1
slightly more representationsfor high resolutions
2
15 / 17 Gwendal Simon Optimal Video Representations in DASH
How many representations per video ?
224p 360p 720p 1080p0
2
4
6
Resolution
numbero
frepresentations
cartoon documentary sport movie
nb. of representations depends on the content1
slightly more representationsfor high resolutions
2
15 / 17 Gwendal Simon Optimal Video Representations in DASH
Conclusion
16 / 17 Gwendal Simon Optimal Video Representations in DASH
Conclusion
For more details, read the paper !
Takeaway :Optimal encoding parameters for adaptive streamingRecommendations far from being optimalSome useful guidelines
Future works :How to take into account dynamic configurations ?How to optimize encoding in a data-center ?
17 / 17 Gwendal Simon Optimal Video Representations in DASH
Conclusion
For more details, read the paper !
Takeaway :Optimal encoding parameters for adaptive streamingRecommendations far from being optimalSome useful guidelines
Future works :How to take into account dynamic configurations ?How to optimize encoding in a data-center ?
17 / 17 Gwendal Simon Optimal Video Representations in DASH
Conclusion
For more details, read the paper !
Takeaway :Optimal encoding parameters for adaptive streamingRecommendations far from being optimalSome useful guidelines
Future works :How to take into account dynamic configurations ?How to optimize encoding in a data-center ?
17 / 17 Gwendal Simon Optimal Video Representations in DASH