Benvenuto su LabTel @ Info-Com
Cerca
_TOPICS
Home Your Account FAQ Topics Content Submit News Top 10
  _LOGINCREATE    

Main Menu
News
Argomenti

Telematica Multimediale
Componenti per il VoIP
OpenCDN Project
VideoConferenze H.323
WebTv con VideoLAN

Facoltà
Weather Map
Data Base

Contenuti
Tesi svolte
Seminari
Progetti di ricerca
Web Links
Proposte di tesi

Community
Mailing List
Statistiche
Top 10
Dillo agli amici

Utenti registrati
Login
Membri
Immetti notizie

Cerca tra gli articoli



Information

No ePatents!

Powered by PHP-Nuke

Valid HTML 4.01!

Valid CSS!

Who's Online
In questo momento ci sono, 4 Visitatori(e) e 0 Utenti(e) nel sito.

Non ci conosciamo ancora? Registrati gratuitamente Qui

Componenti per il VoIP: i CODEC





Tipologie

Per realizzare un componente di missaggio audio, che realizzi la somma di più segnali, occorre disporre dei campioni vocali in formato lineare (PCM-16), mentre quelli provenienenti ed indirizzati ai singoli conferenzieri, sono in formato compresso, mediante algoritmi di co-decodifica. Tra questi abbiamo codec senza memoria, codec di forma d'onda, e codec con modello di sorgente; i primi rappresentano ogni campione con un ridotto numero di bit, i secondi applicano un algoritmo con memoria che produce un valore in uscita in corrispondenza di più valori di ingresso, ed i terzi operano a lotti, elaborando intere trame di segnale (dai 10 ai 30 millisecondi), e producendo come risultato i valori dei parametri di un modello del segnale, tale da premetterne una riproduzione psico-acusticamente accettabile. Una breve rassegna sull'argomento può essere trovata presso l'Università di Southampton.

Incapsulamento

Per ogni codec, possono sussitere modalità di pacchettizzazione ed incapsulamento RTP ad esso peculiari, e queste sono descritte in documenti IETF RFC; ad esempio, mentre i codec di forma d'onda possono inserire in un pacchetto un numero variabile di campioni, quelli che operano su trame di durata fissa, possono inserire in uno stesso pacchetto più trame, possibilmente in numero intero. In particolare, parecchi codec sono descritti nella RFC 3551, detta anche RTP/AVP (Audio Video Profile), che definisce tra l'altro, il mapping tra i codec ed il PT (Paylod Type) RTP. Le regole di pacchettizzazione di altri codec possono essere descritte da altri documenti; tali codec possono essere identificati da numeri di PT dinamici, ovvero validi solo per la durata di una singola sessione. Per quella sessione, il codec identificato dal numero di PT dinamico, è individuato in una fase di segnalazione precedente, tipicamente condotta mediante la sintassi dell'SDP.

Forniamo ora una breve descrizione analitica dei più diffusi codec per VoIP.

G.729

Codifica e descrizione CELP - Code Excited Linear Prediction Model; G729B è CS-ACELP Conjugate-Structure Algebraic CELP, che necessita una complessità ridotta, mentre il 729AB è uno schema di compressione del silenzio
Velocità e ritardo 8 kbps, con trame da 80 bits ogni 10 msec, spesso pacchettizzate a coppie.
Licenza commerciale Sipro Lab Telecom, VoiceAge, SurfUp (su DSP), Qodec, GAO, Agora Labs
Versione libera per uso non commerciale
VoiceAge, Intel, ITU-T, Readytechnology
Normativa RFC 3551 Payload Type 18, ITU-T

G.728

Codifica e descrizione CELP a basso ritardo che calcola i coefficienti del filtro di predizione mediante un adattamento all'indietro. Codifica frames di 5 campioni (presi a 8 KHz) con 10 bit.
Velocità e ritardo 16 kbps, ottenuti raggruppando 4 frames (40 bits) ogni 2,5 msec
Licenza commerciale Encore (DSP Texas)
Versione libera Zatsman-Concannon
Normativa RFC 3551 Payload Type 15, ITU-T

G.726

