27

Предположим, у меня есть один и тот же видео материал, закодированный в два (или более) файла. Я хотел бы запустить на них какую-нибудь утилиту, которая бы указала, какой файл является "лучшим" по качеству. "По существу" означает, что я хотел бы получить отчет, в котором сравниваются различные аспекты (например, разрешение видео, битрейт видео, частота дискретизации аудио, битрейт аудио и т.д. И т.д.), А затем некоторая интегральная оценка, которая учитывает все из них.

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

3 ответа3

78

Я занимаюсь исследованием качества видео, и мне сложно дать простой ответ на ваш вопрос. Вам нужна программа, которая дает вам средний балл мнения (MOS) видео, то есть число от 1 до 5 или от 0 до 100, что соответствует качеству, воспринимаемому человеком.

Почему вы не можете просто сравнить битрейт / разрешение / и т.д.

Просто сравнение разрешения видео ничего не скажет о качестве. На самом деле, это может вводить в заблуждение. Разрыв фильма с разрешением 1080p при размере 700 МБ может выглядеть хуже, чем разрыв с разрешением 720p при 700 МБ, поскольку для первого слишком низкая скорость передачи битов, что приводит к появлению всех видов артефактов сжатия.

То же самое касается сравнения битрейта при одинаковых размерах кадра, так как разные кодеры могут фактически обеспечить лучшее качество при меньшем битрейте, или наоборот. Например, разрыв в 720p на 700 МБ, созданный с XviD, будет выглядеть хуже, чем разрыв на 700 МБ, созданный с x264, потому что последний намного эффективнее.

Вам также нужно будет определить, как окончательная "интегральная оценка" (MOS) состоит из отдельных факторов качества. Это сильно зависит от нескольких вещей, включая, но не ограничиваясь:

  • тип видео, которое вы сравниваете (мультфильмы, фильмы, новости и т. д.)
  • их длина
  • их зрительская аудитория
  • их оригинальный размер кадра
  • их оригинальное "качество", прежде чем они были закодированы

Мы даже не говорим о том, как люди воспримут видео. Предположим, у вас есть друг, который смотрит фильмы, потому что он или она наслаждаются четкими деталями и высоким разрешением движения. Они были бы намного более критичны, когда видели низкокачественный рип, чем друг, который просто смотрит фильмы для своего контента. Они, вероятно, не будут заботиться о качестве так долго, пока фильм забавен или интересен.

Существуют различные типы показателей качества видео!

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

  • Метрики без ссылок - у них есть только одно видео на входе и выводит показатель качества. В вашем случае вы ищете показатель без ссылок, потому что у вас часто нет даже оригинального видео. Такая метрика будет занимать одно видео и выводить один показатель качества. Вот несколько примеров проблем, которые обнаружит метрика NR (например, размытие).

  • Полноценные метрики - у них есть два входа, один из которых является исходным входным видео, а другой - закодированным видео. Например, вы можете взять фильм на DVD, затем создать из него два фрагмента и использовать метрику с полным эталоном для оценки потери качества между исходным фильмом DVD (т.е. видео MPEG-2 на диске) и вашими фрагментами. Это займет много времени для вычисления, но это более точно.

Вышеуказанные метрики смотрят на качество кодирования видео, но есть также метрики, которые включают в себя такие проблемы, как время начальной загрузки и события останова при потоковой передаче видео (например, ITU-T P.1203).

Какое программное обеспечение я могу использовать?

Вот список готовых инструментов, которые вы можете использовать для проверки некоторых метрик (некоторые только для Windows):

Теперь, какие метрики есть?

PSNR, PSNR-HVS и PSNR-HVS-M

Для начала PSNR (пиковое отношение сигнал / шум) - очень простой в использовании, но несколько плохой метод оценки качества видео. Это работает относительно хорошо, хотя для большинства приложений, но это не дает хорошую оценку того, как люди будут воспринимать качество.

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

PSNR-HVS и PSNR-HVS-M являются расширениями PSNR, которые пытаются имитировать зрительное восприятие человека, поэтому они должны быть более точными. VQMT и MSU могут рассчитывать PSNR, PSNR-HVS и PSNR-HVS-M между двумя видео.

SSIM, MS-SSIM

