OpenEXR с расширенным динамическим диапазоном (.exr)

Academy Стандарт

OpenEXR, профессиональный формат HDR-изображений, используемый в кинопроизводстве и визуальных эффектах. Он поддерживает пиксели с плавающей запятой half 16 бит и 32 бита, а также несколько каналов и слоев.

Анализ и метаданные

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

Выберите или перетащите файлы сюда

Конфиденциально - файлы никогда не покидают ваше устройство

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

Сигнатура заголовка на уровне байтов (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 (Текущий)HDRTIFFPNG
Динамический диапазонЛинейные значения: 16-битный формат половинной точности (half) и 32-битный с плавающей запятой (float)8 бит с общей экспонентой (RGBE)Целые числа глубиной 8 или 16 бит либо 32-битные числа с плавающей запятойСтандартный целочисленный формат с разрядностью 8 или 16 бит
Многоканальные проходыНеограниченные каналы и части с произвольными именамиТолько RGBОграниченная поддержка слоевТолько RGBA
Распространение в индустрии100% универсальный стандарт VFX и голливудской 3D-графикиУстаревшее 3D-освещение / панорамыДопечатная подготовка и фотографияПоддержка зависит от программы.
Управление цветомВстроенная интеграция с ACES и OpenColorIOСпециальная гамма / линейныйТеги профилей ICCТеги sRGB / ICC

Распространенные сценарии повреждения и руководство по восстановлению в HEX

Изображение полностью темное или засвечено ярко-белыми пятнами.

Первопричина: Отсутствует преобразование дисплея из линейного в sRGB или неверно назначено цветовое пространство ACES.

Восстановление: Примените кривую тональности ACEScg или Linear-to-sRGB в просмотрщике File2File.app HDR Viewer.

Анализ безопасности и векторы атак на парсер

В сложных парсерах OpenEXR на основе блоков необходимо строго проверять описания каналов и границы тайлов, чтобы избежать ошибок работы с памятью.

Известные векторы атак

  • Целочисленное переполнение при вычислении шага многоканального буфера в libopenexr.
  • Чтение за пределами кучи во время распаковки сжатого потока PIZ или DWAA.
  • Отказ в обслуживании из-за глубоко вложенной рекурсии заголовков многочастных блоков.

Лучшие практики защиты: Декодируйте файлы EXR с использованием безопасных для памяти изолированных сборок WebAssembly со строгими ограничениями размеров тайлов.

История происхождения и ключевые этапы

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

Ключевые преимущества и плюсы

  • Встроенная поддержка 16-битных чисел половинной точности (FP16) и 32-битных чисел с плавающей запятой (FP32) сохраняет широкий диапазон яркости: от прямого солнечного света до глубоких теней.
  • Произвольная многоканальная структура позволяет хранить все проходы 3D-рендеринга (основной, диффузный, зеркальный, глубины, 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 поддерживает «Глубокие данные», где один пиксель хранит несколько выборок цвета и глубины на разном расстоянии сквозь полупрозрачный дым и облака.

Часто задаваемые технические вопросы

Почему OpenEXR используют в некоторых процессах создания визуальных эффектов?

Он сохраняет точные HDR-данные изображений и поддерживает несколько каналов, частей и глубокие данные для композитинга.

В чем разница между half float и float в EXR?

Формат с плавающей запятой половинной точности использует 16 бит на цветовой канал и обеспечивает динамический диапазон в 30 ступеней при вдвое меньшем размере файла по сравнению с форматом с плавающей запятой одинарной точности (32 бит), что делает его предпочтительным в отрасли для рендеринга основного изображения.

Как конвертировать EXR в стандартный PNG или JPG?

Вы можете преобразовать файлы EXR в изображения PNG или JPG с тональным отображением прямо в браузере с помощью File2File.app.