Codifica e descrizione ADPCM con 5, 4, 3, 2 bit/campione. Rimpiazza G.721 per ADPCM-32, e G.723 per le velocità di 40, 32 e 16 kbps. Un flusso G.726 non contiene informazioni relative alla velocità adottata, e questa deve essere espressa dal payload type del pacchetto RTP. Dato inoltre che in dipendenza della velocità, cambia il pacchettizzazione, in uno stesso pacchetto non posssono coesistere velocità differenti.
Velocità e ritardo 40, 32, 24, 16 kbps
Licenza commerciale
Versione libera Sun Microsystems, Inc (G.721, G.723),
Normativa RFC 3551 Payload Type dinamico, ITU-T

G.723.1

Codifica e descrizione Offre due velocità, ed è obbligatorio per videotelefoni H.324. Esiste una specifica per la compressione di silenzio nella Annex A, per l'implementazione floating point nella Annex B, e per la codifica di canale per wireless nella Annex C. Trame con diverse velocità e descrittori di silenzio sono di dimensioni diverse, ma possono essere mescolate nello stesso pacchetto RTP, dato che il tipo di codifica è indicato nella trama stessa.
Velocità e ritardo 5.3 e 6.3 kbps, trame da 30 msec più 7.5 msec di look-ahead.
Licenza commerciale Agora Labs, SiPro, VoiceAge
Versione libera Intel,
Normativa RFC 3551 Payload Type 4, ITU-T

G.722

Codifica e descrizione

Codificatore wideband, opera un campionamento a 16 KHz, ed effettua un ADPCM su due sotto-bande. Interessante questa descrizione presso l'Università del Maryland. Nel 1999, l'ITU-T standardizza il G.722.1, basato su transform coding; nel 2002, standardizza il G.722.2, con codifica ACELP, poi integrato nell'AMR-WB

Velocità e ritardo 64, 65 e 48 kbps per il G.722, 24 o 32 kbps per il G.722.1, da 23.85 a 6.6 kbps per G.722.2; tutti con trama da 20 msec
Licenza commerciale Encore (DSP Texas), VoiceAge (G.722, G.722.1)
Versione libera CMU/Bellcore, (G.722 originale)
Normativa RFC 3551 Payload Type 9, ITU-T

G.711 ALaw e uLaw

Codifica e descrizione 8/7 bit a campione, consiste in una semplice tabella. Legge A e legge mu (u) sono due diverse tabelle
Velocità e ritardo 64 kbps, una trama ogni 12.5 msec porta 100 campioni ovvero 800 bit
Licenza commerciale
Versione libera Sun Microsystems, Inc
Normativa RFC 3551 Payload Type 0 per legge mu, e PT 8 per legge A, ITU-T

iLBC

Codifica e descrizione iLBC sta per internet Low Bitrate Codec ed è progettato specificatamente per il VoIP. Esibisce un peggioramento graduale in presenza di paccheti persi, migliore di quanto accade per il G.729A, a parità di complessità computazionale. E' integrato in KPhone, telefoni Pingtel, Logitech PS2 SDK, OpenH323, Asterisk, XTen. E' sponsorizzato da GIPS, che fornisce i codecs di Skype, tanto che qualcuno ha pensato che quest'ultimo usi iLBC, ma probabilmente, non è così.
Velocità e ritardo Le due velocità di 13.33 e 15.20 kbps corrispondono a trame di 30 e 20 ms rispettivamente.
Licenza commerciale -
Versione libera iLBC Freeware
Normativa RFC 3951 ,RFC 3952

AMR

Codifica e descrizione Adaptive Multi rate (AMR) è stato sviluppato per il sistema GSM, e quindi adottato nel 1999 da 3GPP, come mandatory codec per i sistemi cellulari 3G. Include Voice Activity Detection, Confort Noise. Esiste sia la versione Narrow Band (NB), con campionamento a 8 KHz, che quella WideBand (WB), campionata a 16 KHz. che può operare in una modalità compatibile con G.722.2, che adotta una codifica ACELP.
Velocità e ritardo Narrow Band: 12.20 (GSM EFR), 10.20, 7.95, 7.40 (IS-641), 6.70 (PDC-EFR), 5.90, 5.15, 4.75 kbps
Wide Band: 23.85, 23.05, 19.85, 18.25, 15.85, 14.25, 12.65, 8.85, 6.6 kbps
In entrambi i casi vengono adottate trame di 20 msec.
Licenza commerciale VoiceAge
Versione libera VoiceAge Open AMR, AMR-NB, AMR-WB+, come eseguibile Win32
Normativa 3GPP 26071, 3GPP 26244, RFC 3267

GSM

