Зображення OpenEXR (.exr)
Academy СтандартOpenEXR, професійний формат HDR-зображень, який використовують у кіновиробництві та візуальних ефектах. Він підтримує пікселі з плаваючою комою half 16 біт і 32 біти, а також кілька каналів і шарів.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли EXR, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли EXR, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
76 2F 31 01ПОДАННЯ В ASCII: v/1.
Стандартизація: Academy Software Foundation (ASWF) Open Standard
Технічні характеристики
| Архітектура контейнера | Розширюваний контейнер на основі блоків, що підтримує довільні канали, частини та шари глибоких даних |
| Стиснення | PIZ (вейвлет), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (з втратами DCT) та без стиснення |
| Порядок байтів (Endianness) | Порядок байтів від молодшого до старшого (Little-Endian; Intel x86) |
| Колірні простори | Лінійний ACEScg, ACES2065-1, Лінійний Rec.709, Довільні координати кольоровості |
| Канали та структура | Довільні назви каналів (R, G, B, A, Z-глибина, Нормаль, WorldPos, Вектори руху, Cryptomatte) |
| Максимальні розміри | Практично необмежені (підтримує глибоке масштабування з поділом на блоки та межі полотна розміром у багато гігапікселів) |
| Прозорість | Повний альфа-канал із плаваючою комою та масиви об’ємних вибірок для глибокого компонування |
| Потокове та прогресивне завантаження | Потокове передавання рядків або блоків дозволяє швидко читати часткові кадри та створювати проксі-рендери |
Технічна матриця порівняння: EXR проти конкурентів
| Технічний атрибут | EXR (Поточний) | HDR | TIFF | PNG |
|---|---|---|---|---|
| Динамічний діапазон | 16-бітний із половинною точністю та 32-бітний із плаваючою комою, лінійне кодування | 8-бітний зі спільним показником степеня (RGBE) | Цілочисельний 8/16-бітний або 32-бітний з плаваючою комою | Стандартний цілочисельний 8-бітний / 16-бітний |
| Багатоканальні рендер-проходи | Необмежена кількість довільно названих каналів та частин | Лише RGB | Обмежена підтримка шарів | Лише RGBA |
| Галузеве поширення | 100% універсальний стандарт для VFX та голлівудського 3D | Застарілий формат для 3D-освітлення / панорам | Додрукарська підготовка та фотографія | Підтримка залежить від програми. |
| Керування кольором | Рідна інтеграція ACES та OpenColorIO | Системи ad-hoc гами / лінійні | Теги профілів ICC | Теги sRGB / ICC |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Зображення відображається повністю темним або пересвітленим із пересвіченими білими плямами.
Першопричина: Відсутнє перетворення дисплея з лінійного в sRGB або призначено неправильний колірний простір ACES.
Відновлення: Застосуйте перетворення кривої тону ACEScg або Linear-to-sRGB у програмі перегляду File2File.app HDR.
Аналіз безпеки та векторів атак на парсери
Складні засоби розбору OpenEXR, побудовані на блоках, мають суворо перевіряти визначення каналів і межі тайлів, щоб запобігти помилкам керування пам’яттю.
Відомі вектори атак
- Переповнення цілого числа під час обчислення кроку багатоканального буфера в libopenexr.
- Читання за межами динамічної пам’яті під час декомпресії потоків стиснення PIZ або DWAA.
- Відмова в обслуговуванні через глибоко вкладену рекурсію заголовків багаточастинних блоків.
Рекомендації щодо захисту: Декодуйте файли EXR в ізольованих збірках WebAssembly з безпечним керуванням пам’яттю та суворими обмеженнями розмірів тайлів.
Історичне походження та віхи
Основні переваги
- Вбудована підтримка 16-бітних чисел із половинною точністю (FP16) і 32-бітних чисел із плаваючою комою (FP32) зберігає екстремальну яскравість: від прямого сонячного світла до глибоких тіней.
- Архітектура з довільною кількістю каналів об’єднує всі проходи 3D-рендерингу (beauty, diffuse, specular, depth, cryptomatte) в одному файлі.
- Провідні в індустрії алгоритми стиснення DWAA/DWAB та PIZ забезпечують надзвичайно ефективне стиснення без видимих втрат якості.
Технічні обмеження та недоліки
- Великі розміри файлів при збереженні нестиснутих багатошарових 32-бітних рендер-проходів у роздільній здатності 4K/8K.
- Високе навантаження на ЦП та пам'ять під час багатоканальної декомпресії в споживчому програмному забезпеченні.
- Вимагає перетворень керування кольором (ACES або OCIO) для коректного відображення на стандартних дисплеях sRGB.
Цікаві технічні факти
- Industrial Light & Magic винайшла 16-бітний тип даних з плаваючою комою 'half' спеціально для формату OpenEXR.
- Перші чотири магічні бати кожного файлу EXR: це 0x76 0x2F 0x31 0x01, що в ASCII перекладається як 'v/1\x01'.
- OpenEXR підтримує 'глибокі дані' (Deep Data), де один піксель зберігає кілька вибірок кольору та глибини на різних відстанях крізь напівпрозорий дим і хмари.
Поширені технічні запитання
Чому OpenEXR використовують у деяких процесах створення візуальних ефектів?
Він зберігає точні HDR-дані зображення та підтримує кілька каналів, частин і глибинні дані для композиції.
У чому різниця між половинною (half) та звичайною (float) точністю в EXR?
Половинна точність використовує 16 біт на колірний канал і забезпечує 30 ступенів експозиції динамічного діапазону за вдвічі меншого розміру файлу, ніж повна 32-бітна точність із плаваючою комою. Тому в галузі її найчастіше використовують для beauty-проходів.
Як я можу конвертувати EXR у стандартний PNG або JPG?
Ви можете конвертувати файли EXR у тоновані зображення PNG або JPG за допомогою File2File.app безпосередньо у своєму вебпереглядачі.