12
Técnicas para ocultamento de perdas de pacotes em aplicações do tipo Voz sobre IP (VoIP) Rafael Seidi Shigueoka¹, Fábio Sakuray¹ ¹Departmento de Computação – Universidade Estadual de Londrina (UEL) Caixa Postal 10.011 – CEP 86057-970 – Londrina – PR – Brasil [email protected], [email protected] Abstract. In this work, techniques are analyzed and implemented to conceal packet loss on applications like Voice over IP (VoIP). This technology eventually became popular because of its low cost compared to traditional telephone network. Despite having some obstacles such as packet loss that degrade audio quality, there are techniques called Packet Loss Concealment (PLC) that help mask these losses. Keys-word: VoIP; PLC; packet loss. Resumo. Neste trabalho são implementadas e analisadas técnicas para ocultar perdas de pacotes em aplicações do tipo Voz sobre IP (VoIP). Essa tecnologia acabou se tornando popular devido ao seu baixo custo em relação à tradicional rede de telefonia. Apesar de possuir alguns obstáculos como a perda de pacotes que degradam a qualidade do áudio, existem técnicas chamadas Packet Loss Concealment (PLC) que ajudam a mascarar essas perdas. Palavras-chaves: VoIP; PLC; perda de pacote

Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

Embed Size (px)

Citation preview

Page 1: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

Técnicas para ocultamento de perdas de pacotes em aplicações do

tipo Voz sobre IP (VoIP)

Rafael Seidi Shigueoka¹, Fábio Sakuray¹

¹Departmento de Computação – Universidade Estadual de Londrina (UEL)

Caixa Postal 10.011 – CEP 86057-970 – Londrina – PR – Brasil

[email protected], [email protected]

Abstract. In this work, techniques are analyzed and implemented to conceal

packet loss on applications like Voice over IP (VoIP). This technology eventually became popular because of its low cost compared to traditional

telephone network. Despite having some obstacles such as packet loss that degrade audio quality, there are techniques called Packet Loss Concealment (PLC) that help mask these losses.

Keys-word: VoIP; PLC; packet loss.

Resumo. Neste trabalho são implementadas e analisadas técnicas para ocultar perdas de pacotes em aplicações do tipo Voz sobre IP (VoIP). Essa tecnologia acabou se tornando popular devido ao seu baixo custo em relação à tradicional

rede de telefonia. Apesar de possuir alguns obstáculos como a perda de pacotes que degradam a qualidade do áudio, existem técnicas chamadas Packet Loss

Concealment (PLC) que ajudam a mascarar essas perdas.

Palavras-chaves: VoIP; PLC; perda de pacote

Page 2: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

1. Introdução

As últimas décadas trouxeram avanços tecnológicos inimagináveis, os quais, por sua vez, requerem contínuas adequações no sentido de atender às demandas de um mercado cada

vez mais exigente no que diz respeito à informação e à comunicação.

VoIP (Voz sobre IP) é a transmissão de dados de voz em uma rede de pacotes IP (Walker & Hicks, 2004). Parte-se do fato de que aplicações dessa natureza estão se tornando cada

vez mais populares devido à sua flexibilidade e seu custo reduzido em relação aos serviços de telefonias existentes (Sonwane & Chandavarkar, 2013). Essa tendência é observada pelo software Skype (um aplicativo do tipo VoIP), que em agosto de 2013

superou a marca de 300 milhões de usuários, sendo utilizado diariamente por cerca de 50 milhões de pessoas no mundo (Agência EFE, 2013) (Folha de São Paulo, 2013).

Justifica-se a realização deste estudo diante da emergência de novas possibilidades de aplicação dos recursos tecnológicos atualmente disponíveis em situações da vida cotidiana. Busca-se, assim, comparar as técnicas de ocultamento das perdas de pacotes de dados, visando evidenciar os potenciais resultados que cada uma pode trazer, tendo em

vista categorias como o custo/benefício de processamento, bem como facilidades e/ou dificuldades de implementação.

Ainda que a tecnologia VoIP esteja se tornando cada vez mais popular, há fatores como perdas de pacotes, atrasos e variação no atraso da rede (jitter) que degradam a qualidade do áudio (Kim, Kim, Jeong, & Kim, 2013). A ocorrência desses fatores deve-se ao

excesso de tráfego, interferência, ruído (alteração no conteúdo do pacote) e sobrecarga do buffer no receptor (Ali, Liang, Sun, & Cruickshank, 2009).

