Lanzamiento de rav1e 0.3, un codificador AV1 en Rust

tuvo lugar cuestión rav1e 0.3, un codificador de formato de codificación de vídeo de alto rendimiento AV1, desarrollado por las comunidades Xiph y Mozilla. El codificador está escrito en Rust y se diferencia del codificador libaom de referencia al aumentar significativamente la velocidad de codificación y una mayor atención a la seguridad. Código de proyecto distribuido por bajo la licencia BSD.

Se admiten todas las funciones principales de AV1, incluida la compatibilidad
fotogramas codificados interna y externamente (intra и entre otras-frames), superbloques de 64x64, submuestreo de croma 4:2:0, 4:2:2 y 4:4:4, codificación de profundidad de color de 8, 10 y 12 bits, distorsión de optimización RDO (optimización de distorsión de velocidad), varios modos para predecir cambios entre fotogramas e identificar transformaciones, controlar el caudal y detectar el truncamiento de escenas.

El formato AV1 es notable está por delante H.264 y VP9 en términos de capacidades de compresión, pero debido a la complejidad de los algoritmos que los implementan. requiere significativamente más tiempo para la codificación (en velocidad de codificación, libaom está cientos de veces por detrás de libvpx-vp9 y miles de veces por detrás de x264).
El codificador rav1e ofrece 11 niveles de rendimiento, el más alto de los cuales ofrece velocidades de codificación casi en tiempo real. El codificador está disponible como utilidad de línea de comandos y como biblioteca.

Versículos nuevos:

  • Se propone un modo de codificación más rápido Velocidad 10;
  • Se ha reducido el tamaño de los ensamblados binarios (en la plataforma x86_64/Linux la biblioteca ocupa aproximadamente 3 MB);
  • El tiempo de montaje se redujo en aproximadamente un 14%;
  • Se agregó un filtro multiproceso para eliminar artefactos de bloqueo del video (desbloqueo);
  • Para la arquitectura x86_64, se implementaron optimizaciones adicionales utilizando instrucciones SIMD y se amplió el uso de la vectorización automática;
  • El número de operaciones de asignación de memoria se ha reducido en 1/6;
  • En RDO (optimización de la distorsión de la velocidad), se ha mejorado la lógica para suprimir las distorsiones dentro del cuadro;
  • Algunas operaciones han pasado de utilizar aritmética de punto flotante a cálculos con números enteros;
  • La calidad de la codificación en el segundo nivel de velocidad se ha mejorado entre un 1 y un 2 %;
  • Добавлен nuevo filtro de predicción de la dirección del movimiento (Intra borde);
  • Se agregó la opción "-S" (--switch-frame-interval) para determinar el intervalo de conmutación entre cuadros;
  • Se agregó soporte de compilación para la plataforma wasm32-wasi (Interfaz del sistema WebAssembly).

Fuente: opennet.ru

Añadir un comentario