Объективные метрики качества аудио: PESQ, POLQA, ViSQOL, AAC-Q

Автор: Николай СапуновОбновлено: август 202623 мин чтения
Содержание статьи +

Коротко

Объективная метрика качества аудио – это программа, которая «слушает» обработанный аудиоклип так, как это сделала бы панель живых слушателей, и выдаёт одно число, предсказывающее их оценку. Это позволяет проверять тысячи файлов за минуты вместо отдельного слухового теста на каждый. Чаще всего встречаются три имени: PESQ и POLQA – речевые метрики Международного союза электросвязи (ITU), и ViSQOL – открытая метрика Google, работающая и с речью, и с музыкой. Это аудиоаналог чисел PSNR и VMAF, которыми видеокоманда оценивает видеокодек, и, как те видеочисла, они полезны, автоматизируемы и тихо ошибаются в конкретных случаях, которые нужно знать. Эта статья объясняет, что измеряет каждая метрика, где каждая ломается, почему старый фаворит PESQ был удалён из собственного каталога ITU в январе 2024 года, но всё ещё доминирует в научных статьях, и как встроить метрику в сборку, не обманывая себя.

Зачем это нужно

Если вы выпускаете продукт со звуком – видеоконференции, стриминг, телемедицину, e-learning – вы постоянно меняете аудиопайплайн: новый кодек, другой битрейт, модель шумоподавления, настройку буфера джиттера. Любое из этих изменений делает звук лучше или хуже, и «хуже» пользователь замечает и обжалует первым. Честный способ узнать – спросить живых слушателей, но полноценный слуховой тест стоит недель и денег, так что на каждый pull request его не запустишь. Объективные метрики закрывают этот разрыв: автоматический тест ловит регрессию до того, как она доберётся до клиента. Статья для менеджера продукта или основателя, которому нужно понять, что эти числа могут и не могут обещать, и для инженера, которому придётся выбрать метрику и обосновать выбор. К концу вы будете знать, какая метрика для речи, какая для музыки, какая бесплатна, какой нужна лицензия, и три ошибки, превращающие зелёный дашборд в ложную уверенность.

То, что копирует каждая метрика: Mean Opinion Score

До любой программы была комната людей в наушниках. Стандартный способ измерить качество звука и сейчас – проиграть клипы панели слушателей и попросить каждого оценить клип по пятибалльной шкале: 5 – отлично, 4 – хорошо, 3 – удовлетворительно, 2 – плохо, 1 – очень плохо. Среднее всех оценок клипа – это его Mean Opinion Score, почти всегда пишут MOS. Метод задан ITU – Международным союзом электросвязи, агентством ООН по стандартизации связи – в рекомендации ITU-T P.800, а процедура оценки называется Absolute Category Rating (ACR), потому что каждый слушатель оценивает каждый клип сам по себе по абсолютной шкале, а не сравнивает два клипа.

MOS – это эталон-истина. Он же медленный и дорогой: нужна тихая комната, калиброванные наушники, достаточно слушателей, чтобы плохой день одного усреднился, и часы их времени. Более новая рекомендация, ITU-T P.808, расширяет метод на краудсорсинг – много удалённых исполнителей оценивают клипы на своих устройствах за небольшую плату, – что быстрее, но добавляет свой шум от неконтролируемых комнат и техники. В любом случае слуховой тест запускают несколько раз в год, а не на каждое изменение кода.

Все объективные метрики этой статьи существуют, чтобы предсказать MOS без комнаты с людьми. Вся задача метрики – корреляция: когда метрика говорит 4,2, люди должны были сказать примерно 4,2. Поэтому правильный вопрос о любой метрике – не «высокое ли число?», а «насколько хорошо это число отслеживает оценку реальных слушателей для того типа аудио и того вида повреждений, которые меня волнуют?». Держите этот вопрос в голове – это нить через всё дальнейшее.

Рис. 1. Объективные метрики существуют, чтобы предсказать Mean Opinion Score человеческой панели – достаточно быстро для автоматизации.

Полноэталонные и без эталона: главное различие

Есть два принципиально разных способа оценить клип, и неверный выбор тратит недели.

