Compressão de fala utilizando quantização vetorial e redes neurais não supervisionadas

Documentos relacionados
COMPRESSÃO DE SINAIS DE FALA UTILIZANDO REDES NEURAIS Speech Signal Compression Using Neural Networks

Quantização de Sinais de Fala Utilizando Redes Neurais Não-Supervisionadas

Aprendizagem Competitiva com Consciência Aplicada ao Projeto de Dicionários para

Redes Neurais não Supervisionadas: SOM

Clustering - c-means e Self Organizing Maps

Uso da Rede Neural Artificial Self Organizing Maps (SOM) na clusterização de dados meteorológicos

Mapas Auto-Organizáveis de Kohonen (SOM) SOM é uma rede neural artificial (Kohonen (1995))

Mapas Auto Organizáveis SOMs Mapas de Kohonen

6 Análise dos Atributos de Voz em Reconhecimento Distribuído com a Utilização do Codec de Voz ITU-T G.723.1

Introdução às Redes Neurais Artificiais

p TPP = (6.1) e a rajada de perda de pacote é medida pela Comprimento Médio da Rajada (CMR ) que é dada por

Mapas Auto-Organizáveis de Kohonen SOM

Mapas Auto-Organizáveis de Kohonen SOM

Estudo sobre decodificação iterativa usando códigos de treliça

3 Agrupamento de dados e o algoritmo GNG

3 Reconhecimento de Voz Distribuído

SEMINÁRIO DOS ARTIGOS:

Aula 7 RNA Redes Auto-Organizáveis de Kohonen

Inteligência Artificial. IA Conexionista: Perceptron de Múltiplas Camadas Mapas Auto-Organizáveis. Renan Rosado de Almeida

3 Redes Neurais Artificiais

Processamento de Som com Escala de Mel para Reconhecimento de Voz

Abstract. A quantização vetorial [1, 2], que pode ser vista como. de entrada pelo vetor-código 2= é consubstanciada na

A codificação primária é a representação digital de um canal de voz, sem a inclusão de bits de sincronismo e de verificação de paridade.

TÉCNICAS DE CODIFICAÇÃO DE FALA BASEADAS EM ANÁLISE POR SÍNTESE Speech Codification Techniques Based on Analysis-by-Synthesis

Descritores de Imagens

Princípios de Telecomunicações AULA 1. Elementos de um sistema de comunicações. Prof. Eng. Alexandre Dezem Bertozzi, Esp.

2. Redes Neurais Artificiais

( ) Aula de Hoje. Introdução a Sistemas Inteligentes. Modelo RBF (revisão) Modelo RBF (revisão)

RECONHECIMENTO DE FALANTE

Mapeamento automático de horizontes e falhas em volumes sísmicos 3D baseado no algoritmo de Gás Neural Evolutivo

NEUROCOMPUTAÇÃO E SIG NO SUPORTE AO PLANEJAMENTO URBANO. Marcos Aurélio Santos da Silva 1

Compressão de Áudio Digital. Aluno: Marcio Masaki Tomiyoshi Supervisor: Marcelo Gomes de Queiroz

4 Implementação Computacional

Avaliação de Desempenho de Redes LVQ em Comparação com Redes MLP com Backpropagation na Classificação de Cromossomos

Introdução à Mineração de Dados com Aplicações em Ciências Espaciais

7 Extração de Dados Quantitativos

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ

Conceitos Básicos de Áudio Digital

PTC3452 Exercícios sobre Codificação perceptual de Áudio e Vídeo 11/2017 G. S.

DETERMINAÇÃO DO GÊNERO DO LOCUTOR USANDO A TRANSFORMADA RÁPIDA DE FOURIER

Self Organizing Maps - Redes de Kohonen

Processamento digital de imagens

Algoritmo Competitivo Aplicado ao Reconhecimento Automático da Identidade Vocal de Locutores

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Princípios de Comunicação: Simulação /2

REDES AUTO-ORGANIZÁVEIS SELF-ORGANIING MAP (SOM)

Disciplina PSI Codificação de Voz. Área de Concentração: 3142 Criação: 29/04/2004. Nr. de Créditos: 8 Carga Horária Teórica (por semana)

O processo de filtragem de sinais pode ser realizado digitalmente, na forma esquematizada pelo diagrama apresentado a seguir:

Implementação dos Algoritmos e Resultados

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução

Transformada de Discreta de Co senos DCT

Tópicos em Mineração de Dados

Aceleração do Algoritmo Fuzzy K-means: Avaliação em Quantização Vetorial de Imagens.

UM MODELO NEURAL PARA A PREVISÃO DA DEMANDA DE ENERGIA ELÉTRICA NA CIDADE DE FRANCA

6 Modelo Gamma-Cetuc (GC)

Classificação Automática de Gêneros Musicais

Analisador de espectros por FFT

6 Clustering: Definindo Grupos Estratégicos

Compressão de Imagens: Padrão JPEG

Redes Neurais e Sistemas Fuzzy

Parâmetros importantes de um Analisador de Espectros: Faixa de frequência. Exatidão (frequência e amplitude) Sensibilidade. Resolução.

Redes Neurais e Sistemas Fuzzy

3 Estimação e Compensação de movimento na codificação de vídeo

COMPRESSÃO DE SINAIS DE ELETROMIOGRAFIA

Redes Neurais. A Rede RBF. Redes RBF: Função de Base Radial. Prof. Paulo Martins Engel. Regressão não paramétrica. Redes RBF: Radial-Basis Functions

AVALIAÇÃO DA ESTIMATIVA DE PARÂMETROS PARA MODELOS AR2D APLICADOS NA EXTRAÇÃO DE ATRIBUTOS DE TEXTURA EM IMAGENS DE SENSORIAMENTO REMOTO

READING DIGITS IN NATURAL IMAGES WITH UNSUPERVISED FEATURE LEARNING

3 FERRAMENTAS UTILIZADAS: REDES NEURAIS E LÓGICA FUZZY

3 Os Atributos MFCC e PNCC do Sinal de Voz

SENDI 2004 XVI SEMINÁRIO NACIONAL DE DISTRIBUIÇÃO DE ENERGIA ELÉTRICA

Redes Neurais: RBF. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

COMUNICAÇÃO DIGITAL INTRODUÇÃO À TEORIA DE INFORMAÇÃO

Usando MLP para filtrar imagens

Modelos ART Adaptive Ressonance Theory. Germano C. Vasconcelos Centro de Informática - UFPE

1. Conceitos básicos dos Sistemas Auto-organizáveis. Os sistemas auto-organizáveis estão relacionados com aprendizagem nãosupervisionada.

Rede RBF (Radial Basis Function)

Processamento Digital de Sinais. Notas de Aula. Análise Espectral Usando a DFT

APLICAÇÃO DA REDE NEURAL DE KOHONEN NA IDENTIFICAÇÃO DE LOCUTOR. Gustavo Oliani David ¹; Thiago Antonio Grandi de Tolosa ²

Modelagem para previsão/estimação: uma aplicação Neuro-Fuzzy

Consultas por Similaridade em Domínios de Dados Complexos

