38
Optimal Set of Video Representations in Adaptive Streaming L. Toni 1 , R. Aparicio 2 , G. Simon 2 , A. Blanc 2 and P. Frossard 1 1: EPFL 2: Telecom Bretagne

Optimal Set of Video Representations in Adaptive Streaming

Embed Size (px)

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.

Citation preview

Page 1: Optimal Set of Video Representations in Adaptive Streaming

Optimal Set of VideoRepresentations inAdaptive StreamingL. Toni1, R. Aparicio2, G. Simon2,A. Blanc2 and P. Frossard1

1: EPFL2: Telecom Bretagne

Page 2: Optimal Set of Video Representations in Adaptive Streaming

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

Page 3: Optimal Set of Video Representations in Adaptive Streaming

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

Page 4: Optimal Set of Video Representations in Adaptive Streaming

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

Page 5: Optimal Set of Video Representations in Adaptive Streaming

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

Page 6: Optimal Set of Video Representations in Adaptive Streaming

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

Page 7: Optimal Set of Video Representations in Adaptive Streaming

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

Page 8: Optimal Set of Video Representations in Adaptive Streaming

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

Page 9: Optimal Set of Video Representations in Adaptive Streaming

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

Page 10: Optimal Set of Video Representations in Adaptive Streaming

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

Page 11: Optimal Set of Video Representations in Adaptive Streaming

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

Page 12: Optimal Set of Video Representations in Adaptive Streaming

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

Page 13: Optimal Set of Video Representations in Adaptive Streaming

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

Page 14: Optimal Set of Video Representations in Adaptive Streaming

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

Page 15: Optimal Set of Video Representations in Adaptive Streaming

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

Page 16: Optimal Set of Video Representations in Adaptive Streaming

Model

6 / 17 Gwendal Simon Optimal Video Representations in DASH

Page 17: Optimal Set of Video Representations in Adaptive Streaming

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

Page 18: Optimal Set of Video Representations in Adaptive Streaming

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

Page 19: Optimal Set of Video Representations in Adaptive Streaming

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

Page 20: Optimal Set of Video Representations in Adaptive Streaming

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

Page 21: Optimal Set of Video Representations in Adaptive Streaming

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

Page 22: Optimal Set of Video Representations in Adaptive Streaming

Recommended setperformance

10 / 17 Gwendal Simon Optimal Video Representations in DASH

Page 23: Optimal Set of Video Representations in Adaptive Streaming

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

Page 24: Optimal Set of Video Representations in Adaptive Streaming

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

Page 25: Optimal Set of Video Representations in Adaptive Streaming

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

Page 26: Optimal Set of Video Representations in Adaptive Streaming

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

Page 27: Optimal Set of Video Representations in Adaptive Streaming

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

Page 28: Optimal Set of Video Representations in Adaptive Streaming

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

Page 29: Optimal Set of Video Representations in Adaptive Streaming

Guidelines

13 / 17 Gwendal Simon Optimal Video Representations in DASH

Page 30: Optimal Set of Video Representations in Adaptive Streaming

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

Page 31: Optimal Set of Video Representations in Adaptive Streaming

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

Page 32: Optimal Set of Video Representations in Adaptive Streaming

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

Page 33: Optimal Set of Video Representations in Adaptive Streaming

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

Page 34: Optimal Set of Video Representations in Adaptive Streaming

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

Page 35: Optimal Set of Video Representations in Adaptive Streaming

Conclusion

16 / 17 Gwendal Simon Optimal Video Representations in DASH

Page 36: Optimal Set of Video Representations in Adaptive Streaming

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

Page 37: Optimal Set of Video Representations in Adaptive Streaming

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

Page 38: Optimal Set of Video Representations in Adaptive Streaming

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