Codificadores de Voz
Codificadores de Voz
2.1. Codificadores de forma de onda
A classe de codificadores de forma de onda engloba os mecanismos que têm como meta a representação maximamente fidedigna da forma de onda de um sinal analógico no domínio digital. Ou seja, o objetivo destes codificadores é que a subtração do sinal original pelo sinal resultante da decodificação de seu produto final (diferença conhecida como sinal de erro) seja o menor possível segundo alguma métrica – em geral, energia.
Entretanto, como visto anteriormente, dentre as plurais formas de representação do sinal binário, algumas são mais custosas em quantidade de espaço de armazenamento do que outras. Infelizmente, se quiséssemos obter erro muito próximo da nulidade, seriam necessários tantos bits para representar o sinal que o espaço de armazenamento requisitado para conter o sinal seria abissal. Cabe, então, nos perguntarmos: ‘qual o limiar adequado entre fidelidade de representação e armazenamento?’.
A resposta a esta pergunta é assaz subjetiva e, consequentemente, diversos codificadores foram criados, cada um com um compromisso diferente, tal como a codificação PCM, que busca reduzir o erro de codificação ou a codificação ∂PCM, que busca reduzir ao extremo a quantidade de bits utilizados para armazenar informação, sendo menos fiel à representação. Esta multiplicidade de codificadores de forma de onda será, agora, foco de nosso estudo.
2.1.1 Pulse Code Modulation
A Pulse Code Modulation, mais versada apenas pela sigla PCM é definida pela especificação G.711 formulada pela ITU-T (seção de Padronização da área de Telecomunicações do ITU - União Internacional de Telecomunicações) e trata-se do mais simples – embora mais rico em informação – feitio de codificação. Consistindo apenas na discretização do sinal no tempo e da quantificação de suas amplitudes uniformemente, sem qualquer forma de compressão, trata-se do modelo base para a maioria dos padrões de codificação que abordaremos no restante desta dissertação.
A amostragem de voz sem compressão apresenta a melhor qualidade possível, porém, sob o custo de elevada taxa, o que pode ser crítico quando o meio físico disponível para transmissão não tem banda larga. Neste âmbito, várias tentativas são feitas para reduzir a taxa demandada pela comunicação, mantendo a qualidade o mais próximo possível daquela oferecida pela fonte analógica. Neste sentido, muitas vezes é feita a escolha pela redução da taxa de amostragem do sinal; uma solução viável, mas prejudicial a representação de altas frequências, o que significa comprometer sons agudos e transitórios.
Ademais, pode-se, também, reduzir a quantidade de bits utilizados para discretizar as amplitudes do sinal, o que reduz a faixa dinâmica e aumenta o ruído de quantização. Essa abordagem torna-se mais interessante quando se observa a faixa de amplitudes onde a capacidade humana tem percepção mais ou menos aguçada. Isto é o que ocorre ao se implementar a codificação PCM por lei µ ou A, que fazem uso de uma escala logarítmica referenciada como “compansão”, termo derivado da justaposição das palavras de origem anglo-saxônica companding e expanding.
2.1.1.1 Quantização Uniforme
Na quantização uniforme cada amostra x[n] de x(t) é aproximada pelo nível de quantização mais próximo disponível e, sendo que a diferença entre os níveis é uma constante ∆.
Com 8 bits e o sinal de entrada variando de ± V, temos 256 níveis, com ∆ = V/128.
Se x(t) está entre ± V e as amostras são arredondados, a quantização uniforme produz:

(Eq. 2.1)
Se a magnitude do erro e[n] for >> ∆/2, ocorrerá overflow.
2.1.1.2 Ruído devido ao erro de quantização uniforme
As amostras e[n] são aleatórias e possuem valor entre ± ∆/2. Quando o sinal quantizado é convertido de novo para o sinal analógico, o erro aleatório, ou ruído, é adicionado ao sinal x(t). Este ruído é semelhando a um ruído branco somado ao sinal x(t). Como as amostras e[n] possuem uma probabilidade uniforme entre ± ∆/2, o valor médio quadrático de e[n], que é a potência do ruído da quantização analógica em 0Hz para fs/2, é dado por:

