codec internet a bassa velocità in bit

Codec Internet a bassa velocità in bit (iLBC)
Estensione file : .lbc
Tipo MIME : audio / iLBC
Numero magico : '#! iLBC30 \ n' o '#! iLBC20 \ n'
Sviluppato da: Soluzioni IP globali
Versione corrente: Dicembre 2004
Genere: Codec vocale
Norma/e : RFC 3951
Sito Web : @1@ 2Modello: Link morto / www.webrtc.org( Pagina non più disponibile , cerca negli archivi web: webrtc.org )
storico: http://ilbcfreeware.org/

L'Internet Low Bit Rate Codec ( iLBC ) è un documentato apertamente, royalty-free codec vocale che è stato sviluppato da Global IP Solutions (GIPS). Si distingue dai codec più vecchi in particolare per il fatto che è stato appositamente progettato per reti di dati a commutazione di pacchetto come Internet e quindi affronta molto bene la perdita di pacchetti e il jitter . iLBC è quindi particolarmente adatto per il VoIP .

proprietà

Il codec iLBC specificato in RFC 3951 è un codec a banda stretta , cioè registra frequenze fino a 4000 Hz. Lo standard definisce una variante con una lunghezza del blocco di 30 ms e una con una lunghezza del blocco di 20 ms con una frequenza di campionamento di 8 kHz e una profondità di campionamento di 16 bit.

Codifica predittiva lineare indipendente dai blocchi

L'innovazione alla base di iLBC è l' algoritmo di codifica predittiva lineare indipendente dai blocchi con una risposta controllata alla perdita di pacchetti . Indipendenza dai blocchi significa che ogni blocco è codificato in modo completamente indipendente dai precedenti e quindi non è necessaria alcuna informazione dai blocchi precedenti per decodificare correttamente i blocchi successivi. Questo non era il caso dei codec vocali compressi pubblicati in precedenza, che portano a errori a causa della perdita di pacchetti nelle reti di dati basate su pacchetti, ad es. B. Internet, continuare nei seguenti blocchi. Con il codec G.729, questo porta a B. a rumori sordi ed esplosivi dal lato del ricevitore. La causa di questa carenza tecnica è che questi codec erano destinati alla tradizionale rete telefonica digitale, che si basa su connessioni virtuali , in cui non era affatto prevista la perdita dei blocchi. Questo è il motivo per cui questi codec sono stati progettati solo per essere robusti contro gli errori di bit. Tuttavia, le reti dati a commutazione di pacchetto reagiscono anche in modo completamente diverso agli errori di bit rispetto alle connessioni virtuali nelle reti a commutazione di circuito, poiché i singoli pacchetti ricevono checksum e vengono semplicemente scartati e, se necessario, ritrasmessi se viene rilevato un errore di bit. Con l'avvento del VoIP, c'era quindi la necessità di creare un codec che rispondesse a questi nuovi requisiti tecnici.

Inoltre, iLBC offre un occultamento della perdita di pacchetti , come lo standard ITU- T G.711 , che si basa sulla modulazione del codice a impulsi (PCM) e funziona con un bit rate fisso di 64 kbit/s. Viene generato un segnale sostitutivo per la parte mancante del segnale audio, che viene calcolato dai blocchi circostanti.

Grazie a queste proprietà, il codec iLBC consente una qualità vocale relativamente buona, anche se mancano blocchi di dati a causa di pacchetti IP persi o ritardati .

modalità

iLBC 30

Con iLBC 30, ogni blocco comprende un segnale audio di 30 ms o 240 campioni, codificati in 399 bit di dati più 1 bit vuoto. Ciò corrisponde a 50  ottetti o byte per blocco.

  netto RTP lordo con IPv4 RTP lordo con IPv6
Velocità dati in kbit/s 13.33 24 29.33

È la più vecchia delle due varianti di iLBC.

iLBC 20

Con iLBC 20, ogni blocco comprende un segnale audio di 20 ms o 160 campioni, codificati in 303 bit di dati più 1 bit vuoto. Ciò corrisponde a 38  ottetti o byte per blocco.

  netto RTP lordo con IPv4 RTP lordo con IPv6
Velocità dati in kbit/s 15.2 31.2 39.2

Gli sviluppatori di iLBC caratterizzano l'iLBC 20, che è più giovane dell'iLBC 30, come segue:

"Rispetto [...] alla modalità frame size di 30 ms, questa modalità da 15,2 kbps è caratterizzata da: qualità di base più elevata, robustezza della perdita di pacchetti più elevata, complessità inferiore e ritardo algoritmico".

"Rispetto alla modalità con lunghezza di blocco di 30 ms, questa modalità da 15,2 kb/s ha le seguenti proprietà: maggiore qualità di base, maggiore robustezza contro la perdita di pacchetti, minore complessità e minor ritardo algoritmico."

Segnalazione RTP delle modalità

Il protocollo tipico per la trasmissione di flussi di dati in Internet è RTP . Tra le altre cose, viene utilizzato per VoIP con SIP. Per negoziare sull'intero percorso di trasmissione quali formati di dati sono disponibili o consentiti dai partecipanti alla chiamata e sui server, i singoli punti lo segnalano nell'area dati dell'intestazione SIP come offerta SDP . Se si preferisce iLBC 20, questa offerta SDP si presenta così :

a=rtpmap:109 iLBC/8000
a=fmtp:109 mode=20

Se si preferisce iLBC 30, si applica la modalità = 30 :

a=rtpmap:109 iLBC/8000
a=fmtp:109 mode=30

Se entrambi i partecipanti alla sessione non possono concordare una determinata variante, verrà utilizzata quella che richiede la larghezza di banda minima. Quindi questo sarebbe mode = 30 .

Poiché l'implementazione di entrambe le varianti in un client VoIP o anche in un server VoIP si rivela spesso difficile, spesso viene implementato solo mode = 30 e viene omesso mode = 20 .

Il modo in cui i blocchi iLBC devono essere trasmessi con RTP è descritto in modo specifico in RFC 3952 ( formato di payload RTP ( Real-time Transport Protocol) per Internet Low Bit Rate Codec (iLBC) Speech )).

Licenza

In origine, la procedura era disponibile solo nella versione in virgola mobile esente da canone . Per la versione in aritmetica a virgola fissa richiesta su microcontrollori e DSP a virgola fissa , i costi di licenza dovevano essere pagati a Global IP Solutions. A seguito dell'acquisizione di GIPS da parte di Google Inc. , il processo è disponibile per tutti senza costi di licenza per un uso illimitato. L'implementazione di riferimento è distribuita come software libero sotto i termini di una licenza simile a BSD .

Rispetto a G.729A

  • Qualità di base superiore a G.729A , maggiore robustezza contro la perdita di pacchetti
  • Complessità computazionale paragonabile a G.729A
  • A differenza della licenza libera G.729a, uso gratuito

Guarda anche

link internet

Evidenze individuali

  1. ( pagina non più disponibile , ricerca negli archivi web: informazioni su licenza e prodotto su iLBC )@1@ 2Modello: Dead Link / www.gipscorp.com
  2. ( pagina non più disponibile , cerca negli archivi web: webrtc.org )@1@ 2Modello: Link morto / www.webrtc.org