Sei sulla pagina 1di 69

UNIVERSIDADE FEDERAL DO AMAZONAS

FACULDADE DE TECNOLOGIA
FTL069 PROJETO DE FINAL DE CURSO II

AVALIAÇÃO DA QUALIDADE DE CODECS DE


CÓDIGO ABERTO PARA TRANSMISSÃO VOIP

THIAGO BRITO BEZERRA


MSc. LEANDRO SILVA GALVÃO DE CARVALHO

MONOGRAFIA APRESENTADA COMO PARTE DO


CRITÉRIO DE AVALIAÇÃO DA DISCIPLINA
FTL069 PROJETO DE FINAL DE CURSO II

MANAUS
AGOSTO – 2009
UNIVERSIDADE FEDERAL DO AMAZONAS
FACULDADE DE TECNOLOGIA
FTL069 PROJETO DE FINAL DE CURSO II

RELATÓRIO DE PROJETO DE FINAL DE CURSO II

DEPARTAMENTO:
Departamento de Eletrônica e Telecomunicações

TITULO DE TRABALHO:
Avaliação da Qualidade de Codecs de Código Aberto para Transmissão
VoIP

ALUNO:
Thiago Brito Bezerra

PROFº ORIENTADOR:
MSc. Leandro Silva Galvão de Carvalho

Manaus – AM, Agosto de 2009

MANAUS
AGOSTO – 2009
UNIVERSIDADE FEDERAL DO AMAZONAS
FACULDADE DE TECNOLOGIA
FTL069 PROJETO DE FINAL DE CURSO II

THIAGO BRITO BEZERRA

AVALIAÇÃO DA QUALIDADE DE CODECS DE CÓDIGO


ABERTO PARA TRANSMISSÃO VOIP

Relatório da disciplina Projeto de Final de curso II

BANCA EXAMINADORA

(ASSINATURA)

Prof. MSc. Leandro Silva Galvão de


Carvalho
PRESIDENTE DA BANCA

(ASSINATURA)

Prof. Dr.-Ing. Edjair de Souza Mota


MEMBRO DA BANCA

(ASSINATURA)

Prof. Dr. Eduardo James Pereira Souto


MEMBRO DA BANCA

MÉDIA FINAL: ______________

DATA DE REALIZAÇÃO DO EXAME: _____/_____/______


Dedico este trabalho a Deus, a minha

família, a minha noiva Deborah e a

todos os meus amigos, pois considero

todos, presentes de Deus em minha

vida.
AGRADECIMENTOS

Agradeço ao Grupo de Redes de Computadores e Multimídia –

GRCM/UFAM, em especial ao prof. MSc. Leandro Silva Galvão de

Carvalho e ao prof. Dr.-Ing Edjair de Souza Mota por acreditarem no meu

potencial e pela oportunidade de aprendizado que me proporcionaram

durante o projeto.

Agradeço aos amigos do laboratório, Regeane Aguiar e Gabriel

Leitão, pelo apoio e colaboração no decorrer do projeto.

Aos meus amigos, César Rocha, Mauro Freitas e Claudio Marques

que me ajudaram direta ou indiretamente ao longo do curso.

Agradeço a minha família e amigos pelo apoio e conselhos nos

momentos mais difíceis, em especial aos meus pais, Francisco e Graça

Brito, e minha noiva Deborah por todo o amor e carinho que me deram.

Agradeço a Deus por nunca me abandonar mesmo que eu muitas

vezes descuide do Caminho.


RESUMO

Um dos principais componentes da tecnologia de voz sobre protocolo de


Internet (VoIP – Voz sobre IP) são os algoritmos de codificação da fala,
conhecidos como codecs. Os aplicativos VoIP oferecem uma grande variedade de
codecs e alguns deles apresentam melhor qualidade do que outros. A ITU-T
(International Telecommunication Union – Telecommunication Standardization
Sector), órgão subordinado à ONU, responsável pela padronização dos meios de
telecomunicações entre os países membros, entre eles o Brasil, especifica um
método objetivo para avaliação quantitativa de codecs, conhecido como PESQ
(Perceptual Evaluation of Speech Quality), definido na Recomendação ITU-T
P.862. Complementarmente, a ITU-T estabelece o Modelo E, um método de
avaliação de uma chamada VoIP completa, não apenas do codec, que utiliza
parâmetros derivados a partir do PESQ.
Tais parâmetros são o fator de degradação da fala a 0% de perda de
pacotes (Ie) e o fator de robustez do codec à perda de pacotes (Bpl). Para alguns
codecs, tais como o G.711, GSM e G.726, seus valores de Ie e Bpl já são
conhecidos e estão disponíveis na Recomendação ITU-T G.113. Contudo, vários
codecs de código aberto desenvolvidos nos últimos cinco anos ainda não
possuem esses parâmetros determinados.
Esse fato impede um diagnóstico completo a respeito da qualidade de
sistemas VoIP que utilizam tais codecs de código aberto. O presente trabalho
tem por finalidade derivar o valor do parâmetro Ie para os seguintes codecs de
código aberto: iLBC (15,3 kbps) e Speex, disponíveis em vários aplicativos VoIP.
O ponto de partida será a implementação do procedimento de derivação desses
parâmetros definido pela Recomendação ITU-T P.834.
Os resultados obtidos vêm complementar uma linha de trabalho do Grupo
de Redes de Computadores e Multimídia (GRCM/UFAM) no sentido de avaliação
da qualidade da fala em ambientes VoIP. Ao mesmo tempo, abre caminho para
uma compreensão quantitativa para avaliação de codecs de código aberto que
venham a ser desenvolvidos futuramente.

Palavras-chaves: VoIP, Codec, Qualidade da Fala, Medição


ABSTRACT

One of the main components of voice over Internet Protocol


technology (VoIP) is voice coding algorithm, known as codecs. VoIP
applications offer a great variety of codecs to choose and some of them
are better than others. The ITU-T (International Telecommunication
Union – Telecommunication Standardization Sector), agency subordinated
to UN responsible for the standardization of telecommunications among
the countries members, Brazil included, specifies an objective method for
quantitative evaluation of codecs, known as PESQ (Perceptual Evaluation
of Speech Quality), defined in ITU-T Recommendation P.862. Moreover,
ITU-T states the E-Model, an evaluation method of a complete VoIP call,
not only of codec, that uses parameters derived from the PESQ.
Such parameters are the impairment factor at 0% of packet loss (Ie)
and the codec robustness factor to packet loss (Bpl). For some codecs,
such as the G.711, GSM and G.726, this values are already well known
and available in the Recommendation ITU-T G.113. However, several open
source codecs developed in the last five years do not have definitive
parameters yet.
This fact hinders the complete diagnosis regarding VoIP systems
quality that use such open source codecs. The present work aims to
determine the value of Ie parameter for the following open source codecs:
iLBC (15,3 kbps) and Speex, available in some VoIP applications. The
starting point will be the implementation of the derivation procedure of
these parameters defined by Recommendation ITU-T P.834.
The results will complement a work series of the Computer
Networks and Multimedia Research Group (GRCM/UFAM) towards of
voice quality evaluation in VoIP environments. At the same time, it opens
way for a quantitative understanding for evaluation of open source codecs
that comes to be developed in the future.

Keywords: VoIP, Codec, Speech Quality, Measurement


Lista de Figuras

Figura 1: Rede VoIP...................................................................................18

Figura 2: Fluxo de dados na rede VoIP.....................................................20

Figura 3: Sinal Analógico ( Voz )...............................................................24

Figura 4: Instantes de amostragem..........................................................24

Figura 5: Processo de Quantificação.........................................................25

Figura 6: Ambiente utilizado.....................................................................47

Figura 7: Fluxograma do funcionamento do PESQ...................................49

Figura 8: Gráfico da reta de erro do ambiente.........................................52


Lista de Tabelas

Tabela 1: Taxa de transmissão dos principais codecs utilizados em

chamadas VoIP...........................................................................................33

Tabela 2: A escala de pontuação MOS......................................................36

Tabela 3: Relação entre Fator R e MOS....................................................39

Tabela 4: Codecs utilizados cujo valor de Ie é conhecido.........................51

Tabela 5: Tabela do Fator de Perda (Ie) dos novos codecs........................53


Sumário

1INTRODUÇÃO.........................................................................................12

1.1 Objetivos do trabalho.......................................................................14

1.1.1 Objetivo geral............................................................................14

1.1.2 Objetivos específicos.................................................................14

1.2 Estrutura do trabalho......................................................................15

2 TECNOLOGIA VOIP..............................................................................17

2.1 Como funciona a tecnologia VoIP....................................................18

2.2 Qualidade de uma chamada VoIP................................................20

3 PRINCIPAIS TIPOS DE CODECS..........................................................22

3.1 Princípio de codificação de sinais....................................................23

3.1.1 Amostragem..............................................................................23

3.1.2 Quantificação............................................................................25

3.2 Tipos de Codecs...............................................................................26

3.2.1 Forma de Onda..........................................................................27

3.2.2 Paramétricos.............................................................................29

3.2.3 Híbridos.....................................................................................31

4 MÉTODOS DE AVALIAÇÃO DA QUALIDADE DA FALA.........................34

