Содержание статьи +
- Кратко
- Почему это важно
- Одна идея за каждой ошибкой
- Ошибка 1 – Слишком мало испытуемых
- Ошибка 2 – Нет стабилизации, нет якорей
- Ошибка 3 – Наводящие или непоследовательные инструкции
- Ошибка 4 – Сессии длиной до усталости
- Ошибка 5 – Смещённый или несвежий набор контента
- Ошибка 6 – Нет рандомизации: порядок и контекст смещают оценки
- Ошибка 7 – Пропущенный скрининг или неверно применённая отбраковка наблюдателей
- Ошибка 8 – Чтение MOS как абсолютного числа
- Галерея сбоев в одной таблице
- Где здесь Фора Софт
- Ключевые выводы
- Что почитать дальше
Кратко
Субъективный тест – исследование, где люди оценивают качество видео, а вы усредняете их мнения в число, – это эталонная истина, против которой валидируется каждая объективная метрика; значит, ошибочный тест тихо портит всё, что ниже по течению ему доверяет. Сбои предсказуемы и группируются в восьми местах: слишком мало испытуемых, нет стабилизации и якорей шкалы, наводящие инструкции, сессии длиной до усталости, узкий или несвежий набор контента, нет рандомизации против эффектов порядка и контекста, пропущенный или неверно применённый скрининг наблюдателей и чтение получившегося Mean Opinion Score (MOS) как абсолютного числа. У каждой ошибки есть именованное исправление в ITU-T P.910 (10/2023) или ITU-R BT.500-15 (05/2023), и каждая, если её оставить, может перевернуть результат или спрятать реальную разницу в шуме. Эта статья – галерея сбоев (ошибка, почему она портит число, исправление и нарушенный стандарт), и к ней прилагается pre-flight аудитор, проверяющий дизайн теста по этим порогам до запуска.
Почему это важно
Вы запускаете субъективный тест, когда нужен реальный ответ – действительно ли этот энкод выглядит лучше для людей – а не догадка метрики. Этот ответ становится эталоном, против которого настраиваются и которому доверяют ваши числа VMAF или SSIM, поэтому если тест неверен, метрика наследует ошибку, как и каждое решение по кодированию после неё. Беда в том, что сломанный субъективный тест не сигналит о себе: он возвращает чистую на вид таблицу MOS с аккуратными средними, и только внимательный читатель видит, что средние ничего не значат. Статья – для инженера стриминга, кодирования или QA, кто вот-вот запустит исследование качества (в лаборатории или на крауд-платформе) и хочет избежать ошибок, которые десятилетиями тихо губили субъективные тесты. Это завершающая «галерея сбоев» блока субъективного тестирования: аргумент об эталоне истины, шкалы, методологии, дизайн, проведение и статистика дают правильный путь; эта статья собирает неправильные, чтобы вы узнавали их с первого взгляда.
Одна идея за каждой ошибкой
Перед галереей – единственный принцип, который её связывает. Субъективный тест существует, чтобы изолировать одну переменную – видео – так, чтобы любая разница в оценках могла прийти только от видео. Каждая ошибка ниже – это утечка: какая-то другая переменная (панель, шкала, порядок, комната, анализ) проникает в оценку, и вы больше не можете сказать, сколько числа – это видео, а сколько – утечка. Исправления – не бюрократическая галочка. Каждое затыкает конкретную утечку, которую органы стандартизации нашли трудным путём, в провалившихся тестах. ITU-T P.910 говорит это прямо: его правила выбора сцен «представляют годы опыта и уроки, извлечённые из субъективных тестов, которые провалились» (P.910 10/2023, п. 7.2.1). Читайте галерею как этот накопленный опыт, упорядоченный.
Ошибка 1 – Слишком мало испытуемых
Самая частая ошибка ещё и самая дорогая, если её игнорировать: запуск теста на горстке людей, потому что набор идёт медленно. Субъективный тест оценивает среднее мнение популяции по выборке, и, как любая выборочная оценка, несёт погрешность – 95% доверительный интервал (ДИ), полосу вокруг вашего MOS, внутри которой правдоподобно лежит истинное среднее. Чем меньше испытуемых, тем шире полоса, а широкая полоса проглатывает те самые различия, которые вы пытаетесь обнаружить.
ITU-T P.910 ставит жёсткие пороги под размер выборки. После скрининга каждый стимул должен быть оценён минимум 24 субъектами в контролируемой среде и минимум 35 в неконтролируемой (P.910 10/2023, п. 10.1). Число 15, которое старые рекомендации и фольклор всё ещё считают «достаточным», теперь явно объявлено числом пилотного исследования – для «выявления тренда или проверки модифицированных протоколов», с чёткой пометкой «пилот», а не результат (п. 10.1). Если в вашей панели меньше 24, у вас не результат, а пилот.
Цена занижения не абстрактна. P.910 приводит наименьшую разницу средних, которую стандартный метод ACR может надёжно различить – обозначим ΔSCI, доверительный интервал разницы MOS – при разных размерах панели: примерно 0.5 при 24 субъектах, 0.7 при 15, 1.1 при 9 и 1.5 при 6 субъектах (п. 8.1.1, со ссылкой на Pinson 2020). Разберём пример. Пусть ваша новая лестница энкодера набирает MOS 3.9, а старая – 3.4: реальный, значимый разрыв 0.5 на пятибалльной шкале. Прогоните его через 8 субъектов – и ваша различимая разница около 1.1; ваш разрыв 0.5 меньше половины вашего порога шума, так что тест не различит две лестницы, хотя разница реальна. Прогоните то же сравнение через 24 субъекта – и различимая разница падает примерно до 0.5, теперь разрыв ровно на грани обнаружимости, а 30+ субъектов уверенно его достанут.
Различимая разница MOS (ΔSCI) от размера панели — ITU-T P.910, п. 8.1.1
6 субъектов → ~1.5 ваш разрыв 0.5 невидим (разрыв ≪ шум)
9 субъектов → ~1.1 всё ещё невидим
15 субъектов → ~0.7 на грани; разрыв < шум
24 субъекта → ~0.5 едва различим (порог контрол. среды P.910)
35 субъектов → < 0.5 уверенно различим (порог неконтрол. среды)Исправление: набирайте до порога, не ниже – минимум 24 валидных (после скрининга) субъекта для лабораторного теста, минимум 35 для неконтролируемого или крауд-теста и больше, когда вы режете данные по демографии или среде. Нарушенный стандарт: ITU-T P.910 (10/2023) пп. 10.1 и 8.1.1; ITU-R BT.500-15 (05/2023) п. 2.5.1 («минимум 15 наблюдателей… менее 15… должно помечаться как „неформальное“»). Полный разбор мощности и размера выборки – в статье о статистике.
Ошибка 2 – Нет стабилизации, нет якорей
Бросьте свежего зрителя прямо в первую реальную пробу – и первые несколько оценок ненадёжны. Людям нужно несколько клипов, чтобы откалибровать своё личное использование шкалы – увидеть примерно, насколько плохим бывает «плохо» и насколько хорошим «хорошо» именно в этом тесте, – прежде чем их оценки стабилизируются. Пропустите это – и ранние оценки блуждают, таская среднее за собой.
BT.500-15 встраивает исправление в структуру сессии. Около пяти «dummy-презентаций» ставятся в начале первой сессии, чтобы стабилизировать мнение наблюдателей, и их данные отбрасываются («не должны учитываться в результатах теста»); около трёх dummy открывают каждую последующую сессию (BT.500-15, п. 2.6). Отдельно тест должен ещё и заякорить шкалу к её диапазону. Поскольку большинство методов оценки «чувствительны к вариациям диапазона и распределения увиденных условий», сессия должна включать полный диапазон условий – или приближать его, включая крайние примеры, либо помеченные как крайние (прямое якорение), либо рассеянные по сессии без пометки (косвенное якорение) (п. 2.4). Без якорей две панели, видевшие разные диапазоны качества, будут использовать шкалу по-разному, и их оценки не будут сравнимы.
Исправление: открывайте каждую сессию стабилизирующими клипами, которые выбрасываете, и засевайте набор условий высоко- и низкокачественными якорями, чтобы шкала была пришпилена к известному диапазону. Нарушенный стандарт: ITU-R BT.500-15 (05/2023) пп. 2.6 (стабилизация) и 2.4 (диапазон и якорение).
Ошибка 3 – Наводящие или непоследовательные инструкции
То, что вы говорите субъектам перед оценкой, становится частью измерения. Скажите «следите за блочностью по краям» – и люди будут охотиться за блочностью и переоценивать её; ответьте на вопрос одного субъекта посреди сессии подсказкой – и этот субъект теперь проводит другой эксперимент, чем остальные. Инструкции, которые подталкивают оценку или различаются между людьми, впрыскивают ожидание экспериментатора прямо в число.
Стандарты трактуют инструкции как контролируемую часть протокола, а не импровизацию. ITU-T P.910 посвящает инструкциям и обучению отдельный пункт (P.910 10/2023, п. 12.5, с образцом формулировок в Приложении II), и принцип, проходящий через редакции, явен: «не должно подразумеваться, что худшее качество в обучающем наборе обязательно соответствует низшей субъективной оценке шкалы», а вопросы о процедуре «следует отвечать с осторожностью, чтобы избежать смещения, и только до начала сессии» (давняя инструктивная формулировка P.910). BT.500-15 добавляет, что обучающие последовательности должны демонстрировать диапазон и тип искажений на материале «отличном от используемого в тесте, но сопоставимой чувствительности» (BT.500-15, п. 2.5.3) – то есть обучение настраивает шкалу, а не конкретные клипы.
Исправление: напишите инструкцию один раз, нейтральным языком, дайте каждому субъекту ровно один и тот же сценарий (лучше письменно), демонстрируйте шкалу на не-тестовых клипах и отвечайте на уточняющие вопросы только до начала сессии. Нарушенный стандарт: ITU-T P.910 (10/2023) п. 12.5 и Приложение II; ITU-R BT.500-15 (05/2023) п. 2.5.3.
Ошибка 4 – Сессии длиной до усталости
Усталый или скучающий зритель – шумный прибор. Прогоните панель через два часа клипов, и поздние оценки поплывут, скучатся к середине шкалы и перестанут отслеживать видео. Хуже того, длинные отдельные клипы напрашиваются на собственное смещение: когда стимул долог, зрители помнят начало и конец сильнее середины – эффекты первичности и недавности (primacy/recency) – и оценивают весь клип по этим фрагментам.
P.910 ставит пределы и на сессию, и на клип. Участие каждого субъекта предпочтительно ограничить 1.5 часами, из которых не более 1.0 часа уходит на оценку стимулов, с частыми перерывами для чего-то более длинного (P.910 10/2023, п. 11.1). BT.500-15 жёстче по одному заходу: «сессия не должна длиться более получаса» (BT.500-15, п. 2.6). По длине клипа P.910 предполагает стимулы от 4 до 20 секунд и предпочитает от 10 секунд до 1 минуты именно потому, что «ограничение длительности теста также уменьшает усталость субъектов», и предупреждает, что при большей длительности «зрителю становится трудно учесть все вариации качества и оценить правильно» (п. 7.6). Подробная структура сессий и перерывов – в п. 12.6.
Исправление: ограничьте одну сессию примерно 30 минутами, общее время оценки субъекта – примерно часом, заложите перерывы и держите отдельные стимулы короткими (10–30 секунд типично). Если дизайну нужно больше оценок, разбейте его по сессиям или субъектам – не растягивайте заход. Нарушенный стандарт: ITU-T P.910 (10/2023) пп. 11.1, 7.6 и 12.6; ITU-R BT.500-15 (05/2023) п. 2.6.
Ошибка 5 – Смещённый или несвежий набор контента
Субъективный тест настолько репрезентативен, насколько репрезентативны его клипы. Возьмите шесть лёгких для кодирования сцен «говорящая голова» – и каждый кодек будет выглядеть отлично; возьмите шесть высокодинамичных спортивных клипов – и каждый кодек будет выглядеть плохо; и в обоих случаях результат говорит о вашем выборе сцен, а не о кодеках. Переиспользование одних и тех же любимых клипов в каждом тесте усугубляет проблему: энкодеры и метрики тихо переобучаются под них, и тест перестаёт обобщать.
P.910 здесь необычно прям, потому что выбор сцен – это место, где тесты проваливаются. Тестовые сцены должны выбираться так, чтобы их пространственная информация (SI) – мера пространственной детализации – и временная информация (TI) – мера движения соответствовали целевому сервису, и «набор тестовых сцен должен охватывать полный диапазон SI и TI, представляющий интерес» (P.910 10/2023, п. 7.8). Должно использоваться минимум четыре разных типа сцен (п. 7.8), четырёх-шести сцен обычно достаточно, «если соблюдено разнообразие контента» (п. 7.7), а новые источники следует вводить каждый раз, чтобы избежать переобучения на одном материале (п. 7.2.7). Принципиально: любое отклонение от советов по выбору сцен «должно описывать в отчёте вопросы, где выбор видеосцен отклонился от или противоречил данному здесь совету» (п. 7.2.1) – стандарт делает смещённый контент раскрываемым дефектом, а не молчаливым.
Исправление: выберите горстку сцен, охватывающих полный диапазон пространственной детализации и движения, который реально доставляет ваш сервис, покройте минимум четыре типа контента и вводите свежие источники, а не переиспользуйте одни и те же клипы. Нарушенный стандарт: ITU-T P.910 (10/2023) пп. 7.8, 7.7, 7.2.7 и 7.2.1.
Ошибка 6 – Нет рандомизации: порядок и контекст смещают оценки
Порядок, в котором появляются клипы, меняет то, как их оценивают. Покажите сильно искажённый клип сразу после череды безупречных – и зрители оценят его ниже, чем оценили бы иначе; тот же клип после череды ужасных оценят выше. Это контекстный эффект, и это реальное, измеренное смещение, а не ошибка округления.
BT.500-15 называет его точно: «Контекстные эффекты возникают, когда субъективная оценка изображения зависит от порядка и тяжести предъявленных искажений» (BT.500-15, Annex 5). Защита стандарта – рандомизация плюс баланс: «следует использовать случайный порядок предъявлений (например, на основе греко-латинских квадратов)», устроенный так, чтобы усталость и адаптация «балансировались от сессии к сессии» (п. 2.6). Важны ещё два правила – никогда не предъявлять один и тот же контент подряд и никогда не фиксировать эталон всегда-первым в парном методе, потому что фиксированный порядок встраивает известное смещение (P.910 10/2023, пп. 12.7.4 и 8.3). Исследование BT.500 также нашло, что контекстный эффект зависит от метода: он был сильнейшим для варианта метода с двойным стимулом и шкалой искажений и практически отсутствовал для метода с двойным стимулом и непрерывной шкалой качества (DSCQS) (Annex 5) – так что выбор метода сам по себе часть защиты.
Исправление: рандомизируйте порядок предъявления для каждого субъекта (свой случайный плейлист), балансируйте порядок условий по сессиям, никогда не показывайте один источник подряд и рандомизируйте, какой член пары идёт первым. Нарушенный стандарт: ITU-R BT.500-15 (05/2023) п. 2.6 и Annex 5; ITU-T P.910 (10/2023) пп. 12.7.4 и 8.3.
Ошибка 7 – Пропущенный скрининг или неверно применённая отбраковка наблюдателей
Здесь живут две противоположные ошибки. Первая – позволять оценивать любому без проверки, что он может видеть тест: зритель с некорректированным слабым зрением или дальтонизмом измеряет нечто иное, чем ваше искажение. BT.500-15 требует, чтобы «до сессии наблюдатели проходили скрининг на (коррегированную до) нормальную остроту зрения по таблице Снеллена или Ландольта и на нормальное цветовое зрение по специально подобранным таблицам (например, Ишихара)» (BT.500-15, п. 2.5.2).
Вторая, тоньше, – злоупотребление послетестовой процедурой отбраковки. После теста вы можете удалить субъектов, чьи оценки статистически несогласованы с панелью, – но у отбраковки BT.500 на основе эксцесса есть жёсткие пределы, вписанные в неё: её «не следует применять к результатам данного эксперимента более одного раза», а «использование процедуры должно ограничиваться случаями с относительно небольшим числом наблюдателей (например, менее 20), все из которых неэксперты» (BT.500-15, п. A1-2.3.1). Прогоните её дважды, чтобы «почистить» данные, или примените к крауд-панели из 60 человек – и вы уже не отсеиваете выбросы, а лепите результат под желаемый ответ. Для бо́льших или крауд-панелей правильные инструменты – корреляционный скрининг и «мягкая» (soft) отбраковка на основе модели смещения и согласованности, которые описывает BT.500 (пп. A1-2.3.3 и A1-2.4).
«Частая ошибка – отбраковывать субъектов, пока данные не станут хорошими. Отбраковка по эксцессу в BT.500-15 – это одноразовый скрининг для малых неэкспертных панелей (менее ~20), а не ручка, которую крутят, пока не сожмётся доверительный интервал. Повторное применение или применение к большой/крауд-панели фабрикует результат. Используйте корреляционный или мягкий (смещение/согласованность) скрининг для больших панелей, применяйте любой жёсткий скрининг ровно один раз и сообщайте исходные и скорректированные средние рядом (BT.500-15 пп. A1-2.3.1, A1-2.4, 2.7).»
Исправление: скриньте остроту и цветовое зрение до сессии; после неё применяйте единое, заранее объявленное правило отбраковки, подходящее размеру панели, и сообщайте оценки до и после отбраковки. Нарушенный стандарт: ITU-R BT.500-15 (05/2023) пп. 2.5.2 и A1-2.3.1; статья о проведении теста подробно разбирает скрининг, а крауд-специфичная версия (gold-standard и trapping пробы) – в статье о краудсорсинге.
Ошибка 8 – Чтение MOS как абсолютного числа
Последняя ошибка переживает даже идеально проведённый тест: трактовка Mean Opinion Score как абсолютной, переносимой величины. MOS 4.1 из вашей лаборатории не взаимозаменяем с MOS 4.1 из другой лаборатории, другой панели или даже вашего же прогона с другим диапазоном условий. Оценка – это позиция на шкале, которую задали собственный диапазон теста и его популяция; сдвиньте диапазон – и число сдвинется с ним.
BT.500-15 формулирует ограничение прямо: «поскольку они меняются с диапазоном, неуместно интерпретировать суждения большинства методов оценки в абсолютных терминах» (BT.500-15, п. 2.7). Есть и измеренный эффект границ шкалы: зрители избегают крайних концов шкалы, так что «идеальный» клип редко в среднем даёт чистую 5 (п. A1-3.3). Практическое следствие: сравнения MOS валидны внутри одного теста – та же панель, шкала, диапазон, сессия – и становятся ненадёжными в момент, когда вы переносите число в другой тест. И оценка бессмысленна без её погрешности: BT.500 требует, чтобы «для каждого тестового параметра приводились среднее и 95% доверительный интервал» (п. 2.7), вместе с конфигурацией теста, материалами, маркой и моделью дисплея и числом и типом наблюдателей. Голая таблица MOS без доверительных интервалов и без метода – не отчётный результат.
Исправление: сравнивайте условия внутри одного теста, никогда сырой MOS между тестами или лабораториями; всегда сообщайте 95% доверительный интервал и полные метод и происхождение; перезаякоривайте каждую сессию, а не предполагайте, что шкала перенеслась. Нарушенный стандарт: ITU-R BT.500-15 (05/2023) пп. 2.7 и A1-3.3; требования к отчётности – в ITU-T P.910 (10/2023) п. 14.
«Частая ошибка – сравнение между сессиями без перезаякоривания. Шкала каждой сессии заново устанавливается её стабилизирующими клипами и якорями; оценки не переносятся автоматически с одной сессии или панели на другую. Перезаякоривайте каждую сессию (~3 открывающих dummy на поздних сессиях), повторяйте несколько общих условий по сессиям для проверки согласованности и сравнивайте различия внутри теста – а не абсолютные числа между тестами (BT.500-15 пп. 2.6, 2.7).»
Галерея сбоев в одной таблице
| № | Ошибка | Почему портит оценку | Исправление | Нарушенный стандарт |
|---|---|---|---|---|
| 1 | Слишком мало испытуемых | Широкий ДИ проглатывает реальные различия | ≥24 валидных (контрол.), ≥35 (неконтрол.); 15 = только пилот | P.910 §10.1, §8.1.1; BT.500-15 §2.5.1 |
| 2 | Нет стабилизации / якорей | Ранние оценки плывут; шкала не пришпилена к диапазону | ~5 отбрасываемых dummy на сессию; распределить высокие/низкие якоря | BT.500-15 §2.6, §2.4 |
| 3 | Наводящие / непоследовательные инструкции | Ожидание экспериментатора впрыснуто в оценки | Один нейтральный письменный сценарий; демо на не-тестовых клипах; вопросы только до | P.910 §12.5; BT.500-15 §2.5.3 |
| 4 | Сессии до усталости | Поздние оценки шумят; длинные клипы дают primacy/recency | ≤30 мин/сессия, ≤1 ч оценки; клипы 10–30 с | P.910 §11.1, §7.6, §12.6; BT.500-15 §2.6 |
| 5 | Смещённый / несвежий контент | Результат отражает выбор сцен, а не систему | Охватить весь SI/TI; ≥4 типа контента; вводить свежие источники | P.910 §7.8, §7.7, §7.2.7, §7.2.1 |
| 6 | Нет рандомизации | Порядок и контекст смещают оценки | Рандомизировать у каждого субъекта; баланс; не один источник подряд | BT.500-15 §2.6, Annex 5; P.910 §12.7.4 |
| 7 | Пропущенный / неверный скрининг | Негодные зрители или отбраковка лепит данные | Снеллен/Ишихара до; одноразовая отбраковка под размер панели | BT.500-15 §2.5.2, §A1-2.3.1 |
| 8 | MOS как абсолют | Оценки относительны к диапазону и панели, непереносимы | Сравнивать внутри теста; всегда 95% ДИ + происхождение | BT.500-15 §2.7, §A1-3.3; P.910 §14 |
Где здесь Фора Софт
Фора Софт строит видеософт с 2005 года – стриминг, WebRTC-конференции, OTT, e-learning, телемедицина и видеонаблюдение – и когда решение по качеству действительно зависит от человеческого мнения, мы проводим субъективный тест так тщательно, как требуют стандарты, а не импровизируем. Это значит: размерить панель до порога P.910 ещё до старта, стабилизировать и заякорить каждую сессию, рандомизировать у каждого зрителя, скринить наблюдателей и сообщать каждый MOS с его доверительным интервалом и полным происхождением – та же дисциплина, что в нашей методологии бенчмарков. Выигрыш – результат, по которому клиент может действовать, а рецензент может доверять: число, измеряющее видео и ничего больше. Когда разница слишком мала или слишком зависит от дисплея для быстрого теста, мы так и говорим и заказываем контролируемую версию, а не делаем вид, что шумная панель всё решила.
Ключевые выводы
- Ошибочный субъективный тест портит каждую метрику и решение, доверяющие его оценкам, – сбои предсказуемы.
- Слишком мало испытуемых – самая дорогая ошибка: ниже 24 (лаборатория) или 35 (крауд) реальные различия прячутся в шуме.
- Стабилизируйте и якорите каждую сессию; первые несколько оценок – это калибровка, их следует отбросить.
- Держите инструкции нейтральными и одинаковыми, сессии короткими, а контент – охватывающим весь диапазон SI/TI.
- Рандомизируйте порядок у каждого субъекта против контекстных эффектов; скриньте наблюдателей и отбраковывайте выбросы один раз, а не многократно.
- MOS относителен – сравнивайте внутри теста, всегда с 95% доверительным интервалом, никогда как абсолют между лабораториями.