SILK
CODEC OVERVIEW
SILK, super wide band speech coding standard, was developed by Skype in the year 2009. The codec operates on speech signals sampled from 8 48 KHz and generates compressed bit-streams with bit-rates ranging from 5 kbps to 40 kbps. Internally, the codec operates on four different audio bandwidths at sampling frequencies 8KHz, 12KHz, 16KHz or 24KHz. The bit-rate is adaptive and can be changed at 20 ms frame boundary; the internal frame size of SILK is 20 ms. The SILK encoder can be set to packetize maximum of five internal frames into a single frame output, allowing for 20, 40, 60, 80, or 100 ms frames of encoded speech. It also has an integrated voice activity detector, in-band forward error correction and packet loss concealment algorithm. The codec is highly scalable in terms of audio bandwidth, network bit rate, and complexity. It is the default codec for skype to skype VoIP calls.
SALIENT FEATURES
- Based on SILK SDK v1.0.7
- Fixed point ANSI-C implementation
- Re-entrant implementation
- C-callable APIs
- Operates on speech and mixed (speech and audio) signals sampled at 8 – 48 Khz
- Support for bitrates ranging from 5kbps to 40kbps.
- Support for all modes and ISF defined in the standard.
- The bitrate can be configured at 20ms frame boundary.
- Supports frame lengths of 20, 40, 60, 80, or 100 ms.
- Support for SILK RTP payload and SILK storage bit-stream formats.
- Supports integrated Packet Loss Concealment (PLC) algorithm.
- Supports integrated Voice Activity Detection (VAD) algorithm.
- Supports in-band forward error correction
- Supports for complexity setting of encoder at init-time
- Optional support for xDM APIs.
- Option to specify the sampling frequency of the output PCM samples
TESTING FEATURES
- Tested for bit-exactness with standard as well as a large database of non-standard test vectors
- Module is fully interruptible.
- Tested for any illegal memory access by the module
- 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 for Packet loss conditions with 5% loss to 25% loss
- Tested with scratch contamination at frame boundaries
- ARM implementation validated on OMAP3530 (Cortex-A8) and DM6446/DM6467 (ARM926EJ-S) platforms.
- C64x+ implementation validated on C6472EVM platform.
- C66x implementation validated on C6678EVM platform.
- AMD/Intel optimized implementation validated on Intel cores supporting SSE4 and above.
AVAILABLE PLATFORM(S)
TI C66x, TI C64x+, ARM9E, ARM11, Cortex-A8, Cortex-A9, and AMD/Intel 64-bit cores supporting SSE4 and above