4.1 Metódos subjetivos..........................................................................34

4.1.1 MOS.........................................................................................35

4.2 Métodos Objetivos...........................................................................37

4.2.1 Métodos Perceptuais.................................................................37

4.2.1.1 PESQ......................................................................................37

4.3 Métodos Computacionais.................................................................38


4.3.1 Modelo E..................................................................................39

4.4 Contexto da Pesquisa.......................................................................41

5 METODOLOGIA......................................................................................43

6 Descrição dos experimentos.................................................................45

6.1 Descrição das ferramentas..............................................................45

6.2 Descrição do Ambiente....................................................................46

7 RESULTADOS OBTIDOS E ANÁLISES...................................................51

8 CONCLUSÃO..........................................................................................55

9 REFERÊNCIAS BIBLIOGRÁFICAS.........................................................57

10 APÊNDICE A – CÓDIGOS FONTE UTILIZADOS..................................60


12

1 INTRODUÇÃO

A Internet vem experimentando um crescimento considerável nos

últimos anos, devido à sua capacidade de compartilhamento dos mais diversos

tipos de dados (texto, áudio, vídeo) e também por ter se tornado um meio de

comunicação global de baixo custo se comparado a outros meios de

comunicação, como por exemplo a telefonia convencional. Isso despertou o

interesse para o desenvolvimento de novas tecnologias de comunicação de voz

que possam aproveitar a infra-estrutura da Internet e a sua flexibilidade na

transmissão de dados.

No processo de envio de pacotes de voz em um sistema VoIP (Voz sobre

IP), os codecs são programas responsáveis pela codificação/decodificação do

sinal analógico de voz em um sinal digital. Durante esse processo, os codecs

realizam a compressão dos bits que representam o sinal de voz.

O tempo de processamento dessa tarefa e a quantidade de perda que

efetivamente afeta a percepção do sistema auditivo humano determina a

qualidade de um codec. Além da função básica de codificação e compressão,

os codecs mais modernos implementam outras funcionalidades que visam

atenuar os efeitos das degradações inseridas pelo sistema de comunicação.

Por exemplo, vários codecs costumam implementar algum mecanismo de

detecção de silêncio (VAD) e transmissão descontínua da fala (DTX), evitando

o envio desnecessário de pacotes quando o usuário está em silêncio. Outro

mecanismo comumente implementado por codecs é a compensação de perdas


13

de pacotes (PLC), pela qual tenta-se amenizar a perda de um ou mais pacotes

que não chegam a tempo de serem reproduzidos no receptor.

A depender da técnica empregada (substituição por silêncio,

substituição pelo último pacote tocado, interpolação, etc.), da quantidade de

pacotes perdidos em seqüência e da duração do(s) pacote(s) perdido(s),

algumas técnicas de PLC mostram-se mais eficientes que outras,

determinando um melhor ou pior desempenho do codec.

Por um lado, tais funcionalidades contribuem para a oferta de um

serviço VoIP de melhor qualidade para o usuário final. Por outro, a tarefa de

medição da qualidade da fala torna-se não trivial, devido às minúcias a serem

aferidas.

Entre os métodos de medição da qualidade da fala mais utilizados, temos

o Modelo E [8]. Seu procedimento de medição consiste na coleta de

parâmetros do fluxo de voz, os quais servem de entrada para um conjunto de

equações que devolvem como resultado o fator R, cujo valor varia de 0 (ruim)

a 100 (ótimo) como medida da qualidade da fala avaliada. Normalmente, o

resultado do Modelo E é convertido para a escala de 1 (péssimo) a 5

(excelente) do MOS (Mean Opinion Score) [15].

Dois dos parâmetros utilizados no cômputo do Modelo E refletem

diretamente a qualidade do codec utilizado na fala avaliada: o fator de

degradação a 0% de perda de pacotes (Ie) e do fator de robustez à perda de

pacotes (Bpl). A Recomendação ITU-T G.113 [9] apresenta valores desses

parâmetros para apenas alguns codecs (G.711, GSM, G.726 e G.729), de forma

que não é possível medir a qualidade da fala segundo o Modelo E para os

codecs que não estão listados nessa recomendação (Speex, AMR e iLBC).
14

A obtenção dos valores de Ie e Bpl para novos codecs é realizada de

maneira off-line, antes do momento da medição do fluxo de voz baseado no

codec estudado. A Recomendação ITU-T P.834 [11] especifica o procedimento

de obtenção do parâmetro Ie, mas não para o Bpl. Contudo, uma metodologia

para a derivação deste último pode ser facilmente definida com base na do

primeiro. Este trabalho tem por objetivo aplicar a metodologia definida na

Recomendação ITU-T P.834 para derivação do parâmetro de degradação da

fala a 0% de perda de pacotes (Ie) dos codecs iLBC (15,2 kbps) e Speex

(diversas taxas). A definição e execução de uma metodologia para a derivação

de Bpl estão fora do escopo, no momento, ficando reservados para a

continuação deste trabalho.

1.1 Objetivos do trabalho

1.1.1 Objetivo geral

O objetivo deste trabalho é implementar a metodologia descrita na

Recomendação ITU-T P.834 [11] e utilizá-la para derivar parâmetros (fator Ie)

de qualidade da fala dos seguintes codecs de código aberto: Speex e iLBC.

1.1.2 Objetivos específicos

● Investigar mecanismos alternativos para a adequação da telefonia IP à

comunicação através de dispositivos móveis;


15

● Conhecer as características e o funcionamento dos algoritmos de

codificação/decodificação Speex e o iLBC;

● Replicar a metodologia de derivação do fator de degradação a 0% de

perda de pacotes (Ie) descrito na Recomendação ITU-T P.834;

● Validar a replicação utilizando codecs já conhecidos, tais como G.711,

GSM, G.726 e iLBC (13,3 kbps) ;

● Derivar os parâmetros de qualidade, fator Ie, dos codecs de código

aberto.

1.2 Estrutura do trabalho

A seguir é apresentada uma síntese dos capítulos constantes deste

trabalho:

O capítulo de introdução apresenta uma visão geral do presente

trabalho, o contexto em que está inserido, sua importância e objetivo.

O segundo capítulo define a tecnologia VoIP, seu funcionamento, suas

vantagens e desvantagens.

O terceiro capítulo fala dos principais tipos de codecs e suas principais

características.

O quarto capítulo trata dos principais métodos de avaliação da qualidade

da fala.
16

O quinto capítulo descreve a metodologia utilizada para a realização do

trabalho proposto.

O sexto capítulo descreve o cenário de experimentos.

O sétimo capítulo apresenta os resultados obtidos através da

metodologia aplicada.

O oitavo capítulo apresenta as conclusões desse trabalho.


17

2 TECNOLOGIA VOIP

A tecnologia de Voz sobre IP consiste em converter a voz, que é um sinal

analógico, em um sinal digital; empilhar os dados assim gerados de voz e os

cabeçalhos dos protocolos de rede em um pacote, e enviá-lo através de uma

rede baseada na infra-estrutura IP.

Em outras palavras, o termo VoIP designa uma sequência de

mecanismos pelos quais é possível enviar a voz pela Internet. VoIP possui, de

modo destacado, os seguintes elementos:

a) terminal de usuário: responsável pela troca direta de

informações entre usuário e o sistema em questão. Na telefonia

tradicional, equivalem aos aparelhos de telefone;

b) gateway: permite a comunicação do sistema com outras

tecnologias;

c) proxies: têm como encargo, em boa parte, a localização do

usuário dentro da rede IP e são responsáveis pela seqüência da

sinalização. Na telefonia tradicional esse papel é desempenhado

pelas centrais telefônicas.


18

Figura 1: Rede VoIP

Esses elementos de uma rede VoIP podem ser observar com mais clareza

na representação feita na Figura 1.

2.1 Como funciona a tecnologia VoIP

Para fazer o transporte de voz através da Internet, ocorrem as seguintes

fases, as quais permitem a transmissão da voz até seu destino, tais fases são

descritas logo a seguir:

1. A conversão analógica/digital consiste no processo de se

representar um sinal analógico, por um conjunto finito de números a


19

uma taxa de amostragem constante. O objetivo de codificar a voz é o de

reduzir a taxa de transmissão de bits ao mesmo tempo em que mantém

o máximo possível da qualidade original do sinal.

2. Pequenas amostras geradas são encapsulados em pacotes que

possuem números de seqüência. Os pacotes são transportados pela

rede.

3. O buffer de reprodução (também conhecido como buffer de

compensação de jitter) ajuda na diminuição da percepção de perda do

sistema devido a grandes variações no atraso.

4. No decodificador a amostra dos sinais de voz são novamente

unificadas e decodificadas para a forma de um sinal analógico que será

reproduzido no receptor.

Todo esse processo de amostragem da voz, sua codificação e

encapsulamento, envio pela rede, armazenamento em um buffer,

decodificação e finalmente sua reprodução no receptor pode ser visto com

mais clareza na Figura 2.


20

Figura 2: Fluxo de dados na rede VoIP

2.2 Qualidade de uma chamada VoIP

São muitos os fatores que influenciam na qualidade de uma chamada

