quality-adaptive prefetching for interactive branched video using...

192
Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based Adaptive Streaming 1 Linköping university, Sweden 2 University of Saskatchewan, Canada 3 NICTA, Australia Vengatanathan Krishnamoorthi 1 , Niklas Carlsson 1 , Derek Eager 2 , Anirban Mahanti 3 , Nahid Shahmehri 1 Proc. ACM Multimedia, Orlando, FL, USA, Nov. 2014

Upload: others

Post on 08-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based Adaptive Streaming

1 Linköping university, Sweden

2 University of Saskatchewan, Canada

3 NICTA, Australia

Vengatanathan Krishnamoorthi1, Niklas Carlsson1,

Derek Eager2, Anirban Mahanti3, Nahid Shahmehri1

Proc. ACM Multimedia, Orlando, FL, USA, Nov. 2014

Page 2: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

We have all seen a movie that (in our taste) is...

2

Page 3: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

We have all seen a movie that (in our taste) is...

3

too sad

Page 4: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

We have all seen a movie that (in our taste) is...

4

too sad too violent

Page 5: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

We have all seen a movie that (in our taste) is...

5

too sad too violent

too scary …

Page 6: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

We have all seen a movie that (in our taste) is...

6

too sad too violent

too scary …

… or where we may have wanted our favorite character

to make a different choice...

Page 7: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

We have all seen a movie that (in our taste) is...

7

too sad too violent

too scary …

… or where we may have wanted our favorite character

to make a different choice...

Page 8: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

We have all seen a movie that (in our taste) is...

8

too sad too violent

too scary …

… or where we may have wanted our favorite character

to make a different choice...

Page 9: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

We have all seen a movie that (in our taste) is...

9

too sad too violent

too scary …

… or where we may have wanted our favorite character

to make a different choice...

Page 10: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

What if we can personalize the storyline based on the

users preferences or path choices?

10

Page 11: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

What if we can personalize the storyline based on the

users preferences or path choices?

11

Page 12: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

What if we can personalize the storyline based on the

users preferences or path choices?

12

Page 13: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

What if we can personalize the storyline based on the

users preferences or path choices?

13

Page 14: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

What if we can personalize the storyline based on the

users preferences or path choices?

14

… already many examples how creative content creators

provide interactive experiences and story lines …

Page 15: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

What if we can personalize the storyline based on the

users preferences or path choices?

15

YouTube Interlude

… already many examples how creative content creators

provide interactive experiences and story lines …

… and even books!

Page 16: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

What if we can personalize the storyline based on the

users preferences or path choices?

16

YouTube Interlude

… already many examples how creative content creators

provide interactive experiences and story lines …

… and even books!

Page 17: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

What if we can personalize the storyline based on the

users preferences or path choices?

17

YouTube Interlude

… already many examples how creative content creators

provide interactive experiences and story lines …

… and even books!

Page 18: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

What if we can personalize the storyline based on the

users preferences or path choices?

18

YouTube Interlude

… already many examples how creative content creators

provide interactive experiences and story lines …

… and even books!

Page 19: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 20: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 21: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 22: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 23: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 24: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 25: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 26: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 27: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 28: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 29: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 30: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Regardless of interactivity, user experience and user satisfaction is greatly influenced by: – Playback stalls and quality fluctuations

• Current interactive branched players split a video into many sub videos and then link them

• Issues – Playback stalls when playing a new video

– Non-adaptive playback

• Solution – Combine branched video and HAS

[Krishnamoorthi et al., ACM CCR 2013]

Seamless Playback without Stalls

Page 31: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

31

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Page 32: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

32

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Page 33: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

33

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Page 34: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

34

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Page 35: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

35

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Page 36: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

36

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Page 37: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

37

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Page 38: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

38

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Page 39: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

39

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Chunk1

Page 40: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

40

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Chunk1

Chunk2

Page 41: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

41

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Chunk1

Chunk2 Chunk3

Page 42: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

42

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Chunk1

Chunk2

Chunk4

Chunk3

Page 43: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

43

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Chunk1

Chunk2

Chunk4

Chunk3

Chunk5

Page 44: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HTTP-based Adaptive Streaming (HAS)

44

• HTTP-based streaming

– Video is split into chunks

– Easy firewall traversal and caching

– Easy support for interactive VoD

• HTTP-based adaptive streaming

– Multiple encodings of each fragment (defined in manifest file)

– Clients adapt quality encoding based on buffer/network conditions

Chunk1

Chunk2

Chunk4

