• Nenhum resultado encontrado

Codificadores de Voz em Baixas Taxas de Transmissão

N/A
N/A
Protected

Academic year: 2021

Share "Codificadores de Voz em Baixas Taxas de Transmissão"

Copied!
5
0
0

Texto

(1)

Codificadores de Voz em Baixas Taxas de Transmissão

Eider L. Oliveira Universidade Católica de Goiás

Departamento de Engenharia Engenharia Elétrica - UCG

E-mail:eider@ucg.br Resumo

Este artigo descreve algumas técnicas de codificação do sinal de voz, usando como referência o codificador CELP com o objetivo de se alcançar baixas taxas de transmissão. Atributos como complexidade computacional, qualidade do sinal sintetizado e formação da voz são discutidos com o intuito de caracterizar os codificadores e mostrar sua importância nas telecomunicações, sobretudo, na telefonia. Palavras-chave : Linear Predictive Coding, CELP, taxa de bits, qualidade e complexidade computacional. 1 - Introdução

A voz é a forma principal da comunicação humana. Com isso são cada vez mais comuns máquinas capazes de armazenar, transmitir, reconhecer, manipular e até mesmo criar a voz. Com o objetivo de garantir a facilidade de processamento em todas essas operações é usado o sinal digital. Um atributo importante de uma particular representação digital é a taxa de bits, no qual se especifica quantos bits são necessários para descrever um segundo de voz.

A transmissão de um sinal de voz digital requer um canal com uma largura de banda que está em função da taxa de bits. Assim, o custo desse sistema é sempre uma função desse parâmetro.

O objetivo na codificação da voz é representar a voz com o menor número de bits enquanto são mantidas sua inteligibilidade e a qualidade. A Figura 1 mostra o diagrama desse sistema. Pode-se, ainda, desejar maximizar a qualidade da voz para uma dada taxa de transmissão. Com isso, aparecem aplicações para este sistema como voice mail, telefone pela internet, telefone celular digital, voz criptografada, entre outros[1].

Figura 1 – Diagrama de blocos de um sistema de codificação de voz.

A representação digital mais elementar de um sinal de voz é obtida a partir da simples digitalização das amostras do mesmo. A codificação PCM (Pulse Code Modulation) é um bom exemplo e serve de ponto de partida para outras técnicas.

Usualmente, a representação do sinal de voz pode ser classificada como segue:

Forma de onda: busca obter maior semelhança possível entre a forma de onda do sinal original e sintetizado. Essa técnica alcança boa qualidade de voz com reduzida complexidade. Contudo, a qualidade da voz sintetizada sofre uma degradação substancial para baixas taxas de bits (abaixo de 16 kbits/s)[2].

Paramétrica: extrai os parâmetros representativos do sinal original buscando eliminar a redundância que o sinal de voz apresenta. Para isso, modela-se o processo físico de produção da fala humana através de filtros digitais variantes no tempo. Em baixas taxas de bits os codificadores paramétricos possibilitam uma melhor qualidade de voz comparado aos codificadores da forma de onda. Um codificador que poderíamos usar como exemplo é o LPC (Linear Predictive Coding) que gera voz sintetizada em taxas menores que 2,4 kbits/s com boa inteligibilidade. Contudo, a qualidade subjetiva da voz gerada é inferior à desejada para aplicações como telefonia. A Figura 2 mostra o diagrama de blocos para este codificador onde um sinal de trem de impulsos gera, no filtro LPC, os sons vozeados e um ruído de largo espectro de freqüência (ruído branco) excita o filtro para gerar sons [2] [3][5].

Figura 2 – Modelo fonte-filtro do processo de produção de voz.

O desenvolvimento acelerado das técnicas de codificação de voz na década de 90 estabeleceu uma gama bastante variada de codificadores. Em vista disso, a classificação dicotômica apresentada mostra-se deficiente. O codificador CELP (Code-Excited Linear Predictive), por exemplo, apresenta

Filtro LPC

Voz sintetizada

Excitação vozeada

Excitação não vozeada

Codificador Decodificador canal Sinal de Entrada Sinal Sintetizado

(2)

características tanto de forma de onda quanto de codificadores paramétricos[2].