(Eq. 2.2)
2.1.1.3 Razão entre sinal e ruído de quantização – SQNR
A razão entre sinal e ruído de quantização, do inglês signal-to-quantisation noise ratio, é a medida de quanto o sinal é degradado pelo ruído de quantização.

(Eq. 2.3)
Na quantização uniforme, a potência do ruído de quantização é ∆2/12, independente da potência do sinal. Assim, a SQNR irá depender da potência do sinal.
Seja um sinal analógico de entrada de forma senoidal, ao seu nível máximo de amplificação sem overflow, temos que a razão SQNR em dB para a quantização uniforme de n bits, pela regra 6dB é:

(Eq. 2.4)
O que é também válido aproximadamente para a voz.
2.1.1.4 Alcance dinâmico
O alcance dinâmico, do inglês dynamic range, é a razão entre os níveis de sinal máximo e mínimo.
Expresso em dB, tem-se:

(Eq. 2.5)
Para a quantização uniforme temos:


(Eq. 2.6)
2.1.1.5 Críticas a PCM
A fim de reduzir o ruído de quantização, uma solução é aumentar a quantidade de intervalos de quantização. A diferença entre a intensidade da amplitude do sinal de entrada e o intervalo de quantização diminui conforme os intervalos de quantização são aumentados, isto é, o aumento do número de intervalos reduz o ruído de quantização. A quantidade de palavras de código, porém, também precisa ser aumentada na mesma proporção do que o aumento dos intervalos de quantização. Assim, este processo introduziria problemas adicionais pela capacidade de um sistema PCM para lidar com mais palavras de código.
O fator mais importante que afeta a qualidade de voz na quantização uniforme é a razão entre sinal e ruído de quantização. A quantização uniforme usa níveis de quantização iguais em todo o alcance dinâmico de um sinal analógico de entrada. Assim, temos que os sinais mais baixos possuem uma pequena SQNR enquanto os sinais mais altos possuem uma grande SQNR. A maioria dos sinais de voz é do tipo baixo, portanto, ter uma melhor qualidade de voz somente em níveis mais altos de sinal é uma forma ineficiente para realizar a digitalização dos sinais de voz. Ao utilizar um processo de quantização não-uniforme, pode –se melhorar a qualidade de voz em níveis mais baixos de sinal, como com o processo de compansão instantânea (do inglês instantaneous companding). Neste processo, o tamanho de passo ∆ é ajustado de acordo com a amplitude da amostra e, para maiores amplitudes, maiores tamanhos de passo são utilizados. É chamado de instantâneo pois o tamanho do passo muda de amostra para amostra.
2.1.2. Pulse Code Modulation por lei µ e lei A
Conforme atestado, a técnica PCM atribui bits de maneira igualitária para todas as amplitudes do sinal que se digitaliza. Porém, a audição humana não é igualmente sensível às baixas e às altas amplitudes. Na verdade, quanto maior for a amplitude do sinal, menos detalhada é a sua percepção. Portanto, seria coerente quantizar com mais bits as baixas amplitudes em detrimento das maiores – afinal, o ruído de quantização seria mais inconveniente quando objetiva-se escutar com clareza alguma informação de pequena amplitude do que quando temos uma amplitude tão grande que qualquer ruído passaria despercebido.
Atentivamente a esta característica da audição humana, foram propostas duas maneiras de se alocar bits de maneira não uniforme para representar sinais digitais: a Lei µ (iniciativa estadunidense) e a Lei A (iniciativa européia). A formulação destas leis se dá conforme abaixo:

(Eq. 2.7)
Onde µ e A são constantes, ∆s é o intervalo de amplitude do sinal de entrada (não quantizado) e ∆v é o comprimento do intervalo de quantização correspondente. É comum as implementações em que µ = 255 e A=87,6, o que permite manter o ruído de quantização constante em toda a faixa dinâmica utilizando-se apenas 256 intervalos (8 bits).
Portanto, o processo de codificação por lei µ e lei A deve ser entendido como uma compressão logarítmica do sinal seguido da quantização, conforme vemos na Fig. 2.2, onde o sinal efetivamente transmitido/armazenado é o y’(t) que, ao ser decodificado, passa pelo expansor; o sistema inverso da compressão por lei µ ou lei A.

Fig. 2.1 - Diagrama de blocos da comunicação com lei µ ou lei A
A compressão aumenta conforme são aumentadas as amplitudes das amostras do sinal. Assim o ruído de quantização irá aumentar à medida que elas aumentam. Um aumento logarítmico no ruído de quantização em todo o alcance dinâmico de um sinal de entrada amostrado mantém a SQNR constante por todo o alcance dinâmico.
As semelhanças entre lei µ e lei A são evidentes. Entretanto, cabe ressaltar as seguintes diferenças: a Lei A possui alcance dinâmico maior do que a Lei μ, enquanto esta possui desempenho sinal/distorção melhor para baixos níveis de sinais do que Lei A. Além destes fatos, a Lei A exige 13-bits para um equivalente PCM uniforme, enquanto a Lei μ exige 14 bits.
Por fim, é importante esclarecer que caso seja preciso estabelecer comunicação internacional entre dois países, um que usa lei A e outro que usa lei µ, cabe ao país usuário desta última realizar as conversões entre as leis para que a comunicação possa ocorrer.
2.1.3 Differential Pulse Code Modulation
Esta técnica, conhecida como Diferential Pulse Code Modulation (DPCM), utiliza a predição linear para gerar um vetor de coeficientes multiplicativos que quando aplicados sobre amostras passadas do sinal são suficientes para predizer a amostra atual com erro minimizado. Assim, seria suficiente a transmissão das N primeiras amostras do sinal e N coeficientes. Daí em diante, o decodificador seria capaz de recalcular as amostras seguintes. É claro que este mecanismo não terá erro constante, mas sim crescente com o tempo e, portanto, esporadicamente, far-se-á necessário o reenvio dos parâmetros.
Comparando esta técnica com o PCM, vemos que enquanto para a última técnica codificamos voz a taxa de 64 kbps (considerando 8000 amostras/s com amplitudes quantizadas por 16 bits), para a primeira, assumindo quantização de amplitudes em 16 bits e 10 coeficientes (valor típico para a voz) em ponto flutuante de 32 bits, recalculados a cada 20 ms, teremos: (16*10+32*10)/(20E-03) = 24 kbps. Ou seja, compressão de 62.5%, um resultado bastante expressivo.
Matematicamente, temos por trás do DPCM um processo de minimização de uma função de N variáveis situada num hiperespaço. Esta função é o erro quadrático médio, que representa, em última análise, a energia do erro, e a minimização buscada é feita pela análise de gradiente desta.

Fig. 2.2 - Erro quadrático médio em função do parâmetro gérico do preditor linear ak
Todavia, antes de procedermos com esta minimização, é necessário demonstrar que existe, de fato, um mínimo para a função de erro quadrático médio. Sabendo que esta função pode ser escrita da forma:

(Eq. 2.8)
Assim, se desenvolvermos a Eq. 2.8, considerando um coeficiente ak genérico como única variável, teremos que E[e2(n)] em função deste parâmetro apresentará formato parabólico. Além disso, como o termo multiplicativo de ak é positivo, a concavidade desse gráfico será voltada para cima, mostrando que haverá um mínimo (Fig. 2.2). É possível, ainda, afirmar que, em um caso limite particular, E[e2(n)] apresentará valor mínimo nulo, dado que é uma função quadrática, não podendo assumir, portanto, valores negativos.
Feita esta consideração, é razoável desenvolver a equação para a obtenção da expressão que nos permitirá o cálculo dos coeficientes ótimos para o DPCM. Destarte, deriva-se a função E[e2(n)] de acordo com cada coeficiente, considerando a independência dos parâmetros. Como desejamos encontrar o mínimo desta função, tem-se:

