De-Jittering buffers and real time network services

In network communications, when the latency between the sender and the receiver's equipment fluctuates, we have what is called jitters. The de-jitter is a buffer used by the receiving end to reduce the jitter and sequence the processing of incoming packets in regular intervals. This article is a basic introduction to de-jitters, how are they used with VoIP, and considerations for choosing an adequate de-jittering buffer size.

How a de-jittering buffer works

A jitter is generally defined as the variation in network latency. The receiving end uses dejittering buffer to reduce the jitter. Jitter buffers (also known as playout buffers) are used to change asynchronous packet arrivals into a synchronous stream by turning variable network delays into constant delays at the destination end systems [ Quality of Service Design Overview (Cisco Systems) ]. In VoIP applications, when voice frames are played back in the receiver's system, the decoder must be fed with frames on time. If the decoder does not receive the needed frame on time, the receiver will experience a moment of silence. In order to avoid this, frames are buffered for a certain delay before being fed to the decoder. If a packet takes more than the average time to travel the network, the decoder will keep using frames from the de-jttering buffer until the late packet arrive. If the decoder finishes up all the buffered frames, the original problem occurs; the user will experience moments of silence. When late packets arrive they are discarded and the palyback resumes only after a frame arrives before its schedules playback time.

What can go wrong when using de-jittering buffers

The de-jittering buffer is thus very important to avoid packet loss and degradation of the QoS when jitters are observed. The choice of adequate size for the dejittering buffer is vital. If a jitter buffer is too short, it may not be efficient. If the de-jittering buffer is too big, it may cause un-acceptable latency. For example, with a dejittering buffer of 200ms the overall latency will be more than 200ms which is not optimal for real-time interactive communications. The de-jittering buffer adds time to the total latency. For instance, if a system can deliver packets in 150ms from the speaker to the receiver, then a 50ms de-jittering buffer will result in 200ms total latency. In order to choose an optimal de-jitter buffer size without impeding the QoS. The size should be equal or less that 200ms minus the mouth to ear latency. E.g. for a 150ms mouth to ear latency, the de-jittering buffer should be less than 50ms.

Adaptive de-jittering buffers

Adaptive de-jitters allow the receiving end to change the size of the dejittering buffer when the jitter is not large. When large jitters are observed the size of the buffer is increased.

When computing average mouth-to-ear latency for real time applications the average size of the buffer can be used (whether fixed size buffer of adaptive buffer). For example, an adaptive/fixed-size de-jitter buffer of 60ms contributes only 30ms to the total average latency. However, when the maximum latency is considered, the 60ms figure should be used [ITU.G.1020].

Related articles

More resources




Labels: Wireless Internet Security Performance RADIUS server

Discussion

Enter your comment (wiki syntax is allowed):
XIDMD

Wireless Internet Security Performance RADIUS server Wireless Internet Security Performance RADIUS server