JITTER BUFFER

MODULE OVERVIEW

CouthIT’s jitter buffer implementation intelligently manages the network jitter experienced by IP packets having multimedia content to enable smooth play out of audio or speech without any discontinuity. The algorithm operates using a static or adaptive buffer size to compensate various network impairments such as out of sequence arrival of packets and packet loss during spike/burst in the network. The implementation is targeted for VoIP and streaming media applications and  is compatible with all standard speech codecs.

SALIENT FEATURES
  • Fixed-point ANSI C implementation.
  • Re-entrant implementation.
  • C-callable APIs
  • Module is fully interruptible.
  • Implementation independent of the sampling rate.
  • Compatible with narrow band speech codecs G.711, G.729AB, G.726 and G.723.1A.
  • Support for arbitrary packet size.
  • Automatically adapts to the real time jitter experienced by the packets when codec VAD is enabled.
  • User can configure to use either static or adaptive jitter buffer.
  • Maximum buffer size configurable at initialization time.
  • Protection against packet loss in case of spike/burst in the network.
  • Protection against out of sequence arrival of packets.
  • Provides a flag indicating PLC or silence insertion to be done at decoder side.
  • Provides statistics about packet lost rate.
  • Optimized for low memory foot print and low complexity.
  • Integrated with CouthIT’s Implementation of VAD and PLC (optional).
TESTING FEATURES
  • Tested using a large database of test vectors.
  • Tested over Internet cloud for real time performance.
  • Tested using network simulator implementation for out of order arrival of packets.
  • Tested using random arrival time distribution models including linear, uniform, Gaussian and Poisson distribution.
  • Performance benchmarked using objective evaluation measures such as Log Likelihood Ratio and Weighted Spectral Slope.
  • Tested in conjunction with CouthIT’s Noise suppression, AGC, AEC and speech codec modules.
  • Tested for graceful exit in case of errors or exception.
  • Tested for Input buffer corruption
  • Tested for I/O buffer alignment requirements
  • Tested for multi-instance implementation.
  • Tested for 100% code coverage
  • Range validation of all API parameters.
  • Code validated on ARM926EJ-S (OMAP L138) platform running Open Embedded Linux.
AVAILABLE PLATFORM(S)
ARM9E, ARM11, Cortex-A8, and Cortex-A9

For resource requirements & other details