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.
Optimal Set of Video Representations in Adaptive Streaming
1. Optimal Set of Video
Representations in
Adaptive Streaming
L. Toni1
, R. Aparicio2
, G. Simon2
,
A. Blanc2
and P. Frossard1
1: EPFL
2: Telecom Bretagne
2. Context : Video Delivery Chain
Content provider
ingest
server
CDN
origin
server
edge
servers
end-users
2 / 17 Gwendal Simon Optimal Video Representations in DASH
3. Context : Video Delivery Chain
Content provider
ingest
server
CDN
origin
server
edge
servers
end-users
Adaptive Streaming
1 video stream = k representations
2 / 17 Gwendal Simon Optimal Video Representations in DASH
4. Context : Video Delivery Chain
Content provider
ingest
server
CDN
origin
server
edge
servers
end-users
many works on adaptive video delivery
2 / 17 Gwendal Simon Optimal Video Representations in DASH
5. Context : Video Delivery Chain
Content provider
ingest
server
CDN
origin
server
edge
servers
end-users
many works on client adaptation
2 / 17 Gwendal Simon Optimal Video Representations in DASH
6. Context : Video Delivery Chain
Content provider
ingest
server
CDN
origin
server
edge
servers
end-users
what about video encoding
for adaptive streaming ?
2 / 17 Gwendal Simon Optimal Video Representations in DASH
7. Encoding a set of representations
For a content provider, what does it mean ?
3 / 17 Gwendal Simon Optimal Video Representations in DASH
8. Encoding a set of representations
For each video in the catalog, deciding :
How many representations
What resolutions
What bit-rates
3 / 17 Gwendal Simon Optimal Video Representations in DASH
9. Encoding a set of representations
For each video in the catalog, deciding :
How many representations
What resolutions
What 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
10. Our objective
Finding the best set of representations
for each video in a catalog
4 / 17 Gwendal Simon Optimal Video Representations in DASH
11. Our objective
Finding the best set of representations
for each video in a catalog
maximizing QoE of clients
4 / 17 Gwendal Simon Optimal Video Representations in DASH
12. 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
13. Our contributions
1. We formulate an optimization problem
5 / 17 Gwendal Simon Optimal Video Representations in DASH
14. Our contributions
1. We formulate an optimization problem
2. We study how optimal are recommended sets
5 / 17 Gwendal Simon Optimal Video Representations in DASH
15. 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
16. Model
6 / 17 Gwendal Simon Optimal Video Representations in DASH
17. Definitions
(v, r, s) : representation of video v encoded at
resolution s and at bit-rate r
each user is associated with one video resolution
fvs(r) ∈ [0, 1] : user satisfaction
18. Definitions
(v, r, s) : representation of video v encoded at
resolution s and at bit-rate r
each user is associated with one video resolution
fvs(r) ∈ [0, 1] : user satisfaction
normalized QoE per resolution
19. Definitions
(v, r, s) : representation of video v encoded at
resolution s and at bit-rate r
each user is associated with one video resolution
fvs(r) ∈ [0, 1] : user satisfaction
0 2,000 4,000 6,000 8,000
0.6
0.7
0.8
0.9
1
rate (in kbps)
(1-VQM)normalized
224p
360p
720p
1080p
7 / 17 Gwendal Simon Optimal Video Representations in DASH
20. 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
21. 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)
(b
min
vs − br ) · βvrs ≤ 0, v ∈ V, r ∈ R, s ∈ S (1d)
(br − b
max
vs ) · βvrs ≤ 0, v ∈ V, r ∈ R, s ∈ S (1e)
r∈R
αuvrs ≤
1, if v = vu
& s = su
0, 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
23. Process
1. We define some configurations :
A model for QoE based on four test sequences
A population of users
Settings for the content provider
11 / 17 Gwendal Simon Optimal Video Representations in DASH
24. Process
1. We define some configurations :
A model for QoE based on four test sequences
A population of users
Settings for the content provider
2. We use CPLEX to compute the optimal
representations and obtain the best QoE possible
11 / 17 Gwendal Simon Optimal Video Representations in DASH
25. Process
1. We define some configurations :
A model for QoE based on four test sequences
A population of users
Settings for the content provider
2. We use CPLEX to compute the optimal
representations and obtain the best QoE possible
3. We compare with the best QoE achievable with the
recommended sets
11 / 17 Gwendal Simon Optimal Video Representations in DASH
26. How far from the optimal ?
For a catalog of four videos in a regular configuration
20 30 40 50 60
0.8
0.85
0.9
0.95
1
Apple
(40 rep)
number of representations K
avg.usersatisfaction
12 / 17 Gwendal Simon Optimal Video Representations in DASH
27. How far from the optimal ?
For a catalog of four videos in a regular configuration
20 30 40 50 60
0.8
0.85
0.9
0.95
1
Apple
(40 rep)
number of representations K
avg.usersatisfaction
12 / 17 Gwendal Simon Optimal Video Representations in DASH
28. How far from the optimal ?
For a catalog of four videos in a regular configuration
20 30 40 50 60
0.8
0.85
0.9
0.95
1
Apple
(40 rep)
19 rep.
number of representations K
avg.usersatisfaction
12 / 17 Gwendal Simon Optimal Video Representations in DASH
30. Process
1. We define multiple configurations with variation of
The popularity of videos
The characteristics of clients
The constraints of the service provider
14 / 17 Gwendal Simon Optimal Video Representations in DASH
31. Process
1. We define multiple configurations with variation of
The popularity of videos
The characteristics of clients
The constraints of the service provider
2. We identify trends and derive useful guidelines for
the settings of encoding parameters
14 / 17 Gwendal Simon Optimal Video Representations in DASH
32. How many representations per video ?
224p 360p 720p 1080p
0
2
4
6
Resolution
numberofrepresentations
cartoon documentary sport movie
15 / 17 Gwendal Simon Optimal Video Representations in DASH
33. How many representations per video ?
224p 360p 720p 1080p
0
2
4
6
Resolution
numberofrepresentations
cartoon documentary sport movie
nb. of representations depends on the content
1
15 / 17 Gwendal Simon Optimal Video Representations in DASH
34. How many representations per video ?
224p 360p 720p 1080p
0
2
4
6
Resolution
numberofrepresentations
cartoon documentary sport movie
slightly more representations
for high resolutions
2
15 / 17 Gwendal Simon Optimal Video Representations in DASH
37. Conclusion
For more details, read the paper !
Takeaway :
Optimal encoding parameters for adaptive streaming
Recommendations far from being optimal
Some useful guidelines
17 / 17 Gwendal Simon Optimal Video Representations in DASH
38. Conclusion
For more details, read the paper !
Takeaway :
Optimal encoding parameters for adaptive streaming
Recommendations far from being optimal
Some 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