Полноэталонная метрика (full-reference, иногда «intrusive») требует двух файлов: чистый оригинал (эталон) и обработанную версию, которую вы хотите оценить (искажённый сигнал). Она выравнивает их по времени и измеряет, насколько искажённая версия отошла от оригинала. PESQ, POLQA, ViSQOL и PEAQ – все полноэталонные. Они точны, потому что знают, как звук должен был звучать, но работают только когда у вас есть чистый оригинал – а он есть в лаборатории и сборке, и его нет в живом звонке.

Без эталона (no-reference, «non-intrusive») метрика оценивает один клип без оригинала для сравнения – так человек слышит, что звонок плох, ни разу не слышав студийную версию. Они новее и почти все построены на машинном обучении. Это единственный вариант для мониторинга живого трафика, где чистого эталона взять негде. К ним вернёмся в конце, потому что в 2026 году именно туда движется поле.

Правило большого пальца: используйте полноэталонные метрики в сборке и лаборатории, где вы контролируете источник; используйте метрики без эталона для наблюдения за живым продакшеном. Большинству команд нужны обе – для разных задач.

Рис. 3. Первый вопрос – не какая метрика, а какого типа: есть ли у вас чистый оригинал для сравнения?

PESQ – телефонная рабочая лошадка, которая не желает умирать

PESQ – Perceptual Evaluation of Speech Quality. Опубликована ITU как рекомендация ITU-T P.862 в 2001 году и два десятилетия была способом по умолчанию оценивать речевые кодеки и телефонные сети. Если вы когда-либо читали статью с оценкой голосового кодека, она почти наверняка использовала PESQ.

PESQ – полноэталонная. Берёт чистый эталон и искажённую речь, прогоняет оба через модель телефонной трубки и человеческого уха, выравнивает по времени и измеряет слышимое искажение между ними. Сырой результат затем отображается на привычную шкалу 1–5 сопутствующей рекомендацией P.862.1, давая число MOS-LQO – Mean Opinion Score, Listening Quality, Objective. Метка «objective» отличает машинно-предсказанный MOS-LQO от человеческого MOS-LQS (subjective).

PESQ строилась под узкополосный телефонный диапазон – примерно 300–3100 Гц, тонкий звук обычного телефонного звонка. Позднее расширение P.862.2 растянуло её до широкополосного (50–7000 Гц) для HD-Voice, но только для файлов 16 кГц. Здесь есть тонкость, на которой спотыкаются: в 2018 году ITU выпустил Corrigendum 2, признав, что коэффициенты широкополосного фильтра были неверны и систематически занижали качество примерно на 0,8 MOS – почти на целый балл из пяти. Но поскольку ни одна популярная open-source реализация так и не включила это исправление, сообщество продолжало пользоваться неисправленной версией. Урок жёсткий и конкретный: две статьи, обе говорящие «PESQ», могут считать по-разному и несравнимы. Всегда фиксируйте точную версию и реализацию.

Вот главный факт о PESQ в 2026 году, и он странный. ITU отозвал PESQ в 2018 году в пользу преемника POLQA, а 5 января 2024 года формально удалил всё семейство P.862 из каталога. Стандарта официально больше нет. И всё же поиск «PESQ» в Google Scholar возвращает более 4600 статей только за 2024 год против едва сотни для POLQA. PESQ выживает, потому что бесплатна, имеет много открытых реализаций и это то, что использовали все старые результаты – так что новые работы продолжают её применять ради сопоставимости. Вы будете встречать PESQ ещё годами. Просто знайте, что используете устаревший, удалённый стандарт, и относитесь к его числам соответственно.

«Ловушка – оптимизация напрямую под PESQ. Поскольку PESQ дёшева, команды обучали модели шумоподавления и улучшения речи максимизировать сам показатель PESQ. Это хрестоматийный случай закона Гудхарта: когда мера становится целью, она перестаёт быть хорошей мерой. Исследователи строили модели, поднимающие PESQ, тогда как реальные слушатели оценивали результат хуже – модель учится угождать метрике, а не уху. Одно исследование 2024 года (с памятным названием «The PESQetarian») нашло, что система, оптимизированная под PESQ, коррелирует с человеческими оценками лишь на ~0,28, почти бесполезно. Используйте метрику, чтобы ловить регрессии, и никогда как цель обучения модели.»

