Випуск кодувальника відео SVT-AV1 1.5, що розвивається компанією Intel

Опубліковано випуск бібліотеки SVT-AV1 1.5 (Scalable Video Technology AV1) з реалізаціями кодувальника та декодувальника формату кодування відео AV1, для прискорення яких задіяні наявні в сучасних CPU Intel засоби апаратного розпаралелювання обчислень. Проект створений компанією Intel у партнерстві з Netflix з метою досягнення рівня продуктивності, придатного для перекодування відео на льоту та застосування у сервісах, що віддають відео на запит (VOD). В даний час розробка ведеться під егідою альянсу Open Media (AOMedia), що займається розвитком формату кодування відео AV1. Раніше проект розвивався в рамках проекту OpenVisualCloud, який також розробляє кодувальники SVT-HEVC та SVT-VP9. Код розповсюджується під ліцензією BSD.

Для використання SVT-AV1 необхідний процесор x86_64 із підтримкою інструкцій AVX2. Для кодування 10-бітових потоків AV1 з якістю 4K потрібно 48 Гб ОЗУ, 1080p - 16 Гб, 720p - 8 Гб, 480p - 4 Гб. Через ускладнення алгоритмів, що застосовуються в AV1, для кодування даного формату потрібно істотно більше ресурсів, ніж для інших форматів, що не дозволяє застосовувати штатний кодувальник AV1 для перекодування в реальному часі. Наприклад, штатний кодувальник від проекту AV1 вимагає в 5721, 5869 і 658 разів більше обчислень у порівнянні з кодувальниками x264 (профіль main), x264 (профіль high) і libvpx-vp9.

Серед змін у новому випуску SVT-AV1:

  • Проведено оптимізацію компромісів якість/швидкість, внаслідок якої пресети M1-M5 вдалося прискорити на 15-30%, а пресети M6-M13 на 1-3%.
  • Доданий новий пресет MR (-preset -1), який подається як такий, що надає еталонну якість.
  • Проведено оптимізацію роботи пресетів M8-M13 у режимі кодування з низькими затримками.
  • Додано підтримку динамічного вибору ієрархічних структур передбачення змін "miniGOP" (Group of Pictures) для конфігурацій з довільним доступом, включених за умовчанням в пресетах до M9 включно. Також надано можливість вказати менший стартовий розмір miniGOP для прискорення попереджувального завантаження.
  • Надано можливість зміни у командному рядку лямбда-коефіцієнтів масштабування.
  • Переписаний плагін для gstreamer.
  • Додано можливість пропуску певної кількості кадрів перед початком кодування.
  • Проведено значне чищення змінних і статичних функцій, що не використовуються, переформатовані коментарі в коді. Зменшено розмір імен змінних для спрощення читання коду.

Джерело: opennet.ru

Додати коментар або відгук