Павел Косенко (pavel_kosenko) wrote,
Павел Косенко
pavel_kosenko

Dehancer. Состояние разработок на 24 мая 2017 года



Последний раз я писал о том, как идет работа над Dehancer в январе этого года, то есть четыре месяца назад. Настало время сделать апдейт статуса, то бишь поведать, что произошло за это время и на какой стадии мы находимся сейчас.

Как обычно, произошло многое, хотя снаружи этого и не видно. Во-первых, мы в очередной раз почти полностью переписали интерфейс. То, что я показывал в начале года, претерпело некоторые изменения, в лучшую, конечно, сторону. Далее — мы приступили к тестированию этого интерфейса. Пригласили более 300 бета-тестеров, которые ежедневно шлют нам множество фидбеков. Одну за другой мы выпустили полсотни релизов, каждый из которых содержал правки и улучшения.

На сегодняшний день в работе 176-й билд, но этот процесс несколько затормозился. Дело в том, что наш UX-разработчик, который занимается интерфейсом, был вынужден сменить место жительства и переехать из Сингапура в Австралию. А этот процесс, особенно когда у тебя двое детей, занимает не одну неделю. Так как на сегодняшний день наш проект находится в стадии любительского (мы пока сознательно отказываемся от инвестиций) и не имеет бизнес-структуры, он сильно зависит от личных дел каждого его участника. Ничего плохого в этом нет, такова стадия работы над проектом. Наоборот, отсутствие обязательств перед инвесторами дает нам полную творческую свободу и мы делаем то, что хотим, а не то, что нужно.

Поэтому, пока наш друг и коллега обустраивается в Сиднее, свободные руки команды решили приступить к работе над следующей версией Dehancer. За 2 года работы над этим проектом у нас накопилось немало соображений о том, как мы хотим его развивать. Идей на эту тему у нас вагон и маленькая тележка, лет на 5 работы, если все бросить, и заниматься только этим. Какая именно из идей обойдет остальные, мы и сами не знаем. Но у нас вдруг резко вышла вперед идея с пленочными профилями. Видимо накопилась критическая масса опыта и знаний, потому что похоже, всего за месяц нам удалось сделать в этом направлении настоящий прорыв.

Начали мы с того, что изучили наработки человечества в области профилестроения и пришли к выводу, что на большую часть из них можно и нужно забить болт. Фрагментарные решения имеют смысл, но как такового в мире не существует ни одного программного продукта, который бы мог предложить реально работающий (и уж тем более, хорошо работающий) инструмент. Несмотря на то, что миллион программ, апликух, фильтров и плагинов для Фотошопа имеют якобы пленочные профили, на самом деле, никакого отношения к ним они не имеют вообще, и работают совсем не так, как это ожидают пользователи. Единственная программа, которой удалось продвинуться дальше других, это RPP, но на самом деле это лишь начало пути, продвинуться можно намного-намного дальше.

А какую же работу профилей ожидают пользователи? Как бы я сам хотел, чтобы работали профили? Все верно — я хочу выбрать пленку, и получить картинку с её цветами. Однако так не работает ни в одной программе, ни в одном фильтре. Везде после выбора профилей надо тщательно донастраивать картинку и крутить миллион ползунков — яркость, контраст, баланс белого и т.д. А потом вы выбираете другой профиль, и все начинается заново. Даже сравнить два профиля между собой толком невозможно. Не говоря о том, что сами цвета никуда не годятся.

По логике все понятно — фотографии по разному экспонированы, обладают разным балансом белого и контрастом. Но легче от этого никому не становится. Получается, что прежде, чем накладывать профиль, все картинки надо специальным образом готовить, приводить к тому виду, под который рассчитан профиль. Именно так это делается в кино, где LUT'ы накладываются на нормализованные к определенному виду малоконтрастные log-версии сцен. Но даже в кино это делается руками.

И тут на сцену выходит интеллектуальный алгоритм Dehancer, который может проанализировать и привести любую картинку к любому виду. Если после (или до) применения пленочного профиля надо было бы исправить баланс белого, Дехансер сам это поймет и сам сделает в нужном месте. Если насыщенность избыточна, он тоже ее компенсирует в нужной степени (с помощью одного из наших ноухау под названием «перцептуальная насыщенность»). С яркостью/контрастом все сложнее, но и этот вопрос у нас давно решен. И т.д. (интеллектуального анализа и обработки в нашем ядре намного больше). В итоге пользователь получит именно то, что ожидает: выбираем профиль, получаем результат. Вуаля!

Но дальше еще интереснее. Какой именно результат? Изучив вопрос, мы решили взять за основу наработки, которые используют киношники. В итоге наши профили базируются на формате 3dlut.