POLQA – официальная замена PESQ

POLQA – Perceptual Objective Listening Quality Analysis – стандарт ITU P.863, созданный именно чтобы заменить PESQ. Тоже полноэталонная, тоже выдаёт MOS-LQO, для той же задачи: оценка переданной речи. Но исправляет главные слабости PESQ.

Первое исправление – полоса частот. PESQ упирается в широкополосный диапазон; POLQA покрывает весь диапазон современного аудио – узкополосный (300–3400 Гц), широкополосный (50–7000 Гц), сверхширокополосный (50–14000 Гц) и даже полнополосный (20–20000 Гц). Для сверхширокополосного и полнополосного разница так мала, что POLQA оценивает их как эквивалентные, но это значит, что POLQA может оценить чёткое широкое аудио современного VoLTE- или VoIP-звонка, куда PESQ просто не дотягивается.

Второе исправление – time-warping, и оно важнее, чем звучит. Современные кодеки и буферы джиттера намеренно слегка растягивают или сжимают аудио, чтобы оправиться от сетевых сбоев – процесс, который мы разбираем в материале про буфер джиттера NetEQ. PESQ принимает это безобидное растяжение за повреждение и возвращает пессимистично низкую оценку. POLQA отслеживает warp и оценивает его так, как реально слышит слушатель: изменение скорости на 1–5% неслышимо, и POLQA правильно сообщает об отсутствии потери качества, тогда как PESQ оштрафовала бы.

Текущая редакция – POLQA v3 (редакция 2018 года стандарта P.863), добавившая полнополосный анализ и лучшую обработку задержек для VoLTE, 5G и OTT-звонков. Так почему же, если POLQA лучше во всём, PESQ всё ещё доминирует? Одно слово: лицензирование. POLQA запатентована и продаётся по лицензии OPTICOM и партнёрами; бесплатной референсной реализации, которую можно вставить в хобби-проект или открытую статью, нет. Этот единственный факт объясняет всю странную ситуацию – устаревшая бесплатная метрика обгоняет своего лучшего платного преемника примерно сорок к одному. Если вы финансируемая продуктовая команда, оценивающая реальный голосовой продукт, лицензия POLQA обычно того стоит. Если публикуете исследование или делаете сайд-проект – потянетесь за чем-то бесплатным.

ViSQOL – открытая метрика для речи и музыки

ViSQOL – Virtual Speech Quality Objective Listener – открытая полноэталонная метрика Google, и для многих команд это практический ответ на «мне нужна бесплатная метрика, которая не является удалённым стандартом». Текущий релиз, ViSQOL v3 (2020), поставляется как C++-библиотека под пермиссивной лицензией Apache 2.0 с Python-обвязкой – именно поэтому она появляется в пайплайнах сборки.

ViSQOL работает иначе, чем PESQ и POLQA, и разницу стоит понять, потому что она объясняет и сильные стороны, и пределы. Вместо моделирования телефонной трубки ViSQOL превращает и эталон, и искажённый клип в спектрограмму – картинку звука, где время по горизонтали, а частота по вертикали, – а затем измеряет, насколько две картинки похожи, участок за участком. Мера сходства называется NSIM (Neurogram Similarity Index Measure) и адаптирована напрямую из SSIM, индекса структурного сходства, которым мир изображений сравнивает две картинки. То есть ViSQOL оценивает аудио, трактуя его как задачу сравнения изображений. Финальный шаг подгонки переводит среднее сходство в MOS-LQO по шкале 1–5.

У ViSQOL два режима, и неверный даёт чепуху:

  • Речевой режим ожидает широкополосный вход 16 кГц, выполняет детекцию голосовой активности, чтобы тишина не оценивалась, и масштабирован так, что идеальное совпадение даёт 5,0.
  • Аудиорежим ожидает вход 48 кГц и настроен на музыку и аудио общего назначения, а не только голос. Именно этот режим делает ViSQOL особенной – это одна из немногих доступных метрик, которая разумно оценивает музыку. Google иногда называет эту музыкальную способность ViSQOLAudio; в v3 оба объединены в один инструмент.