Chunk3

Chunk5

Page 45: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HAS-based Interactive Branched Video

45

• Branched video and branch points

– The video can include branch points, with multiple branch choices

– User selects which segment to play back next

• Segments

– Arbitrary sequence of chunks from one or more videos

• Use of HAS allow adaptive prefetching

– Goal: Seamless playback even if user decision at last possible moment

Page 46: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HAS-based Interactive Branched Video

46

• Branched video and branch points

– The video can include branch points, with multiple branch choices

– User selects which segment to play back next

• Segments

– Arbitrary sequence of chunks from one or more videos

• Use of HAS allow adaptive prefetching

– Goal: Seamless playback even if user decision at last possible moment

Page 47: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HAS-based Interactive Branched Video

47

• Branched video and branch points

– The video can include branch points, with multiple branch choices

– User selects which segment to play back next

• Segments

– Arbitrary sequence of chunks from one or more videos

• Use of HAS allow adaptive prefetching

– Goal: Seamless playback even if user decision at last possible moment

Page 48: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HAS-based Interactive Branched Video

48

• Branched video and branch points

– The video can include branch points, with multiple branch choices

– User selects which segment to play back next

• Segments

– Arbitrary sequence of chunks from one or more videos

• Use of HAS allow adaptive prefetching

– Goal: Seamless playback even if user decision at last possible moment

Page 49: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HAS-based Interactive Branched Video

49

• Branched video and branch points

– The video can include branch points, with multiple branch choices

– User selects which segment to play back next

• Segments

– Arbitrary sequence of chunks from one or more videos

• Use of HAS allow adaptive prefetching

– Goal: Seamless playback even if user decision at last possible moment

Page 50: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HAS-based Interactive Branched Video

50

• Branched video and branch points

– The video can include branch points, with multiple branch choices

– User selects which segment to play back next

• Segments

– Arbitrary sequence of chunks from one or more videos

• Use of HAS allow adaptive prefetching

– Goal: Seamless playback even if user decision at last possible moment

Page 51: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HAS-based Interactive Branched Video

51

• Branched video and branch points

– The video can include branch points, with multiple branch choices

– User selects which segment to play back next

• Segments

– Arbitrary sequence of chunks from one or more videos

• Use of HAS allow adaptive prefetching

– Goal: Seamless playback even if user decision at last possible moment

Page 52: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HAS-based Interactive Branched Video

52

• Branched video and branch points

– The video can include branch points, with multiple branch choices

– User selects which segment to play back next

• Segments

– Arbitrary sequence of chunks from one or more videos

• Use of HAS allow adaptive prefetching

– Goal: Seamless playback even if user decision at last possible moment

Page 53: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HAS-based Interactive Branched Video

53

• Branched video and branch points

– The video can include branch points, with multiple branch choices

– User selects which segment to play back next

• Segments

– Arbitrary sequence of chunks from one or more videos

• Use of HAS allow adaptive prefetching

– Goal: Seamless playback even if user decision at last possible moment

Page 54: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HAS-based Interactive Branched Video

54

• Branched video and branch points

– The video can include branch points, with multiple branch choices

– User selects which segment to play back next

• Segments

– Arbitrary sequence of chunks from one or more videos

• Use of HAS allow adaptive prefetching

– Goal: Seamless playback even if user decision at last possible moment

Page 55: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

HAS-based Interactive Branched Video

55

• Branched video and branch points

– The video can include branch points, with multiple branch choices

– User selects which segment to play back next

• Segments

– Arbitrary sequence of chunks from one or more videos

• Use of HAS allow adaptive prefetching

– Goal: Seamless playback even if user decision at last possible moment

Page 56: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Contributions

• We develop a simple analytic model which allows us to define the prefetching problem as an optimization problem – Maximizes expected playback quality while avoiding stalls

• Based on our findings, we design optimized policies that determine: 1. When different chunks should be downloaded 2. What quality level should be selected for each of these chunks 3. How to manage playback buffers and (multiple) TCP connections such as to ensure smooth playback experience without excessive workahead (buffering)

• The design and implementation of the framework

• Experimental evaluation of our policies, which provide insights into the importance of careful adaptive policies

Page 57: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Contributions

• We develop a simple analytic model which allows us to define the prefetching problem as an optimization problem – Maximizes expected playback quality while avoiding stalls

• Based on our findings, we design optimized policies that determine: 1. When different chunks should be downloaded 2. What quality level should be selected for each of these chunks 3. How to manage playback buffers and (multiple) TCP connections such as to ensure smooth playback experience without excessive workahead (buffering)

