Codificação de fonte Codificação de voz
Prof. Dr. José Marcos C. Brito
Classificação dos codificadores de voz
• Codificadores de forma de onda
• Codificadores paramétricos (vocoders)
• Codificadores híbridos
Tipos de codificadores
Características do sinal de voz
• Sinal limitado em frequência (em média em torno de 10 khz) - para telefonia em 3.4 khz.
• Sinal contínuo no tempo e em amplitude.
• Apresenta trechos que se repetem quase periodicamente e trechos basicamente aleatórios, sem nenhuma periodicidade.
• A produção de sinais “sonoros” e “não-sonoros”, como são denominados respectivamente os trechos quase periódicos e aleatórios relaciona-se com a presença ou
Características do sinal de voz
• A distribuição estatística de amplitude não é uniforme, existindo uma maior concentração em torno das menores amplitudes.
• Possui alto grau de correlação. ou seja, se
analisarmos a evolução dos valores de amplitude deste sinal ao longo de um intervalo de tempo, podemos estimar o próximo valor de amplitude com boas chances de acerto.
Sinal “sonoro” - segmento típico
Sinal não-sonoro
Digitalização do sinal de voz
• AMOSTRAGEM
• Neste processo o sinal de voz contínuo no tempo é convertido em um sinal discreto no tempo
• A taxa de amostragem deve ser maior ou igual
a duas vezes a máxima frequência do sinal
(Teorema de Nyquist).
Amostragem
Digitalização do Sinal de Voz
• QUANTIZAÇÃO
• Cada amplitude do sinal amostrado é transformada em um valor dentre um conjunto finito de amplitudes, tornando o sinal também discreto em amplitude.
• Quanto maior o número de níveis de
quantização maior a qualidade e maior a taxa de
transmissão
Quantização
0 1 2
-1
-2 000
001 010 011 100
0 1 2
-1 -2 0 1 2
-1
-2 000
001 010 011 100
Quantização
Ruído de quantização
q = tamanho do passo de quantização, em volts L = número de níveis de quantização
Variância do erro de quantização representa a potência média do ruído de quantização
∫
− =∫
− == /2
2 /
2 /
2 /
2 2
2 2
12 ) 1
(
q q
q q
de q e q de
e p
σ
eRuído de quantização
Potência de pico do sinal analógico (normalizada em 1 ohm)
4 2
2
2 2 2
2 Lq Lq
S Vpp =
=
=
Relação potência de pico do sinal pela potência média de ruído
2 2
2 2
12 3 /
4
/ L
q q L N
S = =
Quantização não-uniforme
Quantização não-uniforme
• Utilização de um quantizador não-uniforme:
passos de quantização menores para sinais de baixa magnitude e maiores para sinal de grande magnitude
• Utilização de um compressor seguido de um quantizador uniforme (linear)
– Magnitude do sinal de entrada não tem mais preponderância de sinais de pequena magnitude na saída do compresssor
Leis de compressão
Valores padrão: A = 87.6 (Europa) e µ= 255 (EUA)
Codificadores de forma de onda
• Tentam reproduzir amostra por amostra a forma de onda do sinal de voz, explorando suas características nos domínios do tempo e/ou frequência.
• São tipicamente de baixo atraso e baixa complexidade de implementação.
• Requerem altas taxas de bits ( > 16 kbps) para oferecer qualidade apropriada para o uso na rede telefônica.
• Exemplos : PCM, DPCM, DM, ADPCM
PCM - Pulse Code Modulation
• Amostragem + Quantização + Codificação
• Padrão G 711
– 8.000 amostras por segundo – 256 níveis de quantização (8 bits) – 64 kbps
Differential PCM (DPCM)
• Sinal de voz apresenta correlação bastante significativa entre amostras sucessivas
• Amplitude do sinal não varia rapidamente de amostra para amostra. ---> motivação para o uso da técnica de codificação diferencial
• Quantiza-se a diferença de amplitude presente entre amostras adjacentes.
• Como o sinal diferença apresenta uma menor faixa de variação de amplitude (em relação às amplitudes das amostras), pode-se utilizar um menor número de bits para representá-la, reduzindo-se assim a taxa de bits final.
DPCM
• Na verdade, realiza-se a quantização de um erro de predição.
• O preditor faz uma estimativa da amostra corrente a partir da combinação linear das últimas n amostras do sinal.
• A estimativa feita pelo preditor é subtraída da amostra corrente, gerando o sinal denominado erro de predição, que é quantizado e depois transmitido.
DPCM
+
Sinal de entrada
Quantizador
Erro de predição
Codificador
Preditor
linear +
+ -
Sinal estimado
Codificadores paramétricos
• Operam utilizando um modelo de como a voz é gerada e tentam extrair do sinal codificado os parâmetros do modelo.
– Os parâmetros são enviados para o receptor
• Modelo do trato vocal
– Filtro variante no tempo excitado com ruído branco, para sinais não-sonoros, ou com um trem de pulsos para sinais sonoros (separados pelo período de pitch)
• O período de pitch mede o intervalo entre sucessivos ciclos de abertura e fechamento das cordas vocais.
Codificadores paramétricos
• A informação que é enviada para o
decodificador é a especificação do filtro, um flag para indicar se o sinal é sonoro ou não- sonoro, a variância do sinal de excitação e o período de pitch (para sinais sonoros)
• Estes parâmetros são atualizados a cada 10-
20 ms para acompanhar a natureza não-
estacionária do sinal de voz
Codificadores paramétricos
Filtro - Trato vocal
Sinal sintetizado
X
Ganho Sonoro
Não-sonoro
Codificadores paramétricos
• Operam a taxas muito baixas (2.4 kbps) – Aumentar a taxa não aumenta a qualidade
• Não conseguem reproduzir fielmente o sinal original
– Por exemplo, a voz é metálica e não é possível identificar o locutor.
• Exemplo: LPC (Linear Predictive Coding)
Codificadores híbridos
• Os mais comuns são os codificadores do tipo Analysis-by-Synthesis
• Utilizam o mesmo modelo de filtro de predição do trato vocal dos vocoders, mas, ao invés de utilizar um modelo de excitação de dois estados (sonoro e não-sonoro), utilizam modelos mais complexos de excitação, de modo a tentar casar o sinal
sintetizado com o sinal original
Codificadores híbridos
Filtro de síntese
-
Sinal de voz Gerador de
excitação
Processamento do sinal de erro
Codificadores híbridos
• O sinal de voz é dividido em quadros (tipicamente de 20 ms)
• Para cada quadro determina-se os parâmetros do filtro de síntese
• Busca-se uma excitação para este filtro que resulte no menor erro entre o sinal de voz de entrada e o sinal sintetizado
• Transmite-se os parâmetros do filtro e a excitação
• Toll quality para taxas entre 4.8 e 16 kbps
Codificadores híbridos - Exemplos
• RELP - Residual Excited Linear Predicitive Coding
• MPE - Multipulse Predictive Coding
• RPE - Regular Pulse Excitation
• CELP - Code Excited Linear Predictive
Alguns codificadores padronizados
• G.711: PCM - 64 kbps
• G.722: SB-ADPCM (Sub-Band - ADPCM) - 64, 56 e 48 kbps para sinais de áudio de média qualidade (até 7 KHz)
• G.723.1: Linear Prediction Analysis-by-Synthesis Coding - 5.3 a 6.3 kbps
• G.726: ADPCM - 40,32, 24 e 16 kbps
• G.728: LD-CELP (Low Delay CELP) - 16 kbps
• G.729: CS-ACELP (Conjugate Structure Algebraic Codebook Excited Linear Prediction) - 8 kbps
Codificação com base na percepção
• MP3 utiliza esta técnica
• Codificação é feita levando em conta como o ser humano percebe o som
• Princípio básico
– Alguns sons podem mascarar outros
– Sons intensos em uma frequência podem mascarar sons menos intensos em outra frequência (frequency
masking)
– Mesmo após o som mais intenso cessar, o ouvido leva um certo tempo para reagir e passar a ouvir o som menos intenso (temporal masking)
Codificação com base na percepção
• O ouvido possui limite mínimo, em cada frequência, para que um som se torne audível.
– Sons abaixo deste limite não precisam ser codificados
• Na presença de um determinado som (por exemplo, um tom de 150 Hz), a curva de audibilidade muda, podendo mascarar sons que estão próximos ao som presente.
Codificação com base na percepção
(a) The threshold of audibility as a function of
frequency.
Princípio do MP3
• Faz-se a transformada de Fourier do sinal, determinando a potência de cada
frequência.
• Transmite-se somente as frequências não mascaradas.
• Busca-se codificar estas frequências com a menor quantidade possível de bits.
Passos para codificação MP3
• A forma de onda é amostrada a 32 kHz, 44.1 kHz ou 48 kHz.
• Define-se a taxa de transmissão desejada, que definirá o número de bits para codificação.
• As amostras são processadas em grupos de 1152 (cerca de 26 msegundos)
• Cada grupo passa por 32 filtros digitais, resultando em 32 bandas de frequências.
• Ao mesmo tempo, a entrada passa por um modelo (psychoacoustic) para determinar as frequências mascaradas
Passos para codificação MP3
• Os bits disponíveis para codificação são divididos entre as bandas, com mais bits alocados para as bandas com mais potência espectral (não
mascarada), menos bits para bandas com menos potência (não mascarada) e nenhum bit alocado para bandas mascaradas.
• O código de Huffman é utilizado para representar símbolos mais frequentes com menos bits.
Referências Bibliográficas
• Simon Haykin - Communications Systems, 4th edition, John Wiley, 2001 - Capítulo 3, itens 3.1 a 3.7 e 3.11 a 3.16
• Técnicas de Compressão de Voz - Documento interno, CPqD, 1993.
• Jason Woodard - Speech Coding, A Tutorial - Disponível em http://www-
mobile.ecs.soton.ac.uk/speech_codecs/index.html (em 10/02/04)
• Andrea S. Spanias - Speech Coding, A Tutorial Review - Proceedings of the IEEE, Vol. 82, No 10, October 1994.
Referências bibliográficas
• Bernard Sklar - Digital Communications, Fundamentals and Applications, Prentice Hall, 2001 - Capítulo 2, itens 2.4 a 2.7
• William Stallings - Data and Computer Communications, 7th edition, Prentice Hall, 2004 - Capítulo 5, item 5.3.