Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Universidade Federal de Campina GrandeCentro de Engenharia Elétrica e Informática
Coordenação de Pós-graduação em Informática
Proposta de Dissertação de Mestrado
Desenvolvimento de um Sistema de Verificação Automática da Identidade Vocal de Locutores
para Dispositivos Embarcados
MestrandoFabrício Gutemberg Lélis de Melo
OrientadoresJoseana Macêdo Fechine
Elmar Uwe Kurt Melcher
Campina Grande
julho – 2009
Resumo
O ser humano procura utilizar a tecnologia da informação e comunicação onde quer
que esteja. Para tanto, estão sendo utilizados com maior frequência dispositivos com
tamanho reduzido que proporcionam portabilidade. Surge, portanto, a necessidade de
tornar esses dispositivos cada vez mais seguros e de fácil uso. Uma possível solução
para alcançar esse objetivo consiste na utilização da voz como forma de autenticação,
com vistas a reconhecer que é realmente o dono quem está usando um dado
equipamento. Assim sendo, torna-se imperativo o desenvolvimento de um sistema que
seja capaz de reconhecer um usuário a partir da sua voz e que também possibilite a
sua utilização em dispositivos portáteis. A voz é uma forma segura de autenticação,
pois contém características únicas de um dado ser humano, possibilitando distinguir
uma pessoa de outra. Porém, um desafio consiste em aplicar as técnicas de
Processamento Digital de Sinais de Voz em sistemas embarcados com restrições
associadas aos recursos computacionais (memória, poder de processamento, dentre
outros). Diante do exposto, o objetivo da proposta consiste no desenvolvimento de um
sistema para reconhecimento automático da identidade de locutores em sistemas
embarcados.
Sumário1. Introdução........................................................................................................42. Objetivo da proposta.....................................................................................10
2.1 Objetivo Principal....................................................................................102.2 Objetivos Específicos..............................................................................10
3. Relevância da Proposta................................................................................114. Metodologia...................................................................................................135. Cronograma...................................................................................................176. Referências Bibliográficas.....................................................................................18
1. IntroduçãoO ser humano sempre buscou meios de comunicação que facilitassem a
interação com a máquina. Em função disto e do crescente desenvolvimento
tecnológico de hardware para o processamento digital de sinais, o meio de
comunicação mais adequado seria a fala humana [Rabiner 1978, Vieira 1989,
Doddington 1985, Fagundes 1993].
A fala é um dos meios de comunicação mais utilizados pelo homem e que o
distingue dos demais seres humanos, permitindo-lhe a troca de idéias, expressão de
opiniões ou revelação do seu pensamento. A possibilidade de permitir a interação
homem-máquina por meio da voz torna essa interação mais fácil e produtiva [Rabiner
1978, Doddington 1985, Vieira 1989, Fagundes 1993], uma vez que além de ser a
forma mais natural de comunicação humana, oferece a vantagem de deixar mãos e os
olhos dos usuários disponíveis para outras tarefas. Aliado a esta vantagem, a maioria
das pessoas consegue atingir facilmente a taxa de 200 palavras por minuto quando
estão falando, enquanto poucas conseguem digitar em um teclado, mais de 60
palavras por minuto [Maciel 2007].
Os primeiros trabalhos descrevendo máquinas que conseguiam reconhecer
algumas palavras datam de 1952 [Davis 1952]. Nos anos 60, devido às descobertas
de certas propriedades da voz, surgiu uma grande quantidade de trabalhos sobre o
assunto [Koenig 1946, Rabiner 1978], devido também às facilidades oferecidas pelo
computadores digitais. Em seguida, observou-se a necessidade de criar máquinas que
não apenas fossem capazes de reconhecer o que estava sendo dito, como também
conseguissem responder ao que lhes era perguntado.
Com o crescente interesse por softwares e equipamentos que “compreendam”,
reconheçam e simulem a voz humana, pesquisas têm sido realizadas na área de
Processamento Digital de Sinais de Voz (PDSV), buscando o desenvolvimento de
técnicas que possibilitem a construção de padrões quer permitam modelar, de forma
eficiente, a fala, as características vocais únicas de cada locutor, bem como a
produção da voz sintetizada [Vieira 1989, Campbell 1997, Maciel 2007].
O avanço tecnológico na área de PDSV permitiu o desenvolvimento de sistemas
que utilizam a comunicação vocal homem-máquina, os quais podem ser divididos em
três grandes áreas [O'shaughnessy 1999]:
4
1.Sistema de Resposta Vocal;
2.Sistema de Reconhecimento de voz;
3.Sistema de Reconhecimento de locutor.
Sistemas de resposta vocal, ou sistemas de síntese de voz, são projetados para
responder a um pedido de informação utilizando mensagens faladas. Para gerar a
saída acústica para um vocabulário de várias centenas de palavras, torna-se
necessário usar elementos de texto armazenados digitalmente, consistindo de frases,
palavras, fonemas ou certos parâmetros chave (codificação paramétrica), que podem
ser concatenados para formar a saída desejada [Rabiner 1978].
O sistema de reconhecimento de voz pode ser subdividido em um grande
número de subáreas, dependendo de alguns fatores, tais como: tamanho do
vocabulário, população dos locutores, etc. A tarefa básica do sistema de
reconhecimento de voz é reconhecer uma determinada elocução de uma sentença ou
“entender” um texto falado [Rabiner 1978, Benzeghiba 2003]. Sistemas de
reconhecimento de fala podem ser utilizados em diversas situações, das quais se
destacam: atendimento telefônico automatizado, acesso a menu de equipamentos
eletrônicos, transcrição de sentenças pronunciadas para um arquivo texto.
Em relação aos Sistemas de Reconhecimento de Locutor (ou identidade vocal),
estes podem ser subdivididos em duas categorias: Verificação de Locutor ou
Identificação de Locutor [Rabiner 1978]. O primeiro determina se a voz é mesmo da
pessoa que alega possuí-la, enquanto que o segundo deve ser capaz de identificar
quem é o locutor. A utilidade desses sistemas é muito grande podendo ser utilizado
para controle de ambientes restritos e na área de criminalística com o mesmo
propósito que é dado às impressões digitais [Rabiner 1978, Campbell 1997]. A
autenticação vocal está baseada na unicidade vocal pertencente a cada pessoa.
Sendo assim, ela pode ser utilizada para identificar alguém.
Uma vantagem que pode ser destacada dessa técnica, quando comparada com
um exame de fundo de olho, impressões digitais e assinaturas, se refere à sua
facilidade de utilização em sistemas onde se exige o reconhecimento à distância; por
exemplo transações bancárias por telefone. E, ainda, a voz não pode ser perdida nem
tampouco esquecida [Doddington 1985]. Uma dificuldade encontrada nesse tipo de
sistema é a existência de fatores que podem interferir no reconhecimento do locutor,
tais como: estado emocional ou de saúde do locutor, ruído no ambiente, variação da
posição do microfone, dentre outros [Rabiner 1978].
5
A seguir, será dado a ênfase ao sistema de reconhecimento automático da
identidade vocal de locutores, dado que este é o foco do trabalho ora proposto.
Os sistemas de reconhecimento de identidade vocal visam solucionar um
problema de reconhecimento de padrões de voz e, portanto consistem de duas fases
[O'shaughnessy 1999]: treinamento e reconhecimento , conforme Figura 1.
Figura 1 – Diagrama de um Sistema de Reconhecimento de Padrões [Dias 2006].
Na fase de treinamento, é obtido um conjunto de padrões de referência a partir
de sentenças fornecidas pelos locutores (palavras ou frases), as quais são atribuídos
rótulos que identificam cada locutor. Na fase de reconhecimento (verificação ou
identificação), são obtidos padrões de teste, que são comparados com todos os
padrões de referência obtidos na etapa de treinamento e, em seguida, utilizando-se
uma regra de decisão, é identificado o padrão de referência mais semelhante ao
padrão de entrada desconhecido.
A etapa de pré-processamento é responsável por extrair do sinal de voz os
dados relevantes e menosprezar a informação redundante, com a finalidade de
repassar a informação útil para a etapa seguinte. Este processo é composto por:
aquisição, pré-ênfase, detecção de início e fim, separação em frames e janelamento
[Rabiner 1978, Furui 1981].
A definição de um bom conjunto de características é um processo complexo e
essencial para que se obtenha bons resultados quanto ao reconhecimento de
padrões. A análise por predição linear, análise LPC (Linear Prediction Coding), é uma
6
Fase de Teste
Padrões de Referência
Pré-processamento
Fase de Treinamento
Sentençasde
Treinamento
Sentençasde
Teste
Reconhecimento
Extração de Características
Geração de Padrõesde Referência
Pré-processamento Extração de Características
Geração de Padrõesde Teste Comparação
das técnicas mais utilizadas para estimar parâmetros básicos da voz que irão compor
o conjunto de características [Rabiner 1978, Costa 1994, Chengalvarayan 1999]. A
partir desta análise, são gerados os coeficientes LPC que irão compor o conjunto de
características. Além desses coeficientes, outros podem ser obtidos a partir de uma
derivação dessa técnica. Como exemplo [Furui 1981, Mammone 1996]: coeficientes
LPC Cepestrais, Cepestrais Ponderados, Delta Cepestrais, Delta Cepestrais
Ponderados, Mel Cepestrais, dentre outros.
Durante a fase de treinamento, com base nas características extraídas, são
gerados padrões de referência, os quais serão comparados com o padrão de teste na
fase de reconhecimento. Dentre as principais técnicas utilizadas para a esta fase,
destacam-se: elas destacam-se: Quantização Vetorial (QV) [Madeiro 1999, Nakamura
2001], Redes Neurais [Benzeghiba 2002, Amudha 2008], Modelos de Markov
Escondidos (HMM) [Rabiner 1989, Fechine 2000, Benzeghiba 2002, Amudha 2007],
Árvores de Decisão [Navratil 2003]. Ainda é possível utilizar essas técnicas de forma
combinada.
Convém lembrar que as etapas de pré-processamento e extração de
características das fases de treinamento e reconhecimento devem ser equivalentes,
para que seja possível realizar uma comparação correta entre o padrão testado e o(s)
padrão(ões) já conhecido(s) pelo sistema [Dias 2006].
Em [Fauve 2007], é realizado um levantamento do estado da arte no contexto de
sistemas de verificação de locutor independente de texto, em relação ao desempenho.
Nesse trabalho, são apresentadas melhorias que foram implementadas entre os anos
de 2004 e 2007. a partir da utilização de Support Vector Machine (SVM) [Campbell
2006], uma abordagem alternativa à Guassian Mixture Models (GMM), estratégia de
classificação amplamente utilizada, . Outra solução apresentada consiste no uso de
Factor Analysis (FA) [Kenny 2005].
Outra abordagem consiste na utilização de algoritmos genéticos para
implementação de um sistema robusto para verificação de locutor, confirme o
apresentado por [Day 2006], que utiliza programação genética para verificação de
locutor. Características usadas como específicas para os indivíduos irão prover a
solução mais robusta. Isto permite que soluções sejam adaptadas para diferentes
ambientes e não deixem o processo com um único conjunto de solução, combinações
de características podem ser selecionadas de forma inerente para um bom
7
desempenho individual. Esse sistema pode ser facilmente atualizado para incluir
novas funcionalidades, com impacto mínimo quanto à evolução e ao processo de
classificação.
Para o desenvolvimento de um sistema embarcado para reconhecimento
automático da identidade vocal de locutores, torna-se importante destacar que esse
tipo de sistema é desenvolvido a partir da combinação de hardware e software, e
algumas vezes peças mecânicas, desenvolvidas para realizar uma função específica
[Barr 1999, Francia 2001]. Com a implementação em hardware, o objetivo é conseguir
maior eficiência e rapidez na execução de determinadas tarefas e, a partir do
software, tenta-se reduzir o tempo de desenvolvimento e aumentar a flexibilidade do
sistema [Dias 2006].
Em relação à implementação em hardware de um sistema embarcado,
diferentes abordagens podem ser seguidas. Quando a aplicação requer um grande
número de exemplares por exemplo, o mercado de consumo, a abordagem mais
recomendada é o uso de um SoC (System-On-a-Chip – sistema em um única pastilha)
[Carro 2003]. A arquitetura de hardware de um SoC pode ser constituída por blocos
dedicados denominados de IP-Core (Intellectual Property Core1), esses blocos de
hardware executam tarefas específicas e são definidos de modo a permitir seu reuso
em diferentes sistemas [Moraes 2004]. Além dos IP-Core, um SoC pode conter
memórias, processadores e interfaces para periféricos. A comunicação entre os IP-
Core de um SoC específico pode ser feita por um simples barramento ou chegar até
uma rede complexa (NoC – network-on-chip) [De Micheli 2002].
Para o desenvolvimento em pequena escala de produção ou de protótipos, a
implementação mais recomendada é em FPGA (Field Programable Gate Array), ou a
partir de sistemas baseados em famílias de microprocessadores [Carro 2003]. A
principal vantagem desta abordagem reside na possibilidade de fácil modificação da
estrutura do hardware do sistema por meio de um processo denominado de
reconfiguração, o que permite o desenvolvimento incremental, correção de erros de
projeto, além da adição de novas funções de hardware [Moraes 2004].
Para implementar o hardware de um sistema embarcado, linguagens de
descrição hardware (HDL – Hardware Description Language) podem ser utilizadas
para realizar a descrição dos circuitos eletrônicos. Essas linguagens permitem
8
1 Blocos de hardware que executam tarefas específicas e são definidos de modo a permitir seu reuso em diferentes sistemas [Moraes 2004].
descrever a forma como os circuitos operam, possibilitando a simulação dos circuitos
antes mesmo de sua fabricação. Além deste fato, as HDL apresentam sintaxe e
semântica que permitem inserir informações para expressar o comportamento do
sistema ao longo do tempo (timed), descrevendo, portanto, o comportamento do
hardware. Porém, essas linguagens não são apropriadas para descrições de software
e especificações funcionais de alto nível [Carro 2003].
O projeto de sistemas embarcados é bastante complexo devido a certas
exigências, a exemplo de mobilidade, limite de consumo de potência, baixa
disponibilidade de memória, necessidade de segurança e confiabilidade, possibilidade
de funcionamento em uma rede de comunicação, e o curto tempo de projeto, Tais
exigências tornam essa área de pesquisa bastante abrangente [Wolf 2001, Carro
2003].
A junção do reuso de plataformas e componentes integráveis em SoC (ou IP-
Core) com a automação de projetos em software e sua integração com os projetos de
hardware tem sido a principal meta a ser alcançada para a diminuição de tempo total
de projeto, sem que isso venha a significar perda na qualidade do sistema.
Com a chegada da tecnologia pessoal, as máquinas se inserem em quase todas
as atividades do cotidiano das pessoas, sejam essas máquinas computadores,
eletrodomésticos, dispositivos portáteis, etc. Assim sendo, nada melhor do que dotá-
las com a capacidade de percepção e compreensão da voz humana, que é uma forma
mais, natural e eficaz do ser humano expressar seus pensamentos [Dias 2006]. Tendo
em vista o vigente interesse pelo desenvolvimento de aplicações em PDSV para
sistemas embarcados, devido a sua portabilidade, por apresentar tamanho de área
reduzido, ótimo desempenho quando comparado com dispositivos maiores, reuso de
IP-Core e o grande interesse do mercado por dispositivos cada vez menores, torna-
se clara a importância da implementação de sistemas que venham atender a estas
necessidades.
9
2. Objetivo da proposta
2.1 Objetivo Principal
O objetivo principal deste trabalho é o desenvolvimento de um sistema
embarcado para Verificação Automática da Identidade Vocal de Locutores, a ser
utilizado para acesso restrito de usuários em um ambiente.
2.2 Objetivos Específicos
• Estudar técnicas que permitam a otimização dos recursos disponíveis para o
sistema (capacidade de processamento, armazenamento e etc.). Como um sistema
embarcado apresenta certas limitações, é preciso que os recursos alocados sejam
utilizados de maneira eficiente garantindo assim a otimização da sua
implantação.embarcado.
• Realizar uma análise o desempenho do IP-Core. Como a meta deste trabalho é
o desenvolvimento de um IP-Core, com a finalidade de ser um sistema de verificação
de locutor, é preciso garantir que métricas alcanças por esse sistema estejam em
conformidade com as exigências do projeto.
• Realizar um estudo comparativo com implementações já desenvolvidas. Após a
obtenção dos resultados da análise de desempenho, estes deverão ser comparados
com possíveis implementações já existentes o mais próximas possível do objetivo
deste trabalho.
• Desenvolver um sistema que apresente resultados em tempo real. Esta
característica é muito importante para o tipo de dispositivo que o sistema será
implementado.
10
3. Relevância da PropostaEste trabalho visa o desenvolvimento de um sistema capaz de fazer a
verificação de locutor para equipamentos com poucos recursos disponíveis.
A partir da revisão bibliográfica realizada, foi possível observar a existência de
poucos trabalhos relacionados à verificação de locutor para sistemas embarcados. No
entanto, esses trabalhos tendem a ser mais numerosos em virtude da venda crescente
de dispositivos portáteis.
No trabalho de [Hossain 2007], foi desenvolvido um sistema de identificação de
locutor independente de texto, em tempo real. Foi utilizada a técnica de
Backpropagation Neural Network (BNP). O sistema identificou corretamente 96% dos
locutores, usando menos de um segundo das amostras de teste para cada locutor.
Em [Kenny 2007], é apresentada uma abordagem baseada em arquivos para
verificação de locutores, no qual a estratégia da máxima verossimilhança é o critério
utilizado para treinamento do sistema. Nessa abordagem houve uma redução de 30%
nas taxas de erro, equal error rate (EER) e detection cost function (DCF) .
Em [Campbell 2007], o objetivo do trabalho é a introdução de uma linguagem de
modelagem alternativa de alto nível para verificação de locutor. O treinamento é
levado a efeito a partir de Máquinas de Suporte Vetorial (SVM – Support Vector
Machine) .
No trabalho de [Chen 2008], é apresentado um sistema de verificação de locutor
em tempo real, que utiliza GMM (Gaussian Mixture Model), combinado com UBM
(Universal Background Model), para obtenção dos padrões representativos da fala dos
locutores e MFCC (Mel Frequency Cepstrum Coefficient) para realizar a extração de
característica dos locutores. A plataforma utilizada para implementar o sistema foi um
PDA (Personal Digital Assistant).
Outro trabalho também realizado no contexto de sistemas embarcados para
verificação de locutor foi o apresentado por [Tydlitát 2007]. A principal diferença deste
trabalho em relação ao anterior consiste na utilização de MAP (Maximum A-Posteriori)
combinado com GMM, em substituição a UBM.
Em [Sududhi 2008], é apresentado um sistema embarcado denominado
Remote Voice Control and Security System (RVCS). Neste trabalho, é realizado tanto
o reconhecimento de fala quanto o reconhecimento de locutor. Para o último, é
11
utilizada a QV (Quantização Vetorial) para construção dos padrões e MFCC para
extração das características da fala dos locutores A finalidade deste trabalho é
construir um sistema que possibilite a um operador cadastrado (verificação de locutor)
enviar comandos (reconhecimento de fala) para um equipamento, de forma que este
possa realizar as tarefas solicitadas pelo operador. O protótipo do sistema foi
implementado num kit TMS320C6713.
Diante do exposto, observa-se a relevância do desenvolvimento de um sistema
para reconhecimento automático da identidade vocal de locutores.
Destaca-se também, que este projeto está inserido no âmbito das pesquisas do
projeto Brazil-IP [BRAZIL-IP 2009], no qual está sendo desenvolvida uma metodologia
de verificação denominada Brazil-IP Verification Metodology (BVM), que consiste em
uma nova abordagem da metodologia VeriSC [Da Silva 2007] para SystemVerilog, a
qual é utilizada na verificação funcional2 de projetos em hardware. Dessa forma, essa
metodologia será utilizada ao longo das fases de construção do sistema. Assim
sendo, o projeto proporcionará também uma contribuição importante, validação da
BVM.
4. Metodologia
A metodologia a ser empregada nesse trabalho constituíra em estudo,
especificação, verificação, desenvolvimento e implementação de um IP-Core que terá
a funcionalidade de verificar de forma automática a identidade vocal de locutores.
Essa metodologia estará apoiada em 2 pilares:
• No processo de desenvolvimento de IP-Core denominado de ipPROCESS
[Lima 2005]. O ipPROCESS é um processo de desenvolvimento para Soft IP
com prototipagem em FPGA;
• E na metodologia BVM.
O ipProcess servirá como norma para a geração de toda documentação
necessária para o acompanhamento do projeto, por meio dos templates que estão
disponíveis no site do processo [IPPROCESS 2009]. BVM servirá de suporte para a
etapa de verificação funcional do projeto. Portanto, na etapa de verificação, os blocos
que formarão o IP-Core serão validados conforme a metodologia BVM.
12
2 Verificação funcional é um processo usado para demonstrar que o objetivo do projeto é preservado em sua implementação [Bergeron 2003].
Para garantir o sucesso dessa metodologia, a execução do trabalho será
dividida nas seguintes etapas:
1. Especificação dos blocos quer irão compor o IP-Core;
• Um documento que contém a especificação das funcionalidades de
cada bloco que fará parte do IP-Core (Figura 2) será redigido. Tal
documentação seguirá as normas do ipPROCESS.
• Esta parte do trabalho será realizada em conjunto com a equipe do
Brazil-IP da UFCG.
Os módulos da arquitetura proposta podem ser caracterizados como segue.
13
Dados deReconhecimento
DV PE JAN CALP CP
TD
Amostra Limiar
Saída daHipóteseCVLP
DV – Detector de VozPE – Pré-ÊnfaseJAN - Janelamento
CALP – Codificação por Análise da Predição LinearCVLP – Coeficientes do Vetor da Predição LinearCP – Casador de PadrõesTD – Tomador de DecisãoMEMO – Memória Flash
MEMO
DV PE JAN CALP
Fase de Reconhecimento
Fase de Treinamento
Dados detreinamento
CVLP
Figura 2. Arquitetura proposta para o sistema
• DV (Detector de Voz) - Este módulo é responsável por eliminar partes
do sinal de voz que não tenham informação relevante. Como exemplo, ruído do
ambiente ou silêncio presentes durante a fala do locutor.
• PE (Pré-Ênfase) - A proposta deste módulo é a atenuação das
componentes de baixa frequência do sinal.
• JAN (Janelamento) – este bloco é responsável pela divisão do sinal de
voz em segmentos, selecionados por uma janela, de forma a garantir a
estacionariedade do sinal de voz a ser analisado.
• CALP (Codificação por Análise via Predição Linear) – Aqui serão
gerados os coeficientes CVLP (Coeficientes do Vetor da Análise por Predição Linear). Estes coeficientes, em número de 12, serão únicos para
cada locutor.
• CP (Casador de Padrões) – A função principal deste bloco é calcular
quão próximos estão os padrões do vetor de teste e do vetor de treinamento
gerados no bloco anterior. .
• TD (Tomador de Decisão) - Este módulo realiza uma decisão binária
baseada na taxa de casamento obtida no CP.
2. Verificação funcional dos blocos;
• Esta etapa constituirá em verificar as funcionalidades dos blocos e
garantir que estão funcionando de acordo com a especificação. Esta
parte do projeto consumirá grande esforço (algo em torno de 70%) do
tempo total de desenvolvimento. Desta forma, é fortemente
recomendado utilizar ferramentas que possibilitem a geração rápida e
eficiente de um ambiente de simulação [Da Silva 2007];
• Nesta etapa, será gerada a documentação que conterá o plano de
verificação. O plano deverá conter os tipos de estímulos que devem ser
gerados, ou seja, a faixa de valores a serem aceitos e faixa de valores a
serem rejeitados. Também deverá ser gerado o plano de cobertura, cuja
finalidade é determinar os parâmetros de medição para o progresso da
cobertura. Esses documentos também seguirão as normas de
documentação do ipPROCESS;
14
• A ferramenta a ser utilizada no auxílio do processo de geração do
ambiente de simulação é denominada eTBC [Pessoa 2007], a qual
realizará a geração automática do ambiente de simulação (testbech),
incluindo nível de transação, cobertura dirigida, checagem automática e
construção de estímulos randômicos;
• Esta etapa também será realizada em conjunto com a equipe do Brazil-
IP da UFCG.
3. Implementação do módulos em SystemVerilog RTL;
• Após a verificação e validação dos módulos, ocorrerá a implementação
das funcionalidades do sistema. Esta implementação será realizada em
SystemVerilog RTL.
• Esta será a última etapa realizada em conjunto com a equipe do Brazil-
IP. A equipe Brazil-IP realizará a prototipação em silício, um dos
objetivos do projeto Brazil-IP.
4. Medição e análise da eficiência da implementação em FPGA;
• Esta etapa constituirá na realização de medições de desempenho e de
custos de implementação do IP-Core;
• As métricas utilizadas serão:
• Tempo: ciclos de relógio e frequência de clock;
• Recursos lógicos: número de portas lógicas e elementos lógicos;
• Consumo de energia: número de acessos à memória, frequência
de clock e chaveamento de sinais.
5. Análise dos resultados obtidos;
6. Elaboração/Submissão de artigos para eventos nacionais e internacionais;
7. Elaboração da redação da Dissertação de Mestrado;
8. Defesa da Dissertação de Mestrado.
15
5. Cronograma
A seguir, no Quadro 1 é apresentado o cronograma previsto para a realização
das etapas apresentadas na seção anterior.
Quadro 1: Cronograma de atividades.
Atividades MesesJun/09
Jul/09
Ago/09
Set/09
Out/09
Nov/09
Dez /09
Jan/10
Fev/10
Mar/10
Abr/10
Mai/10
1. Especificação dos módulos
x x
2. Verificação funcional dos módulos
x x x x
3. Implementação do módulos em
SystemVerilog RTL
x x
4. Medição e análise da eficiência da
implementação em FPGA
x x
5. Comparação dos resultados da análise
com a literatura
x x
6.Elaboração/Submissão de artigos para
eventos nacionais e internacionais
x
7. Elaboração da redação da
Dissertação de Mestrado
x
8. Defesa da Dissertação de
Mestrado
x
17
6. Referências Bibliográficas
[Barr 1999] BARR, M. Programming Embedded Systems in C and C++. Sebastopol. CA, O'Reilly & Associates, 1999.
[Benzeghiba 2002] BENZEGHIBA, M. F., BOULARD, H., User-customized password speaker verification based on HMM/ANN and GMM models. Proceedings of the Seventh International Conference on Spoken Language Processing (ICSLP 2002), p. 1325-1328, 2002.
[Benzeghiba 2003] BENZEGHIBA, M. F., BOULARD, H., On the Combination of Speech and Speaker Recognition. IDIAP-RR 19, IDIAP – Dalle Molle Institute for Perceptual Artificial Intelligence, ftp://ftp.idiap.ch/pub/reports/2003/rr03-19.pdf, 2003.
[Bergeron 2003] Bergeron, Janick. Writing Testbenches: Functional Verification of HDL Models, Second Edition. Kluwer Academic Publishers, Norwell, MA, USA, 2003.
[Brazil-IP 2009] Brazil-IP, Programa para Formação de Talentos em Projetos de Microeletrônica. Disponível em: http://www.brazilip.org.br/. Acesso em: 05/07/2009.
[Campbell 1997] CAMPBELL, J. P., Speaker Recognition: A Tutorial. Proceeedings of the IEEE, v. 85, 1997.
[Campbell 2006] CAMPBELL, W., Campbell, J., Reynolds, D., Singer, E., Torres-Carrasquillo, P., Support vector machines for speaker and language recognition, Comput. Speech Lang., vol. 20, pp. 210–229, 2006.
[Carro 2003] CARRO, L.; WAGNER, F. R. Sistemas Computacionais Embarcados. In: JAI'03 – XXII Jornadas de Atualização em Informática, 2003, Campinas.
[Chengalvarayan 1999] Chengalvarayan, R. Hierarchical Subband Linear Predictive Cepstral (HSLPC) Features for HMM-based Speech Recognition. International Conference on Acoustics, and Signal Processing (ICASSP99), 1999.
[Costa 1994] Costa, W. C. de A. Reconhecimento de Fala Utilizando Modelos de Markov Escondidos (HMM’s) de Densidades Contínuas. Universidade Federal da Paraíba – Dissertação
de Mestrado, Junho 1994.
[Da Silva 2007] Da SILVA, K. R. G., Uma Metodologia de Verificação Funcional para Circuitos Digitais, 121 f. Dissertação (Doutorado em Engenharia Elétrica) – Universidade Federal de Campina Grande, Campina Grande, 2007.
[Davis 1952] DAVIS, K. H., Automatic Recognition of Spoken Digitis. Journal of the Acoustical Society of America, v. 24, n. 6, p. 637-642, 1952.
[Day 2006] DAY P., NANDI A. K., Robust Text-Independent Speaker Verification Using Genetic Programming , 2006 IEEE 1558-7916
[De Micheli 2002] DE MICHELI, G. e BENINI, L., Networks-on-Chip: A New Paradigm for Systems-on-Chip Design. DATE’02 – Design, Automation and Test in Europe, Paris, França, Mar. 2002. Proceedings, IEEE Computer Society Press, 2002.
[Deller 1993] DELLER Jr. R., PROAKIS, J. G., and HANSEN, J. H. L., Discrete-time Processing of Speech Signals, Macmillan Publishing Co., 1993.
[Dias 2006] DIAS, D., Desenvolvimento de um IP Core de Pré-processamento Digital de Sinais de Voz para Aplicação em Sistema Embutidos, 108 f. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Campina Grande, Campina Grande, 2006.
[Doddington 1985] DODDINGTON, G. R., Speaker Recognition – Identifying People by their Voices. Proceedings of the IEEE, v. 73, n. 11, p. 1651-1664, nov. 1985.
[Fagundes 1993] FAGUNDES, R. D. R., ALENS, N., Reconhecimento de Voz, Linguagem Contínua, Usando Modelos de Markov. In: 11º SIMPÓSIO BRASILEIRO DE TELECOMUNICAÇÕES,1993.
[Fauve 2007] FAUVE B. G. B., MATROUF D., SCHEFFER N., BONASTRE J., MASON J. S. D., State-of-the-Art Performance in Text-Independent Speaker Verification Through Open-Source Software, IEEE 1558-7916, 2007. , 2007
[Fechine 2000] FECHINE, J. M., Reconhecimento automático de identidade vocal utilizando modelagem híbrida: Paramétrica e Estatística. 2000. 212 f. Tese (Doutorado em Engenharia Elétrica) – Universidade Federal de Campina Grande, Campina Grande, 2000.
[Francia 2001] FRANCIA, G. A., Embedded Systems Programming. The Journal of Computing in Small Colleges, v. 17, n. 2, p. 204-210, Proceedings of the 15th Annual CCSC Southeastern Conference, 2001. dez. 2001.
[Furui 1981] FURUI, S., Cepstral Analysis Technique for Automatic Speaker Verification. IEEE Transactions on Acoustics, Speech and Signal Processing Magazine, v. 29, 1981.
[IPPROCESS] Disponível em: http://www.lincs.org.br/ipprocess/, acessado em 05/07/2009.
[Kenny 2005] KENNY, P., Boulianne, G., Ouellet, P. and Dumouchel, P., Factor analysis simplified, in Proc. ICASSP, pp. 637–640, 2005.
[Kenny 2007] KENNY, P., Boulianne, G., Ouellet, P. and Dumouchel, P., Speaker and Session Variability in GMM-Based Speaker Verification, in IEEE transactions on audio, speech, and language processing, vol. 15, no. 4, 2007.
[Koenig 1946] KOENIG, W. The Sound Spectrograph. Journal of the Acoustical Society of America, v. 17, p. 19-49, 1946.
[Lima 2005] LIMA, M., AZIZ, A., ALVES, D., LIRA, P., SCHWAMBACH, V., BARROS, E., ipPROCESS: Using a Process to Teach IP-core Development, IEEE, 0-7695-2374-9/05, 2005. 2005,.
[Maciel 2007] MACIEL, A.M.A., Investigação de um ambiente de processamento de voz utilizando VoiceXML, 83 f. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2007.
[Madeiro 1999] MADEIRO, F., VILAR, R. M., FECHINE, J. M., AGUIAR NETO, B. G., A Self Organizing Algorithm for Vector Quantizer Design Applied to Signal Processing, International Journal of Neural Systems, v. 9, 1999.
[Mammone 1996] MAMMONE, R. J., ZHANG, X., RAMACHANDRAN, R. P., Robust Speaker Recognition – A Feature-Based Approach. IEEE Signal Processing Magazine, v. 13, 1996.
[Moraes 2004] MORAES, F., CALAZANS, N. MOLLER, L. BRIAO, E., CARVALHO, E. Dynamic and Partial Reconfiguration in FPGA SoCs: Requirements Tools and a Case Study. In: ROSENSTIEL, Wolfgang. Reconfigurable Computing. New York, USA. 2004.
[Navratil 2003] NAVRATIL, J., Jin, Q., Andrews, W. , Campbell, J., Phonetic speaker recognition using maximum-likelihood binary-decision tree models, in Proc. ICASSP, Hong Kong, 2003.
[O'shaughnessy 1999] O'SHAUGHNESSY, D., Speech Communications: Human and Machine, Wiley-IEEE Press, 1999.
[Paula 2000] PAULA FILHO, W. P., Multimídia: Conceitos e Aplicações, JC Editora, 2000.
[Pessoa 2007] PESSOA, I.M., Geração Semi-Automática de Testbenches para Circuitos Digitais Integrados. 52 f. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Campina Grande, Campina Grande, 2007. 2007.
[Rabiner 1978] RABINER, L. R., SCHAFER, R. W., Digital processing of speech signals. New Jersey: Prentice Hall, 1978.
[Vieira 1989] VIEIRA, M. N., Módulo frontal para um sistema de reconhecimento automático de voz. 1989 Dissertação – Universidade de Campinas, Campinas, 1989.
[Wolf 2001] WOLF, W. Computers as Components. McGraw-Hill, 2001.