Está en la página 1de 8

Elegir un cdec de vdeo para Asterisk

Todos sabemos que Asterisk puede trabajar con diferentes cdecs, lo que no est tan claro es cul es el mejor para cada ocasin. Para empezar vamos a ver que cdecs soporta Asterisk y su ancho de banda necesario:

H.261 (entre 40 Kbits/s y 2 Mbits/s) H.263 (desde menos de 64 Kbits/s hasta 583.9 Mbits/s sin compresin) H.263p (Asterisk 1.4) (desde menos de 64 Kbits/s hasta 583.9 Mbits/s sin compresin) H.264 (Asterisk 1.4) (entre 64 Kbits/s y 960 Mbit/s) Una cosa muy importante a tener en cuenta a la hora de elegir un cdec de vdeo es el hecho que Asterisk no soporta ningn tipo de transcodificacin de vdeo. Tambin recordar que la negociacin de cdecs de vdeo an tiene algunos bugs, y si queremos activar el soporte de vdeo en Asterisk (sin parchear) debemos asegurarnos de activar tan solo un cdec de vdeo ensip.conf Dicho esto, vamos ahora a ver algunos detalles sobre cada cdec. As podemos hacernos una pequea idea de cual es el cdec ms apropiado para cada ocasin. H.261: H.261 fue el primer estndar de codificacin de vdeo, originalmente diseado para la transmisin sobre lneas RDSI en las cuales los bitrates (ratio de bits) son mltiplos de 64 Kbits/s. El diseo de H.261 fue un esfuerzo pionero, y todos los subsiguientes estndares de codificacin de vdeo internacionales (MPEG-1, MPEG-2/H.262, H.263, e incluso H.264 estan basados en su diseo). El algoritmo de codificacin utiliza un hbrido de prediccin inter-imagen compensada por el movimiento y codificacin de transformaciones espaciales con cuantizacin escalar, escaneado en zig-zag y codificacin entrpica. La unidad de procesamiento bsica del diseo se llama macrobloque, y H.261 fue el primer estndar donde apareci el concepto de macrobloque. Cada macrobloque consiste en un array de 16x16 con samples luma y dos arrays correspondientes de 8x8 con samples chroma, utilizando un sampleado 4:1:1con un espacio de color YCbCr.
1

H.263: H.263 es un codec de vdeo diseado por la ITU-T como solucin de codificacin de bajo bitrate para videoconferencia. Se dise primero para ser utilizado en sistemas basados en H.324 (RTC y otras redes conmutadas de videoconferencia y videotelefona) pero desde entonces se encontraron tambin usos en soluciones H.323 (videoconferencia basada en IP/RTP), H.320 (videoconferencia basada en RDSI), RTSP (streaming de medios) y SIP (conferencia en Internet). H.263 fue desarrollado como una revolucionaria mejora basada en la experiencia de H.261, el estndar ITU-T previo para compresin de vdeo, y los estndares MPEG-1 y MPEG-2. La primera versin se complet en 1995 y proporcion un conveniente reemplazo para H.261 en todos sus bitrates. El H.263 original especificaba los siguientes anexos:

Anexo A - Especificacin de precisin de transformacin inversa Anexo B - Decodificador de referencias hipotticas Anexo C - Consideraciones para multipunto Anexo D - Modo vector de movimiento sin restricciones Anexo E - Modo de codificacin aritmtica basado en sintaxis Anexo F - Modo de prediccin avanzado Anexo G - Modo PB-frames Anexo H - Correcin del "Forward Error" para la seal de vdeo codificada H.263p: Tambin conocido como H.263+/h263p o H.263v2 es bsicamente una mejora de H.263 soportada por el Eyebeam de Xten proporcionando una mejora de la calidad de vdeo. Fue diseado reteniendo completamente el contenido tcnico de la primera versin (H.263) del estndar, pero mejorando las capacidades de H.263 aadiendo varios anexos que pueden mejorar substancialmente la eficiencia de la codificacin y proporcionar otras capacidades (tales como una robustez mejorada frente la prdida de datos en el canal de

transmisin). El proyecto H.263+ fu ratificado por la ITU en Febrero de 1998. Aadi los siguientes anexos:

