Пленочный цвет в цифровом видео

Сегодня я расскажу вам о простом способе цветокоррекции, который с легкостью позволит изменить цветовую палитру ваших видео. Вы сможете раскрасить свои творения в стиле лучших мировых киностудий. Получить желанный (многими) пленочный цвет. Сделать свои работы в стиле «Дюнкерк», «Интерстеллар», «Мастер».

Подход

Как вы наверное уже догадались мы будем использовать пресеты (presets). Профессионалы сделали их на своем дорогом оборудовании и выложили в открытый доступ для нас (большинство правда требуют $$$ за это). Нам нужно только скачать архивы с пресетами и правильно ими воспользоваться. Можно сделать пресет и самому (и вы наверное уже делали так не раз), но как базовый, проще взять пресет от специалистов в колористике и дальше уже работать с ним.
Но есть одна проблемка. Дело в том, что у каждой программы обработки фото или видео есть свой формат пресета. И вполне возможно, что пресеты от Adobe Premiere не подойдут для других программ видеомонтажа. Но выход есть, нужно использовать CLUT (Color Look-Up Table) таблицы в качестве пресета и большинство программ работающих с multimedia могут читать CLUT файлы.
Что же такое этот самый CLUT файл? Грубо говоря это таблица соответствия одного цвета другому цвету. Если пиксел был красный, то стал коричневый. Был синий, стал голубой. Фиолетовый, стал темно-фиолетовым. Ну и так далее. Все просто. То есть мы как бы ставим соответствие между одним цветовым пространством и другим (то которое хотим получить).
CLUT файлы тоже бывают разные. Бывают обычные CLUT (цвета расположены внутри кубика RGB), простой текстовый файл:



взято с сайта http://www.quelsolaar.com

TITLE "Cool Blue"

#LUT size
LUT_3D_SIZE 32

#data domain
DOMAIN_MIN 0.0 0.0 0.0
DOMAIN_MAX 1.0 1.0 1.0

#LUT data points
0.000000 0.000000 0.000000
0.000000 0.000000 0.000000
0.017792 0.003662 0.003662

а бывают, так называемые HALD CLUT, где цвета расположены в хитром шаблоне, являющимся простым изображением (например, в формате .png):

Вот с этим HALD CLUT мы и будем дальше иметь дело (так проще).

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

Допустим вы откуда-то получили CLUT файл и вам не терпится попробовать его в деле.

Для того, чтобы наложить CLUT на простое изображение достаточно воспользоваться утилитой convert из пакета Image Magick (подробная статья про него здесь):

convert <исходное изображение>.jpg <hald clut>.png -hald-clut <изображение на выходе>.jpg

Несколько примеров использования hald clut пресетов имитирующих пленочный цвет:



Оригинальное изображение

Kodak Portra


Kodak Ektar


Fuji Velvia


Fuji Superia 800

Для работы с видео hald clut preset можно применить следующим способом:

1) для кодирования:
Для самой популярной утилиты кодирования ffmpeg (если вы ничего не слышали о ней, то рекомендую прочитать статью ffmpeg для начинающих) наложение hald clut пресета будет выглядеть так:

ffmpeg -i <видео на входе>.avi -vf "movie=<hald clut preset>.png, [in] haldclut" <видео на выходе>.mp4

2) для просмотра можно воспользоваться ffplay, в этом случае нужно выполнить команду:

ffplay  -vf "movie=<hald clut preset>.png, [in] haldclut" <видео на входе>.avi



Слева оригинальное видео, справа видео с пленочным пресетом Fuji Velvia 50

Ищем пресеты (presets)

На самом деле в сети полно бесплатных LUT таблиц. Я после быстрого поиска накачал полгига пресетов.
Ищите по ключевым словам:
«35 Free LUTs», «FG Free Cine», «Free LUTs», «RawTherapee Film Simulation Collection», «lutify.me», «PB 17 Free LUTs», «SmallHD MovieLook».

Готовим LUT таблицу

А что если необходимый цвет ну никак не удается найти в виде готового HALD Clut файла? Тогда сделаем его сами.

Строим HALD Clut шаблон

Первым делом готовим шаблон нашего будущего hald clut файла. Для этого нам понадобится Image Magick (подробно здесь). Это бесплатный графический пакет, который есть и для Linux и для Windows. В состав Image Magick входит утилита convert. Воспользуемся ею для создания шаблона:

convert hald:3 hald3.png

На выходе получим hald3.png — цветовую матрицу оригинальных цветов (если вы примените ее к изображению или видео, то с цветом ничего не произойдет).

Что означает цифра 3 в параметрах команды convert (hald:3)? Дело в том, что у CLUT таблиц есть разрешение по цветам. Можно приготовить таблицу на 729 цветов (hald:3).

Формула здесь следующая:
3**2 = 9, а затем 9-ку возводим в куб => 9 * 9 * 9 = 729 цветов
Это не очень большая цифра, потому как цветов даже для 8-и битного jpeg изображения гораздо больше (16.8 миллионов).

Поэтому используют CLUT таблицы более высокого разрешения, например hald:8, которая «покрывает» уже 262144 цветов или hald:16 с ее 16777216 цветами полностью удовлетворяющую 8-битному изображению.
С clut таблицами высокого разрешения есть один нюанс. С ними очень медленно работать. Если нужно обработать одно изображение то можно и hald:16 попробовать, но если нужно наложить таблицу на видео, то hald:16 преобразование займет очень много времени и ресурсов. Поэтому часто ограничиваются hald:8.



hald:3


hald:8


hald:16

Переносим цвет на шаблон

Есть два способа для того, чтобы сделать preset на основе шаблона, который «запомнит» нужные цвета и потом «перенесет» на наше изображение или видео.

Способ 1

Предположим в откуда-то взяли готовый цветовой Lut пресет (например в формате .cube) и хотите преобразовать его в формат HALD Clut (png файл).

Воспользуемся еще одной бесплатной программой — G’MIC. Она распространяется, как отдельная программа, так и плагин для GIMP. Вот плагин-то нам и нужен. В этой статье подробно описано как устанавливать этот плагин и как с ним работать.

Загружаем шаблон в GIMP.

В списке фильтров ищем G’MIC и открываем его.

Переходим в раздел Film Emulation/User-Defined и в поле HaldCLUT Filename подгружаем тот пресет, который вы скачали из сети. В Preview вы сразу же увидите, как изменился оригинальный шаблон. Жмем кнопку «Ok» и матрица перехода из одного цветового пространства в другое готова.

Далее просто записываем ее в png файл с произвольным именем.

Способ 2

Создание шаблона с нуля. Допустим у вас нет готового пресета, но есть макрос в GIMP’е или Photoshop, который работает с цветом. На выходе получаются волшебные цветовые оттенки и вы очень хотите раскрасить видео в этом стиле. Все очень просто. Открываем оригинальный шаблон. Проигрываем макрос или просто вручную правим цвета, например настройки инструмента Curves можно записать и затем открыть. Preset готов. Экспортируем его для дальнейшего использования.

Красим видео

Свежеиспеченный preset можно сразу же попробовать в ffplay и посмотреть, что получилось.



Известный мультик с пресетом от фильма «Матрица»
Есть правда ограничение. Ffmpeg (ffplay) работает только с hald:8 CLUT таблицами. Если цветовое разрешение у CLUT таблицы выше 8, то появится сообщение об ошибке:

Too large Hald CLUT (maximum level is 8, or 512x512 CLUT)

You May Also Like