Что такое формат файла HDR?
Файл .hdr представляет собой растровое изображение Radiance HDR (High Dynamic Range), разработанное Грегом Уордом в Национальной лаборатории имени Лоуренса в Беркли в рамках системы моделирования освещения Radiance в конце 1980-х годов. Первоначально формат хранился с расширением .pic, прежде чем расширение .hdr стало стандартным.
Каждый пиксель кодируется с использованием RGBE - три 8-битных значения мантиссы для красного, зеленого и синего каналов плюс одна общая 8-битная экспонента. Это позволяет упаковать полнофункциональный HDR-пиксель с плавающей запятой всего в 4 байта, представляя динамический диапазон, охватывающий примерно 76 порядков величины (от ~10⁻³⁸ до 10³⁸). Компромисс заключается в том, что все три канала используют одну экспоненту, поэтому точность каждого канала ниже, чем в таких форматах, как OpenEXR, который хранит настоящие 16- или 32-битные числа с плавающей запятой для каждого канала и поддерживает несколько слоев.
Файл начинается с ASCII-заголовка, содержащего сигнатуру #?RADIANCE (некоторые инструменты вместо этого пишут #?RGBE - оба варианта допустимы). После блока переменных «ключ=значение» и строки разрешения данные пикселей сохраняются в виде строк развертки с кодированием длин серий (RLE). Также поддерживается альтернативное кодирование яркости: установка поля заголовка FORMAT в значение 32-bit_rle_xyze переключает из цветового пространства RGB в CIE XYZ.
Файлы .hdr широко используются для карт окружения HDRI в 3D-рендеринге и игровых движках, где высокий динамический диапазон обеспечивает точное освещение на основе изображений. Они поддерживаются Blender, GIMP, Adobe Photoshop и большинством конвейеров рендеринга в реальном времени. Для профессиональной работы с визуальными эффектами (VFX), требующей точности с плавающей запятой для каждого канала и поддержки многослойности, отраслевым стандартом в значительной степени стал OpenEXR.
Безопасность и защита
РИСК: LOWRadiance .hdr - это пассивное изображение, оно не содержит скриптов, макросов или исполняемого контента, поэтому сам файл не является вектором вредоносного ПО. Единственные практические предостережения - большие размеры файлов для карт HDRI высокого разрешения и редкие ошибки парсера в библиотеках изображений; держите свой редактор обновленным. Избегайте подозрительных сайтов «бесплатных конвертеров HDR», которые распространяют рекламное ПО - GIMP, Krita, Blender и Photopea полностью закрывают потребность в бесплатных инструментах.
Детали формата
в двух словах- Analog Devices / Mentor SPICE .hdr (данные заголовка) - Некоторые инструменты EDA и данных записывают текстовый файл заголовка/метаданных .hdr - не связано с изображениями.
- Заголовок ENVI / дистанционного зондирования .hdr - Растровые заголовки ENVI используют .hdr в качестве текстового сопутствующего файла, описывающего сопутствующее необработанное изображение, а не картинку Radiance.
- Игровой движок / ресурсы установки '.hdr' - Иногда движок называет упакованную кубическую карту HDR или общий файл заголовка расширением .hdr.
Программы, открывающие файлы HDR
Технические подробности
глубокая спецификация| Схема кодирования | RGBE - 8-битная мантисса на каналы R, G, B плюс одна общая 8-битная экспонента; упаковывает HDR-пиксель ровно в 4 байта |
| Динамический диапазон | ~76 порядков величины (~10⁻³⁸ до 10³⁸); эквивалентно примерно 25+ фотографическим стопам |
| Сигнатура файла | ASCII `#?RADIANCE`, за которым следует перевод строки (0x0A) со смещением 0; `#?RGBE` со смещением 0 также допустим и широко используется |
| Сжатие | Адаптивное кодирование длин серий (RLE) строк развертки; спецификация также допускает хранение строк без сжатия |
| Формат заголовка | Блок переменных ASCII «ключ=значение» (FORMAT, EXPOSURE, COLORCORR, PRIMARIES, SOFTWARE и т. д.), завершающийся пустой строкой |
| Строка разрешения | Кодирует ширину, высоту и ориентацию, например `-Y 512 +X 1024`; поддерживаются все четыре комбинации поворота/отражения |
| Кодировки цвета | `32-bit_rle_rgbe` (линейный RGB, по умолчанию) и `32-bit_rle_xyze` (вариант яркости CIE XYZ), выбираемые через поле заголовка `FORMAT` |
| Тип MIME | `image/vnd.radiance` (зарегистрировано IANA); `image/x-hdr` - широко используемая неформальная альтернатива |
| Порядок байтов | Нейтральный к порядку байтов (Endian-neutral); данные пикселей состоят из отдельных байтов, хранящихся попиксельно без многобайтовых целочисленных полей |
| Типичный размер файла | 1 МБ - 30 МБ; панорамные карты окружения HDRI с разрешением типа 8192×4096 достигают верхнего предела |
| Ограничение размеров | Жестких ограничений формата нет; ширина и высота хранятся как обычные десятичные целые числа в строке заголовка разрешения |
| Цветовое пространство | Линейный свет без встроенной гамма-кривой; поля заголовка EXPOSURE и COLORCORR содержат метаданные коррекции относительно сцены |
| Альфа-канал | Не поддерживается; ни кодировка RGBE, ни XYZE не включают плоскость прозрачности или альфа-канал |
| Точность на канал | ~8 бит относительной точности на канал из-за общей экспоненты; абсолютная точность зависит от значения экспозиции сцены |
| Историческое расширение | `.pic` использовалось в оригинальной системе освещения Radiance; `.hdr` стало доминирующим по мере распространения формата в инструментах обработки изображений и 3D |
| Выпущен | 1985-1989 (Radiance lighting simulation system); .pic originally, later .hdr |
| Последняя версия | RGBE/XYZE encoding (stable; format essentially unchanged) |
| Открыть стандартное | Да · без роялти |
| Спецификация | floyd.lbl.gov |
Конвертации HDR
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах HDR.