Hola a todos,
Recopilé una pequeña comparación sobre algunos de los codecs que se llegan a utilizar en esto del VoIP. Espero les sirva:
Codecs utilizados en VoIP
iLBC [1]
Sus siglas provienen de Internet Low Bitrate Codec (codec de Internet de bajo bitrate). Se trata de un codec Open Source libre y gratuito.
Está diseñado para trabajar con anchos de banda muy reducidos, los cuales dependen del tamaño de muestra utilizada (20 o 30ms). Trabajando con bloques de 20ms, su consumo de ancho de banda es de apenas 15.20 kbps (303 bits empaquetados en 38 bytes), mientras que con 30ms, se reduce aún más llegando a los 13.33 kbits (399 bits en 50 bytes).
Una de las características importantes que a calidad se refieren, es que este codec permite degradación suave de la voz ocasionada por pérdida o retraso de paquetes. La degradación suave se logra con una extra/interpolación de los paquetes faltantes, permitiendo así que su uso sea sumamente apto para tráfico de VoIP.
Entre sus desventajas es necesario nombrar que es un codec reciente, por lo que su soporte en dispositivos comerciales es muy reducido (entre las firmas importantes de fabricantes de equipo VoIP, solamente Grandstream soporta su uso). Otra desventaja, es que su complejidad y reducido consumo de ancho de banda requiere una cantidad importante de procesamiento, por lo que mantener numerosas llamadas concurrentes con este codec pueden ocasionar el agotamiento de ciclos del procesador fácilmente.
G729A [2]
Se trata de otro codec de consumo muy reducido de ancho de banda, oscilando por los 8kbps, pero con un gran soporte por parte de dispositivos comerciales, utilizándolo normalmente como el estándar en cuanto a codecs de bajo consumo se refiere.
Utiliza una técnica conocida como CS-ACELP (Conjugate-Structure Algebraic-Code-Excited Linear-Prediction), la cual reduce el tamaño de la señal de entrada en una razón de 8:1 (de ahí que su consumo sea de 8kbps vs. Los 64kbps usuales de un canal de voz).
Su calidad se asemeja a GSM y muchas veces cumple con los requerimientos necesarios para sostener una conversación de manera conveniente en un teléfono, aunque a diferencia de iLBC, no ofrece un buen soporte contra degradación ocasionada por retraso o pérdidas de paquetes.
Otra de sus grandes desventajas, es que se trata de un codec propietario, por lo que su implementación y uso requiere de licencia.
G711 (u-law y a-law) [2]
Es otro nombre en VoIP para la modulación por PCM (Pulse Code Modulation). Este es un codec de alto consumo de ancho de banda (64kbps), y que realmente no utiliza técnicas de compresión para la voz, ofreciendo así la máxima calidad en comparación con cualquier otro codec de audio utilizado en VoIP. Es fácil apreciar que sus 64kbps corresponden a un canal de voz ISDN B, por lo que puede esperarse la misma calidad que la de una línea telefónica digital.
Es un estándar de la ITU, y su uso es tan común que prácticamente todos los dispositivos comerciales de comunicación para VoIP en el mercado lo soportan, a pesar de su enorme consumo de ancho de banda.
La ventaja además de su calidad, es que evita la compresión por lo que es el codec más económico en cuanto a recursos de procesamiento se refiere. Es de común práctica utilizarlo para comunicación entre terminales dentro de la misma LAN, pues la facilidad del proceso de las llamadas y la calidad adicional son beneficios que no se equiparan al consumo adicional de ancho de banda, el cual, en una LAN, suele ser muy grande.
GSM [3]
El acrónimo viene de Global System for Mobile communication (Sistema Global para comunicación móvil), el cual es un sistema de comunicación celular por si mismo pero posee su propio codec, por lo que cuando se habla del tema simplemente se refiere uno a él como GSM (el contexto nombra a que se refiere uno).
El codec GSM original (han salido derivados que consumen menor ancho de banda en contra de mantener la calidad) es conocido como RPE-LTP: Regular Pulse Excitation Long-Term Prediction, o bien, Excitación por pulsos regulares con predicción a largo plazo. Este codec utiliza información de muestras previas (misma que no cambia muy rápidamente) para poder predecir la muestra actual. La señal de voz es dividida en bloques de 20 ms, los cuales son pasados al codec para su compresión. Los paquetes de voz son bloques de 260bits, y al comparar con los intervalos de muestreo para los bloques, obtenemos que el ancho de banda consumido por este codec es del orden de los 13.3kbits.
Speex [4]
Es un codec Open Source, no patentado, específicamente diseñado para tratar con la conversión de voz a datos.
Es creado a partir de un projecto que busca reducir la barrera de la conversión hacia tecnologías VoIP mediante la provisión de una alternativa a los caros codecs propietarios. Además, Speex está bien adaptado a las aplicaciones de Internet y provee características útiles que no se encuentran en otros codecs.
Speex se basa en CELP y ofrece rangos de ancho de banda desde 2 hasta 44kbps.
Entre sus características se tienen 3 diferentes formatos: banda angosta (8khz), banda ancha (16 khz) y banda ultra-ancha (32 khz), codificación en estereo, tratado de paquetes perdidos, uso de bit rate variable, transmisión discontinua, detección de actividad de voz (no transmite cuando no hay voz presente).
Referencias
[1] http://www.ilbcfreeware.org/
[2] http://www.itu.int/rec/recommendation.a ... nt=T-REC-g
[3] http://voip-info.org/wiki-GSM+Codec
[4] http://www.speex.org/
[5] http://compare.ozvoip.com/codecs.php
Referencias generales:
http://www.voip-info.org
Y finalmente, una tabla anexa donde se comparan las características principales (fácil y rápido). La pongo en dos versiones: una imagen para visualización inmediata y un .ZIP con un PDF dentro.
Espero les sirva a todos.
Saludos,
Recopilé una pequeña comparación sobre algunos de los codecs que se llegan a utilizar en esto del VoIP. Espero les sirva:
Codecs utilizados en VoIP
iLBC [1]
Sus siglas provienen de Internet Low Bitrate Codec (codec de Internet de bajo bitrate). Se trata de un codec Open Source libre y gratuito.
Está diseñado para trabajar con anchos de banda muy reducidos, los cuales dependen del tamaño de muestra utilizada (20 o 30ms). Trabajando con bloques de 20ms, su consumo de ancho de banda es de apenas 15.20 kbps (303 bits empaquetados en 38 bytes), mientras que con 30ms, se reduce aún más llegando a los 13.33 kbits (399 bits en 50 bytes).
Una de las características importantes que a calidad se refieren, es que este codec permite degradación suave de la voz ocasionada por pérdida o retraso de paquetes. La degradación suave se logra con una extra/interpolación de los paquetes faltantes, permitiendo así que su uso sea sumamente apto para tráfico de VoIP.
Entre sus desventajas es necesario nombrar que es un codec reciente, por lo que su soporte en dispositivos comerciales es muy reducido (entre las firmas importantes de fabricantes de equipo VoIP, solamente Grandstream soporta su uso). Otra desventaja, es que su complejidad y reducido consumo de ancho de banda requiere una cantidad importante de procesamiento, por lo que mantener numerosas llamadas concurrentes con este codec pueden ocasionar el agotamiento de ciclos del procesador fácilmente.
G729A [2]
Se trata de otro codec de consumo muy reducido de ancho de banda, oscilando por los 8kbps, pero con un gran soporte por parte de dispositivos comerciales, utilizándolo normalmente como el estándar en cuanto a codecs de bajo consumo se refiere.
Utiliza una técnica conocida como CS-ACELP (Conjugate-Structure Algebraic-Code-Excited Linear-Prediction), la cual reduce el tamaño de la señal de entrada en una razón de 8:1 (de ahí que su consumo sea de 8kbps vs. Los 64kbps usuales de un canal de voz).
Su calidad se asemeja a GSM y muchas veces cumple con los requerimientos necesarios para sostener una conversación de manera conveniente en un teléfono, aunque a diferencia de iLBC, no ofrece un buen soporte contra degradación ocasionada por retraso o pérdidas de paquetes.
Otra de sus grandes desventajas, es que se trata de un codec propietario, por lo que su implementación y uso requiere de licencia.
G711 (u-law y a-law) [2]
Es otro nombre en VoIP para la modulación por PCM (Pulse Code Modulation). Este es un codec de alto consumo de ancho de banda (64kbps), y que realmente no utiliza técnicas de compresión para la voz, ofreciendo así la máxima calidad en comparación con cualquier otro codec de audio utilizado en VoIP. Es fácil apreciar que sus 64kbps corresponden a un canal de voz ISDN B, por lo que puede esperarse la misma calidad que la de una línea telefónica digital.
Es un estándar de la ITU, y su uso es tan común que prácticamente todos los dispositivos comerciales de comunicación para VoIP en el mercado lo soportan, a pesar de su enorme consumo de ancho de banda.
La ventaja además de su calidad, es que evita la compresión por lo que es el codec más económico en cuanto a recursos de procesamiento se refiere. Es de común práctica utilizarlo para comunicación entre terminales dentro de la misma LAN, pues la facilidad del proceso de las llamadas y la calidad adicional son beneficios que no se equiparan al consumo adicional de ancho de banda, el cual, en una LAN, suele ser muy grande.
GSM [3]
El acrónimo viene de Global System for Mobile communication (Sistema Global para comunicación móvil), el cual es un sistema de comunicación celular por si mismo pero posee su propio codec, por lo que cuando se habla del tema simplemente se refiere uno a él como GSM (el contexto nombra a que se refiere uno).
El codec GSM original (han salido derivados que consumen menor ancho de banda en contra de mantener la calidad) es conocido como RPE-LTP: Regular Pulse Excitation Long-Term Prediction, o bien, Excitación por pulsos regulares con predicción a largo plazo. Este codec utiliza información de muestras previas (misma que no cambia muy rápidamente) para poder predecir la muestra actual. La señal de voz es dividida en bloques de 20 ms, los cuales son pasados al codec para su compresión. Los paquetes de voz son bloques de 260bits, y al comparar con los intervalos de muestreo para los bloques, obtenemos que el ancho de banda consumido por este codec es del orden de los 13.3kbits.
Speex [4]
Es un codec Open Source, no patentado, específicamente diseñado para tratar con la conversión de voz a datos.
Es creado a partir de un projecto que busca reducir la barrera de la conversión hacia tecnologías VoIP mediante la provisión de una alternativa a los caros codecs propietarios. Además, Speex está bien adaptado a las aplicaciones de Internet y provee características útiles que no se encuentran en otros codecs.
Speex se basa en CELP y ofrece rangos de ancho de banda desde 2 hasta 44kbps.
Entre sus características se tienen 3 diferentes formatos: banda angosta (8khz), banda ancha (16 khz) y banda ultra-ancha (32 khz), codificación en estereo, tratado de paquetes perdidos, uso de bit rate variable, transmisión discontinua, detección de actividad de voz (no transmite cuando no hay voz presente).
Referencias
[1] http://www.ilbcfreeware.org/
[2] http://www.itu.int/rec/recommendation.a ... nt=T-REC-g
[3] http://voip-info.org/wiki-GSM+Codec
[4] http://www.speex.org/
[5] http://compare.ozvoip.com/codecs.php
Referencias generales:
http://www.voip-info.org
Y finalmente, una tabla anexa donde se comparan las características principales (fácil y rápido). La pongo en dos versiones: una imagen para visualización inmediata y un .ZIP con un PDF dentro.
Espero les sirva a todos.
Saludos,
Comentario