O áudio. O áudio. O áudio Wilson de Pádua Paula Filho 1. Propriedades físicas do som Representação digital do som Processamento digital de som

PRINCÍPIOS DE COMUNICAÇÃO

Redes Neurais (Inteligência Artificial)

Processamento De Imagem. Descritores de Cor

Ferramenta Computacional para o Estudo de Seqüências de Treinamento em Equalizadores LMS

5 Estudo de Caso e Resultados

Otimização da Paleta de Cores

TE060 Princípios de Comunicação. Sistemas de Comunicação Digital Notes. Por quê Digital? Notes. Notes. Evelio M. G. Fernández. 5 de novembro de 2013

Regra de Oja. Para taxa de aprendizagem pequena, Oja aproximou. pesos para criar uma forma útil da aprendizagem

Figura 1 Sinais e Transformadas de Fourier (HAYKIN; VAN VEEN, 2001).

VOZ CODECS Processamento de Áudio EN CODEC. Telefonia Fixa Moderna. Amaury Kruel Budri 1 CECS UFABC. Telefonia Fixa Moderna

detecção de voz cantada em sinais de áudio polifônicos

Compressão de áudio. Marcio Dahia e Geber Ramalho

Transformada Discreta de Fourier

INF 1771 Inteligência Artificial

Pré-Processamento de Dados de Imagem Funcional por Ressonância Magnética Usando o Filtro de Kalman

Carlos Roberto da Costa Ferreira. Interpolação Modificada de LSF's. Dissertação de Mestrado

Otimização da Paleta de Cores

Processamento de Imagem. Compressão de Imagens Professora Sheila Cáceres

Métodos Matemáticos e Computacionais em Música

Transcrição:

Compressão de fala utilizando quantização vetorial e redes neurais não supervisionadas Flávio Olmos Simões *, Mário Uliani Neto, Jeremias Barbosa Machado**, Edson José Nagle, Fernando Oscar Runstein, Leandro de Campos Teixeira Gomes Propomos aqui uma técnica de compressão de fala baseada em quantização vetorial. Uma rede neural com treinamento não supervisionado é usada para implementar o quantizador. Ideias gerais do problema de quantização vetorial são abordadas em conjunto com aspectos introdutórios relativos ao processamento de sinais de fala. Em seguida, é mostrado como a técnica de quantização vetorial pode ser empregada para construir um codebook de fala. As redes de Kohonen bidimensionais são apresentadas como uma ferramenta para a geração do codebook. Finalmente, são apresentados resultados de simulação evidenciando as melhores estratégias de inicialização e treinamento da rede, assim como a melhor topologia da rede para o problema em questão. Palavras-chave: Compressão de sinais de fala. Quantização vetorial. Redes neurais com treinamento não supervisionado. Processamento de sinais. Introdução Uma base de dados cujos elementos são vetores de dimensão fixa pode ser armazenada de forma bastante compacta através da utilização da técnica conhecida como quantização vetorial. Nesta técnica, os vetores da base de dados original são substituídos por vetores aproximados extraídos de um inventário, gerado previamente, denominado codebook. A eficácia do processo de compressão via quantização vetorial pode ser medida a partir do erro de quantização introduzido na nova representação dos dados. No projeto do codebook, visa-se à minimização do erro de quantização médio. Os quadros de sinais de fala parametrizados são um exemplo de dados que podem ser armazenados em notação vetorial e, portanto, podem ser submetidos a um processo de compressão via quantização vetorial. O objetivo deste trabalho é apresentar uma estratégia de compressão de sinais de fala baseada na divisão do sinal em quadros síncronos com o período de pitch, seguida da representação dos quadros como vetores de parâmetros e da compressão do conjunto de quadros via quantização vetorial. Na proposta aqui apresentada, utiliza-se uma rede neural bidimensional do tipo Self-Organizing Map (SOM) (RUNSTEIN, 1998) em conjunto com o algoritmo de clusterização k-means para implementar o processo de clusterização dos quadros da base de treinamento, a fim de gerar o codebook de fala. O codebook gerado é usado na compressão de novos sinais de fala, através da transformação da sequência de quadros do sinal a ser codificado em uma sequência de índices do codebook. No processo de decodificação, a sequência de índices do codebook é transformada novamente em uma sequência de quadros, e os quadros recuperados são utilizados na reconstrução do sinal, através da aplicação da técnica de overlap and add. A Seção 1 apresenta uma breve introdução ao problema de quantização vetorial. A Seção 2 apresenta alguns conceitos relacionados à representação e ao processamento de sinais de fala. A Seção 3 mostra como a técnica de quantização vetorial pode ser aplicada à compressão de sinais de fala. A Seção 4 apresenta uma discussão sobre redes neurais auto-organizáveis e sua utilização na clusterização de dados. Por fim, a Seção 5 apresenta os resultados da aplicação de uma rede auto-organizável na quantização vetorial de uma base de dados composta por quadros parametrizados extraídos de sinais de fala. Entre as alternativas estudadas, é feita uma discussão indicando quais se apresentaram como o melhor conjunto de parâmetros a ser utilizado para representar os quadros, a melhor topologia de rede e as melhores estratégias de inicialização e treinamento da rede neural. 1 Quantização vetorial e compressão de dados Quantização vetorial é uma técnica clássica de compressão de dados bastante utilizada em aplicações como compressão de imagens, de voz e reconhecimento de fala, entre outras (GERSHO; GRAY, 1992; GRAY; NEUHOFF, 1998). Trata-se de uma técnica de compressão que normalmente acarreta perdas, uma vez que um codebook de tamanho limitado pode não permitir a recuperação da informação original na íntegra (HAYKIN, 1999). Em quantização vetorial, tem-se um conjunto de * Autor a quem a correspondência deve ser dirigida: simoes@cpqd.com.br ** Jeremias Barbosa Machado é aluno de pós-doutorado do Departamento de Engenharia da Computação e Automação Industrial (DCA) da Faculdade de Engenharia Elétrica e de Computação da Universidade Estadual de Campinas (Unicamp). Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009