As perdas de pacotes criam lacunas nos trechos de áudio (Ofir & Malah, 2006) que afetam a qualidade do som. Para ocultar essas descontinuidades nos trechos de voz, são utilizadas

técnicas como o Packet Loss Concealment (PLC) ou Frame Erasure Concealment (FEC) (Chen, 2007). O que diferencia uma técnica da outra é que a FEC ocorre quando o bit de

erro não está correto (Kim & Kang, 2001).

Para mascarar ou restaurar os pacotes perdidos foram desenvolvidos métodos que podem ser divididos em duas classes principais: Packet Loss Concealment baseado no transmissor (PLC sender-based) onde é adicionada alguma redundância ou informação

adicional que depois pode ser usado pelo receptor e o Packet Loss Concealment baseado no receptor (PLC receiver-based) que em caso de falha na recuperação do pacote produz

um substituto no lugar para encobrir a perda (Kim, Kim, Jeong, & Kim, 2013) (Ofir & Malah, 2006).

Nesta dimensão, o objeto de estudo do presente trabalho volta-se para os métodos de PLC.

Page 3: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

2. Fundamentação Teórico-metodológica

VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes IP. O processo da transmissão consiste basicamente em transformar os trechos de

voz analógicos em digitais, dividi- los em vários pacotes e depois transportá-los sobre a rede IP. Após alcançar seu destino, os pacotes são reorganizados e convertidos para o

sistema analógico novamente (Raake, 2006) (Walker & Hicks, 2004).

Sabe-se que o sistema de comunicação de telefones convencionais utiliza comutação de circuitos e quando é realizada alguma ligação, é reservado um circuito dedicado entre os dois telefones para a conversa, enquanto a tecnologia VoIP utiliza comutação de pacotes

e trabalha sobre uma rede conectada a vários computadores. Assim sendo, não há um caminho único para que os pacotes de voz possam percorrer (Walker & Hicks, 2004).

Dada a amplitude deste novo sistema de comunicação, os telefones tradicionais estão aos poucos sendo substituídos pela nova tecnologia VoIP (Radhakrishnan & Larijani, 2010) (Ghiata & Marcu, 2011).

Segundo (Walker & Hicks, 2004)são os componentes mais importantes do VoIP podem

ser observados no quadro a seguir.

Quadro 1- Principais componentes do VoIP

Codecs São responsáveis pela codificação ou decodificação do áudio. Esse hardware ou software transforma o áudio analógico em digital. Alguns codecs também realizam a tarefa de compressão para poupar banda. Os

codecs mais utilizados em VoIP são G.711, G.723, G.729 e G.726-32. Codecs G.711a e G.711u utilizam mais banda, entretanto o tempo gasto para codificar para digital e empacotar os trechos de voz é de 1ms. Os

codecs G.726, G.729 e G.723 consomem menos banda, pois além da conversão do áudio realizam também a compressão do mesmo. Apesar de poupar banda com processo de compressão, a qualidade do áudio é

reduzida, pois perde algumas características do áudio original.

Protocolos

TCP/IP e VoIP:

TCP/IP é um conjunto de protocolos que desempenham a função de troca

de informações entre os computadores, informações sobre o datagrama e o que fazer caso seja danificado ou perdido. Os protocolos VoIP utilizados para a realização da chamada são divididos em duas fases, protocolos de

configuração da chamada e de transmissão de voz. Session Initioation Protocol (SIP), H.232, Sk inny Client Control Protocol (SCCP), Media Gateway Control Protocol (MGCP) e Media Gateway Protocol (Megaco) são

protocolos usados para iniciar e finalizar chamada. Eles realizam funções como mapear os números de telefones para endereço IP, gerar toques das chamadas, soar o toque no aparelho do receptor e desligar a chamada. Após

atender a chamada, o Real-time Transport Protocol (RTP) é utilizado durante a toda a conversa para transmitir o áudio.

Servidores de telefonia

IP e PBXs

Private Branch eXchange (PBX) é um sistema onde os telefones de uma empresa são conectados formando uma rede para transmissão de voz,

permitindo que alguns telefones fora da empresa sejam conectados a essa rede e também possibilita funções como reencaminhamento da chamada, chamada em espera e teleconferência.

Page 4: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

IP PBX age como um servidor. Ele possui as características e funções do PBX só para telefones VoIP, além de possibilitar o recebimento de voice mail e e-mail em um mesmo lugar devido ao unified messaging.

Gateways

VoIP e roteadores

Para que a comunicação entre protocolos, codecs e até redes diferentes

possa ser realizada, é necessária a utilização de gateways VoIP.

