Короткое определение

Добавление контролируемого шума к сигналу низкой битовой глубины, чтобы видимое banding превратить в менее заметный шум. Применяется и при кодировании, и при декодировании.

Dithering – приём, при котором в сигнал добавляется крошечный контролируемый шум, маскирующий ограничения малой битовой глубины. Глаз раздражают видимые полосы ступенчатого цвета на плавных градиентах (`banding`), но удивительно терпим к мелкому случайному шуму – даже когда шум несёт меньше информации, чем полосы, которые он заменяет. Добавление шума правильного типа разбивает видимые полосы в гораздо более приятную текстуру, выглядящую как чуть зернистый градиент вместо очевидных ступенек.

Техника известна с 1970-х – её использовали для печати градаций серого на чёрно-белых принтерах, и она была рабочей лошадкой mastering цифрового аудио в эпоху CD. В современном видео dithering встречается в двух местах. Первое – в энкодере: современные видеоэнкодеры (x264, x265, SVT-AV1) могут применять dithering на этапе квантизации, обменивая крошечный прирост bitrate на заметно меньший banding на тёмных градиентах. Второе – в декодере/дисплее: когда 10-битный контент должен быть показан на 8-битном экране, плеер может dither'ить конвертацию, а не просто обрезать к ближайшему 8-битному значению – это драматически улучшает воспринимаемое качество HDR на простых экранах.

Для продуктовых команд dithering редко требует ручной настройки, но знать о нём полезно. Два практических признака, что он важен. Если ваши тёмные сцены выглядят как цветные топографические карты с видимыми «горизонталями» – спросите команду кодирования, включён ли dithering. Если ваш 10-bit HDR-контент выглядит «постеризованным» на устройствах части зрителей, то путь SDR-конвертации в плеере, скорее всего, dither'ит плохо или не делает этого вовсе. Лечится дёшево, видимый прирост качества большой.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.