Anexo I - Modo de codificacin avanzado INTRA Anexo J - Modo filtro desbloqueante Anexo K - Modo estructurado en partes Anexo L - Especificacin de informacin de mejoras suplementarias Anexo M - Modo PB-frames mejorado Anexo N - Modo seleccin de imagen de referencia Anexo O - Modo de escalabilidad temporal, SNR, y espacial Anexo P - Resampling de imagen de referencia Anexo Q - Modo actualizacin de resolucin reducida Anexo R - Modo de decodificacin de segmentos independiente Anexo S - Modo alternativo INTER VLC Anexo T - Modo de cuantizacin modificada Anexo X - Definicin de perfiles y niveles H.263v2 tambin aadi soporte para formatos flexibles de imgenes personalizadas y con frecuencias de reloj de imagen personalizadas. Previamente los nicos formatos de imagen soportados en H.263 haban sido Sub-QCIF, QCIF, CIF, 4CIF, y 16CIF, y la nica frecuencia de reloj de imagen haba sido 30000/1001 (aproximadamente 29.97) tics de reloj por segundo. H.264: H.264 es un estndar para compresin de vdeo tambin conocido como MPEG-4 Part 10, o MPEG-4 AVC (para Advanced Video Coding). La finalidad del proyecto H.264/AVC era crear un estndar capaz de proporcionar buena calidad de vdeo a bitrates sustancialmente inferiores que los estndares previos (por ejemplo menos de la mitad del bitrate de MPEG-2, H.263, o MPEG-4 Part 2), sin incrementar demasiado la complejidad del diseo para que no fuera impracticable o excesivamente caro de implementar. Un objetivo adicional era proporcionar suficiente flexibilidadpara permitir aplicar el estndar en una amplia variedad de aplicaciones y una amplia variedad de redes y sistemas, incluyendo bajos y altos bitrates,
3

vdeo de alta y baja resolucin, multidifusin, almacenamiento en DVD, redes de paquetes RTP/IP y sistemas de telefona multimedia ITU-T. Conclusin: Por lo que hemos podido observar, cada nuevo estndar (o cdec) es

substancialmente mejor a la anterior versin, aunque a pesar de ello la eleccin no es tan obvia. Debemos tener en cuenta otros aspectos relacionados con el uso de cdecs como tipos de licencias. Tambin pueden existir otros factores como la necesidad de interconectar con otros sistemas de videoconferencia, la infraestructura actual, los videotelfonos que vamos a utilizar (como en el caso de Eyebeam y H.263p). Aunque cabe decir que la mayora de los sistemas de videoconferencia soportan tanto H.261 como H.263 y H.264 Elegir un cdec de vdeo para Asterisk Todos sabemos que Asterisk puede trabajar con diferentes cdecs, lo que no est tan claro es cul es el mejor para cada ocasin. Para empezar vamos a ver que cdecs soporta Asterisk y su ancho de banda necesario:

G.711 ulaw (utilizado en EEUU) (64 Kbps) G.711 alaw (utilizado en Europa) (64 Kbps) G.723.1 - pass-thru sin licencia (6.3/5.3Kbps) usado en H.323 G.726 - (16/24/32/40kbps) G.729 - pass-thru sin licencia (8Kbps) GSM (13Kbps) iLBC (13.33/15.2Kbps) LPC10 (no recomendado!) Speex - configurable 4-48kbps Vamos primero a ver un poco como funciona cada cdec.

G.711 U-law: El algoritmo Ley Mu (-law mu-law) es un sistema de cuantificacin logartmica de una seal de audio. Es utilizado principalmente para audio de voz humana. Este sistema de codificacin es usado en EEUU y el Japn. La implementacin del sistema consiste en aplicar a la seal de entrada una funcin logartmica y una vez procesada realizar una cuantificacin uniforme. Es lo mismo que decir que el paso de cuantificacin sigue una funcin del tipo logartmico. Esta funcin viene definida de la siguiente forma para un input x dado:

La letra indica el factor de compresin usado ( = 255) en los estndares norteamericano y japons. Si = 0 la entrada es igual a la salida. La descompresin se realiza con la frmula inversa:

Utilizar G.711 para VoIP nos dar la mejor calidad de voz; ya que no usa ninguna compresin y es el mismo codec utilizado por la red RTC y lneas RDSI, suena como si utilizramos un telfono RDSI normal. Tambin tiene la menor latencia puesto que no hay necesidad de compresin, lo cual cuesta menos capacidad de procesamiento. La pega es que utiliza ms ancho de banda que otros cdecs, hasta 84 Kbps incluyendo todo el overhead de TCP/IP. No obstante, aumentando el ancho de banda, esto no debera ser un problema. G.711 A-law: La ley A (A-Law) es un sistema de cuantificacin logartmica de seales de audio, usado habitualmente con fines de compresin en aplicaciones de voz humana. Est estandarizada por la ITU-T. Este sistema de codificacin es usado en Europa. El algoritmo Ley A basa su funcionamiento en un proceso de compresin y expansin llamado companding.
5

Se

aplica

una

compresin/expansin

de

las

amplitudes

posteriormente

una cuantificacin uniforme. Las amplitudes de la seal de audio pequeas son expandidas y las amplitudes ms elevadas son comprimidas. La implementacin del sistema consiste en aplicar a la seal de entrada una funcin logartmica y una vez procesada realizar una cuantificacin uniforme. Para una entrada x dada, la ecuacin Ley A de salida es:

donde A es el parmetro de compresin. En Europa A = 87.7. Tambin se usa el valor 87.6 La funcin inversa es la siguiente:

G.723.1: Un standard ITU standard del tipo narrow-band audio codec que encodea el habla en una cadena de datos cada 30ms (240 muestras en total). Cada frame puede ser de 24 o 20 bytes de longitud, lo que hace a la cadena de datos tanto de 6.4kb/sec o 5.3kb/sec. Este cdec esta cubierto por una variedad de patentes, lo que significa que debe ser pagada una patente antes de poder ser utilizado comercialmente. G.726: Un codec de onda ITU ADPCM con las siguientes caractersticas: 16/24/32/40 kbps, buena calidad y baja carga de procesador. Normalmente se usa en modo 32 kbit/s, ya que es la mitad del ratio de G.711, esto incrementa la capacidad de red usable en un 100%. Se usa principalmente en troncales internacionales en la red de telefona. Tambin es el cdec estndar usado entelfonos inalmbricos DECT.

G.729: G.729 es un algoritmo de compresin de datos de audio para voz que comprime audio de voz en trozos de 10 milisegundos. La msica o los tonos tales como los tonos de DTMF o de fax no pueden ser transportados confiablemente con este cdec, y utilizar as G.711 o mtodos de sealizacin fuera de banda para transportar esas seales. G.729 se usa mayoritariamente en aplicaciones de Voz sobre IP VoIP por sus bajos requerimientos en ancho de banda. El estndar G.729 opera a una tasa de bits de 8 kbit/s, pero existen extensiones, las cuales suministran tambin tasas de 6.4 kbit/s y de 11.8 kbit/s para peor o mejor calidad en la conversacin respectivamente. Tambin es muy comn G.729a el cual es compatible con G.729, pero requiere menos cmputo. Esta menor complejidad afecta en que la calidad de la conversacin es empeorada marginalmente. GSM: GSM emplea una modulacin GMSK (Gaussian Minimum Shift Keying) obtenida a partir de una modulacin MSK que es un tipo especial de FSK. Para el acceso en el interfaz radio o Abis se utiliza el sistema TDMA de banda estrecha (Time Division Multiple Access) entre la estacin base y el telfono celular utilizando 2 de canales de radio de frecuencia dplex. Para minimizar las fuentes de interferencia y conseguir una mayor proteccin se utiliza el (frequency hopping) o salto en frecuencia entre canales, con una velocidad mxima de 217 saltos/S. y siempre bajo mandato de la red. Una llamada de voz utiliza un codificador GSM especfico a velocidad total de 13Kbits/s, posteriormente se desarroll un cdec a velocidad mitad de 6,5 kbits/s que permitir duplicar la capacidad de los canales TCH, se denomina FR (Full Rate) y HR (Half Rate). ILBC: iLBC, "Internet Low Bit rate Codec" es un codec para voz apropiado para comunicaciones robustas sobre VoIP. Este codec est diseado para ahorrar ancho de banda y resulta en un carga til de 13.33 Kb/s usando tramas de 30 ms y en 15.20 Kb/s usando tramas de 20 ms. El codec es capaz de enfrentar la eventualidad de que se pierdan tramas, lo cual ocurre cuando se pierde la conexin o se retrazan los paquetes IP. El algoritmo iLBC, usa una codificacin de prediccin-lineal y bloques-independientes

(LPC), este algoritmo tiene soporte para dos tamaos bsicos de tramas: 20 ms a 15.2 Kb/s y 30 ms a 13.33 Kb/s. Speex: El proyecto Speex tiene como objetivo crear un cdec libre para voz, sin restricciones de ninguna patente de software. Speex est sujeto a la Licencia BSD y es usado con el contenedor Ogg de la Fundacin Xiph.org. Las metas en el diseo eran permitir buena calidad en la voz y bajo bit-rate (desafortunadamente no al mismo tiempo). Buena calidad tambin significaba tener soporte para wideband (frecuencia de muestreo de 16 kHz) adems de narrowband (calidad de telfono, frecuencia de muestreo de 8 kHz). El diseo para VoIP en vez de telfonos celulares significa que Speex debe ser robusto a prdida de paquetes, pero no corromperlos, entonces los paquetes llegan sin alteracin o no llegan para nada. Tambin, la idea era tener una complejidad y requerimiento en memoria razonable sin comprometer mucho la eficiencia del cdec. Conclusin: Dicho esto, podemos empezar a hacernos una pequea idea de que cdec es el que ms se adapta a nuestras necesidades. Yo creo que si tenemos un buen ancho de banda disponible podemos evitar la compresin. Aunque de todos modos tambin pueden afectarnos otros factores como patentes y licencias. Tambin nos puede resultar til esta pequea gua on-line para calcular el ancho de banda real de un cdec.

Referencias bibliogrficas http://bytecoders.net/content/elegir-un-c%C3%B3dec-de-v%C3%ADdeo-para-asterisk.html http://bytecoders.net/content/elegir-un-c%C3%B3dec-de-audio-para-asterisk.html

También podría gustarte