optimal set of video representations in adaptive streaming
DESCRIPTION
Paper presented at MMSys'14. Available here: http://dl.acm.org/citation.cfm?id=2557652&CFID=426109007&CFTOKEN=22501685 Adaptive streaming addresses the increasing and heterogenous demand of multimedia content over the Internet by offering several streams for each video. Each stream has a different resolution and bit rate, aimed at a specific set of users, e.g., TV, mobile phone. While most existing works on adaptive streaming deal with optimal playout-control strategies at the client side, in this paper we concentrate on the providers’ side, showing how to improve user satisfaction by optimizing the encoding parameters. We formulate an integer linear program that maximizes users’ average satisfaction, taking into account the network characteristics, the type of video content, and the user population. The solution of the optimization is a set of encoding parameters that outperforms commonly used vendor recommendations, in terms of user satisfaction and total delivery cost. Results show that video content information as well as network constraints and users’ statistics play a crucial role in selecting proper encoding parameters to provide fairness among users and reduce network usage. By combining patterns common to several representative cases, we propose a few practical guidelines that can be used to choose the encoding parameters based on the user base characteristics, the network capacity and the type of video content.TRANSCRIPT
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