Поскольку метрика основана на сходстве, а не на модели телефона, ViSQOL изящно справляется с time-warping – собственный бенчмарк Google нашёл, что она плавно деградирует при дрейфе тактовой частоты, где PESQ обваливается, – и выходит за пределы мира телефонных звонков в оценку кодеков, музыкальный стриминг и даже как грубый прокси для генеративных аудиомоделей. Её документация честна о пределах: одиночные оценки шумны, поэтому усредняйте по многим клипам; она обучалась на искажённом аудио вплоть до ~24 кбит/с и ведёт себя плохо ниже; и может вводить в заблуждение на сценариях далеко от обучающих данных, вроде сильного шумоподавления.

Рис. 2. PESQ и POLQA моделируют телефон и ухо; ViSQOL превращает звук в картинку и сравнивает картинки. Все три выдают предсказанный MOS по шкале 1–5.

PEAQ и «AAC-Q» – оценка музыкальных кодеков, а не звонков

PESQ, POLQA и ViSQOL выросли из телефонии, где контент – речь. Но если ваш продукт стримит музыку или высококачественное аудио, вас волнует другой вопрос – не «понятен ли этот голос?», а «слышит ли тренированный слушатель разницу между сжатым файлом и оригинальным мастером?». Это территория PEAQ.

PEAQ – Perceptual Evaluation of Audio Quality – задана стандартом ITU-R BS.1387, впервые опубликованным в 1998 году и последний раз пересмотренным в 2023-м (обратите внимание на ITU-R, сектор радиосвязи, а не ITU-T, сектор электросвязи, которому принадлежат PESQ и POLQA). PEAQ строилась для оценки перцептивных аудиокодеков вроде MP3 и AAC. Она полноэталонная, симулирует поведение маскирования человеческого уха и выдаёт число Objective Difference Grade (ODG) по шкале от 0 (разница с оригиналом незаметна) до −4 (очень раздражающая разница). PEAQ бывает в двух вариантах: Basic, достаточно быстрый для мониторинга в реальном времени, и Advanced, медленнее, но надёжнее. Это ближайший к стандарту инструмент оценки кодеков в мире музыки, хотя академический обзор 2022 года («Can we still use PEAQ?») нашёл, что её точность устарела против современных кодеков, и рекомендовал осторожность.

Слово о «AAC-Q» в заголовке статьи – оно заслуживает честности. Нет единого стандарта ITU или ISO под названием «AAC-Q». На практике фраза используется вольно и означает измерение перцептивного качества применительно к AAC и подобным музыкальным кодекам – работу, которую реально делают PEAQ, аудиорежим ViSQOL и проприетарные вендорские инструменты (например, AQuA от Fraunhofer). Если коллега говорит «прогони AAC-Q на новом энкодере», он имеет в виду «оцени выход AAC против оригинала музыкально-способной перцептивной метрикой». Считайте «AAC-Q» категорией, а не продуктом. Реальные инструменты – PEAQ/BS.1387, ViSQOLAudio и лицензируемые анализаторы – выбирайте по тому, нужен ли стандарт (PEAQ), бесплатное (аудиорежим ViSQOL) или вендорская поддержка (AQuA и подобные).

Разбор примера: как читать числа

Числа на шкале качества обретают смысл лишь когда вы хоть раз их подставите. Допустим, вы тестируете новую настройку энкодера Opus для продукта видеоконференций и прогоняете один и тот же пятисекундный речевой клип через три конфигурации, оценивая каждую широкополосной полноэталонной метрикой (POLQA в сверхширокополосном режиме). Получаете:

  • Эталон (несжатый): метрика не запускается против самого себя; он задаёт потолок.
  • Конфиг A – Opus 32 кбит/с: MOS-LQO 4,3
  • Конфиг B – Opus 16 кбит/с: MOS-LQO 3,8
  • Конфиг C – Opus 16 кбит/с с 5% смоделированных потерь пакетов: MOS-LQO 3,1