VoIP, como o atraso, a perda de pacotes e também perdas na codificação da

voz.

Tendo isso em mente torna-se cada vez mais necessário que a medição

da qualidade da voz em chamadas VoIP possa ser mais dinâmica para que,

com os dados de qualidade obtidos, os projetistas de ferramentas VoIP possam

desenvolver ainda mais essa tecnologia.

Pensando nisso este trabalho trata da aplicação da metodologia definida

na Recomendação ITU-T P.834 para a criação de um ambiente de testes que

tenha a finalidade de avaliar alguns parâmetros de qualidade da voz para que

os resultados das medições possam ser avaliados com mais rapidez e


21

confiança, visto que métodos como os definidos nas Recomendações ITU-T

P.800 [15] e P.830 [16] são longos, demorados e que demandam muito dinheiro

para serem realizados.

Esse ambiente se baseia em apenas um dos fatores que influenciam a

qualidade de uma chamda VoIP, que é a parte de codificação/decodificação da

voz. Essa parte da chamada é realizada pelos codificadores de voz, conhecidos

como codecs. Detalhados no próximo capítulo.


22

3 PRINCIPAIS TIPOS DE CODECS

Codecs são algoritmos responsáveis basicamente pela conversão da voz,

que é um sinal analógico, em um sinal digital, visando a menor perda de

qualidade possível. Mas os codecs não fazem apenas isso, eles também são

responsáveis por uma certa compressão da amostra criada para assim se

ocupar menos banda da rede IP, já que por essa rede não se passa apenas voz

mas também outros dados.

Existem alguns critérios para se definir quais são os melhores codecs,

dentre eles:

● Deseja-se uma melhor qualidade mesmo com grande ocupação de

banda;

● Pode-se perder um pouco da qualidade desde que a banda

utilizada não seja totalmente ocupada com os pacotes de voz;

● Necessita-se de muita qualidade de voz;

É claro que essa escolha depende do local onde o codec será aplicado e

qual a principal necessidade desse local, se visa uma melhor qualidade da fala

ou uma menor taxa de ocupação da rede.


23

3.1 Princípio de codificação de sinais

Para se entender como os codecs funcionam, primeiro precisa-se fazer

uma pequena introdução sobre a amostragem e a quantização de sinais.

A voz é um sinal analógico cuja faixa de frequência está entre 300 –

3400 Hz e para podermos transmiti-lo sobre a rede IP temos que transformá-

la em um sinal digital.

O primeiro passo é o processo de amostragem e o segundo é o de

quantização.

3.1.1 Amostragem

O primeiro passo para a conversão analógico-digital de sinais é a

amostragem. Esta pode ser descrita como a observação do valor do sinal

analógico de entrada a intervalos regulares de tempo.

Segundo o Teorema de Nyquist, é possível amostrar e reconstruir, sem

erro, um sinal com banda limitada W. A voz humana é limitada entre 300-3400

Hz, desde que a frequência de amostragem f seja superior a 2W. A

reconstrução sem distorção do sinal amostrado é obtida por filtragem passa-

baixa à frequência de corte f/2. Se f for inferior a 2W, o sinal reconstruído

sofrerá uma distorção por sobreposição dos espectros, a que se dá o nome de

aliasing.

Porém, na prática, é necessária uma frequência de amostragem superior

à mínima exigida pelo Teorema de Nyquist, justificado pela necessidade de


24

uma banda de guarda, devido a característica não ideal dos filtros passa-

baixa. Serão mostrados nas figuras 3 e 4 todo o processo de amostragem.

Figura 3: Sinal Analógico ( Voz )

Figura 4: Instantes de amostragem

Nesta parte do processo de amostragem o sinal analógico vai sendo

amostrado de acordo com o teorema de Nyquist, ou seja, já que é uma

amostra de voz será amostrado a 8 KHz, em torno de 0,125 miléssimos de

segundo.
25

3.1.2 Quantificação

A quantificação é o processo que vem logo em seguida à amostragem.

Nessa etapa, o sinal analógico da voz foi amostrado e já está discreto no

domínio do tempo, sendo necessária a sua conversão para valores discretos

também na amplitude.

Os níveis do sinal digitalizado são valores definidos e fixos, pois, caso

contrário, seriam necessários infinitos níveis de quantização para representar

perfeitamente o sinal analógico. Dessa forma, a cada amostra do sinal de voz é

atribuído um nível que mais se aproxima da amplitude. Este fato implica em

perda de precisão, pois as séries de dígitos não espelham toda a verdade

sobre o sinal de voz original.

Para um sinal de aúdio ter qualidade comparada a de uma chamada

telefônica, considera-se adequado utilizar-se 8 bits por amostra, mas para um

aúdio de alta fidelidade as amostras de aúdio devem ser digitalizadas usando-

se de 14 a 16 bits.

Figura 5: Processo de Quantificação


26

Na figura 5 mostra-se como funciona o processo de quantificação de um

sinal depois de que foi amostrado, note que acontece uma pequena distorção

do sinal devido à aproximação que ocorre com o processo. Essa distorção

recebe o nome de erro de quantificação.

3.2 Tipos de Codecs

É comum confundir o nome de um codec com o seu algoritmo de

codificação. O algoritmo de codificação é responsável apenas pela tarefa de

codificação/decodificação. O codec, além de implementar um algoritmo de

codificação, é responsável por outras tarefas tais como detecção de atividade

de voz (VAD) e compensação de perda de pacotes (PLC). Um mesmo codec

pode ser implementado com algoritmos de codificação diferentes, mas que

mantém as características definidas nas sua especificações.

Tem-se como exemplo de um mesmo codec com algoritmos diferentes o

caso do G.723 e também o caso contrário, como codecs diferentes utilizando-

se do mesmo algoritmo de codificação como é o caso do G.726 e do G.727.

Para um melhor entendimento do funcionamento dos codecs, eles foram

agrupados em algumas classes, de acordo com suas semelhanças no processo

de digitalização e compressão da voz. Seguindo essas semelhanças os codecs

são classificados em [3, 5, 6]:


27

● Forma de Onda;

● Paramétricos;

● Híbridos.

3.2.1 Forma de Onda

Como o nome já diz são codecs que transformam a voz em sinais digitais

utilizando a forma de sua onda. O algoritmo mais conhecido que implementa

essa característica é o PCM (Pulse Code Modulation) que é definido na

especificação ITU-T G.711 [3].

O princípio de funcionamento desse tipo de codec se baseia na

amostragem da voz, esse processo é feito observando-se as variações na

amplitude da onda durante uma espaço de tempo curto cerca de 0,125 ms e

na sua conversão em sinais digitais. Esses codecs apresentam uma boa

qualidade da voz mas tem uma alta taxa de transmissão, no caso do PCM

(G.711) 64 kbps. Os principais representantes desse tipo de classificação são:

a) PCM (Pulse Code Modulation)

O primeiro passo consiste em colher amostras do sinal analógico. O

número mínimo de amostras é definido pelo teorema de Nyquist e deve ser


28

maior do que duas vezes a maior freqüência do sinal que está sendo

digitalizado [5, 6]. Em seguida as amostras colhidas devem ser quantizadas.

Nesta etapa existirá um número finito de níveis que serão utilizados para a

medida de cada uma das amostras.

Observe que algumas amostras possuem valores intermediários entre os

níveis de quantização. Esse é um erro inserido pelo processo de quantização,

denominado de Erro de Quantização. Quanto maior for o número de níveis de

quantização, menor será esse erro. Este erro pode ser reduzido, mas não

eliminado. Para que o erro de quantização seja nulo, são necessários infinitos

níveis de quantização (seria necessário um sinal analógico).

Durante a quantização algumas amostras serão iguais a um dos níveis

usados para a medida mas poderão existir amostras que possuem um valor

entre dois níveis consecutivos de quantização. O sistema deverá, neste caso,

aproximar o valor desta amostra para um destes dois valores, resultando em

um valor superior ao valor real ou inferior ao valor real. Nos dois casos

aparecerá um erro, denominado erro de quantização. Este erro será menor

quanto maior for o número de níveis de quantização.

O valor lido é armazenado em uma variável que pode ser de 8, 16, 20 ou

24 bits. Quanto maior a taxa de amostragem e quanto maior o tamanho da

variável, mais fiel será a versão digital do sinal capturado, porém mais espaço

será necessário para armazenar o sinal digital, pois mais números digitais

serão gerados.
29

b) ADPCM (Adaptative Pulse Code Modulation)

É uma forma de modulação por codificação de pulsos (PCM) que produz

uma taxa de transmissão inferior ao PCM padrão, isto por que o ADPCM só

amostra as diferenças entre as amostras e ajusta a escala de codificação

dinamicamente, acomodando as pequenas e grandes diferenças [5, 6]. O

ADPCM é utilizado para digitalizar sinais de voz e dados para que esses sejam

transmitidos simultaneamente sobre uma rede digital, rede está utilizada

normalmente para a transmissão de apenas um destes sinais.

A taxa de transmissão do ADPCM obtida é de 32 kbps, isto é a metade

da taxa do PCM padrão.

Temos como representantes desse tipo de algoritmo de codificação os