• The design and implementation of the framework

• Experimental evaluation of our policies, which provide insights into the importance of careful adaptive policies

Page 58: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Contributions

• We develop a simple analytic model which allows us to define the prefetching problem as an optimization problem – Maximizes expected playback quality while avoiding stalls

• Based on our findings, we design optimized policies that determine: 1. When different chunks should be downloaded 2. What quality level should be selected for each of these chunks 3. How to manage playback buffers and (multiple) TCP connections such as to ensure smooth playback experience without excessive workahead (buffering)

• The design and implementation of the framework

• Experimental evaluation of our policies, which provide insights into the importance of careful adaptive policies

Page 59: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Contributions

• We develop a simple analytic model which allows us to define the prefetching problem as an optimization problem – Maximizes expected playback quality while avoiding stalls

• Based on our findings, we design optimized policies that determine: 1. When different chunks should be downloaded 2. What quality level should be selected for each of these chunks 3. How to manage playback buffers and (multiple) TCP connections such as to ensure smooth playback experience without excessive workahead (buffering)

• The design and implementation* of the framework

• Experimental evaluation of our policies, which provide insights into the importance of careful adaptive policies

*Software: http://www.ida.liu.se/~nikca/mm14.html

Page 60: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Contributions

• We develop a simple analytic model which allows us to define the prefetching problem as an optimization problem – Maximizes expected playback quality while avoiding stalls

• Based on our findings, we design optimized policies that determine: 1. When different chunks should be downloaded 2. What quality level should be selected for each of these chunks 3. How to manage playback buffers and (multiple) TCP connections such as to ensure smooth playback experience without excessive workahead (buffering)

• The design and implementation* of the framework

• Experimental evaluation of our policies, which provide insights into the importance of careful adaptive policies

*Software: http://www.ida.liu.se/~nikca/mm14.html

Page 61: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Contributions

• We develop a simple analytic model which allows us to define the prefetching problem as an optimization problem – Maximizes expected playback quality while avoiding stalls

• Based on our findings, we design optimized policies that determine: 1. When different chunks should be downloaded 2. What quality level should be selected for each of these chunks 3. How to manage playback buffers and (multiple) TCP connections such as to ensure smooth playback experience without excessive workahead (buffering)

• The design and implementation* of the framework

• Experimental evaluation of our policies, which provide insights into the importance of careful adaptive policies

*Software: http://www.ida.liu.se/~nikca/mm14.html

Page 62: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Contributions

• We develop a simple analytic model which allows us to define the prefetching problem as an optimization problem – Maximizes expected playback quality while avoiding stalls

• Based on our findings, we design optimized policies that determine: 1. When different chunks should be downloaded 2. What quality level should be selected for each of these chunks 3. How to manage playback buffers and (multiple) TCP connections such as to ensure smooth playback experience without excessive workahead (buffering)

• The design and implementation* of the framework

• Experimental evaluation of our policies, which provide insights into the importance of careful adaptive policies

*Software: http://www.ida.liu.se/~nikca/mm14.html

Page 63: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Problem: Maximize quality, given playback deadlines and bandwidth conditions

Page 64: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Problem: Maximize quality, given playback deadlines and bandwidth conditions

Page 65: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Objective function

playback quality

Page 66: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Objective function

Page 67: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Objective function

Current segment

Page 68: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Objective function

Beginning of next segment

Page 69: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (optimal)

Problem Description and Constraints

Current segment

Page 70: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (optimal)

Problem Description and Constraints

Current segment

Page 71: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (optimal)

Problem Description and Constraints

Current segment

Page 72: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (optimal)

Problem Description and Constraints

Current segment

Page 73: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (optimal)

Problem Description and Constraints

first chunk next Current segment

Page 74: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (optimal)

Problem Description and Constraints

first chunk next Current segment

Page 75: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (optimal)

Problem Description and Constraints

first chunk next Current segment

Page 76: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (optimal)

Problem Description and Constraints

first chunk next Current segment

Page 77: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (extra workahead)

Problem Description and Constraints

extra workahead first chunk next Current segment

Page 78: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (extra workahead)

Problem Description and Constraints

extra workahead first chunk next Current segment

Page 79: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (extra workahead)

Problem Description and Constraints

extra workahead first chunk next Current segment

Page 80: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download order: round robin (extra workahead)

Problem Description and Constraints

extra workahead first chunk next Current segment

Page 81: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Once branch point has been traversed, move on to next segment ...