Как это читать? Начните со шкалы: разница MOS около 0,2 – примерно наименьший разрыв, надёжно различимый слушателями, так что разница между 4,3 и 3,8 (разрыв 0,5) реальна и слышима – вдвое урезанный битрейт стоил вам половины балла. Падение с 3,8 до 3,1 при потере пакетов (разрыв 0,7) ещё больше – это говорит, что ваш рычаг качества здесь – сокрытие потерь пакетов, а не битрейт; стоит прочитать наш материал про сокрытие потерь пакетов (PLC).

Теперь арифметика, удерживающая вас честным. Оценка одного клипа шумна, поэтому никогда не решайте по одному числу. Скажем, вы прогнали тест на 40 клипах, и Конфиг B даёт в среднем 3,80 со стандартным отклонением 0,40 по клипам. Стандартная ошибка среднего – это стандартное отклонение, делённое на корень из числа выборок:

стандартная ошибка = 0,40 ÷ √40 стандартная ошибка = 0,40 ÷ 6,32 стандартная ошибка = 0,063

То есть среднее Конфига B – 3,80 ± примерно 0,13 при доверии около 95% (две стандартные ошибки). Конфиг A на 4,30 лежит далеко за этой полосой, так что можно доверять, что A действительно лучше B. Если бы две конфигурации были 3,80 и 3,85, разрыв 0,05 оказался бы внутри шума, и вы не доказали бы ничего. Метрика даёт число; статистика говорит, значит ли это число что-нибудь. Усредняйте, считайте ошибку и верьте только разницам, превышающим её.

Таблица сравнения

Таблица ниже – сводка на один экран. Подсвеченный столбец отмечает метрику, к которой мы чаще всего тянемся первой в общем видеопродуктовом пайплайне, несущем и речь, и музыку.

КритерийPESQ (P.862)POLQA (P.863)ViSQOL v3PEAQ (BS.1387)
Орган стандартизацииITU-TITU-TGoogle (открыто)ITU-R
Статус в 2026Отозван 2018, удалён 01.2024АктуаленАктивно поддерживаетсяАктуален (ред. 2023)
Тип эталонаПолноэталоннаяПолноэталоннаяПолноэталоннаяПолноэталонная
Для чегоРечь / телефонияРечь / телефонияРечь и музыкаМузыкальные кодеки
Диапазон частотNB–WB (≤7 кГц)NB–полнополосный (≤20 кГц)Речь WB / аудио 48 кГцПолнополосный
ВыходMOS-LQO 1–5MOS-LQO 1–5MOS-LQO 1–5ODG от 0 до −4
Устойчивость к time-warpНетДаДаН/п
СтоимостьБесплатноПо лицензии (OPTICOM)Бесплатно (Apache 2.0)Стандарт; реализации разные
Готовность для CIДа (обёртки Python)Нужна лицензияДа (C++/Python)Возможна

Как использовать метрику в CI, не обманывая себя

Смысл объективной метрики – автоматически ловить регрессию. Вот дисциплина, делающая её надёжной, по порядку.

Первое: выберите метрику под ваш контент. Чисто речевой продукт (звонки, телемедицина): POLQA, если можете лицензировать, иначе речевой режим ViSQOL. Музыка или смешанный контент (стриминг): аудиорежим ViSQOL или PEAQ. Узкополосной речевой метрикой оценивать музыку – категориальная ошибка, дающая уверенную чепуху; а если вы вообще сравниваете кодеки, начать стоит с нашей таблицы сравнения аудиокодеков 2026.

Второе: зафиксируйте тестовый набор, который модель никогда не видит. Соберите 30–50 эталонных клипов, представляющих ваш реальный контент – разные дикторы, языки, музыкальные жанры, уровни фонового шума. Прогоняйте каждую сборку-кандидата через пайплайн, оценивайте каждый клип против эталона и храните оценки по клипам, а не только среднее.

Третье: выберите порог из статистики, а не на глаз. Считайте среднее и стандартную ошибку как в примере выше. Настройте CI-гейт падать только когда среднее новой сборки опускается ниже среднего старой больше чем на суммарную ошибку – то есть только на разницах, которые метрика реально способна различить. Гейт, срабатывающий на колебании 0,03, заглушат через неделю, и он хуже отсутствия гейта.

