Che cosa sono i codec audio per il VoIP ?
Un codec VoIP è una tecnologia che determina la qualità audio, la larghezza di banda e la compressione delle chiamate telefoniche VoIP (Voice over Internet Protocol). I codec VoIP utilizzano algoritmi proprietari oppure open source.
La parola codec deriva dalla fusione delle iniziali di due parole: codifica e decondifica (co-dec).
I codec VoIP condividono tutti uno scopo: comprimono e decomprimo i dati audio per spostarli il più rapidamente possibile e con la migliore qualità possibile. Tutti le applicazioni VoIP hanno come fine quello di garantire una chiamata chiara e nitida, facendo in modo che le chiamate telefoniche occupino una larghezza di banda non eccessiva.
Gli apparati VoIP hanno come scopo quello di convertire i segnali analogici in segnali digitali (dati), comprimendo i dati attraverso un algoritmo di codifica, per poi trasmettere in tempo reale questi stessi dati attraverso la rete internet. Una volta che i dati avranno raggiunto il dispositivo telefonico destinatario, essi saranno decodificati e ritrasformati in un segnale analogico da indirizzare all’altoparlante del telefono. Questo processo in tempo reale è bidirezionale per poter permettere agli interlocutori di parlare e ascoltare contemporaneamente.
Il codec è quindi un elemento fondamentale nel determinare la qualità di una moderna comunicazione VoIP. Esso però non è l’unico fattore determinante. Le altre condizioni che determinano la qualità di una chiamata sono:
- la qualità della connessione dati Internet: è espressa dai valori di BMG (banda minima garantita) in Upload e Download, dalla latenza media (ms), dal Jitter.
- la congestione della rete locale
- la disponibilità di un meccanismo in grado di determinare una priorità per i dati voce rispetto agli atri dati generici (QoS).
Di tutti questi fattori avrò modo di parlare approfonditamente in seguito. In questo articolo invece cercherò di porre l’attenzione sui codec audio VoIP utilizzati congiuntamente al protocollo SIP. Cercherò di soffermarmi sui meccanismi più comunemente utilizzati per codificare, comprimere e trasmettere l’audio attraverso una rete dati. Valuterò la qualità delle soluzioni tecnologiche attualmente disponibili, così pure i possibili e prevedibili scenari futuri. Cercherò infine di fornirvi qualche utile suggerimento pratico per ottimizzare la qualità audio delle vostre chiamate VoIP.
I fondamenti della qualità audio
Come si determina la qualità e la fedeltà dell’audio digitale? A prescindere dalla compressione, la qualità di registrazione digitale di una traccia audio è definita da alcuni parametri:
- Frequenza di campionamento (sample rate): si riferisce ai campioni audio presi per secondo. Ogni singolo campione ti dirà il valore di ampiezza totale della forma d’onda del segnale in un periodo specifico. Maggiore è la frequenza di campionamento, migliore è la qualità audio. La frequenza di campionamento è il numero di volte in cui viene misurato l’audio (campionato) al secondo. Così, uno standard Red Book per i CD ha una frequenza di campionamento di 44.1 kHz o 44.100 campioni al secondo.
- La Profondità di Bit: essa si riferisce al numero di bit che devono descrivere ogni singolo campione audio. Si tratta, in sostanza, di tradurre il suono analogico in campioni digitali costituiti da 0 e 1. Lavorare a 16 bit significa lavorare con campioni audio che possono avere ognuno 65.536 possibilità di descrivere il suono. Se invece lavoriamo con una profondità di bit inferiore, ad es. 8 bit, avremo un dettaglio del suono decisamente inferiore e pari a 256 possibilità.
- Audio non compresso (lineare) o audio compresso: la compressione audio ha l’obiettivo di ridurre la quantità di dati necessaria per la trasmissione di un suono. Il codec utilizza un particolare algoritmo, che si basa sulla percezione del suono da parte di una persona, alfine di ridurre i dati necessari per trasmettere un determinato flusso audio.
- Bitrate Audio: è la quantità di dati utilizzati per trasmettere l’audio. Il bitrate audio indica quante informazioni al secondo vengono trasferite. A parità di codec (compressione), un bitrate più alto indica una migliore qualità del suono.
- Larghezza di banda Internet: è la velocità massima con cui il collegamento in uso (Adsl, FTTC, FTTH…) sarà in grado di inviare e ricevere dati.
Come si valutano l’efficienza e l’efficacia di un codec audio per il VoIP ?
Il parametro con il quale si valuta l’efficienza di un codec audio per il VoIP è denominato MOS (Mean Opinion Score). Il MOS è un parametro completamente empirico in quanto si basa sull’esperienza diretta dell’orecchio umano. Non c’è quindi alcun complesso meccanismo alla base delle valutazioni di qualità espresse attraverso il MOS. A un gruppo esperto e selezionato di persone è stato richiesto di esprimere un giudizio qualitativo in merito agli stessi contenuti audio compressi con codec differenti.
Il MOS è espresso in una scala di valori da 1 a 5:
5 – Eccellente
4 – Buono
3 – Discreto
2 – Scarso
1 – Pessimo
In effetti nel valutare la qualità dei codec audio nel 2021, un parametro come il MOS, utilizzato da decenni, potrebbe essere addirittura considerato anacronistico. Con l’avvento dei nuovi codec ad alta definizione, la scala di valutazione dei codec audio richiederebbe una riclassificazione per evidenziare il netto divario tra i codec più moderni e quelli più datati. Uno dei maggiori limiti del MOS è inoltre quello di essere un parametro di valutazione strettamente qualitativa: si valuta la bontà audio di un codec VoIP senza però considerare l’efficacia del codec in termini di compressione dei dati. Un altro fattore che il MOS non considera assolutamente è la capacità del codec di adattarsi dinamicamente al contesto nel quale avviene la trasmissione. E’ proprio su questo aspetto che si attendono i principali miglioramenti, in termini di trasmissione audio, nelle chiamate VoIP.
La valutazione uditiva dei principali codec audio per il VoIP SIP
Di seguito la valutazione uditiva del principali codec impiegati dai VoIP provider.
Nel valutare la qualità dei codec occorre considerare che il codec G711A è quello comunemente utilizzato sulle linee ISDN e costituisce il parametro medio di riferimento. Utilizzando il codec G711, in condizioni ottimali, la qualità della chiamata è esattamente pari a quella di una comune linea ISDN.
- G711A – MOS pari a 4,2
- G711U- MOS pari a 4,2
- G729- MOS pari a 4
- GSM- MOS pari a 3,5
- G722 – MOS pari a 5 (HD codec)
- OPUS – MOS pari a 5+ (HD codec con bitrate variabile)
Quanta banda dati occupano realmente i codec audio VoIP SIP ?
- Il GSM: ha un’occupazione nominale di banda di 13Kbps e un indice MOS di qualità pari a 3,5. La qualità della conversazione è più che discreta ma comunque inferiore al G729 e soprattutto al G711. E’ comunque un codec intellegibile e la qualità audio, come suggerisce il nome, è quella sperimentabile sulle comuni linee mobili cellulari 2G. Il Codec GSM è utilizzato solo da pochi operatori.
- il G.729: è un codec con una ridotta occupazione di banda ma fornisce una buona qualità audio. Costituisce il codec più comunemente usato per le chiamate VoIP.
- il G.711: nella versione A (europea) e U (americana) è stato introdotto dall’ITU nel 1972 per l’uso con la telefonia digitale ISDN. Con un rapporto di compressione pari a 1:2 e un’occupazione nominale di banda pari a 64Kbps per ogni direzione, è ancora il miglior codec da utilizzare quando vi è banda disponibile. E’ sensibilmente migliore del codec G729 a livello di qualità audio e la voce appare più brillante del codec G729. Nell’ambito delle comunicazioni VoIP SIP e della trasmissione dati a pacchetto, il codec G711 viene comunemente denominato PCMA (G711A) e PCMU (G711U).
- il G.722: è un codec con bitrate elevato (48/56/64Kbps) definito dallo standard ITU ed è molto migliore del tradizionale codec impiegato sulle linee ISDN. Può essere utilizzato in ambito locale per effettuare chiamate tra gli interni di un comune PBX per comunicazioni vocali di alta qualità. E’ un codec presente sulla maggior parte dei telefoni IP di media e alta qualità in commercio. L’utilizzo di questo codec prevede che il telefono disponga di microfono e di altoparlante in grado di catturare e riprodurre fedelmente una banda audio estesa.
- OPUS: è un codec audio totalmente aperto, esente da royalty e altamente versatile. Opus non ha eguali per la trasmissione di musica e voce interattiva su Internet, ma è pensato anche per applicazioni di archiviazione, streaming e telefonia. È standardizzato dall’Internet Engineering Task Force (IETF) come RFC 6716 che incorporava la tecnologia del codec SILK di Skype e del codec CELT di Xiph.Org.
La rivoluzione del Codec Audio Opus nell’ambito VoIP
L’impiego massivo del codec Opus nell’ambito della telefonia VoIP è quanto di meglio si possa attendere dal punto di vista del miglioramento della qualità e dell’efficienza per le trasmissioni audio realtime. Si tratta del primo codec audio per la telefonia VoIP in grado di adattarsi dinamicamente al contesto di utilizzo. Il codec è inoltre in grado di rispondere attivamente alla perdita di pacchetti dati. Ecco le principali specifiche:
- Bitrate da 6 kb/s a 510 kb/s
- Frequenze di campionamento da 8 kHz (banda ridotta) a 48 kHz (banda piena)
- Dimensioni del frame da 2,5 ms a 60 ms
- Supporto sia per bitrate costante (CBR) che per bitrate variabile (VBR)
- Larghezza di banda audio da ridotta a banda estesa
- Supporto per parlato e musica, mono e stereo
- Può implementare fino ad per un massimo di 255 canali (frame multistream)
- Bitrate, larghezza di banda audio e dimensioni del frame regolabili dinamicamente
- Buona resistenza alla perdita e occultamento della perdita di pacchetti (PLC)
- Implementazione in virgola mobile e virgola fissa
Il Codec Opus è attualmente utilizzabile su alcuni dei trunk SIP offerti da VoipVoice. La vera rivoluzione in termini di qualità audio delle telecomunicazioni VoIP SIP nazionali si avrà quando e se si deciderà di impiegare il codec Opus (o un codec equivalente) quale standard di scambio audio tra gli operatori. Attualmente lo scambio audio tra operatori nazionali/internazionali avviene ancora sulla base del codec G711. Ciò, di fatto, costituisce l’effettivo limite al miglioramento della qualità audio globale nel mondo della telefonia fissa.
Quanta banda occorre per effettuare una conversazione utilizzando una linea dati dedicata al VoiP
Se ipotizziamo di dedicare una linea dati esclusivamente al VoIP, dobbiamo considerare sempre un solo valore: la Banda Minima Garantita (BMG) di una linea dati.
La BMG costituisce il vero collo di bottiglia di una comune linea XDSL, FTTC o FTTH. In particolare, essendo la comunicazione VoIP bidirezionale, dovremo considerare sempre – come limite – il valore di upload garantito dalla connettività.
Al valore di banda nominale tipico del codec audio, dovremo sempre sommare i dati di instradamento tipici di una trasmissione a pacchetti.
Tralasciando la metodologia di calcolo, poco rilevante al fine di un calcolo empirico, andranno considerati i seguenti valori medi:
- G711A/U: Banda Effettiva 87,2Kbps in upload e 87,2Kbps in download
- G729: Banda Effettiva 31,2Kbps in upload e 31,2Kbps in download
- GSM: Banda Effettiva 22.5Kbps in upload e 22.5Kbps in download
Un esempio: nel caso di una connettività con BMG in upload pari a 512Kpbs, esclusivamente dedicata al VoiP (il valore in download è in questo caso irrilevante) potremo effettuare, con un calcolo piuttosto preciso:
- 16 conversazioni con codec G729
- 5 conversazioni in G711
Quanta banda occorre per effettuare una conversazione in VoIP su linea dati condivisa?
In caso di linea condivisa occorre innanzitutto specificare che è d’obbligo l’utilizzo di un Router con supporto per il QoS. Il QoS (Quality of Service) è una funzionalità del router che permette di dare priorità al traffico voce rispetto al traffico dati. Nelle migliori implementazioni QoS, il meccanismo consente ai pacchetti voce di bypassare completamente le code di routing attraverso un acceleratore hardware, riducendo la latenza di elaborazione ed eliminando fenomeni interni di jitter dovuti alla gestione interna delle code di pacchetti.
Senza l’utilizzo di meccanismi di QoS, il degrado dell’audio (mancanza di intellegibilità, audio a scatti, audio metallico o disturbato, fenomeni di eco) sarà il risultato più probabile nel momento in cui venga semplicemente invita una mail con un allegato di pochi Mbyte o venga eseguito il download di un file di dimensioni elevate.
In tutti i casi di installazione Business in cui si preveda l’utilizzo professionale di una linea condivisa per Voce/Dati è assolutamente necessario prevedere l’utilizzo di un sistema di QoS.
Quale codec audio è preferibile utilizzare oggi?
Riporto di seguito sinteticamente alcune considerazioni e consigli pratici.
- In assenza di motivazioni specifiche ed in presenza di disponibilità di una buona connettività in fibra, si consiglia sempre di utilizzare il codec G711. La preferenza andrebbe sempre espressa sia sul dispositivo terminale (telefono IP o Softphone) che sul singolo trunk a livello di PBX. La negoziazione del codec audio tra il PBX ed un provider VoIP è un meccanismo abbastanza rigido per il quale, a parità di condizioni, il codec utilizzato sarà sempre lo stesso. E’ quindi sostanzialmente inutile prevedere l’utilizzo di svariati codec sullo stesso trunk VoIP SIP. E’ invece consigliabile stabilire a priori il codec da utilizzare in base alle caratteristiche specifiche della connettività e al numero di chiamate simultanee che si intende effettuare.
- In linea di massima è sempre preferibile evitare il processo di transcodifica audio. La conversione fra diversi codec comporta, ad ogni passaggio, un degrado della qualità audio complessiva. Ciò è valido sia sul fronte interno al PBX (dal dispositivo telefonico al VoIP Provider) sia sul fronte esterno al PBX (dal provider alla rete di scambio nazionale). Considerando che il codec più utilizzato nell’interscambio nazionale/internazionale è il G711, resta la raccomandazione di utilizzare il codec G711 ove non sussistano limitazioni di banda dati. Nel momento in cui lo standard di interscambio dovesse cambiare in meglio (ad es. da G711 ad Opus) questa considerazione andrà rivista.
- Solo in caso di carenza di banda dati o circostanze specifiche si consiglia l’impiego del codec G729 invece del G711.
- Il codec G722 è principalmente utilizzato per gli scambi audio locali (chiamate tra interni locali e remoti del pbx) ma non è utilizzato sui trunk SIP Voipvoice.
- Il codec Opus è disponibile su alcuni dei trunk SIP VoipVoice. Per qualunque informazione relativa all’attivazione di servizi con supporto Opus è possibile rivolgersi allo staff commerciale.
- Se si desidera utilizzare il codec Opus per effettuare chiamate HD fra gli interni telefonici aziendali (locali o remotizzati), è consigliabile impostare il codec come prioritario sull’interno telefonico. In questa fattispecie sarà però importante ricordarsi che il codec HD sarà realmente percepibile solo nelle chiamate tra interni. Per le chiamate sulla rete pubblica, la qualità della conversazione, pur impiegando un codec HD, sarà comunque limitata dal codec utilizzato in fase di interscambio tra operatori.
Articolo a cura di Matteo Sala, VoIP Academy Director VoipVoice