Problem Description and Constraints

first chunk next Current segment

Page 82: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Once branch point has been traversed, move on to next segment ...

Problem Description and Constraints

first chunk next Current segment

Selected path

Page 83: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Once branch point has been traversed, move on to next segment ...

Problem Description and Constraints

Selected path

current segment

Page 84: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Once branch point has been traversed, move on to next segment ...

Problem Description and Constraints

current segment

Page 85: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Once branch point has been traversed, move on to next segment ...

Problem Description and Constraints

current segment

Page 86: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Once branch point has been traversed, move on to next segment ...

Problem Description and Constraints

current segment

Page 87: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Once branch point has been traversed, move on to next segment ...

Problem Description and Constraints

22

current segment first chunk next

Page 88: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Once branch point has been traversed, move on to next segment ...

Problem Description and Constraints

22

current segment first chunk next

Page 89: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Playback deadlines

– for seamless playback without stalls

Playback schedule

Page 90: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Playback deadlines

– for seamless playback without stalls

Playback schedule

Download schedule

Page 91: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Playback deadlines

– for seamless playback without stalls

– Current segment: e.g., 2 and 3

Page 92: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Playback deadlines

– for seamless playback without stalls

– Current segment: e.g., 2 and 3

Page 93: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

Download completion time

• Playback deadlines

– for seamless playback without stalls

– Current segment: e.g., 2 and 3

Page 94: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

Download completion time

• Playback deadlines

– for seamless playback without stalls

– Current segment: e.g., 2 and 3

Download completion times

Page 95: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

Playback deadlines

Download completion time

• Playback deadlines

– for seamless playback without stalls

– Current segment: e.g., 2 and 3

Time of playback deadline

Page 96: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Playback deadlines

– for seamless playback without stalls

– Current segment: e.g., 2 and 3

Time of playback deadline

Playback deadlines

Page 97: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

Startup delay

• Playback deadlines

– for seamless playback without stalls

– Current segment: e.g., 2 and 3

Playback deadlines

Page 98: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

Playtime of earlier chunks

• Playback deadlines

– for seamless playback without stalls

– Current segment: e.g., 2 and 3

Startup delay

Playback deadlines

Page 99: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Playback deadlines

– for seamless playback without stalls

– First chunks next segment: e.g., 4, 7, and 10

Page 100: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Playback deadlines

– for seamless playback without stalls

– First chunks next segment: e.g., 4, 7, and 10

Page 101: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Playback deadlines

– for seamless playback without stalls

– First chunks next segment: e.g., 4, 7, and 10

Download completion times

Download completion times

Page 102: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

• Playback deadlines

– for seamless playback without stalls

– First chunks next segment: e.g., 4, 7, and 10

Download completion times

Time at which branch point is reached

Playback deadline (shared) for chunks 4, 7, and 10

Page 103: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Problem Description and Constraints

Download completion times

Download completion times

Page 104: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download times , rate estimations, and parallel connections

– Schedule new downloads and new TCP connections at the end of a chunk download

– Assume that an additional TCP connection will not increase the total download rate

– New connections are initiated only if it is not expected to lead to playback deadline violations

Problem Description and Constraints

Page 105: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download times , rate estimations, and parallel connections

– At the end of a chunk download, schedule new downloads and new TCP connections

– Assume that an additional TCP connection will not increase the total download rate

– New connections are initiated only if it is not expected to lead to playback deadline violations

Problem Description and Constraints

Page 106: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download times , rate estimations, and parallel connections

– At the end of a chunk download, schedule new downloads and new TCP connections

– Assume that an additional TCP connection will not increase the total download rate

– New connections are initiated only if it is not expected to lead to playback deadline violations

Problem Description and Constraints

Page 107: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download times , rate estimations, and parallel connections

– At the end of a chunk download, schedule new downloads and new TCP connections

– Assume that an additional TCP connection will not increase the total download rate

– New connections are initiated only if it is not expected to lead to playback deadline violations

Problem Description and Constraints

Page 108: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Download times , rate estimations, and parallel connections

– At the end of a chunk download, schedule new downloads and new TCP connections

– Assume that an additional TCP connection will not increase the total download rate

– New connections are initiated only if it is not expected to lead to playback deadline violations

Problem Description and Constraints

Page 109: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Concurrent Download Example

Page 110: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Concurrent Download Example

Page 111: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Concurrent Download Example

Page 112: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Concurrent Download Example

Page 113: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Concurrent Download Example