Но дальше еще интереснее. Как именно строить 3D LUT'ы? Ведь любой таргет содержит скромное количество патчей (даже если их много), в то время как таблица пересчета состоит из миллионов ячеек. Как заполнить 99% недостающих данных? И вот тут начинается очередное наше ноухау. Не вдаваясь в подробности, могу лишь сказать, что делаем интерполяцию мы особым нелинейным образом.

На самом деле, чем дальше, тем еще и еще интереснее. Все, кто снимал на пленку, знают, что она ведет себя по разному в зависимости от того, как была экспонирована. Например, мой любимый ADOX Color Implosion (кстати, эта пленка больше не будет производиться, так что все, кто хотел, успейте закупиться остатками) при недоэкспозиции тяготеет к сине-феолетовым оттенкам, а в случае переэкспозиции к красно-зеленым. Как передать этот ключевой эффект при имитации цветов программным образом? Для этого мы решили усовершенствовать имеющийся формат LUT мульти-значениями, в результате создали свой собственный формат mLUT, поддерживать который будет, предположительно, только Dehancer (по крайней мере первое время). То есть по сути внутри нашего mLUT будет несколько LUT, созданных с разной экспозицией, и при коррекции push/pull (в простонародии яркости) результаты будут плавно смешиваться друг с другом.

Но и на этом не всё. Еще один актуальный вопрос — как именно снимать данные с патчей для LUT? При каких условиях экспонировать пленку? Как ее сканировать? Какие вносить коррекции в сканы? Здесь бесконечное поле для экспериментов и разночтений. Сам по себе факт съемки на пленку колорчекера еще ничего не значит. Ключевой вопрос, как именно будут трактоваться данные. И у нас есть мнение на этот счет. Например, мы решили строить профили не по сканам пленок, а по сканам ручных оптических отпечатков, сделанных с этих пленок. То есть мы сначала снимаем таргет в определенных условиях освещения, затем проявляем пленку, потом печатаем ее на фотоувеличителе в темной комнате, и лишь затем снимаем данные с отпечатка (а не с пленки). Какие и на каком этапе при этом вносятся коррекции, не то чтобы наше ноухау, но в общем тут есть несколько подходов — мы окончательно еще не определились, как именно действовать. Но абсолютно все наши решения работают. В процессе мы, безусловно, выберем оптимальное.



Что будет в итоге? Во-первых, сегодня возобновляются работы по интерфейсу, поэтому в ближайшие дни наши бета-тестеры получат новую версию Dehancer, а уже этим летом апликейшн появится в AppStore. Это будет версия без профилей, как и планировалось. Ее задача — довести до идеала сам интерфейс, который, напомню, изменился принципиально.

Во-вторых, в процессе работы над Dehancer 2 (в котором будут профили) мы создали программу для MacOS под названием Dehancer mLUT Maker. Изначально она создается исключительно под наши собственные внутренние нужды. Но при этом есть понимание, что получается абсолютно уникальный, не имеющий аналогов в мире инструмент по грамотному созданию правильных профилей. Такие профили нужны всем, от киношников до разработчиков софта. Возможно, мы доведем этот продукт до вида, в котором его можно будет продавать. Тут есть два варианта развития событий:

1) Инженерное использование для специалистов.
2) Инструмент для всех желающих, с помощью которого можно создать собственные профили для Dehancer (возможно, не только для Dehancer).



Мы пока не знаем, в каком направлении будет развиваться этот побочный продукт, будем ли мы его продавать вообще, и если да, то какова будет схема монетизации. Но понятно, что его востребованность зашкаливает, т.к. аналогов в мире нет. Как минимум за счет нашей математики, но на самом уникальных решений много, в т.ч. и визуализация искажений в разных цветовых моделях.

И в-третьих (это самое главное) — через некоторое время пользователи Dehancer получат настоящие, первые в мире работающие пленочные профили. Когда это будет, сказать пока не могу. Может быть через полгода, может быть через год, может быть через три. Но скорее все-таки в пределах года, мы сами расцениваем реальность именно таким образом.

Буду держать вас в курсе событий. Предположительно следующий апдейт — через пару месяцев, когда мы объявим о выходе Dehancer. Первой версии, пока без профилей, но со значительно усовершенствованным (по сравнению с Degradr) интеллектом и самое главное, интерфейсом. Напомню, что если вы хотите принять участие в бета-тестировании, вам сюда.

Tags: dehancer
promo pavel_kosenko january 1, 2010 00:05
Buy for 1 000 tokens
Полный список фототуров и выездных мастер-классов: http://www.frameway.club
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 22 comments