[Перевод] Dav1d – самый быстрый декодер AV1 теперь в Firefoх по умолчанию

Вступление от Voximplant


Да, мы не впервые пишем про AV1 — у нас уже был перевод про Chrome 70 с поддержкой кодека, и вот мы снова делимся новостями. В этот раз — слово Nathan Egge, старшему инженеру Mozilla и участнику фонда Xiph.org, который порадовал новостью про дефолтную поддержку AV1. Трудно переоценить важность этого кодека для современных стриминговых сервисов, равно как и для real-time приложения для аудио/видеосвязи. Почему dav1d, чем он отличается от первого декодера AV1, немного графиков из бенчмарков и прогноз на будущее — коротко и по делу, прошу под кат.

wvjtvjkr8e3ynhrlwsxe8z22oos.png


Релиз Firefox 67 улучшил производительность настолько, что 67-я версия стала быстрее всех предыдущих. Среди улучшений — бесплатный AV1–декодер dav1d, который отныне по умолчанию включен на всех десктопных платформах (Windows, OSX и Linux) для 32- и 64-битных систем.

С файлами, которые на 30% меньше, чем у самого популярного веб-кодека VP9 и почти на 50% меньше файло его предшественника — H.264, кодек AV1 дает лучшее качество с меньшей нагрузкой на сеть, а также потенциально может изменить, как и где мы смотрим видео в Интернете.

Тем не менее, так как AV1 — это новый и более сложный кодек, некоторые эксперты предсказывали, что его распространение на рынке подождет до 2020 года, когда ожидается появление высокопроизводительных декодеров. Встроенный в браузер Dav1d опровергает эти предсказания.

Поддерживаемый Альянсом Открытых Медиа (Alliance for Open Media, AOM), dav1d — это совместная работа французского некоммерческого VideoLAN и опенсорсного сообщества FFmpeg (кстати, FFmpeg уже как-то делали декодер, который быстрее оригинального, это был FFvp9 для VP9 — прим. переводчика). Лучшие умы мультимедийного опенсорса объединили усилия, чтобы выпустить первую версию dav1d прошлой осенью, которая сразу была в 2–5 раз быстрее libaom, декодера от AOM, который был частью стандарта AV1.

q8cscl5apqi85j06oljyve4ymbw.png


С тех пор разработчики выжали из dav1d еще больше производительности с помощью категоризации и перезаписи критичных разделов в высоко параллелизированной SIMD-сборке. И это видно в бенчмарках:

mitevkv7qtwo3ukryzvji8vs3ew.png


Более высокие производительность и эффективность означают плавное воспроизведение AV1-видео в браузере при заметном снижении нагрузки на CPU.

AV1 уже применяется в вебе


Появление dav1d в Firefox произошло как никогда вовремя. Только за последние месяцы мы отметили существенный рост использования AV1; по нашим данным, в апреле 11,8% видео в Firefox Beta воспроизводились с использованием AV1, в то время как в марте эта цифра была в районе 3%, а в феврале — 0,85%.

z0bmnjxbadog1x1om_jl2npnvy4.png


Учитывая, что dav1d встроен в десктопный Firefox, мы ожидаем, что еще больше веб-сайтов будут пользоваться бесплатным кодеком следующего поколения — AV1.

Mozilla вкладывается в будущее AV1


Современные декодеры вроде dav1d великолепно подходят для воспроизведения видео, но добротные, бесплатные и опенсорсные кодеры тоже очень важны для сообщества AV1. Исходный кодер от AOM был разработан, чтобы оформить стандарт AV1, а не сделать кодер для продакшена. Поэтому Mozilla и Xiph.Org совместно разрабатывают «стерильный» кодер rav1e (Rust AV1 Encoder), чтобы он имел преимущества перед исходным кодером и чтобы позволить достаточно быстрое программное кодирование для real-time приложений (например, WebRTC-приложений).

Хорошие кодеры опираются на психовизуальные модели, чтобы выделять биты для того, что человеческое восприятие оценивает как «хорошее качество» (не PSNR). С помощью rav1e мы применим компетенции по анализу восприятия из наших ранних разработок — Daala и Theora — чтобы добавить маскировку активности, более хороший баланс цвета, улучшенный контроль скорости передачи и метрики искажения восприятия вроде CDEF. Все это приведет к новому уровню качества AV1-кодировки.

Мы также прикладываем значительные усилия, чтобы повысить скорость кодировки, применяя техники, которые впервые появятся только в AV1. Недостаточно просто переписать существующий код исходного кодера в SIMD-сборке и сделать его в 4 раза быстрее. Rav1e предлагает способы сделать AV1- кодировку в 1000 (тысячу) раз быстрее с помощью новых алгоритмов, а не оптимизации имеющегося кода.

Rav1e постоянно становится лучше и лучше. Активная разработка продолжится в высоком темпе, чтобы выкатывать мажорные изменения еженедельно.

Ссылки


  1. AV1 beats x264 and libvpx-vp9 in practical use case — code.fb.com
  2. MSU Codec Comparison 2018 — www.compression.ru

© Habrahabr.ru