dados de entrada {v 1, v 2,..., v N } constituído por N vetores de dimensão. A tarefa de um compressor baseado em quantização vetorial é fazer o mapeamento desse conjunto de entrada em um outro conjunto {c 1,c 2,...,c M }, de tamanho finito M N, também composto por vetores de dimensão k. Esse novo conjunto é denominado codebook e os vetores c i que o compõem são denominados codevectors. No processo de compressão, cada um dos vetores do conjunto de entrada será mapeado em um codevector. Daí advém o nome da técnica, pois o novo vetor será uma versão quantizada (ou seja, aproximada) do vetor original (conforme Figura 1). Esta aproximação introduz um erro na representação dos dados de entrada, denominado erro de quantização vetorial (GRAY; NEUHOFF, 1998). Supondo que haja uma métrica d. que represente a distância entre dois vetores (por exemplo, a distância euclidiana), uma medida do erro de quantização de um vetor v i do conjunto original é a distância entre esse vetor v i e a sua versão quantizada q v i : Q i =d v i, q v i (1) No projeto do codebook, deseja-se minimizar a perda de informação do conjunto de dados codificados. Em outras palavras, para cada vetor de entrada v i, deseja-se minimizar o erro de quantização dado por (1). Minimizar o erro de quantização para todos os vetores do conjunto de entrada equivale a minimizar o erro de quantização vetorial médio do conjunto que pode ser definido por: N Q N = 1 Q N i i=1 (2) onde N representa o número de vetores do conjunto de entrada. Para criar um codebook que atenda a esse critério, é necessário escolher um conjunto de codevectors de forma que as distâncias entre codevectors e vetores por eles representados sejam as menores possíveis (GRAY; NEUHOFF, 1998). No processo de geração do codebook, utiliza-se um conjunto de dados de treinamento representativo dos dados a serem posteriormente codificados. Os dados de treinamento são agrupados em classes ou clusters, de acordo com algum critério de proximidade (normalmente, a mesma métrica de distância usada no cálculo do erro de quantização). Um cluster é, portanto, um subconjunto de vetores suficientemente próximos entre si. O número de clusters a ser gerado depende da distribuição dos dados de treinamento. Normalmente, deseja-se minimizar a distância intragrupo e maximizar a distância intergrupo. É possível, mas não obrigatório, fixar a priori o número de clusters com o objetivo de gerar um codebook de tamanho previamente conhecido. Tal estratégia, no entanto, não garante a obtenção do menor erro de quantização médio. Em princípio, quanto maior o número de clusters, menor o erro de quantização médio. Figura 1 Codebook 34 Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009

Uma vez gerado o codebook, este é utilizado para compressão dos dados da seguinte forma: para cada vetor do conjunto de entrada, varre-se o codebook em busca do codevector mais próximo, associando-se ao vetor de entrada o índice relativo a este codevector. Dessa forma, o conjunto de vetores de entrada é transformado em um conjunto de índices do codebook. Em uma aplicação em que haja transmissão de dados, apenas os índices são transmitidos pelo canal e não os codevectors. Supõe-se, portanto, que o codebook seja conhecido também no receptor. Na etapa de decodificação, os índices são recebidos e usados na recuperação da sequência de codevectors. O processo completo é exibido conforme Figura 2. 2 Análise de sinais de fala Um sinal de fala é produzido a partir da passagem do ar pelo aparelho fonador humano. Ao ser representado digitalmente, o sinal de fala pode ser visto como um conjunto de amostras espaçadas no eixo do tempo. As características do sinal de fala, em um dado instante, dependem da configuração momentânea do trato vocal do falante, ou seja, da abertura dos lábios e da mandíbula, da posição da língua, da taxa de vibração das pregas vocais, etc. Ao proferir uma sentença, o falante modifica continuamente a configuração de seu trato vocal, de forma a produzir uma sequência de sons que transmite uma mensagem ao ouvinte. Essa sequência de sons é composta por unidades básicas, denominadas fones. Pode-se definir um fone como um trecho do sinal de fala cujas características acústicas seguem um determinado padrão. Nos trechos de sinal de fala vozeados (Figura 3), ocorre a vibração das pregas vocais. Percebe-se nesse caso que o sinal de fala apresenta uma característica quase periódica, com a ocorrência de picos que se repetem com espaçamento aproximadamente constante. O espaçamento entre esses picos está diretamente relacionado à taxa de vibração das pregas vocais: picos mais próximos entre si indicam uma maior taxa de vibração e, por consequência, uma voz mais aguda; picos mais espaçados, por sua vez, indicam uma taxa de vibração menor das pregas vocais e uma voz mais grave. Figura 2 Codificação e decodificação por meio de codebook pm i 1, pm i, pm i 1... Marcasde pitch Figura 3 Sinal vozeado Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009 35

Já nos trechos não vozeados do sinal (Figura 4), não ocorre vibração das pregas vocais. Nesse caso, o sinal possui energia mais baixa do que a dos trechos vozeados e apresenta característica totalmente aperiódica, assemelhando-se a um sinal de ruído. Figura 4 Sinal não vozeado Há, por fim, trechos do sinal de fala com características híbridas entre as dos sinais vozeados e as dos não vozeados. Muito embora as características do sinal de fala variem continuamente ao longo do tempo, é possível analisar suas características acústicas de forma discreta. Uma maneira de fazer isso é subdividir o sinal de fala em trechos de curta duração, chamados quadros, nos quais as características acústicas podem ser consideradas praticamente constantes. A divisão do sinal de fala em quadros, adotada neste trabalho, diferencia trechos de sinal vozeados dos não vozeados, através do uso de marcas de pitch, conforme definido a seguir. Nos trechos do sinal com característica vozeada, as marcas de pitch são posicionadas nos picos do sinal de fala (Figura 3). A distância entre marcas de pitch consecutivas, denominada período de pitch, está relacionada com a taxa de vibração das pregas vocais naquele trecho do sinal. Nos sinais não vozeados, as marcas de pitch são posicionadas em instantes igualmente espaçados no tempo e não têm relação com a vibração das pregas vocais. Uma vez posicionadas as marcas de pitch no sinal de fala, faz-se a subdivisão desse sinal em quadros. Neste trabalho, um quadro é definido como sendo um trecho de sinal em torno de uma marca de pitch, iniciando na marca de pitch imediatamente anterior e indo até a marca de pitch imediatamente seguinte. Percebe-se, portanto, que há sobreposição entre quadros adjacentes: as amostras do período direito de um quadro são as mesmas do período esquerdo do quadro seguinte. Para extrair um quadro do sinal de fala, multiplica-se o trecho de fala de interesse por uma janela assimétrica cujo pico coincide com a marca de pitch central do quadro e com o mesmo número de amostras do quadro. Trata-se de uma janela formada pela junção de duas meias janelas de Hanning (MAKHOUL; WOLF, 1972; BOLL, 1979). A primeira metade corresponde à metade esquerda de uma janela de Hanning de tamanho 2N 1, e a segunda metade corresponde à metade direita de uma janela de Hanning de tamanho 2N 2. As amostras da janela, com primeira amostra na origem, são dadas pela seguinte expressão: π n 0,5 1 cos ; 0 n N 1 N1 1 wn ( ) = π ( n+ N1 N2 + 1) 0,5 1 cos ; N n N N 1 2 2 (3) Ao multiplicar o sinal de fala por uma janela posicionada na marca de pitch central do quadro sob análise, obtém-se o quadro janelado, cujas amostras correspondem às amostras originais do quadro com atenuação crescente em direção às bordas. No processo de janelamento de quadros adjacentes, as janelas são posicionadas de forma que a primeira amostra de uma janela coincida com a amostra da marca central da janela anterior e a última amostra dessa mesma janela coincida com a amostra da marca central da janela seguinte. Ao somar as amostras de janelas consecutivas posicionadas dessa maneira, em um processo chamado overlap and add, obtém-se uma sequência de amostras de valor constante igual a 1. Essa propriedade permite reconstruir o sinal original sem distorção a partir de seus quadros janelados. Para isso, basta posicionar os quadros janelados conforme descrito anteriormente e, em seguida, fazer o overlap and add (conforme Figura 5). Figura 5 Overlap and add de quadros janelados 3 Quantização vetorial aplicada à compressão de sinais de fala Os quadros de um sinal de fala correspondentes a sons similares podem apresentar forte semelhança entre si. É possível explorar essa semelhança a fim de armazenar sinais de fala de forma mais compacta. A ideia por trás dessa estratégia é descartar informações repetitivas, presentes em quadros similares, armazenando somente as diferenças relevantes. Uma maneira de implementar essa estratégia é através da quantização vetorial (BUZO et al., 1981; KRISHNAMURTHY et al., 1990). Para que a quantização vetorial possa ser utilizada na compressão de sinais de fala, é 36 Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009