codecs G.726 e G.727.

3.2.2 Paramétricos

Ao invés de tentar expressar digitalmente a forma do sinal da voz, estes

codecs consideram apenas as suas principais características (parâmetros) [3].

Consiste no modelamento do processo de produção da voz, de forma que

possa ser implementado a um custo computacional apropriado para a sua

aplicação. Porém o mecanismo de produção de voz não é tão simples assim,

por isso, modelamentos, aproximações e simplificações tornam o processo de

codificação paramétrico inferior ao de forma de onda, em relação à qualidade


30

da voz. Devido a certas perdas de característica da voz, dando-a um efeito de

voz metálica.

Mas esses codecs possuem uma grande vantagem em relação aos de

forma de onda no quesito taxa de transmissão. Pois eles apresentam uma

considerável redução nessa taxa, que em certas aplicações compensa o efeito

da voz metálica.

Temos como principal representante do codecs paramétricos o LPC

(Linear Predictive Coding).

Os codecs LPC utilizam a mesma predição do ADPCM, só que em vez de

transmitir a diferença entre amostras subsequentes, o LPC transmite algumas

características, é como se fosse criada uma partitura musical da voz.

O sintetizador na recepção é um filtro preditor que faz o que os músicos

realizam durante seus shows, ele lê os parâmetros e depois o toca. Este

processo simula as ações dos pulmões e acordes vocais para os níveis de

freqüência em função dos parâmetros analisados na transmissão. Esta técnica

pode acrescentar algum zumbido na voz sintetizada em decorrência da

diferença de fase entre as componentes harmônicas.

Temos como representante desse tipo de codec o 1015. Esse codec tem

como principal característica a baixa taxa de transmissão que fica em torno de

2,4 kbps, devido a uma taxa tão baixa ele tem uma baixa qualidade de voz, é

como se fosse uma voz metalizada.


31

3.2.3 Híbridos

Os codecs híbridos combinam características dos outros dois tipos

citados anteriormente durante o processo de codificação/compressão do sinal

de voz [3, 5, 6]. Dessa maneira eles conseguem extrair as melhores vantagens

dos tipos anteriores, aliando boa qualidade da voz com baixas taxas de

transmissão.

A grande maioria dos codecs atualmente pertencem a esse tipo de

categoria, podemos citar alguns codificadores definidos pela ITU-T como por

exemplo:

a)G.728, cujo algoritmo é o Low Delay – Code Excited Linear

Prediction (LD – CELP);

b) G.729A, cujo algoritmo é o Conjugate Structure – Algebraic Code

Excited Linear Prediction (CS – ACELP);

c) G.723.1, que possui duas implementações, uma utilizando o algoritmo

Algebraic Code Excited linear Prediction (ACELP) e outra utilizando o

Multi-Pulse – Maximum Likelihood Quantizer (MP – MLQ);

Como pode-se perceber a grande maioria dos codecs híbridos são

baseados no algoritmo CELP. Esse algoritmo escolhe a melhor combinação de

um conjunto de códigos e sinais aleatórios para representar cada amostra de

voz. Apenas o índice do registro destes códigos é transmitido representando


32

as amostras do sinal de excitação na recepção. O sinal é sintetizado ainda no

transmissor e as amostras de voz regeneradas são comparadas com as

amostras do sinal original, obtém-se então a diferença. Esta diferença passa

por filtros que amplificam as freqüências mais significativas e atenuam as

menos significativas. Este padrão é utilizado no sistema TDMA (US-136)

comprimindo a informação de voz à taxa de 8 kbps. O padrão celular digital

CDMA (IS-95) utiliza o QCELP (Qualcomm Code Excited Linear Prediction)

com uma taxa de 8 a 14,4 kbps. O Vector-sum CELP (VSELP) é uma variação

do CELP usado no sistema D-AMPS (IS-54) aumentando a capacidade do

AMPS em 3 vezes com um codificador de voz de 8 kbps.

Outros exemplos de codecs híbridos são os da família GSM (Global Systems

for Mobile Communications), especificados pelo ETSI (European

Telcommunications Standards Institute):

a) GSM 06.10 Full-rate (FR);

b) GSM 06.20 Half-rate (HR);

c) GSM 06.60 Enhanced Full-rate (EFR);

Desses, apenas o GSM FR trabalha com algoritmo de código aberto, o

Regular Pulse Excitation – Long Term Prediction (RPE – LTP).

Podemos ver alguns dos principais codecs e suas respectivas taxas de

transmissões na Tabela 1.
33

Tabela 1: Taxa de transmissão dos principais codecs utilizados em chamadas VoIP

Algoritmo Codec Taxa de Transmissão de


Bits

PCM G.711 64 kbit/s

ADPCM G.726, G.727 32 kbit/s

LD-CELP G.728 16 kbit/s

CS-ACELP G.729 8 kbit/s

RPE-LTP GSM FR 13 kbit/s

VSELP GSM HR 5.6 kbit/s

ACELP GSM EFR 12.2 kbit/s

MP-MLQ G.723.1 6.3 kbit/s

LPC iLBC 13.3 kbit/s

LPC iLBC 15.2 kbit/s

CELP SpeexNarrow 11 kbit/s

CELP SpeexNarrow 15 kbit/s

CELP SpeexNarrow 18.2 kbit/s

CELP SpeexNarrow 24.6 kbit/s

LPC-10 1015 2.4 kbit/s


34

4 MÉTODOS DE AVALIAÇÃO DA QUALIDADE DA FALA

Podemos dividir os métodos de avaliação da qualidade da fala em dois

tipos [3]:

● Subjetivos – avaliação da voz feita com a presença de pessoas, sob

condições controladas, onde cada pessoa ouve trechos de conversa

previamente gravados;

● Objetivos – pretende estimar o resultado dado por um grupo de

ouvintes sem consultá-los.

A seguir, ambos os tipos são detalhados e os métodos mais utilizados na

literatura são explicados.

4.1 Metódos subjetivos

Os métodos subjetivos foram os primeiros a serem definidos para a

avaliação da qualidade da fala na telefonia. Os mais utilizados desses métodos

estão definidos nas recomendações ITU-T P.800 e P.830 [15, 16].

Basicamente, durante os testes subjetivos, várias pessoas são recrutadas

para ouvir alguns trechos de conversa, sob condições controladas, e avaliá-los

de acordo com um procedimento de classificação definido. A Recomendação

ITU-T P.800 define os seguintes procedimentos de avaliação:


35

● Classificação por categoria absoluta (ACR), cujo resultado é a

pontuação de opinião média (MOS);

● Classificação por categoria de degradação (DCR), cujo resultado é

a pontuação de opinião média de degradação (DMOS);

● Classificação de categoria de comparação (CCR), cujo resultado é

a pontuação de opinião média de comparação (CMOS).

Dentre todos os métodos subjetivos, o mais utilizado para a avaliação da

qualidade da fala em transmissões VoIP é o MOS.

4.1.1 MOS

O MOS (Mean Opinion Score) é um método subjetivo de avaliação de

qualidade da fala que adota uma série de regras para a sua realização[16].

● Primeiro são selecionadas algumas pessoas que não tenham

conhecimento nenhum do ramo de telefonia;

● Esse número de pessoas deve ser suficientemente grande para

obter uma baixa margem de erro estatístico;

● Os ouvintes são então instruídos a respeito da metodologia dos

testes e não podem ter conhecimento prévio a respeito das amostras

utilizadas;

● As amostras utilizadas devem ser diversificadas em sexo, idade e

sotaque;
36

● As condições dos experimentos devem ser controladas (volume

físico da sala de testes, isolamento de ruídos externo, condições do

equipamento utilizado, entre outros).

Pode-se observar que esse teste é caro, demorado e muito pouco

repetível. Além do que muito dos ouvintes selecionados não usam o mesmo

critério de interpretação, a equipe responsável pela aplicação dos testes deve

ter cuidado na forma como as perguntas sobre a qualidade da voz são

propostas.

Esses testes são impraticáveis de se realizar com muita frequência, o

que atrapalha no caso de se estar desenvolvendo uma nova ferramenta que

precisa de testes frequentes.

Mas, mesmo com essas desvantagens, o MOS é a medida de referência

para os testes de avaliação objetivos, pois espelha diretamente a opinião dos

usuários finais de um sistema de telefonia.

As pessoas atribuem notas de 1 a 5 de acordo com o que acham da

qualidade da fala conforme Tabela 2. O resultado da pontuação MOS será a

média aritmética de todas as avaliações individuais. Chamadas com pontuação

MOS inferior a 3,6 são consideradas inaceitáveis [8].

Tabela 2: A escala de pontuação MOS

MOS Qualidade
5 Excelente
4 Boa
3 Aceitável
2 Pobre
1 Má
37

4.2 Métodos Objetivos

Esses métodos buscam estimar o resultado dado por um grupo de

ouvintes sem, no entanto, consultá-los. Podem ser subdivididos em duas

classes [3]:

● Perceptuais;

● Computacionais.

4.2.1 Métodos Perceptuais

Utilizam o conhecimento do funcionamento do sistema auditivo humano