Четвёртое: никогда не обучайте на метрике. Это ловушка Гудхарта из предупреждения про PESQ, и она применима к каждой метрике здесь. Как только ваша функция потерь – это оценка качества, модель учится обманывать оценку. Обучайте на реальных целях; измеряйте метрикой.

Пятое: подкрепляйте метрику периодическим слуховым тестом. Объективные метрики уходят от человеческого мнения именно тогда, когда ваш пайплайн делает нечто новое – новый нейрокодек, агрессивный денойзер. Запускайте небольшой краудсорсинговый тест по P.808 (разобран в сопутствующем материале про субъективное тестирование – MUSHRA, MOS, A/B, ABX) несколько раз в год, чтобы подтвердить, что метрика всё ещё отслеживает реальность для вашего контента. При расхождении метрики и людей правы люди.

Сдвиг 2026 года: метрики без эталона на машинном обучении

Всё выше – полноэталонное: нужен чистый оригинал. В лаборатории это нормально, а на живом звонке бесполезно, потому что чистого оригинала на стороне слушателя никогда не было. Быстро растущая часть поля в 2026 году – метрики без эталона на глубоком обучении, оценивающие один клип вообще без оригинала.

Две стоит знать по имени. DNSMOS P.835 от Microsoft строилась для оценки шумоподавителей и выдаёт три отдельные оценки – SIG (насколько чисто звучит сама речь), BAK (насколько хорошо убран фоновый шум) и OVRL (общее), – что куда диагностичнее одного числа, потому что говорит, не повредил ли ваш денойзер голос, убивая шум. NISQA – открытая модель глубокого обучения, предсказывающая общее качество речи плюс четыре измерения – шумность, окраску, прерывистость и громкость, – так что низкая оценка приходит с подсказкой почему. Обе обучены на больших краудсорсинговых наборах, оценённых по ITU-T P.808, и обе работают на одном клипе без эталона – это и делает их пригодными для мониторинга реального продакшен-трафика.

Траектория ясна: полноэталонные метрики вроде ViSQOL и POLQA остаются в пайплайне сборки, где есть источник, тогда как обученные метрики без эталона всё чаще наблюдают живые системы. Глубже о волне обученных моделей – в ИИ в аудио для видео и нейросетевых аудиокодеках.

Где здесь Фора Софт

Мы строим видеоконференции, телемедицину, e-learning, OTT-стриминг и видеонаблюдение, и в каждом из них качество звука – то, что пользователь судит первым: клиницисту нужно чётко слышать пациента, студенту – каждое слово лекции. Мы используем объективные метрики так, как описывает эта статья: полноэталонные вроде ViSQOL в пайплайне сборки, чтобы ловить регрессии кодеков и пайплайна до релиза, оценки без эталона для наблюдения за качеством на живом трафике и периодические человеческие слуховые тесты, чтобы держать автоматические числа честными. Дисциплина важнее метрики: гейт качества надёжен ровно настолько, насколько надёжны статистика и человеческие проверки за ним.

Главное

  • Объективные метрики предсказывают Mean Opinion Score человеческой панели – быстро для автоматизации.
  • Полноэталонные (PESQ, POLQA, ViSQOL, PEAQ) требуют чистого оригинала; метрики без эталона судят один клип.
  • POLQA – официальная, лучшая замена PESQ, но PESQ держится, потому что бесплатна, а POLQA по лицензии.
  • ViSQOL – открытая бесплатная метрика и для речи, и для музыки; PEAQ оценивает музыкальные кодеки через ODG.
  • Никогда не обучайте модель на метрике – закон Гудхарта превращает меру в обманываемую цель.
  • Усредняйте по многим клипам и проверяйте статистику; верьте только разницам больше шума метрики.

Что почитать дальше

CTA

  • Поговорить с инженером по стримингу – о встраивании гейтов качества аудио в ваш пайплайн.
  • Посмотреть кейсы – реал-тайм и стриминговые продукты, которые мы выпускаем с 2005 года.
  • Скачать памятку по метрикам качества аудиоодностраничный лист выбора PESQ / POLQA / ViSQOL / PEAQ.

Строите такую систему?

Подберём параметры кодирования под ваш контент и посчитаем стоимость доставки до старта разработки.