You are on page 1of 9

Luis Eduardo Pereira Bueno

Codificação de áudio para transmissão de voz em


tempo real

Trabalho elaborado como parte da


avaliação da disciplina
Processamento Digital de Sinais,
ministrada pelo prof. Marcelo Rosa,
do curso de Engenharia Elétrica,
Setor de Tecnologia, da Universidade
Federal do Paraná.

CURITIBA
2008
Sumário
Introdução.............................................................................................................................................3
Codecs..................................................................................................................................................3
G.711................................................................................................................................................3
G.729................................................................................................................................................3
G.723................................................................................................................................................3
G.726................................................................................................................................................4
G.728................................................................................................................................................4
Compressão de áudio............................................................................................................................4
Pulse Code Modulation - PCM........................................................................................................4
Filtragem ....................................................................................................................................4
Amostragem................................................................................................................................4
Voz digitalizada...........................................................................................................................5
Quantização.................................................................................................................................5
Companding................................................................................................................................5
A-law and u-law Companding ...................................................................................................5
A-law Compander ......................................................................................................................5
u-law Compander .......................................................................................................................6
DPCM - Differential Pulse Code Modulation ................................................................................6
ADPCM - Adaptive DPCM ............................................................................................................6
LD-CELP.........................................................................................................................................7
CS-ACELP.......................................................................................................................................7
Conclusão.............................................................................................................................................8
Referências...........................................................................................................................................9
Introdução

H.323 é uma recomendação da União Internacional de Telecomunicações (ITU –


organismo que define padrões para comunicações multimídia para redes locais de
computadores). Estas redes incluem TCP/IP e IPX sobre Ethernet, Fast Ethernet e Token
Ring.
O padrão H.323 provê uma base tecnológica para comunicações de dados, áudio e vídeo,
para redes baseadas no protocolo IP. O H.323 permite também que produtos de
multimídia e aplicações de fabricantes diferentes possam interoperar de forma eficiente e
que os usuários possam se comunicar sem preocupação com velocidade da rede.
O H.323 estabelece padrões para compressão e descompressão de dados de áudio e
vídeo, assegurando que equipamentos de fabricantes diferentes tenham uma área de
apoio comum.
Para que os terminais H.323, como telefones IP, por exemplo, possam estabelecer
comunicação em tempo real com boa qualidade, a fala deve ser codificada. Para fazer
esta codificação, são usados diferentes tipos de codecs, tanto de áudio como de vídeo.
Este trabalho irá explicar o funcionamento de alguns tipos de codecs de áudio usados
pelo protocolo H.323.

Codecs
Para que dados multimídia sejam enviados, são usadas técnicas de processamento digital
de sinais para codificá-los.
O H.323 aceita codificações/decodificações de algorítimos de áudio especificados pelo
ITU como G.711, G.722, G.723.1, G.728 e G.729.
O objetivo dos codecs de áudio ao codificar a fala é o de comprimir os dados para que
possam ser transmitidos em tempo real utilizando uma pequena largura de banda.

G.711
O codec de áudio G.711 é um dos padrões utilizados pelo H.323. O G.711 utiliza PCM
para representar amostras de freqüências de voz, amostrada a 8kHz.
Existem dois algoritmos de compressão neste padrão, o μ-law, usado nos Estados Unidos
e Japão, e o A-law, usado em outros países fora dos EUA. Ambos são logarítmicos, mas o
A-law é mais simples para ser processado.
Estes algoritmos codificam amostras PCM de 13bits e 14bits para amostras logarítmicas
de 8bits. Deste modo, o codificador G.711 irá criar uma transmissão de 64kbps para um
sinal amostrado a 8kHz.

G.729
G.729 é um algoritmo que comprime voz em pacotes de 10ms de duração. Tem uma
baixa largura de banda, de de 8kbps, usando conjugate-structure algebraic-code-excited
linear-prediction (CS-ACELP).

G.723
Este codec é baseado em ADPCM (adapdative differential pulse code) com 24 e 40kbps.
G.726
G.726 é um codec ADPCM com transmissão de 16, 24, 32 e 40kbps. O G.726 possui uma
qualidade praticamente idêntica a do G.711, porém com a metade do consumo de banda.
É usado em troncos internacionais de telefonia. Também é o codec padrão usado em
telefones sem fio.

G.728
Este codec usa LD-CELP (low-delay code excited linear prediction) e opera a 16kbps. O
codec possui delay de apenas 5 amostras (0.625ms).

Compressão de áudio
Existem vários métodos de compressão de áudio. Nos codecs suportados pelo H.323,
tem-se u-law, A-law, ADPCM, CELP, e outros. Neste trabalho, será dada ênfase nos
codecs PCM.

Pulse Code Modulation - PCM


