Автор: Максим Стеклов
Нечасто случается, что технология, призванная решить определенные проблемы, не только их не решает, но и усугубляет. Но именно это случилось с технологией изображений с расширенным динамическим диапазоном (HDRI). Изначально предназначенная для повышения реалистичности фотографий и 3D-изображений, HDRI неожиданно стала удобным инструментом для творческого самовыражения и интересной игрушкой для многих любителей фотографии. Фотографы с удовольствием экспериментируют с новой технологией, превращая банальные пейзажи в изображения, напоминающие скорее картины, чем фотоснимки.
А если переведенные в пространство RGB HDR-кадры меньше похожи на реальность, чем обычные карточки с заваленными тенями и пересвеченными лицами... Наверное, это проблемы реальности.
Прежде чем перейти к рассказу о HDRI, необходимо вкратце рассказать, как записываются, хранятся и отображаются цифровые изображения сегодня. А также о том, как фиксирует изображение человеческий глаз.
В модели RGB любой цвет кодируется тройкой целых чисел, описывающих соответственно интенсивность зеленого, синего или красного каналов. Например, черный цвет может быть представлен как (0, 0, 0), а белый — находящийся на противоположном конце шкалы — как (255, 255, 255). Таким образом, для отображения любой картинки у нас есть 16,7 млн. оттенков, а сама картинка называется восьмибитной (или 24-битной), потому что на каждый канал нам требуется 8 бит, а каждая точка изображения кодируется с помощью трех 8-битных чисел. Динамический диапазон (здесь: отношение максимальной интенсивности цвета к минимальной) такой цветовой модели составляет 28:1, или 256:1.
Для 16-битных RGB-изображений (когда на каждый канал отводится уже не один байт, а два) теоретический динамический диапазон заметно больше и составляет 216:1, или 65536:1. Это впечатляет, если не вспоминать, что человеческое зрение способно улавливать освещение от 10-6 кд/кв. м до 108 кд/кв. м (), то есть имеет абсолютный диапазон 1014:1 (правда, человеческий глаз не может регистрировать свет во всем диапазоне одновременно; максимальный охват составляет от 10000 до 30000 к 1).
Принципиальная недостаточность цветового пространства RGB усугубляется скромными аппаратными возможностями современных сенсоров и отображающих устройств. Реальная чувствительность сенсоров в цифровых фотокамерах, как правило, не превышает 1000:1 (теоретически она может быть и выше, в зависимости от матрицы, но ограничена сверху шумовыми эффектами). На выходе камера может давать хоть 12-битный, хоть 112-битный RAW, однако на динамический диапазон записанного в файл изображения это не повлияет, поскольку в нем просто физически нет необходимой информации.
Мониторов, способных корректно отобразить 48-битную картинку с заявленным динамическим диапазоном, скажем, 10000:1, сегодня также не существует (за редкими и дорогими исключениями, но о них ниже).
Дополнительный минус модели RGB (и, например, CMYK) в том, что она виртуальна и не привязана к реальным значениям, то есть является физически некорректной — и не может быть приведена к корректной модели без потерь, раз уж все показатели в ней задаются целыми числами, и их набор ограничен. Исправляет эту ситуацию схема HDRI (High Dynamic Range Imaging), в которой на каждый цветовой канал отводится 16 или 32 бита, а характеристики задаются не целыми, а вещественными числами, что позволяет полностью описывать доступный человеческому зрению диапазон с нужным уровнем детализации. Все остальные модели (включая RGB) называют моделями с низким динамическим диапазоном (Low Dynamic Range).
(Так получилось, что словосочетание динамический диапазон в контексте HDR зачастую используется для обозначения разных, хотя и близких понятий — и для яркостного диапазона сцены, и для описания диапазона цветовой модели, и как синоним фотографической широты датчика. Это вносит некоторую путаницу.)
Изначально главными пропагандистами и пользователями HDRI были специалисты по трехмерной графике (см., например, статью «Фотореализм» в «КТ» #628), поскольку использование HDR позволяет без потерь и ошибок рассчитать освещенность созданной сцены. И пусть большую часть этой информации отобразить не удастся — даже те крохи, которые дойдут до зрителя, все равно создадут должный эффект и сделают искусственную картинку более реалистичной. И сегодня аббревиатура HDR в применении к компьютерной графике означает прежде всего повышенную фотореалистичность изображения, близость к тому, что можно получить с помощью фотоаппарата или кинокамеры.
Как ни странно, применение схожей технологии в фотографии дает обратный результат. У фотографов, экспериментирующих с HDR, получаются безумно красивые снимки, не страдающие излишней реалистичностью. Собственно, первое, что приходит в голову при знакомстве с HDRI-фотографиями, — как же здорово эти люди научились рисовать в 3D.
Любой, кто хотя бы раз держал в руках фотоаппарат, сталкивался с тем, что при неверно подобранной экспозиции одни снимки получаются слишком темными, а другие — слишком светлыми. Однако даже оптимально выставленные параметры экспозиции не помогут, если у сцены, которую мы хотим снять, слишком широкий яркостный диапазон: или хорошо получатся детали, лежащие в тени, но засветятся светлые участки, или будут достоверно переданы светлые участки, но потеряются те, которые освещены недостаточно.
До последнего времени фотографу оставалось либо подобрать другую композицию, с меньшей разницей между светом и тенью, либо сложить штатив и пойти домой.
Наглядный пример подобной «неудобной» композиции — снимок из затемненной арки, сделанный в солнечный день. Человеческий глаз прекрасно различает и детали внутренней отделки, и то, что находится за ее пределами. Однако на снимке хорошо получится либо интерьер (при засвеченном выходе из туннеля), либо пейзаж, обрамленный в черную аркоподобную рамку (не исключены и промежуточные варианты, когда и в арке, и за ее пределами что-то можно разглядеть, но они обычно не более приятны глазу, нежели описанные крайности).
Казалось бы, технология HDRI создана как раз для таких случаев, однако где взять недостающую информацию об общем яркостном диапазоне сцены? Ответ очевиден: нужно сделать несколько снимков с разными параметрами экспозиции и взять информацию из них, создав единое изображение с расширенным динамическим диапазоном.
Любую инструкцию о создании HDR-изображений в домашних условиях можно свести к следующим пунктам:
1. Установите фотоаппарат на штатив.
2. Сделайте несколько снимков с разной экспозицией так, чтобы максимально охватить диапазон сцены (например: —2EV, оптимальное значение экспозиции, +2EV).
3. Полученные файлы совместите в одном из программных продуктов для работы с HDR-изображениями (HDRShop, PhotoMatrix, Photoshop CS2 и т. п.).
4. Преобразуйте ваше HDR-изображение в RGB для просмотра на обычном мониторе.
Первый пункт достаточно очевиден. Так как нам придется совмещать несколько снимков, мы должны обеспечить их максимальную идентичность. По той же причине эта технология не подходит для создания HDR-изображений движущихся объектов. Хотя программное обеспечение предусматривает возможность автоматического выравнивания исходных снимков для последующего их совмещения, эта функция а) может сильно замедлить подготовку HDR-изображения, б) не рассчитана на случаи, когда объект на одном кадре находится в левой части изображения, а на другом — в правой.
Количество совмещаемых снимков во многом зависит от выбранного для подготовки и последующей конвертации HDR пакета и снимаемой сцены, но здравый смысл подсказывает, что независимо от программы, в которой будет производиться совмещение, нужно не менее трех снимков.
Самая большая проблема возникает на четвертом шаге, когда полученное HDR-изображение нужно приводить к печальному, но общему знаменателю. Другими словами, избавляться от плавающей запятой и возвращаться в цветовое пространство RGB, поскольку на непосредственно RGB-мониторе просмотреть HDR-изображение невозможно. Алгоритмы обратной конвертации могут работать как с учетом контекста, в котором размещен пиксел (локальные), так и без оного (глобальные), когда весь динамический диапазон HDR без затей проецируется на RGB.
Возникает вопрос: если задача только в том, чтобы добавить на снимок недостающие детали, то зачем нужны все эти лишние преобразования, раз конечный результат все равно выводится в RGB? Вопрос совершенно правомерен. Мы действительно можем взять всего два изображения (с экспозицией для «теней» и для «светлых областей») и сделать из них одно. Более того, такой подход скорее даст натурально выглядящий снимок, чем совмещение нескольких кадров в HDR и последующая конвертация в RGB. Но, во-первых, на сценах с широким диапазоном такой подход может и не сработать; во-вторых, это не так интересно; а в-третьих, HDR-изображения за последний год-два приобрели популярность, во многом благодаря некоторой искусственности. Во многих случаях ее наверняка можно было бы избежать или хотя бы уменьшить, однако авторы снимков порой специально выставляют настройки так, чтобы придать фотографиям некий налет «нездешности».
Еще один способ обойтись без HDR при вытягивании фотографий — использование в качестве исходника одного файла RAW (который, конечно, содержит избыточную — по сравнению с JPEG или TIFF — информацию об изображении). В результате манипуляций с уровнями экспозиции при конвертации RAW действительно можно получить несколько отличающихся друг от друга изображений, а затем совместить их и создать некую общую картинку, взявшую все самое лучшее от этих полуфабрикатов. Однако недостающая информация о яркостном диапазоне сцены сама по себе ниоткуда не появится. Не исключено, что изображение действительно станет лучше (контрастней), но того же эффекта можно добиться и более простыми средствами. Тем не менее, эта технология многим симпатична, потому что, в отличие от HDR, позволяет «улучшать» кадры, на которых есть движущиеся объекты, да и необходимость в штативе отпадает.
Можно ли автоматизировать процесс создания HDR-изображений? В общем-то, все, что можно автоматизировать, уже автоматизировано. В камере для HDR должен быть настраиваемый автоматический брекетинг экспозиции. Во многих моделях эта функция есть. Все остальное (совмещение RAW-файлов и обратная конвертация) теоретически тоже можно реализовать (и соблазн велик, потому что грамотная обработка HDR в камере выводит цифровые мыльницы на новый уровень качества снимков, а заодно на порядки уменьшает востребованность встроенной вспышки), но и алгоритмы автоматической обратной конвертации пока далеки от совершенства, и не факт, что относительно слабое железо цифровых камер потянет такие преобразования. Как минимум одна HDR-камера существует уже сегодня (SpheroCam HDR), но это дорогое профессиональное устройство, применяемое обычно для создания карт освещенности сцены с целью последующего использования этой информации при 3D-рендеринге.