• Non ci sono risultati.

Obiettivo di questa seconda fase di test è capire quale tra la gestione statica e adattiva del sistema di dejitter consente di ottenere i migliori risultati in termini di speeh quality; si cerca cioè di capire quale soluzione consente di ottenere una minore degradazione della qualità audio percepita dall'utente al variare di interarrival jitter e delay. L'algoritmo di PLC sfruttato da entrambe le soluzioni è quello definito nell'ANSI Recommendation ATIS-0152100.2005 poiché nella prima fase di test questo è risultato essere tra quelli implementati quello che permette di ottenere le migliori performance.

I test sono stati effettuati al variare dei parametri delay e jitter così da mettere in risalto le capacità di dejittering e di re-ordering del sistema. La distribuzione dell'elemento di ritardo variabile è stata supposta essere uniforme e non è stata introdotta alcuna correlazione tra i valori assunti da questa variabile aleatoria. Il valore dell'holding time per il buffer di dejitter statico è stato fissato a 60 ms. Il buffer di dejitter adattivo è stato usato con il parametro Qmax fissato a 400 ms, Tw fissato a 10 sec

6 Test e confronti prestazionali

comportamento di Netem, che prevede l'introduzione del jitter in maniera casuale con una probabilità che dipende dal valore dell'elemento di ritardo variabile, sono state effettuate 10 misurazioni per ogni valore del jitter. I risultati ottenuti sono stati mediati e il valore medio calcolato è stato approssimato alla seconda cifra decimale.

Le due possibili soluzioni per la gestione del buffer di dejitter sono state confrontate con la soluzione (utilizzata anche nella prima fase di test) che sfrutta un buffer dejitter statico con un valore dell'holding time di 60 ms ma che non prevede l'utilizzo di alcun algoritmo di PLC e non effettua un re-ordering dei pacchetti in ricezione; in questo caso cioè se un pacchetto che arriva ad un determinato istante ha un numero di sequenza inferiore a quello di un pacchetto arrivato in precedenza viene semplicemente scartato.

I risultati ottenuti con un delay di 20 ms sono riportati nella seguente tabella:

Jitter (ms) Statico Adattivo NO-Reordering & NO-PLC

10 4.13 4.12 4.14

20 4.13 4.1 4.15

30 4.13 4.02 4.12

Tabella 6.2: Confronto soluzione statica e adattiva al variare del jitter con delay=20 ms e loss=0%

Il jitter introdotto è al di sotto del valore dell'holding time con cui le tre soluzioni lavorano e per questo è perfettamente assorbito dai buffer di dejitter. Non ci saranno perdite dovute a pacchetti arrivati troppo in ritardo rispetto all'istante in cui sarebbero dovuti essere riprodotti e perciò la speech quality ottenuta nei tre casi si mantiene vicina al caso ideale di rete senza jitter, ritardo e perdite; in questo caso il PESQ misura infatti un valore nei dintorni del 4.15.

Altro esperimento è stato realizzato con un delay di 50 ms; i risultati ottenuti sono riportati nella seguente tabella e sono stati utilizzati per tracciare il successivo grafico:

Jitter (ms) Statico Adattivo NO-Reordering & NO-PLC

40 3.9 3.95 2.59

60 2.95 3.73 2.12

80 2 3.6 1.86

90 1.9 3.51 1.76

6 Test e confronti prestazionali

Figura 6.3: Confronto soluzione statica e adattiva al variare del jitter con delay=50 ms e loss=0%

Dal grafico si evince che la soluzione adattiva sviluppata è quella che consente di ottenere i migliori risultati in termini di speech quality. L'holding time massimo Th max che andrà ad essere calcolato dal sistema seguendo la seguente formula sarà di 140 ms.

Th maxt =

Qmax 2 − RTT t 2 −PLCdelay T

T

Il jitter massimo stimato sperimentato dai pacchetti durante queste prove, come mostrato in tabella, è di 90 ms; la soluzione adattiva consente perciò al sistema di regolare il valore dell'holding time aumentandolo all'aumentare del jitter senza che venga mai raggiunto il valore Th max . Questo consente di non andare incontro a perdite legate a pacchetti arrivati troppo in ritardo rispetto all'istante in cui avrebbero dovuto essere riprodotti e permette quindi di ottenere delle ottime performance in termini di speech quality. Nella soluzione statica l'holding time è stato fissato a 60 ms perciò all'aumentare del jitter questa soluzione entrerà in crisi. I pacchetti persi perché arrivati troppo in ritardo saranno in numero sempre maggiore all'aumentare del jitter e entrerà in funzione con sempre maggiore frequenza l'algoritmo di PLC. Quest'ultimo, insieme al re-ordering dei pacchetti che viene effettuato in ricezione, consente alla soluzione statica di comportarsi meglio della terza soluzione presentata nel grafico in cui queste tecniche non sono sfruttate.

6 Test e confronti prestazionali

