G.729
# G.729

In telecomunicazioni ed elettronica G.729 è l'identificativo di una raccomandazione ITU-T che standardizza un algoritmo di compressione audio per la voce per l'impiego nella telefonia.

## Descrizione

L'algoritmo divide l'audio della voce in parti da 10 millisecondi. Musica o toni come il DTMF o i toni del fax non possono essere trasmessi fedelmente con questo codec e quindi per questi si utilizza un diverso algoritmo standard, descritto nella raccomandazione G.711, oppure il metodo out-of-band.

Lo standard G.729 opera a 8 kbit/s ma vi sono estensioni, che permettono di trasmettere anche a 6.4 kbit/s e 11.8 kbit/s per segnali di qualità leggermente inferiori o superiori. È molto comune anche il G.729a che è compatibile col G.729 ma richiede minori risorse computazionali a spese della qualità del suono.

L'appendice (annex) B della raccomandazione G.729 descrive uno schema per la compressione del silenzio che comprende un modulo VAD utilizzato per riconoscere l'attività vocale, il parlato o meno. Include anche un modulo DTX che decide se modificare i parametri del rumore di fondo per il non parlato. Questi frame che vengono trasmessi per modificare il rumore di fondo vengono chiamati SID frames. Esiste anche un generatore di comfort noise (CNG), un rumore introdotto artificialmente in assenza di parlato, poiché in questo caso la trasmissione non invia dati e la totale assenza di suono indurrebbe il ricevitore a pensare che la comunicazione sia finita. Questo viene preso in considerazione anche dalla standard annex B.

G.729 è utilizzato soprattutto nel Voice over IP (VoIP) per i suoi scarsi requisiti di banda. Normalmente una trasmissione in G.729 utilizza un pacchetto IP con header IP/UDP/RTP. Nelle applicazioni software spesso l'algoritmo ha una sample period di 20ms. Questo vuol dire che vengono generati due campioni di 10ms, di 10byte ciascuno. I due campioni vengono quindi inviati in un pacchetto IP/UDP/RTP con un header non compresso di 40byte. Considerando le reti oggi in uso, di tipo XDSL o Ethernet, un canale G729 a 8kbps può spesso occupare 26kbps di banda o superiore, a meno di non usare degli accorgimenti.

Recentemente, G.729 è stato esteso per fornire un supporto ai codec per il parlato a banda larga per cui, ad esempio, le frequenze acustiche trasmesse vanno ora da 50 Hz a 7 kHz. Questa estensione viene chiamata G.729.1. Il coder G.729.1 è organizzato in maniera gerarchica: il suo bit rate e la qualità ottenuto si possono modificare semplicemente troncando il bitstream.

