Change Depth
Глубина каналов изображения · Change Depth [CD]
ChangeDepth [CD] меняет числовую глубину каналов 2D-изображения (Keep, int8, int16, float16, float32) и предлагает два способа dithering при уменьшении точности.
Один 2D image из MediaIn, Loader или предыдущей ноды (RGBA и тип канала — по источнику).
ChangeDepth
Обзор
Что делает ChangeDepth
ChangeDepth [CD] принимает 2D-изображение и передаёт его дальше с выбранным представлением каналов. На вкладке Controls ровно два основных выпадающих меню: Depth и Dither. Пять пунктов Depth и три режима Dither подтверждены сохранёнными скриншотами Inspector.
Depth = Keep не выполняет принудительного изменения разрядности входного потока. Это удобная контрольная точка для сравнения. Keep не означает автоматически float32 и не гарантирует, что все предыдущие узлы уже считали в максимальной точности.
int8 и int16 — целочисленные форматы, float16 и float32 — форматы с плавающей точкой. Важно различать глубину/диапазон значений и то, как данные потом кодирует формат файла. Выбор float16 не превращает 8-битный источник в источник с новыми деталями.
Если рано перевести градиент или HDR-значения в целочисленный формат, можно получить ступени, обрезку значений вне типового диапазона и ухудшение последующего Glow/ColorCorrector. Сохранение float-потока до завершения вычислений обычно безопаснее для сложного композитинга.
Dither используется главным образом при понижении точности: None не добавляет маскировку, Error Diffusion распределяет ошибку округления по соседним пикселям, Additive Noise добавляет шум, делающий регулярные ступени менее заметными. Оба подхода не восстанавливают потерянные значения и имеют собственную текстуру.
Проверять dithering нужно на плавной заливке, не только на контрастных объектах: включите Viewer на масштабе 100%, сравните локальные области на нескольких кадрах и оцените альфа-края. Видеокодек и монитор могут вносить собственные артефакты, поэтому следите за точкой, где они появляются.
Оранжевый Input принимает исходный image-поток, синий Effect Mask является необязательным ограничителем эффекта; Output остаётся одним 2D image. Маска не превращает ноду в обработчик двух изображений и не создаёт отдельную глубину хранения для каждой части кадра.
ChangeDepth не пересчитывает гамму/гамут, не подменяет Gamut/ColorSpace и не устанавливает битрейт или пиксельный формат MP4. Если конечный файл имеет полосы, проверьте сначала саму границу квантования и настройки вывода, а не ставьте ChangeDepth вслепую.
В руководствах Fusion Studio конверсия глубины может использоваться для экономии памяти; однако документация Resolve отдельно описывает 32-bit float обработку при рендере. Поэтому снижение до int8 нельзя обещать как универсальное ускорение именно в DaVinci Resolve: измеряйте в своей версии и конкретном графе.
В этом материале названия меню и варианты выбора подтверждены тремя оригинальными изображениями. Скриншотов раскрытой Settings, реальных значений портов Flow и pixel-by-pixel теста версии 21.1 нет: эти пункты требуют проверки в запущенном Resolve, а не выдумывания результата.
Когда применять
Контролируемо сравнить Keep, int8, int16, float16 и float32 на одном источнике с пологим градиентом.
Проверить, появляется ли banding именно при понижении глубины, а не на стадии кодирования видео.
Применить Error Diffusion или Additive Noise на технической границе с целочисленным форматом.
Оставить float-представление перед сильными цветокоррекциями, светящимися эффектами и композитингом.
Исследовать, что происходит с выходящими за SDR-диапазон значениями при переходе к int-форматам.
Проверить влияние маски на видимую область изменения, не путая маску с входным изображением.
Сопоставить глубину потока Fusion и фактические параметры Deliver/кодека без ложного равенства между ними.
ChangeDepth в контексте
Скриншоты из статьи. Откройте изображение, чтобы рассмотреть его крупнее.
Пример для ChangeDepth.
Оригинальное изображениеПример для ChangeDepth.
Оригинальное изображениеПример для ChangeDepth.
Оригинальное изображение