Page 114: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Concurrent Download Example

Page 115: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Concurrent Download Example

Page 116: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Prefetching Policies

• At download completion – Decide number of chunks to download next

– Decide quality level of chunks

– Maximize expected weighted playback

• Exponential number of candidate schedules

• Our optimized policies restrict the number of candidate schedules to consider – Differ in number of candidate schedules and how

aggressive they are (in choosing qualities)

Page 117: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Prefetching Policies

• At download completion – Decide number of chunks to download next

– Decide quality level of chunks

– Maximize expected weighted playback

• Exponential number of candidate schedules

• Our optimized policies restrict the number of candidate schedules to consider – Differ in number of candidate schedules and how

aggressive they are (in choosing qualities)

Page 118: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Prefetching Policies

• At download completion – Decide number of chunks to download next

– Decide quality level of chunks

– Maximize expected weighted playback

• Exponential number of candidate schedules

• Our optimized policies restrict the number of candidate schedules to consider – Differ in number of candidate schedules and how

aggressive they are (in choosing qualities)

Page 119: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Prefetching Policies

• At download completion – Decide number of chunks to download next

– Decide quality level of chunks

– Maximize expected weighted playback

• Exponential number of candidate schedules

• Our optimized policies restrict the number of candidate schedules to consider – Differ in number of candidate schedules and how

aggressive they are (in choosing qualities)

Page 120: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Prefetching Policies

• At download completion – Decide number of chunks to download next

– Decide quality level of chunks

– Maximize expected weighted playback

• Exponential number of candidate schedules

• Our optimized policies restrict the number of candidate schedules to consider – Differ in number of candidate schedules and how

aggressive they are (in choosing qualities)

Page 121: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Prefetching Policies

• At download completion – Decide number of chunks to download next

– Decide quality level of chunks

– Maximize expected weighted playback

• Exponential number of candidate schedules

• Our optimized policies restrict the number of candidate schedules to consider – Policies differ in number of candidate schedules

and how aggressive they are (in choosing qualities)

Page 122: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Comparison Between Policies Policy Connections Schedules

considered Objective

All schedules 1≤ci≤Cmax QM, where M=ne+|ξb|-m

-

Optimized non-increasing quality

1≤ci≤Cmax

Optimized maintainable quality

1≤ci≤Cmax Q

M+Q-1

Q-1

i=1

ne

∑ qili + ∑ qili

i=ne+1

ne+|ξb|

• Total number of schedules: QM • Optimized non-increasing quality:

– Constraint: Qualities of consecutive chunks are non-increasing

• Optimized maintainable quality: – Constraint: Chosen quality must be sustainable for the remaining

chunks

Page 123: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Comparison Between Policies Policy Connections Schedules

considered Objective

All schedules 1≤ci≤Cmax QM, where M=ne+|ξb|-m

-

Optimized non-increasing quality

1≤ci≤Cmax

Optimized maintainable quality

1≤ci≤Cmax Q

M+Q-1

Q-1

i=1

ne

∑ qili + ∑ qili

i=ne+1

ne+|ξb|

• Total number of schedules: QM • Optimized non-increasing quality:

– Constraint: Qualities of consecutive chunks are non-increasing

• Optimized maintainable quality: – Constraint: Chosen quality must be sustainable for the remaining

chunks

Page 124: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Comparison Between Policies Policy Connections Schedules

considered Objective

All schedules 1≤ci≤Cmax QM, where M=ne+|ξb|-m

-

Optimized non-increasing quality

1≤ci≤Cmax

Optimized maintainable quality

1≤ci≤Cmax Q

M+Q-1

Q-1

i=1

ne

∑ qili + ∑ qili

i=ne+1

ne+|ξb|

• Total number of schedules: QM • Optimized non-increasing quality:

– Constraint: Qualities of consecutive chunks are non-increasing

• Optimized maintainable quality: – Constraint: Chosen quality must be sustainable for the remaining

chunks

Page 125: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Comparison Between Policies Policy Connections Schedules

considered Objective

Single connection 1

Q

Greedy bandwidth 1≤ci≤Cmax

i=1

ne

∑ qili + ∑ qili

i=ne+1

ne+|ξb|

∑ qili i=j

j+m

• Single connection: baseline comparing to policies which do not use multiple connections

• Greedy bandwidth: bandwidth aggressive as opposed to aggressive quality choices

• Naïve: benchmark to regular branched video players

Page 126: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Comparison Between Policies Policy Connections Schedules

considered Objective

Single connection 1

Q

