Rav1e 0.3 versiyasi, Rustning AV1 kodlovchisi

bo'lib o'tdi chiqdi rav1e 0.3, yuqori samarali video kodlash formatini kodlovchi AV1, Xiph va Mozilla jamoalari tomonidan ishlab chiqilgan. Kodlovchi Rust tilida yozilgan va kodlash tezligini sezilarli darajada oshirishi va xavfsizlikka e'tiborni kuchaytirishi bilan mos yozuvlar libaom kodlovchisidan farq qiladi. Loyiha kodi tarqaladi BSD litsenziyasi ostida.

Barcha asosiy AV1 funksiyalari qo‘llab-quvvatlanadi, jumladan, qo‘llab-quvvatlash
ichki va tashqi kodlangan ramkalar (ichki и Inter-ramkalar), 64x64 superbloklar, 4:2:0, 4:2:2 va 4:4:4 rangli quyi namuna olish, 8-, 10- va 12-bit rang chuqurligini kodlash, RDO (Rate-distortion optimization) optimallashtirish buzilishi, interframe o'zgarishlarni bashorat qilish va transformatsiyalarni aniqlash, oqim tezligini nazorat qilish va sahna qisqarishini aniqlash uchun turli xil rejimlar.

AV1 formati sezilarli ustunlar Siqish imkoniyatlari bo'yicha H.264 va VP9, ​​lekin ularni amalga oshiradigan algoritmlarning murakkabligi tufayli Bu talab kodlash uchun sezilarli darajada ko'proq vaqt (kodlash tezligida libaom libvpx-vp9-dan yuzlab marta va x264-dan minglab marta orqada).
Rav1e kodlovchisi 11 ta ishlash darajasini taklif etadi, ularning eng yuqori darajasi real vaqtda kodlash tezligiga yaqin. Kodlovchi ham buyruq qatori yordam dasturi, ham kutubxona sifatida mavjud.

Yangi versiyada:

  • Tezroq kodlash rejimi taklif qilindi Tezlik 10;
  • Ikkilik yig'ilishlar hajmi qisqartirildi (x86_64/Linux platformasida kutubxona taxminan 3MB ni egallaydi);
  • Yig'ish vaqti taxminan 14% ga qisqardi;
  • Videodan blok artefaktlarini olib tashlash uchun ko'p tarmoqli filtr qo'shildi (blokdan chiqarish);
  • X86_64 arxitekturasi uchun SIMD ko'rsatmalari yordamida qo'shimcha optimallashtirish amalga oshirildi va avtovektorizatsiyadan foydalanish kengaytirildi;
  • Xotirani ajratish operatsiyalari soni 1/6 ga kamaydi;
  • RDO (Rate-distortion optimization) da kadr ichidagi buzilishlarni bostirish mantig'i takomillashtirildi;
  • Ba'zi amallar suzuvchi nuqta arifmetikasidan butun sonlarni hisoblashga o'tkazildi;
  • Ikkinchi tezlik darajasida kodlash sifati 1-2% ga yaxshilandi;
  • Qo'shilgan yangi harakat yo'nalishini bashorat qilish filtri (Intra edge);
  • Kadrlar orasidagi almashinish oralig'ini aniqlash uchun "-S" (--switch-frame-interval) opsiyasi qo'shildi;
  • wasm32-wasi platformasi uchun qo'shimcha qurilish yordami (WebAssembly tizim interfeysi).

Manba: opennet.ru

a Izoh qo'shish