Este trabalho visa avaliar as características principais apresentadas pelos codificadores e revisar alguns conceitos importantes, presentes em codificadores CELP e seus derivados.

2 – O Aparelho Fonador [4]

O aparelho fonador humano, apresentado na Figura 3, é o primeiro bloco na cadeia da comunicação falada. Após a inalação do ar nos pulmões, os sinais de fala são produzidos durante a fase de exalação (a produção de fala durante a fase de inalação é extremamente rara). Este fluxo de ar, depois da eventual vibração das cordas vocais, situadas na laringe, excita o trato vocal constituído pela faringe, cavidade bucal, língua, lábios e dentes. Para produção de sons nasalados o véu palatino abre e o ar passa pelo trato nasal, sendo radiado pelas narinas.

Trato vocal

Trato nasal

Cordas vocais

Figura 3 – Aparelho fonador humano. 2.1 - Vozeamento

Os sinais de fala são gerados com ou sem vibração das cordas vocais. Os sons produzidos sem vibração das cordas vocais são designados de não vozeados, enquanto que os sons produzidos com vibração das cordas vocais, ou seja através da abertura e fecho da glote (espaço entre as cordas vocais), são designados de vozeados. Nas zonas vozeadas, à medida que as cordas vocais vibram, estas fazem variar o grau de abertura da glote e conseqüentemente o volume de ar proveniente dos pulmões que passa através dela. É esta variação periódica na velocidade de volume na glote que vai excitar o trato vocal, produzindo sons com harmônicas da freqüência de vibração das cordas vocais, ou seja, da freqüência fundamental (f0), habitualmente designada por freqüência de pitch.

Nas zonas não vozeadas a glote mantém-se aberta e o ar proveniente dos pulmões, ao passar com suficiente velocidade por uma constrição do trato vocal, produz sons com turbulência. A freqüência fundamental depende da dimensão e espessura da glote. Para oradores do gênero masculino, a gama de vibração das cordas vocais situase nos 50 -250Hz, enquanto que para oradores do gênero feminino essa gama situa-se nos 120-300 Hz, podendo chegar aos 500 Hz para as crianças. Um orador pode ser caracterizado através da sua freqüência fundamental média, com variações naturais dependentes da entoação, stress e emoção. 3 – Atributos Principais dos Codificadores de Voz [1]

Os codificadores de voz diferem de acordo com a aplicação a que se des tinam. Os principais atributos que diferenciam esses sistemas são:

Taxa de bits: a redução na taxa de bits é a principal motivação para o uso dos codificadores. Os sistemas de codificação de voz com taxa fixa são mais comuns, mas podemos encontrar também codificadores com taxa variável de bits [1].

Qualidade da voz sintetizada: é um atributo vital para os codificadores de voz. Avaliar essa qualidade é também um problema sério. A medida que se criam codificadores de voz em taxas cada vez mais baixas, a qualidade do sinal reconstruído torna-se mais dependente das características do sinal de entrada, dificultando a previsão da aplicação do codificador no mundo real. O MOS (Mean Opinião Score) é a estratégia de medida mais utilizada. Este método tenta combinar todos os aspectos de qualidade do sinal em um único número. Um grupo de 20 a 60 ouvintes caracteriza o resultado de um codificador na escala de 1 (qualidade não aceitável) a 5 (excelente qualidade). A Tabela 1 mostra a escala MOS em detalhes. • Complexidade: a complexidade computacional determina o custo de hardware (milhões de instruções por segundo – MIPS) para o codificador implementado. A maior parte dos sistemas é projetada para funcionar em tempo real. Para atingir esse objetivo, os algoritmos de codificação são executados em um microprocessador dedicado a processamento de sinais conhecido como DSP (Digital Signal Processor). Aplicações em telefonia usam DSPs de ponto fixo e 16 bits. Mas recorre-se aos DSPs de ponto flutuante e 32 bits quando se tem necessidade de diminuir a

(3)

quantidade de MIPS do sistema de codificação de voz.

Tabela 1 – Descrição da escala MOS Nota Características

1 Ruim: ininteligível, o usuário não entende a mensagem decodificada.

2

Pobre: o sinal possui interrupções devido às degra dações. O usuário faz grande esforço para entender alguns trechos.

3

