Tras un año y medio de desarrollo, Xiph.Org, una organización dedicada a la creación de códecs de vídeo y audio gratuitos, ha lanzado Opus 1.6, un códec de audio que ofrece codificación de alta calidad y mínima latencia para streaming de audio de alta tasa de bits y compresión de voz en aplicaciones VoIP con ancho de banda limitado. Las implementaciones de referencia del codificador y el decodificador se distribuyen bajo la licencia BSD. Las especificaciones completas del formato Opus están disponibles públicamente, de forma gratuita, y aprobadas como estándar de Internet (RFC 6716).
El códec se crea combinando las mejores tecnologías del códec CELT de Xiph.org y el códec SILK de código abierto de Skype. Además de Skype y Xiph.Org, empresas como Mozilla, Octasic, Broadcom y Google también participaron en el desarrollo de Opus. Las patentes involucradas en Opus son otorgadas por las empresas involucradas en el desarrollo para uso ilimitado sin pago de regalías. Todos los derechos de propiedad intelectual y licencias de patentes relacionadas con Opus se delegan automáticamente a aplicaciones y productos que utilizan Opus, sin necesidad de aprobación adicional. No hay restricciones sobre el alcance y la creación de implementaciones alternativas de terceros. Sin embargo, todos los derechos otorgados se revocan en caso de procedimientos de patente que afecten a las tecnologías de Opus contra cualquier usuario de Opus.
Opus cuenta con codificación de alta calidad y retraso mínimo Opus es adecuado tanto para la compresión de audio en streaming de alta tasa de bits como para la compresión de voz en aplicaciones VoIP con ancho de banda limitado. Anteriormente, Opus fue reconocido como el mejor códec con una tasa de bits de 64K (superando a competidores como Apple HE-AAC, Nero HE-AAC, Vorbis y AAC LC). Los productos compatibles con Opus de fábrica incluyen el navegador Firefox, el framework GStreamer y el paquete FFmpeg.
Características principales de Opus:
- Tasa de bits de 5 Kbps a 2 Mbps;
- Frecuencia de muestreo de 8 a 96 KHz;
- Duración del cuadro de 2.5 a 120 milisegundos;
- Compatibilidad con tasas de bits constantes (CBR) y variables (VBR);
- Compatibilidad con audio de banda estrecha y banda ancha;
- Soporte de voz y música;
- soporte estéreo y mono;
- Soporte para configuración dinámica de tasa de bits, ancho de banda y tamaño de cuadro;
- Capacidad para restaurar el flujo de audio en caso de pérdida de cuadro (PLC);
- Admite hasta 255 canales (tramas de flujo múltiple)
- Disponibilidad de implementaciones usando aritmética de punto fijo y flotante.
Innovaciones clave en Opus 1.6:
- Se ha implementado una versión de Opus HD para codificar audio con una frecuencia de muestreo de 96 kHz, una tasa de bits de hasta 2 Mbps y un ancho de banda más allá del rango de audio estándar de 20 kHz.
- Se ha añadido un módulo BWE (de banda ancha a banda completa) para convertir la codificación de banda ancha (rango de frecuencia limitado a 8 kHz) en una codificación de banda completa que abarca todo el rango audible (hasta 20 kHz). Las frecuencias faltantes de 8-20 kHz se reconstruyen mediante un algoritmo basado en aprendizaje automático.
- Se ha propuesto una nueva API para codificar y decodificar audio con representación de enteros de 24 bits por canal. Esta nueva API puede ser útil para mejorar la calidad del audio en plataformas cuyo rendimiento es insuficiente para la codificación de punto flotante o en situaciones donde la codificación de enteros es esencial. Se mantiene la compatibilidad con la codificación de enteros de 16 bits por canal y la de punto flotante de 32 bits por canal.
- Se ha mejorado significativamente la implementación del mecanismo de redundancia profunda (DRED), que utiliza aprendizaje automático para reconstruir fragmentos de audio perdidos debido a la pérdida de paquetes.
- Se mejoró la precisión de codificación en la implementación utilizando aritmética de punto fijo.
- Se agregaron optimizaciones para la arquitectura MIPS.
- Proporciona detección de instrucciones SIMD compatibles con CPU x86 en la plataforma OpenBSD.
Fuente: opennet.ru