para compor uma medida de distorção da voz, através da comparação de um

sinal de referência com um sinal degradado. As distorções mais significativas

são computadas com um maior peso do que aquelas que são quase

imperceptíveis.

4.2.1.1 PESQ

O PESQ (Perceptual Evaluation of Speech Quality – avaliação perceptual

da qualidade da fala), definido na Recomendação ITU-T P.862 [12], funciona

em três fases: inicialização dos sinais, modelamento perceptual e

modelamento cognitivo.

Durante a fase de inicialização, uma amostra gravada de voz (sinal de

referência) é submetida ao sistema de comunicação a ser inspecionado

(telefonia IP). O sinal de saída do sistema (sinal degradado) é gravado e


38

sincronizado no domínio do tempo com o sinal de entrada antes de serem

comparados, para evitar erros na comparação devido ao atraso.

No modelamento perceptual, os sinais são transformados do domínio do

tempo para um domínio bidimensional de tempo-frequência, dividindo-se as

amostras em vários frames de certa duração. A escala de frequência é

convertida da escala Hertz para a escala Bark, que representa melhor como o

ouvido humano percebe níveis de áudio.

A escala de intensidade é transformada numa escala de sonoridade, que

representa melhor a sensibilidade sonora humana. Isso é feito porque o

sistema auditivo humano percebe distorções de acordo com a sonoridade do

sinal de aúdio na qual o ruído ocorre.

O resultado dessa fase de modelamento perceptual é conhecido também

como uma representação matemática interna dos sinais de entrada e saída.

A última fase, o modelamento cognitivo, é onde ocorre efetivamente a

comparação entre os sinais de entrada e saída e uma pontuação é gerada.

Esse método terá grande importância no decorrer desse projeto, pois é

com base nos resultados obtidos utilizando-se esse método que será feita a

derivação dos parâmetros da qualidade da voz dos codecs de código aberto.

4.3 Métodos Computacionais

Ao contrário dos métodos perceptuais, os métodos computacionais para

avaliação da qualidade da fala não comparam diretamente um sinal degradado

com um sinal de referência. Eles se baseiam em medições de parâmetros


39

sobre a rede de transmissão e em parâmetros pré-definidos para estimar a

qualidade da fala tal como seria percebida por usuários.

As vantagens desses métodos residem nas facilidades de sua

implementação, na possibilidade de serem utilizados em medições intrusivas

ou não-intrusivas, em tempo real ou não, e o conhecimento das causas de

eventual baixa de qualidade, através do conhecimento dos valores dos

parâmetros computados.

4.3.1 Modelo E

O Modelo E, especificado na Recomendação ITU-T G.107 [8] permite

que a qualidade de uma conversa seja avaliada como ela seria percebida por

um usuário. O Modelo E associa a cada fator de degradação na qualidade de

voz percebida a um valor chamado “fator de prejuízo”. Os fatores de prejuízo

são então processados pelo Modelo E, que fornece como saída a pontuação R,

que varia entre 0 e 100. Mesmo sendo a escala do fator de R nominal de 0-

100, valores abaixo de 70 é geralmente inaceitável.

A Tabela 3 apresenta a correspondência entre as escalas R e MOS:

Tabela 3: Relação entre Fator R e MOS

Opinião do usuário Fator R Pontuação MOS


Muito satisfeito 90 – 100 4,3 – 4,5
Satisfeito 80 – 90 4,0 – 4,3
Alguns usuários satisfeitos 70 – 80 3,6 – 4,0
Muitos usuários descontentes 60 – 70 3,1 – 3,6
Quase todos os usuários descontentes 50 – 60 2,6 – 3,1
Não recomendado 0 – 50 1,0 – 2,6
40

O fator R tem a seguinte composição, segundo [8]:

R=Ro−Is−Id−Ie , eff  A

Onde:

Ro representa a relação sinal-ruído (SNR) básica;

Is representa as perdas simultâneas ao sinal de voz;

Id representa as perdas associadas ao atraso fim a fim;

Ie,eff representa as perdas associadas ao equipamento utizado;

A é o fator de expectativa, que corresponde ao grau de tolerância

dos usuários pela comodidade de uso de certa tecnologia.

Segundo a Recomendação ITU-T G.107 [8], os fatores Rd, Is e A são

reduzidos a uma constante numérica, e o fator Id é reduzido a uma função

exclusiva do atraso fim a fim, cujo valor pode ser medido na rede. Entretanto,

o valor de Ie,eff não depende apenas da taxa de perda de pacotes (Ppl),

também medida na rede avaliada, mas também de outros dois parâmetros

cujos valores dependem unicamente do codec utilizado e são determinados

por procedimentos off-line.

O valor de Ie,eff é obtido pela seguinte expressão:

Ie , eff =Ie95−Ie x
[ Ppl
PplBpl ]
onde Ppl é a taxa de perda de pacotes, Ie é o fator de degradação devida

à compensação do codec a 0% de perda, e Bpl é o fator de robustez do codec à

perda de pacotes.
41

Os valores de Bpl e Ie podem ser obtidos na Recomendação ITU-T G.113

e esses valores podem ser derivados através de duas Recomendações ITU-T,

uma delas é a Recomendação ITU-T P.833 que deriva esses parâmetros

através do MOS e a outra é a Recomendação ITU-T P.834 que deriva os

parâmetros através do modelo perceptual PESQ. Apesar das vantagens do

Modelo E, é importante enfatizar a sua complexidade, pois, apesar do fator R

demonstrar, à primeira vista, uma simplicidade, cada parâmetro que o compõe

é formado por vários outros parâmetros, exigindo, portanto, um estudo

detalhado para ser usado corretamente.

No presente trabalho, o fator de degradação à compressão do codec a

0% de perda de pacotes (Ie) será derivado para codecs de código aberto não

relacionados na Recomendação ITU-T G.113.

4.4 Contexto da Pesquisa

O presente trabalho insere-se no contexto de uma série de estudos do

Grupo de Redes de Computadores e Multimídia da UFAM (GRCM/UFAM)

sobre qualidade da fala em transmissão VoIP.

Dentre esses estudos, tem-se a dissertação de mestrado de Carvalho [3],

que propõe uma implementação do Modelo E em código aberto e o trabalho

de PIBIC de Aguiar [20], que a executou.

Esses trabalhos serviram de base para outros estudos em VoIP, tal como

segurança [22, 23] e gerenciamento de redes [21], em parceria com a

Universidade Federal do Ceará (UFC).


42

Contudo, a avaliação da ferramenta de medição de qualidade limita-se

aos codecs relacionados no Apêndice I da Recomendação ITU-T G.113 [9].

Essa referência apresenta em uma tabela os valores dos parâmetros Ie e Bpl

apenas para os codecs G.711, GSM e G.729, de forma que, à medida que os

estudos do GRCM/UFAM evoluiam, sentiu-se a necessidade de ampliar essa

tabela.

Por outro lado, a Recomendação ITU-T G.113 não é atualizada desde

2002 e ainda não foi publicado na literatura nenhum trabalho nesse sentido.

Uma outra abordagem do problema de quantificação da distorção

inserida pelos codecs na qualidade da fala é adotada por L. Sun em [17, 18,

19]. Em vez de utilizar os parâmetros Ie e Bpl nas Recomendações ITU-T

G.107 [8] e G.113 [9], a autora modela tal distorção utilizando curvas

logarítmicas.

Dessa forma, este trabalho vem completar parte da lacuna deixada pela

Recomendação ITU-T G.113, através da implementação da Recomendação

ITU-T P.834 [11], a qual especifica em linhas gerais um método de derivação

dos parâmetros Ie e Bpl a partir do método PESQ [12]. Não se optou por

seguir a abordagem de L. Sun em [17], porque seus resultados ainda não

foram confrontados com os das Recomendações ITU-T.


43

5 METODOLOGIA

Aqui apresentaremos brevemente a metodologia definida na

Recomendação ITU-T P.834 [11]. Basicamente, ela consiste em realizar

experimentos com codecs cujo valor de Ie é conhecido, a fim de retirar o viés

(bias) do ambiente de experimentação, e por fim determinar o valor de Ie do

codec desejado.

O valor de Ie é determinado de forma reversa ao processo de

determinação da qualidade da fala: utiliza-se um método de medição diferente

do Modelo E para determinar a qualidade da fala das amostras; converte-se o

valor obtido para a escala do fator R; aplica-se as equações do Modelo E para

encontrar o parâmetro desconhecido, nesse caso, o fator Ie.

É importante notar que quando a taxa de perda de pacotes é zero

(Ppl=0), o fator Bpl não influencia na qualidade da fala, de forma que, nessas

condições, o parâmetro Ie é realmente o único fator desconhecido. A

Recomendação ITU-T P.834 estabelece os seguintes passos para a

determinação do fator Ie:

1. Determinação dos valores brutos do fator R para codecs

conhecidos. Neste passo, vários arquivos de voz são codificados com

codecs conhecidos (i.e. cujos valores de Ie e Bpl são conhecidos).

2. Cálculo da linha de interpolação. Realizando uma regressão linear

entre os valores teóricos de Ie com os valores obtidos no passo anterior


44

