MODELO DE ALGORITMO PARA COMPRESSÃO DE ÁUDIO
BASEADO NA TÉCNICA DPCM E ALGORITMO DE HUFFMAN
MONOGRAFIA
Acadêmico:
Fernando Barboza da Costa
Orientador:
Prof. Marcelo Daniel Berejuck, Esp.
PALHOÇA
03/12/2007
2
Estrutura
Introdução; Objetivos; Teoria; Projeto; Desenvolvimento; Validação; Conclusão; Propostas Futuras; Referências.
3
Introdução
Digitalização de sinais;
Compressão de dados;
Técnica semelhante à adotada em imagens;
Sistemas embarcados de baixo custo.
4
Objetivos
Estudo de compressores de dados;
Sem perdas ou baixas perdas;
Foco para descompressão “leve”;
Uso em sistemas embarcados baixo custo;
Redução de custo com menor demanda de memória.
5
Digitalização de áudio - PCM
Ts
1.4
3.3
2.2
4.1
1.1
2.8 2.4
4.6
3.0
Sinal de voz
Amostragem
t
V
V
t
001
011
010
100
001
011
010
101
011
5
1
3
2
4
1
3
2
3
t
V
Quantização PCM
* Inserção de erros.
6
DPCM
1
3
2
4
1
3
2
5
3
001
011
010
100
001
011
010
101
011 t
V
Palavra PCM
Amostras PCM DPCM
1 1 1
2 3 2
3 2 -1
4 4 2
5 1 -3
6 3 2
7 2 -1
8 5 3
9 3 -2
7
Huffman
Inicialmente desenvolvido para texto;
Probabilidade de distribuição;
Menos bits para símbolos mais freqüentes.
8
Huffman
Amostras DPCM
1 1
2 2
3 -1
4 2
5 -3
6 2
7 -1
8 3
9 -2
Valores Incidência
-3 1
-2 1
-1 2
1 1
2 3
3 1
Tabela de incidência.
9
Huffman
Valores Incidência
2 3/9
-1 2/9
-3 1/9
-2 1/9
-1 1/9
3 1/9
Valores Incidência
-3 1
-2 1
-1 2
1 1
2 3
3 1
Ordenação por incidência.
10
Huffman
Árvore e a codificação (borbulhar).
2
-1
-3
-2
-1
3
1/9
1/9
1/9
1/9
2/9
3/9
2/9
2/9
3/9
1/9
1/9
2/9
2/9
2/9
3/9 4/9
3/9
2/9
4/9
5/9
0
1
0
1
0
1
0
1
0
1
Valores Incidência Código
2 3/9 00
-1 2/9 11
-3 1/9 010
-2 1/9 110
-1 1/9 001
3 1/9 101
0
0
11
Huffman
Resultados.
Xi P(Xi) Código Ni NiP(Xi)
2 3/9 00 2 6/9
-1 2/9 11 2 4/9
-3 1/9 010 3 3/9
-2 1/9 110 3 3/9
-1 1/9 001 3 3/9
3 1/9 101 3 3/9
_____
Total 2,444
12
Projeto
Especificação dos algoritmos;
Sugestão das ferramentas para o desenvolvimento;
Detalhes do condicionamento do áudio.
13
Codificador
Diagrama Macro do Codificador
CodicadorArquivo áudio RAW
Arquivo binário
14
Decodificador
Diagrama Macro do Decodificador
Decodicador
Áudio PCM
Arquivo binário
15
Desenvolvimento
Ferramentas utilizadas;
Detalhes da implementação;
Hardware do decodificador;
Simulação do hardware.
16
Codificador
Codificador
Quantizador DPCM
TruncamentoPonderação
DPCMCriação do Dicionário
Codificação em bits
Arquivo áudio RAW
Arquivo binário
GoldWave®
17
Codificador
Codificador
Quantizador DPCM
TruncamentoPonderação
DPCMCriação do Dicionário
Codificação em bits
Arquivo áudio RAW
Arquivo binário
DevC++
18
Codificador
Codificador
Quantizador DPCM
TruncamentoPonderação
DPCMCriação do Dicionário
Codificação em bits
Arquivo áudio RAW
Arquivo binário
WinHex
19
Quantizador DPCM
Codificador
Quantizador DPCM
TruncamentoPonderação
DPCMCriação do Dicionário
Codificação em bits
Arquivo áudio RAW
Arquivo binário
Tabela de incidência dos valores DPCM encontrados.
20
Ponderação DPCM
Codificador
Quantizador DPCM
TruncamentoPonderação
DPCMCriação do Dicionário
Codificação em bits
Arquivo áudio RAW
Arquivo binário
Ordenação decrescente dos valores DPCM.
21
Dicionário Huffman
Codificador
Quantizador DPCM
TruncamentoPonderação
DPCMCriação do Dicionário
Codificação em bits
Arquivo áudio RAW
Arquivo binário
Vetor em ordem decrescente de incidência.
22
Código de Huffman Alterado
Codificador
Quantizador DPCM
TruncamentoPonderação
DPCMCriação do Dicionário
Codificação em bits
Arquivo áudio RAW
Arquivo binário
Gera bits “1” de acordo com o número do índice no vetor do dicionário;
Finaliza com um bit “0”.
Índice Dicionário Código
0 X 0
1 X 10
2 X 110
3 X 1110
4 X 11110
n X (n*1)+0
23
Arquivo binário
Codificador
Quantizador DPCM
TruncamentoPonderação
DPCMCriação do Dicionário
Codificação em bits
Arquivo áudio RAW
Arquivo binário
Agrupa os bits de acordo a plataforma utilizada;
8051 = 8 bits.
24
Decodificador
Hardware - Proteus®
Decodificador
Decodificador de bits
Leitura do Dicionário
Quantizador DPCM
Áudio PCM
Arquivo binário
25
Decodificador
Software - Keil®
Decodificador
Decodificador de bits
Leitura do Dicionário
Quantizador DPCM
Áudio PCM
Arquivo binário
26
Decodificador de Huffman
Conta bits “1” entre bits “0”.
Decodificador
Decodificador de bits
Leitura do Dicionário
Quantizador DPCM
Áudio PCM
Arquivo binário
27
Usa o contador como índice no dicionário.
Decodificador
Decodificador de bits
Leitura do Dicionário
Quantizador DPCM
Áudio PCM
Arquivo binário
Dicionário Huffman
28
Soma o valor DPCM lido à amostra anterior.
Decodificador
Decodificador de bits
Leitura do Dicionário
Quantizador DPCM
Áudio PCM
Arquivo binário
Quantizador DPCM
29
Decodificador
code_atual <<= 1;
if ( CY == 0 ){
amostra = amostra + code_book[cont_bits];cont_bits = 0;
}else{
cont_bits++;}
Decodificador
Decodificador de bits
Leitura do Dicionário
Quantizador DPCM
Áudio PCM
Arquivo binário
30
Decodificador
Decodificador
Decodificador de bits
Leitura do Dicionário
Quantizador DPCM
Áudio PCM
Arquivo binário
31
Validação
Taxa de codificação ~38%;
Redução em espaço de memória;
Ambiente simulado;
Decodificador embarcado no 8051 (baixo custo);
Baixas perdas.
32
Conclusão
Estudo de técnicas de compressão e codec’s;
Taxas satisfatórias;
Aplicável a produtos comerciais de baixo custo:• Unidades Resposta Audível (URA);• Esperas telefônicas;• Secretária eletrônica (DTAM).
Performace codificador x amplitude do sinal.
33
Propostas futuras
Aplicação com PCM linear 16 bits;
Reduzir ou eliminar a dependência do codificador com a amplitude;
Estudar aplicação com sinais de voz dinâmicos:• VOIP;• Telefones sem fio digital.
34
Referências
COUCH, Leon W.. DIFFERENCIAL PULSE CODE MODULATION In: COUCH, Leon W.. COUCH, Leon W.. DIFFERENCIAL PULSE CODE MODULATION In: COUCH, Leon W.. Digital and Analog Communication systems: Sixth edition: Prentice Hall PTR, 2000. p. Digital and Analog Communication systems: Sixth edition: Prentice Hall PTR, 2000. p. 188-191.188-191.
COUCH, Leon W.. PULSE CODE MODULATION In: COUCH, Leon W.. Digital and COUCH, Leon W.. PULSE CODE MODULATION In: COUCH, Leon W.. Digital and Analog Communication systems: Sixth edition: Prentice Hall PTR, 2000. p. 137-151.Analog Communication systems: Sixth edition: Prentice Hall PTR, 2000. p. 137-151.
RIBEIRO, Paulo Sérgio. Visão geral das telecomunicações: Parte II. In: RIBEIRO, Paulo Sérgio. Visão geral das telecomunicações: Parte II. In: Comunicações Digitais III, 2007, Palhoça. UnisulComunicações Digitais III, 2007, Palhoça. Unisul
RUSCHEL, Orlando T. Princípios da Comunicação Digital. Porto Alegre: EDIPUCRS, RUSCHEL, Orlando T. Princípios da Comunicação Digital. Porto Alegre: EDIPUCRS,
19961996 SKLAR, Bernard. HUFFMAN CODES In: SKLAR, Bernard. Digital Communications, SKLAR, Bernard. HUFFMAN CODES In: SKLAR, Bernard. Digital Communications,
Fundamentals and Applications: Second edition: Prentice Hall PTR, 2002. p. 862-866.Fundamentals and Applications: Second edition: Prentice Hall PTR, 2002. p. 862-866.
WILLRICH, Roberto. WILLRICH, Roberto. Conversão A/D e D/A. In: Voz sobre IP Parte I, 2005, Conversão A/D e D/A. In: Voz sobre IP Parte I, 2005, Florianópolis. UFSCFlorianópolis. UFSC
35
Agradecimentos
A Deus;
A família, em especial à esposa e ao filho;
Ao orientador Prof. Marcelo Daniel Berejuck, Esp.;
Aos professores da Unisul em especial ao Prof. Mauro Pacheco Ferreira, M.sc.;
Aos colegas de trabalho da Intelbras, em especial Robson Veronezi, Nelson Campaner, Patrick Argoud e Fernanda Argoud;
Aos esquecidos;