nus.soc.cs5248 ooi wei tsang rate adaptations. nus.soc.cs5248 ooi wei tsang you are here network...

19

Upload: erica-jenkins

Post on 20-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Rate Adaptations

Page 2: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

You are Here

Network

Encoder

Sender

Middlebox

Receiver

Decoder

Page 3: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Sender’s Algorithm

open UDP socketforeach video frame chop into packets add RTP header send to network

Page 4: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Sender’s Algorithm

open UDP socketforeach video frame chop into packets add RTP header send to network wait for 1/fps seconds

Page 5: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Sender’s Algorithm

open UDP socketforeach video frame chop into packets foreach packet add RTP header send to network wait for size/bps seconds

Page 6: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Rules

Transmission rate should match encoding rate

Transmission should not be too bursty

Page 7: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Two Approaches

Just send at a fix rate or “I hope the network can handle it”

approach”

Page 8: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Effects on TCP: Simulation

From Sisalem, Emanuel and Schulzrinne paper on“Direct Adjustment Algorithm”

Page 9: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Effects on TCP

Page 10: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Demo

Effects of UDP on TCP without congestion control

Page 11: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Two Approaches

Just send at a fix rate or “I hope the network can handle it”

approach”

Adapt transmission/encoding rate to network condition

Page 12: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

How to Adapt?

if network condition is badreduce rate

else if network condition is so-so do nothingelse if network condition is good increase rate

Page 13: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

How to ..

Know “network condition is bad”?

increase/decrease rate?

Page 14: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

if network condition is bad

else if network condition is so-so do nothingelse if network condition is good

Adapting Output Rate

Page 15: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Question:

What should and be?

Page 16: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Observation 1

Should never change your rate more than an equivalent TCP

Page 17: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Observation 2

and should depend on network conditions and current rate.

Page 18: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Goal: Fair Share of Bottleneck

let r r : current rateb : bottleneck

bandwidth S : current share

Page 19: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

S vs

1S

Page 20: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Value of

(Assuming one receiver)

Page 21: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Limit of

M : packet size : round trip timeT : period between evaluation of

Page 22: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Limit of

M : packet size: round trip timeT : period between evaluation of

Page 23: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

loss rate vs

loss rate

1

1

Page 24: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Value of

where is the loss rate k is a constant

(Assuming one receiver)

Page 25: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Page 26: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

What is Needed?

Page 27: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Estimating b : Packet Pair

Page 28: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Estimating b : Packet Pair

Page 29: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Estimating b : Packet Pair

Page 30: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Evaluation

Page 31: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

More TCP-Friendly Rate Control

Page 32: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

TCP-Equation

Window size behavior in TCP/IP with constant loss probability T. Ott, J. Kemperman, and M. MathisJune 1997, HPCS 1997

Page 33: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

TCP-Equation

Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley, Jitendra Padhye, and Joerg Widmer.August 2000. SIGCOMM 2000

Page 34: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Another Transport Protocol

Datagram Congestion Control Protocol (DCCP)

Implements congestion control but not reliability

Page 35: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Rules

Transmission rate should match encoding rate

Transmission should not be too bursty

Page 36: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Rate Control

Given a rate, how to encode the video with the given rate?

Page 37: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Reduce Frame Rate

Live Video

Stored Video

Page 38: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Reduce Frame Resolution

Live Video

Stored Video

Page 39: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Increase Quantization

Live Video

Stored Video

Page 40: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Drop AC components

Live Video

Stored Video

Page 41: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Trouble with Stored Video

Reducing rate requires partial decoding and re-encoding

Solution: Layered Video

Page 42: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Layered Video

or “Scalable Video”

Page 43: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Layered Video

Layer 1 Layer 2 Layer 3

Page 44: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Layering Scheme

Temporal Layering

Page 45: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Layering Scheme

Spatial Layering

Page 46: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Layering Scheme

DCT Layering

30 8

-6 -1

2 0

0 0

1 0

0 0

0 0

0 0

30 8

-6 -1

2

1

30

Page 47: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Layering Scheme

Fine Granularity Scalability (FGS)

1 0 0 0 0 1 0 0

1 0 0 1 0 1 0 1

1 1 1 0 0 0 1 0

1 1 0 0 0 0 0 0

Page 48: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Rate Adaptation

To increase rate, send more layersTo decrease rate, drop some layers

Page 49: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

MS Windows Streaming Media

Page 50: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Intelligent Streaming

Multiple-Bit-Rate Encoding Intelligent Bandwidth Control

bit rate selection thinning

Intelligent Image Processing

Page 51: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Intelligent Streaming

How exactly does it work?Sorry, it’s proprietary

Page 52: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Is WSM TCP friendly?

Measurements of the Congestion Responsiveness of Windows Streaming Media

J. Nichols et. al., NOSSDAV 2004

All figures taken from the original NOSSDAV presentation

Page 53: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Page 54: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

340kbps clip, 725kbps bottleneck

Page 55: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Transmission is Bursty

Page 56: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

340kbps clip, 725kbps bottleneck

Page 57: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

548kbps Clip - 725kbps Bottleneck

Page 58: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

1128kbps Clip - 725kbps Bottleneck

Page 59: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

725kbps Bottleneck

Buffering Playout

Single Encoded Bit Rate

Page 60: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

725kbps Bottleneck

Multiple Encoded Bit Rate

Buffering Playout

Page 61: NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Conclusion

Two phases: buffering + playoutNot always TCP-friendly