Lanzamento do rav1e 0.3, un codificador AV1 en Rust

tivo lugar liberación rav1e 0.3, un codificador de formato de codificación de vídeo de alto rendemento AV1, desenvolvido polas comunidades Xiph e Mozilla. O codificador está escrito en Rust e diferénciase do codificador Libaom de referencia ao aumentar significativamente a velocidade de codificación e unha maior atención á seguridade. Código do proxecto distribuído por baixo a licenza BSD.

Admítense todas as funcións principais de AV1, incluída a compatibilidade
marcos codificados internamente e externamente (intra- и Inter-fotogramas), superbloques de 64 x 64, submostraxe de croma 4:2:0, 4:2:2 e 4:4:4, codificación de profundidade de cor de 8, 10 e 12 bits, distorsión de optimización RDO (optimización da velocidade de distorsión), varios modos para predecir cambios entre cadros e identificar transformacións, controlar o caudal e detectar o truncamento da escena.

O formato AV1 é perceptible avanza H.264 e VP9 en canto a capacidades de compresión, pero debido á complexidade dos algoritmos que as implementan require moito máis tempo para a codificación (na velocidade de codificación, libaom está centos de veces por detrás de libvpx-vp9 e miles de veces por detrás de x264).
O codificador rav1e ofrece 11 niveis de rendemento, o máis alto dos cales ofrece velocidades de codificación case en tempo real. O codificador está dispoñible tanto como unha utilidade de liña de comandos como como unha biblioteca.

Na nova versión:

  • Modo de codificación máis rápido proposto Velocidade 10;
  • O tamaño dos conxuntos binarios reduciuse (na plataforma x86_64/Linux a biblioteca ocupa uns 3MB);
  • O tempo de montaxe reduciuse nun 14% aproximadamente;
  • Engadiuse un filtro multiproceso para eliminar artefactos de bloque do vídeo (desbloqueo);
  • Para a arquitectura x86_64, implementáronse optimizacións adicionais mediante instrucións SIMD e ampliouse o uso da vectorización automática;
  • O número de operacións de asignación de memoria reduciuse en 1/6;
  • En RDO (Rate-distortion optimization), mellorouse a lóxica para suprimir as distorsións intra-frame;
  • Algunhas operacións pasaron de usar a aritmética de coma flotante a cálculos enteiros;
  • A calidade de codificación no segundo nivel de velocidade mellorou nun 1-2 %;
  • Engadido novo filtro de predición da dirección de movemento (Intra edge);
  • Engadiuse a opción "-S" (--switch-frame-interval) para determinar o intervalo de conmutación entre cadros;
  • Engadido soporte de compilación para a plataforma wasm32-wasi (Interfaz do sistema WebAssembly).

Fonte: opennet.ru

Engadir un comentario