(Eq. 2.9)
É notório que, a partir da utilização da Eq. 2.9 para cada 1 ≤ k ≤ M, onde M é a ordem do preditor linear proposto, podemos formar a seguinte matriz:

(Eq. 2.10)
A fim de simplificar os cálculos, na prática, consideram-se trechos onde o sinal possa ser considerado estacionário. Pode-se justificar essa suposição, pelo fato de desejarmos coeficientes capazes de representar o erro quadrático médio, que só faz sentido quando há pouca variabilidade do sinal em questão. Dessa forma, reescreve-se a Eq. 2.10 como:

(Eq. 2.11)
Por observação da primeira matriz, verifica-se que as diagonais paralelas à principal, inclusive esta, apresentarão estrutura semelhante, numa configuração denominada Toeplitz. Essa conformação é interessante, em especial, para o cálculo computacional de inversas, por torná-lo menos custoso.
Em geral, por não se conhecer a função de distribuição de probabilidades (PDF) que viabilize o cálculo nas autocorrelações expostas na Eq. 2.11, lança-se mão da suposição de que o sinal é ergódigo, isto é, definindo uma espécie de autocorrelação temporal:

(Eq. 2.12)
Para que ela seja uma boa aproximação da autocorrelação estatística é necessário que obedeça aos seguintes critérios:

(Eq. 2.13)
A fim de melhorar a predição realizada, há, ainda, variações de codificação DPCM que incluem os erros de predição passados, conforme o formalizado na Eq. 2.14.

(Eq. 2.14)
2.1.4. Delta Modulation
A Delta Modulation é o caso extremo de DPCM, isto, pois usa-se apenas um coeficiente no preditor linear cujo valor é unitário. Assim, tem-se que, na prática, a única informação armazenada, além da primeira amostra do sinal, é se as amostras subsequentes são maiores ou menores em amplitude que a anterior, como representado na Eq.2.15.

(Eq. 2.15)
Obviamente, este método apresenta pouca fidelidade ao sinal original, isto porque há a limitação do slew rate em casos de variações abruptas do sinal que se deseja codificar, e, também, a introdução do ruído granular em partes do sinal que sejam constantes (ou que variam muito pouco). Estas limitações são mostradas na fig.2.3.

Fig. 2.3 - Erro do Delta Modulation
Uma solução para o primeiro problema seria o aumento da taxa de amostragem (e de codificação) pois assim garantir-se-ia variações mais suaves do sinal entre cada amostra e mais passos para a subida ou descida da representação codificada. Já a solução do segundo problema seria pela redução do passo de incremento/decremento da codificação. Contudo, esta solução agravaria o problema de sobrecarga de inclinação. Logo, existe um compromisso entre as limitações apresentadas, problemas que serão tratados na Técnica ADM, apresentada a seguir.
É importante ressaltar que, de acordo com as características desta técnica de modulação, a transmissão da informação pode ser realizada com taxas muito baixas, pois o que se envia a cada ciclo é apenas um bit. Já a reconstituição do sinal original é feita segundo um passo de incremento ou decremento fixo.
2.1.5. Adaptive Delta Modulation
Adaptive Delta Modulation, popularizada simplesmente como ADM, baseia-se na técnica DM buscando sanar o inconveniente gerado pela granulação. Para tal, utiliza como critério a polaridade de dois erros sucessivos. Se a variação de polaridade acontecer no mesmo sentido, é aumentado o passo de incremento, senão, ele é reduzido.
A ADM pode ser formalizada algebricamente conforme as Eq. 2.16.

Ou de forma alternativa:

(Eq. 2.16)
Onde K ≥ 1.
A técnica ADM, portanto, mantém a característica de baixa taxa de transmissão da técnica DM, e ainda apresenta maior qualidade do sinal recuperado.
2.1.6. Adaptive Prediction Code
Neste ponto é interessante conceituar duas diferentes características do som que possibilitarão a melhoria da predição realizada até este ponto. Essas características constituem-se na separação do som em dois grupos conhecidos como vozeados ou não vozeados, citados na seção 1.1.
Sons vozeados ou sonoros são marcados por elevada energia, concentrada em baixas freqüências. Esses sinais possuem, então, um pitch definido, isto é, têm altura (frequências harmônicas) do som bem determinada. Já os sons não vozeados são aqueles cujo espectro de potência alcança níveis menores e acumulado junto a componentes de elevada freqüência, não detendo, portanto, tom determinado. A fim de facilitar a compreensão, se colocarmos um de nossos dedos tocando em nossa garganta e transmitirmos o fone da vogal “a”, perceberemos a vibração de nossas cordas vocais, por se tratar de um som vozeado. Por outro lado, fazendo o mesmo teste para o fone da consoante “s”, não será verificada qualquer vibração, por este som ser de menor potência espalhada em altas freqüências, que o define como não vozeado. Por essa característica, esses últimos também são conhecidos como sons surdos.
Destarte, mediante essa distinção do sinal de voz, é plausível que se utilize a informação de pitch na estimativa realizada pela predição, conforme exposto na Eq. 2.17.

(Eq. 2.17)
Onde P é o pitch identificado.
Cabe ainda ressaltar, que no caso de sons não vozeados, pelo fato de P não ser definido, a transmissão dos parâmetros ck não é realizada, por serem considerados nulos.
Resta-nos, então, definir como se viabiliza a identificação sistemática do pitch.
2.1.6.1. Técnica Average Magnitude Difference Function
Esta metodologia, denominada Average Magnitude Difference Function, baseia-se nas diferenças entre a função original s(n) e sua versão defasada s(n – τ). Em caso de sinais com certa periodicidade, essas diferenças serão mínimas quando o valor de τ for igual ao seu período. Assim, matematicamente, pode-se definir a função de AMDF da seguinte forma:

(Eq. 2.18)
Onde M é a extensão, em amostras, da janela analisada.
2.1.6.2. Técnica Autocorrelation Function
Conhecido como Autocorrelation Function, este procedimento é voltado para a avaliação da função autocorrelação entre o sinal analisado e sua versão defasada. Essa implementação é possível graças ao fato de essa função apresentar seus máximos, justamente, nos pontos onde a defasagem é igual a um múltiplo do período do sinal, ou seja,

(Eq. 2.19)
A prova desta equação encontra-se no Apêndice A.
2.2. Codificadores paramétricos
Os Codificadores Paramétricos buscam modelar matematicamente o sinal a ser transmitido, e extrair parâmetros deste sinal que serão codificados e transmitidos. Ou seja, estes codificadores não se baseiam na forma de onda do sinal, mas sim em parâmetros matemáticos que representam o sinal de interesse.
Uma das técnicas mais utilizadas por esta classe de codificadores é a predição linear , que de forma análoga a citada na DPCM, procura gerar um vetor de coeficientes que quando multiplicados por uma excitação geram um resultado que se assemelha a informação que originalmente se deseja representar. Assim como nesta abordagem [ver seção 2.1.3], a meta é reduzir a energia da diferença entre o sinal que seja deseja representar originalmente e o sinal da predição.
No caso da voz, diz-se que ao conseguir estes parâmetros foi feito um modelo do aparelho fonador. Entretanto, o que se conseguiu foi um modelo estatístico de um aparelho fonador, o que não significa que é trivial generalizá-lo para representar qualquer voz. É corrente denominar este modelo de vocoder.
2.2.1. Linear Predictive Coding
O Linear Predictive Coding é uma das técnincas mais utilizadas para análise e síntese dos sinais de voz. De maneira simplificada, o LPC é uma técnica baseada na modelagem de predição linear associada ao fato de o sinal a ser codificado ser vozeado ou não. A partir dessa última informação, pode-se definir se haverá (vozeado) ou não (não vozeado) o envio da informação de pitch.
Assim, há diferença de excitação no decodificador para os sinais sonoros e os surdos: os primeiros, por apresentarem altura definida, são representados por um trem de impulsos espaçados pelo pitch. Já os segundos, acabam por ser representados por um ruído branco gaussiano de média zero e variância unitária.
Mediante o acima exposto, é possível verificar que o diagrama de blocos do decodificador é caracterizado pela Fig. 2.4.

