October 14, 2019

High Dynamic Range: Что такое HDR изображение?

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

High Dynamic Range

HDR - это решение, которое увеличивает диапазон между темными и светлыми тонами, т.е. разница между очень темными и самыми яркими тонами может быть намного больше на экране.

Динамический диапазон

Динамический диапазон сцены относится к диапазону интенсивности света, который охватывает сцену. Он также может быть определен как отношение света (максимальная измеряемая яркость) к темному (минимальная измеряемая яркость) в изображении.
Чтобы получить некоторое представление о том, как можно измерить яркость, диапазон интенсивности света составляет от 0 до бесконечности, причем ноль - самый темный, а бесконечность - самый яркий источник.

Сравнение значений яркости

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

Экспозиция изображения

Количество света, попадающего в камеру, называется экспозицией. Экспозицию изображения контролируется тремя настройками камеры - диафрагмой, выдержкой и ISO.

  • Диафрагма - область объектива камеры, через которую проникает свет.
  • Выдержка - скорость, с которой затвор камеры закрывается. По мере увеличения скорости затвора количество света, попадающего в камеру, уменьшается, и наоборот. Это также улучшает резкость изображения.
  • Светочувствительность (ISO) - чувствительность датчика камеры к входящему свету.

Вернемся к динамическому диапазону. Одно изображение, снятое с камеры, не содержит широкий диапазон интенсивности света.

Эта проблема решается путем объединения изображений, снятых с несколькими значениями экспозиции. Это помогает в том, что переэкспонированные изображения хорошо работают для более темных областей изображения, а недоэкспонированные изображения способны снизить интенсивность в сверхярких областях. Различные области изображения лучше фиксируются при разных значениях экспозиции. Поэтому идея состоит в том, чтобы объединить этот набор изображений и восстановить изображение с высоким динамическим диапазоном (HDR).

Брекетинг изображений

Брекетинг означает захват нескольких изображений одной и той же сцены с разными настройками камеры. Это делается автоматически камерой. Что происходит при использовании функции HDR на смартфоне, так это то, что телефон захватывает 3 изображения с тремя различными временами экспозиции в быстрой последовательности. Чем меньше время экспозиции, тем меньше количество поступающего света. Эти три изображения объединяются программным обеспечением камеры и сохраняются как одно изображение, так что лучшие части каждого изображения попадают в конечное изображение.

Коллаж из 5 изображений, которые нашел в интернете.

И прикол в том, что изображение, которое сохраняется на телефоне после слияния, по-прежнему не является (технически) изображением HDR. Это где кодирование изображения входит в картину.

Кодировка изображения

Изображения, которые мы видим на наших телефонах и компьютерах, представляют собой 8-битные кодированные изображения RGB. Значение каждого пикселя сохраняется с использованием 24-битных представлений, 8-битных для каждого канала (R, G, B). Каждый канал пикселя имеет диапазон значений интенсивности от 0 до 255.

Пример 24-битного (3x8-битного) кодирования для пикселя RGB

Проблема с этим кодированием в том, что он не способен содержать большой динамический диапазон естественных сцен. Он допускает только диапазон 0–255 (только целые числа) для размещения диапазона интенсивности, что недостаточно.

Чтобы решить эту проблему, изображения HDR кодируются с использованием 32-разрядных чисел с плавающей запятой для каждого канала. Это позволяет нам захватывать широкий диапазон изображений HDR. Существуют различные форматы для записи изображений HDR, распространенные из них .hdr и .exr. Все HDR-изображения 32-битными кодировками, но не все 32-битные изображения HDR-изображения.

Функция отклика камеры (CRF)

CRF - это функция, которая показывает взаимосвязь между фактической освещенностью сцены и цифровыми значениями яркости изображения. Компании-операторы не предоставляют свои CRF-файлы и считают это конфиденциальной информацией.

Пример функции отклика камеры@

Можно дальше углубляться, но эти главные понятия об HDR изображениях. Спасибо за внимания.

@bykodya - блог об айти!