G.729

De MediaWiki do Campus São José
Ir para: navegação, pesquisa
Codificador de voz G.729


Raphael Stuart Coelho, Thiago Martins de Sousa
Centro Federal de Educação Tecnológica de Santa Catarina
Curso Superior de Tecnologia em Sistemas de Telecomunicações
As imagens já podem ser inseridas --Marcos Moecke 19:07, 16 Dezembro 2008 (BRST)

Resumo

Para a transmissão de voz nos sistemas de telecomunicações atuais é necessário codificá-la usando um codec. Este artigo tem como objetivo fazer uma análise do codec de áudio G.729, fazendo algumas comparações com outros codecs e expondo as suas aplicações na codificação de voz em aplicações VoIP e entre centrais de operadoras telefônicas.

Introdução

Mesmo com o avanço das telecomunicações ainda há uma limitação na taxa de transmissão em alguns tipos de aplicações. Um dos principais casos são as aplicações multimídia em tempo real, como audioconferência, videoconferência e ligações telefônicas através da internet. Nessas aplicações a perda da qualidade da informação é tolerável, mas o atraso no envio dessas informações não. Nesse contexto a codificação da imagem ou som é muito importante, pois ela é que vai definir a taxa de transmissão necessária. Essa taxa também é chamada de bit rate. Neste artigo será apresenta um breve comentário sobre a tecnologia utilizada no processo de digitalização da voz utilizando o codec G.729 e a sua relação entre qualidade de voz e banda necessária.

Codec é um hardware ou um software que codifica e decodifica sinais. Essa palavra é uma combinação de codificador/decodificador. O codec implementa um algoritmo de compressão de sinais sendo responsável por transformar a um sinal analógico em uma seqüência de bits.A codificação é feita fazendo amostragens periódicas no sinal, no caso do codec G.729, sinais de voz.O sinal codificado é um sinal digital.

O codec G.729 foi desenvolvido pela empresa Sipro e padronizado em 1996 por recomendação da ITU-T. Para utilização desse codec é necessário o pagamento de licença/royalties.Há um consorcio de entidades que para fomentar o uso desse padrão.Esse grupo é formado por France Telecom, Mitsubishi Electric Corporation, Nippon Telegraph and Telephone Corporation (NTT), Toshiba Corporation, Université de Sherbrooke.Ele era usado a principio para codificar a voz em redes frame relay.

Funcionamento do CODEC

Na digitalização da voz, o codec é responsável por fazer o tratamento das amostras PCM (modulação por código de pulso) para comprimi-las para a transmissão.Essa codificação geralmente é feita aplicando uma função matemática sobre o sinal amostrado.Existem basicamente três tipos de codificação

Codificação de onda

Este tipo de codec mapeia o sinal original no domínio tempo usando os bits do sinal digital , que são representações do sinal já amostrado e quantizado. Geralmente esses tipos de codec geram bit rates altos, mas contrapartida, obtém os melhores índices de qualidade de voz (MOS).Exemplos de codec deste tipo são PCM e ADPCM.

Codificação de fonte

A codificação é feita por análise de pequenos grupos de amostra PCM. Geralmente um frame dessa família tem entre 10 e 20 ms de duração, e contém entre 80 e 160 amostras PCM.Estes tipos de codec têm um bit rate muito pequeno, na ordem de 1 a 3 kbps e baixa qualidade de voz (MOS).São usados em situações onde a qualidade na voz não é importante, somente a inteligibilidade é necessária. Geralmente é utilizado em aplicações militares.

Codificação híbrida

A codificação hibrida é usada combinando aspectos da codificação de onda e de fonte. Os codec deste tipo usam um modelo de predição não linear.Um exemplo de codec de codificação hibrida é o G.729

Especificações do codec G.729

