Изображение OpenEXR (.exr)
Academy СтандартOpenEXR (EXR) - стандартный формат изображений с расширенным динамическим диапазоном (HDR) в индустрии кино и визуальных эффектов (VFX), поддерживающий 16-битную половинную и 32-битную точность с плавающей запятой на бесконечных слоях.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы EXR по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы EXR по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
76 2F 31 01ПРЕДСТАВЛЕНИЕ ASCII: 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, нормали, мировые координаты, векторы движения, Cryptomatte) |
| Макс. габариты | Практически неограниченные (поддерживает мозаичное глубокое масштабирование и многогигапиксельные границы холста) |
| Прозрачность | Полный канал прозрачности с плавающей запятой и массивы объемных выборок для глубокого композитинга |
| Потоковая передача и прогрессивная загрузка | Потоковая передача покадровых строк или тайловых блоков обеспечивает быстрое чтение частичных кадров и рендеринг прокси |
Техническая матрица сравнения: EXR против конкурентов
| Технический атрибут | EXR (Текущий) | HDR | TIFF | PNG |
|---|---|---|---|---|
| Динамический диапазон | 16-bit half и 32-bit float линейный | 8-bit с общим экспонентом (RGBE) | Целочисленный 8/16-bit или 32-bit float | Стандартный 8-bit / 16-bit целочисленный |
| Многоканальные проходы | Неограниченные каналы и части с произвольными именами | Только RGB | Ограниченная поддержка слоев | Только RGBA |
| Распространение в индустрии | 100% универсальный стандарт VFX и голливудской 3D-графики | Устаревшее 3D-освещение / панорамы | Допечатная подготовка и фотография | Универсальный веб-стандарт |
| Управление цветом | Встроенная нативная интеграция ACES и OpenColorIO | Специальная гамма / линейный | Теги профилей ICC | Теги sRGB / ICC |
Типичные режимы повреждения и руководство по восстановлению в HEX
Изображение отображается полностью темным или пережженным ядерно-белыми пятнами.
Первопричина: Отсутствует преобразование дисплея из линейного в sRGB или неверно назначено цветовое пространство ACES.
Восстановление: Примените кривую тональности ACEScg или Linear-to-sRGB в просмотрщике File2File HDR Viewer.
Анализ безопасности и векторы атак на парсер
Сложные парсеры OpenEXR на основе блоков должны строго проверять определения каналов и границы тайлов во избежание проблем с безопасностью памяти.
Известные векторы атак
- Целочисленное переполнение при вычислении шага многоканального буфера в libopenexr.
- Чтение за пределами кучи во время распаковки сжатого потока PIZ или DWAA.
- Отказ в обслуживании из-за глубоко вложенной рекурсии заголовков многочастных блоков.
Защитные лучшие практики: Декодируйте файлы EXR с использованием безопасных для памяти изолированных сборок WebAssembly со строгими ограничениями размеров тайлов.
Исторические истоки и вехи
Ключевые преимущества и плюсы
- Родная поддержка 16-битных полу-float (FP16) и 32-bit float (FP32) сохраняет экстремальную освещенность от прямого солнца до темных теней.
- Произвольная многоканальная архитектура инкапсулирует все проходы 3D-рендеринга (beauty, diffuse, specular, depth, cryptomatte) в одном файле.
- Лидирующие в отрасли алгоритмы сжатия DWAA/DWAB и PIZ обеспечивают невероятное сжатие без визуальных потерь.
Технические ограничения и минусы
- Существенные размеры файлов при сохранении несжатых многослойных проходов рендеринга 4K/8K 32-bit.
- Высокая нагрузка на ЦП и память при многоканальной распаковке в потребительском программном обеспечении.
- Требует преобразований управления цветом (ACES или OCIO) для правильного отображения на стандартных дисплеях sRGB.
Интересные технические факты
- Industrial Light & Magic изобрела 16-битный тип данных с плавающей запятой «half» специально для формата OpenEXR.
- Первые четыре сигнатурных байта каждого файла EXR - 0x76 0x2F 0x31 0x01, что в ASCII переводится как 'v/1\x01'.
- OpenEXR поддерживает «Глубокие данные», где один пиксель хранит несколько выборок цвета и глубины на разном расстоянии сквозь полупрозрачный дым и облака.
Часто задаваемые технические вопросы
Почему OpenEXR является стандартным форматом для голливудских визуальных эффектов?
Потому что он хранит 16- и 32-битные значения света с плавающей запятой с бесконечным динамическим диапазоном, многослойные проходы 3D-рендеринга и информацию глубокого композитинга, необходимую для фотореалистичных спецэффектов.
В чем разница между half float и float в EXR?
Half float использует 16 бит на цветовой канал, предлагая 30 стопов динамического диапазона при половинном размере файла по сравнению с полным 32-битным float, что делает его любимцем индустрии для рендеринга красоты.
Как конвертировать EXR в стандартный PNG или JPG?
Вы можете конвертировать файлы EXR в тонально сопоставленные изображения PNG или JPG с помощью File2File.app прямо в вашем веб-браузере.