# Computer Networks – Play-out Delay

October 27, 2009 2 Comments

# Internet Phone: Fixed Play-out Delay

With this, the receiver attempts to play out each chunk of data at exactly **q**ms after the chunk was generated.

- This chunk has a time stamp,
**t**: So the play-out chunk is at**t**+**q** - If the chunk arrives after
**t**+**q,**then the data arrives too late for play-out – the data is LOST!

The trade-off with this is choosing **q**:

- Large
**q**has less packet loss - Small
**q**has better interactive experience

# Fixed Play-out Delay

The sender generates packets every 20ms during talk spurt. The first packet is received at time **r**.

The schedule to deal with the packet is based on the size of **q**.

- The first play-out schedule for a small
**q**begins at**p**. - The second play-out schedule for a larger
**q**begins at**p’**.

# Adaptive Play-out Delay

The goal of this is to minimize the play-out delay, and to keep the late loss rate low.

The approach to deal with adaptive play-out delay adjustment is to estimate the network delay and then adjust the play-out delay at the beginning of each talk spurt. This requires that silent periods be compressed and elongated.

There is – believe it or not – a formula that can be used to minimise play-out delay, the components of this formula are:

**t**i = the timestamp for the i’th packet**r**i = the time that packet ‘i’ is received by the receiver**p**i = the time that packet ‘i’ is played at the receiver**r**i-**t**i = the network delay for the i’th packet**d**i = the estimate of the average network delay after receiving the i’th packet

All of this can then be put into the formula to calculate this average network delay:

**d**i = (1 –**u**)**d**i-1 +**u**(**r**i –**t**i)

Where **u** is a fixed constant of around **u**=0.1

Another useful formula to note, it the formula to calculate the average deviation of delay, **v**i:

**v**i = (1 –**u**)**v**i-1 +**u | r**i –**t**i –**d**i |

and finally, in order to calculate the play-out time for the very first packet in a talk spurt we can use:

**p**i =**t**i +**d**i +**Kv**i -> (timestamp + est. delay + scaled deviation)

In this, **K** has to be a positive constant, and is used to scale the average deviation of delay.

Hey man thanks so much for posting this, I have a VOIP exam tomorrow and fixed playout and addaptive were too topics I wasn’t sure about until I saw this. Cleared a lot of things up. Cheers. 🙂

thanku man!!!