Структурное сходство (SSIM) так же легко вычислить, как и PSNR, и оно обеспечивает более точные результаты, но пока по кадрам. Вы найдете некоторые реализации по ссылке в Википедии, или вы можете использовать VQMT или MSU. Эти инструменты также включают MS-SSIM, который дает лучшие (то есть, более репрезентативные) результаты, чем SSIM, а также некоторые другие производные.

Результаты должны быть похожи на PSNR. Опять же, вам нужно сравнить ссылку на обработанное видео, чтобы это работало, и оба видео должны быть одинакового размера.

VMAF

Многофункциональная оценка видео Fusion от Netflix - это набор инструментов для расчета качества видео на основе некоторых существующих метрик, которые затем объединяются методами машинного обучения в итоговую оценку от 0 до 100. Netflix объяснил все это здесь:

[VMAF] предсказывает субъективное качество путем объединения нескольких элементарных метрик качества. Основное обоснование заключается в том, что каждая элементарная метрика может иметь свои сильные и слабые стороны в отношении характеристик контента источника, типа артефактов и степени искажения. Путем «слияния» элементарных метрик в конечную метрику с использованием алгоритма машинного обучения - в нашем случае, регрессора машины опорных векторов (SVM), который присваивает веса каждой элементарной метрике, конечная метрика может сохранить все сильные стороны отдельных метрик. и поставьте более точный окончательный результат.

Вы также можете использовать ffmpeg для расчета баллов VMAF.

VQM

Метрика качества видео была проверена в Группе экспертов по качеству видео (VQEG) и является очень хорошим алгоритмом с полным эталоном. Вы можете скачать VQM бесплатно или использовать реализацию из МГУ.

При регистрации и загрузке вы хотите использовать общую модель NTIA или модель качества видео с переменной задержкой кадров.

Другие метрики

  • PEVQ - это стандартизированная метрика с полным эталоном согласно ITU-T J.246. Он нацелен на мультимедийные сигналы, но не на HD-видео.
  • VQuad-HD - это еще одна метрика с полным эталоном, стандартизованная как ITU-T J.341. Поскольку он более новый, он лучше подходит для HD-видео.

Оба они являются коммерческими решениями, и вы не найдете программное обеспечение для загрузки для них.

Существуют также некоторые стандарты МСЭ на нереферентные метрики, такие как МСЭ-Т P.1201 и МСЭ-Т P.1202, которые работают с параметрами из потока битов для потоковой передачи IPTV. МСЭ-T P.1203 может использоваться для случаев адаптивной потоковой передачи.


Резюме

Если вы просто хотите сравнить простые объективно измеримые критерии, такие как:

  • Размер рамки
  • Битрейт
  • Кадров в секунду
  • Разрешение видео

… Простой вызов ffmpeg -i должен дать вам все детали, которые вам нужны в самом начале. Также обратите внимание на опцию -vstats . Затем вы можете суммировать это в электронной таблице. Обратите внимание, что когда вы кодируете видео, например, x264 будет записывать такие вещи, как PSNR, прямо в файл, если вам нужно, чтобы вы могли использовать эти значения позже.

Что касается взвешивания этих критериев, вам, вероятно, следует подчеркнуть скорость передачи данных, но только если вы знаете, что кодек тот же. Можно сказать, что когда оба видео используют x264, лучше использовать видео с более высоким битрейтом. В более общем смысле, вам следует выбирать более низкое разрешение, когда у вас есть два видео с одинаковым битрейтом, поскольку ухудшение из-за масштабирования не так плохо, как ухудшение из-за низкого битрейта.

Сравнение разных кодеков в соответствии с их скоростью передачи невозможно, если вы не знаете больше о содержимом и индивидуальных настройках кодирования. Частота кадров тоже очень субъективная вещь и должна учитываться в ваших измерениях, если она значительно ниже 25 Гц.

Подводя итог, сильно подчеркните битрейт, если это единственное, что у вас есть. Не забудьте использовать свои глаза тоже :)

1

Я не знаю ни одного инструмента, который даст вам окончательную рекомендацию или оценку, но с помощью FFmpeg вы можете вывести все детали, которые вы указали в вопросе.

В командной строке ffmpeg -i отобразит информацию из видео. Оттуда вы можете написать скрипт, который будет анализировать информацию и оценивать ее по своему усмотрению.

-3

http://mediaarea.net/en/MediaInfo

Media Info предоставит вам подробную информацию о ваших видео и аудио файлах

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .