adaptive playout
DESCRIPTION
Adaptive Playout. You are Here. Encoder. Decoder. Middlebox. Receiver. Sender. Network. How to recv and play?. open socket while not done if socket is readable read packet from socket remove RTP header decode play back. What’s Wrong?. packet ordering packet loss - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/1.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
1
Adaptive Playout
![Page 2: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/2.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
2
You are Here
Network
Encoder
Sender
Middlebox
Receiver
Decoder
![Page 3: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/3.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
3
How to recv and play?
open socketwhile not done
if socket is readable read packet from socketremove RTP headerdecodeplay back
![Page 4: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/4.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
4
What’s Wrong?
packet orderingpacket lossnext packet arrive in-time?
Especially bad for audio applications
![Page 5: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/5.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
5
Overview
Network
RTP Classifier
Decode
![Page 6: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/6.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
6
Implementation
Single Thread using select()
Multi-Threads
![Page 7: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/7.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
7
Packet Buffer
Sorted by sequence numberWhen ADU is complete, send to
decoder
RTP Classifier
![Page 8: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/8.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
8
Playout Buffer
Stored decoded data in playout order
Post-processing/Mixing may happen
Decode
![Page 9: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/9.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
9
Why Buffer?
![Page 10: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/10.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
10
Sending Packets
Time
Packet
![Page 11: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/11.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
11
Receiving Packets
Time
Packet
![Page 12: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/12.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
12
With Jitter
Time
Packet
![Page 13: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/13.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
13
With Jitter
Time
Packet
![Page 14: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/14.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
14
What causes Jitter?
Network delay = Transmission Delay (fixed) +
Propagation Delay (fixed) +Queuing Delay (variable)
Delay jitter is caused by variable queuing delay
![Page 15: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/15.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
15
Delay Jitter
Time
TransitTime
small jitter
large jitter
![Page 16: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/16.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
16
Spike
Time
TransitTime
![Page 17: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/17.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
17
Today’s Question
How big is the playout buffer?When to play back?
![Page 18: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/18.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
18
Types of Applications
Non-interactive Buffer can be large
Interactive As small as possible
![Page 19: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/19.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
19
Types of Applications
Video Frames are discrete (easier
problem)
Audio Samples are “continuous”
![Page 20: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/20.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
20
Naive Answer
How big is a buffer? Fixed at a small value, to reduce
latency
When to playback? Playback as soon as possible, to
reduce latency
![Page 21: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/21.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
21
Client Buffer Management
Bandwidth Smoothing for Non-interactive Applications
![Page 22: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/22.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
22
Multi-Threshold Flow Control
R. Zimmermann, K. Fu, M. Jahangiri, C. ShahabiMTAP 2006
![Page 23: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/23.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
23
Video-on-Demand (VoD)
High-quality playback requiredBuffer can be largeEncoding may be VBR for high
visual qualityPlayback time may be very long
(2+ hours)
![Page 24: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/24.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
24
Two Approaches (1)
Server-controlled Pre-compute transmission schedule Piece-wise linear approximation:
compute a number of constant-rate segments
Different optimization criteria Minimize: # of rate changes, #
utilization of client buffer, peak rate, etc.
![Page 25: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/25.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
25
Two Approaches (2)
Client-controlled Client adaptively informs server Advantages:
No rate history necessary (VBR) Can adjust to network conditions Works easily with interactive
commands such as FF, FR, Pause
![Page 26: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/26.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
26
Robust Stream Delivery
Smoothing of VBR media traffic has the following quality benefits: Better resource utilization (less
bursty) More streams with the same
network capacity
![Page 27: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/27.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
27
Objectives
Multi-Threshold Flow Control(MTFC) algorithm objectives: Online operation Content independence Minimizing feedback
control signaling Rate smoothing
![Page 28: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/28.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
28
Example
![Page 29: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/29.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
29
MTFC Buffer Management
Multiple Thresholds: goal is middle of buffer
Send rateadjustcommandto serverwheneverthresholdis crossed
![Page 30: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/30.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
30
How to Set Thresholds?
Simple: equi-distant m: number of thresholds Overflow and underflow thresholds
![Page 31: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/31.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
31
How to Calculate Sending Rate?
![Page 32: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/32.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
32
Threshold Spacing StrategiesLinear vs. arithmetic vs. geometric
![Page 33: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/33.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
33
Threshold Spacing StrategiesGeometric and arithmetic spacing:
![Page 34: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/34.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
34
Sending Rate Computation
Relevant factors: Target buffer level (i.e., 50%): THN
Current buffer level: bwobsv
Predicted duration to reach target level Data consumed during predicted duration
![Page 35: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/35.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
35
MTFC Results
![Page 36: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/36.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
36
MTFC Results: # of Thresholds
![Page 37: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/37.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
37
MTFC Results: # of Thresholds
NumberOf
RateChanges
8MB 16MB 32MB
0
1020
30
40
50
60
708090
100
3 5 9 17
Number of Thresholds
![Page 38: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/38.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
38
A Brief Introduction to Audio Conferencing
![Page 39: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/39.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
39
Audio Conferencing
Live, interactive application Latency is important
Each packet contains 20-30ms of audio
![Page 40: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/40.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
40
Silence Suppression
Silence Detection if no sound, no need to send
Talk spurt consecutive audio packets
(between silence) hundreds of ms
![Page 41: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/41.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
41
Recall: RTP Header
marker bit: depends on payload e.g. beginning of frame
![Page 42: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/42.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
42
RTP and Talkspurt
First packet of a talkspurt will have marker bit set to 1
![Page 43: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/43.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
43
RTP and Talkspurt
Deduce talkspurt from sequence number and timestamp
240
120
360
5190
SeqNoTimeStamp
![Page 44: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/44.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
44
Consequences of Talkspurt
Opportunity to adjust playout delay if jitter is large, increase delay if jitter is small, decrease delay
![Page 45: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/45.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
45
Fixed Playout Delay
SEND
RECV
PLAY
![Page 46: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/46.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
46
Adaptive Playout Delay
SEND
RECV
PLAY
![Page 47: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/47.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
47
Adaptive Playout Delay
SEND
RECV
PLAY
![Page 48: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/48.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
48
Trade-Off
Latency vs. Packet Loss
![Page 49: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/49.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
49
Latency vs Loss-Rate
LossRate
Latency
![Page 50: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/50.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
50
Adaptive Playout Mechanisms for Packetized Audio Applications in WAN
R. Ramjee, J. Kurose, D. Towsley, H. SchulzrinneINFOCOM 1995
![Page 51: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/51.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
51
Variables and Notations
![Page 52: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/52.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
52
Variables and Notations
Tsend(i)
Tplay(i)
Tbuf(i)
Tarrive(i)
Tdelay(i)
Tnet(i)
![Page 53: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/53.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
53
1st Packet in Talkspurt
We can estimate as
![Page 54: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/54.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
54
How to estimate Vnet(i)
![Page 55: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/55.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
55
How to estimate Enet(i)
Method 1: Jacobson’s Method
![Page 56: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/56.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
56
Spike
Time
Tnet
![Page 57: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/57.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
57
Problems
Does not react to spike fast enough
![Page 58: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/58.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
58
How to estimate Enet(i)
Ramjee’s Method
SPIKE NORMAL
![Page 59: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/59.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
59
Ramjee’s Idea
SPIKE NORMAL
if Tnet(i) suddenly increase
if “slope” is small enough
![Page 60: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/60.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
60
In Spike ModeSPIKE
i
Tnet
![Page 61: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/61.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
61
In Normal ModeNORMAL
i
Tnet
![Page 62: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/62.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
62
Evaluations
Delay
LossRate
![Page 63: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/63.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
63
Problems with Ramjee’s Method
Time
TransitTime
![Page 64: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/64.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
64
Packet Audio Playout Delay Adjustment: Performance Bounds and Algorithms
S. Moon, J Kurose, D. TowsleyMultimedia Systems 1998
![Page 65: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/65.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
65
Recall Previous Methods
![Page 66: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/66.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
66
How to Set Tdelay(i)
Moon’s Method
Collect statistics on packets that have arrived.
Find t such that q% of last w packets have Tnet(i) < t.
![Page 67: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/67.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
67
Example (w =50, q = 90%)num of packets
delay
1 2 3 4 5 6 7 8 9 10 11 12
![Page 68: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/68.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
68
Setting Tdelay(i)
NORMAL SPIKE
![Page 69: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/69.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
69
Setting Tdelay(i)
Time
TransitTime
![Page 70: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/70.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
70
Performance Bound
Given a trace of packets, and a loss rate, find the minimum average playout delay.
Use Dynamic Programming
![Page 71: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/71.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
71
A Packet Trace
k
M talkspurts
1,k 2,k 3,k j,k nk,k
Tnet 13 15 10 …
![Page 72: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/72.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
72
More Notations
M: Number of Talkspurt
Npacket(k) or nk
Number of packets in talkspurt kNtotal
Total number of packets
![Page 73: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/73.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
73
Definition
minimum average playout delay for choosing i packets to be played out from k-th talkspurt
k
M talkspurts
![Page 74: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/74.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
74
How to find
![Page 75: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/75.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
75
Definition
minimum average playout delay for choosing i packets to be played out from k-th to M-th talkspurt
k
M talkspurts
M..
![Page 76: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/76.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
76
Base Case
D(k, 0) =
D(M, i) =
minimum average playout delay forchoosing i packets to be played out from k-th to M-th talkspurt
![Page 77: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/77.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
77
Recursive Case
k.. M..
1,k 2,k 3,k nk,k..
j
![Page 78: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/78.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
78
Performance Bound
Given a trace of M talkspurts and n packets, and a loss rate e, find the minimum average playout delay.
Answer: Minimum possible average playout delay is D(1, (1-e)n)
minimum average playout delay forchoosing i packets to be played out from k-th to M-th talkspurt
![Page 79: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/79.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
79
Evaluations
LossRate
Delay
![Page 80: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/80.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
80
Summary
Playout Adjustment for Audio Conferencing
Weighted Average Methods vs. Statistical Methods
An Analysis of Minimum Playout Delay
![Page 81: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/81.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
81
Practical Complications
Clock DriftsRoute Change
![Page 82: Adaptive Playout](https://reader035.vdocuments.mx/reader035/viewer/2022062409/568149f7550346895db72b39/html5/thumbnails/82.jpg)
NUS.SOC.CS5248-2010Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
82
Advanced Techniques
Speed-up Playback