Lëshimi i rav1e 0.3, një kodues AV1 në Rust

Ndodhi botim rav1e 0.3, një kodues i formatit të kodimit të videos me performancë të lartë AV1, zhvilluar nga komunitetet Xiph dhe Mozilla. Enkoderi është i shkruar në Rust dhe ndryshon nga koduesi i referencës libaom duke rritur ndjeshëm shpejtësinë e kodimit dhe duke rritur vëmendjen ndaj sigurisë. Kodi i projektit shperndare nga nën licencën BSD.

Të gjitha veçoritë kryesore AV1 mbështeten, duke përfshirë mbështetjen
korniza të koduara brenda dhe jashtë (brenda- и Inter-korniza), superblloqe 64x64, nën-kampionime krome 4:2:0, 4:2:2 dhe 4:4:4, kodim me thellësi ngjyrash 8, 10 dhe 12 bit, shtrembërim i optimizimit RDO (Rate-shtrembërim optimizimi), mënyra të ndryshme për parashikimin e ndryshimeve të ndërkornizës dhe identifikimin e transformimeve, kontrollin e shpejtësisë së rrjedhës dhe zbulimin e shkurtimit të skenës.

Formati AV1 është i dukshëm tejkalimet H.264 dhe VP9 për sa i përket aftësive të kompresimit, por për shkak të kompleksitetit të algoritmeve që i zbatojnë ato ajo kërkon dukshëm më shumë kohë për kodim (në shpejtësinë e kodimit, libaom është qindra herë pas libvpx-vp9 dhe mijëra herë pas x264).
Koduesi rav1e ofron 11 nivele të performancës, më të lartat prej të cilave ofrojnë shpejtësi kodimi afërsisht në kohë reale. Enkoderi është i disponueshëm si si mjet i linjës së komandës ashtu edhe si bibliotekë.

Në versionin e ri:

  • Propozohet mënyra më e shpejtë e kodimit Shpejtësia 10;
  • Madhësia e asambleve binare është zvogëluar (në platformën x86_64/Linux biblioteka zë rreth 3MB);
  • Koha e montimit është zvogëluar me rreth 14%;
  • U shtua filtër me shumë fije për heqjen e objekteve të bllokut nga video (zhbllokimi);
  • Për arkitekturën x86_64, janë zbatuar optimizime shtesë duke përdorur udhëzimet SIMD dhe është zgjeruar përdorimi i autovektorizimit;
  • Numri i operacioneve të alokimit të memories është zvogëluar me 1/6;
  • Në RDO (Rate-stortion optimization), logjika për shtypjen e shtrembërimeve brenda kornizës është përmirësuar;
  • Disa operacione janë zhvendosur nga përdorimi i aritmetikës me pikë lundruese në llogaritjet me numra të plotë;
  • Cilësia e kodimit në nivelin e dytë të shpejtësisë është përmirësuar me 1-2%;
  • Shtuar filtër i ri i parashikimit të drejtimit të lëvizjes (Intra edge);
  • Opsioni i shtuar "-S" (--switch-frame-interval) për të përcaktuar intervalin e ndërrimit ndërmjet kornizave;
  • U shtua mbështetje ndërtimi për platformën wasm32-wasi (Ndërfaqja e sistemit WebAssembly).

Burimi: opennet.ru

Shto një koment