Зображення OpenEXR (.exr)

Academy Стандарт

OpenEXR, професійний формат HDR-зображень, який використовують у кіновиробництві та візуальних ефектах. Він підтримує пікселі з плаваючою комою half 16 біт і 32 біти, а також кілька каналів і шарів.

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

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

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

Приватно - файли ніколи не залишають ваш пристрій

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

Сигнатура заголовка на байтовому рівні (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 (Поточний)HDRTIFFPNG
Динамічний діапазон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 з безпечним керуванням пам’яттю та суворими обмеженнями розмірів тайлів.

Історичне походження та віхи

2020Випущено OpenEXR 3.0 під егідою Academy Software Foundation з модернізованою багатопотоковістю.
2013OpenEXR 2.0 запроваджує композитинг із глибокими даними (Deep Data) та багаточастинні структури зображень.
2003Industrial Light & Magic відкриває вихідний код OpenEXR за зміненою ліцензією BSD після використання у фільмах про Гаррі Поттера.
1999Створено інженерами ILM Флоріаном Кайнцем, Родом Богартом та Дрю Хессом для заміни 8-бітних форматів Cineon/DPX.

Основні переваги

  • Вбудована підтримка 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 безпосередньо у своєму вебпереглядачі.