OpenEXR
Расширение имени файла | .exr |
---|---|
Тип интернет-СМИ | изображение/x-exr |
Единый идентификатор типа (UTI) | com.ilm.openexr-изображение [1] |
Разработано | Промышленный свет и магия |
Первоначальный выпуск | 1999 год |
Последний выпуск | 3.2.4 [2] 26 марта 2024 г |
Тип формата | Визуализация в высоком динамическом диапазоне |
Открытый формат ? | Да, модифицированная лицензия BSD |
Веб-сайт | www |
OpenEXR — это с расширенным динамическим диапазоном многоканальный формат растровых файлов , выпущенный как открытый стандарт вместе с набором программных инструментов, созданных Industrial Light & Magic (ILM), под лицензией свободного программного обеспечения , аналогичной лицензии BSD . [3]
Он примечателен поддержкой нескольких каналов с потенциально разными размерами пикселей, включая 32-битное целое число без знака, 32-битные и 16-битные значения с плавающей запятой, а также различные методы сжатия, которые включают без потерь и алгоритмы сжатия с потерями . Он также имеет произвольные каналы и кодирует несколько точек зрения, например изображения с левой и правой камеры. [4]
Обзор [ править ]
Полное техническое описание формата доступно на веб-сайте OpenEXR. [4]
OpenEXR, или сокращенно EXR, — это глубокий растровый формат, разработанный ILM и широко используемый в индустрии компьютерной графики, как для визуальных эффектов, так и для анимации.
Мультиразрешение и произвольный формат каналов OpenEXR делают его привлекательным для композитинга , поскольку он облегчает некоторые болезненные элементы процесса. Поскольку он может хранить произвольные каналы — зеркальные , диффузные, альфа-каналы , RGB, нормали и различные другие типы — в одном файле, это избавляет от необходимости хранить эту информацию в отдельных файлах. Многоканальная концепция также снижает необходимость «запекания» вышеупомянутых данных в окончательное изображение. Если композитора не устраивает текущий уровень зеркальности , он может настроить этот конкретный канал. [5]
OpenEXR API делает разработку инструментов относительно простой для разработчиков. Поскольку почти никогда не бывает двух одинаковых производственных конвейеров, всегда необходимо разрабатывать специальные инструменты для решения проблем (например, проблем с манипуляциями с изображениями). Библиотека OpenEXR обеспечивает быстрый и простой доступ к атрибутам изображения, таким как плитки и каналы. [5]
Библиотека OpenEXR разработана на C++ и доступна как в исходном формате, так и в скомпилированном формате для Microsoft Windows , macOS и Linux . Привязки Python для библиотеки также доступны для версии 2.x. [6]
История [ править ]
OpenEXR был создан ILM в 1999 году и выпущен для широкой публики в 2003 году вместе с с открытым исходным кодом библиотекой программного обеспечения . [7] [8] Вскоре он получил широкое распространение в программном обеспечении, используемом в компьютерной графике , особенно в кино- и телепроизводстве . Формат несколько раз обновлялся, добавлялась поддержка тайлов, MIP-карт , новых методов сжатия и других функций. [8] В 2007 году OpenEXR был удостоен премии Американской киноакадемии за технические достижения . [8]
OpenEXR 2.0 был выпущен в апреле 2013 года, расширив формат поддержкой глубоких буферов изображений и нескольких изображений, встроенных в один файл. [8] [9] [10] В версии 2.2, выпущенной в августе 2014 года, добавлен формат сжатия DWA с потерями. [11]
Распространение [ править ]
В дистрибутив программного обеспечения OpenEXR входят:
- библиотеки
- Half — класс C++ для управления половинными значениями, как если бы они были встроенным типом данных C++.
- exrdisplay, пример приложения для просмотра изображений OpenEXR на дисплее с различными настройками экспозиции.
Библиотеки [ править ]
- Погода МВФ [12] = библиотека, созданная Industrial Light & Magic (Ilm) для низкоуровневых операций с файлами формата изображений OpenEXR (Imf) [13]
- libIlmImf в Linux
- IlmImf.dll в Windows
- ИльмИмфУтил
- имат [14]
Глубина цвета [ править ]
OpenEXR поддерживает глубину цвета, используя:
- 16-битная с плавающей запятой (половина)
- 32-битная с плавающей запятой
- 32-битное целое число без знака
Методы сжатия [ править ]
В OpenEXR встроены три основных типа сжатия без потерь и два различных метода сжатия Zip. Для большинства изображений без большого количества зернистости лучше всего работают два метода сжатия Zip, а алгоритм сжатия PIZ лучше подходит для зернистых изображений. Доступны следующие варианты: [15]
- Никто
- Отключает все сжатия.
- Кодирование длины серии (RLE)
- Это базовая форма сжатия, сравнимая с той, которая используется в стандартных файлах Targa .
- Почтовый индекс (на строку сканирования)
- deflate сжатие с применением оболочки zlib к отдельным строкам сканирования (не основано на формате файла ZIP, несмотря на его название).
- Zip (16 блоков развертки)
- Сжатие deflate применяется к блокам по 16 строк развертки за раз. Это, как правило, наиболее эффективный стиль сжатия для визуализированных изображений, к которым не применяется зернистость пленки.
- PIZ ( вейвлет -сжатие)
- Этот метод без потерь использует новое комбинированное вейвлет-сжатие/ сжатие Хаффмана . Эта форма сжатия весьма эффективна при работе с зернистыми изображениями и часто превосходит любые другие варианты в условиях зернистости.
- PXR24 (преобразование 24-битных данных с последующим сжатием дефлятирования)
- Эта форма сжатия от Pixar Animation Studios преобразует 32-битные числа с плавающей запятой в 24-битные, а затем использует сжатие с понижением. Он без потерь для половинных и 32-битных целочисленных данных и с небольшими потерями для 32-битных данных с плавающей запятой.
- Б44
- Эта форма сжатия обеспечивает потерю половины данных и сохраняет 32-битные данные в несжатом виде. Он поддерживает фиксированный размер сжатия 2,28:1 или 4,57:1 и предназначен для воспроизведения в реальном времени. B44 сжимает равномерно независимо от содержимого изображения. [16]
- Б44А
- Расширение B44, в котором области плоского цвета дополнительно сжимаются, например альфа-каналы.
- ДВАА
- JPEG-подобный формат сжатия с потерями, созданный DreamWorks Animation . Сжимает 32 строки сканирования вместе. [11]
- ДВАБ
- То же, что и DWAA, но сжимает блоки по 256 строк развертки.
Кредиты [ править ]
Из Технического введения OpenEXR.org:
Формат файла ILM OpenEXR был разработан и реализован Флорианом Кайнцем, Войцехом Ярошем и Родом Богартом. Схема сжатия PIZ основана на алгоритме Кристиана Руэ. Джош Пайнс помог расширить алгоритм PIZ для 16-битных разрядностей и нашел оптимизацию для преобразований чисел с плавающей запятой в половину. Дрю Хесс упаковал и адаптировал внутренний исходный код ILM для публичного выпуска и поддерживает распространение программного обеспечения OpenEXR. Метод сжатия PXR24 основан на алгоритме, написанном Лорен Карпентер из Pixar Animation Studios. [4]
См. также [ править ]
Ссылки [ править ]
- ^ «CGImageSource.SupportedTypes» . Плагин Claris FileMaker MBS . Программное обеспечение MonkeyBread.
- ^ «Выпуск 3.2.4» . 26 марта 2024 г. Проверено 1 апреля 2024 г.
- ^ «Лицензия» . openexr.com .
- ↑ Перейти обратно: Перейти обратно: а б с Флориан Кайнц; Род Богарт; Петр Станчик; Питер Хиллман (5 ноября 2013 г.). «Техническое введение в OpenEXR» (PDF) . Промышленный свет и магия . Проверено 9 ноября 2015 г.
- ↑ Перейти обратно: Перейти обратно: а б «Макет файла OpenEXR» . Проверено 25 мая 2023 г.
- ^ «OpenEXR 1.3.0: Индекс пакетов Python» . pypi.python.org . Проверено 11 апреля 2018 г.
- ^ «Industrial Light & Magic выпускает собственный формат файла изображения OpenEXR с расширенным динамическим диапазоном для сообщества открытого исходного кода» (PDF) (пресс-релиз). 22 января 2003 г. Архивировано из оригинала (PDF) 21 июля 2017 г. . Проверено 11 апреля 2013 г.
- ↑ Перейти обратно: Перейти обратно: а б с д «ОпенЭКСР» . 16 января 2023 г. – через GitHub.
- ^ Станчик, Петр (9 апреля 2013 г.). «Объявление о выпуске v2.0.0.0 (GM)» . openexr-announce (список рассылки).
- ^ «ОпенЭКСР 2.0» . CGSoceity . 10 апреля 2013 г.
- ↑ Перейти обратно: Перейти обратно: а б «DreamWorks Animation обеспечивает сжатие с потерями в OpenEXR 2.2» (пресс-релиз). Глендейл, Калифорния. 8 августа 2014 года . Проверено 18 августа 2014 г.
- ^ «Чтение и запись файлов изображений OpenEXR с помощью библиотеки IlmImf» (PDF) .
- ^ «имя · Проблема № 879 · AcademySoftwareFoundation/openexr» . Гитхаб .
- ^ «Имат» . 21 января 2023 г. — через GitHub.
- ^ «Техническое введение в OpenEXR» (PDF) . Архивировано из оригинала (PDF) 17 июля 2011 г. Проверено 23 февраля 2006 г.
- ^ «Техническое введение в OpenEXR» (PDF) . Архивировано из оригинала (PDF) 17 июля 2011 г. Проверено 23 февраля 2006 г.