PCM é um método de codificação definido no ITU-T G.711.

Filtragem
O primeiro passo para converter o singal de analógico para digital é filtrar as componentes
de altas freqüências. A maior parte da energia da fala está entre 200Hz e 300Hz e 2700Hz
e 2800Hz. Então, assume-se uma largura de banda de 3000Hz para fala. Uma banda de
4000Hz, porém, é implementada nos equipamentos para evitar aliasing.

Amostragem
O segundo passo para converter um sinal analógico de voz para digital é amostrar a
entrada filtrada a uma freqüência de amostragem constante. Isso é feito através de um
processo chamado modulação por amplitude de pulso (PAM). O sinal analógico original é
usado para modular a amplitude um trem de pulsos com uma freqüência constante.
O trem de pulsos move-se a uma freqüência constante, chamada freqüência de
amostragem. Para determinar a freqüência de amostragem, usa-se o Teorema de Nyquist.
Este teorema diz que a freqüencia de amostragem deve ser o dobro da maior freqüência
do sinal amostrado. Se este teorema for obedecido, o sinal poderá ser reconstruído
através de um filtro passa-baixas.
Fs2 x BW → freqüência de amostragem

Figura 1 - Amostragem
Voz digitalizada
Depois de filtrar e amostrar, deve-se digitalizar as amostras. O processo de digitalização é
chamado PCM. Uma técnica chamada quantização é usada para digitalizar as amostras.

Quantização
Quando as amostras chegam na fase de quantização, elas são associadas a um intervalo
de quantização. Cada intervalo de quantização é associado a um valor na forma de um
número binário. Os intervalos são igualmente espaçados, assim tem-se a quantização
uniforme. O tamanho padrão do número binário é 8bits. Para um sinal amostrado a 8kHz,
a taxa de transmissão é de 64kbps.
Quando uma amostra não é associada ao seu intervalo de quantização correto, é gerado
ruído de quantização. Este ruído de quantização é equivalente ao ruído que interfere na
relação sinal ruído (SNR) do sinal de voz. Um modo de reduzir o ruído de quantização é
aumentar o número de intervalos de quantização, mas para isso deve-se aumentar o
tamanho do valor de 8bits para mais bits.
SNR é o fator que mais afeta a qualidade de voz na quantização uniforme. Para melhorar
a qualidade de voz, a quantização uniforme é substituída pelo processo de quantização
não-uniforme, chamado companding.

Figura 2 - Quantização

Companding
Companding refere-se ao processo de primeiro comprimir o sinal analógico na fonte e
depois expandir o sinal novamente ao original quando ele chegar ao destino. Esta palavra
em da junção de compressing e expanding. Neste processo, o sinal analógico é
comprimido em segmentos logarítmicos. Cada segmento é quantizado e codificado
usando quantização uniforme. Os padrões do ITU-T para companding são chamados A-
law e u-law.

A-law and u-law Companding


A-law e u-law são algoritmos de compressão definidos pelo Consultative Committee for
International Telephony And Telegraphy (CCITT) G.711 que comprime PCM linear de
16bits em 8bits logarítmico.

A-law Compander
Limitando a amostra linear para 12 bits de magnitude, a compressão A-low é definida pela
equação abaixo, na qual A é o parâmetro de compressão (A=87.7 na Europa) e x é
número a ser comprimido.
[ A∗∣ x∣] 1
F x = 0≤
1ln  A A

sgn  x ∗1ln  Ax  1
≤x≤1
1ln A∣ x∣ A

u-law Compander
Limitando a amostra linear para 12 bits de magnitude, o u-law é definido pela equação
abaixo, na qual u o parâmetro de compressão (m=255 no EUA e Japão) e x é o número a
ser comprimido.
sgn  x ∗ln 1∣ x∣
F x = 0≤∣x∣≤1
ln 1

DPCM - Differential Pulse Code Modulation


Durante o processo PCM, as diferenças entre as amostras de entrada são mínimas.
DPCM foi projeto para calcular essa diferença e transmiti-la ao invés da amostra inteira.
Deste modo, o número de bits necessário diminui. Usando DPCM, a largura de banda
necessária cai para 48kbps.

Figura 3 - DPCM
A primeira parte do DPCM funciona exatamente como PCM. Na fase do PAM, a amostra
de entrada é armazenada no predictor. O predictor envia esse sinal para o diferenciador.
O diferenciador compara o sinal anterior com o sinal atual e envia a diferença para a fase
de quantização do PCM. Depois de quantizar e codificar, a diferença é transmitida.
N receptor, ocorre o caminho inverso. Primeiramente o sinal de diferenças é des-
quantizado. A diferença é somada com o sinal armazenado no predictor e o resultado é
passado por um filtro passa-baixas que reconstrói o sinal.