Greedy bandwidth 1≤ci≤Cmax

i=1

ne

∑ qili + ∑ qili

i=ne+1

ne+|ξb|

∑ qili i=j

j+m

• Single connection: baseline comparing to policies which do not use multiple connections

• Greedy bandwidth: bandwidth aggressive as opposed to aggressive quality choices

• Naïve: benchmark to regular branched video players

Page 127: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Comparison Between Policies Policy Connections Schedules

considered Objective

Single connection 1

Q

Greedy bandwidth 1≤ci≤Cmax

i=1

ne

∑ qili + ∑ qili

i=ne+1

ne+|ξb|

∑ qili i=j

j+m

• Single connection: baseline comparing to policies which do not use multiple connections

• Greedy bandwidth: bandwidth aggressive as opposed to aggressive quality choices

• Naïve: benchmark to regular branched video players

Page 128: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Test Scenario

Page 129: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Test Scenario

Worst case scenario • always pick the last segment • at last possible moment

Page 130: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Test Scenario

Worst case scenario • always pick the last segment • at last possible moment

Page 131: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Test Scenario

• Default scenario: – Chunks per segment: 5

– Branches per branch point: 4

– Branch points: 3

• Results are averages over 30 experiments

Worst case scenario • always pick the last segment • at last possible moment

Page 132: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Test Scenario

• Default scenario: – Chunks per segment: 5

– Branches per branch point: 4

– Branch points: 3

• Results are averages over 30 experiments

Page 133: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Test Scenario

• Default scenario: – Chunks per segment: 5

– Branches per branch point: 4

– Branch points: 3

• Results are averages over 30 experiments

Segment length

Page 134: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Test Scenario

• Default scenario: – Chunks per segment: 5

– Branches per branch point: 4

– Branch points: 3

• Results are averages over 30 experiments

Branch options

Page 135: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Test Scenario

• Default scenario: – Chunks per segment: 5

– Branches per branch point: 4

– Branch points: 3

• Results are averages over 30 experiments

Branch points

Page 136: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Test Scenario

• Default scenario: – Chunks per segment: 5

– Branches per branch point: 4

– Branch points: 3

• Results are averages over 30 experiments

Branch points

Page 137: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Naïve policy: does not perform prefetching

– Stalls at every branch point

– Note: High playback rate is misleading on its own

Page 138: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Naïve policy: does not perform prefetching

– Stalls at every branch point

– Note: High playback rate is misleading on its own

Page 139: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Naïve policy: does not perform prefetching

– Stalls at every branch point

– Note: High playback rate is misleading on its own

Page 140: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Optimized maintainable quality provides best tradeoff – Much lower stall probability

– Tradeoff is somewhat lower playback quality

Page 141: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Optimized maintainable quality provides best tradeoff – Much lower stall probability

– Tradeoff is somewhat lower playback rate

Page 142: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Optimized maintainable quality provides best tradeoff – Much lower stall probability

– Tradeoff is somewhat lower playback rate

Page 143: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Optimized maintainable quality provides best tradeoff – Much lower stall probability

– Tradeoff is somewhat lower playback rate

Page 144: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Optimized non-increasing quality is more aggressive

– Higher playback rate

– More stalls

Page 145: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Optimized non-increasing quality is more aggressive

– Higher playback rate

– More stalls

Page 146: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Optimized non-increasing quality is more aggressive

– Higher playback rate

– More stalls

Page 147: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Single connection does not use parallel connections – Good (slightly higher) playback rate

– Much more stalls

Page 148: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Single connection does not use parallel connections – Good (slightly higher) playback rate

– Much more stalls

Page 149: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Policy Comparison

• Single connection does not use parallel connections – Good (slightly higher) playback rate

– Much more stalls

Page 150: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Greedy bandwidth aggressively grabs bandwidth

– Lower playback rate

– More stalls

Policy Comparison

Page 151: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Greedy bandwidth aggressively grabs bandwidth

– Lower playback rate

– More stalls

Policy Comparison

Page 152: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Greedy bandwidth aggressively grabs bandwidth

– Lower playback rate

– More stalls

Policy Comparison

Page 153: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Quality decreases with larger RTTs

– Playback rate decrease with RTT

– Stall probability increase with RTT

Impact of Round-trip Times (RTTs)

Page 154: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Quality decreases with larger RTTs

– Playback rate decrease with RTT

– Stall probability increase with RTT

Impact of Round-trip Times (RTTs)

Page 155: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Quality decreases with larger RTTs

