EV notes

Дизеринг тёмных участков шумом/зерном

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

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

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

Но что более важно, имеет смысл применить это зерно на тёмную область изображения в большей степени, чем на светлую.

Представим, что у нас есть битрейт 100 кб/с (100%). Для чёткого отображения только движущегося человека нам, допустим, требуется 50 кб/с. Остаются вторые 50 кб/с на кодирование всего остального фона за ним. Так как градиенты тёмных участков для нас более важны (из-за особенностей восприятия упомянутых выше), имеет смысл отдать им больший приоритет, поэтому стоит разделить этот битрейт не равномерно 25 на 25, а например 35 отдать тёмным участкам, а 15 светлым. А сделать это можно с помощью шума/зерна, с альфаканалом по люме.
Предыдущий пост
Фальшивая архитектура
Следующий пост
Прикармливание птиц