A compressão ou codificação de voz é normalmente realizada usando
voice coders ou vocoders.
A compressão de voz é muitas vezes designada de codificação
de voz, visto que define um método para reduzir a quantidade de
informação necessária para representar um sinal de voz. Normalmente,
estes métodos são baseados em algoritmos com perdas (lossy
compression) mas são aceitáveis porque a perda de qualidade não é
perceptível ao ouvido humano.
Mas como comprimir voz? O que é a voz? Como é produzida? Como pode ser
representada?
Por exemplo, uma técnica de compressão trivial e economizadora de
largura de banda é não transmitir o silêncio visto que segundo
observações efectuadas, em conversação normal %50 da conversa é
silêncio.
Mas esta não é suficiente para as necessidades exigidas pelas
telecomunicações. Cada vez mais, se quer transmitir voz em alta
qualidade, ocupando o mínimo necessário em termos de canal de
transmissão, nomeadamente em largura de banda.
Linear Predictive Coding (LPC) é um método de compressão que
modela (cria uma maquete da realidade) do processo da produção de
voz. Especificamente, o método LPC modela este processo usando
um filtro digital e calculando os parâmetros da produção de voz.
Uma explicação mais simples será dizer que no método LPC transmitem-se
estes parâmetros do processo de produção de voz em vez de transmitir a
voz em si. Como tal, nunca irá ser reproduzido o sinal original de voz,
independentemente da ocorrência de erros ou não.
Foi proposto pela primeira vez como um método para codificar voz
humana pelo Departamento de Defesa dos Estados Unidos em 1984, atráves
do federal-standard 1015/LPC-10.
Todos os vocoders têm 4 atributos essenciais: bit rate, complexidade,
qualidade e o delay. Qualquer vocoder, independentemente do algoritmo
que use terá de efectuar trade-offs entre estes 4 atributos.
O primeiro atributo, a bit rate, é usada para determinar o grau de
compressão que o vocoder consegue atingir. Um sinal de voz sem ser
comprimido é normalmente transmitido a uma taxa de 64 kbps fazendo o
sampling a 8 kHz com samples de 8 bits. O LPC vocoder transmite a uma
bit rate de 2.4 kbps.
O segundo atributo, a complexidade do algoritmo afecta mutuamente o
custo e a sua eficácia. O método LPC devido à sua alta taxa de compressão
envolve milhares de computações por segundo.
O terceiro atributo é a qualidade. A qualidade é uma medida
subjectiva e depende de ouvinte para ouvinte. Um dos testes mais
comuns para medir a qualidade é o 'absolute category rating' (ACR) em
que um conjunto de perguntas são feitas a um conjunto de ouvintes que
de seguida classificam a qualidade com uma escala do tipo Muito boa,
Boa, Suficiente, Má, Muito Má.
Outro atributo também importante é o delay com que o sinal de voz
chega. Geralmente, um delay maior que 300ms é considerado inaceitável.
LPC coders sacrificam a qualidade por uma bit rate menor e como
resultado disso apresentam uma voz que soa sintetizada (como um robot
a falar).
O algoritmo consiste numa parte de análise ou codificação e numa parte de
síntese ou descodificação.
A análise e a síntese de voz através do LPC explora a natureza
prevísivel dos sinais de voz. A autocorrelação e a autocovariância
fornecem as ferramentas matemáticas para determinar essa
previsibilidade.
Se soubermos a autocorrelação de um sinal de voz, podemos usamos o
algoritmo de Levinson-Durbin para encontrar uma solução eficiente para
o problema de optimização dos coeficientes de previsibilidade e usar a
solução para comprimir ou re-sintetizar a voz.