Codifica e descrizione Quello usato negli attuali telefoni cellulari di seconda generazione ha codice 06.10, e si basa sul Residual Pulse Excitation - Long term Prediction (RTE-LTP). Le varianti più recenti sono l'Enhanced Full Rate (EFR) che usa ACELP e l'Half Rate (HR) che usa CELP-VSELP.
Velocità e ritardo 13.2, 12.2 e 5.6 kbps rispettivamente per RPR-LTP, EFR e HR, con trame di 20 msec. Per una confronto tra le complessità, e quella per l'AMR, si veda commsdesign.
Licenza commerciale
Versione libera Quut - prima era Technical University of Berlin
Normativa RFC 3551 Payload Type 3 per RPE-LTP o dinamico per EFR, ETSI ETS 300 961 specifica il bitstream, ETSI TS 101 318 riprende la pacchetizzazione definita da IETF

Speex

Codifica e descrizione Una suite di codec completamente libera da brevetti, disponibile sia in versione NarrowBand che WideBand (campionamento a 8 e 16 kHz), con bit rate dinamico, Voice Activity Detection, e switch dinamico. Si può bilanciare tra complessità di calcolo e qualità sonora.
Velocità e ritardo 24.6, 18.2, 15, 11, 8, 6 per il NB, ritardo di 30 e 34 msec per NB e WB
Licenza commerciale
Versione libera http://speex.org/download.html
Normativa speex.org, IETF Draft,

LPC-10

Codifica e descrizione Sviluppato originariamente presso il DoD USA
Velocità e ritardo 2.4
Licenza commerciale
Versione libera Washington Univ.
Normativa


Riferimenti vari e sfusi

  • Presso voip-info.org sono disponibili links alle infomazioni sui diversi codec, confronti tra gli stessi, supporto da parte delle implementazioni, ed esempi di codifica.
  • Anche Uninett pubblica una buona pagina di confronto, completa di valutazione di qualità.
  • Hawksoft pubblica un confronto tra la complessità di diversi codecs
  • Rfc-ref.org costituisce un ottimo motore di ricerca, indicizzazione e navigazione tra i documenti IETF. Presso networksorcery troviamo un interessante riferimento incrociato tra i Payload Type RTP ed i rispettivi profili.
  • VoiceAge propone una CodecLib API che facilita lo sviluppo di applicazioni multi-codec, ad esempio gestendo il buffering in ingresso in accordo con le esigenze del codec in uso, ovvero gestendo un handshake con l'applicazione per il buffer di uscita, impedendo il suo overflow.
  • Intel propone una Unified Speech Codec (USC) Interface per lo sviluppo di blocchi standard per applicazioni vocali, ed in questo ambito permette il dowload di Intel integrated performance primitives speech samples, che consistono in due applicazioni di co-decodifica in diversi formati, complete di codice dei codec
  • Tra i fornitori di tecnologia di codifica, Encore offre implementazioni su DSP
  • Presso data-compression.com sono linkati alcuni algoritmi di codifica, come 2.4 kbps MELP Proposed Federal Standard, U.S. DoD LPC-10, GSM 06.10 13 kbit/s RPE/LTP, 16 kb/s Low-Delay CELP G.728, ADPCM G.721 e G.723.
  • Presso la CMU si trova una implementazione del CELP 4.8 kbps, standard F1016 in versione "rapida" ed "efficiente".
  • Presso l'Università del Maryland troviamo un interessante tutorial sulla codifica WideBand.
  • Fujitsu fornisce un IP-Phone Chip con tutto on-board
  • Hellosoft propone uno stack VoIP completo su micropocessore RISC
  • Microchip propone dsPIC30F, una Speech Encoding/Decoding Library basata su di una versione modificata del codice di Speex, scritta in assembler, e che offre una API ben definita, per l'integrazione con le applicazioni
  • Ittian offre un sotto-sistema software completo di speech coders Narrow Band e Wideband, cancellazione d'echo, Jitter Buffer adattivo, Packet Loss Concealment e RTP. Gira su DSP TI C64x™, ed integra una implementazione Multi Canale rientrante, con una API chiamabile da C
  • Spirit DSP offre una ampia scelta di codecs per eXpressDSP di TI. Il codice è rientrante, e supporta multithreading ed allocazione di memoria dinamica.









Copyright © by LabTel @ Info-Com All Right Reserved.

Pubblicato su: 2006-01-08 (6504 letture)

[ Indietro ]
Content ©

Access Denied