Radiance HDR (.hdr)

Radiance Стандарт

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

Аналіз та метадані

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

Виберіть або перетягніть файли сюди

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

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

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

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

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

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

ASCII-УЯВЛЕННЯ: #?RADIANCE\n

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

Технічні характеристики

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

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

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

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

На зображенні відображаються горизонтальні смуги по всій ширині кадру.

Першопричина: Пошкоджений байт кількості довжини серії при розпакуванні RLE рядка.

Відновлення: Відновіть пошкоджені маркери рядків за допомогою відновлення File2File HDR або конвертуйте в 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 'Відновлення карт яскравості з високим динамічним діапазоном за фотографіями' використала цей формат для революції в освітленні комп'ютерної графіки.

Поширені технічні запитання

Для чого використовується файл HDRI в 3D?

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

Як працює 32-бітне кодування RGBE?

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

Чи можу я конвертувати HDR у JPG?

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