(valores brutos), determina-se uma reta de interpolação, que será

utilizada no próximo passo para ajustar o valor de Ie do codec sob teste.

3. Determinação do valor definitivo de Ie para o codec sob teste.

Seguindo o mesmo procedimento do passo 1 para o codec cujo valor de

Ie deseja-se determinar, calcula-se o valor de Ie bruto (K). Em seguida,

usando a linha de interpolação do passo 2, determina-se o valor

definitivo de Ie.

4. Teste de aditividade. Tem a finalidade de verificar se vários processos

de codificação/decodificação, realizados em seqüência, utilizando-se o

codec estudado, têm efeito aditivo com relação ao fator Ie. Esse efeito é

verificado quando uma amostra que foi gravada pelo ambiente, é

inserida para uma nova avaliação. E depois se verifica a relação entre o

valor do fator Ie com o número de repetições do processo. Este passo

não foi realizado neste trabalho pois não influencia no valor de Ie.
45

6 Descrição dos experimentos

6.1 Descrição das ferramentas

Para se realizar este trabalho, será imprescindível a realização de

diversos experimentos, utilizando ferramentas e tecnologias, com a finalidade

de extrair os dados necessários para realizar a derivação dos parâmetros

necessários para a avaliação da qualidade de voz dos codecs de código aberto.

Para se criar o ambiente de testes foi feita uma pesquisa sobre cada

ferramenta que seria utilizada, visto que até então todas as medições que

foram realizadas para derivar os parâmetros de qualidade da fala dos codecs

foram feitas por empresas privadas. Todas as ferramentas utilizadas nesse

projeto são de código aberto, o que facilita a sua adaptação para

conseguirmos atingir nossos objetivos.

Abaixo é dada uma breve descrição de cada ferramenta:

● PWLib – É uma biblioteca que contém todas as funções essenciais

para uma chamada VoIP, que será utilizada por todas as outras

ferramentas;

● Rezound – Uma ferramenta necessária para converter as amostras

fornecidas no Suplemento 23 para as Recomendações ITU-T da série P,

que estavam em um formato .src que não permitia a utilização das

ferramentas de código aberto e com essa ferramenta foi convertida para

o formato .wav;
46

● OpenH323 – Essa biblioteca contém a base para o protocolo que

será utilizada nesses comunicações, esse protocolo é o H323;

● OpenAM – Essa ferramenta é conhecida como a secretaria

eletrônica baseada em H323, e será ela quem irá propiciar a gravação

do sinal degradado no receptor;

● CallGen – Essa é uma ferramenta que gera chamadas no protocolo

H323, gera fluxo de sinalização, mas não gera por si só fluxo de mídia.

Para tanto, é necessário especificar um arquivo no formato .wav, o qual

fornecerá a mídia a ser empacotada pelo protocolo RTP. É com ele que

enviaremos o sinal original pela rede IP;

● PESQ – Essa ferramenta é definida pela Recomendação ITU-T

P.862, trata-se de uma versão acadêmica distribuída livremente para fins

não lucrativos no site da ITU-T, é com ela que geraremos o MOS que

será usado para a geração dos parâmetros da qualidade da voz;

6.2 Descrição do Ambiente

Para a criação das amostras foram utilizados dois computadores que

descreveremos a seguir.
47

Um dos computadores é um Intel Pentium 4, 3 GHz com 512 MB de

memória e com uma placa de rede de 10/100 Mbps, esse computador foi

utilizado com receptor das chamadas geradas pelo Callgen. Nele foram

instaladas as bibliotecas Pwlib e a OpenH323, também foi instalado nesse

computador receptor o programa para gravação das chamadas, o OpenAM.

Todas essas ferramentas são de código aberto e podem ser encontradas em

[14], a página oficial das principais ferramentas para o protocolo H323.

O computador emissor responsável pela geração das chamadas é um

Intel Celeron 1.8 GHz com 512 MB de memória e com uma placa de rede de

10/100 Mbps, esse computador como o emissor das chamadas com o Callgen,

esta ferramenta pode ser encontrada em [13]. Nele foram instaladas as

bibliotecas Pwlib e Openh323, como também foram instaladas as ferramentas

Rezound e PESQ.

Para que o nosso experimento não sofresse interferência da Rede da

UFAM, esses dois computadores foram colocados em uma rede ponto a ponto,

evitando competição com outros serviços da rede da UFAM. Esse ambiente

pode ser visualizado na Figura 6.

Figura 6: Ambiente utilizado


48

Com esse ambiente favorável, com perdas devido ao atraso e devido ao

não recebimento de pacotes controlado, pode-se atribuir o MOS para apenas o

codec retirando todas as outras razões de perda que poderiam prejudicar o

resultado da avaliação do codec.

No computador que envia as amostras para o computador receptor

como já foi dito, foram instalados a PWLib, o OpenH323 e o CallGen. Nesse

computador foi executado um script que gerava chamadas seguenciais com o

utilização do Callgen, com intervalos de 3 segundos entre chamadas.

Na máquina receptora foram instalados a PWLib, o OpenH323 e o

OpenAM. Com o auxílio do OpenAM foi possível a gravação do sinal

degradado com apenas as perdas atribuídas ao codec, visto que a amostra foi

criada em um ambiente que não inseria atrasos devido a rede.

Com o ambiente montado foi possível vencer a principal dificuldade que

existe nos métodos perceptuais, que é a acessibilidade ao sinal degradado.

Visto que as amostras são geradas em uma rede onde se tem total acesso ao

emissor e ao receptor.

O processo de envio de amostras pelo emissor e gravação do sinal

degradado pelo codec foi feito para cada uma das amostras fornecidas no

estojo da ITU-T que acompanha a Recomendação ITU-T P.834. São um total

392 amostras de voz na língua inglesa, sendo que são amostras divididas em

196 amostras do sexo masculino e 196 amostras do sexo feminino.

Para calibração do ambiente de testes (retirada do viés), a

Recomendação ITU-T P.834 define 14 condições de testes de referência,

baseadas nos codecs cujos valores de Ie e Bpl são conhecidos. Destas, pode-se

reproduzir onze, devido a problemas de propriedade intelectual do algoritmo


49

de alguns codecs. Para melhorar a precisão, acrescentamos como uma décima

segunda condição de teste o codec iLBC 13,33 kbps, cujo valor de Ie foi

determinado em [5], posteriormente à definição da metodologia P.834 [11].

Com o ambiente calibrado iniciou-se o experimento com os codecs que

se deseja obter os parâmetros de qualidade, que são o iLBC com taxa de

transmissão de 15,2 kbps e o Speex que tem várias derivações quanto a taxa

de transmissão, neste trabalho irão ser avaliados três tipos de Speex com as

taxas de transmissão de 11 kbps, 15 kbps, 18,2 kbps e 24,6 kbps.

Depois de todas as amostras criadas foi utilizado o método de avaliação

perceptual PESQ, para fazer o alinhamento no tempo das amostras originais e

degradadas. Em seguida uma comparação do sinal original com o sinal

degradado foi realizada, e como resultado da comparação uma nota MOS é

atribuída. Esse método de avaliação é apresentado na Figura 7.

Com o resultado gerado pelo PESQ para cada uma das amostras, entra-

se na fase de utilização das fórmulas definidas na Recomendação ITU-T P.834.

Figura 7: Fluxograma do funcionamento do PESQ


50

O primeiro passo para a obtenção dos parâmetros que serão usados no

Modelo E é usar a fórmula que nos fornece o valor de R do codec, a fórmula é

expressa a seguir:

−6
MOS=10.035 x RR x R−60 x100−R x 7 x 10

Depois de obtido o valor de R para o codec que está sendo avaliado,

entra-se na segunda fase de avaliação que é a obtenção do valor do parâmetro

K, que é dado pela subtração do valor do R do codec de mais alto valor de R

que é o G.711 pelo valor do R do codec sobre avaliação. A fórmula é expressa

a seguir:

K =R G.711−RCodec sobavaliação

A variável K é um resultado obtido pelo fato de termos um ambiente

controlado com 0% de perda de pacotes e isso faz com que se gere esse valor

de K bruto. Com o valor de K para o codec sobre avaliação e com o valor dos

Ie's dos codecs que já tem seus parâmetros de qualidade definidos pela ITU-T

o passo final é fazer uma regressão linear para se obter os fatores de erro do

ambiente onde estão se realizando os testes. Já de posse dos valores de erro,

pode-se obter o valor do Ie para o codec que está sendo submetido à avaliação

pela seguinte fórmula:

K = A x IeB

Onde o valor de A e B são, respectivamente, os coeficientes angular e

linear da reta de erro obtida através da regressão linear.


51

7 RESULTADOS OBTIDOS E ANÁLISES

Com o ambiente criado foram realizadas 1568 chamadas, sendo esse

número definido pela quantidade de amostras utilizadas, que foram 392 e o

número de repetições igual a quatro, para cada um dos codecs cujo fator Ie já

é conhecido. Essa chamadas foram realizadas com o auxílio do Callgen para

que o ambiente fosse calibrado, ou seja, para determinar o valor de erro

inserido pelo ambiente de modo que os valores das medições não fossem

afetadas.