necessário que o sinal seja representado como um conjunto de vetores de dimensão fixa. Para que possamos utilizar os quadros janelados como sendo as unidades básicas que serão sujeitas ao processo de quantização vetorial, devemos realizar uma transformação na forma de representar os quadros. Isso porque o número de amostras de um quadro é variável: quanto maior o período de pitch associado ao quadro, maior o número de amostras nele presentes. Essa transformação é denominada parametrização. Cada quadro passará a ser representado por um conjunto fixo de parâmetros associados a características acústicas do sinal de fala. Quanto mais semelhantes forem os quadros em termos acústicos, mais próximos devem ser os seus vetores de parâmetros. Para implementar um processo de quantização vetorial de forma eficiente é necessário definir um conjunto de parâmetros que carregue a maior quantidade possível de informação relevante para diferenciação entre quadros. É importante também que haja baixa correlação entre os parâmetros usados, a fim de evitar que eles carreguem informação redundante. Uma vez definido o conjunto de parâmetros a ser utilizado, cada quadro do conjunto de treinamento é associado a um vetor de parâmetros. Esses vetores são agrupados em clusters e, para cada cluster, elege-se um vetor representante, que será o codevector a ser incluído no codebook. O codevector será escolhido entre os vetores que compõem o cluster, de forma que minimize o erro de quantização médio dos vetores do cluster. Diferentes técnicas podem ser consideradas para gerar o codebook. A Seção 4 apresenta a estratégia implementada neste trabalho, baseada em redes neurais com treinamento não supervisionado (mapa de Kohonen bidimensional). Uma vez construído o codebook, é possível utilizá-lo para codificar um sinal de fala qualquer. O processo de codificação consiste nos seguintes passos: divisão do sinal a ser codificado em quadros; determinação dos períodos de pitch esquerdo e direito associados aos quadros; determinação da energia dos quadros; geração dos vetores de parâmetros dos quadros; mapeamento dos vetores do quadros em índices do codebook. Para cada quadro do sinal codificado são transmitidos ao receptor o índice do codevector, a energia e os períodos esquerdo e direito (Figura 6). No decodificador, a sequência de índices é mapeada novamente em uma sequência de codevectors (Figura 7). Figura 6 Codificação de quadros de fala usando codebook Figura 7 Decodificação de quadros de fala usando codebook Não é possível reconstruir as amostras dos quadros janelados correspondentes aos codevectors apenas a partir dos parâmetros acústicos armazenados no vetor. Por isso, é necessário que haja no decodificador um dicionário de quadros que armazene, para cada codevector, o quadro janelado que o gerou na etapa de treinamento. Dessa forma, pode-se transformar a sequência de índices que chega ao receptor em uma sequência de quadros janelados. Os quadros janelados, recuperados do dicionário, são submetidos a um ajuste de ganho, de forma que a sua energia passe a ser igual à energia do quadro original. Com isso, evita-se a ocorrência de descontinuidades de amplitude no sinal Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009 37

