Internet Low Bit Rate Codec (ILBC) was standardized by Global IP Sound (GIPS) in 2002. The codec operates on 20 or 30 ms, 16-bit PCM input speech signals sampled at 8 KHz, and generates a compressed bit-stream having a bit-rate of 15.2 or 13.3 kbps respectively. It uses a block independent linear prediction coding technique that prevents propagation of errors across frames. The codec has an inherent support for voice activity detection and packet loss concealment. The codec is royalty free and is used in voice over cable/IP, audio teleconferencing, streaming, archival, and messaging applications.
Salient Features (of CouthIT implementation):
1. Based on floating-point ANSI-C specifications in RFC3591
2. Optimized ASM/C fixed-point implementation
3. Re-entrant implementation
4. C-callable APIs
5. Operates on 16-bit PCM speech signals sampled at 8 KHz
6. Support for 15.2 and 13.3 kbps bit-rates
7. Support for RTP payload format as specified in RFC 3952.
8. Supports integrated Packet Loss Concealment (PLC) algorithm.
9. Support for bad frame indication at frame boundary.
10. Support for little-endian implementation.
11. Optional support for xDM APIs.
Scope of Testing:
1. Fixed-point implementation tested objectively and via listening tests using a large database of speech test vectors.
2. Tested for bit-compliance with the fixed-point C version using a large database of speech test vectors
3. Module is fully interruptible
4. Tested for any illegal memory access by the module
5. Tested for compliance with register preservation requirements
6. Tested for Input buffer corruption
7. Tested for I/O buffer alignment requirements
8. Tested for multi-instance implementation
9. Tested for 100% code coverage
10. Range validation for all the API parameters
11. Tested with scratch contamination at frame boundaries
12. Tested for packet loss conditions with 5% loss to 25% loss
13. ARM implementation validated on OMAP3530 (Cortex-A8) and DM6446/DM6467 (ARM926EJ-S) platforms.
Resource requirements (ARM9E -- flat memory):
1. Encoder
-- MCPS = 18.6 (20ms), 20.5 (30ms)
-- Program memory = 25.3 kb
-- Static memory = 0.25 kb
-- Scratch memory = 3.5 kb
-- Constants = 5.36 kb
2. Decoder
-- MCPS = 11 (20ms), 12.5 (30ms)
-- Program memory = 25.6 kb
-- Static memory = 1.65 kb
-- Scratch memory = 3.6 kb
-- Constants = 5.36 kb
For most current information on the performance specifications and availability of developed implementation on ARM cores, please send in your enquiry to info@couthit.com