códec de baja tasa de bits de Internet
| Códec de velocidad de bits baja de Internet (iLBC) | |
|---|---|
| Extensión de archivo : |
.lbc
|
| Tipo MIME : | audio / iLBC |
| Número mágico : | '#! iLBC30 \ n' o '#! iLBC20 \ n' |
| Desarrollado por: | Soluciones IP globales |
| Versión actual: | Diciembre de 2004 |
| Tipo: | Códec de voz |
| Estándar (s) : | RFC 3951 |
| Sitio web : |
(La página ya no está disponible , busque en archivos web: webrtc.org ) histórico: http://ilbcfreeware.org/ |
El Internet baja tasa de bits Codec ( iLBC ) es una, libre de regalías abiertamente documentado códec de voz que fue desarrollado por Global IP Solutions (GIPS). Se destaca de los códecs más antiguos en particular porque ha sido especialmente diseñado para redes de datos de conmutación de paquetes como Internet y, por lo tanto, se adapta muy bien a la pérdida de paquetes y la fluctuación . Por tanto, iLBC es especialmente adecuado para VoIP .
propiedades
El códec iLBC especificado en RFC 3951 es un códec de banda estrecha , es decir, registra frecuencias de hasta 4000 Hz. El estándar define una variante con una longitud de bloque de 30 ms y otra con una longitud de bloque de 20 ms a una frecuencia de muestreo de 8 kHz y una profundidad de muestreo de 16 bits.
Codificación predictiva lineal independiente de bloques
La innovación detrás de iLBC es el algoritmo de codificación predictiva lineal independiente de bloques con una respuesta controlada a la pérdida de paquetes . La independencia de bloque significa que cada bloque se codifica de forma completamente independiente de los anteriores y, por lo tanto, no se requiere información de los bloques anteriores para decodificar correctamente los siguientes bloques. Este no fue el caso de los códecs de voz comprimidos publicados anteriormente, lo que conduce a errores como resultado de la pérdida de paquetes en redes de datos basadas en paquetes, p. B. Internet, continúe en los siguientes bloques. Con el códec G.729, esto conduce a B. a ruidos sordos y explosivos en el lado del receptor. La causa de esta deficiencia técnica es que estos códecs estaban destinados a la red telefónica digital tradicional, que se basa en conexiones virtuales , en la que no se preveía en absoluto la pérdida de bloques. Es por eso que estos códecs solo se han diseñado para ser robustos contra errores de bits. Sin embargo, las redes de datos de conmutación de paquetes también reaccionan de manera completamente diferente a los errores de bits que las conexiones virtuales en las redes de conmutación de circuitos, ya que los paquetes individuales reciben sumas de verificación y simplemente se descartan y, si es necesario, se retransmiten si se detecta un error de bits. Con la llegada de VoIP, existía la necesidad de crear un códec que cumpliera con estos nuevos requisitos técnicos.
Además, iLBC ofrece un ocultamiento de la pérdida de paquetes , como el estándar ITU -T G.711 , que se basa en la modulación de código de impulsos (PCM) y funciona con una tasa de bits fija de 64 kbit / s. Se genera una señal sustituta para la parte faltante de la señal de audio, que se calcula a partir de los bloques circundantes.
Debido a estas propiedades, el códec iLBC permite una calidad de voz relativamente buena, incluso si faltan bloques de datos debido a paquetes IP perdidos o retrasados .
Modos
iLBC 30
Con iLBC 30, cada bloque comprende una señal de audio de 30 ms o 240 muestras, que están codificadas en 399 bits de datos más 1 bit vacío. Esto corresponde a 50 octetos o bytes por bloque.
| neto | RTP bruto con IPv4 | RTP bruto con IPv6 | |
|---|---|---|---|
| Velocidad de datos en kbit / s | 13,33 | 24 | 29,33 |
Es la más antigua de las dos variantes de iLBC.
iLBC 20
Con iLBC 20, cada bloque comprende una señal de audio de 20 ms o 160 muestras, que están codificadas en 303 bits de datos más 1 bit vacío. Esto corresponde a 38 octetos o bytes por bloque.
| neto | RTP bruto con IPv4 | RTP bruto con IPv6 | |
|---|---|---|---|
| Velocidad de datos en kbit / s | 15,2 | 31,2 | 39,2 |
Los desarrolladores de iLBC caracterizan al iLBC 20, que es más joven que el iLBC 30, de la siguiente manera:
"Cuando se compara con el modo de tamaño de trama de 30 ms, este modo de 15,2 kbps se caracteriza por: mayor calidad básica, mayor resistencia a la pérdida de paquetes, menor complejidad y retardo algorítmico".
"En comparación con el modo de longitud de bloque de 30 ms, este modo de 15,2 kb / s tiene las siguientes propiedades: mayor calidad básica, mayor robustez frente a la pérdida de paquetes, menor complejidad y menor retardo algorítmico".
Señalización RTP de los modos
El protocolo típico para la transmisión de flujos de datos en Internet es RTP . Entre otras cosas, se utiliza para VoIP con SIP. Para negociar a lo largo de toda la ruta de transmisión qué formatos de datos están disponibles o permitidos por los participantes de la llamada y en los servidores, los puntos individuales informan esto en el área de datos del encabezado SIP como una oferta SDP . Si se prefiere iLBC 20, esta oferta de SDP se ve así :
a=rtpmap:109 iLBC/8000 a=fmtp:109 mode=20
Si se prefiere iLBC 30, se aplica el modo = 30 :
a=rtpmap:109 iLBC/8000 a=fmtp:109 mode=30
Si ambos participantes de la sesión no pueden ponerse de acuerdo sobre una determinada variante, se utilizará la que requiera el menor ancho de banda. Entonces esto sería modo = 30 .
Desde la implementación de ambas variantes en un cliente de VoIP o también en un servidor de VoIP a menudo resulta ser difícil, solamente el modo = 30 es a menudo implementado y el modo = 20 se omite.
La forma en que se transmitirán los bloques iLBC con RTP se describe específicamente en RFC 3952 ( Formato de carga útil del Protocolo de transporte en tiempo real (RTP) para el habla de Códec de velocidad de bits baja (iLBC) de Internet ).
Licencia
Originalmente, el procedimiento solo estaba disponible en la versión de punto flotante libre de derechos de licencia . Para la versión en aritmética de punto fijo requerida en microcontroladores y DSP de punto fijo , los costos de licencia debían pagarse a Global IP Solutions. Como resultado de la adquisición de GIPS por parte de Google Inc. , el proceso está disponible para todos sin tarifas de licencia para uso ilimitado. La implementación de referencia se distribuye como software libre bajo los términos de una licencia similar a BSD .
Comparado con G.729A
- Calidad básica superior a G.729A , mayor robustez contra la pérdida de paquetes
- Complejidad computacional comparable a G.729A
- A diferencia de la licencia gratuita G.729a, utilice de forma gratuita
Ver también
enlaces web
- sitio web histórico (inglés)
Evidencia individual
- ↑ (la página ya no está disponible , busque en archivos web: información sobre licencias y productos en iLBC )
- ↑ (la página ya no está disponible , busque en archivos web: webrtc.org )