Funcionamento do codec G.729 O codec G.729 usa um filtro de entrada para o sinal analógico conforme recomendação G.712 do ITU-T. Ele faz 8000 amostras por segundo e codifica os sinais de áudio em quadros de 10 ms cada, com um atraso de 15 ms, com um bit rate de 8 kbps.O codec G.729 utiliza o algoritmo de codificação CS-ACELP.O algoritmo CS-ACELP (predição linear por excitação com código algébrico) é baseado num modelo de predição linear. Esse modelo considera o sinal de voz como um sinal quase-estacionário, se considerar um espaço de tempo de 10 ou 20 ms no processo de amostragem. O sinal de entrada é comparado com um dicionário, existe dois dicionários, um de conteúdo fixo e outro de conteúdo adaptivo.A busca por melhor excitação segue o modelo de analise por síntese, em que pequenos trechos do sinal são sintetizados e comparados com um sinal alvo. O codec G.729 trabalha com amostras de 10 ms do sinal. Isso gera 80 amostras do sinal por segundo.Esse modelo obtém os parâmetros de cada amostra. E 5 ms depois são obtidos os ganhos e os índices dos dicionários que vão alterar a amostra. O ganho e o índice são enviados ao codificador que estar com a amostra, conforme mostra a figura abaixo:

Arquivo:Algoritmo CS-ACELP.JPG

No estudo da transmissão de voz há uma medida chamada Mean Opinion Score (MOS).Essa medida de qualidade de voz é feita de forma subjetiva, pois pessoas julgam a qualidade da transmissão da voz ao conversarem ou ao ouvirem amostras de voz. Após estes testes, os sujeitos irão qualificar a qualidade da voz de acordo com a seguinte escala: MOS Qualidade
5 Excelente
4 Bom
3 Razoável
2 Pobre
1 Mau

Na avaliação MOS o codec G.729 CS-ACELP chegou a 3.92 .

Variações do codec G.729

O codec G.729 tem 4 variações da versão padrão:

  • G.729 Annex A:Compatível com a versão padrão do G.729 e muito similar a ela , tem bit rate de 8 kbit/s e usa o algoritmo CS-ACELP. Na versão G.729A foi modificado a forma de codificar os sinais. Isso tornou o processamento do sinal mais leve e diminuiu o atraso referente à codificação.
  • G.729 Annex B: Compatível com a versão padrão do G.729 e muito similar a ela , tem bit rate de 8 kbit/s e usa o algoritmo CS-ACELP. Nessa versão foi adicionado o VAD (Voice Activity Detection). Nessa versão o algoritmo detecta quando há silencio na conversação. Então na codificação é adicionado um ruído de conforto. Ele é adicionado para que durante o silêncio da conversação, algum dos usuário não pensem que a ligação caiu.
  • G.729 Annex D:Possui um bit rate de 6.4 Kbps. Mas acompanhando a queda do bit rate, a qualidade da voz também diminui.
  • G.729 Annex E:Teve um aumento no bit rate para 11.8 kbps, no numero de instruções por segundo(MIPS) que foi para 25 e na qualidade da voz

Comparação com outros CODECs

  • G.729 e ILBC

O codec G.729 tem um bit rate menor que o gerado pela utilização do codec ILBC que é de 13.3Kbps a 15.2Kbps. Esse bit rate varia conforme a duração dos quadros (20 ms e 30 ms respectivamente).A avaliação Mos do ILBC é de 3.8 para bit rate de 13.3kbps ou 3.9 para 15.2kbps. Verificando essas informações o uso do codec G.729 mostrasse mais interessante. Mas o G.729 padrão necessita de quase 22 MIPS (Milhões de operações por minuto) para codificar. Enquanto o ILBC é mais econômico no processamento necessitando somente 8 MIPS.E Para pode utilizar o G.729 é necessário ter uma licença de uso. Nesse quesito o ILBC é mais vantajoso pois é um codec aberto.

  • G.729 e G.711

