Radiance HDR (.hdr)

Radiance Стандарт

Radiance RGBE (HDR) - основополагающий формат с расширенным динамическим диапазоном, разработанный для синтетической системы визуализации Radiance, сохраняющий фотометрически точные значения яркости с использованием общего 8-битного экспонента.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы HDR по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

100% конфиденциальное преобразование в браузере - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполняется локально в песочнице вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы HDR по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

23 3F 52 41 44 49 41 4E 43 45 0A

ПРЕДСТАВЛЕНИЕ ASCII: #?RADIANCE\n

Стандартизация: Radiance Synthetic Imaging System Standard

Технические спецификации

Архитектура контейнераASCII-заголовок, заканчивающийся пустой строкой, за которой следует строка разрешения и двоичные RLE-строки сканирования
СжатиеАдаптивное кодирование длин серий (RLE), применяемое для каждой строки сканирования канала
Порядок байтов (Endianness)С прямым порядком байтов / сетевой порядок байтов
Цветовые пространстваЛинейный Rec.709 RGB с координатами цветности CIE
Каналы и структураRGBE: красный, зеленый, синий (8-битные мантиссы) + общий 8-битный показатель степени (экспонента)
Макс. габаритыПрактически неограниченные (32-битные беззнаковые строки разрешения)
ПрозрачностьОтсутствует (физические измерения лучистой яркости)
Потоковая передача и прогрессивная загрузкаПотоковое воспроизведение построчно (сканирование за сканированием)

Техническая матрица сравнения: HDR против конкурентов

Технический атрибутHDR (Текущий)EXRTIFFJPEG
Кодирование пикселей32-bit RGBE (общий 8-bit экспонент)16-bit half / 32-bit float на каналЦелочисленный 8/16-bit или 32-bit float8-битный с гамма-коррекцией
Основной вариант использования360-градусное освещение окружения (IBL)Многопроходный композитинг VFXФотография и препрессСтандартная веб-графика
Масштаб динамического диапазона76 порядков величины (10^-38 до 10^38)Практически бесконечный диапазон с плавающей точкойЗависит от глубины цветаОграниченный диапазон 8-bit SDR
Поддерживаемые каналыТолько RGBНеограниченные произвольные каналыМножество произвольных каналовRGB / CMYK

Типичные режимы повреждения и руководство по восстановлению в HEX

Изображение отображает полосы горизонтальных штрихов по всей ширине кадра.

Первопричина: Поврежден байт счетчика длин серий при распаковке RLE строк сканирования.

Восстановление: Восстановите поврежденные маркеры строк с помощью File2File HDR Repair или конвертируйте в EXR.

Анализ безопасности и векторы атак на парсер

Декодеры Radiance HDR часто анализируют строки заголовков ASCII с помощью функций работы со строками неограниченной длины, что может вызвать переполнение буфера стека.

Известные векторы атак

  • Неограниченные вызовы sprintf/sscanf при чтении заголовков строки разрешения ('-Y %d +X %d').
  • Запись за пределами кучи во время некорректного декодирования RLE строк сканирования.
  • Целочисленное переполнение при выделении целевых буферов с плавающей точкой 32 бита.

Защитные лучшие практики: Проверяйте длину заголовка ASCII и размеры строк сканирования перед выделением буферов изображения.

Исторические истоки и вехи

2000Пол Дебевек популяризирует освещение на основе изображений HDR (IBL) в компьютерной графике с помощью файлов Radiance .hdr.
1997Стандартизировано адаптивное построчное кодирование длин серий для уменьшения размеров файлов.
1989Грег Уорд изобретает 32-битную пиксельную кодировку RGBE и формат .hdr в Национальной лаборатории Лоуренса в Беркли.

Ключевые преимущества и плюсы

  • Компактный объем памяти 32 бита на пиксель при охвате 76 порядков величины физической яркости света.
  • Универсальная поддержка во всех пакетах 3D-рендеринга (Blender, Unreal Engine, Unity, Cinema 4D) для 360-градусных карт окружения.
  • Простая, надежная структура файла, легко реализуемая на всех программных платформах.

Технические ограничения и минусы

  • Квантование может вызывать полосы в крайне темных областях из-за кодирования с общим 8-битным экспонентом.
  • Каналы RGB не могут хранить отрицательные числа или произвольные многопроходные слои.
  • В значительной степени вытеснен форматом OpenEXR для производства многопроходных визуальных эффектов.

Интересные технические факты

  • Каждый файл Radiance HDR начинается с текстового заголовка '#?RADIANCE' или '#?RGBE'.
  • Формат был создан для симуляции физического архитектурного освещения при проектировании зданий до их возведения.
  • Знаковая статья Пола Дебевека 1997 года для SIGGRAPH «Восстановление карт лучистой яркости с высоким динамическим диапазоном по фотографиям» использовала этот формат для революции в освещении CGI.

Часто задаваемые технические вопросы

Для чего используется файл HDRI в 3D?

Файлы HDRI (.hdr) используются в качестве 360-градусных панорамных карт окружения для обеспечения фотореалистичного освещения, теней и отражений реального мира на 3D-объектах.

Как работает 32-битное кодирование RGBE?

Вместо хранения трех отдельных чисел с плавающей запятой RGBE использует по 8 бит для красного, зеленого и синего, а также общий 8-битный экспонент, умещая полный динамический диапазон HDR всего в 4 байта на пиксель.

Могу ли я конвертировать HDR в JPG?

Да. File2File.app может применять тональную компрессию и конвертировать 32-битные файлы Radiance HDR в стандартные изображения JPG или PNG прямо в вашем браузере.