Зображення OpenEXR (.exr)
Academy СтандартOpenEXR (EXR) - це стандартний формат зображень з високим динамічним діапазоном (HDR) у кінематографі та індустрії візуальних ефектів (VFX), який підтримує 16-бітні половинні та 32-бітні пікселі з плаваючою комою на нескінченній кількості шарів.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли EXR, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли EXR, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
76 2F 31 01ASCII-УЯВЛЕННЯ: v/1.
Стандартизація: Academy Software Foundation (ASWF) Open Standard
Технічні характеристики
| Архітектура контейнера | Розширюваний контейнер на основі блоків, що підтримує довільні канали, частини та шари глибоких даних |
| Стиснення | PIZ (вейвлет), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (з втратами DCT) та без стиснення |
| Порядок байтів (Endianness) | Побітовий порядок з молодшого до старшого (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 HDR.
Аналіз безпеки та векторів атак на парсери
Складні блочні парсери OpenEXR повинні суворо перевіряти визначення каналів і межі тайлів, щоб запобігти проблемам безпеки пам'яті.
Відомі вектори атак
- Переповнення цілих чисел при обчисленні кроку багатоканального буфера в libopenexr.
- Читання за межами купи під час декомпресії потоків стиснення PIZ або DWAA.
- Відмова в обслуговуванні за рахунок глибоко вкладеної рекурсії заголовків багаточастинних блоків.
Захисні найкращі практики: Декодуйте файли EXR за допомогою захищених від помилок пам'яті збірок WebAssembly зі суворими обмеженнями розмірів тайлів.
Історичне походження та віхи
Головні переваги та плюси
- Рідна підтримка 16-бітних половинних (FP16) та 32-бітних (FP32) чисел з плаваючою комою зберігає екстремальну яскравість від прямого сонця до глибоких тіней.
- Архітектура довільних багатоканальних шарів інкапсулює всі проходки 3D-рендерингу (beauty, diffuse, specular, depth, cryptomatte) в одному файлі.
- Провідні в індустрії алгоритми стиснення DWAA/DWAB та PIZ досягають неймовірного стиснення без візуальних втрат.
Технічні обмеження та мінуси
- Великі розміри файлів при збереженні нестильнених багатошарових проходок рендерингу у форматі 4K/8K 32-біт.
- Високе навантаження на ЦП та пам'ять під час багатоканальної декомпресії в споживчому програмному забезпеченні.
- Вимагає перетворень керування кольором (ACES або OCIO) для коректного відображення на стандартних дисплеях sRGB.
Цікаві технічні факти
- Industrial Light & Magic винайшла 16-бітний тип даних з плаваючою комою 'half' спеціально для формату OpenEXR.
- Перші чотири магічні бати кожного файлу EXR - це 0x76 0x2F 0x31 0x01, що в ASCII перекладається як 'v/1\x01'.
- OpenEXR підтримує 'глибокі дані' (Deep Data), де один піксель зберігає кілька вибірок кольору та глибини на різних відстанях крізь напівпрозорий дим і хмари.
Поширені технічні запитання
Чому OpenEXR є стандартним форматом для голлівудських візуальних ефектів?
Оскільки він зберігає 16-бітні та 32-бітні значення світла з плаваючою комою з нескінченним динамічним діапазоном, багатошарові проходки 3D-рендерингу та інформацію глибокого композитингу, необхідну для фотореалістичних візуальних ефектів.
У чому різниця між половинною (half) та звичайною (float) точністю в EXR?
Половинна точність використовує 16 біт на колірний канал, забезпечуючи 30 стопів динамічного діапазону при вдвічі меншому розмірі файлу порівняно з повним 32-бітним числом з плаваючою комою, що робить її улюбленою в галузі для рендерів краси.
Як я можу конвертувати EXR у стандартний PNG або JPG?
Ви можете конвертувати файли EXR у тоновані зображення PNG або JPG за допомогою File2File.app безпосередньо у своєму вебпереглядачі.