Udgivelse af rav1e 0.3, en AV1 encoder i Rust

tog sted emne rav1e 0.3, en højtydende videokodningsformatkoder AV1, udviklet af Xiph- og Mozilla-samfundene. Indkoderen er skrevet i Rust og adskiller sig fra reference-libaom-indkoderen ved at øge indkodningshastigheden markant og øget opmærksomhed på sikkerheden. Projektkode distribueret af under BSD-licensen.

Alle større AV1-funktioner er understøttet, inklusive support
internt og eksternt kodede rammer (intra- и inter-frames), 64x64 superblokke, 4:2:0, 4:2:2 og 4:4:4 chroma subsampling, 8-, 10- og 12-bit farvedybdekodning, RDO (Rate-Distortion Optimization) optimeringsforvrængning, forskellige modes til at forudsige interframe-ændringer og identificere transformationer, kontrollere flowhastigheden og detektere sceneafkortning.

AV1-formatet er mærkbart overstiger H.264 og VP9 med hensyn til kompressionsmuligheder, men på grund af kompleksiteten af ​​de algoritmer, der implementerer dem kræver markant mere tid til kodning (i kodningshastighed er libaom hundredvis af gange bagud libvpx-vp9 og tusindvis af gange bag x264).
rav1e-koderen tilbyder 11 ydeevneniveauer, hvoraf det højeste leverer næsten realtidskodningshastigheder. Encoderen er tilgængelig både som et kommandolinjeværktøj og som et bibliotek.

I den nye version:

  • Hurtigere indkodningstilstand foreslået Hastighed 10;
  • Størrelsen af ​​binære samlinger er blevet reduceret (på x86_64/Linux-platformen fylder biblioteket ca. 3 MB);
  • Montagetid reduceret med ca. 14%;
  • Tilføjet multi-threaded filter til fjernelse af blokartefakter fra video (afblokering);
  • For x86_64-arkitekturen er yderligere optimeringer blevet implementeret ved hjælp af SIMD-instruktioner, og brugen af ​​autovektorisering er blevet udvidet;
  • Antallet af hukommelsesallokeringsoperationer er blevet reduceret med 1/6;
  • I RDO (Rate-distortion optimization) er logikken til at undertrykke intra-frame-forvrængning blevet forbedret;
  • Nogle operationer er blevet flyttet fra at bruge flydende kommaaritmetik til heltalsberegninger;
  • Kodningskvaliteten på det andet hastighedsniveau er blevet forbedret med 1-2 %;
  • Tilføjet nyt bevægelsesretningsforudsigelsesfilter (Intrakant);
  • Tilføjet mulighed "-S" (--switch-frame-interval) for at bestemme skiftintervallet mellem frames;
  • Tilføjet byggeunderstøttelse til wasm32-wasi platformen (WebAssembly System Interface).

Kilde: opennet.ru

Tilføj en kommentar