Fig. 2.4 - Esquemático do decodificador LPC: diferentes excitações para o caso de o sinal ser vozeado (trem de pulsos) e não vozeado (ruído branco gaussiano de média 0 e variância unitária)
Dessa forma, o codificador LPC é caracterizado pela extração de parâmetros do preditor, do pitch, da caracterização vozeada ou não e do ganho a ser aplicado na excitação do decodificador. Os parâmetros do preditor são obtidos de maneira semelhante àquela da abordagem DPCM, exposta na Eq. 2.11, enquanto que o pitch é obtido conforme o abordado no item anterior.
A caracterização do som como vozeado ou não pode ser realizada através de duas formas: utilizando-se as técnicas de obtenção de pitch ou por meio de um procedimento denominado Taxa de Cruzamento por Zeros (TCZ). A primeira alternativa consiste da verificação da inclusão do pitch na faixa de 80 a 300 Hz. Em caso positivo, o sinal é caracterizado como vozeado, ao passo que sua exclusão do referido intervalo o qualifica como som surdo.
Por outro lado, a TCZ é marcada pela fixação de um limiar para cruzamento por zeros, acima do qual, localizam-se os sinais não vozeados. Esta técnica é justificada pelo fato de esses sinais apresentarem mais componentes em altas freqüências que os vozeados. Matematicamente, podemos definir a TCZ como:

(Eq. 2.20)
A taxa de transmissão do codificador LPC é baixa em relação aos codificadores de forma de onda, pois se passa a transmitir uma quantidade extremamente inferior de parâmetros, implicando em uma taxa de codificação bastante inferior. Contudo, devido a seleção binária entre sons vozeados e não vozeados, os sons intermediários não são levados em consideração. O resultado disto se reflete em um sinal de voz com aspecto “robótico”, muito aplicado em música eletrônica.
2.2.2. Residual-Excited Linear Prediction
O Residual-Excited Linear Prediction (RELP), utilizado pela tecnologia GSM (Global Systems for Mobile), tem o intuito de melhorar a excitação a ser enviada ao decodificador, refinando, portanto, a estimativa realizada. Para tal, este vocoder baseia-se na forma como é feita a análise LPC para a modelagem do trato vocal, possuindo duas particulares variações a serem tratadas adiante.
2.2.2.1. Residual-Excited Linear Prediction com Análise LPC
Este codificador se fundamenta na presença de um bloco que realiza a estimativa do erro de predição linear, a ser utilizado como excitação no receptor. Contudo, a transmissão precisa desse erro levaria a um aumento significativo na banda de transmissão, que é reduzida pela subamostragem do mesmo.

Fig. 2.5 - Codificador RELP: subamostragem para redução de taxas de transmissão
Neste ponto, cabe ressaltar que, enquanto o envio do erro é realizado por amostra obtida, os coeficientes de predição linear são calculados no codificador após períodos regulares para atualização do decodificador. Além disso, na Fig. 2.5 podemos verificar a presença de dois filtros cujas funções são distintas: o primeiro (antes do subamostrador) objetiva impedir o efeito de aliasing pelo alargamento do espectro devido à subamostragem, o que acaba por reduzir a banda do sinal e(n) e, por conseguinte, em aplicações de telefonia, reflete na percepção de “abafamento” da voz decodificada; o segundo tem o intuito de selecionar a região central do espectro do sinal, dado que o mesmo apresenta-se com versões repetidas em frequências mais altas como consequência da subamostragem realizada. A ilustração das implicações das filtragens supracitadas encontra-se na Fig. 2.6.

