Кіріспе

OpenEXR – бұл киноиндустриясы үшін бейне сақтау форматы.

OpenEXR – жоғары динамикалық диапазонды, көп арналы растрлық файл форматы, Industrial Light & Magic (ILM) компаниясы жасаған бағдарламалық құралдар жиынтығымен бірге BSD лицензиясына ұқсас ашық лицензия бойынша ашық стандарт ретінде жарияланды. Ол әртүрлі піксел өлшемдеріне ие болатын бірнеше арнаны, соның ішінде 32 биттік таңбаланбаған бүтін санды, 32 биттік және 16 биттік қалқыма нүктелік мәндерді, сондай-ақ жоғалтусыз және жоғалтулы сығылу алгоритмдерін қоса алғанда, әртүрлі сығылу әдістерін қолдайды. Ол сонымен қатар кез келген арналарды және сол және оң камерадан түсірілген суреттер сияқты бірнеше көзқарасты кодтай алады.

Шолу

Форматтың толық техникалық сипаттамасы OpenEXR веб-сайтында қолжетімді. OpenEXR API бағдарламашыларға құралдарды әзірлеуді салыстырмалы түрде жеңілдетеді. Өндіріс процестері ешқашан толықтай бірдей болмайтындықтан, мәселелерді шешу үшін әрқашан арнайы құралдар жасау қажет (мысалы, кескінді өңдеу мәселесі). OpenEXR кітапханасы кескіннің плиткалар мен арналар сияқты атрибуттарына жылдам және оңай қол жеткізуді қамтамасыз етеді.

Тарих

OpenEXR 1999 жылы ILM компаниясымен жасалды және 2003 жылы ашық бастапқы кодты бағдарламалық кітапханасымен бірге көпшілікке ұсынылды. Ол компьютерлік графика саласында, әсіресе кино және теледидар өндірісінде қолданылатын бағдарламалық құралдарда кеңінен қолданыс тапты. Формат бірнеше рет жаңартылып, плиткалар, мип-карталар, жаңа сығылу әдістері және басқа да мүмкіндіктерге қолдау қосылды. 2014 жылдың тамызында жарық көрген 2.2 нұсқасы жоғалтулы DWA сығылу форматын енгізді.

Сығу әдістері

OpenEXR-де жоғалтусыз сығылудың үш негізгі түрі бар, соның ішінде екі түрлі Zip сығылу әдісі. Көптеген түйіршіксіз кескіндер үшін екі Zip сығылу әдісі жақсы нәтиже береді, ал PIZ сығылу алгоритмі түйіршікті кескіндерге артықшылық танытады. Төмендегі опциялар қол жетімді:

Ешқайсысы жоқ – Барлық сығылуды өшіреді.
Жол ұзындығын кодтау (RLE) – Бұл стандартты Targa файлдарында қолданылатын қарапайым сығылу түрі.
Zip (жол бойынша) – Жеке жолдарға zlib орамасымен дефляциялық сығылу (атына қарамастан, ZIP файл пішіміне негізделмейді).
Zip (16 жолдық блоктар) – 16 жолдық блоктарға дефляциялық сығылу қолданылады. Бұл әдіс фильмдік түйіршіксіз рендерленген кескіндер үшін ең тиімді.
PIZ (толқындық сығылу) – Бұл жоғалтусыз әдіс жаңа толқындық / Хаффман сығылу комбинациясын қолданады. Бұл сығылу түрі түйіршікті кескіндермен жұмыс істегенде өте тиімді және түйіршікті жағдайларда басқа опциялардан жоғары нәтиже береді.
PXR24 (24 биттік деректерді түрлендіру, содан кейін дефляциялық сығылу) – Pixar Animation Studios-тің бұл сығылу түрі 32 биттік қалқымалы сандарды 24 битке түрлендіріп, содан кейін дефляциялық сығылуды қолданады. Бұл жарты және 32 биттік бүтін сандық деректер үшін жоғалтусыз, ал 32 биттік қалқымалы деректер үшін шамалы жоғалтулы.
B44 – Бұл сығылу түрі жартылай деректер үшін жоғалтулы, ал 32 биттік деректерді сығылмай сақтайды. Ол 2.28:1 немесе 4.57:1 тұрақты сығылу коэффициентін сақтайды және нақты уақыт ойнату үшін арналған. B44 кескіннің мазмұнына қарамастан біркелкі сығылады.
B44A – Альфа каналдар сияқты біркелкі түсті аймақтарды қосымша сығылатын B44 кеңейтімі.
DWAA – DreamWorks Animation ұсынған, JPEG сияқты жоғалтулы сығылу форматы. 32 жолды бірге сығылады.
DWAB – DWAA сияқты, бірақ 256 жолды сығылады.

Кредиттер

OpenEXR.org техникалық кіріспесінен: ILM OpenEXR файл форматы Флориан Кайнц, Войцех Ярош және Род Богарт тарапынан жобаланып, іске асырылды. PIZ сығылу схемасы Кристиан Руэ жасаған алгоритмге негізделген. Джош Пайнз PIZ алгоритмін 16 биттік форматқа кеңейтуге көмектесті және float-тан half-қа түрлендірулерді оңтайландырды. Дрю Хесс ILM-нің ішкі кодтарын жалпы қолдануға ұсыну үшін жинақтап, бейімдеді және OpenEXR бағдарламалық қамтамасын қолдауды жүзеге асырады. PXR24 сығылу әдісі Pixar Animation Studios-тағы Лорен Карпентер жазған алгоритмге негізделген.