The ITU-T G.723.1 with Annex A dual-rate speech coder provides toll quality at very low bandwidth. G.723.1 compresses narrowband linear speech signals at a sample rate of 8kHz to 5.3 or 6.3 kbps. The low rate uses Conjugate-Structure, Algebraic Code-Excited Linear Prediction (CS-ACELP). The high rate uses Multipulse Maximum Likelihood Quantization (MP-MLQ). The higher rate has higher fidelity than the lower rate. The encoder extracts the parameters of the coding model from 30-msec frames. Compared to G.729, G.723.1 will pass DTMF tones with less distortion.
Annex A implements optional silence-compression techniques to reduce the transmitted bit rate during the silent periods of speech. Discontinuous transmission systems (DTX) use Voice Activity Detection (VAD) and Comfort Noise Generation (CNG). The coder uses occasional Silence Insertion Descriptor (SID) frames during silence. Silence Detection is optional and can be turned on and off on the fly. Executing G.723.1 with Annex A with Voice Activation Decision turned off will give exactly the same results as executing G.723.1 without Annex A.
G.723.1 with Annex A encoder is widely used in applications that require robust quality, including videoconferencing, internet, multimedia communications, satellite communications, and store/forward. It is part of the H.323 and H.324 standards for videoconferencing.
The G.723.1 with Annex A has been extremely optimized by DSP Wizard to execute on a Win32 PC or any other multipurpose processor and yet remain bit-exact to the ITU-T standard. DSP Wizard’s G.723.1 with Annex A will execute nine times faster than the source code published by ITU. On a typical PC with a 3.0GHz processor, encoding and decoding a channel of speech requires only 3% of the processor’s CPU cycles at the higher rate of 6.3kbps. So a user should be able to process 34 independent channels of speech. And at the lower rate of 5.3kbps, only 2% of the CPU was utilized. This should be fast enough for most real-time applications.
DSP Wizard’s G.723.1 with Annex A implementation was designed for low resource requirements without sacrificing quality. The speed is extremely fast compared to the published standard, yet it is still bit-exact to the ITU-T standard test suite. Furthermore, the code should be portable to any machine that supports the C language.