Fig. 2.6 – (a) Operação do Filtro anterior ao subamostrador; (b) Operação de filtro posterior ao subamostrador: observe que o espectro foi alargado após subamostragem
Destarte, é possível verificar que seu decodificador apresentará a estrutura apresentada na Fig. 2.7. Os filtros presentes nesse esquemático apresentam, de maneira análoga ao anteriormente exposto, funções de redução de ruídos de alta frequência introduzidos durante a transmissão (antes do superamostrador) e seleção das frequências centrais devido à superamostragem realizada.

Fig. 2.7 - Decodificador RELP: reconstrução do sinal com superamostragem
2.2.2.2. Residual-Excited Linear Prediction: Análise por Síntese LPC
Este codificador faz parte do amplo grupo de codificadores de análise por síntese, que são considerados os mais efetivos por buscarem melhorar a qualidade através da informação contida no sinal de voz e, ainda, reduzir a taxa de bits necessária, o que é de especial importância, principalmente, na área das telecomunicações. A informação levada em consideração para a confecção de tais codificadores é calcada na habilidade auditiva humana em termos de mascaramento de ruído, sensibilidade à fase, resolução em frequência, percepção do pitch e variação silábica da energia.
Assim, a variação do RELP baseada em análise por síntese LPC, inclui uma espécie de simulação, tanto do codificador como do decodificador LPC, que permite verificar o sinal estimado no receptor. Uma vez realizada esta estimativa, é possível realizar sua comparação com o sinal original, que representará um refinamento da avaliação ocorrida no decodificador.

Fig. 2.8 – Cálculo do erro apresentado pelo codificador RELP de análise por síntese
Semelhantemente ao RELP apresentado na seção anterior, este codificador também realiza filtragem e subamostragem do sinal de erro e(n) para redução da taxa de transmissão, além de enviar os parâmetros LPC periodicamente para a atualização no receptor.
Mediante todo o exposto, o leitor pode ainda ficar em dúvida com relação à razão de termos incluído este codificador dentre os paramétricos. Por isso, cabe esclarecer que esta classificação não é absoluta, havendo autores que os introduzem como híbridos, pelo fato de utilizarem-se tanto da informação contida no formato da onda de erro como também do envio de parâmetros que modelam o trato vocal. Essa sua característica, pode, ainda, ser vista como uma desvantagem frente aos demais, já que necessitam do envio dos dois tipos de informação citados.
2.2.3. Code Exited Linear Prediction
De forma geral, o Code Exited Linear Prediction (CELP) reúne características das duas famílias de codificadores abordadas neste texto. Eles cultivam as parametrização dos codificadores paramétricos, enquanto geram a excitação pelo formato de onda.
Através de dicionários (conjuntos de possíveis excitações, onde cada termo do conjunto é uma sequência de um processo estocástico de média zero) é possível decidir qual excitação utilizar. Com isto, avalia-se um número bem maior de excitações, com relação ao LPC, garantindo que mais tipos de sinais de voz podem ser reconstruídos. Sendo portanto, um sistema mais complexo e capaz de gerar um sinal de voz sintetizado com qualidade comparável aos gerados por codificadores de forma de onda.
2.2.4. Mixed Excitation Linear Prediction
Os codificadores paramétricos, apresentados até este ponto, têm a interessante característica de redução da banda necessária à transmissão do sinal, ao preço da redução da qualidade do sinal transmitido. Nas seções anteriores, foram tratados os codificadores desta classe que se utilizam de duas distintas representações para frames vozeados e não vozeados, não havendo um meio termo entre elas. Esse fato se reflete na perda da naturalidade do sinal realizado, a despeito de sua qualidade tonal, dado que a continuidade da fala inclui fases de transição entre esses dois tipos de som.
Como forma de mitigar este problema, foi apresentado o codificador MELP, no qual há utilização de uma excitação mista para a representação vozeada e não vozeada, de maneira a abolir a decisão binária por uma ou outra. Essa excitação leva em consideração a relação de amplitudes entre pulsos (e não mais impulsos) periódicos e o ruído, estimada tomando por base a minimização da energia do erro.
Este codificador, então, propõe a filtragem passa-baixas do frame sonoro e passa-altas do surdo, onde a frequência de corte é apontada no emissor. A fim de melhor modelar o sinal de voz, conferindo-lhe maior naturalidade, são ainda introduzidas variações no período fundamental que são influenciadas por um terceiro estado de controle. Ademais, o MELP conta com a determinação da caracterização vozeada por bandas.