– Playback rate decrease with RTT

– Stall probability increase with RTT

Impact of Round-trip Times (RTTs)

Page 156: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Impact of Segment Lengths Segment length

Page 157: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Quality increases with more chunks per segment

• Very many stalls if segments are too short

Impact of Segment Lengths Segment length

Page 158: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Quality increases with more chunks per segment

• Very many stalls if segments are too short

Impact of Segment Lengths Segment length

Page 159: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Quality increases with more chunks per segment

• Very many stalls if segments are too short

100%

Impact of Segment Lengths Segment length

Page 160: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Branch options

Impact of Branch Options

Page 161: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Stalls frequent when too many branch options

• Single connection struggles the most

Branch options

Impact of Branch Options

Page 162: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Stalls frequent when too many branch options

• Single connection struggles the most

Branch options

Impact of Branch Options

Page 163: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Stalls frequent when too many branch options

• Single connection struggles the most

Branch options

Impact of Branch Options

Page 164: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Impact of Competing Flows

TCP connection 1

TCP connection N

Page 165: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Player adapts playback rate based on competing traffic

• Parallel connection polices see increased benefits when

competing traffic

– E.g., Single connection policy has much more stalls when competing flows

Impact of Competing Flows

TCP connection 1

TCP connection N

Page 166: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Player adapts playback rate based on competing traffic

• Parallel connection polices see increased benefits when

competing traffic

– E.g., Single connection policy has much more stalls when competing flows

Impact of Competing Flows

TCP connection 1

TCP connection N

Page 167: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Player adapts playback rate based on competing traffic

• Parallel connection polices see increased benefits when

competing traffic

– E.g., Single connection policy has much more stalls when competing flows

Impact of Competing Flows

TCP connection 1

TCP connection N

Page 168: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Player adapts playback rate based on competing traffic

• Parallel connection polices see increased benefits when

competing traffic

– E.g., Single connection policy has much more stalls when competing flows

Impact of Competing Flows

TCP connection 1

TCP connection N

Page 169: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Player adapts playback rate based on competing traffic

• Parallel connection polices see increased benefits when

competing traffic

– E.g., Single connection policy has much more stalls when competing flows

Impact of Competing Flows

TCP connection 1

TCP connection N

Page 170: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Capped Workahead

• Most HAS players perform ON-OFF switching based on two buffer thresholds: Tmin and Tmax

• If buffer > Tmin

– Start playback

• If buffer > Tmax

– Suspend download

• If buffer < Tmin

– Resume download

Page 171: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Most HAS players perform ON-OFF switching based on two buffer thresholds: Tmin and Tmax

• If buffer > Tmin

– Start playback

• If buffer > Tmax

– Suspend download

• If buffer < Tmin

– Resume download

Capped Workahead

buffer > Tmin

Page 172: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Most HAS players perform ON-OFF switching based on two buffer thresholds: Tmin and Tmax

• If buffer > Tmin

– Start playback

• If buffer > Tmax

– Suspend download

• If buffer < Tmin

– Resume download

Capped Workahead

buffer > Tmin

Page 173: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Most HAS players perform ON-OFF switching based on two buffer thresholds: Tmin and Tmax

• If buffer > Tmin

– Start playback

• If buffer > Tmax

– Suspend download

• If buffer < Tmin

– Resume download

Capped Workahead

buffer > Tmax

buffer > Tmin

Page 174: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Most HAS players perform ON-OFF switching based on two buffer thresholds: Tmin and Tmax

• If buffer > Tmin

– Start playback

• If buffer > Tmax

– Suspend download

• If buffer < Tmin

– Resume download

Capped Workahead

buffer > Tmax

buffer > Tmin

Page 175: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Most HAS players perform ON-OFF switching based on two buffer thresholds: Tmin and Tmax

• If buffer > Tmin

– Start playback

• If buffer > Tmax

– Suspend download

• If buffer < Tmin

– Resume download

Capped Workahead

buffer > Tmax

buffer > Tmin

Page 176: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Most HAS players perform ON-OFF switching based on two buffer thresholds: Tmin and Tmax

• If buffer > Tmin

– Start playback

• If buffer > Tmax

– Suspend download

• If buffer < Tmin

– Resume download

Capped Workahead

buffer > Tmax

buffer > Tmin buffer > Tmin

Page 177: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Most HAS players perform ON-OFF switching based on two buffer thresholds: Tmin and Tmax

• If buffer > Tmin

– Start playback

• If buffer > Tmax

– Suspend download

