4. Codificadores GSM

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.

 

4.1. Enhanced Full-Rate

4.1.1. Estrutura

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).

 

 

4.1.2. Arquitectura

A Figura 6 mostra o processo do codificador EFR por passos.

 

Gsm

 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.

 

4.1.3. Pitch Analysis

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.

4.2. Half-Rate

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.

4.3. AMR

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. 

 

 

Anterior   Segunte