Fig. 2.9 – Decodificador MELP: LPC com excitação mista (Adaptado de [10])
Cabe ainda ressaltar que no pré-processamento de envolvente é realizada uma filtragem com o intuito de reduzir o ruído interframes, suavizando as transições de predição.
Este codificador foi normalizado pelo Departamento de Defesa dos EUA, tendo sua distribuição de bits conforme o exposto na tabela 2.1.

Tab. 2.1 – Distribuição dos bits no codificador MELP, por frame de 22,5 ms a 2,4 kbps (Adaptado de [10])
2.3. COMPARAÇÃO ENTRE CODIFICADORES
De forma geral, os codificadores de forma de onda, por transmitirem de fato amostras do sinal de voz, apresentam uma qualidade de sinal sintetizado muito boa, porém as taxas de transmissão são bastante elevadas. Por outro lado, os codificadores paramétricos, por transmitirem apenas parâmetros extraídos da manipulação matemática do sinal de voz, apresentam taxas de transmissão bastante baixas, contudo geram sinais sintetizados de baixa qualidade. A tabela a seguir resume as características supracitadas.

Tab. 2.2 - Comparativo entre codificadores de formato de onda e paramétricos: prós e contras
2.4. Quantização Vetorial
Codificadores que fazem uso da predição linear como ferramenta de estimação do sinal de voz necessitam de atualizar constantemente o receptor de maneira a buscar a minimização do erro. Para tal, é comum implementarem a técnica conhecida como quantização vetorial, onde é formado um codebook, isto é, uma coleção de coeficientes ótimos da predição linear. Esse codebook pode ser enviado apenas uma vez durante toda a transmissão ou atualizado periodicamente.
Cabe ainda ressaltar que os codebooks podem ser diferentes para cada coeficiente, havendo a possibilidade de serem maiores (maior variedade) para aqueles de ordem mais baixa, dado que representam maior peso no ato da estimação.
As técnicas de quantização vetorial mais conhecidas são o k-médias e o LBG (Linde Buzo Gray), os quais se baseiam no cálculos de centróides de um espaço amostral, que se constitui dos vetores cuja soma das distâncias para os demais é mínima.
K-médias
Esta técnica resulta na identificação dos k vetores mais representativos do espaço amostral analisado. Assim, estabelece as etapas apresentadas no fluxograma da Fig.2.10, onde o critério de parada pode ser medida de distorção aceitável, ausência de mudanças de configuração ou, até mesmo, número de iterações.

Fig. 2.10 – Algoritmo de k-médias: seleção de vetores mais representativos do espaço amostral
LBG (Linde Buzo Gray)
O LBG (Fig. 2.11) constitui-se de uma variação do k-médias de maneira a obter melhor eficiência de processamento, em especial quando combinado com técnicas que permitam uma estimativa inicial do centróide a ser escolhido, que é o caso do centroid splitting e uniform cell density (Apêndice B).

Fig. 2.11 – LBG: menor processamento para obtenção de codebook
2. TÉCNICAS DE CODIFICAÇÃO