Figura 4 – a) codificador DPCM, b) decodificador DPCM


O DPCM reduz a taxa de bits para transmissão de voz, porém causa outros problemas
relacionados com qualidade de voz. DPCM faz quantização usando quantização uniforme,
o que gera uma SNR baixa para amostras pequenas. Como a maioria dos sinais gerados
é pequeno, a qualidade da voz tende a cair.

ADPCM - Adaptive DPCM


Adaptive DPCM (ADPCM) é um método de codificação definido na especificação ITU-T
G.726.
ADPCM adapta os níveis de quantização da diferença gerada no DPCM. Se o sinal de
diferenças for baixo, ADPCM aumenta o tamanho dos níveis de quantização. Se o sinal
de diferença for alto, ADPCM diminui o tamanho dos níveis de quantização. Ou seja, o
ADPCM adapta o nível de quantização para o tamanho do sinal de diferença de entrada.
Isto gera um SNR uniforme.

Figura 5 – codificação ADPDM


O ADPCM reduz a taxa de bits para 32kpbs, metade da taxa do A-law e u-law.
Abaixo, pode-se ver o diagrama de blocos do codificador e decodificador DPCM.

Figura 6 – Codificador e decodicador ADPCM

LD-CELP
Uma das desvantagens dos codificadores que funcionam por tramas, em relação aos que
codificam o sinal amostra-a-amostra, é o aumento do atraso devido à necessidade da
leitura de uma trama completa antes da estimação dos parâmetros correspondentes.
Embora o atraso não seja um problema em aplicações de armazenamento, é um atributo
importante em aplicações de transmissão bidireccional em tempo real.
Em 1988 o ITU-T propôs normalizar um codificador com um débito binário de 16 kbit/s,
com qualidade equivalente ao da norma G.726 a 32 kbit/s, ao mesmo tempo que deveria
ter um atraso máximo 2ms. Em 1992 foi aprovada a recomendação G.728, um codificador
CELP que gozava destas características, denominado por LD-CELP (Low delay CELP).

CS-ACELP
O ITU-T iniciou em 1990 os trabalhos que conduziriam em 1995 à recomendação G.729,
um codificador com um débito binário de 8 kbit/s e uma qualidade equivalente à da
recomendação G.726 a 32 kbit/s, ao mesmo tempo que deveria ter pequeno atraso e
baixa complexidade. O primeiro objectivo deste codificador era a sua utilização em
telefones públicos via rádio.
Conclusão
Uma parte muito importante das telecomunicações é a comunicação por fala. No caso das
redes de pacotes, é comum acontecer perda ou atraso de informações. Os codecs de
áudio ajudam a diminuir esse problemas diminuindo a quantidade de banda necessárias
para transmissão.
O primeiro codec analisado precisa de 64kb/s para transmitir voz em tempo real. Já o
último visto, o CS-ACELP, precisa de apenas 8kb/s. Observou-se também que com o
aumento de eficiência do codec, aumenta a complexidade do codificador e do
decodificador. Porém, com a evolução dos processadores, torna-se possível a
implementação de técnicas de processamento digital de sinais para analisar o sinal de
áudio discretizado e realizar a compressão.
Depois de analisar o funcionamento dos codecs, ficou claro que o processamento digital
de sinais tem presença constante na comunicação multimídia, tornando-a possível
mesmo para pequenas larguras de banda.
Referências
[1] Packet-based multimedia communications systems, ITU-T Recommendation H.323.
2006.
[2] Especificação ITU H.323 , Cássio D. B. Pinheiro.
<http://penta2.ufrgs.br/h323/indice.htm>. Acesso em 15/11/2008.
[3] Protocolos. <http://www.gta.ufrj.br/grad/07_1/voip/protocolos.htm> Acesso em
15/11/2008.
[4] Processamento digital de fala, Carlos Eduardo de Meneses Ribeiro.
<http://www.deetc.isel.ipl.pt/comunicacoesep/disciplinas/pdf/sebenta/pdf_prg.html>.
Acesso em 15/11/2008.
[5] Audio compression, Dave Marshall.
<http://www.cs.cf.ac.uk/Dave/Multimedia/node268.html#SECTION0421000000000000000
00>. Acesso em 15/11/2008.
[6] μ-law algorithm. <http://en.wikipedia.org/wiki/%CE%9C-law_algorithm>. Acesso em
15/11/2008.
[7] A-law algorithm. <http://en.wikipedia.org/wiki/A-law_algorithm>. Acesso em
15/11/2008.
[8] Waveform coding techniques.
<http://www.cisco.com/en/US/tech/tk1077/technologies_tech_note09186a00801149b3.sht
ml>. Acesso em 15/11/2008.

You might also like