Analisando o cabeçalho IP, os roteadores decidem qual caminho os pacotes de dados devem percorrer, cada roteador escolhe o roteador seguinte a mandar o pacote e através desses saltos contínuos chega-se ao destino.

Telefones IP

e softphones

Os telefones IP têm aparência semelhante aos telefones convencionais, mas

em sua parte traseira possuem uma entrada para ethernet LAN.

Softphones são softwares instalados no computador que juntamente com um headset funcionam como um telefone IP. Tanto os telefones IP quanto os softphones dependem de um servidor de telefonia IP.

Uma das maiores dificuldades da tecnologia VoIP é manter uma boa qualidade do áudio , pois os pacotes de voz percorrem sobre a mesma estrutura dos pacotes de dados e existe

ainda o fato de a rede IP ser um serviço de melhor esforço. Caso ocorra o congestionamento da rede ou erro na transmissão, pacotes de áudio transmitidos podem

chegar atrasados, serem descartados ou demorar a chegar no destino a ponto de não poderem mais ser utilizados e precisarem ser descartados. Essas perdas de dados criam lacunas nos trechos do áudio e prejudicam sua qualidade (Ghiata & Marcu, 2011)

(Radhakrishnan & Larijani, 2010) (Maheswari & Punithavalli, 2010) (Xu & Zhang, 2011) .

(De Cristofaro, et al., 2009) e (Ghiata & Marcu, 2011) referem que a qualidade do áudio

é influenciada por três importantes fatores:

Latência – tempo que o pacote demora para sair da origem e chegar ao seu destino;

Jitter - variação no tempo de chegada dos pacotes;

Perda de pacotes – pacotes descartados devido ao congestionamento da rede.

Ainda conforme (De Cristofaro, et al., 2009), o teste da qualidade de voz pode ser realizado através de dois modos de avaliação. No método subjetivo, a qualidade da

chamada é analisada por uma pessoa, enquanto o método objetivo é realizado por diferentes algoritmos e/ou softwares. Como o modo subjetivo é custoso e dispendioso e no objetivo não há intervenção humana para avaliar, outro método de avaliação

desenvolvido é a utilização de redes neurais para avaliação do áudio (Ghiata & Marcu, 2011).

Para restaurar ou encobrir as perdas de pacotes, foram criadas técnicas de PLC que podem ser categorizadas em duas classes: PLC baseado no transmissor (PLC transmitter-based) e PLC baseado no receptor (PLC receiver-based). Nas técnicas baseadas no transmissor geralmente alguma redundância ou informação adicional é acrescentada nos pacotes a

Page 5: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

serem enviados, para ajudar o receptor na recuperação dos dados perdidos. Neste caso, o

transmissor trabalha em conjunto com o repector para recuperar os pacotes de vozes perdidos. As técnicas baseadas no receptor geralmente tentam mascarar as perdas do

áudio inserindo uma onda de áudio substituta na lacuna, nessa classe não há participação do transmissor (Walker & Hicks, 2004) (Pedram, Vaseghi, & Langari, 2013) (Xu & Zhang, 2011) (Nagireddi, VoIP Voice and Fax Signal Processing, 2008).

Tanto as técnicas de PLC baseadas no transmissor como as baseadas no receptor possuem duas subclasses. Na figura a seguir são apresentadas as singularidades das duas técnicas mencionadas, conforme classificação proposta por (Nagireddi, VoIP Voice and Fax

Signal Processing, 2008).

Page 6: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

Figura 1. Classificação das técnicas de PLC baseado no transmissor e técnicas

de PLC baseado no receptor

No primeiro esquema, apresentamos as técnicas de PLC baseadas no transmissor, que

são:

Redundância - O pacote de voz a ser transmitido é concatenado a uma quantidade de pacotes anteriores, que variam dependendo do valor da redundância. Apesar de aumentar a banda de acordo com o nível de redundância escolhido, essa é uma boa

opção para perdas de pacotes desde que não excedam o nível. (Nagireddi, VoIP Voice and Fax Signal Processing, 2008).

Page 7: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

Forward Error Correction (FEC) – Técnicas FEC produzem pacotes de dados adicionais

que auxiliam o receptor na recuperação dos pacotes de vozes perdidos durante a transmissão. É mais eficiente que o esquema de redundância pois utiliza menos banda

além de ser mais seguro uma vez que os dados são encriptados (Nagireddi, VoIP Voice and Fax Signal Processing, 2008).

Interleaving – Nesse método os pacotes de vozes são fragmentados em trechos menores e depois dispersados. Essa técnica é eficaz contra rajada de perdas, pois caso algum

