Delay jitter
Download
1 / 24

Delay Jitter - PowerPoint PPT Presentation


  • 167 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Delay Jitter' - piper


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Delay jitter

Delay Jitter

Ketan Mayer-Patel

Comp 249 - Spring 2003


What is jitter
What is jitter?

  • Jitter: variation in delay

    • Can be measured as the variance of delay.

Sender

Reciever

Comp 249 - Spring 2003


Elements of delay
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


Elements of delay1
Elements of Delay

Sampling

Compress

Packetization

Transmission

Reception

Decompress

Synchronize

Display

Comp 249 - Spring 2003


Sources of jitter
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


Jitter buffer
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


Jitter buffer1
Jitter Buffer

Sampling

Compress

Packetization

Transmission

Reception

Decompress

Synchronize

Display

Usually here with

hardware support.

Usually here with

software support.

Comp 249 - Spring 2003


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


Media elasticity
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


Jitter buffer design
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


I policy
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


Example
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


I policy1
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


I policy2
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


E policy
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


E policy1
E-policy

Packet TS ArrivalTime

a 10 1000

b 11 1025

c 12 1050

d 13 1095

e 14 1185

Comp 249 - Spring 2003


Adaptive buffer techniques
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


Moving averages
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


Adjusting down
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


Adaptive issues
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


Media specific techniques
Media Specific Techniques

  • For audio, can take advantage of “talkspurt” structure.

  • Make playout buffer adjustments in silence periods.

Comp 249 - Spring 2003


Talkspurt example

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


Agility vs stability
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


Kim and noble 01
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


ad