• If buffer < Tmin

– Resume download

Capped Workahead

buffer > Tmax

buffer > Tmin buffer > Tmin

Page 178: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Most HAS players perform ON-OFF switching based on two buffer thresholds: Tmin and Tmax

• If buffer > Tmin

– Start playback

• If buffer > Tmax

– Suspend download

• If buffer < Tmin

– Resume download

Capped Workahead

buffer > Tmax

buffer > Tmin buffer > Tmin

Page 179: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

• Most HAS players perform ON-OFF switching based on two buffer thresholds: Tmin and Tmax

• If buffer > Tmin

– Start playback

• If buffer > Tmax

– Suspend download

• If buffer < Tmin

– Resume download

Capped Workahead

buffer > Tmax

buffer > Tmin buffer > Tmin

Page 180: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Capped Workahead

• How to handle workahead when video contains branches?

• Perform ON-OFF switching based on number of branches after the closest branch point

• Tmin = Tsingle (# branches)

• Tmax = Tsingle+

Page 181: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Capped Workahead

• How to handle workahead when video contains branches?

• Perform ON-OFF switching based on number of branches after the closest branch point

• Tmin = Tsingle (# branches)

• Tmax = Tsingle+

Page 182: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Capped Workahead

• How to handle workahead when video contains branches?

• Perform ON-OFF switching based on number of branches after the closest branch point

• Tmin = Tsingle (# branches)

• Tmax = Tsingle+

Page 183: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Capped Workahead

• How to handle workahead when video contains branches?

• Perform ON-OFF switching based on number of branches after the closest branch point

• Tmin = Tsingle (# branches)

• Tmax = Tsingle+

Example

Page 184: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Capped Workahead

• How to handle workahead when video contains branches?

• Perform ON-OFF switching based on number of branches after the closest branch point

• Tmin = Tsingle (# branches)

• Tmax = Tsingle+

Example Tsingle = 8 = 4 # branches = 2

Page 185: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Capped Workahead

• How to handle workahead when video contains branches?

• Perform ON-OFF switching based on number of branches after the closest branch point

• Tmin = Tsingle (# branches)

• Tmax = Tsingle+

Example Tsingle = 8 = 4 # branches = 2

Tmin = 16 Tmax = 20

Page 186: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Capped Workahead

• How to handle workahead when video contains branches?

• Perform ON-OFF switching based on number of branches after the closest branch point

• Tmin = Tsingle (# branches)

• Tmax = Tsingle+

Example

Page 187: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Conclusion

• Designed and implemented branched video player that achieve seamless streaming without playback interruptions

• Designed optimized policies that maximize playback quality while ensuring sufficient workahead to avoid stalls

• Evaluation shows that solution effectively adapt quality levels and number of parallel connections so as to provide best possible video quality, given current conditions

Page 188: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Conclusion

• Designed and implemented branched video player that achieve seamless streaming without playback interruptions

• Designed optimized policies that maximize playback quality while ensuring sufficient workahead to avoid stalls

• Evaluation shows that solution effectively adapt quality levels and number of parallel connections so as to provide best possible video quality, given current conditions

Page 189: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Conclusion

• Designed and implemented branched video player that achieve seamless streaming without playback interruptions

• Designed optimized policies that maximize playback quality while ensuring sufficient workahead to avoid stalls

• Evaluation shows that solution effectively adapt quality levels and number of parallel connections so as to provide best possible video quality, given current conditions

Page 190: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Conclusion

• Designed and implemented branched video player that achieve seamless streaming without playback interruptions

• Designed optimized policies that maximize playback quality while ensuring sufficient workahead to avoid stalls

• Evaluation shows that solution effectively adapt quality levels and number of parallel connections so as to provide best possible video quality, given current conditions

Page 191: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

Conclusion

• Designed and implemented branched video player that achieve seamless streaming without playback interruptions

• Designed optimized policies that maximize playback quality while ensuring sufficient workahead to avoid stalls

• Evaluation shows that solution effectively adapt quality levels and number of parallel connections so as to provide best possible video quality, given current conditions

Software: http://www.ida.liu.se/~nikca/mm14.html

Page 192: Quality-adaptive Prefetching for Interactive Branched Video using …nikca89/papers/mm14.slides.pdf · Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based

www.liu.se

Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based Adaptive Streaming

Vengatanathan Krishnamoorthi, Niklas Carlsson, Derek Eager,

Anirban Mahanti, Nahid Shahmehri Software: http://www.ida.liu.se/~nikca/mm14.html