- PVSM.RU - https://www.pvsm.ru -

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

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

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

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


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

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

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

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

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


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

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


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

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

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

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


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

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

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

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

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

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

Ссылки

  1. AV1 beats x264 and libvpx-vp9 in practical use case [4]code.fb.com [19]
  2. MSU Codec Comparison 2018 [5]www.compression.ru [20]

Автор: nvpushkarskiy2

Источник [21]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/320844

Ссылки в тексте:

[1] Chrome 70 с поддержкой кодека: https://habr.com/ru/company/Voximplant/blog/427021/

[2] Firefox 67: https://blog.mozilla.org/blog/2019/05/21/latest-firefox-release-is-faster-than-ever/

[3] dav1d: https://code.videolan.org/videolan/dav1d

[4] VP9: https://code.fb.com/video-engineering/av1-beats-x264-and-libvpx-vp9-in-practical-use-case/

[5] H.264: http://www.compression.ru/video/codec_comparison/hevc_2018/pdf/MSU_HEVC_AV1_comparison_2018_P4_HQ_encoders.pdf

[6] предсказывали: https://www.multichannel.com/news/hardware-support-big-step-ahead-av1

[7] Альянсом Открытых Медиа (Alliance for Open Media, AOM): https://aomedia.org/

[8] это был FFvp9 для VP9: https://blogs.gnome.org/rbultje/2014/02/22/the-worlds-fastest-vp9-decoder-ffvp9/

[9] первую: http://www.jbkempf.com/blog/post/2018/First-release-of-dav1d

[10] libaom: https://aomedia.googlesource.com/aom/

[11] rav1e: https://github.com/xiph/rav1e

[12] PSNR: https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio

[13] Daala: https://wiki.xiph.org/index.php?title=Daala

[14] Theora: https://en.wikipedia.org/wiki/Theora

[15] маскировку активности: https://people.xiph.org/~jm/daala/pvq_demo/

[16] баланс цвета: https://nbviewer.jupyter.org/gist/barrbrain/9d541d809d1d664460b5ce5c00a57948/Chroma%20quantizer%20balance.ipynb

[17] контроль скорости передачи: https://people.xiph.org/~xiphmont/demo/theora/demo8.html

[18] CDEF: https://people.xiph.org/~xiphmont/demo/av1/demo2.shtml

[19] code.fb.com: https://code.fb.com/

[20] www.compression.ru: http://www.compression.ru/

[21] Источник: https://habr.com/ru/post/456072/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456072