OpenEXR - OpenEXR
Расширение имени файла | .exr |
---|---|
Разработан | Промышленный свет и магия |
изначальный выпуск | 1999 |
Последний релиз | 2.5.3 (12 августа 2020 г. ) |
Тип формата | Визуализация с высоким динамическим диапазоном |
Открытый формат ? | Да, Измененная лицензия BSD |
Интернет сайт | www |
OpenEXR это расширенный динамический диапазон растр формат файла, выпущенный как открытый стандарт вместе с набором программных инструментов, созданных Промышленный свет и магия (ILM), под лицензия на бесплатное программное обеспечение аналогично Лицензия BSD.[1]
Он примечателен поддержкой нескольких каналов с потенциально разными размерами пикселей, включая 32-битное целое число без знака, 32-битные и 16-битные значения с плавающей запятой, а также различные методы сжатия, которые включают без потерь и сжатие с потерями алгоритмы. Он также имеет произвольные каналы и кодирует несколько точек обзора, например изображения левой и правой камеры.[2]
Обзор
Полное техническое описание формата доступно на веб-сайте OpenEXR.[2]
OpenEXR, или сокращенно EXR, - это глубокий растровый формат, разработанный ILM и широко используемый в индустрии компьютерной графики, как для визуальных эффектов, так и для анимации.
Множественное разрешение и произвольный формат канала OpenEXR делают его привлекательным для композитинг, поскольку это облегчает несколько болезненных элементов процесса. Поскольку он может хранить произвольные каналы -зеркальный, размытый, альфа, RGB, нормали и различные другие типы - в одном файле отпадает необходимость хранить эту информацию в отдельных файлах. Многоканальная концепция также снижает необходимость «запекания» вышеупомянутых данных до конечного изображения. Если композитор не доволен текущим уровнем зеркальность, они могут настроить этот конкретный канал.[3]
OpenEXR's API делает разработку инструментов относительной легкостью для разработчиков. Поскольку почти никогда не бывает двух одинаковых производственных конвейеров, всегда необходимо разрабатывать специальные инструменты для решения проблем, например. г. проблема манипулирования изображениями. Библиотека OpenEXR обеспечивает быстрый и легкий доступ к атрибутам изображения, таким как плитки и каналы.[3]
История
OpenEXR был создан ILM в 1999 году и выпущен для публики в 2003 году вместе с Открытый исходный код библиотека программного обеспечения.[4][5] Вскоре он получил широкое распространение в программном обеспечении, используемом в компьютерная графика, особенно для фильм и телевидение производство. Формат обновлялся несколько раз, добавлена поддержка тайлов, MIP-карты, новые методы сжатия и другие возможности.[5] В 2007 году OpenEXR был удостоен награды Премия Оскар за технические достижения.[5]
OpenEXR 2.0 был выпущен в апреле 2013 года, расширив формат за счет поддержки глубокие буферы изображений и несколько изображений, встроенных в один файл.[5][6][7] Версия 2.2, выпущенная в августе 2014 г., добавила формат сжатия DWA с потерями.[8]
Методы сжатия
В OpenEXR встроено три основных типа сжатия без потерь с двумя различными методами сжатия Zip. Для большинства изображений без большого количества зернистости два метода сжатия Zip работают лучше всего, а алгоритм сжатия PIZ лучше подходит для зернистых изображений. Доступны следующие варианты:[9]
- Никто
- Отключает все сжатие.
- Кодирование длины цикла (RLE)
- Это основная форма сжатия, сравнимая с той, что используется в стандартных Targa файлы.
- Почтовый индекс (на строку сканирования)
- сдувать сжатие с обертка zlib применяется к отдельным развертки (не на основе Формат файла ZIP несмотря на название).
- Zip (16 блоков развертки)
- сжатие deflate применяется к блокам по 16 строк развертки одновременно. Это, как правило, наиболее эффективный стиль сжатия для визуализированных изображений, к которым не применяется зернистость пленки.
- ПИЗ (вейвлет сжатие)
- Это использует новый комбинированный вейвлет / Хаффман сжатие. Эта форма сжатия довольно эффективна при работе с зернистыми изображениями и часто превосходит любые другие параметры в условиях зернистости.
- PXR24 (24-битное преобразование данных, затем сжатие без сжатия)
- Эта форма сжатия от Pixar Animation Studios преобразует 32-битные числа с плавающей запятой в 24-битные, затем использует сжатие deflate. Он без потерь для половинных и 32-битных целочисленных данных и с небольшими потерями для 32-битных данных с плавающей запятой.
- B44
- Эта форма сжатия приводит к потерям половины данных и сохраняет 32-битные данные без сжатия. Он поддерживает фиксированный размер сжатия 2,28: 1 или 4,57: 1 и предназначен для воспроизведения в реальном времени. B44 сжимается равномерно независимо от содержания изображения. [10]
- B44A
- Расширение до B44, где области плоского цвета дополнительно сжимаются, например альфа-каналы.
- DWAA
- JPEG-подобный формат сжатия с потерями, созданный DreamWorks Анимация. Сжимает вместе 32 строки развертки.[8]
- DWAB
- То же, что DWAA, но сжимает блоки по 256 строк развертки.
Кредиты
Из технического введения OpenEXR.org:
Формат файла ILM OpenEXR был разработан и реализован Флорианом Кайнцем, Войцехом Ярошем и Родом Богартом. Схема сжатия PIZ основана на алгоритме Кристиана Руэ. Джош Пайнс помог расширить алгоритм PIZ для 16-битных и нашел оптимизацию для преобразований числа с плавающей точкой в половину. Дрю Хесс собрал и адаптировал внутренний исходный код ILM для публичного выпуска и поддерживает распространение программного обеспечения OpenEXR. Метод сжатия PXR24 основан на алгоритме, написанном Лорен Карпентер из Pixar Animation Studios.[2]
Разработка с OpenEXR
Библиотека OpenEXR разработана в C ++ и доступен как в исходном, так и в скомпилированном формате для Майкрософт Виндоус, macOS и Linux. Привязки Python для библиотеки также доступны для версии 2.x.[11]
Начиная с версии 1.3.0, выпущенной 8 июня 2006 г., в OpenEXR была добавлена поддержка многопоточного чтения и записи. Многопоточное чтение и запись обеспечивает более высокий прирост производительности для систем с несколькими ядрами или процессорами. OpenEXR обрабатывает чтение и запись с помощью пул потоков.[нужна цитата ]
Смотрите также
использованная литература
- ^ Лицензия, openexr.com
- ^ а б c Флориан Кайнц; Род Богарт; Петр Станчик; Питер Хиллман (5 ноября 2013 г.). «Техническое введение в OpenEXR» (PDF). Промышленный свет и магия. Получено 2015-11-09.
- ^ а б Кайнц, Флориан. «Макет файла OpenEXR» (PDF). Промышленный свет и магия. Получено 7 декабря 2013.
- ^ "Industrial Light & Magic выпускает проприетарный формат файлов изображений с расширенным динамическим диапазоном OpenEXR для сообщества разработчиков открытого исходного кода" (PDF) (Пресс-релиз). 22 января 2003 г. Архивировано с оригинал (PDF) 21 июля 2017 г.. Получено 11 апреля 2013.
- ^ а б c d «Главный веб-сайт OpenEXR».
- ^ Станчик, Петр (9 апреля 2013 г.). "Объявление о выпуске v2.0.0.0 (GM)". openexr-анонс (Список рассылки).
- ^ «OpenEXR 2.0». CGSoceity. 10 апреля 2013 г.
- ^ а б «DreamWorks Animation способствует сжатию с потерями в OpenEXR 2.2» (Пресс-релиз). Глендейл, Калифорния. 8 августа 2014 г.. Получено 2014-08-18.
- ^ «Архивная копия» (PDF). Архивировано из оригинал (PDF) на 2011-07-17. Получено 2006-02-23.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
- ^ «Архивная копия» (PDF). Архивировано из оригинал (PDF) на 2011-07-17. Получено 2006-02-23.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
- ^ «OpenEXR 1.3.0: указатель пакета Python». pypi.python.org. Получено 11 апреля 2018.