pacote se perca haverá pequenas falhas no áudio ao invés de um grande intervalo. Diferente da redundância e do FEC, o interleaving não aumenta a banda, entretanto aumenta o atraso, o uso de processamento e a memória (Nagireddi, VoIP Voice and Fax

Signal Processing, 2008).

Retransmissão – Se o receptor perceber que ocorreu a perda de algum pacote ele solicita ao transmissor que faça o reenvio do mesmo. Apesar do longo atraso nas chamada de voz, o método de retransmissão é eficaz quando a perda de pacotes é baixa, já que não

aumenta a banda como o FEC e a redundância. Caso a perda dos dados comece a aumentar, o FEC se torna mais efetivo (Nagireddi, VoIP Voice and Fax Signal

Processing, 2008). Já no segundo esquema apresentado, são evidenciadas as técnicas baseadas no receptor.

São elas: Baseado no pitch (G.711) – Fornece uma qualidade melhor e mais razoável com uma

baixa complexidade computacional (Nagireddi, VoIP Voice and Fax Signal Processing, 2008).

Linear prediction – Este esquema realiza uma derivação utilizando 20 coeficientes LPC (Linear Prediction Coding) no modelo e excitação da parte que foi perdida com base no

histórico da fala para procurar um sinal parecido com o orginal para substituir (Nagireddi, VoIP Voice and Fax Signal Processing, 2008).

Time frequency modifications – No lugar do pacote perdido o pacote anterior e o seguinte são esticados para preencher a lacuna.

Silence substitution – Nas falhas do áudio são inseridos silêncio para manter o tempo

entre os pacotes. Caso a perda dos pacotes comece a aumentar, seu desempenho diminui drasticamente. Apesar disso, ele é muito utilizado já que é fácil de ser implementado (Perkins, Hodson, & Hardman, 1998).

Packet repetition – Faz uso do último pacote bom recebido para inserir na lacuna aberta

pela perda do pacote, seu custo computacional é baixo e desempenha razoavelmente bem (Perkins, Hodson, & Hardman, 1998).

Page 8: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

3 Objetivos

O objetivo geral do presente trabalho consiste em analisar técnicas para ocultar perdas de pacotes em aplicações do tipo Voz sobre IP (VoIP).

Os objetivos específicos podem ser assim destacados:

a) Comparar as técnicas contidas nos métodos Packet Loss Concealment baseado no transmissor (PLC sender-based) e Packet Loss Concealment baseado no receptor (PLC

receiver-based);

b) Selecionar e implementar algumas dessas técnicas em um programa previamente definido;

c)Avaliar os resultados da aplicação de cada uma das técnicas selecionadas.

4. Procedimentos metodológicos/Métodos e técnicas

O presente estudo parte de uma pesquisa bibliográfica em diferentes bases de dados.

Segundo Lakatos e Marconi (2003), a pesquisa bibliográfica é o levantamento de toda a bibliografia já publicada, em forma de livros, revistas, publicações avulsas e imprensa

escrita. A sua finalidade é fazer com que o pesquisador entre em contato direto com todo o material escrito sobre um determinado assunto, auxiliando o cientista na análise de suas

pesquisas ou na manipulação de suas informações. Ela pode ser considerada como o primeiro passo de toda a pesquisa científica.

Em uma segunda etapa, serão analisadas e implementadas técnicas para ocultar perdas de

pacotes em aplicações do tipo Voz sobre IP (VoIP). Para a realização desta etapa, serão definidos posteriormente as técnicas e programas a serem utilizadas.

Page 9: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

5. Cronograma de Execução

JUL AGO SET OUT NOV DEZ JAN FEV

Elaboração do

projeto

X

Entrega do Projeto

X

Revisão

Bibliográfica

X X X

Estudo do VoIP

X X X X X X X

Implementação X X X

Ajustes Finais

na Implementação

X X X

Testes X X X

Escrita e

Revisão do Trabalho

X X X X X X X

Entrega da

Versão Preliminar

X

Entrega da Versão para a

Banca

X

Banca X

Page 10: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

6. Contribuições e/ou Resultados esperados

Pretende-se com o presente trabalho, contribuir, com, a realização das ações das técnicas de PLC previstas neste trabalho, para a ampliação dos conhecimentos sobre a temática de PLC, tendo em vista a atualidade do tema e a importância de avaliar as técnicas já

existentes no ocultamento das perdas de dados de voz. Que possa contribuir didaticamente para a criação de futuros projetos.

Page 11: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

Referencias

Agência EFE. (29 de Agosto de 2013). Info. Fonte:

