Top Banner
NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations
61

Rate Adaptations

Jan 20, 2016

Download

Documents

galeno

Rate Adaptations. You are Here. Encoder. Decoder. Middlebox. Receiver. Sender. Network. Sender’s Algorithm. open UDP socket foreach video frame chop into packets add RTP header send to network. Sender’s Algorithm. open UDP socket foreach video frame - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Rate Adaptations

Page 2: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

You are Here

Network

Encoder

Sender

Middlebox

Receiver

Decoder

Page 3: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Sender’s Algorithm

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

Page 4: Rate Adaptations

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: Rate Adaptations

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: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Rules

Transmission rate should match encoding rate

Transmission should not be too bursty

Page 7: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Two Approaches

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

approach”

Page 8: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Effects on TCP: Simulation

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

Page 9: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Effects on TCP

Page 10: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Demo

Effects of UDP on TCP without congestion control

Page 11: Rate Adaptations

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: Rate Adaptations

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: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

How to ..

Know “network condition is bad”?

increase/decrease rate?

Page 14: Rate Adaptations

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: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Question:

What should and be?

Page 16: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Observation 1

Should never change your rate more than an equivalent TCP

Page 17: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Observation 2

and should depend on network conditions and current rate.

Page 18: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Goal: Fair Share of Bottleneck

let r r : current rateb : bottleneck

bandwidth S : current share

Page 19: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

S vs

1S

Page 20: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Value of

(Assuming one receiver)

Page 21: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Limit of

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

Page 22: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Limit of

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

Page 23: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

loss rate vs

loss rate

1

1

Page 24: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Value of

where is the loss rate k is a constant

(Assuming one receiver)

Page 25: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Page 26: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

What is Needed?

Page 27: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Estimating b : Packet Pair

Page 28: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Estimating b : Packet Pair

Page 29: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Estimating b : Packet Pair

Page 30: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Evaluation

Page 31: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

More TCP-Friendly Rate Control

Page 32: Rate Adaptations

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: Rate Adaptations

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: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Another Transport Protocol

Datagram Congestion Control Protocol (DCCP)

Implements congestion control but not reliability

Page 35: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Rules

Transmission rate should match encoding rate

Transmission should not be too bursty

Page 36: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Rate Control

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

Page 37: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Reduce Frame Rate

Live Video

Stored Video

Page 38: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Reduce Frame Resolution

Live Video

Stored Video

Page 39: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Increase Quantization

Live Video

Stored Video

Page 40: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Drop AC components

Live Video

Stored Video

Page 41: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Trouble with Stored Video

Reducing rate requires partial decoding and re-encoding

Solution: Layered Video

Page 42: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Layered Video

or “Scalable Video”

Page 43: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Layered Video

Layer 1 Layer 2 Layer 3

Page 44: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Layering Scheme

Temporal Layering

Page 45: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Layering Scheme

Spatial Layering

Page 46: Rate Adaptations

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: Rate Adaptations

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: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Rate Adaptation

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

Page 49: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

MS Windows Streaming Media

Page 50: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Intelligent Streaming

Multiple-Bit-Rate Encoding Intelligent Bandwidth Control

bit rate selection thinning

Intelligent Image Processing

Page 51: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Intelligent Streaming

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

Page 52: Rate Adaptations

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: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Page 54: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

340kbps clip, 725kbps bottleneck

Page 55: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Transmission is Bursty

Page 56: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

340kbps clip, 725kbps bottleneck

Page 57: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

548kbps Clip - 725kbps Bottleneck

Page 58: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

1128kbps Clip - 725kbps Bottleneck

Page 59: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

725kbps Bottleneck

Buffering Playout

Single Encoded Bit Rate

Page 60: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

725kbps Bottleneck

Multiple Encoded Bit Rate

Buffering Playout

Page 61: Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Conclusion

Two phases: buffering + playoutNot always TCP-friendly