Un ulteriore esperimento è stato realizzato con un delay di 70 ms; i risultati ottenuti sono riportati nella seguente tabella e sono stati utilizzati per tracciare il successivo grafico:

Jitter (ms) Statico Adattivo NO-Reordering

& NO-PLC 40 4.08 3.91 2.52 60 2.91 3.86 1.91 80 2.07 3.57 1.67 100 1.8 3.36 1.44 120 1.56 2.18 1.39

Tabella 6.4: Confronto soluzione statica e adattiva al variare del jitter con delay=50 ms e loss=0%

Figura 6.4: Confronto soluzione statica e adattiva al variare del jitter con delay=70 ms e loss=0%

Anche in questo caso la soluzione adattiva sviluppata è quella che consente di ottenere i migliori risultati. Il Th max che andrà ad essere stimato dal sistema è di 120 ms e il sistema andrà ad accrescere la dimensione del buffer di dejitter all'aumentare del jitter stimato raggiungendo il valore limite solo per il valore del jitter di 120 ms. La soluzione statica come nell'esperimento precedente permetterà di ottenere risultati sempre più scadenti all'aumentare del jitter ma grazie al re-ordering e

6 Test e confronti prestazionali

al lavoro svolto dall'algoritmo di PLC sarà preferibile alla terza soluzione definita NO-Reordering & NO-PLC.

Ultimo esperimento è stato condotto con un delay di 100ms. I risultati ottenuti sono riportati nella seguente tabella e sono stati utilizzati per tracciare il successivo grafico:

Jitter (ms) Statico Adattivo NO-Reordering

40 2.93 3.81 1.91

60 2 2.87 1.62

80 1.7 2.08 1.42

100 1.44 1.75 1.25

120 1.26 1.42 1.05

Tabella 6.5: Confronto soluzione statica e adattiva al variare del jitter con delay=100 ms e loss=0%

Figura 6.5: Confronto soluzione statica e adattiva al variare del jitter con delay=100 ms e loss=0%

Ancora una volta la soluzione adattiva sviluppata è quella che consente di ottenere i migliori risultati. Il Th max che andrà ad essere stimato è di 80 ms; il sistema andrà ad accrescere la dimensione del buffer di dejitter all'aumentare del jitter stimato raggiungendo il valore limite quando il jitter arriva a valere 80 ms. Per valori maggiori del jitter anche nella soluzione dinamica si iniziano ad avere perdite dovute a pacchetti arrivati troppo in ritardo per essere riprodotti e perciò la speech

6 Test e confronti prestazionali

quality comincia gradualmente a degradare. Per quanto riguarda la soluzione statica e la soluzione NO-Reordering e NO-PLC le considerazioni sono le stesse effettuate nei casi precedenti.

Per valori del delay maggiori di 135 ms il T h max stimato è minore o uguale a 60 ms. Questo porterà ad usare un holding tme uguale a Th min che è stato fissato a 60 ms. La soluzione dinamica in questi casi si comporterà perciò in maniera identica a quella statica.

Conclusione

Conclusione

Dopo una fase iniziale di studio delle problematiche legate alla Quality of Service della Telefonia su IP sono state studiate le tecniche di Packet Loss Concealment esistenti. Sono stati implementati all'interno del framework software pensato per lo sviluppo rapido di applicazioni VoIP messo a disposizione da Netresults tre algoritmi che sfruttano Insertion Techniques (Silence Substitution, Noise Substitution, Packet Repetition) e due che sfruttano Interpolation Techniques. I due algoritmi appartenenti a quest'ultima categoria sono descritti nell'ITU-T Recommendation G.711 e nell'ANSI Recommendation ATIS-0152100.2005.

Successivamente è stato progettato e realizzato un sistema di dejitter che può funzionare in modalità statica o adattiva in cui sono integrati gli algoritmi di Packet Loss Concealment implementati. Scopo di questo sistema è quello di far fronte alla degradazione della speech quality legata ai pacchetti scartati perché arrivati troppo in ritardo rispetto all'istante in cui si sarebbe dovuto passarli all'applicazione incaricata di riprodurli. L'idea è stata quella di far si che il sistema autoregoli il valore dell'holding time con cui funziona il buffer di dejitter in modo che questo aumenti all'aumentare del jitter dinamicamente stimato. Problema di questa soluzione è che l'aumento dell'holding time deve essere considerato un ulteriore accrescimento del ritardo end-to-end e perciò un suo valore troppo elevato porta alla degradazione della conversational quality. Si è deciso perciò di fissare un valore massimo all'holding time; questo valore sarà dinamicamente determinato dal sistema durante la comunicazione in base al round trip time stimato e in base ad un tempo massimo (fissato a 400 ms) consentito per l'interazione tra i due utenti tra cui avviene la comunicazione.

