Содержание статьи +
Коротко
BD-rate (Bjøntegaard Delta rate) – это то самое число, что стоит почти за каждым сравнением кодеков: средний процент битрейта, который кодек экономит при равном качестве, усреднённый по диапазону качества, а не в одной точке. BD-rate −44% означает, что тестовый кодек достигает того же качества, что и опорный, при битрейте на 44% ниже – это экономия, а не оценка качества, и эти две вещи постоянно путают. Считается он так: по точкам строят кривую «битрейт – качество» для каждого кодека, измеряют горизонтальный зазор между кривыми в логарифмической шкале битрейта и усредняют его по диапазону качества, который покрывают оба кодека. На нашем представительном наборе HEVC экономит около 44% против H.264, AV1 – около 55%, а AV1 против HEVC – около 20%; за этими средними прячется разброс по типу контента от примерно −47% до −64%.
Зачем это нужно
Каждый заголовок вроде «AV1 на 50% лучше» – это BD-rate, и читать большинство из них невозможно: никто не говорит, что держали равным, какой метрикой мерили и по какому диапазону усредняли. Эта статья – для инженера стриминга, специалиста по кодекам или технического продакт-оунера, которому нужно прочитать такие числа (или получить своё) и понимать, что именно значит процент и где он может ввести в заблуждение. BD-rate определяет бюджеты на кодеки и счета за CDN, поэтому ошибочное или неверно прочитанное число заставляет команду оптимизировать не то. Мы объясняем метрику с нуля, показываем арифметику вслух и привязываем каждый шаг к нашим опубликованным данным, чтобы любую цифру можно было воспроизвести. К концу вы сможете посчитать BD-rate, прочитать чужой и распознать пять способов, которыми его регулярно искажают.
Определение в одном предложении
Сначала версия простыми словами, а потом мы оправдаем в ней каждое слово. Число, которое показывает, насколько меньше битрейта нужно одному кодеку, чтобы сравняться по качеству с другим, усреднённое по диапазону качества, называется BD-rate – сокращение от Bjøntegaard Delta rate, по имени Гисле Бьёнтегора, определившего его для сообщества видеостандартов в 2001 году (Bjøntegaard, VCEG-M33, 2001).
Три части этого предложения несут весь смысл. «Меньше битрейта» делает BD-rate мерой эффективности, а не качества. «Сравняться по качеству с другим» означает, что всё сравнивается при равном качестве, никогда при равном битрейте. А «усреднённое по диапазону» значит, что BD-rate – это никогда не отсчёт в одной точке битрейта, а средний зазор между двумя кривыми.
Знак сбивает новичков, поэтому зафиксируем сразу: отрицательный BD-rate – это хорошо для тестового кодека. −44% значит, что тестовому кодеку нужно на 44% меньше битрейта, чем опорному, для того же качества. Положительный BD-rate значит, что нужно больше. Здесь опорный кодек – H.264, а HEVC и AV1 – тестовые, поэтому их BD-rate отрицательные.
И ещё одна оговорка перед математикой. BD-rate – это экономия битрейта при равном качестве, а не сама по себе метрика качества вроде VMAF или PSNR, хотя и считается из неё. Держите «сколько я экономлю» и «насколько хорошо выглядит» в разных коробках; самая частая ошибка с BD-rate – позволить им слиться.
Сначала картинка: две кривые и зазор между ними
Чтобы измерить кодек, вы кодируете один исходник на нескольких битрейтах, оцениваете каждый результат метрикой качества и строите график «качество от битрейта». Получившаяся линия – качество растёт по мере роста битрейта – называется кривой «битрейт – качество» (или rate-distortion). Полная геометрия этих кривых разобрана в статье про выпуклую оболочку; здесь нам нужны лишь две из них, по одной на кодек.
Ось качества – это VMAF (Video Multimethod Assessment Fusion), перцептивная метрика 0–100, которую Netflix обучил на оценках людей. Число VMAF бессмысленно без модели, поэтому для протокола: все оценки здесь – это модель по умолчанию v0.6.1, усреднение mean-pooling, каждый энкод декодирован и масштабирован к исходнику перед оценкой. Как правильно читать VMAF – модель, пулинг, доверительный интервал – разобрано в VMAF простыми словами.
Теперь положим оба кодека на один график, как на Рис. 1. Выберите любой уровень качества – скажем, VMAF 93 – и проведите горизонтальную линию. Она пересекает опорную кривую на одном битрейте, а тестовую – на более низком. Это горизонтальное расстояние и есть экономия на этом качестве. BD-rate – это просто тот же горизонтальный зазор, усреднённый по всем уровням качества, которых достигают оба кодека. Зазор горизонтальный, потому что читаем его при фиксированном качестве; экономия – это разница в битрейте, а не в качестве.
Самый простой пример: половина битрейта
До всяких реальных данных пройдём простейший случай, чтобы арифметика была прозрачной. Пусть тестовый кодек берёт тот же VMAF, что и опорный, ровно при половине битрейта, на каждом качестве лестницы. Интуитивно экономия – 50%. Посмотрите, как к этому приходит формула.
BD-rate не усредняет битрейты напрямую; он усредняет логарифм битрейта. Причина в том, что битрейт охватывает порядки величины – иначе верхняя ступень в 14 000 кбит/с задавила бы нижнюю в 700 кбит/с – а логарифм превращает «половину битрейта» в одинаковое расстояние на всей шкале (Bjøntegaard, VCEG-M33, 2001). Поэтому инструмент считает средний зазор по логарифму битрейта, а затем переводит его обратно в проценты.
На каждом совпадающем качестве отношение битрейтов = 0.5 (тест ÷ опорный).
Средний зазор по log-битрейту = log10(0.5) = −0.30103
Перевод обратно в проценты = 10^(−0.30103) − 1 = 0.5 − 1 = −0.50
BD-rate = −50.0%Результат – ровно −50%, как и подсказывает интуиция. Урок структурный: BD-rate – это отношение битрейтов, выраженное в процентах, посчитанное в логарифмической шкале и переведённое обратно. Та же машина обрабатывает неровные, реалистичные кривые – просто усредняет меняющийся зазор вместо постоянного.
Как BD-rate считается на самом деле
Реальные кривые не параллельны, поэтому зазор меняется вдоль лестницы и нужен воспроизводимый рецепт. Современный метод, используемый Alliance for Open Media и комитетами по стандартам, состоит из пяти шагов (AOM/IETF, Daede et al., 2019; Bjøntegaard, VCEG-M33, 2001).
Шаг 1 – измерить минимум четыре точки «битрейт – качество» на кодек. Исходный метод Бьёнтегора подгонял кубический многочлен по четырём точкам (VCEG-M33, 2001). Меньше четырёх даёт лишь грубую оценку; больше точек уменьшают ошибку, а для «капризных» метрик вроде VMAF ошибка примерно вдвое сокращается при добавлении точек (Herglotz et al., 2023).
Шаг 2 – взять логарифм битрейта. Это тот самый логарифмический шаг из примера, чтобы дорогие верхние ступени не доминировали в среднем.
Шаг 3 – подогнать форму-сохраняющую кривую по точкам каждого кодека. Исходная одиночная кубика может «перелетать» – выгибаться выше или ниже реальных данных между точками – и изобретать качество, которого никто не измерял. Современная практика подгоняет монотонный кусочно-кубический интерполянт (PCHIP), который не может перелетать, или близкий ему сплайн Акимы (AOM/IETF, 2019; Herglotz et al., 2023). Наш инструмент использует монотонный PCHIP.
Шаг 4 – проинтегрировать зазор, но только по перекрытию. Два кодека редко покрывают ровно один диапазон качества. BD-rate определён только там, где существуют обе кривые – в перекрывающемся диапазоне качества – поэтому метод интегрирует горизонтальный зазор по этому перекрытию и игнорирует уровни качества, которых достигает лишь один кодек (AOM/IETF, 2019). Проинтегрируйте по диапазону, которого один кодек не достиг, – и число станет вымыслом.
Шаг 5 – перевести средний log-зазор обратно в проценты, ровно как в примере с −50%: 10^(средний log-зазор) − 1.
Одно уточнение важно для перцептивных метрик. VMAF и SSIM насыщаются у вершины шкалы: разница между 97 и 99 стоит куда больше битов, чем разница между 80 и 82, но числа выглядят равноотстоящими. Поэтому подгонка по «сырому» VMAF искажает верхний край. Рекомендованное исследователями средство – применить логарифмическое преобразование к значениям качества – −10·log10(1 − VMAF/100) – перед подгонкой, рассыщая шкалу (Herglotz et al., 2023). Все цифры «на наших данных» ниже используют это преобразование; именно оно делает нашу таблицу воспроизводимой до десятой доли.
BD-rate, BD-PSNR и чтение зазора по-другому
Те же две кривые можно прочитать двумя способами, и названия стоит не путать. Прочитайте зазор горизонтально – разница битрейта при равном качестве – и получите BD-rate, экономию битрейта. Прочитайте его вертикально – разница качества при равном битрейте – и получите число BD-quality: BD-PSNR, если метрика PSNR, BD-VMAF, если VMAF. Заметка Бьёнтегора 2001 года определила оба (в названии работы буквально речь о средних разницах PSNR).
| BD-rate | BD-PSNR / BD-quality | |
|---|---|---|
| Что держим равным | Качество | Битрейт |
| Что измеряем | Разницу битрейта (%) | Разницу качества (дБ или баллы VMAF) |
| Как читаем зазор | Горизонтально | Вертикально |
| Хороший результат для теста | Отрицательный (меньше битрейт) | Положительный (больше качество) |
| Где полезнее | Бюджеты на трафик и хранение | Быстрая проверка «насколько лучше» |
Большинство стриминговых команд отчитываются по BD-rate, потому что битрейт – это бюджет: он прямо ложится на счёт за CDN и на то, что должен унести канал зрителя. BD-PSNR отвечает на другой вопрос, и действовать по нему труднее, потому что «на 2 дБ лучше» значит разное при разных битрейтах. Когда сравнение приводит только прирост качества, спросите экономию битрейта – это число, которое касается счёта.
Наши цифры
Теперь конкретика. Мы измерили кривые «битрейт – качество» для H.264 (x264), HEVC (x265 4.2) и AV1 (SVT-AV1 4.0.0) на шести категориях контента, которые наши продукты реально отгружают – анимация, экран/слайды, кино, конференции, спорт и пользовательское видео – и посчитали BD-rate описанным методом. Полная методология, включая настройки энкодеров и провенанс, описана в нашей методологии бенчмарков, а заголовочная история по кодекам – в сравнении кодеков на реальном контенте.
Вот разбор для кривой «кино», чтобы вы прошли одно число от начала до конца. При VMAF 93 наш энкод H.264 потребовал около 4800 кбит/с; энкод AV1 достиг того же VMAF при около 2064 кбит/с. Отношение – 2064 ÷ 4800 = 0.43, экономия 57% на этом одном качестве. BD-rate обобщает это чтение на весь перекрывающийся диапазон VMAF (от 80 до 97), в логарифмической шкале, с применённым преобразованием для насыщения. Прогоните расчёт – и для кино результат −56.5% у AV1 против H.264, −45.5% у HEVC против H.264 и −20.2% у AV1 против HEVC. Загружаемый калькулятор воспроизводит каждое из этих чисел точно.
| Тип контента | HEVC vs H.264 | AV1 vs H.264 | AV1 vs HEVC |
|---|---|---|---|
| Анимация | −52.3% | −63.6% | −23.6% |
| Экран / слайды | −50.5% | −61.6% | −22.3% |
| Кино / реальная съёмка | −45.5% | −56.5% | −20.2% |
| Конференции | −45.2% | −54.5% | −17.1% |
| Спорт (быстрое движение) | −36.5% | −48.5% | −18.9% |
| UGC | −35.2% | −47.5% | −19.1% |
| Среднее | −44.2% | −55.4% | −20.2% |
Таблица 1. BD-rate по типу контента (модель VMAF default v0.6.1, лог-домен, только по перекрытию). Средние – это заголовочные числа; разброс – это и есть настоящая история.
Два вывода из таблицы. Во-первых, заголовочные средние – HEVC −44.2%, AV1 −55.4%, AV1 против HEVC −20.2% – лежат внутри опубликованного: HEVC задумывался, чтобы примерно вдвое срезать битрейт H.264 (Ohm et al., IEEE TCSVT, 2012), а Netflix сообщил, что его AV1-потоки идут примерно на 48% ниже H.264 на реальном контенте (Netflix, 2025). Во-вторых, среднее – это среднее: экономия AV1 над H.264 качается от −47.5% на шумном пользовательском видео до −63.6% на анимации, потому что плоские области и чистые края сжимаются куда лучше зерна и быстрого движения. Почему числа двигаются по контенту – тема статьи контент важен.
Пара слов о том, что это за цифры. Это иллюстративный домашний набор данных (v0.9), чьи BD-rate по контенту подобраны так, чтобы лежать внутри литературы и чтобы здешняя арифметика полностью воспроизводилась; измеренный прогон на клиентском контенте заменит их при первой публикации. Это прозрачная проверяемая замена, а не маркетинговое число и не выдумка из воздуха.
Где здесь Фора Софт
Фора Софт с 2005 года делает софт для видеостриминга, OTT, конференций, онлайн-обучения, телемедицины и видеонаблюдения, и выбор кодека меняет счёт за трафик в каждом из них. Мы сообщаем экономию как BD-rate, при равном качестве, на тех категориях контента, что наши продукты реально обрабатывают, с раскрытыми моделью метрики и версиями энкодеров – потому что «AV1 экономит 50%» рассыпается в тот момент, когда кто-то спрашивает «на чём, как измеряли». Бенчмарк за этими числами – наш собственный, опубликованный с методом и набором данных, чтобы его можно было проверить и процитировать; только такое число и стоит защищать перед бюджетом на CDN.
Пять способов исказить BD-rate
BD-rate – чистое число, и его чистота – ловушка. Каждая из пяти ошибок ниже по отдельности защитима; вместе они производят тот вывод, который автору был нужен.
1. Не названа метрика или модель. «AV1 на 30% лучше» без метрики читать нельзя: −20% по VMAF, почти ничья по PSNR и иное число по субъективной панели могут выйти из одного набора энкодов. Исправление: называйте метрику и модель каждый раз (у нас VMAF default v0.6.1).
2. Сырой VMAF, без лог-преобразования. Поскольку VMAF насыщается у 100, подгонка по сырой шкале перевешивает верх лестницы. На нашей кривой «кино» число AV1-против-H.264 сдвигается с −55.4% (сырое) на −56.5% (с лог-преобразованием) – здесь немного, больше на кривых, что жмутся к потолку. Исправление: логарифмируйте насыщающиеся метрики перед подгонкой (Herglotz et al., 2023).
3. Тонкое перекрытие по качеству. Если две кривые едва делят диапазон качества, среднее берётся по полоске и неустойчиво. «Bjøntegaard Bible» приводит случай, где плохое перекрытие превратило −43% в −49% (Herglotz et al., 2023). Исправление: добавьте рабочие точки, чтобы оба кодека покрыли общий диапазон, и сообщайте перекрытие.
4. Один тип контента выдан за среднее. Назовите −63.6% по анимации «экономией AV1» – и вы завысили средний по каталогу (−55.4%) на восемь пунктов. Исправление: сообщайте разброс по контенту и средневзвешенное по каталогу для вашей библиотеки.
5. Число внутри шума метода. У BD-rate есть своя ошибка – до нескольких процентных пунктов для VMAF и межкодечных сравнений (Herglotz et al., 2023). Результат −20.2% AV1-над-HEVC и результат −22% – это один и тот же ответ. Исправление: не объявляйте победителя на разнице меньше неопределённости метода.
Общая нить знакома любому, кто работает с качеством: одно число – это сводка, а не вся картина. Общий навык читать отчёт по метрике не обманываясь – это как читать отчёт по метрикам качества, а более широкий каталог того, где метрики врут, – где врут объективные метрики.
Ключевые выводы
- BD-rate – это средняя экономия битрейта при равном качестве, а не оценка качества.
- Отрицательное – хорошо: −44% значит, что тесту нужно на 44% меньше битрейта.
- Считается в лог-шкале битрейта, с форму-сохраняющей подгонкой, только по перекрытию.
- Наши средние: HEVC −44.2%, AV1 −55.4% против H.264; AV1 −20.2% против HEVC.
- Среднее прячет разброс по контенту примерно от −47% до −64% для AV1.
- Всегда называйте метрику и модель, логарифмируйте VMAF, уважайте шум метода.
Что почитать дальше
- Сравнение кодеков на реальном контенте: H.264 vs HEVC vs AV1 – откуда взяты эти BD-rate.
- Контент важен: как результаты качества меняются по типу контента – почему среднее прячет разброс.
- Наша методология бенчмарков – правила, которым подчиняется каждое число Блока 7.