G.729 es un códec híbrido de voz, con muestreo a 8 KHz (narrow band), muy usado en la actualidad en aplicaciones de VoIP. Ofrece una buena calidad, pero su complejidad es extremadamente elevada, necesitando en algunos casos un DSP para su uso en aplicaciones en tiempo real. Es un estándar de la ITU-T, aprobado en 1995. El algoritmo usado por este códec es conocido como CS-ACELP (Conjugate-Structure Algebraic-Code-Excited Linear Prediction). Se trabaja internamente con tramas de 10 ms de duración, cada una representada con 80 bits, haciendo que el retardo algorítmico del códec (es decir, el retardo sin tener en cuenta el procesamiento del equipo que haga las operaciones de codificación-decodificación) sea de 15 ms, un retardo moderado. La calidad es similar a la de G.721 (ADPCM 32 Kbps). La tasa binaria de este códec es de 8 Kbps, en su versión inicial.

Esquema de la síntesis en G.729. Fuente: [11]

Diagrama de bloques del codificador en G.729. Fuente: [11]

Diagrama de bloques del codificador en G.729. Fuente: [11]

G.729 usa un algoritmo bastante complejo que requiere de equipos muy potentes para su procesamiento. Para solucionar este hecho existe G.729 A, que reduce sustancialmente la complejidad de G.729 (sobre todo en el tema de búsqueda de secuencias de excitación en el codebook), sin tener una pérdida de calidad demasiado apreciable. En otro anexo, G.729B se especifica unas nuevas funciones:

G.729B no es compatible con ninguna de las versiones anteriores, aunque existe G.729AB que incluye las funcionalidades de G.729B y es compatible con G.729 A.

En los anexos D y E se especifican versiones de CD-ACELP, pero trabajando con tasas binarias de 6.4 y 11.8 Kbps respectivamente.

Posteriormente, ha sido definido un codec G.729 de banda ancha, conocido como G.729.1, compatible con G.729. Es usado por France Telecom para algunas de sus aplicaciones, sobre todo VoIP y videoconferencia a través de IP.

Se puede usar en dos modos:

Como se puede comprobar el codificador está organizado jerárquicamente.

En el siguiente enlace se puede encontrar una demostración interactiva de G.729 AB, en la que podemos seguir el proceso de codificación con G.729 AB y transmisión de un segmento de voz, en condiciones de pérdida y retardo de paquetes, y posteriormente escuchar la señal decodificada en el receptor