the tension between high video rate and no rebuffering n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
The Tension Between High Video Rate and No Rebuffering PowerPoint Presentation
Download Presentation
The Tension Between High Video Rate and No Rebuffering

Loading in 2 Seconds...

play fullscreen
1 / 43

The Tension Between High Video Rate and No Rebuffering - PowerPoint PPT Presentation


  • 125 Views
  • Uploaded on

The Tension Between High Video Rate and No Rebuffering. Te-Yuan (TY) Huang Stanford University IRTF Open Meeting @IETF 87 July 30th, 2013 Joint work Prof. Nick McKeown and Prof. Ramesh Johari. Outline. How does streaming video work today? Video streaming over HTTP

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'The Tension Between High Video Rate and No Rebuffering' - avi


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
the tension between high video rate and no rebuffering

The Tension Between High Video Rate and No Rebuffering

Te-Yuan (TY) Huang

Stanford University

IRTF Open Meeting @IETF 87July 30th, 2013

Joint work Prof. Nick McKeownand Prof. RameshJohari

outline
Outline
  • Howdoes streaming video work today?
    • Video streaming over HTTP
    • Video rate selection over HTTP
    • The goals of rate selection
  • The tension between the goals
  • Initial thoughts on how to break the tension
video is the big thing on the internet
Video is the BIG thing on the Internet
  • Video is more than 50% of peak traffic in the US
  • Trend: Streaming over HTTP
    • Content Distribution Networks (CDNs)
      • Well-provisioned HTTP servers at the edge of the Internet
      • Cheap (1-2 cents per GB in 2013)
    • Firewall friendliness
how does r ate s election over http work
How does rate selection over HTTP work?

1750

1750

File 1:

1050

1050

1050

Get File 1 (1750kb/s)

File 2:

The Internet

CDN 3

PlayoutBuffer

Client

Rate selection logic resides at client side

Standard, commoditized HTTP Servers

Serve the video with quality 1750kb/s

the rate selection process
The Rate Selection Process

Capacityestimation

Initial

video

rate

Download& measure

Pick a rate

Video rate for the next video segment

the common goals
The Common Goals
  • Achieve the highest possible video rate
    • Video rate represents video quality
  • Avoid “rebuffer” as much as possible
    • “Rebuffer” means under-running playout buffer
      • Unavoidable: Network or Service Outage
        • Necessary rebuffers
      • Avoidable: Requesting a video rate that is too high
        • Unnecessary rebuffers
