Выпуск кодировщика видео SVT-AV1 1.5, развиваемого компанией Intel

Опубликован выпуск библиотеки SVT-AV1 1.5 (Scalable Video Technology AV1) c реализациями кодировщика и декодировщика формата кодирования видео 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

Добавить комментарий