Moderado: a qualidade da voz é ruim, o usuário sente incomodado com as degradações. Não tem interrupções e consegue-se entender a mensagem. 4

Bom: a voz é agradável de se ouvir, ou seja, percebe degradações mas não se incomoda com elas, pois são mínimas.

5 Excelente: o usuário não consegue diferenciar o trecho original do sintetizado. 4 – Codificador CELP

Os codificadores CELP são capazes de gerar sinais de voz de boa qualidade a b aixas taxas (entre 4 e 16kbits/s). Os algoritmos desses codificadores buscam uma melhor representação da excitação na modelagem fonte-filtro, através da técnica conhecida como análise-por-síntese[2].

Os codificadores CELP freqüentemente utilizam um segundo filtro denominado filtro Preditor de Longo Atraso (PLA). O objetivo do filtro PLA é explorar a correlação existente entre amostras do sinal de voz separadas por um período de pitch. Neste contexto, o filtro LPC da Figura 2 passa a ser chamado de filtro Preditor de Curto Atraso (PCA). Isso porque o filtro PCA explora a correlação existente entre amostras do sinal de voz separadas por um curto intervalo de tempo[6]. A ação dos filtros PLA e PCA gera o resíduo. O resíduo corresponde à parcela do sinal de voz que os filtros preditores não conseguiram estimar. Esse resíduo também representa o melhor sinal para ser entrada do filtro PCA, sintetizando o sinal original[6].

Os codificadores da família CELP empregam um vetor (codeword ) para representar o resíduo. Este vetor é selecionado dentre um conjunto pré -estabelecido conhecido como dicionário ou codebook .

O princípio básico de funcionamento do CELP pode se descrito pelo diagrama de blocos da Figura 4. Cada vetor

c

i

(n

)

é escalado pelo ganho G, e filtrado pela cascata de filtros PLA e PCA, gerando a voz sintetizada

s

(n

)

. O sinal

s

(n

)

é comparado com o sinal original

s

(n

)

a ser codificado, calculando-se o erro entre estes dois sinais. Esse erro é ponderado pelo filtro W(z)

gerando o sinal

e

i

(n

)

. O objetivo do filtro ponderador W(z) é aumentar a qualidade subjetiva do sinal sintetizado. O mesmo procedimento é repetido para as N codewords do codebook . A melhor codeword

c

i

(n

)

será aquela que conduzir ao sinal

e

i

(n

)

com menor energia.

Figura 4 – Diagrama de blocos do codificador CELP.

A codificação CELP baseia-se no tratamento de blocos de amostras conhecidos como quadros. Em um período de tempo (quadro) suficientemente curto (20 a 40 ms), o sinal de voz não apresenta variação significativa em suas propriedades estatísticas, podendo ser considerado estacionário dentro desse período. Cada quadro do sinal de voz é multiplicado por uma janela. Tipicamente, é usada a janela Hamming. O PCA é calculado com o uso das técnicas de predição linear. O filtro PCA é responsável pela envoltória espectral do sinal de voz. A função do PCA é representar o trato vocal humano. Por isso, o intervalo de atualização do PCA é coerente com a velocidade de mudança da anatomia dos elementos do trato vocal.

As atualizações do PLA, da codeword

)

(n

c

i e de seu ganho G são efetuadas a intervalos menores denominados de subquadros. O tamanho do subquadro é igual ao tamanho de uma codeword . Esse intervalo é menor do que o utilizado para a atualização do PCA porque, no sistema fonador humano, as características da excitação mudam mais rapidamente do que se modifica a configuração do trato vocal.

As funções de transferência dos filtros H(z), W(z) e P(z) são dadas por:

= −

=

P i i i

z

a

z

H

1

1

)

(

(1) ^ ^ Vetor N ••• Vetor 2 Vetor 1 G

)

(n

c

i Filtro PLA P(z) Filtro PCA H(z)

Filtro W(z) 2

Energia do Erro

)

(n

s

_ ^

s

(n

)

)

(n

e

i ganho Análise LPC

)

(n

s

(4)

= − = −

=

P i i i i P i i i

z

a

z

a

z

W

1 1

)

(

γ

(2) M

Bz

z

P

+

=

1

1

)

