Vydání rav1e 0.3, kodéru AV1 v Rust

odehrál se otázka rav1e 0.3, vysoce výkonný kodér formátu kódování videa AV1, vyvinuté komunitami Xiph a Mozilla. Kodér je napsán v jazyce Rust a od referenčního kodéru libaom se liší výrazně zvýšenou rychlostí kódování a zvýšenou pozorností věnovanou bezpečnosti. Kód projektu distribuovány pod licencí BSD.

Jsou podporovány všechny hlavní funkce AV1, včetně podpory
interně a externě kódované snímky (intra- и pohřbít-frames), 64x64 superbloků, 4:2:0, 4:2:2 a 4:4:4 chroma subsampling, 8-, 10- a 12bitové kódování barevné hloubky, optimalizační zkreslení RDO (Rate-distortion optimization), různé režimy pro predikci změn mezi snímky a identifikaci transformací, řízení průtoku a detekce zkrácení scény.

Formát AV1 je patrný předstihuje H.264 a VP9 z hlediska kompresních schopností, ale kvůli složitosti algoritmů, které je implementují vyžaduje, aby výrazně více času na kódování (v rychlosti kódování je libaom stokrát za libvpx-vp9 a tisíckrát za x264).
Kodér rav1e nabízí 11 úrovní výkonu, z nichž nejvyšší poskytuje rychlosti kódování téměř v reálném čase. Kodér je k dispozici jako nástroj příkazového řádku i jako knihovna.

V nové verzi:

  • Navržen rychlejší režim kódování Rychlost 10;
  • Velikost binárních sestav byla zmenšena (na platformě x86_64/Linux zabírá knihovna asi 3 MB);
  • Doba montáže zkrácena přibližně o 14 %;
  • Přidán vícevláknový filtr pro odstranění blokových artefaktů z videa (deblokování);
  • Pro architekturu x86_64 byly implementovány další optimalizace pomocí instrukcí SIMD a bylo rozšířeno použití auto-vektorizace;
  • Počet operací alokace paměti byl snížen o 1/6;
  • V RDO (Rate-distortion optimization) byla vylepšena logika pro potlačení zkreslení uvnitř snímku;
  • Některé operace byly přesunuty z používání aritmetiky s pohyblivou řádovou čárkou na celočíselné výpočty;
  • Kvalita kódování na druhé úrovni rychlosti se zlepšila o 1-2%;
  • Přidat nový filtr predikce směru pohybu (Intra edge);
  • Přidána možnost "-S" (--switch-frame-interval) pro určení intervalu přepínání mezi snímky;
  • Přidána podpora sestavení pro platformu wasm32-wasi (Systémové rozhraní WebAssembly).

Zdroj: opennet.ru

Přidat komentář