Lansarea rav1e 0.3, un encoder AV1 în Rust

a avut loc emisiune rav1e 0.3, un codificator de format de codare video de înaltă performanță AV1, dezvoltat de comunitățile Xiph și Mozilla. Codificatorul este scris în Rust și diferă de codificatorul libaom de referință prin creșterea semnificativă a vitezei de codificare și atenția sporită la securitate. Cod proiect distribuit de sub licența BSD.

Sunt acceptate toate caracteristicile AV1 majore, inclusiv suportul
cadre codificate intern și extern (intra- и altele-cadre), superblocuri 64x64, subeșantionare cromatică 4:2:0, 4:2:2 și 4:4:4, codificare de adâncime a culorii pe 8, 10 și 12 biți, distorsiune de optimizare RDO (Rate-distortion optimization), diverse moduri de predicție a schimbărilor între cadre și de identificare a transformărilor, controlul debitului și detectarea trunchierii scenei.

Formatul AV1 este vizibil depășește H.264 și VP9 din punct de vedere al capacităților de compresie, dar datorită complexității algoritmilor care le implementează necesită mult mai mult timp pentru codare (în viteza de codificare, libaom este de sute de ori în spatele libvpx-vp9 și de mii de ori în spatele x264).
Codificatorul rav1e oferă 11 niveluri de performanță, dintre care cel mai ridicat oferă viteze de codare aproape în timp real. Codificatorul este disponibil atât ca utilitar de linie de comandă, cât și ca bibliotecă.

În noua versiune:

  • Mod de codare mai rapid propus Viteza 10;
  • Dimensiunea ansamblurilor binare a fost redusă (pe platforma x86_64/Linux biblioteca ocupă aproximativ 3MB);
  • Timp de asamblare redus cu aproximativ 14%;
  • S-a adăugat un filtru cu mai multe fire pentru eliminarea artefactelor de blocare din videoclip (deblocare);
  • Pentru arhitectura x86_64, au fost implementate optimizări suplimentare folosind instrucțiuni SIMD și a fost extinsă utilizarea vectorizării automate;
  • Numărul de operațiuni de alocare a memoriei a fost redus cu 1/6;
  • În RDO (Rate-distortion optimization), logica pentru suprimarea distorsiunilor intra-cadru a fost îmbunătățită;
  • Unele operații au fost mutate de la utilizarea aritmeticii în virgulă mobilă la calcule cu numere întregi;
  • Calitatea codificării la al doilea nivel de viteză a fost îmbunătățită cu 1-2%;
  • Adăugat filtru nou de predicție a direcției de mișcare (Intra edge);
  • A fost adăugată opțiunea „-S” (--switch-frame-interval) pentru a determina intervalul de comutare între cadre;
  • S-a adăugat suport de construcție pentru platforma wasm32-wasi (Interfața sistemului WebAssembly).

Sursa: opennet.ru

Adauga un comentariu