(

(3) Onde: i

a

: são os coeficientes, resultantes da análise, do filtro PCA;

γ

: coeficiente de expansão da largura de banda do filtro W(z);

B: coeficiente de predição; M: retardo do preditor.

O ganho G pode ser calculado de duas maneiras diferentes. A primeira delas parte do princípio de que a energia da excitação pode ser aproximada pela energia do erro de predição resultante da análise LPC. Assim, se as energias dos vetores forem normalizadas, em todos o codebook o valor de G pode ser calculado de modo a igualar a energia da excitação com a energia do erro de predição. Neste caso, o ganho é determinado antes da busca no dicionário. Na segunda maneira, o ganho é otimizado em função de cada vetor candidato analisado. Nesse caso, o valor final de G corresponde ao ganho ótimo associado ao vetor de excitação escolhido no codebook .

Depois de todos os parâmetros serem determinados cada um deles é quantizado e transmitido ao decodificador por um canal de comunicação. São então transmitidos o índice da codeword , ganho e coeficientes dos filtros. A quantização é uma etapa fundamental na definição da taxa final de transmissão.

5 – Decodificador CELP

No decodificador o procedimento de síntese inicia-se pelo recebimento de um conjunto de parâmetros do quadro. O filtro PCA e o filtro PLA são reconstruídos e o índice/ganho definem o sinal de excitação dos filtros. A Figura 5 mostra o diagrama de blocos do decodificador.

Figura 5 – Decodificador CELP

6 - Algoritmos de Compressão Padronizados [1] Enumeram-se a seguir os principais algoritmos de compressão de áudio de voz padronizados por órgãos internacionais como ITU (International Telecommunication Union), TIA (Telecommunication Industries Association) e USFS (United States Federal Standards). A utilização de algoritmos padronizados é importante para a interoperabilidade do sistema.

6.1 - Codificação na forma de onda

• ITU G-711 (PCM logarítmico lei A ou lei µ a 64 kbits/s): O sinal de voz na faixa de 4 kHz, ou seja, filtrado de 100 a 3400 Hz , é amostrado a 8 kHz com 14 (lei µ) ou 13 bits (lei A) e sofre uma compressão logarítmica para 8 bits. A compressão logarítmica é adequada por causa da natureza do sinal de voz: os sinais de baixa amplitude são mais freqüentes e mais importantes; • ITU G-726 (ADPCM a 40, 32, 24 ou 16

kbits/s): O sinal de voz é amostrado a 8 kHz, codificado em 8 bits (leis A ou µ) e são transmitidas diferenças entre amostras com 5, 4, 3 ou 2 bits em quantização adaptativa. Outros métodos de compressão de áudio ADPCM incluem as Recomendações-padrão G-721 (taxa de 32 kbits/s) e a G-724 (taxa de 24 kbits/s) e o algoritmo de compressão de áudio interativo;

• ITU G-722 (SB-ADPCM a 64, 56 ou 48 kbits/s): O sinal de voz numa banda de 7 kHz é amostrado a 16 kHz e codificado em 14 bits, gerando assim uma taxa de 224 kbits/s. As amostras passam por um circuito codificador que as trata em duas sub-bandas e geram códigos numa taxa de 64, 56 ou 48 kbits/s. Nestes dois últimos casos, pode-se transmitir também dados a 8 ou 16 kbits/s para completar os 64 kbits/s. Este algoritmo é próprio para aplicações de videoconferência uma vez que telefones comuns não respondem na faixa de 7 kHz.

6.2 - Codificação Paramétrica

• ITU G-723 (CS-ACELP a 5,3 ou 6,3 kbits/s): Em cada janela de 30 ms do sinal de voz, são analisadas 240 amostras de 16 bits do sinal de voz (tomadas a 8 kHz) para identificação de pitch e são gerados 12 ou 10 códigos de 16 bits, conforme o algoritmo esteja configurado para uma taxa de 6,3 ou 5,3 kbits/s. É um codificador Vetor N ••• Vetor 2 Vetor 1 G

)

(n

c

i Filtro PLA P(z) Filtro PCA H(z)

)

