AV1 бейне пішімі үшін SVT-AV2.0 1 кодтаушысы мен dav1.4d 1 декодерін шығару

SVT-AV1 2.0 (Scalable Video Technology AV1) кітапханасының шығарылымы AV1 бейне кодтау пішімінің кодтаушысы мен дешифраторының іске асырылуымен жарияланды, оны жеделдету үшін қазіргі Intel процессорларында бар аппараттық параллельді есептеу құралдары қолданылады. Жобаны Intel компаниясы Netflix-пен серіктестікте бейнені жылдам қайта кодтауға және сұраныс бойынша бейне (VOD) қызметтерінде пайдалануға жарамды өнімділік деңгейіне жету мақсатында жасаған. Қазіргі уақытта әзірлеу AV1 бейне кодтау пішімінің дамуын қадағалайтын Open Media Alliance (AOMedia) демеушілігімен жүзеге асырылуда. Бұған дейін жоба SVT-HEVC және SVT-VP9 кодтауыштарын әзірлейтін OpenVisualCloud жобасы аясында әзірленген. Код BSD лицензиясы бойынша таратылады.

SVT-AV1 C99 стандартын қолдайтын компиляторы бар кез келген архитектураға негізделген жүйелер үшін жиналуы мүмкін, бірақ ең жақсы өнімділікке SIMD нұсқауларына негізделген құрастыру оңтайландырулары қолданылатын x86_64 жүйелерінде қол жеткізіледі (болған жөн. Орталық процессордағы AVX2 қолдауы, бірақ минимум жеткілікті және SS2). Жадты тұтыну «-lp» опциясымен реттелетін кодтау кезінде пайдаланылатын процессор ядроларының санына байланысты. AV1-де қолданылатын алгоритмдердің күрделілігіне байланысты бұл пішімді кодтау басқа пішімдерге қарағанда айтарлықтай көп ресурстарды қажет етеді, бұл нақты уақыт режимінде қайта кодтау үшін стандартты AV1 кодтауышын пайдалануға мүмкіндік бермейді. Мысалы, AV1 жобасындағы қор кодтаушысы x5721 («негізгі» профиль), x5869 («жоғары» профиль) және libvpx-vp658 кодтаушыларымен салыстырғанда 264, 264 және 9 есе көп есептеулерді қажет етеді.

SVT-AV1 жаңа шығарылымындағы өзгерістердің арасында:

  • Жаңа нұсқа нөмірлеуіне көшу жасалды, оған сәйкес нұсқадағы бірінші сан API/ABI өзгерген сайын өзгереді.
  • Бос кадрды пайдаланудың орнына соңғы кадрдағы ағынның соңы көрсеткішіне (EOS - End Of Stream) өтуге байланысты API-ге өзгертулер енгізілді, бұл қосымша кадрды күтудің кідірісін болдырмайды. API өзгерісі FFmpeg код базасында көрсетілген.
  • Үш жолақты ауыспалы бит жылдамдығы режимі (3-өткізу VBR) жойылды және енді көп жолақты VBR механизмімен ауыстырылды. FFmpeg-пен интеграцияны қамтамасыз ету үшін VBR көп өту режимі екі өтуге дейін қысқартылды.
  • Кодерге оңтайландырулар қосылды, нәтижесінде M9-M13 алдын ала орнатуларының қысу тиімділігі 1-4%-ға артты, ал M5 алдын ала орнатылған жадты тұтыну LP 20 режимінде 35-8%-ға төмендеді және басқа режимдерде 1-5%. Басқа алдын ала орнатулардағы жадты тұтыну 1-5%-ға төмендеді.
  • Сапа/жылдамдық бұзылыстарын оңтайландыру сапаның жоғары деңгейін орнататын алдын ала орнатулар үшін орындалды. Анықтамалық сапа MR алдын ала орнату 100%-ға жеделдетілді.
  • Тек C функцияларына ARM-арнайы оңтайландырулар қосылды.

Сонымен қатар, VideoLAN және FFmpeg қауымдастықтары AV1 бейне кодтау пішімі үшін баламалы тегін декодерді енгізу арқылы кітапхананы әзірлеп жатқан dav1.4.1d 1 жобасының шығарылымын атап өтуге болады. dav1d кітапханасы спецификацияда (1, 8 және 10 бит) көрсетілген ішкі үлгілеудің кеңейтілген түрлерін және барлық түс тереңдігін басқару параметрлерін қоса алғанда, AV12 барлық мүмкіндіктерін қолдайды. dav1d бағдарламасының негізгі ерекшелігі оның ең жоғары декодтау өнімділігіне қол жеткізуге және көп ағынды режимде жоғары сапалы жұмысты қамтамасыз етуге бағытталғандығы болып табылады. Жоба коды C (C99) тілінде құрастыру кірістірулерімен (NASM/GAS) жазылған және BSD лицензиясы бойынша таратылады. x86, x86_64, ARMv7 және ARMv8 архитектуралары мен FreeBSD, Linux, Windows, macOS, Android және iOS операциялық жүйелеріне қолдау көрсетілді.

dav1d 1.4 нұсқасы жаңа Loongarch және RISC-V архитектураларына қолдау көрсетумен, сонымен қатар AVX-512 нұсқауларына негізделген қосымша оңтайландыруларды енгізумен, ARM жүйелеріндегі 6 тап сүзгілерінің жұмысын жеделдетумен, көп ағынды жұмыстың тиімділігін арттырумен және қысқартумен ерекшеленеді. ARM64, ARM32 және RISC-жүйелеріндегі екілік деректердің өлшемі V. Өте үлкен кадр өлшемдерін өңдеу кезінде бүтін сандардың толып кетуіне байланысты шектен тыс жазуды тудырған CVE-2024-1580 осалдығы түзетілді.

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

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