1 / 24

Delay Jitter

Delay Jitter. Ketan Mayer-Patel. What is jitter?. Jitter: variation in delay Can be measured as the variance of delay. Sender. Reciever. Elements of Delay. Packetization Think of audio. Propagation Physical transmission. Queuing Routing, congestion, etc.

piper
Download Presentation

Delay Jitter

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Delay Jitter Ketan Mayer-Patel Comp 249 - Spring 2003

  2. What is jitter? • Jitter: variation in delay • Can be measured as the variance of delay. Sender Reciever Comp 249 - Spring 2003

  3. Elements of Delay • Packetization • Think of audio. • Propagation • Physical transmission. • Queuing • Routing, congestion, etc. • This is the part that is most variable. • Synchronization • May need to wait for corresponding samples from other streams. Comp 249 - Spring 2003

  4. Elements of Delay Sampling Compress Packetization Transmission Reception Decompress Synchronize Display Comp 249 - Spring 2003

  5. Sources of Jitter • In general, due to queuing effects. • When queue is building… • Competing traffic inserted between successive packets of a stream. • When queue is draining… • Probe compression. Comp 249 - Spring 2003

  6. Jitter Buffer • In general, jitter is removed by buffering in the reciever. • Sources of delay and jitter considered a black box. Comp 249 - Spring 2003

  7. Jitter Buffer Sampling Compress Packetization Transmission Reception Decompress Synchronize Display Usually here with hardware support. Usually here with software support. Comp 249 - Spring 2003

  8. Why? • Why do we care about jitter anyway? • Smoothness of playback. • Inelastic media types. • What is the cost of a jitter buffer? • Increased end-to-end latency. • When will we care about this? • Interactive streams. • Live streams. • Stored playback applications can afford the cost of larger jitter buffers. Comp 249 - Spring 2003

  9. Media Elasticity • Extent to which presentation time of one ADU is dependent on presentation times of previous ADU’s. • Video • Fairly elastic. • Audio • Fairly inelastic Comp 249 - Spring 2003

  10. Jitter Buffer Design • On one extreme: static jitter buffer. • Total delay budget held at some static amount. • If ADU arrives late, same as if lost (i.e., discard) • I-policy [Naylor82] • On the other: constantly increasing buffer. • Every ADU is played. • Jitter buffer is adjusted to largest delay seen thus far. • E-policy Comp 249 - Spring 2003

  11. I-policy • Establish jitter buffer on first ADU. p = t * r + off • Use first ADU to calculate offset. • p = playout time • t = timestamp of ADU • r = period of ADU clock • off = jitter buffer offset • Solve for off for first ADU. • Add jitter allowance to off. Comp 249 - Spring 2003

  12. Example • Variance allowance = 60 ms • Media timestamp period = 30 ms • First ADU: • Media Timestamp = 10 • System Clock = 1000 • Solve for off: • 1000 = 10 * 30 + off => off = 700 • Add variance allowance • p = t * 30 + 760 Comp 249 - Spring 2003

  13. I-policy • Maintain queue of incoming ADU’s and schedule playback of head. • Example: Packet TS ArrivalTime a 10 1000 b 11 1025 c 12 1050 d 13 1095 e 14 1185 Comp 249 - Spring 2003

  14. I-policy • Playback smoothness is achieved if arriving ADU’s delay average + max jitter is less than first ADU delay + jitter allowance. • What happens if initial delay is unrepresentative? Comp 249 - Spring 2003

  15. E-policy • Solve for off for every ADU. • If late, adjust off. • If early, queue. • Again, maintain a queue and schedule playout of the head. • Basically keep adjusting playout delay for the largest delay experienced so far. • Accommodates jitter by definition. Comp 249 - Spring 2003

  16. E-policy Packet TS ArrivalTime a 10 1000 b 11 1025 c 12 1050 d 13 1095 e 14 1185 Comp 249 - Spring 2003

  17. Adaptive Buffer Techniques • Between E and I are adaptive techniques. • Adaptively estimate delay variance. • Calculate off on a per ADU basis. • Maintain a weighted moving average for off. • Maintain a weighted moving average for variance of off. • Manage queue using off average + k * off variance where k is typically 2-4 p = t * r + (off + k * v) Comp 249 - Spring 2003

  18. Moving Averages offnew estimate=offold estimate+x (offobserved–offold estimate) vnew estimate=vold estimate+x (|offobserved–offold estimate| –vold estimate) or offnew estimate=offold estimate+ (1 – )offobserved vnew estimate=vold estimate+ (1 – ) x (|offobserved–offold estimate|) or offnew estimate= MIN(offobservedin the recent past) Comp 249 - Spring 2003

  19. Adjusting Down • Extending jitter buffer delay is easy. • How do you make downward adjustments? • Two basic techniques: • Play faster • Drop ADU’s Comp 249 - Spring 2003

  20. Adaptive Issues • What should k be? • Depends on variance distribution. • What should weighting coefficients be? • Tradeoff between stability and responsiveness. • What about inelastic media? • Truncating audio frames or allowing space between audio frames causes problems. Comp 249 - Spring 2003

  21. Media Specific Techniques • For audio, can take advantage of “talkspurt” structure. • Make playout buffer adjustments in silence periods. Comp 249 - Spring 2003

  22. off+kv offnew+kvnew Send a b c d e f g h Receive Playout Talkspurt i Talkspurt i+1 Talkspurt Example Comp 249 - Spring 2003

  23. Agility vs. Stability • Tradeoff between agile and stable. • Controlled by gain parameter in moving weighted filters. • Agile • Weighs new measurements more than past measurements. • Reacts quickly to change. • Can react too quickly to transient changes. • Stable • Weighs past measurements more than new measurements • Change in value bounded to small percentage of current value. • Takes a while to react to fundamental changes. Comp 249 - Spring 2003

  24. Kim and Noble 01 • Proposes three different filters which adaptively vary the gain parameter. • Flip-flop: detects when to use an agile gain and when to use a stable gain. • Control heuristics come from statistical process control world • Stability filter: adapts gain relative to current variance measure and recent variance range. • Error filter: adapts gain to reinforce “good” estimation behavior. • Concludes that FF filter works best in fairly wide spectrum of applications. • Work done in the mobile domain but very applicable to all areas of networking. Comp 249 - Spring 2003

More Related