Codecs - Comparacao - G.723 e G.729

6
CODEC UMA COMPARAÇÃO ENTRE DUAS TECNOLOGIAS G.723.1 E G.729

description

 

Transcript of Codecs - Comparacao - G.723 e G.729

Page 1: Codecs - Comparacao - G.723 e G.729

CODEC UMA COMPARAÇÃO ENTRE DUAS TECNOLOGIAS G.723.1 E G.729

Page 2: Codecs - Comparacao - G.723 e G.729

1. Objetivo Este artigo tem por finalidade apresentar os conceitos gerais sobre codecs e principalmente traçar um quadro comparativo entre o padrão G.723.1 (atualmente utilizado no “Terra Voip”) e o padrão G.729 juntamente com seus anexos (codec pretendido para uma futura migração). 2. Introdução aos Codecs

CoDec é o acrômio para coder/decoder em inglês, podendo ser um

dispositivo de hardware ou software que tem por finalidade converter (codificar) um arquivo de som ou imagem na sua forma original (não comprimida) para uma forma comprimida e depois realizar o processo inverso.

3. Tipos Existem dois tipos de codecs:

Sem perdas (lossless, em inglês) - Os codecs sem perdas são codecs que codificam som ou imagem para comprimir o arquivo sem alterar a qualidade original. Se o arquivo for descomprimido, o novo arquivo será idêntico ao original. Esse tipo de codec normalmente gera arquivos codificados que são entre 2 a 3 vezes menores que os arquivos originais. São muito utilizados em rádios e emissoras de televisão para manter a qualidade do som ou imagem. Exemplos desse tipo de codec são o flac, shorten, wavpack e monkey's audio, para som. Para imagem, HuffYUV, lossless MJPEG e FFmpeg Video 1.

Com perdas (lossy, em inglês) - Os codecs com perdas são codecs que codificam som ou imagem, gerando uma certa perda de qualidade com a finalidade de alcançar maiores taxas de compressão. Essa perda de qualidade é balanceada com a taxa de compressão para que não sejam criados artefatos percebíveis. Os codecs com perdas foram criados para comprimir os arquivos de som ou imagem a taxas de compressão muito altas. Por exemplo, o Vorbis e o Mp3 são codecs para som que facilmente comprimem o arquivo de som em 10 a 12 vezes o tamanho original, sem gerar artefatos significativos. Exemplos de codecs com perdas são o Ogg Vorbis, MP3, AC3 e WMA, para som. Para imagem, temos o Xvid, DivX, WMV7, WMV8, WMV9, Theora e Soreson.

Page 3: Codecs - Comparacao - G.723 e G.729

4. Codecs Voip

Codecs da família dos codecs com perda, que tem por objetivo diminuir a taxa de bits sem tirar a qualidade da fala, para isso utiliza algoritmos de supressão de silêncio, reconhecimento de fala, remoção de ruído ambiente, entre outros. Exemplo: AMR, AMBE, CELP, DSS, EVRC, FS-1015 (LPC-10), FS-1016 (CELP), G.711 (a-law and mu-law/u-law), G.722.1, G.722, G.723.1, G.723 (Superseded by G.726), G.726 (ADPCM), G.728 (LD-CELP), G.729 (CS-ACELP) G.729a, GSM, HILN (MPEG-4 Parametric audio coding), iLBC, IMBE, iSAC, QCELP, SMV, Speex. 5. Taxa de Bits

A taxa de bits é uma das medidas da qualidade de um arquivo

comprimido como um codec com perda. A taxa de bits representa o tamanho final desejado para o arquivo e, normalmente, é apresentada como kbits/s.

1 kbit/s significa que, a cada segundo, o codec tem 1000 bits do arquivo final para utilizar, ou seja, se um arquivo de som tem 8 segundos e é comprimido a uma taxa de 1 kbit/s, o arquivo final terá 8 kbits ou 1 kbyte. Conclui-se, então, que quanto maior for a taxa de bits, melhor será a qualidade do arquivo final, já que o codec terá mais espaço para poder comprimir o arquivo original, necessitando descartar menos "detalhes" do arquivo. 6. Score MOS Atribui uma pontuação para qualidade de ligações:

Score Definição Descrição

5 Excelente Um sinal de voz perfeito gravado em um local silencioso.

4 Bom Qualidade de uma chamada telefônica de longa distância (PSTN)

3 Razoável Requer algum esforço na escuta.

2 Pobre Fala de baixa qualidade e difícil de entender.

1 Ruim Fala não clara, quebrada.

Page 4: Codecs - Comparacao - G.723 e G.729

7. G.723.1 O G.723.1 codifica o sinal em trechos de 30ms, perdendo ainda cerca de 7.5ms para execução do algoritmo, resultando em um delay esperado de 37.5ms por frame. Música e tons (DTMF e fax, por exemplo) não podem ser transportados por esse codec, para isso outro codec precisa ser utilizado tal como G.711. Este codec foi regulamentado pela ITU-T em 1995, sua principal característica é a necessidade de uma banda pequena para transportar os pacotes RTP (cerca de 20kbps), o esforço computacional para executá-lo fica em torno de 16MIPS ou 2.2 kbytes de RAM para codificar. O G.723.1 pode operar sob dois tipos de algoritmos:

Multipulse with Maximum Likelihood Quantization (MPC-MLQ)- Realiza a transmissão a uma taxa de 6.3 kbit/s (24 byte por frame), sem perder muito em qualidade (MOS 3.9, quase um ligação PSTN a longa distância).

Algebraic Code Excited Linear Prediction (ACELP) - Realiza a transmissão a uma taxa mais baixa que o MPC-MLQ, cerca de 5.3 kbit/s (20 byte por frame), acarretando a uma pequena perda na qualidade (MOS 3.62) e um maior esforço computacional.

8. G.729 O G.729 codifica o sinal em trechos de 10ms perdendo ainda cerca de 5ms para execução do algoritmo, resultando em um delay esperado de 15ms por frame. Música e tons (DTMF e fax, por exemplo) não podem ser transportados por esse codec, para isso outro codec precisa ser utilizado tal como G.711.

O padrão opera a uma taxa de 8 kbit/s (8 bytes por quadro), no entanto existem extensões que podem diminuir ou aumentar esta taxa. Utiliza como algoritmo de codificação e decodificação o CS-ACELP (Conjugate-Structure Algebraic Code Excited Linear Prediction), uma extensão do ACELP.

Além disso, o presente codec dá suporte a áudio e vídeo conferência. Desenvolvido pelo consórcio de empresas: France Telecom, Mitsubishi Electric Corporation, Nippon Telegraph and Telephone Corporation (NTT), e Université de Sherbrooke, Os direitos intelectuais são propriedade da SIPRO (http://www.sipro.com/). 8.1 G.729a

Um problema do G.729 é a alta complexidade o algoritmo CS-ACELP isso leva a necessidade de uma grande força computacional da máquina do usuário para realizar a codificação (principalmente) dos sinais, para contornar isso foi criada uma extensão que reduzisse a complexidade do algoritmo o G.729a além

Page 5: Codecs - Comparacao - G.723 e G.729

de ameniza este problema também tem a capacidade de enviar e receber dados junto com voz (DSDV).

8.2 G.729b

O G.729b é a implementação de três elementos que tem por objetivo

retirar da entrada sons inúteis, selecionando com critério o que será transportado, são eles:

VAD (Voice activity detection)- Módulo que tem por finalidade detectar a voz humana para só assim permitir a transmissão.

DTX (Discontinuous Transmission)- Módulo que detecta ruídos ambientais eliminando-os da transmissão.

CNG (Confort Noise Generator), Módulo do decodificador que adiciona ao som do ouvinte um ruído de conforto existem em ligações PSTN.

8.3 G.729c

O G.729c é uma versão do G.729 que utiliza o ponto flutuante, para assim

como o G.729a, reduzir a complexidade do algoritmo CS-ACELP. 8.4 G.729d/e O G.729d é uma versão do G.729 que realiza uma compressão maior da taxa de bits (6.4kbit/s), com isso uma menor banda é necessária para realizar a comunicação, no entanto haverá uma perda na qualidade do sinal. O G.729e é justamente o inverso do G.729d, ele trabalha com uma taxa de bits de 11.8kbit/s, melhora a qualidade do sinal e aumenta a banda necessária. 9. Considerações Finais Pelo que foi exposto no presente artigo, recomendamos o G.729 por ser uma solução melhor comparada ao atual codec utilizado pelo Terra Voip, o G.723.1. Os motivos que nos levam a tomarmos esta posição são:

O G.729 ameniza o grave problema de delay, traço presente em ligações voip e a mais sentida por usuários acostumados com ligações PSTN, isto devido a sua implementação trabalhar sobre áreas menores de codificação, 10ms contra 30ms do G.723.1. Se pensarmos em qualidade o G.729 em conjunto com seu anexo G.729b nos dará a segurança de termos ligações com menos ruídos, isto devido aos módulos VAD/CNG/DTX.

Page 6: Codecs - Comparacao - G.723 e G.729

Outro ponto positivo encontrado neste codec é que, em composição com o G.729a teremos a possibilidade que transmitir dados juntamente com o canal de voz, o que deixará uma lacuna em aberto para futuras alternativas no envio de dados. Por fim, se o problema for reduzir a banda de transmissão o G.729d consegue taxas de transmissão tão baixas quanto o G.723.1, porém ainda oferecendo todo conforto acima exposto, no entanto recomendamos o G.729 em composição com o Anexo A e B, cientes de que a qualidade é o principal ponto a ser alcançado por nossos produtos.

Pelos seus atributos e toda flexibilidade de configuração que só é encontrada nos codecs da família G.729, o recomendamos para todos os produtos comercializados pela Viper Serviços em Telecomunicações S/A.