O codec G.711 na avaliação MOS chegou a 4.1, sendo superior ao G.729 que chegou até 3.92 .O codec G.711 gera um bit rate de 64 kbps.O que para algumas aplicações torna ele sem utilidade em aplicações voip. Nesse quesito o codec G.729 tem imensa vantagem sobre o G.711. Mas uma vantagem do G.711 é que ele gera somente 0.7 MIPS no processador.

Aplicações

O codec G.729 foi feito a principio para utilização em redes de comutação por circuito como ISDN ou Frame Relay.Ele no inicio era usado para codificação do áudio entre as centrais das operadoras de telefonia. Atualmente, o G.729 é o codec mais utilizado em aplicações voip. Ele pode ser encontrado em equipamentos e aplicativos VoIP, videoconferência e teleconferência, mensagem unificada, telefonia de Internet, e outros aplicativos onde a qualidade de serviço, atraso e largura de banda são importantes. Todo dispositivos ou software que utilizar o codec G.729 necessita pagar royalties para a Sipro.

Referências

Colocar referencias em padrão ABNT veja detalhes em Recomendações para trabalhos escritos--Marcos Moecke 18:52, 16 Dezembro 2008 (BRST)
  1. http://www.wirelessbrasil.org/wirelessbr/colaboradores/jose_smolka/cod_voz_01.html
  2. http://en.wikipedia.org/wiki/G.729a
  3. http://en.wikipedia.org/wiki/Voice_activity_detection
  4. http://en.wikipedia.org/wiki/G.729
  5. http://en.wikipedia.org/wiki/G.729.1
  6. http://www.lanlink.com.br/boletim/17/Solucao_Corporativa_VoIP.htm
  7. http://152.84.50.35/sandro/Download/palestra.pdf
  8. http://www.itu.int/rec/T-REC-G.729/e acessado em 2008
  9. http://en.wikipedia.org/wiki/Mean_Opinion_Score
  10. http://www.rhyshaden.com/voice.htm
  11. http://www.lps.ufrj.br/profs/sergioln/papers/BC16.pdf
  12. http://informatica.hsw.uol.com.br/voip3.htm
  13. http://www.wirelessbrasil.org/wirelessbr/colaboradores/jose_smolka/cod_voz_08.html
  14. http://en.wikipedia.org/wiki/G.729a
  15. http://www.teleco.com.br/tutoriais/tutorialtelip2/pagina_2.asp
  16. http://www.sipro.cm
  17. COMPARAÇÃO ENTRE OS CODECS DE COMPRESSÃO DE VOZ iLBC E G.729 CONSIDERANDO ATRASO E PONTUAÇÃO MOS. (MARTINS, L.G., FLORES,R., GHISSONI, S., S FREITAS, J.P., MARTINS, J.B., R.CERETTA)
  18. Avaliação de técnicas de codificação de voz para VoIP(Márcio A. de Souza1, Anderson D. Schicorski1, Kleber Z. A. Ferreira1, Luciano J.Senger1, Omar A. C. Cortes2 2007)
  19. VOIP VOZ SOBRE IP(CARLOS ALBERTO DE SOUZA ALVES 2004)
  20. Voz Sobre IP Qualidade de Serviço(RICARDO HIDEYUKI TAJIRI 2006)
  21. ITU-T G.729/G.729A CS-ACELP 8kbps Speech Coder(Lior Shadhan 2004)
  22. Predição Linear Harmônica para Processamento Espectral e Temporal de Sinais de Voz(Miguel Arjona Ramírez 2006)
  23. Algortimo de Busca Eficiente no Dicionário Adaptativo para o Codec ITU-T G.729 (Thiago M de Prego e Sergio L. Netto 2008)
  24. Anaálise de Serviços de Voz sobre Redes de Comunicação de dados( Alexandre Carlos Bruscato, Amilton Carlos Rattmann, Claucio Jorge de Lima e Gianfranco Muncinelli)
  25. Transmissão multimídia em redes de computadores(Valter Roesler 2001)