G. 729 FAMIGLIA DI codec A BASSO BIT RATE (VoIP)
3.6
La famiglia di codec G. 729 è comunemente utilizzata nella maggior parte delle implementazioni VoIP. G. 729 è una raccomandazione ITU-T G. 729 per un algoritmo di compressione vocale CS-ACELP
con struttura algebrica con codice eccitato. G. 729 fa uso di modelli del tratto vocale umano adatti per i segnali vocali a differenza dei codec G. 711 e G. 726, che utilizzano la compressione basata sulla forma d’onda. Basic G. 729 comprime la voce a 8 kbps, che fornisce otto volte più compressione rispetto a G. 711 e fornisce una buona qualità della voce.
G. 729 Allegato A (G.729A) è la versione a complessità ridotta della raccomandazione G. 729 e comprime la voce allo stesso 8 kbps con il compromesso di una leggera perdita di qualità rispetto a G. 729. Questa versione è sviluppata principalmente per applicazioni multimediali voce simultanea e dati, anche se l’uso del codec non è limitato a queste applicazioni. G. 729A è flusso di bit interoperabile con la versione completa di G. 729. Questo codec ha built-in perdita di pacchetti occultamento. Il codec con suffisso B indicato come G. 729B o G. 729AB supporta VAD nell’encoder e CNG nel decoder . G.729 ha una vasta famiglia di codec, e alcuni dei
codec popolari sono elencati nella Tabella 3.3. Nella distribuzione VoIP, G. 729AB è comunemente usato. Nell’aggiornamento a banda larga, questi codec possono essere sostituiti con G. 729.1. Questi codec a banda larga sono interoperabili con le versioni a banda stretta. Quindi, un codec a banda larga da solo dovrebbe essere sufficiente sia per il supporto a banda larga che a banda stretta a 8 kbps. Tranne G. 722, altri codec a banda larga comprimono la voce in bit rate inferiori a G. 711. Nella sezione seguente, viene fornita una panoramica di alto livello su G. 729AB. Codec G. 729AB fa uso di G. 729 come standard di base. Per una migliore comprensione di G. 729AB, fare riferimento alle raccomandazioni G. 729, G. 729B e G. 729A.
Tabella 3.3. ITU-T G. 729 Famiglia di Narrowbond e banda larga Codec vocali
il Nome del Codec | Descrizione | Applicazione |
G. 729 | Basic 8 kbps CS | Supportato su VoIP voice |
ACELP speech codec | gateway | |
G. 729B | G.729 con il silenzio | |
compressione | ||
G. 729A | Riduzione della complessità | Popolare su adattatori VoIP e IP |
8 – kbps CS – ACELP | telefoni, compatibile con G. 729, | |
speech codec | e G. 729.1 | |
G. 729AB | G. 729A con il silenzio | compatibile con G. 729, G729B, |
compressione | G729.1 | |
G. 729E (G.729 | 11.8 kbps CS – ACELP | Non è popolare in VoIP, funziona meglio |
Allegato E) | codifica del segnale vocale | per la musica e lo sfondo |
algoritmo | è utilizzato in applicazioni video | |
G. 729.1 a banda larga | variabile Incorporata 8- | banda larga voce |
e a banda stretta | 32 kbps bit | |
interoperabile con | ||
G. 729, G.729 BIS |
Codec G. 729
Il codec G. 729 è costituito da un encoder e un decodificatore separati. Il codec comprime i campioni vocali come frame utilizzando una procedura di analisi per sintesi CS-ACELP. Il codec funziona con 10-ms fotogrammi con uno sguardo avanti di 5 ms, che si traduce in ritardo algoritmico totale di 15 ms. Una panoramica sul codificatore e decoder è dato in relazione alla Fig. 3.4.
Figura 3.4. Codec G. 729. (a) encoder-compressione. (b) decodificatore-decompressione da ITU-T-G. 729 — ridisegnato con una certa semplificazione.
G. 729 Encoder. Il codificatore G. 729 è basato sul modello di codifica CELP (Code-Excited Linear-Prediction). Per ogni frame da 10 ms, il segnale vocale viene analizzato per estrarre i parametri del modello CELP. I parametri sono coefficienti di filtro di previsione lineare codificati come coppie spettrali di linea, indici adattivi e codetopici fissi e guadagni. Questi parametri sono codificati e trasmessi come payload all’applicazione VoIP. Come mostrato in Fig. 3.4, discorso preprocessed sono analizzati per i coefficienti del filtro di LP. Questi coefficienti vengono convertiti in coppie di spettro di linea (LSP) e vengono quantizzati utilizzando la quantizzazione vettoriale predittiva a due stadi (VQ). La stima del pitch open — oop viene calcolata per ogni frame da 10 ms in base a un segnale vocale percettivamente ponderato. L’analisi del pitch ad anello chiuso viene eseguita utilizzando il segnale target e la risposta all’impulso cercando attorno al valore del ritardo del pitch open-l oop. Il nuovo segnale target viene calcolato e utilizzato nella ricerca codetopic fissa per arrivare all’eccitazione ottimale. I guadagni di contributi codetopici adattivi e fissi sono quantizzati vettoriali. Infine, le memorie del filtro vengono aggiornate utilizzando il segnale di eccitazione determinato. Per ogni 80 campioni di input, l’encoder fornisce 10 byte di output compresso rendendo il bit rate totale 8 kbps. Questi 10 byte sono costituiti da diversi parametri elencati nella Tabella 3.4. Dalla tabella, si può osservare che la codifica G. 729 divide i parametri in diverse classi con ognuna di esse con alcuni bit. È completamente diverso dalla compressione G. 711 e G. 726. Per maggiori dettagli sulla codifica e parametri di cui alla Tabella 3.4 fare riferimento a .
G. 729 Decoder. Il decoder G. 729 è illustrato in Fig. 3.4, lettera b). Il decodificatore genera 80 campioni di valori PCM lineari a 16 bit per ogni 80 bit (10 byte) di dati. I parametri di input per il decodificatore sono i coefficienti LSP, i due ritardi di pitch frazionari, due vettori codetopici fissi e le due serie di guadagni codetopici adattivi e fissi. Inizialmente, i coefficienti LSP vengono interpolati e convertiti in coefficienti di filtro LP per ciascun telaio secondario. Per ogni controtelaio da 5 ms, l’eccitazione viene costruita aggiungendo i vettori codetopici adattivi e fissi.
Tabella 3.4. G.729 Parametri di Encoder e Bit Compresso di Allocazione per 10 ms Telaio
Nome del Parametro | Codice | Controtelaio 1 | Controtelaio 2 | Totale Bit per Telaio |
spettro di linee di coppie (Lsp) | L0, L1, L2, L3 | 18 | ||
Adaptive codetopic ritardo | P1,P2 | 8 | 5 | 13 |
Passo ritardo di parità | P0 | 1 | 1 | |
Fisso codetopic indice | C1,C2 | 13 | 13 | 26 |
Fisso codetopic segno | S1,S2 | 4 | 4 | 8 |
Codetopic utili per questa fase – 1 | GA1, GA2 | 3 | 3 | 6 |
Codetopic utili alla fase – 2 | GB1, GB2 | 4 | 4 | 8 |
Bit totali in 10 ms telaio | 80 |
il Discorso è ricostruito filtrando il eccitazione attraverso il filtro di sintesi LP. Il discorso ricostruito viene elaborato attraverso la fase di post-elaborazione, che include un post-filtro adattivo basato sui filtri di sintesi a lungo termine ea breve termine seguito da un filtro passa-alto e da un’operazione di ridimensionamento.
Oltre a un ritardo algoritmico di 15 ms, possono essere possibili ritardi a causa del tempo di esecuzione degli algoritmi di encoder e decoder nel processore. A seconda dell’implementazione, durante l’elaborazione di più canali su un processore, il ritardo aumenta per l’ultimo canale elaborato.
Leave a Reply