(n

s

^ ganho

(5)

próprio para videoconferência, telefonia móvel digital e aplicações multimídia; • ITU G-729 (ACELP a 8 kbits/s): Em cada

janela de 10 ms do sinal de voz, são analisadas 80 amostras de 8 bits para a geração de 10 códigos de 8 bits. É um codificador bastante otimizado nos seus vários aspectos (qualidade, atraso, taxa de compressão) e assim tem se difundido bastante;

• ITU G-728 (LD-CELP a 16 kbits/s): Em cada janela de 0,625 ms do sinal de voz, são analisadas 5 amostras de 8 bits (que internamente voltam para PCM linear) e é gerado 1 código de 10 bits. O codebook é uma tabela de 1024 valores. Os pontos fortes deste codificador são o pequeno atraso e a qualidade do sinal de voz (muito parecida com a compressão não paramétrica). Por isso é adequado para a maioria das aplicações. Permite inclusive o reconhecimento de DTMF e Modem de até 2400 bps.

• TIA IS-54 (VSELP a 8 kbits/s): Em cada janela de 20 ms do sinal de voz, são analisadas 160 amostras de 8 bits para a geração de 10 códigos de 16 bits. Este codificador é patente da Motorola e é próprio para telefonia móvel digital. • TIA IS-641 (ACELP a 7,4 kbits/s): Em cada

janela de 20 ms do sinal de voz, são analisadas 160 amostras de 8 bits para a geração de um frame de 148 bits. Também é próprio para telefonia celular digital. A Figura 6 trás um gráfico onde se compara a qualidade da voz sintetizada dos principais codificadores usados na atualidade.

Figura 6 – Comparação entre codificadores de voz padronizados no ITU.

7 - Conclusões

Este artigo propõe a discussão dos principais termos presentes em codificadores de voz bem como suas aplicações, com o enfoque maior para telefonia. Procura abordar como o sistema funciona a partir de um codificador/decodificador CELP. Apesar de existirem diferentes implementações para o CELP, este codificador tem servido de ponto de partida para o desenvolvimento de vários sistemas de codificação de voz, alguns já padronizados.

8 - Referências

[1] KLEIJN, W. B. and PALIWAL, K. K. “Speech coding and synthesis”, ELSEVIER, 1998. [2] KLAUTAU JR., ALDEBARO B. R.

”Codificação CELP com quantização vetorial do filtro LPC utilizando busca rápida em árvore K-d”, Dissertação de Mestrado, Florianópolis, UFSC,1993.

[3] DALL´AGNOL, SÔNIA. ”Quantização eficiente dos parâmetros do filtro em codificadores VCELP”, Dissertação de Mestrado, Rio de Janeiro, PUC,1993.

[4] RIBEIRO, CARLOS EDUARDO M. “Processamento digital de fala” INSTITUTO SUPERIOR DE ENG .DE LISBOA, 2003. [5] KONDOZ, A. M. “Digital speech: coding for

low bir rate communications systems”, WILEY, 1998.

[6] LANGI, A., GRIEDER W. and KINSNER, W. “Fast CELP algorithm and implementation for speech compression” DIGITRAL COMMUNICATIONS CONFERENCE, 1994. Kbits/s 5,3 6,3 8 16 32 64 0 1 2 3 4 5 Escala MOS G.711 PCM G.726 ADPCM G.728 LD-CELP G.729 G.723

Referências

Documentos relacionados

Segundo Éric Laurent, a psicose ordinária se caracteriza pela não resposta aos significantes-mestres tradicionais, manifestando o fim do poder do Nome-do-Pai como

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

OBJETO: O objeto do presente instrumento é a contratação de serviços de assessoria de sistema de SOFTWARE com o uso mensal para a contabilidade pública, durante

2. Identifica as personagens do texto.. Indica o tempo da história. Indica o espaço da história. Classifica as palavras quanto ao número de sílabas. Copia do texto três

A Sementinha dormia muito descansada com as suas filhas. Ela aguardava a sua longa viagem pelo mundo. No entanto, sempre vivera junto ao pomar do António Seareiro e até

Em janeiro, o hemisfério sul recebe a radiação solar com menor inclinação e tem dias maiores que as noites, encontrando-se, assim, mais aquecido do que o hemisfério norte.. Em julho,

Combinaram encontrar-se às 21h

As técnicas de codificação do sinal de voz são usadas tanto para a transmissão quanto para o armazenamento compacto de sinais de voz.. Elas são demandadas para a