reconstruído. A reconstrução do sinal é feita através da operação de sobreposição dos quadros janelados (overlap and add) após a correção de ganho (Figura 8). O espaçamento entre as janelas deve ser tal que os períodos de pitch do sinal original sejam preservados. Dessa forma, a curva de entonação da sentença reconstruída será a mesma da sentença original, assim como sua duração. Deve-se observar que, ao fazer esse posicionamento das janelas, não existe mais garantia de que a primeira amostra de uma janela coincida com a amostra da marca central da janela anterior, nem de que a última amostra dessa mesma janela coincida com a amostra da marca central da janela seguinte. Isso porque o período do quadro armazenado no codebook não é necessariamente o mesmo do quadro sintetizado. Essa alteração no nível de sobreposição das janelas introduz distorção no sinal reconstruído. Quanto menor for tal distorção, menor será a diferença entre os períodos de pitch dos quadros originais e os dos quadros recuperados do dicionário. 4 Mapas auto-organizáveis Os mapas auto-organizáveis (Self-Organizing Maps SOM) são um tipo de rede neural artificial, inicialmente proposta por Kohonen (1982), levando seu nome. Seu treinamento é feito através de um processo não supervisionado que consiste em quatro etapas (HAYKIN, 1999): inicialização da rede; processo competitivo; processo cooperativo, processo adaptativo. Na inicialização da rede são definidos os seus parâmetros de configuração: o tipo de distribuição dos neurônios (uni ou bidimensional), a topologia a ser utilizada, no caso bidimensional (folha, cilíndrica ou toroidal), e os valores iniciais dos pesos sinápticos dos neurônios, que podem ser definidos aleatoriamente ou por algum outro critério. Os pesos sinápticos da rede têm a mesma dimensão dos objetos de entrada. Na etapa de aprendizagem propriamente dita, padrões de treinamento são apresentados sequencialmente à rede. Nesta etapa, o vetor x, que representa um objeto de entrada, é apresentado a todos os neurônios da rede e é calculada a distância entre x e todos os vetores de pesos dos respectivos neurônios da rede. A unidade do mapa que apresenta a menor distância em relação ao vetor de entrada x é denominada neurônio vencedor ou Best Matching Unit (BMU). Essa etapa é classificada como a etapa de competição (KOHONEN, 1990a, 1990b), na qual se deseja encontrar o neurônio com maior ativação para cada objeto de entrada. Em seguida, o neurônio vencedor (correspondente ao BMU) é atualizado, sendo movido em direção ao padrão x apresentado na entrada. Os neurônios presentes na vizinhança do neurônio vencedor são também atualizados na direção do padrão de entrada, com taxa de deslocamento seguindo geralmente uma distribuição gaussiana ao redor do neurônio vencedor. A função de ativação da vizinhança é dada pela seguinte equação: 2 d i, j hi, j( n) = exp, n 0,1, 2, 2 = K 2σ ( n) (4) onde: d i, j é a distância entre os neurônios i (vencedor) e j (vizinho); e é o desvio padrão ajustado a cada tempo discreto n. A taxa com que é atualizado a cada instante é dada por: σ n = exp, n= 0,1,2, τ1 ( n) σ0 K (5) onde 0 é o valor de na inicialização do algoritmo SOM e 1 é uma constante de tempo. Dessa maneira, a vizinhança topológica decresce com o passar do tempo (HAYKIN, 1999). Essa etapa é conhecida como etapa cooperativa, uma vez que o neurônio vencedor irá influenciar no ajuste da sua vizinhança. O processo de aprendizagem se conclui com a etapa adaptativa. Nessa etapa, os vetores de pesos sinápticos w dos neurônios serão ajustados em direção ao vetor de entrada x. A atualização do neurônio vencedor e dos neurônios presentes na sua vizinhança topológica se dá pela seguinte equação: ( ) ( 1) ( ) ( ) ( ) w n+ = w n + h n x w n (6) j j i, j j w j n é o vetor de pesos do neurônio onde j no instante de tempo n e h i, j é a taxa com que o vetor de pesos w j deve se aproximar do padrão de entrada x i. Os padrões de entrada podem ser apresentados em lote (com atualização dos pesos sinápticos somente após a apresentação de todo o lote de dados) ou em forma sequencial (com atualização dos pesos após a apresentação de cada padrão) (HAYKIN, 1999). As operações citadas acima são realizadas até que se atinja um dado número de iterações ou que um determinado critério de parada seja satisfeito (por exemplo, quando o erro de quantização médio ficar abaixo de um 38 Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009

dado limiar). 4.1 Matriz U Os mapas auto-organizáveis são uma projeção de espaços de alta dimensão dos dados de entrada no espaço de dimensão reduzida da estrutura da rede de Kohonen, que normalmente é uni ou bidimensional. O algoritmo de aprendizagem de um SOM é projetado para preservar as relações de vizinhança do espaço de alta dimensão no espaço do mapa (KOHONEN, 1982). Os mapas de Kohonen bidimensionais planos apresentam como desvantagem o fato de os neurônios nas bordas do mapa terem um mapeamento diferente dos neurônios presentes no centro do mapa. Em muitas aplicações, importantes clusters aparecem nas bordas de tais mapas. Para evitar esse tipo de comportamento, que implica em violação topológica no mapa, são utilizados mapas com vizinhanças cilíndricas ou toroidais. Para se analisar as características emergentes do mapa de Kohonen, foi proposto o uso da matriz U (ULTSCH; SIEMON, 1990). A matriz U é construída a partir da superfície gerada pela plotagem das distâncias entre dois neurônios vizinhos. Seja um neurônio n pertencente ao mapa e NV n o conjunto de neurônios imediatamente vizinhos a n no mapa, com w n o vetor de pesos referente ao neurônio n. Então, U( n) = d( wn wm) (7) m NV( n) onde d x,y é a distância usada no algoritmo de construção do mapa autoorganizável. A representação gráfica da matriz U geralmente se dá por uma representação em 2D com curvas de nível ou em 3D com escala de cores. As propriedades da matriz U são: a posição da projeção dos dados de entrada reflete a topologia do espaço de entrada; os vetores de pesos de neurônios vizinhos com alto valor na matriz U indicam vetores distantes no espaço de entrada; os vetores de pesos de neurônios vizinhos com baixo valor na matriz U indicam vetores próximos no espaço de entrada; os picos na representação 3D da matriz U representam fronteiras entre os clusters; os vales na representação 3D da matriz U representam clusters. Dessa maneira, a matriz U representa o comportamento emergente do mapa de Kohonen, a partir dos objetos presentes no espaço de entrada. 4.2 Clusterização e o algoritmo k-means A matriz U representa a distância entre os pesos dos neurônios, preservando a vizinhança topológica dos padrões de entrada que geralmente estão em um espaço de alta dimensão. Muitas vezes é difícil determinar com precisão onde se localizam as fronteiras dos clusters, conforme Figura 9. Em determinadas aplicações, a matriz U é suficiente para se determinar os clusters e suas fronteiras. Contudo, no problema abordado neste trabalho, além de determinar os clusters, é necessário determinar o neurônio que melhor representa cada cluster, para que este esteja presente no codebook no processo de quantização vetorial. Figura 9 Matriz U em 2D Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009 39

Para solucionar esse problema, é utilizado o algoritmo k-means de clusterização sobre a matriz U. O algoritmo k-means (FORGEY, 1965; MACQUEEN, 1967) permite criar k clusters a partir de um conjunto de objetos, tendo como objetivo encontrar protótipos para os clusters de forma que a distância dos objetos dentro do grupo em relação a esses protótipos seja mínima. Assumindo que os objetos estejam na forma de vetores de atributos, a função a ser minimizada é: k 2 j i (8) i= 1 xj si J = x µ onde há k clusters S i, i=1, 2,...,k, i é o protótipo ou centroide dos respectivos clusters, x j é o j -ésimo objeto pertencente ao i -ésimo cluster e. é uma norma de distância adotada, sendo geralmente utilizada a norma euclidiana. Um dos mais populares algoritmos utilizados para resolver de forma iterativa este problema é o algoritmo de Lloyd (LLOYD, 1982). Esse algoritmo inicia-se com o particionamento, aleatório ou utilizando alguma heurística, dos objetos de entrada em k clusters. Posteriormente, é calculado o protótipo de cada um dos clusters, dado inicialmente como o ponto médio. Uma vez calculado o protótipo, os clusters são redefinidos de forma a minimizar a distância dos objetos ao centroide. Após a redefinição, novos centroides são calculados e os clusters são novamente redefinidos. O processo é repetido até que uma dada condição de convergência seja atingida. Além desse, outros métodos para implementar o algoritmo k- means são apresentados na literatura (KANUNGO et al., 2002). Após a convergência, são definidos os clusters e seus respectivos protótipos, os quais serão utilizados como representantes dos clusters em aplicações do codebook obtido. 5 Análise de resultados Neste trabalho, a rede de Kohonen foi utilizada em conjunto com o algoritmo k-means para fazer o agrupamento dos quadros de fala de acordo com suas características acústicas. Para tal, diferentes quadros pertencentes a uma base de dados de fala foram apresentados à rede em lote. Pelo fato de que quadros de fala adjacentes no tempo muitas vezes apresentam alta correlação, tomou-se o cuidado de embaralhá-los a cada iteração antes da apresentação dos dados à rede. Com isso, procurou-se evitar a polarização do treinamento da rede decorrente da apresentação de uma grande quantidade de dados similares em sequência. O treinamento em lote utilizou como critério de parada um número de iterações fixo e suficientemente grande, para garantir que o erro de quantização atingisse um regime permanente (convergência). Como resultado do treinamento, após a convergência os neurônios da rede representam os diferentes grupos de quadros de fala apresentados à rede. Para determinar os quadros representantes de cada grupo, foi utilizado o algoritmo k-means, cuja saída é o conjunto de codevectors que irão compor o codebook. Os ensaios foram divididos em duas partes fundamentais: a primeira delas consiste na análise dos parâmetros da fala, em busca do conjunto capaz de gerar os melhores resultados; a segunda consiste na análise topológica referente à inicialização e ao treinamento da rede neural empregada, buscando avaliar a influência dos diferentes arranjos na qualidade do sinal de fala sintetizado a partir do sinal quantizado. Por fim, foi feita a comparação dos resultados obtidos, por meio da técnica proposta, com os resultados de um algoritmo de codificação perceptual popular, de forma a obter uma referência do potencial do método aqui proposto. Nessa etapa de análise, foi utilizada a mesma base de dados de fala tanto para o treinamento do codebook como para a validação do processo de compressão. A base de dados utilizada é composta por arquivos de fala representando 100 frases. As frases foram projetadas de forma a apresentar riqueza e diversidade fonéticas. Os arquivos de fala são armazenados no formato wave (codificação PCM linear) com taxa de amostragem de 16 khz e 16 bits por amostra. No total, as 100 frases da base de dados são constituídas por aproximadamente 52.000 quadros. 5.1 Seleção de parâmetros O principal objetivo dessa análise é determinar um conjunto de parâmetros que agrupe os quadros do sinal de fala de forma coerente. Para tal, foi definida uma metodologia capaz de avaliar de maneira objetiva e quantitativa a qualidade do sinal de fala reconstruído a partir dos quadros presentes no codebook. Essa metodologia consiste em gerar diferentes conjuntos de vetores de atributos a partir dos quadros da base de dados de fala. Os vetores são agrupados em clusters utilizando uma rede de Kohonen em conjunto com o algoritmo k-means para formar o codebook de fala. A partir do codebook, foram reconstruídas as mesmas 100 frases usadas no treinamento e a qualidade desses sinais foi avaliada. Portanto, o objetivo da metodologia apresentada é avaliar o conjunto de parâmetros 40 Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009