Sono stati infine realizzati una serie di test funzionali e confronti prestazionali. Questo lavoro è stato suddiviso in due fasi. Una prima fase volta a decidere quale algoritmo di PLC permette di ottenere le migliori performance e una seconda fase volta a verificare se la soluzione dinamica progettata permette di ottenere una minore degradazione della speech quality all'aumentare del jitter rispetto a quella statica.

Nella prima fase di test che è stata realizzata sono state confrontate le prestazioni degli algoritmi di PLC implementati all'aumentare delle perdite. Dai risultati ottenuti risulta che la soluzione che permette di ottenere i migliori risultati in termini di speech quality è quella descritta nell'ANSI Recommendation ATIS-0152100.2005. Le performance ottenibili con l'algoritmo descritto nell'ITU-T Recommendation G.711 sono solo leggermente inferiori; la soluzione dell'ITU-T si è però dimostrata essere meno complessa dal punto di vista computazionale. La tecnica Packet Repetition si è

Conclusione

dimostrata essere la migliore tra le Insertion Techniques implementate e può perciò essere considerata un buon compromesso tra questo tipo di tecniche e le notevolmente più complesse Interpolation Techniques. L'algoritmo che offre le prestazioni peggiori è risultato essere il Noise Substitution. Il Silence Substitution infine si colloca in termini di performance tra il Noise Substitution e il Packet Repetition.

Nella seconda fase di test che è stata realizzata sono state confrontate all'aumentare del jitter la soluzione statica e la soluzione dinamica con cui può funzionare il sistema di dejitter sviluppato; si è scelto di far fronte alle perdite sfruttando l'algoritmo descritto nello Standard dell'ANSI visto che nella prima fase di test questo è risultato essere il più performante. Gli esperimenti sono stati realizzati per più valori del delay. In tutte le condizioni di rete sperimentate la soluzione adattiva è risultata essere quella che permette di ottenere i migliori risultati in termini di speech quality.

Bibliografia

Bibliografia

[1] M. Handley, H. Schulzrinne, E. Schooler, J. Rosenberg, 1999, “SIP: Session Iniziation Protocol” (RFC 2543 IETF)

[2] J. Rosemberg, H.Schulzrinne, G.Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, E. Schooler, 2002, “SIP: Session Initiation Protocol” (RFC 3261 IETF)

[3] H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson, 1996, “RTP: A Transport Protocol for Real- Time Applications” (RFC 1889 IETF)

[4] J. Rosenberg, H. Schulzrinne, 2002, “An Offer/Answer Model with the Session Description Protocol (SDP)“ (RFC 3264 IETF)

[5] R. G. Garroppo, 2006, “Voice over IP (VoIP)”

[6] William C. Hardy, 2003, “VoIP Service Quality–Measuring and Evaluating Packet Switched Voice”

[7] L. Verrazzani, 1996, “La teoria della decisione e della stima nelle applicazioni di telecomunicazione”

[8] Olivier Hersent, Jean-Pierre Petit, David Gurle, 2005, “Beyond VoIP Protocol”

[9] ANSI Recommendation ATIS-0152100.2005 Annex B (Revision of T1-521a-1999 e T1-521a- 2000)

[10] Emre Gündüzhan and Kathryn Momtahan, 2001, “A Linear Prediction Based Packet Loss Concealment Algorithm for PCM Coded Speech”

[11] Minkyu Lee, Imed Zitouni e Qiru Zhou, 2004, “Prediction-based Packet Loss Concealment for Voice over IP: a statistical N-GRAM approach”

[12] Nortel Network, “Packet Loss and Packet Loss Concealment”

[13] Ejaz Mahfuz, 2001 “Packet Loss Concealment for Voice Transmission over IP Networks”

[14] ITU-T, 1999, “Pulse Code Modulation of Voice Frequencies-Appendix I: A high quality low- complexity algorithm for packet loss concealment with G.711” [REC G.711]

[15] ITU-T, 1992, “Coding of speech at 16 kbit/s using low-delay code excited linear prediction”, [REC G.728]

Bibliografia

[16] ITU-T, 1996, “ Methods for subjective determination of transmission quality” [REC P.800] [17] http://www.itu.int/rec/T-REC-P.861/en [18] http://www.itu.int/rec/T-REC-P.830/en [19] http://www.itu.int/rec/T-REC-P.862/en [20] http://www.voip.gestioneazienda.com/pdf/TecnologiaVoip/GuidaVoIP_Zanardi.pdf [21] http://www.itu.int/itudoc/itu-t/aap/sg12aap/history/g.114/index.html [22] http://www.raduniversity.com/2004/packet_loss_concealment/main.htm [23] http://www.itu.int/rec/T-REC-G.726/e [24]http://www.itu.int/rec/T-REC-G.711/recommendation.asp?lang=en&parent=T-REC G.711- 198811-I [25] http://www.itu.int/rec/T-REC-G.729/e [26] http://home.dei.polimi.it/ [27] http://www.voispeed.com/download/Nozioni_VOIspeed.pdf

Documenti correlati