Radiance HDR (.hdr)

Radiance Стандарт

Radiance RGBE (HDR) е основополагащият формат с висок динамичен обхват, разработен за системата Radiance за синтетични изображения. Той съхранява фотометрично точни стойности на яркостта чрез общ 8-битов експонент.

Проверка и метаданни

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

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

Операционните системи и файловите анализатори идентифицират 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)Ред от старшия към младшия байт (Big-Endian, мрежов ред на байтовете).
Цветови пространстваЛинейно Rec.709 RGB с координати на цветност CIE
Канали и структураRGBE: червен, зелен и син канал (8-битови мантиси) плюс общ 8-битов експонент
Максимални размериПрактически неограничен размер (низове с резолюция с беззнакови 32-битови стойности)
ПрозрачностНяма (измервания на физическата яркост на светлината)
Поточно предаване и прогресивно зарежданеПоследователно поточно възпроизвеждане ред по ред

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

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

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

В изображението се виждат хоризонтални ивици по цялата ширина на кадъра.

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

Възстановяване: Възстановете повредените маркери на растерните редове с HDR Repair на File2File.app или конвертирайте файла в EXR.

Анализ на сигурността и вектори на атака към парсера

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

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

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

Най-добри практики за защита: Проверявайте дължината на ASCII заглавката и размерите на растерните редове, преди да заделяте буфери за изображението.

Исторически произход и етапи

2000Paul Debevec популяризира осветление, базирано на HDR изображения (IBL), в компютърната графика чрез Radiance .hdr файлове.
1997Стандартизирано е адаптивно RLE кодиране на растерните редове за намаляване на размера на файловете.
1989Greg Ward изобретява 32-битовото кодиране на пиксели RGBE и формата .hdr в Lawrence Berkeley National Laboratory.

Основни предимства

  • Компактен размер от 32 бита на пиксел с обхват от 76 порядъка във физическата яркост на светлината.
  • Поддържа се от много пакети за 3D рендиране за карти на околната среда, но поддръжката зависи от приложението.
  • Сравнително компактна файлова структура, която могат да реализират програми с поддръжка на Radiance HDR.

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

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

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

  • Всеки Radiance HDR файл започва с текстовия ред в заглавката „#?RADIANCE“ или „#?RGBE“.
  • Форматът е създаден за симулиране на физическо архитектурно осветление при проектиране на сгради преди построяването им.
  • В емблематичната си статия за SIGGRAPH от 1997 г., „Recovering High Dynamic Range Radiance Maps from Photographs“, Paul Debevec използва този формат и преобразява CGI осветлението.

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

За какво се използва HDRI файл в 3D?

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

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

Вместо три отделни числа с плаваща запетая RGBE използва по 8 бита за червения, зеления и синия канал плюс общ 8-битов експонент. Така пълният HDR динамичен обхват се побира в едва 4 байта на пиксел.

Мога ли да конвертирам HDR в JPG?

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