the tension between the goals
The Tension Between The Goals
  • The actual capacity is unknown and varies
    • Accurate estimation is hard
  • Underestimate the capacity
    • Picking a rate that is too low
    • leads to sub-optimal video quality (Fail Goal #1!)
  • Over-estimate the capacity
    • Picking a rate that is too high
    • leads to rebuffering(Fail Goal #2!)
slide9

Before download started

Afterdownload started

what happened
What happened?
  • Both the download and video are over HTTP
    • TCP shares my home link equally among all flows

What is the problem?

experiment setup
Experiment Setup

CDN 1

The Internet

CDN 2

CDN 3

Bandwidth Controller

Content Distribution Networks

video rate in the presence of a competing flow
Video Ratein the Presence of a Competing Flow

Video Flow

Throughput

Competing Flow

Throughout

Fair share

Steps down all the way to the lowest quality

Video Rate

Available

Video

Rates

what if we m anually s elect a video r ate
What If we manually select a video rate?

Video Flow

Throughput

Video keeps playing without any problem

Video Rate

Available

Video

Rates

Manually select 1750kb/s

what if we manually select a video rate
What If we manually select a video rate?

Competing Flow

Throughput

Competing flow throughput is brought down

Video Flow

Throughput

Video Rate

Available

Video

Rates

Manually select 1750kb/s

not just one service s problem
Not Just One Service’s Problem
  • This happens in all the three services we measured
    • Hulu, Netflix and Vudu

Video Rate

Video Rate

the problem
The Problem

Video client ends up with much less throughput than its fair share

It picks a video rate that is much too low

Why?

the rate selection process1
The Rate Selection Process

Capacityestimation

Initial

video

rate

Download& measure

Pick a rate

Video rate for the next video segment

What goes wrong?

tcp throughput of the video fl ow
TCP Throughput of the Video Flow

Playout

Buffer is Full

TCP Throughput

OFF Period: 1-2 seconds

impact of off period on tcp
Impact of OFF period on TCP
  • TCP sender resets its congestion window
    • When idle more than one RTO (200ms)
    • Slow-start restart, RFC 2581/5681
    • Linux 3.x (tcp_output.c, line 163)
  • Throughput will be affected
    • Worse with a competing flow
      • Experience packet loss during slow start

50% of the segments get < 1.8Mb/s

(Fair Share is 2.5Mb/s)

the rate selection process2
The Rate Selection Process

Capacityestimation

Initial

video

rate

Underestimation

Download& measure

Pick a rate

Video rate for the next video segment

If perceived 1.8 Mb/s,

which video rate would it pick?

Even lower?

1750 kb/s?

1400 kb/s?

conservative rate s election
Conservative Rate Selection

Available BW

If 1.8Mb/s BW is perceived,the client switches down to1050kb/s video rate

Video Rate

21

the rate selection process3
The Rate Selection Process

Capacityestimation

Initial

video

rate

Underestimation

Download& measure

Pick a rate

Conservatively

Video rate for the next video segment

Is there any consequence of being conservative?

smaller segment size for lower video rate
Smaller Segment Size for Lower Video Rate

When requesting a smaller segment size, lower probability of obtaining fair share.

the rate selection process4
The Rate Selection Process

Further

Capacityestimation

Initial

video

rate

Underestimation

Download& measure

Pick a rate

Conservatively

Video rate for the next video segment

Request for a smaller segment

the complete story
The Complete Story

Capacity Underestimation

Video Quality

Conservatism

Further Underestimation

Being conservative can trigger a vicious cycle!

slide27

But the available capacity is unknown & varies,

So being conservative is understandable.

Although this leads to sub-optimal quality (Fails Goal #1),

at least it will avoid rebuffer (Goal #2) …

Right?

the tension between the goals1
The Tension Between The Goals
  • The actual capacity is unknown and varies
    • Accurate estimation is hard
  • Underestimate the capacity
    • Picking a rate that is too low
    • leads to sub-optimal video quality
  • Over-estimate the capacity
    • Picking a rate that is too high
    • leads to rebuffering
what happened1
What happened?

Available

Video

Rates

what happened cont
What happened? – Cont.

Video Rate

Available

Video

Rates

what happened cont1
What happened? – Cont.

Buffer Level

Available

Video

Rates

what happened cont2
What happened? – Cont.

Start Playing Again

Buffer Level

Video Rate

Rate Adapted.

Available

Video

Rates

Not fast enough!

Not low enough!

Rebuffer!

why did the stream rebuffer
Why did the stream rebuffer?
  • Capacity is estimated by weighted average of recent throughput
  • The drop of the actual capacity does not reflect on the estimation until later
  • Request a higher rate than it should
  • End up under-running the buffer

Rebuffer!

why does the tension exist
Why does the tension exist?
  • Under-estimate the capacity
    • Picking a rate lower than the actual capacity
    • leads to sub-optimal video quality (Fail Goal #1!)
  • Over-estimate the capacity
    • Picking a rate higher than the actual capacity
    • leads to rebuffering (Fail Goal #2!)
  • To break the tension
    • Need accurate capacity estimation

Why the tension exists?

why does the tension exist1
Why does the tension exist?
  • Pick video rate based on capacity estimation
    • The actual capacity is unknown and varies
    • The estimation never equals to the actual capacity
  • The same algorithm can both under-estimate and over-estimate the capacity
slide38

What if….

Pick the video rate based on something we know:

The Playout Buffer

Can we break the tension?

break the tension goal 1
Break the Tension – Goal #1
  • To achieve the highest possible video rate:
    • Need to fully utilize the capacity
      • Avoid ON/OFF behavior
      • Unless we have more capacity than we need
  • Request for the highest video rate before the buffer is full
    • Playout Buffer will only be full:
      • When the capacity is larger than the highest video rate
      • Have more capacity than needed
    • Fully utilize the bandwidth
    • Average video rate = Average throughput
goal 2 avoid rebuffers
Goal #2: Avoid Rebuffers

Rmax

Video Rate → Rmin (min video rate)

Rmin

when Buffer → 0

Buffer

As long as Capacity > Rmin, Buffer will grow.

Never Unnecessarily Rebuffer!

break the tension goal 1 2
Break the Tension – Goal #1 & #2

Highest Video Rate Achieved!

Rate

Rmax

Rmin

Buffer

RebufferAvoided!

practical concerns
Practical Concerns
  • Discrete segment downloads
    • Can only pick video rate when requesting a segment
  • Discrete video rates
  • Many more…
  • Buffer-based algorithm provides a framework to address these concerns

“Downton Abbey without the Hiccups: Buffer-Based Rate Adaptation for HTTP Video Streaming”. SIGCOMM FhMN Workshop, Aug. 16th, 2013

conclusion
Conclusion
  • Current practice of rate selection algorithm:
    • Pick a video rate based on capacity estimation
    • Two common goals:
      • Achieve highest possible video rate
      • Avoid rebuffer as much as possible
  • The tension between two common goals
    • Underestimation vs. Overestimation
  • The tension is caused by the estimation
    • Let’s take that out from the algorithm
  • Focus on the one thing we know: The Playout Buffer
    • The tension will be broken down