CSC 557 BestEffort Multimedia Networking Delay Jitter Injong
CSC 557 Best-Effort Multimedia Networking (Delay Jitter) Injong Rhee Department of Computer Science North Carolina State University
Best-Effort Multimedia Networking outline IP message delivery semantics n The four common Internet pathologies Alleviate the effects of delay-jitter n “ 60 ways to queue & play your media samples”
Best-Effort Multimedia Networking outline Alleviate the effects of packet losses n n Recovery of lost samples through retransmission Recovery of lost samples through the addition of redundant information. Congestion Control n n Streaming and Rate Control Techniques Adaptive media scaling and packaging
Best-effort Multimedia Networking Internet Pathologies | | | Perfect Delivery | | | Loss | | | Delay Jitter | | Out-of-order arrivals Delay-jitter. n Managing a trade-off between end-to-end delay and continuous playout. Loss. n n Proactively control through forward error correction. Reactively control through retransmission.
Best-effort Multimedia Networking Internet Pathologies | | | Perfect Delivery | | Loss | | | Delay Jitter Out-of-order arrivals. n n Assume out-of-order sample is lost. Assume sample is late. Duplicate arrivals. n n Do we care? Simply discard. | | | Out-of-order arrivals
The Effects of Delay-jitter Playing samples as they arrive creates gaps. Late packets increase display queue length. p Send 2 p a b c 2 p d e f 3 p g h Receive Playout Display Queue a b d c e d e f g h
Gaps or Latency, That is the Question. Non-interactive real-time applications. n Continuous playout is more important.
Gaps or Latency, That is the Question. Interactive applications, n n n Moderate gaps are preferred to latency. But good balance between gaps and latency can achieve high quality playout. Need a scheme that dynamically compute playout latency based on the observed network jitters without introducing too many gaps.
Principles of Delay-jitter Buffering Two Fundamental Late Arrival Strategies Play media samples as they arrive n Latency increases as delay-jitter increases Send Receive Playout
Principles of Delay-jitter Buffering Two Fundamental Late Arrival Strategies Discard “late” samples n Send Receive Playout media with constant latency
Alleviating the Effects of Delay-jitter Trading-off End-to-end Latency for Continuous playout Initial playout buffering Enqueueing the sample ensures continuous playout… But delays playout and increases latency. Send 3 p a b c d e f g h Receive Playout Display Queue a b a c b a d c b e d c e d f e g f g h
Principles of Delay-Jitter Buffering Sample discarding Purposefully throwing away samples reduces latency 3 p Send a 2 p b c d e f g h Receive X Playout Display Queue a b a c b a d c b e d e f g h
Principles of Delay-Jitter Buffering Estimating network delay If network delay is bounded by a constant d: n n Timestamp each packet at sender When a packet arrives, enqueue the packet and dequeue at time: Sender’s_transmission_time + d playout latency = 3 p Send Receive Playout a b c worst case network delay = d d e f g h
Principles of Delay-Jitter Buffering Estimating network delay Basic algorithm: playout latency = d + (k x v) where n n n d is the average estimated network delay v is the estimated variation deviation k is a “congestion estimator” playout latency Send Receive Playout a b c d e f g h
Principles of Delay-Jitter Buffering Estimating network delay playout latency = d + (k x v) The average network delay and variation can be estimated by: dnew estimate = dold estimate + x (dobserved – dold estimate) vnew estimate = vold estimate + x (|dobserved – dold estimate| – vold estimate)
Principles of Delay-jitter Buffering Estimating Network Delay All samples are scheduled for playout at time playout latency = d + (k x v) But when should playout latency be changed? d + kv Send Receive Playout a dnew > dold + kvold b c d e f g h
Principles of Delay-Jitter Buffering Voice transmission For voice transmission we can dynamically adapt playout times of audio samples using silent periods to “resync” the stream d + kv Send a dnew + kvnew b c d e f g h Receive Playout Talkspurt i+1
Continuous Audio Transmission Queue monitoring Rather than compute network delay, infer it from the length of the display queue n n n If queue length grows, network delay is decreasing If queue length shrinks, network delay is increasing If queue length remains constant, network delay is stable Send k l m n o p q r s Receive Display Queue h j i k j m l k n m l o n m p o n q p o q p r q s r
Continuous Audio Transmission Queue monitoring Display Queue j 1 i 2 h 1 k 2 j 3 m 1 l 3 k 4 n 2 m 4 l 5 o 3 n 5 m 6 p 4 o 6 n 7 q 5 p 7 o 8 q 8 p 9 r 9 q 10 s 10 r 11 Keep count of the number of consecutive display initiation times at which the display queue contained n items. Keep a counter for each queue position. n When a position is occupied, then it is incremented. When it becomes empty, then reset to 0.
Continuous Audio Transmission Queue Monitoring Display Queue j 1 i 2 h 1 k 2 j 3 m 1 l 3 k 4 n 2 m 4 l 5 o 3 n 5 m 6 p 4 o 6 n 7 q 5 p 7 o 8 q 8 p 9 r 9 q 10 s 10 r 11 When the count exceeds a threshold, the oldest sample in the queue is discarded n n Queue locations near the head of the queue have larger thresholds Queue locations near the tail of the queue have smaller thresholds
Continuous Audio Transmission Queue monitoring Example: Queue monitoring with thresholds = 3, 9 n sample g discarded at playout 10. 3 p p Send a b c d e 2 p f g h i f 1 e d g 2 f e h 3 g f j Receive Playout Display Queue a b c i h i
Queue Monitoring Performance on a Campus-area Network How much delay-jitter can be accommodated in practice? n n What ranges of delay-jitter are observed? How well do these buffing schemes work in practice?
Queue Monitoring Performance on a Campus-area Network Stone’s delay-jitter study in the UNC CS department: n A comparison of the effectiveness of three delay-jittter management policies: I-policy — playout media with fixed latency E-policy — playout media samples as they arrive Queue monitoring — adaptively set the playout delay On the playout of audio/video in a videoconferencing system
Queue Monitoring Performance on a campus-area network What ranges of delay-jitter are observed? n Stone measured the performance of 28, 5 minute conferences during the course of a “typical” day Morning 0 50 100 150 200 Afternoon 250 0 50 100 150 Audio end-to-end delay distribution (in ms) 200 250
Queue Monitoring Performance on a campus-area network Network delay I-2 Policy I-3 Policy E Policy Queue Monitoring
Queue Monitoring Performance on a campus-area network Average gap rate I-2 Policy I-3 Policy E Policy Queue Monitoring
Queue Monitoring Performance on a campus-area network Media latency under Queue Monitoring Media latency without Queue Monitoring
- Slides: 27