Essa calibragem foi feita utilizando-se doze condições de teste onde o

fator Ie conhecido. As doze condições podem ser visualizadas na Tabela 4.

Tabela 4: Codecs utilizados cujo valor de Ie é conhecido

Codec Algoritmo Utilizado Taxa de transmissão Ie

G.711 PCM 64 kbit/s 0

G.726 ADPCM 16 kbit/s 50

G.726 ADPCM 24 kbit/s 25

G.726 ADPCM 32 kbit/s 7

G.726 x2 ADPCM 32 kbit/s 14

iLBC-13k3 LPC 13,3 kbit/s 12

GSM-FR RPE-LTP 13 kbit/s 20

GSM-FR x2 RPE-LTP 13 kbit/s 40

G729 CS-ACELP 8 kbit/s 10

G729 x2 CS-ACELP 8 kbit/s 20

G729 x3 CS-ACELP 8 kbit/s 30

G729A CS-ACELP 8 kbit/s 11


52

Com os resultados das medições realizadas utilizando-se o PESQ foi feito

o cálculo da regressão linear para obter o nível de erro inserido pelo ambiente

nas medições, como pode ser verificado no gráfico da Figura 8.

Figura 8: Gráfico da reta de erro do ambiente

Esse gráfico apresenta a relação entre o valores K e Ie, onde K pode ser

obtido da seguinte fórmula:

Ie=K −B/ A

Onde o valor de A que é o coeficiente angular foi de 15,6543 e o valor de

B que é o coeficiente linear foi de 0,52924. Com essa relação, foi possível
53

calibrar o ambiente de testes e passar para a fase de avaliação dos codecs

selecionados.

Depois da geração das amostras para os codecs de código aberto

selecionados, cada uma dessas amostras foi analisada pelo método PESQ que

obtém a nota MOS e com essa nota foi derivado o parâmetro de qualidade Ie.

Neste projeto foram avaliados dois codecs de código aberto: iLBC e

Speex. Como o Speex possui mais de uma taxa de transmissão, foi derivado o

parâmetro Ie para cada uma delas, conforme Tabela 5.

Tabela 5: Tabela do Fator de Perda (Ie) dos novos codecs

Codec Tamanho do Algoritmo Tipo de PLC Taxa de Ie


Pacote Utilizado transmissão

iLBC 20 ms LPC Nativo 15,2 kbit/s 4,5

SpeexNarrow 20 ms CELP Nativo 11 kbit/s 18

SpeexNarrow 20 ms CELP Nativo 15 kbit/s 6

SpeexNarrow 20 ms CELP Nativo 18,2 kbit/s 6

SpeexNarrow 20 ms CELP Nativo 24,6 kbit/s 0

Com esses resultados pode-se averiguar que, à medida que a taxa de

transmissão de um codec aumenta, a sua qualidade tende a aumentar

proporcionalmente, visto que quanto maior a quantidade de informações que

uma amostra digital carrega melhor será a sua qualidade quando esta for

decodificada em uma amostra analógica.


54

Pode-se notar também que quanto maior a taxa de transmissão para um

codec menor é seu valor de Ie. Isso se deve ao fato de que uma quantidade

maior de informações a respeito da amostra original permite reconstruí-la de

uma forma mais precisa, o que se traduz em uma pontuação MOS melhor e,

proporcionalmente, em uma valor de Ie mais baixo.

Os resultados apresentados na Tabela 5 são coerentes visto que os dados

obtidos obedecem a regra acima e os resultados obtidos através de testes com

codecs que já tem seus valores de Ie definidos comprovam que o ambiente

segue as normas da ITU-T.


55

8 CONCLUSÃO

O objetivo principal deste trabalho, foi o de derivar o parâmetro de

degradação da qualidade da fala a 0% de perda de pacotes (Ie) para os codecs

de código aberto: iLBC (15,3 kbps) e Speex. Tal parâmetro é essencial para o

cálculo da qualidade da fala segundo o Modelo E [8].

Para isso, foi aplicada a metodologia da Recomendação ITU-T P.834, que

define em linhas gerais o método para derivação do parâmetro Ie. Após alguns

ajustes, o ambiente que implementa o método de derivação foi calibrado e

validado, pois obtivemos os mesmos valores de Ie para os codecs relacionados

na Recomendação ITU-T G.113.

Por fim, os valores do parâmetro Ie obtidos para os codecs de código

aberto aqui avaliados mostraram-se coerentes com o fato de que taxas de

trasmissão pequenas implicam em alto grau de compressão dos pacotes de

voz, o que se reflete em valores maiores do parâmetro Ie.

Como o ambiente apresentado neste trabalho foi completamente

implementado em ferramentas de código aberto, poderá ser usado por

qualquer desenvolvedor de codecs para avaliar a qualidade de seu projeto e

ter como modificá-lo baseando nos resultados apresentados pelo ambiente que

seguem as normas definidas na Recomendação ITU-T P.834 e G.113.

Alguns trabalhos interessantes para o futuro seriam os seguintes:

A implementação de codecs definidos na Recomendação P.834 da ITU-T

para uma melhor calibração do ambiente.


56

A derivação do parâmetro de robustez a perda de pacotes em chamadas

VoIP (Bpl).

Submeter os resultados obtidos neste trabalho para apreciação da ITU-T

a fim de complementar o Apêndice I da Recomendação ITU-T G.113.


57

9 REFERÊNCIAS BIBLIOGRÁFICAS

[1] BRITO, T. B. ; CARVALHO, L. S. G. ; MOTA, E. S. ; SILVA JUNIOR, E. N. .


Avaliação da Qualidade de Codecs de Código Aberto para Transmissão VoIP.
In: V Workshop de Trabalhos de Iniciação Científica - WTIC 2008, 2008, Vila
Velha. Anais do V Workshop de Trabalhos de Iniciação Científica, 2008.

[2] REDDING, C. DeMINCO, N. LINDNER, J. Voice Quality Assessment of


Vocoders in Tandem Configuration. NTIA Report 01-386. 2001.

[3] CARVALHO, L.S.G. Implementação do Modelo E para Avaliação Objetiva da


Qualidade da Fala em Redes de Comunicação VoIP. Dissertação de Mestrado.
Universidade Federal do Amazonas. 2004.

[4] MARKOPOULOU, A. TOBAGI, F. KARAM, M.. Assessment of VoIP Quality


over Internet Backbones, in: Proceedings of Infocom 2002. New York, jun.
2002.

[5] RAAKE, A. Speech Quality of VoIP – Assessment and Prediction, Ed. John
Wiley & Sons, 2006.

[6] MÖLLER, S. Assessment and Prediction of Speech Quality in


Telecommunications, Kluwer Academic Publishers, 2000.

[7] BELLENY, J. Digital Telephony, 3rd Edition, Ed. John Willey & Sons, 2000.

[8] INTERNATIONAL TELECOMMUNICATION UNION. Telecommunication


Standardization Sector of ITU (ITU-T). Recommendation G.107: The E-model,
a computational model for use in transmission planning. Genebra (Suiça),
2002.
58

[9] INTERNATIONAL TELECOMMUNICATION UNION. Telecommunication


Standardization Sector of ITU (ITU-T). Recommendation G.113: Transmission
impairments due to speech processing. Genebra (Suiça), 2001.

[10] INTERNATIONAL TELECOMMUNICATION UNION. Telecommunication


Standardization Sector of ITU (ITU-T). Recommendation G.191: Software tool
for speech and audio coding standardization. Genebra (Suiça), 2005.

[11] INTERNATIONAL TELECOMMUNICATION UNION. Telecommunication


Standardization Sector of ITU (ITU-T). Recommendation P.834: Methodology
for derivation of equipment impairment factors from instrumental model.
Genebra (Suiça), 2003.

[12] INTERNATIONAL TELECOMMUNICATION UNION. Telecommunication


Standardization Sector of ITU (ITU-T). Recommendation P.862: Perceptual
Evaluation os Speech Quality (PESQ): An objective method for end-to-end
speech quality assessment of narrow-band telephone networks and speech
codecs. Genebra (Suiça), 2001.

[13] OPENH323. Openh323 Project. www.openh323.org Último acesso em:


14/06/2007

[14] VOXGRATIA. Open source Voice-over-IP . www.voxgratia.org Último


acesso em: 14/06/2007

[15] INTERNATIONAL TELECOMMUNICATION UNION. Telecommunication


Standardization Sector of ITU (ITU-T). Recommendation P.800: Methods for
subjective determination of transmission quality. Genebra (Suíça), 1996.

[16] INTERNATIONAL TELECOMMUNICATION UNION. Telecommunication


Standardization Sector of ITU (ITU-T). Recommendation P.830: Subjective
Performance Assessment of telephone-band and wideband digital codecs.
Genebra (Suíça), 1996.
59

[17] L Sun and E Ifeachor. "Voice Quality Prediction Models and their
Applications in VoIP Networks". IEEE Transactions on Multimedia, Vol.
8, No. 4, pp. 809- 820. Agosto 2006.

