Vydanie rav1e 0.3, AV1 kodéra v Rust

uskutočnilo sa otázka rav1e 0.3, vysokovýkonný kódovač formátu kódovania videa AV1, ktorý vyvinuli komunity Xiph a Mozilla. Kódovač je napísaný v jazyku Rust a líši sa od referenčného kódovača libaom výrazným zvýšením rýchlosti kódovania a zvýšenou pozornosťou na bezpečnosť. Kód projektu distribuovaný pod licenciou BSD.

Podporované sú všetky hlavné funkcie AV1, vrátane podpory
interne a externe zakódované snímky (intra- и mimo-snímky), 64x64 superblokov, 4:2:0, 4:2:2 a 4:4:4 farebné podvzorkovanie, 8-, 10- a 12-bitové kódovanie farebnej hĺbky, optimalizačné skreslenie RDO (Rate-distortion optimization), rôzne režimy na predpovedanie zmien medzi snímkami a identifikáciu transformácií, riadenie prietoku a detekciu skrátenia scény.

Viditeľný je formát AV1 predstihuje H.264 a VP9 z hľadiska kompresných schopností, ale kvôli zložitosti algoritmov, ktoré ich implementujú vyžaduje, aby podstatne viac času na kódovanie (v rýchlosti kódovania je libaom stokrát za libvpx-vp9 a tisíckrát za x264).
Kodér rav1e ponúka 11 výkonnostných úrovní, z ktorých najvyššia poskytuje rýchlosti kódovania takmer v reálnom čase. Kódovač je dostupný ako nástroj príkazového riadka aj ako knižnica.

V novej verzii:

  • Navrhovaný rýchlejší režim kódovania Rýchlosť 10;
  • Veľkosť binárnych zostáv bola zmenšená (na platforme x86_64/Linux zaberá knižnica asi 3 MB);
  • Čas montáže skrátený približne o 14 %;
  • Pridaný viacvláknový filter na odstránenie blokových artefaktov z videa (deblokovanie);
  • Pre architektúru x86_64 boli implementované ďalšie optimalizácie pomocou inštrukcií SIMD a rozšírilo sa použitie auto-vektorizácie;
  • Počet operácií prideľovania pamäte sa znížil o 1/6;
  • V RDO (Optimalizácia rýchlosti skreslenia) bola vylepšená logika potláčania skreslení v rámci snímky;
  • Niektoré operácie boli presunuté z používania aritmetiky s pohyblivou rádovou čiarkou na celočíselné výpočty;
  • Kvalita kódovania na druhej rýchlostnej úrovni sa zlepšila o 1-2%;
  • Pridané nový filter predikcie smeru pohybu (Intra edge);
  • Pridaná možnosť "-S" (--switch-frame-interval) na určenie intervalu prepínania medzi snímkami;
  • Pridaná podpora zostavovania pre platformu wasm32-wasi (Rozhranie systému WebAssembly).

Zdroj: opennet.ru

Pridať komentár