http://info.abril.com.br/noticias/tecnologia-pessoal/2013/08/skype-comemora-dez-anos-de-sucesso-com-300-mi-de-usuarios.shtml

Ali, M., Liang, L., Sun, Z., & Cruickshank, H. (2009). SIP signaling and QoS for VoIP

over IPv6 DVB-RCS satellite networks. 2009 International Workshop on Satellite and Space Communications (pp. 419-423). Tuscany: IEEE.

Chen, J.-H. (2007). Packet Loss Concealment for Predictive Speech Coding Based on Extrapolation of Speech Waveform. Conference Record of The Forty-First Asilomar Conference on Signals, Systems & Computers (pp. 2088-2092). Pacific

Grove, CA: IEEE.

De Cristofaro, N., McGill, G., Sallahi, A., Davis, M., Alsibai, A., & St-Hilaire, M. (2009).

QoS evaluation of a voice over IP network with video: A case study. 2009 Canadian Conference on Electrical and Computer Engineering (pp. 288-292). St. John's: IEEE.

Folha de São Paulo. (30 de Agosto de 2013). Fonte: http://www1.folha.uol.com.br/tec/2013/08/1334544-com-300-milhoes-de-

usuarios-skype-completa-10-anos.shtml

Ghiata, N., & Marcu, M. (2011). Measurement methods for QoS in VoIP review. Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT) (pp.

1-6). Budapest: IEEE.

Kim, B. H., Kim, H.-G., Jeong, J., & Kim, J. Y. (2013). VoIP Receiver-Based Adaptive

Playout Scheduling and Packet Loss Concealment Technique. IEEE Transactions on Consumer Electronics (pp. 250-258). IEEE.

Kim, H. K., & Kang, H.-G. (2001). A Frame Erasure Concealment Algorithm Based on

Gain Parameter Re-estimation for CELP Coders. Signal Processing Letters, IEEE (pp. 252-256). IEEE.

Lakatos, Eva Maria; Marconi, Marina de Andrade.( 2003) Fundamentos de metodologia científica. 5. ed. - São Paulo: Atlas.

Maheswari, K., & Punithavalli, M. (2010). Enhanced Packet Loss Recovery in Voice

Multiplex-MUlticast based VoIP Networks. Proceedings of the 1st Amrita ACM-W Celebration on Women in Computing in India (pp. 1-4). Coimbatore: ACM.

Nagireddi, S. (2008). VoIP Voice and Fax Signal Processing. New Jersey: John Wiley & Sons, Inc.

Ofir, F., & Malah, D. (2006). Packet loss concealment for audio streaming based on the

GAPES and MAPES algorithms. 2006 24th IEEE Convention of Electrical and Electronic Engineers (pp. 280-284). Eilat: IEEE.

Pedram, S. K., Vaseghi, S., & Langari, B. (2013). Audio Packet Loss Concealment using Motion-Compensated Spectral Extrapolation. 2013 IEEE International Symposium on Signal Processing and Information Technology (pp. 000434-

000439). Athens: IEEE.

Page 12: Técnicas para ocultamento de perdas de pacotes …. Fundamentação Teórico-metodológica VoIP é uma tecnologia que torna capaz a transmissão de dados de voz em uma rede de pacotes

Perkins, C., Hodson, O., & Hardman, V. (1998). A survey of packet loss recovery

techniques for streaming audio. Network, IEEE (pp. 40-48). IEEE.

Raake, A. (2006). Speech Quality of VoIP - Assessment and Prediction. Chicester: John

Wiley & Son Ltd.

Radhakrishnan, K., & Larijani, H. (2010). A Study on QoS of VoIP networks: A Random Neural Network (RNN) Approach. Proceedings of the 2010 Spring Simulation

Multiconference (pp. 114:1 - 114:6). Orlando, Florida: Society for Computer Simulation International.

Sonwane, G. D., & Chandavarkar, M. B. (2013). Security Analysis of Session Initiat ion Protocol in IPv4 and IPv6 Based VoIP Network. Second International Conference on Advanced Computing, Networking and Security ADCONS 2013 (pp. 187-192).

Mangalore: IEEE.

Walker, J. Q., & Hicks, J. (2004). Taking charge of your VoIP project. Indianapolis: Cisco

Press.

Xu, J., & Zhang, C. (2011). Research of an Improved Packet Loss Compensation Algorithm in VoIP. Communication Software and Networks (ICCSN), 2011 IEEE

3rd International Conference on Communication Software and Networks (pp. 12-15). Xi'an: IEEE.