Existe muita tecnologia diferente no que toca a codificação de voz. O GSM standard suporta quatro tipos de técnicas distintas de codificação baseadas nas possibilidades já abordadas, sendo elas o Full Rate e Half Rate, os primeiros, Enhanced Full Rate (EFR),e por fim várias variantes do Adaptive Mult-Rate (AMR).
Até 1997 o codificador usado era o Full Rate mas nesse ano apareceu a versão nova. Com mais capacidade de processamento e o consumo de energia mais baixo nos processadores de sinal, foi possível usar-se algoritmos mais complexos (Tabela 1.1 e 1.2) dando ao EFR a capacidade de alcançar mais detalhe no sinal de voz descodificado à saída mesmo reduzindo o ritmo binário de 13 kbit/s para 12.2 kbit/s.
Codec |
Codificação (ms) |
Descodificação(ms) |
Full Rate |
0.41 |
0.16 |
EFR |
9.02 |
0.86 |
Half-Rate |
8.31 |
1.30 |
Tabela 1.1 – Complexidade da Codificação/Descodificação. |
Todos estes codificadores são lossy, mas todos são optimizados para reconstruir com a máxima precisão possível o sina de voz á saída do receptor wireless.
Todos os codificadores GSM em causa fazem a amostragem segundo os mesmos padrões, a 13bits/amostra amostrados a 8kHz originando um sinal de entrada de 104kbits/s, mas é depois á saída que o ritmo binário de cada um dos codificadores difere. A Tabela 2 contem a informação relevante de alguns dos codificadores existentes.
Codec |
Bit Rate (k/sec) |
Compressão |
Tipo de Codec |
Full Rate |
13 |
8 |
RTE-LTP |
EFR |
12.2 |
8.5 |
ACELP |
Half Rate |
5.6 |
18.4 |
VSELP |
AMR 12.2 |
12.2 |
8 |
ACELP |
AMR 10.2 |
10.2 |
10.2 |
ACELP |
AMR 7.95 |
7.95 |
13.1 |
ACELP |
AMR 7.4 |
7.4 |
14.1 |
ACELP |
AMR 6.7 |
6.7 |
15.5 |
ACELP |
AMR 5.9 |
5.9 |
17.6 |
ACELP |
AMR 5.15 |
5.15 |
20.2 |
ACELP |
AMR 4.75 |
4.75 |
21.9 |
ACELP |
Tabela 2 – Codificadores GSM. |
O codificador de voz GSM EFR é baseado no algoritmo ACEP (Algebric Code Excited Linear Prediction). Como já tinha sido abordado, o ritmo binário do codificador de fonte é de 12 kbit/s. Existem também codificação de canal, para protecção de erros onde se usam 10.6 kbit/s, mais 0.8 kbit/s do que se usava no FR, isto porque se reduziu o ritmo binário do codificador de fonte em 0.8 kbit/s. O ritmo binário resultante do canal mantém-se então o mesmo 22.8 kbit/s. A Tabela 3 mostra a alocação dos bits dos parâmetros por trama.
Parâmetro |
1ª e 3ª sub-trama |
2ª e 4ª sub-trama |
Total por trama |
2 LSP |
|
|
38 |
ACB (índex) |
9 |
6 |
30 |
ACB (ganho) |
4 |
4 |
16 |
FCB (pulsos) |
35 |
35 |
140 |
FCB (ganho) |
5 |
5 |
20 |
Total |
|
|
244 |
Tabela 3 – Alocação de bits por trama. |
O codificador EFR trabalha em tramas de voz de 20ms que por sua vez são divididas em 4 sub-tramas de 5ms cada. Ao longo destas tramas são distribuídos os 5 tipos de parâmetros existentes. Para cada trama são calculados dois grupos de coeficientes de predições lineares (LSP), bem como os índices e ganhos dos codebooks fixos e adaptativos (Tabela 3).
A Figura 6 mostra o processo do codificador EFR por passos.
Figura 6 – Diagrama de blocos do EFR. |
O primeiro passo é um pré-processamento que consiste num filtro passa-alto de 80Hz e em escalonamento de modo a reduzir alguma da complexidade da implementação.
O segundo passo é o LPC (Linear Predictive Coding) que é codificação de predição linear neste caso short-term. A previsão linear levada a cabo é da décima ordem. Este processo ocorre duas vezes por trama e consiste numa auto correlação de duas janelas assimétricas colocadas em duas sub-tramas diferentes dentro da mesma trama. Estes resultados são então convertidos em filtros de coeficientes short-term, depois em pares espectrais para melhorar a eficiência e por fim quantificados para 38 bits.
De seguida, representado pelo 4º bloco é o Open-Loop pitch analysis que decorre em metade de cada trama e dá o valor da estimativa do pitch lag. Esta estimativa é depois enviada para o próximo bloco (Adaptive Codebook Search) onde se encontram os vectores de excitação que modelam a estrutura long-term da voz. O pitch lag é aplicado a um sintetizador e os resultados são comparados aos valores não sintetizados. A este processo dá-se o nome de análise por síntese que já foi abordado anteriormente nos filtros híbridos. Este processo devolve a diferença da comparação que por fim é codificada em 34 bits.
O valor residual resultante do processo anterior é modelado pelo codebook algébrico usando novamente um processo de analise por síntese. O lag resultante deste processo é codificado em 35 bits por sub-trama e o ganho em 5 bits por sub-trama.
O último passo do codificador é voltar a preparar a sua memória para a próxima trama.
Este processo foi mencionado na explicação passo a passo do codificador EFR. Este pitch analysis é feitoatravés de uma pesquisa do codebook a adaptativo do valor de lag introduzido. Este pesquisa consiste em 4 passos:
4.1.4. Codificação do Canal
A codificação de canal do EFR manteve-se praticamente inalterada em relação a codificação de canal usada para o FR. Foi adicionado o já mencionado protecção de erros extra que consiste numa verificação de paridade de 8 bits CRC e um código de repetição.
O codificador de canal (módulo usado no FR) em si protege os 182 bits mais importantes com um 1/2–Rate Convolution Code e 3 bits CRC que protegem os outros 50 bits menos imporantes. No codificador EFR os bits são divididos em protegidos e não protegidos dependendo na sua importância para a qualidade de voz final. Apenas 66 bits não vão protegidos. Os 8 bits CRC adicionais no codificador de canal do EFR protegem os 65 bits mais importantes.
A especificação da transmissão de voz para o GSM contempla a divisão do canal de voz em dois sub-canais que podem manter chamadas separadas. Um codificador de voz que use metade do canal permite aos operadores duplicar a capacidade de cada célula com um investimento muito baixo.
O codificador half-rate é um Vector Sum Excitation Linear Prediction (VSELP), que opera de uma forma similar ao EFR e ao AMR. O débito binário resultante é de 5.7 kb/s, que incluem 100 b/s que especificam a inclusão ou não de voz; esta indicação permite ao codificador uma operação diferenciada e consequentemente melhor qualidade.
Este tipo de codificadores foi introduzido em meados dos anos 90, mas a percepção da voz era tão baixa, que não houve aceitação por parte dos utilizadores.
Com a introdução do Adaptive Multi-Rate (AMR), o uso do canal de half-rate será mais comum.
O Adaptive Multi Rate (AMR) é um compressor de áudio patenteado e optimizado para a codificação de voz. Este codificador oferece uma excelente qualidade de voz devido ao facto de usar uma largura de banda compreendida entre os 50 e os 7000 Hz, comparativamente aos codificadores utilizados nas linhas telefónicas convencionais, que utilizam apenas a banda dos 300 aos 3400 Hz.
O AMR foi adoptado como um standard na codificação de voz pelo 3GPP em Outubro de 1998 e é hoje em dia utilizado nas redes de GSM e UMTS.
![]() |
![]() |