
The G.729 speech coder is an 8 kbps Conjugate-Structure Algebraic-Code-Excited Linear Prediction (CS-ACELP) speech compression algorithm approved by ITU-T. G.729 offers high quality, robust speech performance at the price of complexity. It requires 10 ms input frames and generates frames of 80 bits in length. With the G.729 coder processing signals in 10 ms frames and a 5 ms look-ahead, the total algorithmic delay is 15 ms.
Since G.729 is based on the Code-Excited Linear Prediction (CELP) model, each 80 bit frame produced contains linear prediction coefficients, excitation code book indices, and gain parameters that are used by the decoder in order to reproduce speech. The inputs/outputs of this algorithm are 16 bit linear PCM samples that are converted from/to an 8 kbps compressed data stream.
G.729 Annex A specifies a reduced complexity G.729A coder with several simplifications, involving code book search routines and the decoder postfilter among others. These modifications may result in slightly lower voice quality. G.729 Annex B defines a G.729B coder that uses Discontinuous Transmission (DTX), Voice Activity Detection (VAD), and Comfort Noise Generation (CNG) to reduce bandwidth usage by preventing the transmission of any non-voice frames during periods of silence. Note that G.729 Annex D uses 6.4 kbps CS-ACELP compression and G.729 Annex E uses 11.8 kbps CS-ACELP compression.
G.729 is designed and optimized to work in conjunction with Recommendation V.70. Recommendation V.70 mandates the use of Annex A/G.729 (G.729A) speech coding methods. However, when necessary the full version of Recommendation G.729 can also be used to improve the quality of the speech.