G.729
CODEC OVERVIEW
G.729 speech codec was standardized by ITU-T in 1996. The codec operates on each 10ms frame of 16-bit speech signals sampled at 8 KHz and generates a compressed bit-stream of 8 kbps. It has a look-ahead delay of 5 ms and uses conjugate-structure algebraic code excited linear prediction (CS-ACELP) algorithm for compression. Annex A of the standard specifies a low complexity version and Annex B specifies a voice activity detection (VAD) algorithm as well the discontinuous transmission mode of operation. In 2005, ITU-T extended the Annex-B to provide additional options for the VAD algorithm. Annex D specifies operation at 6.4 kbps. Annex E specifies operation at 11.8 kbps suitable for music signals. Annex G specifies operation at 8 kbps or 11.8 kbps. The decoder supports an inherent packet loss concealment algorithm. The codec is widely used in VoIP applications.
SALIENT FEATURES
- Based on ITU-T specification.
- Optimized ASM/C implementation.
- Re-entrant implementation.
- C-callable APIs.
- Operates on speech signals sampled at 8 KHz.
- Support for 6.4/8/11.8 kbps bit-rate.
- Support for RTP payload format as specified in RFC 3551.
- Supports integrated DTX mode of operation configurable at init-time.
- Support for all the three VAD algorithms, configurable at init-time.
- Supports integrated Packet Loss Concealment (PLC) algorithm.
- Support for bad frame indication at frame boundary.
- The implementation supports both Little-Endian and Big-Endian (on ARM and C64x+ platforms).
- Optional support for xDM APIs on TI platforms.
TESTING FEATURES
- Tested for bit-exactness with standard as well as a large database of non-standard test vectors.
- Module is fully interruptible (maximum interrupt latency on C64x+ is 6000 cycles).
- Tested for any illegal memory access by the module (C64x+ and ARM).
- Tested for compliance with register preservation requirements.
- Tested for Input buffer corruption.
- Tested for I/O buffer alignment requirements.
- Tested for multi-instance implementation.
- Tested for 100% code coverage.
- Range validation for all the API parameters.
- Tested with scratch contamination at frame boundaries.
- Tested for packet loss conditions with 5% loss to 25% loss.
- ARM implementation validated on OMAP3530 (Cortex-A8) and DM6446/DM6467 (ARM926EJ-S) platforms.
- TI C64x implementation validated on Spectrum Digital C6416 DSK.
- TI C64x+ implementation validated on Spectrum Digital C6455 DSK.
- TI C55x implementation validated on Spectrum Digital C5510 DSK.
- Cortex-M4 implementation validated on the TI Tiva TM4C1294 EVM.
- AMD/Intel optimized implementation validated on Intel cores supporting SSE4 and above.
AVAILABLE PLATFORM(S)
ARM9E, ARM11, Cortex-M4, Cortex-A8, Cortex-A9, TI C55x, TI C64x+, TI C66x, and AMD/Intel 64-bit cores supporting SSE4 and above.