Rust ішіндегі AV1 кодтаушысы rav0.3e 1 шығарылымы

Орын алу шығу rav1e 0.3, өнімділігі жоғары бейне кодтау пішімінің кодтаушысы AV1, Xiph және Mozilla қауымдастықтары әзірлеген. Кодер Rust тілінде жазылған және кодтау жылдамдығын айтарлықтай арттыру және қауіпсіздікке назар аудару арқылы анықтамалық libaom кодерінен ерекшеленеді. Жоба коды таралады BSD лицензиясы бойынша.

Барлық негізгі AV1 мүмкіндіктеріне, соның ішінде қолдауға қолдау көрсетіледі
ішкі және сыртқы кодталған кадрлар (ішкі и Интер-кадрлар), 64x64 суперблоктар, 4:2:0, 4:2:2 және 4:4:4 хроманың ішкі үлгілері, 8-, 10- және 12-биттік түс тереңдігін кодтау, RDO (Rate-distortion optimization) оңтайландыру бұрмалануы, кадраралық өзгерістерді болжауға және түрлендірулерді анықтауға, ағын жылдамдығын басқаруға және көріністің қысқаруын анықтауға арналған әртүрлі режимдер.

AV1 пішімі байқалады алда Қысу мүмкіндіктері бойынша H.264 және VP9, ​​бірақ оларды жүзеге асыратын алгоритмдердің күрделілігіне байланысты ол талап кодтау үшін айтарлықтай көбірек уақыт (кодтау жылдамдығында libaom libvpx-vp9-тен жүздеген есе, ал x264-тен мыңдаған есе артта).
rav1e кодтаушысы 11 өнімділік деңгейін ұсынады, олардың ең жоғарысы нақты уақыттағы кодтау жылдамдығына жақын. Кодер пәрмен жолы утилитасы ретінде де, кітапхана ретінде де қол жетімді.

Жаңа нұсқада:

  • Жылдамырақ кодтау режимі ұсынылды 10 жылдамдық;
  • Екілік жинақтардың өлшемі кішірейтілді (x86_64/Linux платформасында кітапхана шамамен 3 МБ алады);
  • Құрастыру уақыты шамамен 14%-ға қысқарды;
  • Бейнеден блоктық артефактілерді жоюға арналған көп ағынды сүзгі қосылды (блоктан шығару);
  • x86_64 архитектурасы үшін SIMD нұсқауларын қолдану арқылы қосымша оңтайландырулар жүзеге асырылды және автовекторизацияны пайдалану кеңейтілді;
  • Жадты бөлу операцияларының саны 1/6-ға қысқарды;
  • RDO (Rate-distortion optimization) жүйесінде кадр ішіндегі бұрмалауларды басу логикасы жетілдірілді;
  • Кейбір операциялар жылжымалы нүкте арифметикасын пайдаланудан бүтін санды есептеулерге ауыстырылды;
  • Екінші жылдамдық деңгейіндегі кодтау сапасы 1-2% жақсарды;
  • Қосылды жаңа қозғалыс бағытын болжау сүзгісі (Intra edge);
  • Фреймдер арасындағы ауысу аралығын анықтау үшін «-S» (--switch-frame-interval) опциясы қосылды;
  • wasm32-wasi платформасына құрастыру қолдауы қосылды (WebAssembly жүйесінің интерфейсі).

Ақпарат көзі: opennet.ru

пікір қалдыру