[18] L Sun and E Ifeachor. "New Models for Perceived Voice Quality Prediction
and their Applications in Playout Buffer Optimization for VoIP Networks".
Proceedings of IEEE International Conference on Communications (IEEE
ICC 2004), Paris, France, pp.1478 – 1483. Junho 2004.

[19] L Sun and E Ifeachor. “Prediction of Perceived Conversational Speech


Quality and Effects of Playout Buffer Algorithms”. Proceedings of IEEE
International Conference on Communications (IEEE
ICC'03), Anchorage, USA, pp. 1-6. Maio 2003.

[20] Aguiar, R.B. Medição da qualidade de serviço da comunicação de voz pela


rede de dados da UFAM. Projeto de PIBIC. Universidade Federal do
Amazonas. 2004

[21] LIMA AFM, CARVALHO LSG, SOUZA JN, MOTA ES. VoIP Management
quality: Speech quality monitoring architecture based on statistical analysis.
International Journal of Network Management. Wiley-InterScience, Mar 2007.

[22] Nascimento, A. Passito, A. Mota, E. Nascimento, E. Carvalho, L. Can I


Add a Secure VoIP Call? IEEE International Symposium on a World of
Wireless, Mobile and Multimedia Networks, 2006, Buffalo, USA. Proceedings
of IEEE International Symposium on a World of Wireless, Mobile and
Multimedia Networks. New York: IEEE Press, 2006.

[23] Passito, A. Nascimento, A. Aguiar, R.B. Mota, E. Nascimento, E.


Management of VoWLAN Security Parameters using a QoS Tool. IEEE
Wireless Communications and Networking Conference, 2006, Las Vegas, USA.
Proceedings of IEEE Wireless Communications and Networking Conference.
2006.
60

10 APÊNDICE A – CÓDIGOS FONTE UTILIZADOS

experimento.sh

#!/bin/bash
for ((n=1; n <= 196; n++))
do
exp1=`sed -n "$n"p $1`
exp2=`sed -n "$n"p $2`
./pesq +8000 $exp1 $exp2
done

calcula_pesq.sh

#!/bin/bash
#Calculo PESQ/MOS G.711
ls /home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/G.711/* >
$2
./experimento.sh $1 $2
mkdir G.711
mv _pesq_itu_results.txt _pesq_results.txt G.711

#Calculo PESQ/MOS G.726_16


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/G.726_16/*
> $2
./experimento.sh $1 $2
mkdir G.726_16
mv _pesq_itu_results.txt _pesq_results.txt G.726_16

#Calculo PESQ/MOS G.726_24


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/G.726_24/*
> $2
./experimento.sh $1 $2
mkdir G.726_24
mv _pesq_itu_results.txt _pesq_results.txt G.726_24

#Calculo PESQ/MOS G.726_32


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/G.726_32/*
> $2
./experimento.sh $1 $2
mkdir G.726_32
mv _pesq_itu_results.txt _pesq_results.txt G.726_32

#Calculo PESQ/MOS G.726_32 2x


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/G.726_32_2
x/* > $2
./experimento.sh $1 $2
mkdir G.726_32_2x
mv _pesq_itu_results.txt _pesq_results.txt G.726_32_2x
61

#Calculo PESQ/MOS G.729


ls /home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/G.729/* >
$2
./experimento.sh $1 $2
mkdir G.729
mv _pesq_itu_results.txt _pesq_results.txt G.729

#Calculo PESQ/MOS G.729 2x


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/G.729_2x/*
> $2
./experimento.sh $1 $2
mkdir G.729_2x
mv _pesq_itu_results.txt _pesq_results.txt G.729_2x

#Calculo PESQ/MOS G.729 3x


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/G.729_3x/*
> $2
./experimento.sh $1 $2
mkdir G.729_3x
mv _pesq_itu_results.txt _pesq_results.txt G.729_3x

#Calculo PESQ/MOS G.729A


ls /home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/G.729A/*
> $2
./experimento.sh $1 $2
mkdir G.729A
mv _pesq_itu_results.txt _pesq_results.txt G.729A

#Calculo PESQ/MOS GSM6.10


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/GSM6.10/*
> $2
./experimento.sh $1 $2
mkdir GSM6.10
mv _pesq_itu_results.txt _pesq_results.txt GSM6.10

#Calculo PESQ/MOS GSM6.10_2x


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/GSM6.10_2
x/* > $2
./experimento.sh $1 $2
mkdir GSM6.10_2x
mv _pesq_itu_results.txt _pesq_results.txt GSM6.10_2x

#Calculo PESQ/MOS iLBC-13k3


ls /home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/iLBC-
13k3/* > $2
./experimento.sh $1 $2
mkdir iLBC-13k3
mv _pesq_itu_results.txt _pesq_results.txt iLBC-13k3
62

#Calculo PESQ/MOS iLBC-15k2


ls /home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/iLBC-
15k2/* > $2
./experimento.sh $1 $2
mkdir iLBC-15k2
mv _pesq_itu_results.txt _pesq_results.txt iLBC-15k2

#Calculo PESQ/MOS SpeexNarrow-11k


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/SpeexNarro
w-11k/* > $2
./experimento.sh $1 $2
mkdir SpeexNarrow-11k
mv _pesq_itu_results.txt _pesq_results.txt SpeexNarrow-11k

#Calculo PESQ/MOS SpeexNarrow-15k


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/SpeexNarro
w-15k/* > $2
./experimento.sh $1 $2
mkdir SpeexNarrow-15k
mv _pesq_itu_results.txt _pesq_results.txt SpeexNarrow-15k

#Calculo PESQ/MOS SpeexNarrow-18.2k


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/SpeexNarro
w-18.2k/* > $2
./experimento.sh $1 $2
mkdir SpeexNarrow-18.2k
mv _pesq_itu_results.txt _pesq_results.txt SpeexNarrow-18.2k

#Calculo PESQ/MOS SpeexNarrow-24.6k


ls
/home/thiago/Pesquisa/VoIP/Amostras_Experimento/Sem_perda/Amostras3/SpeexNarro
w-24.6k/* > $2
./experimento.sh $1 $2
mkdir SpeexNarrow-24.6k
mv _pesq_itu_results.txt _pesq_results.txt SpeexNarrow-24.6k

retira_valor.pl

#!/usr/bin/perl

open(ARQ, "$ARGV[0]");
open(ARQ2, "$ARGV[1]");

while(<ARQ>)
{

@linha=split(" ",$_);

$tam = length(@linha[0]);
63

@final[0] = substr(@linha[0], $tam-15);

$tam = length(@linha[1]);
@final[1] = substr(@linha[1], $tam-19);

$tam = length(@linha[2]);
@final[2] = substr(@linha[2], $tam-5);
@final[2] =~ tr/./,/;
print "@final[0]\t @final[1] \t @final[2] \n";

close(ARQ);
close(ARQ2);

chamadas_semperda.sh

#!/bin/bash

./caller1.sh amostras.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/G.711/

./caller2.sh amostras.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/G.726_16/

./caller3.sh amostras.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/G.726_24/

./caller4.sh amostras.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/G.726_32/

./caller5.sh amostras.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/iLBC-13k3/

./caller6.sh amostras.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/iLBC-15k2/

./caller7.sh amostras.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/SpeexNarrow-11k/

./caller8.sh amostras.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/SpeexNarrow-15k/

./caller9.sh amostras.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/SpeexNarrow-18.2k/

./caller10.sh amostras.txt
64

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/SpeexNarrow-24.6k/

./caller11.sh amostras.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/GSM6.10/

ls /home/thiago/Amostras/GSM6.10/* > gsm2x.txt

./caller11.sh gsm2x.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/GSM6.10_2x/

./caller12.sh amostras.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/G729/

ls /home/thiago/Amostras/G729/* > g7292x.txt

./caller12.sh g7292x.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/G729_2x/

ls /home/thiago/Amostras/G729_2x/* > g7293x.txt

./caller12.sh g7293x.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/G729_3x/

./caller13.sh g729A.txt

mv /home/thiago/Amostras/parcial/* /home/thiago/Amostras/G729A/

caller1.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P G711 192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m

done
65

caller2.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P G.726-16k 192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m

done

caller3.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P G.726-24k 192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m

done

caller4.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`


66

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P G.726-32k 192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m

done

caller5.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P iLBC-13k3 192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m

done

caller6.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P iLBC-15k2 192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m
done
67

caller7.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P SpeexNarrow-11k


192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m

done

caller8.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P SpeexNarrow-15k


192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m

done

caller9.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do
68

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P SpeexNarrow-18.2k


192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m

done

caller10.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P SpeexNarrow-24.6k


192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m

done

caller11.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P GSM 192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*


69

m=$((m+1))

echo $m

done

caller12.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P G729 192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m

done

caller13.sh

#!/bin/bash

m=1

while [ "$m" -ne 393 ]


do

arq1=`sed -n "$m"p $1`

callgen323 -n -r 1 -m 1 --tmincall 16 --tmaxcall 16 -O $arq1 -P G729A 192.168.0.2

scp thiago@192.168.0.2:/home/thiago/amostras/* /home/thiago/Amostras/parcial/

ssh thiago@192.168.0.2 rm -r /home/thiago/amostras/*

m=$((m+1))

echo $m

done

Potrebbero piacerti anche