أوبن إي إكس آر
| امتداد اسم الملف |
.إكسر |
|---|---|
| نوع الوسائط على الإنترنت | الصورة/x-exr |
| معرف النوع الموحد (UTI) | com.ilm.openexr-image [1] |
| تم التطوير بواسطة | الإضاءة الصناعية والسحر |
| الإصدار الأولي | 1999 |
| أحدث إصدار | 3.3.0 [2] 30 سبتمبر 2024 |
| نوع التنسيق | التصوير عالي النطاق الديناميكي |
| تنسيق مفتوح ؟ | نعم، رخصة BSD المعدلة |
| موقع إلكتروني | www.openexr.com |
OpenEXR هو تنسيق ملف نقطي متعدد القنوات وعالي النطاق الديناميكي ، تم إصداره كمعيار مفتوح مع مجموعة من أدوات البرمجيات التي أنشأتها شركة Industrial Light & Magic (ILM)، بموجب ترخيص برمجيات مجاني مشابه لترخيص BSD . [3]
تتميز هذه التقنية بدعم قنوات متعددة لأحجام بكسل مختلفة محتملة، بما في ذلك قيم الأعداد الصحيحة غير الموقعة 32 بت، وقيم الفاصلة العائمة 32 بت و16 بت، بالإضافة إلى تقنيات الضغط المختلفة التي تتضمن خوارزميات الضغط بدون فقدان أو فقدان البيانات . كما تحتوي على قنوات عشوائية وتقوم بتشفير وجهات نظر متعددة مثل صور الكاميرا اليسرى واليمنى. [4]
ملخص
يتوفر مقدمة تقنية كاملة للتنسيق على موقع OpenEXR. [4]
OpenEXR، أو EXR باختصار، هو تنسيق نقطي عميق تم تطويره بواسطة ILM ويُستخدم على نطاق واسع في صناعة الرسومات الحاسوبية، سواء في المؤثرات البصرية أو الرسوم المتحركة.
إن تنسيق OpenEXR متعدد الدقة والقنوات العشوائية يجعله جذابًا للتركيب ، حيث يخفف من العديد من العناصر المؤلمة في العملية. نظرًا لأنه يمكنه تخزين قنوات عشوائية - مرآوية ، منتشرة، ألفا ، RGB، طبيعية، وأنواع أخرى مختلفة - في ملف واحد، فإنه يزيل الحاجة إلى تخزين هذه المعلومات في ملفات منفصلة. يقلل مفهوم القنوات المتعددة أيضًا من ضرورة "الخبز" في البيانات المذكورة أعلاه إلى الصورة النهائية. إذا لم يكن المركب راضيًا عن المستوى الحالي للمرآوية ، فيمكنه ضبط تلك القناة المحددة. [5]
تجعل واجهة برمجة التطبيقات الخاصة بـ OpenEXR تطوير الأدوات أمرًا سهلاً نسبيًا للمطورين. نظرًا لأنه لا يوجد تقريبًا خطان إنتاجيان متطابقان، فيجب دائمًا تطوير أدوات مخصصة لمعالجة المشكلات (على سبيل المثال مشكلة معالجة الصور). تتيح مكتبة 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 ما يلي:
- المكتبات
- نصف، فئة C++ لمعالجة قيم النصف كما لو كانت نوع بيانات C++ مدمج
- exrdisplay، تطبيق نموذجي لعرض صور OpenEXR على شاشة في إعدادات تعرض مختلفة
المكتبات
- IlmImf [12] = مكتبة تم إنشاؤها بواسطة Industrial Light & Magic (Ilm) للعمليات منخفضة المستوى على الملفات بتنسيق صورة OpenEXR (Imf) [13]
- libIlmImf على لينكس
- IlmImf.dll على الويندوز
- إيلمفوتيل
- إيماث [14]
عمق اللون
يدعم OpenEXR عمق الألوان باستخدام:
- 16 بت فاصلة عائمة (نصف)
- 32 بت نقطة عائمة
- عدد صحيح غير موقّع مكون من 32 بت
طرق الضغط
توجد ثلاثة أنواع عامة من الضغط بدون فقدان للبيانات مدمجة في OpenEXR، مع طريقتين مختلفتين لضغط Zip. بالنسبة لمعظم الصور التي لا تحتوي على الكثير من الحبيبات، يبدو أن طريقتي ضغط Zip هما الأفضل، بينما تكون خوارزمية ضغط PIZ أكثر ملاءمة للصور ذات الحبيبات. الخيارات التالية متاحة: [15]
- لا أحد
- تعطيل كافة الضغط.
- ترميز طول التشغيل (RLE)
- هذا هو شكل أساسي من الضغط يشبه الشكل المستخدم في ملفات Targa القياسية .
- الرمز البريدي (لكل خط مسح)
- تفريغ الضغط باستخدام غلاف zlib المطبق على خطوط المسح الفردية (لا يعتمد على تنسيق ملف ZIP على الرغم من اسمه).
- الرمز البريدي (16 كتلة خط المسح الضوئي)
- يتم تطبيق ضغط الانكماش على كتل مكونة من 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 على خوارزمية كتبها لورين كاربنتر في استوديوهات بيكسار للرسوم المتحركة. [4]
انظر أيضا
مراجع
- ^ "CGImageSource.SupportedTypes". Claris FileMaker MBS Plug-in . MonkeyBread Software.
- ^ "الإصدار 3.3.0". 30 سبتمبر 2024. تم الاسترجاع 1 أكتوبر 2024 .
- ^ "الترخيص". openexr.com .
- ^ abc Florian Kainz; Rod Bogart; Piotr Stanczyk; Peter Hillman (5 نوفمبر 2013). "مقدمة تقنية إلى OpenEXR" (PDF) . Industrial Light & Magic . تم الاسترجاع في 2015-11-09 .
- ^ "تخطيط ملف OpenEXR" . تم الاسترجاع في 25 مايو 2023 .
- ^ "OpenEXR 1.3.0 : Python Package Index". pypi.python.org . تم الاسترجاع في 11 أبريل 2018 .
- ^ "Industrial Light & Magic تطلق تنسيق ملف الصور الممتد الديناميكي OpenEXR الخاص بها لمجتمع المصادر المفتوحة" (PDF) (بيان صحفي). 22 يناير 2003. مؤرشف من الأصل (PDF) في 21 يوليو 2017. تم الاسترجاع 11 أبريل 2013 .
- ^ abcd "OpenEXR". 16 يناير 2023 - عبر GitHub.
- ^ Stanczyk, Piotr (9 أبريل 2013). "إعلان إصدار v2.0.0.0 (GM)". openexr-announce (قائمة بريدية).
- ^ "OpenEXR 2.0". مجلة CGSoceity . 10 أبريل 2013.
- ^ "DreamWorks Animation Contributes Lossy Compression To OpenEXR 2.2" (بيان صحفي). Glendale, CA. 8 أغسطس 2014. تم الاسترجاع في 2014-08-18 .
- ^ "قراءة وكتابة ملفات صور OpenEXR باستخدام مكتبة IlmImf" (PDF) .
- ^ "الاسم · العدد #879 · AcademySoftwareFoundation/openexr". GitHub .
- ^ "Imath". 21 يناير 2023 - عبر GitHub.
- ^ "مقدمة تقنية إلى OpenEXR" (PDF) . مؤرشف من الأصل (PDF) في 2011-07-17 . تم الاسترجاع في 2006-02-23 .
- ^ "مقدمة تقنية إلى OpenEXR" (PDF) . مؤرشف من الأصل (PDF) في 2011-07-17 . تم الاسترجاع في 2006-02-23 .
روابط خارجية
- الموقع الرسمي
- أدوات exrtools بما في ذلك exrtoppm exe
