В этой статье пойдет речь о таком параметре в OBS как Психовизуальная корректировка (Psycho Visual Tuning), используемом в кодировщике Nvenc.

Статья была создана для стримеров и пользователей, которые хотят более подробно разобраться в кодировщике Nvenс для получения наилучшего качества визуализации при трансляции и записи видео.

Психовизуальная корректировка (Psycho-visual Tuning) корректирует искажение скорости кодировщика и включает параметры кодировщика, которые оптимизируют использование битрейта для повышения визуального восприятия качества, выделяя больше битрейта при кодировании для более плоских и однородных областей.

То есть, по сути, это те области, где потенциально могут образовываться блочности.
Хочу отметить, что у термина нет чёткого определения от Nvidia, но работает он именно так.

Субъективное качество - наше всё!

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

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

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

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

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

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

Объективное качество

Если речь заходит об объективной оценке качества, например, при использовании метрики PSNR (пиковое отношение сигнала к шуму) или SSIM, то с выключенной психовизуальной корректировкой качество видео по показателям метрики может быть лучше, чем с включенной, но при визуальной оценке всё может быть совсем наоборот.

Влияние на производительность

Так же психовизуальная корректировка, как и любой другой режим адаптивного квантования, в кодировщике nvenc использует ресурсы CUDA ядер, которые в играх необходимы для работы с некоторыми режимами сглаживания, затенения, освещения, то есть занимаются определенными вычислениями. Так вот, если графический процессор при трансляции игры будет загружен до 100%, то это может негативно отразиться на стабильности и качестве трансляции, а также на производительности в игре. Обычно к этому больше уязвимы владельцы старых видеокарт, которые вынуждены работать на максимуме своих возможностей, особенно в современных играх.

Пару слов о x264

Что касается психовизуальной оптимизации при использовании энкодера x264, то функция включена по умолчанию для всех пресетов и регулируется такими переменными как psy= и psy_rd=, но изменять переменные лучше не стоит, если не знаете, как они работают.

Youtube | Twitch | ВКонтакте

Комментарии (2)


  1. Metotron0
    06.12.2021 11:48

    Для x264 ключи указаны, а для x265 какие они? И нужно ли в этом контексте отличать libx264 и h264_nvenc? hevc_nvenc тоже поддерживает этот параметр?


    1. Sandrix Автор
      08.12.2021 05:57

      для x265 ключи указаны на данном сайте (для ffmpeg). Для hevc_nvenc работает только пространственный и временной режим адаптивного квантования. Регулируется переменными spatial_aq= aq-strength= temporal_aq=

      Все переменные для hevc_nvenc на сайте.
      libx264, это софтверный энкодер. h264_nvenc, аппаратный.