que gerou o melhor codebook. Duas formas tradicionais para avaliação da qualidade de sinais de fala são: a avaliação subjetiva (inspeção auditiva) e avaliação objetiva (medida objetiva gerada por um algoritmo). A avaliação subjetiva consiste no uso de métodos padronizados (ITU-T 85, 1994; ITU-T P.830, 1996a; ITU-T P.830, 1996b) para a geração de notas de avaliação de qualidade por avaliadores humanos, e é bastante dispendiosa em termos de tempo e requisitos de infraestrutura. Na avaliação objetiva, por sua vez, substituem-se os avaliadores humanos por um algoritmo implementado em software (ITU-T P.861, 1998; ITU-T P.862, 2001), o qual utiliza modelos psicoacústicos que, com base em diversas características do aparelho auditivo humano, geram notas que simulam os resultados de testes subjetivos. O algoritmo utilizado neste trabalho é o Perceptual Evaluation of Speech Quality (PESQ), padronizado na norma de referência P.862 da ITU-T (ITU-T P.862, 2001). Os parâmetros de fala escolhidos para teste são parâmetros comumente utilizados em aplicações envolvendo processamento de sinais de fala, amplamente referenciados na literatura (ANDERSON, 1992; CAWLEY; NOAKES, 1993; HERNANDEZ-GOMEZ; LOPEZ-GONZALO, 1993; KITAMURA; TAKEI, 1996). São eles: período esquerdo: número de amostras entre o início do quadro e a marca de pitch central; período direito: número de amostras entre a marca de pitch central e o final do quadro; taxa de cruzamento de zeros: contagem do número de vezes, por centésimo de segundo, em que ocorreu mudança de sinal entre amostras consecutivas do quadro; taxa de máximos e mínimos: contagem do número de inflexões da forma de onda ao longo do quadro, por centésimo de segundo; parâmetros mel-cepstrais: transformada cosseno (DCT) do módulo do espectro em db do sinal. O espectro é calculado através da transformada rápida de Fourier (FFT) com 1.024 pontos. Antes do cálculo do módulo do espectro em db, os coeficientes do espectro são submetidos a uma filtragem por um banco de filtros cujo resultado é a energia distribuída em 24 bandas críticas na escala mel. A escala mel é uma transformação do eixo de frequência, linear para frequências baixas e aproximadamente logarítmica para frequências altas, cujo objetivo é simular a resposta em frequência do ouvido humano. Para o cálculo dos parâmetros mel-cepstrais considerados neste trabalho, foi utilizado o algoritmo de Davis & Mermelstein (1980). Outros tipos de parâmetros serão avaliados em trabalhos futuros, tais como coeficientes de predição linear (LPC), coeficientes LP-Cepstrais, coeficientes espectrais e coeficientes espectrais mel/bark. A Tabela 1 apresenta o resultado da aplicação do algoritmo PESQ (medida PESQMOS, variando entre 0, no pior caso, e 4.500 no melhor) para os diferentes conjuntos de parâmetros testados. O melhor arranjo topológico obtido na Seção 5.2 foi utilizado nas simulações. Não foi feita a normalização dos parâmetros mel-cepstrais, pois seus valores já são aproximadamente proporcionais à variância dos parâmetros. Por outro lado, os parâmetros de período foram normalizados em função da variância do primeiro parâmetro mel-cepstral. Vê-se que o melhor conjunto obtido é composto por 13 parâmetros (os 12 primeiros parâmetros mel-cepstrais mais o período esquerdo do quadro). 5.2 Análise topológica e de inicialização Em busca da maximização da qualidade do sinal de fala gerado a partir do codebook, foram analisadas diversas configurações topológicas e de inicialização da rede de Kohonen. A rede foi implementada com o auxílio do toolkit SOM mantido pelo grupo de Teuvo Kohonen na Helsinki University of Technology (SOM Toolbox). Um tutorial do toolkit SOM em português foi desenvolvido por Rittner & Brum (2005). Os valores quantitativos referentes à avaliação objetiva que serão apresentados correspondem à média de 10 medidas objetivas para 10 treinamentos distintos da rede utilizando as 100 frases da base de testes. Tabela 1 Valores da avaliação objetiva para diferentes conjuntos de parâmetros Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009 41

(a) (b) Figura 10 Matriz U para diferentes configurações do mapa: (a) Retangular; (b) Hexagonal 5.2.1 Vizinhança Para avaliar a influência do arranjo dos neurônios da rede, testamos e avaliamos diferentes configurações de vizinhança com o auxílio do PESQ. As Figuras 10(a) e 10(b) apresentam a matriz U para uma realização utilizando as vizinhanças retangular (PESQMOS = 2346,56) e hexagonal (PESQMOS = 2358,56), respectivamente. Nota-se que a Figura 10(b) apresenta uma diversidade maior, expressa por uma maior distância entre regiões (grupos) de neurônios. A vizinhança hexagonal também apresentou maior valor no PESQ. No que diz respeito à vizinhança, também foi avaliada a influência do arranjo nos extremos do mapa. A Tabela 2 apresenta os valores da avaliação objetiva. Nota-se que os resultados obtidos foram próximos entre si, sendo que o arranjo toroidal apresentou o melhor resultado (PESQMOS = 2358,56). Tabela 2 Desempenho em função do arranjo da vizinhança nos extremos Arranjo PESQMOS folha 2330,74 cilindro 2349,17 toroide 2358,56 42 Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009

5.2.2 Número de neurônios Os testes preliminares utilizando o método de quantização vetorial mostraram que existe um compromisso entre o número de neurônios da rede e o número de clusters de saída gerado pelo algoritmo k-means, razão pela qual é essencial avaliar a influência do número de neurônios para um número fixo de clusters. Para isso, treinou-se a rede com uma única frase da base, contendo 440 quadros, sendo fixado o número de clusters na saída do k-means em 440. O principal objetivo dessa análise é observar a capacidade da rede de gerar um codebook contendo representantes distintos para cada vetor de entrada, ou seja, gerar um codebook formado por todos os vetores originais. No primeiro ensaio, foi utilizada uma rede de 21x21 neurônios (número de neurônios igual ao número de clusters) e no segundo ensaio, utilizou-se uma rede de 50x50 neurônios (número de neurônios bem maior do que o número de clusters). As Figuras 11(a) e 11(b) apresentam a matriz U e a saída do k-means, respectivamente, para o primeiro ensaio. As Figuras 11(c) e 11(d) apresentam a matriz U e a saída do k-means para o segundo ensaio. É possível observar que no primeiro ensaio não há informação suficiente na matriz U, devido ao fato de o k-means não conseguir formar os 440 clusters desejados. Já no segundo ensaio, a matriz U apresenta um resultado conforme o esperado, em que se pode observar uma nítida barreira (distância) entre os diferentes grupos de neurônios. Nesse caso, o k- means conseguiu gerar um número de clusters bem maior. O resultado da avaliação objetiva foi de 1.816 para o primeiro ensaio e 3.564 para o segundo. Através de inspeção auditiva, percebese claramente que o sinal de fala gerado com o primeiro codebook apresenta sérias degradações, enquanto o sinal gerado com o segundo quase não apresenta degradações perceptíveis. Na sequência dos testes, analisamos a influência do número de neurônios no treinamento com toda a base de dados (contendo cerca de 52.000 quadros). A Tabela 3 mostra os resultados da avaliação objetiva obtidos para mapas com diferentes números de neurônios. É possível notar que, à medida que se aumenta o número de neurônios, ocorre um aumento do valor do resultado da avaliação objetiva. (a) (b) (c) (d) Figura 11 Clusterização utilizando uma frase (440 quadros): (a) Matriz U; (b) Clusterização para rede de 21x21 neurônios; (c) Matriz U; (d) Clusterização para rede de 50x50 neurônios Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009 43

Tabela 3 Desempenho em função do número de neurônios na rede Número de neurônios PESQMOS 25x25-625 2330,74 40x40-1600 2349,17 60x60-3600 2358,56 5.2.3 Inicialização dos pesos dos neurônios Foram testadas duas estratégias de inicialização dos neurônios: aleatória e linear. Apesar de a inicialização aleatória começar o treinamento da rede com um erro de quantização topológico maior, ambas convergem para um mesmo limiar, resultando aproximadamente na mesma medida PESQMOS. 5.2.4 Ajuste dos neurônios Uma característica da rede determinante para a qualidade do resultado final é a região de vizinhança em torno do neurônio vencedor dentro da qual há ajuste de pesos durante o treinamento. O objetivo dos ensaios descritos a seguir é avaliar a influência do tamanho dessa região. Três diferentes estratégias de vizinhança foram testadas. A primeira utilizou uma vizinhança denominada grande, capaz de ajustar todos os neurônios da rede. A segunda utilizou uma vizinhança pequena, com um raio abrangendo alguns poucos vizinhos. A terceira utilizou uma vizinhança decrescente, iniciando o treinamento com uma vizinhança capaz de ajustar todos os neurônios da rede e decrescendo linearmente o seu tamanho ao longo do processo, de modo a finalizá-lo com uma região abrangendo apenas os neurônios mais próximos. As Figuras 12(a), 12(b) e 12(c) apresentam os erros de quantização topológicos para as vizinhanças grande (PESQMOS = 2241,70), pequena (PESQMOS = 2429,20) e decrescente (PESQMOS = 2472,20), respectivamente. Nota-se que o erro apresentado pela vizinhança grande é maior se comparado com os demais. A vizinhança decrescente apresentou menor erro de quantização e PESQMOS. (a) (b) (c) Figura 12 Estratégia de ajuste dos neurônios: (a) Vizinhança grande ; (b) Vizinhança pequena ; (c) Vizinhança decrescente 44 Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009

5.2.5 Tamanho do codebook Por fim, passamos à análise do tamanho do codebook de fala. O objetivo aqui é avaliar a influência do número de codevectors de saída obtidos pelo algoritmo k-means. Teoricamente, quanto maior o tamanho do codebook, maior a quantidade de vetores para representação da base inicial codificada e, portanto, maior a qualidade perceptual dos sinais reconstruídos. A comprovação exaustiva desse fato através de medidas experimentais extrapola o escopo deste trabalho. Tabela 4 Desempenho do tamanho do codebook Número de codevectors PESQMOS 20 2058,96 100 2226,89 500 2341,86 1000 2415,90 3000 2382,33 A Tabela 4 apresenta o resultado PESQMOS para distintos tamanhos de codebook. Os resultados foram obtidos utilizando a base de treinamento com 100 frases (cerca de 52.000 quadros) e uma rede de 60x60 neurônios. Notase pela tabela que os valores PESQMOS aumentam até o codebook com 1000 codevectors, como era esperado. No entanto, para um codebook com 3.000 codevectors, o valor PESQMOS é menor do que para o codebook com 1.000 codevectors. Isso se deve provavelmente ao fato de que, nesse caso, o número de neurônios na rede é insuficiente para representar 3.000 clusters. Como mostrado anteriormente, existe um compromisso entre o número de neurônios e o número de clusters. 5.3 Comparação com o MPEG1-Layer 3 Com o intuito de avaliar o potencial da técnica de quantização vetorial aqui proposta, comparamos os valores de avaliação objetiva para a melhor configuração encontrada na seção anterior com os valores obtidos utilizando o codec MPEG1- Layer 3 (MP3). Foi utilizado um codebook contendo 500 codevectors treinado a partir de 100 frases, utilizando um mapa de 60x60 neurônios, propiciando uma taxa de compressão de cerca de 100 vezes. Na compressão via MP3, foi utilizada uma taxa de bits constante (CBR) de 8 kbit/s, propiciando uma taxa de compressão de cerca de 30 vezes. A Tabela 5 apresenta o resultado da comparação objetiva. Vemos que a abordagem utilizando o método de quantização vetorial apresentou uma taxa de compressão mais de três vezes superior à do MP3 e o resultado da avaliação objetiva indicou um menor nível de degradação. Ao fazer a inspeção auditiva dos sinais decodificados, percebe-se que as degradações impostas pelas duas técnicas são diferentes. A técnica de quantização aqui proposta introduz efeitos de descontinuidade do sinal, ao passo que a codificação MP3 tipicamente torna o sinal "abafado", indicando perda de componentes de alta frequência. Tabela 5 Comparação do método de quantização vetorial com MPEG1-Layer 3 Tipo de compressão PESQMOS Sem compressão 4500 Quantização vetorial (compr. 100 vezes) 2343 MPEG1-Layer 3 (compr. 30 vezes) 1904 Conclusão Neste trabalho foi proposto um método de compressão de sinais de fala baseado em quantização vetorial. O método utiliza como unidades básicas do sinal de fala os quadros obtidos através da segmentação do sinal em suas marcas de pitch. Esses quadros são parametrizados e agrupados em diferentes clusters, de acordo com suas características acústicas. Para o agrupamento (clusterização) dos quadros de fala, foi utilizada uma rede neural de Kohonen em conjunto com o algoritmo k-means. O uso deste último deve-se à necessidade de que o número de neurônios na rede seja superior ao número de clusters presentes no codebook de fala. Os resultados experimentais mostraram que o método foi bem-sucedido, agrupando os quadros do sinal de fala de forma coerente. A extração dos parâmetros dos quadros é uma etapa de fundamental importância para o correto agrupamento produzido pela rede de Kohonen. Os parâmetros mel-cepstrais mostraram preservar, mais do que qualquer outro parâmetro analisado, as características acústicas da fala relevantes para o processo de clusterização. A qualidade do sinal de fala reconstruído a partir do codebook é proporcional à relação entre a quantidade de codevectors existentes no codebook e o número de quadros existentes na base de fala original. O método de quantização vetorial aqui proposto apresentou resultados bastante promissores para aplicações de compressão de fala. Comparações com o codec MPEG1-Layer 3 utilizando o algoritmo PESQ para avaliação objetiva da qualidade dos sinais de fala resultaram em notas maiores para o algoritmo de quantização vetorial proposto. Nas próximas etapas deste trabalho, está prevista a análise de outros parâmetros extraídos de sinais de fala, tais como coeficientes de predição linear (LPC), coeficientes LP-Cepstrais, Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009 45

coeficientes espectrais, coeficientes mel/bark espectrais, etc. Está previsto ainda o estudo de mapas autoconstrutivos, de forma a melhorar o agrupamento dos neurônios na rede de Kohonen e eliminar o uso do algoritmo k-means. Além disso, será estudada uma forma de inicialização dos pesos da rede utilizando quadros de fala reais amostrados da base de treinamento. Referências ANDERSON, T. R. Phoneme recognition using an auditory model and a recurrent self-organizing neural network. ICASSP92: IEEE International Conference on Acoustics, Speech and Signal Processing, Vol. 2: p. 337-340, 1992. BOLL, S. Suppression of acoustic noise in speech using spectral subtraction. IEEE Trans. on Acoustics, Speech, and Signal Processing, 27(2): p. 113-120, 1979. BUZO, A. et al. Speech coding based upon vector quantization. IEEE Trans. on Acoustics, Speech, and Signal Processing, 28(5): p. 562-574, 1981. CAWLEY, G. C.; NOAKES, P. D. The use of vector quantization in neural speech synthesis, volume III, Piscataway, NJ, USA. IEEE Service Center, IJCNN93, International Joint Conference on Neural Networks. 1993. DAVIS, S.; MERMELSTEIN, P. Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences. IEEE Trans. on ASSP, 28(4): p. 357-366, ago, 1980. FORGEY, E. Cluster analysis of multivariate data: efficiency vs. interpretability of classification. Biometrics, (21): 768, 1965. GERSHO, A.; GRAY, R. Vector quantization and signal compression. 2ª ed., Kluwer Academic Publishers, 1992. GRAY, R. M.; NEUHOFF, D. Quantization. IEEE Trans. on Inf. Theory, 44(6), 1998. HAYKIN, S. Neural networks, a comprehensive foundation, 2ª ed. Prentice Hall, 1999. HERNANDEZ-GOMEZ, L. A.; LOPEZ- GONZALO, E. Phonetically-driven CELP coding using self-organizing maps, volume II, Piscataway, NJ. IEEE Service Center. ICASSP93, International Conference on Acoustics, Speech Propa gation and Signal Processing. 1993. ITU TELECOMMUNICATION STANDARDIZATION SECTOR (ITU-T). 85 A method for subjective performance assessment of the quality of speech voice output devices, jun. 1994. ITU TELECOMMUNICATION STANDARDIZATION SECTOR (ITU-T). P.830 Subjective performance assessment of telephone-band and wideband digital codecs, fev. 1996a. ITU TELECOMMUNICATION STANDARDIZATION SECTOR (ITU-T). P.830 Subjective performance assessment of telephone-band and wideband digital codecs, fev. 1996b. ITU TELECOMMUNICATION STANDARDIZATION SECTOR (ITU-T). P.861 Objective quality measurement of telephone-band (300-3400 Hz) speech codecs, fev, 1998. ITU TELECOMMUNICATION STANDARDIZATION SECTOR (ITU-T). P.862 Perceptual evaluation of speech quality (PESQ), an objective method for end-to-end speech quality assessment of narrow band telephone networks and speech codecs, fev, 2001. KANUNGO, T. et al. An efficient k-means clustering algorithm: analysis and implementation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24: 881-892, 2002. KITAMURA, T.; TAKEI, S. Speaker recognition model using two-dimensional mel-cepstrum and predictive neural network, New York, NY, USA. Proceedings ICSLP 96. Fourth International Conference on Spoken Language Processing, volume 3, 1996. KOHONEN, T. Self-organized formation of topologically correct feature maps. Biological Cybernetics, (43): 59-69, 1982. KOHONEN, T. Improved versions of learning vector quantization. IJCNN International Joint Conference on Neural Networks, (1): p. 545-550, 1990a. KOHONEN, T. The self-organizing map. Proceedings of the IEEE, (78): p. 1464-1480, 1990b. KRISHNAMURTHY, A. et al. Neural networks for vector quantization of speech and images. IEEE Journal on Selected Areas in Communications, 8(8): p. 1449-1457, 1990. LLOYD, S. P. Least squares quantization in PCM. IEEE Trans. Information Theory, (28): p. 129-137, 1982. MACQUEEN, J. Some methods for classification and analysis of multivariate observations. Proc. Fifth Berkeley Symp. Math. Statistics and Probability, (1): p. 281-296, 1967. 46 Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009

MAKHOUL, J.; WOLF, J. Linear prediction and the spectral analysis of speech. Bolt, Beranek, an Newman Inc., p. 172-185, 1972. RITTNER, L.; BRUM, I. B. Tutorial: SOM Toolbox para MATLAB. Unicamp, maio/2005. RUNSTEIN, F. Sistema de reconhecimento de Abstract fala baseado em redes neurais artificiais. Tese de Doutorado, FEEC/Unicamp, 1998. ULTSCH, A.; SIEMON, H. P. Kohonen s selforganizing feature maps for exploratory data analysis. In Proc. INNC 90, Int. Neural Network Conf., p. 305-308, Dordrecht, Holanda, 1990. We propose a speech compression technique based on vector quantization. A neural network with unsupervised learning is used to implement the vector quantizer. Some general issues concerning the vector quantization problem are presented, as well as some basic aspects related to speech signal processing. The idea of using a codebook to perform speech compression is introduced, and the use of a 2-dimensional self-organizing Kohonen map to generate the codebook is proposed. Finally, simulation results are presented, giving some insights on the best network initialization and training strategies, as well as the best network topology for this problem. Key words: Speech compression. Vector quantization. Neural networks with unsupervised learning. Signal processing. Cad. CPqD Tecnologia, Campinas, v. 5, n. 1, p. 33-48, jan./jun. 2009 47