Выпуск SVT-AV1 4.0, кодировщика для формата видео AV1

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

SVT-AV1 может быть собран для систем на базе любых архитектур, для которых имеется компилятор с поддержкой стандарта C99, но наилучшая производительность достигается на системах x86_64, для которых применяются ассемблерные оптимизации на базе инструкций SIMD (желательно наличие в CPU поддержки AVX2, но в качестве минимума достаточно и SSE2). Потребление памяти зависит от числа задействованных при кодировании процессорных ядер, регулируемых опцией »--lp». Из-за усложнения применяемых в AV1 алгоритмов, для кодирования данного формата требуется существенно больше ресурсов, чем для других форматов, например, штатный кодировщик от проекта AV1 требует в 5721, 5869 и 658 раз больше вычислений по сравнению с кодировщиками x264 (профиль «main»), x264 (профиль «high») и libvpx-vp9.

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

  • Проведена оптимизация режимов кодирования одиночных кадров и изображений в формате AVIF. Для пресетов M0-M11 при включении параметра MS-SSIM (--tune 4) отмечено повышение скорости кодирования в 5–8 раз при сохранении уровня качеста. При оценке при помощи метода BD-Rate (Bjontegaard-Delta) отмечается повышение эффективности сжатия на 5–8% при том же уровне сложности.

  • Проведена оптимизация компромиссов качество/скорость при кодировании в режиме »--rtc» (Real-Time Communications). Для пресетов M7-M11 наблюдается увеличение скорости на 5–15% при сохранении уровней качества.

  • Проведена оптимизация компромиссов качество/скорость при кодировании в режиме случайного доступа (Random Access). Для пресетов M0-M7 отмечается ускорение на 10–25% без потери качества при использовании опции »--fast-decode=1×2).

  • На системах ARM задействованы дополнительные оптимизации на базе расширений Neon и SVE2, позволившие на 5% повысить производительность кодирования потоков в низком разрешении с высокой глубиной цвета.

  • Из форка SVT-AV1-PSY, сопровождение которого прекращено, завершён перенос расширенных возможностей для режима высокого визуального качества, включаемого при использовании настроек »--tune 0» (VQ, Video Quality) для видео и »--tune 3» (IQ, Image Quality) для изображений Avif.
  • Реализован метод психовизуального моделирования AC Bias, улучшающий сохранение детализации и шума от сенсора камеры.

  • Улучшена поддержка S-кадров (Switch Frames), применяемых при переключении между потоками разного качества. Добавлена поддержка S-кадров в опциях настройки квантования (QP, Quantization Parameter) и порядка декодирования.

  • Добавлена возможность применения режимов IQ (Image Quality) и MS-SSIM (Multi-Scale Structural Similarity Index) при кодировании изображений и отдельных кадров.

  • Внесены изменения в API, среди прочего нарушающие обратную совместимость.



Источник: http://www.opennet.ru/opennews/art.shtml? num=64676

© OpenNet