КАРТА ЗНАНИЙ · ПРЕОБРАЗОВАНИЯ И РАЗЛИЧИЯ
Не магический look. Таблица с условиями.
Сравните функцию с её табличным приближением. Меняйте сетку, интерполяцию и диапазон — и проверяйте, где возникает ошибка.
Читайте числа. Замечайте допущения. Затем переносите принцип на свой материал.
Функция. Её приближение.
Цель: функция кодирования sRGB. Nearest — намеренно грубое сравнение; в таблице хранятся значения с плавающей точкой, не 8-битные коды.
Что именно рассчитывается?
1D: сохранить f в узлах, найти интервал и интерполировать. 3D: заполнить трёхмерную сетку и восстановить значение внутри ячейки. При изменении настроек действительно перестраивается или опрашивается таблица. Загрузка и чтение LUT-файлов здесь не реализованы.
s(x) = x²(3 − 2x)
R′ = .86s(r) + .10s(g) + .04s(b) + .06rg(1−b)
G′ = .04s(r) + .92s(g) + .04s(b)
B′ = .08s(g) + .92s(b)R′/G′/B′ здесь обозначают выход нашей функции, а не видеокодирование. Максимумы на тестовой сетке — диагностика этой сетки, не доказательство наибольшей возможной ошибки.
ИЛЛЮСТРАЦИЯ ТЕМЫГЛАВНОЕ БЕЗ ЛИШНИХ ТЕРМИНОВ
LUT: устройство, точность и ограничения
LUT хранит ответы для выбранных входных значений. Между ними приложение вычисляет результат по правилу интерполяции. Таблица может описывать и техническое преобразование, и стиль, но сама не знает, какое изображение вы ей передали.
- Разделять ошибку входа, сетки и ограничения диапазона.
- Понимать, что 1D LUT не может делать вместо 3D.
- Проверять экспортированную таблицу на независимых значениях.
Что хранится в LUT
Удобно начать с функции: на входе известное значение, на выходе — рассчитанный результат. Таблица сохраняет только выбранные пары. В 1D это отсчёты одной оси; в 3D — узлы объёма RGB. Для промежуточного входа результат не обязательно уже есть в файле: его восстанавливает алгоритм интерполяции.
Слово «LUT» описывает способ представления преобразования, а не его художественный смысл. Identity LUT ничего не меняет. Другая таблица кодирует определённую тональную кривую. Третья объединяет нормализацию камеры, контраст и насыщенность. Без описания входа и выхода одинаковый внешний формат ничего не говорит о назначении. Аналитическая операция иногда представляется точно, иногда лишь приближённо; степень ошибки нужно проверять.
Что это означает на практике
В опыте 1D опорой служит функция sRGB. Разница между сплошной кривой и отсчётами — ошибка таблицы, а не новый художественный стиль. Переключение на «ближайший отсчёт» намеренно показывает грубое восстановление.
Сначала договоритесь о входе и выходе
Перед применением запишите основные цвета, белую точку, кодирование и диапазон входа. Затем выясните то же для выхода. Название вроде «Cinematic 709» не отвечает, ожидает ли таблица LogC, S-Log, уже нормализованный Rec.709 или другое представление. Даже правильно экспонированный кадр в неподходящем кодировании поступает в неправильные ячейки.
Не ограничивайтесь моделью камеры: поколения кривых и наборы основных цветов различаются. Также важны место LUT в процессе, предварительный shaper и уже выполненный выходной рендеринг. Неправильный input не становится правильным после увеличения размера таблицы. Если документации нет, это неизвестное преобразование, а не универсальный пресет.
Что это означает на практике
В проекте DWG/Intermediate таблица, рассчитанная на конкретный камерный Log, требует осмысленного согласования входа. Не добавляйте преобразования вслепую: сначала проверьте, что проект уже делает вне нод клипа.
1D и три независимые кривые
В простом варианте одна функция применяется к каждому компоненту. В варианте 3×1D у R, G и B свои таблицы. Оба случая остаются поканальными: выход R зависит только от входного R. Это подходит для независимых тональных характеристик, но не заменяет произвольную операцию, связывающую каналы.
Например, если выходной красный должен изменяться в зависимости от зелёного, независимой красной кривой недостаточно. Матрица смешивания каналов и избирательная смена оттенка в общем случае требуют другой модели. Длина 1D-таблицы не исправляет это структурное ограничение. Очень длинная неподходящая модель остаётся неподходящей.
Что это означает на практике
Возьмите два RGB с одинаковым R, но разным G. Независимая 1D-кривая вернёт одинаковый выход R. Функция режима 3D содержит межканальные слагаемые и может вернуть разные результаты.
Размер куба: узлы, компоненты и разрядность
В равномерном 3D LUT каждая входная ось имеет N отсчётов. Всего получается N³ узлов, и в каждом хранится тройка выходных значений. Сетка 17³ содержит 4 913 троек, а 33³ — 35 937. Это не означает, что изображение ограничено семнадцатью уровнями: между узлами выполняется интерполяция.
Число узлов и точность записи их значений — разные параметры. Большая сетка с грубо округлёнными числами может вести себя иначе, чем меньшая с достаточной точностью. Сравнивайте также формат, порядок осей, входной домен и фактический алгоритм приложения. Порядок следования строк не следует угадывать по внешнему виду текстового файла.
Что это означает на практике
Показатель «узлов» лаборатории равен N³, а не размеру видеофайла. Изменение синего компонента показывает другой срез того же трёхмерного преобразования.
Что происходит между узлами
Линейная интерполяция 1D смешивает два соседних ответа. Trilinear последовательно интерполирует по трём осям и использует восемь углов ячейки. Tetrahedral выбирает один из тетраэдров внутри ячейки и использует четыре вершины. В обоих случаях важно одинаково обрабатывать границы и точные попадания в узлы.
Не выбирайте метод по обещанию «всегда лучше». Ошибка зависит от формы функции, сетки и тестовых значений. На одних преобразованиях два метода почти совпадут, на других разойдутся. Названия BEST и DEFAULT в API тоже не являются фиксированной математической спецификацией: для воспроизводимости указывайте метод явно.
Что это означает на практике
В режиме 3D переключите два алгоритма, не меняя функцию и сетку. Численная ошибка измерена в линейных выходных RGB. Карта разницы усилена ×20 только для просмотра; это не ΔE и не критерий приёмки.
Зачем нужен shaper
Равномерная сетка равномерна в выбранной координате, а не обязательно в свете или экспозиционных ступенях. Если линейный диапазон очень широк, малому участку теней может достаться слишком мало отсчётов. Shaper переводит значения в другую координату перед обращением к таблице и тем самым меняет распределение выборки.
Важно согласовать саму таблицу с этим преобразованием. Нельзя взять таблицу, построенную для линейного входа, произвольно поставить перед ней Log и ожидать тот же результат. При создании нужно сэмплировать целевую функцию через обратный shaper; при применении — использовать соответствующий прямой. Отрицательные значения и ноль требуют определённого правила, а не случайного логарифма.
Что это означает на практике
Наш shaper u = ln(1+x)/ln(1+D) работает для неотрицательного x. При D = 16 он сгущает узлы около нуля. Это собственный учебный вариант, не LogC, ACEScct или штатный shaper OpenColorIO.
Граница таблицы и потеря данных
Ограниченный диапазон таблицы требует решения для значений снаружи: ограничение, экстраполяция либо другое оговорённое поведение формата и приложения. В нашей лаборатории используется явное ограничение входа к границе. Оно не скрыто: рядом остаются исходное значение и флаг выхода за домен.
Если несколько различных входов превратились в один граничный ответ, увеличить сетку после этого недостаточно. Обратная таблица тоже не определит, какое из исходных значений было потеряно. Важно отличать ограничение входа LUT, значения его выхода и отдельное ограничение предпросмотра. Выход за 0…1 в математической цепочке не всегда означает ошибку, но требует понятного дальнейшего обращения.
Что это означает на практике
В опыте shaper установите вход 4 и домен 1. Значения 4 и 1 получают один табличный ответ. При смене сетки 17 → 65 потеря сохраняется; расширение домена до 16 решает другую задачу, чем увеличение числа узлов.
Точность: проверяйте не только серый градиент
Градиент хорошо обнаруживает разрывы и грубую интерполяцию, но проходит только по небольшой части RGB-объёма. Для 3D-преобразования нужны цветные переходы, насыщенные области, нейтрали и независимые точки внутри ячеек. Проверка только в узлах слишком благоприятна: правильно построенная таблица как раз там совпадает с исходной функцией.
Сравнивайте исходный процессор с экспортированной таблицей при одинаковом входе, методе чтения и положении в цепочке. Сначала проверьте float-результаты, потом конечную разрядность и отображение. Не пересоздавайте новый LUT из уже грубо табулированного без необходимости: накопленная ошибка не исчезает от нового имени файла. Средняя ошибка тоже не заменяет поиск худших участков.
Что это означает на практике
Лаборатория 1D проверяет 513 значений. В режиме 3D проверяется текущий срез 192×96. Максимум среза не назван максимумом всего куба: непроверенные координаты остаются непроверенными.
Техническое преобразование, look и вывод
Техническая таблица решает определённую задачу согласования представлений. Творческая задаёт желаемые отношения цвета и тона. Display LUT может включать часть либо всю подготовку для просмотра. Эти роли могут быть объединены в одной таблице, поэтому отключение LUT не всегда отключает только «стиль».
Не уменьшайте интенсивность неизвестного технического преобразования как обычного эффекта: смешение исходного и преобразованного изображения может соединить числа разных представлений. Сначала разделите технические операции и творческий этап. Уточните, есть ли в LUT выходное отображение и выполняется ли оно ещё раз системой управления цветом. Широкий рабочий процесс не гарантирует широкий диапазон каждой вставленной таблицы.
Что это означает на практике
Если при отключении «look» кадр возвращается в плоский Log, вероятно, таблица выполняет больше одной задачи. Не делайте из этого окончательный диагноз: проверьте документацию и порядок преобразований.
Какие операции не превращаются в обычный LUT
Обычная таблица RGB → RGB — поточечная функция: одинаковый входной RGB при тех же настройках даёт одинаковый выход независимо от координат и соседних пикселей. Она не знает, что это лицо, не отслеживает движение и не вычисляет маску по содержимому кадра. Размытие, шумоподавление и локальный контраст зависят от дополнительной информации.
Можно применить LUT через внешнюю маску, но маска от этого не окажется внутри таблицы. Подобным образом CLF способен передавать последовательность математических цветовых операторов; это не превращает его в контейнер произвольного монтажа. Проверьте состав операции перед запеканием, а затем то, что реально попало в экспорт.
Что это означает на практике
Нода с LUT и Power Window в Resolve — больше, чем LUT-файл. Передача одной таблицы не передаёт геометрию окна, трекинг или анимацию его положения.
Как проверить таблицу перед передачей
Зафиксируйте исходный процессор и тестовые данные. Экспортируйте таблицу, прочитайте её заново тем способом, который будет использовать получатель, и сравните результат без художественной подстройки. Начните с identity, чёрного, белого и нейтралей; затем переходите к цветным точкам и окрестностям границ.
В отчёте различайте ошибку преобразования, квантование файла и вывод дисплея. Численное совпадение при одной настройке не подтверждает все другие режимы. Если применяется ΔE, сначала приведите обе ветви к согласованному колориметрическому представлению. Простая разность RGB полезна для проверки реализации, но не является автоматически воспринимаемой разницей. В таблице с заведомо неверным входом нельзя лечить симптом подбором интерполяции.
Что это означает на практике
Экспортированный LUT даёт нулевую ошибку в 17³ узлах, но заметную между ними. Это повод проверить выборку и интерполяцию, а не объявлять исходную математическую функцию неправильной.
Что приложить к LUT и как поставить его в Resolve
Передавайте таблицу вместе с коротким паспортом: вход и выход, диапазон, shaper, метод интерполяции, версия, назначение, ограничения и ожидаемое место в цепочке. Добавьте контрольную плашку или кадр с известным состоянием до и после обработки. Имя файла не заменяет такую запись. Не путайте расширение .cube с гарантией одинакового чтения во всех программах.
В Resolve сначала определите представление на входе нужной ноды. Затем проверьте технические преобразования проекта и выхода. Поставьте LUT в отдельную понятную ноду, сравните с опорой и проиграйте весь план. Названия меню и поддержка форматов зависят от версии; этот материал объясняет порядок проверки, а не обещает одинаковые команды для всех установок. Не исправляйте ошибку просмотра изменением самой таблицы.
Что это означает на практике
Паспорт «вход: конкретный Log/gamut; выход: рабочее представление; output transform не включён» предотвращает другую ошибку, чем просто подпись «кинематографический LUT».
МОДЕЛЬ, КОТОРУЮ МОЖНО ПРОВЕРИТЬ
Меняется одна настройка — но какая задача?
Держите рядом смысл, расчёт и границу применимости.
ŷ = (1−t) · LUT[i] + t · LUT[i+1]
3D: N³ узлов × 3 компонентаФормула сверху — линейная интерполяция 1D. Trilinear и tetrahedral решают задачу внутри RGB-ячейки по-разному. Размер таблицы не задаёт сам по себе разрядность изображения или точность во всём объёме.
| Понятие | Что описывает | Какой вывод делать нельзя |
|---|---|---|
| 1D / 3×1D | Одна или три независимые функции компонент. | Не заменяет произвольное межканальное преобразование. |
| 3D LUT | Табулированная функция трёх входных компонент. | Не хранит пространственные маски и движение. |
| Shaper | Меняет координату выборки и плотность узлов. | Не подходит к чужой таблице без согласования. |
| Домен | Диапазон, для которого рассчитана таблица. | Увеличение N не расширяет его автоматически. |
| Интерполяция | Восстанавливает промежуточные значения. | Не исправляет неверно назначенный input. |
| ΔRGB | Численная разница в указанном представлении. | Не является ΔE или универсальным порогом качества. |
СДЕЛАТЬ. СРАВНИТЬ. ОБЪЯСНИТЬ.
Найдите три разные причины ошибки
Достаточно лаборатории. Для повторения в Resolve используйте копию проекта и документированный LUT; неизвестные таблицы не применяйте к единственному мастеру.
- 01
Сначала промежуточная точка
В 1D задайте вход 0,18 и 5 отсчётов. Сравните nearest и linear. Затем увеличьте сетку до 65.
ПРОВЕРКАОбъясните, почему проверка только в узлах скрыла бы эту ошибку.
- 02
Проверьте цветной объём
Откройте 3D, выберите 5³, меняйте B и оба метода. Сопоставьте срез и численную ошибку до экранного округления.
ПРОВЕРКАМаксимум текущего среза не выдаётся за максимум всего преобразования.
- 03
Отделите диапазон от плотности
В shaper задайте вход 4, домен 1. Увеличьте N. Затем расширьте домен до 16 и сравните uniform/log при входе 0,18.
ПРОВЕРКАУвеличение N не восстановило обрезанный вход; согласованный shaper изменил распределение отсчётов.
- 04
Составьте паспорт преобразования
Запишите вход, выход, домен, shaper, интерполяцию, версию и то, что не вошло в LUT. Приложите контрольный образец.
ПРОВЕРКАДругой человек может повторить цепочку, не угадывая её по картинке.
Проверьте понимание
ПРОВЕРЬТЕ СВОЁ ОБЪЯСНЕНИЕ
Ситуация, а не вопрос с подвохом.
Сначала сформулируйте ответ. Затем откройте разбор.
01Почему LUT 65³ не вернул детали, потерянные с 17³?+
Сначала проверьте домен и ограничение входа. Если разные значения уже сведены к одной границе, количество внутренних узлов не вернёт информацию. Также исключите неверное исходное кодирование.
02Нейтральный градиент совпал. Значит, LUT проверен?+
Нет: это только диагональ RGB-объёма. Проверьте независимые цветные значения внутри ячеек, насыщенные области и границы. Укажите, какие точки действительно измерены.
03После экспорта LUT исчезла локальная коррекция лица. Это баг?+
Не обязательно. Маска, трекинг и пространственно-зависимое воздействие не являются частью обычной функции RGB → RGB. Проверьте, что умеет запекать экспортёр, и передайте геометрию отдельно.
Не сокращайте объяснение до этих ошибок
- Считать любой LUT универсальным камерным преобразованием.
- Называть большее N большей разрядностью видео.
- Оценивать точность только по картинке после ограничения предпросмотра.
От модели — к рабочему процессу.
В Resolve фиксируйте вход ноды, технические преобразования проекта и назначение LUT. Лаборатория не загружает сторонние .cube/.clf и не эмулирует конкретную версию программы. Для внедрения таблицы в рабочий проект требуется отдельная проверка реального приложения.
ПРОВЕРЯЙТЕ ПЕРВООСНОВУ
Источники и границы моделей.
Редакционная проверка: 2 октября 2026. Ссылки указывают на определения и формулы; упражнения — самостоятельные учебные примеры.
- [1]Academy · Common LUT Format ↗
LUT1D, LUT3D, порядок отсчётов, диапазоны и Appendix A с интерполяцией. Собственная функция лаборатории не является стандартом CLF.
- [2]Academy · CLF implementation guide ↗
Различие таблицы и последовательности точно заданных математических операторов.
- [3]OpenColorIO · Baker ↗
Input, shaper, target, размер таблицы и формат при создании LUT.
- [4]OpenColorIO · Baking LUTs ↗
Создание LUT и отличие исходного процессора от представления для обмена.
- [5]OpenColorIO · Interpolation enums ↗
Явный выбор интерполяции. Значения BEST/DEFAULT не являются обещанием неизменного алгоритма.
- [7]CIE · CIEDE2000 colour-difference formula ↗
Условия применимости формулы и нормировка стимулов. Это не универсальный порог для любого HDR-дисплея.
- [12]ICC · sRGB registry ↗
Составная функция sRGB, D65 и условия экранного предпросмотра.
- [14]Blackmagic Design · Color ↗
Нодовая организация, управление цветом, мониторинг. Конкретные версии меню и live-операции в этом проходе не проверялись.