صورة OpenEXR (.exr)
معيار قياسيOpenEXR تنسيق صور HDR احترافي يُستخدم في إنتاج الأفلام والمؤثرات البصرية. يدعم بكسلات فاصلة عائمة بنوعي half ذي 16 بت و32 بت، مع قنوات وطبقات متعددة.
فحص البيانات الوصفية
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات EXR من خلال فحص تسلسل البايت الثنائي البادئ:
توقيع رأس الملف على مستوى البايت (Magic Bytes)
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات EXR من خلال فحص تسلسل البايت الثنائي البادئ:
التوقيع الست عشري (الإزاحة 0):
76 2F 31 01تمثيل ASCII: v/1.
التوحيد القياسي: معيار مفتوح من Academy Software Foundation (ASWF)
المواصفات الفنية
| هيكلية الحاوية | حاوية قابلة للتمديد، قائمة على الكتل، وتدعم قنوات وأجزاء وطبقات بيانات عميقة حسب الحاجة |
| الضغط | PIZ (مويجي) وZIP/ZIPS وRLE وB44/B44A وDWAA/DWAB (تحويل جيب تمام متقطع فاقد) أو دون ضغط |
| ترتيب البايتات (Endianness) | ترتيب البايتات الصغير (Intel x86) |
| مساحات الألوان | ACEScg خطي, ACES2065-1, Rec.709 خطي, إحداثيات لونية اختيارية |
| القنوات والبنية | أسماء قنوات مرنة (R وG وB وA وعمق Z وNormal وWorldPos وMotionVectors وCryptomatte) |
| الحد الأقصى للأبعاد | عمليًا بلا حد (يدعم التكبير العميق بالبلاطات ولوحات متعددة الغيغابكسل) |
| الشفافية | قناة ألفا كاملة بفاصلة عائمة ومصفوفات عينات حجمية للتركيب العميق |
| البث والتحميل التدرجي | تتيح معالجة الكتل على هيئة خطوط مسح أو بلاطات قراءة أجزاء من الإطار بسرعة وإنشاء معاينات بديلة |
مصفوفة المقارنة التقنية: EXR مقابل المنافسين
| السمة التقنية | EXR (الحالي) | HDR | TIFF | PNG |
|---|---|---|---|---|
| النطاق الديناميكي | 16 بت half و32 بت float خطي | أُس مشترك 8 بت (RGBE) | أعداد صحيحة 8/16 بت أو فاصلة عائمة 32 بت | أعداد صحيحة قياسية 8 بت / 16 بت |
| تمريرات القنوات المتعددة | قنوات وأجزاء مسماة تعسفياً وغير محدودة | RGB فقط | دعم محدود للطبقات | RGBA فقط |
| اعتماد الصناعة | معيار هوليوود والمؤثرات البصرية العالمي بنسبة 100% | الإضاءة ثلاثية الأبعاد القديمة / البانوراما | الطباعة المسبقة والتصوير الفوتوغرافي | يختلف الدعم حسب البرنامج. |
| إدارة الألوان | تكامل أصلي مع ACES وOpenColorIO | جاما / خطي مخصص | علامات ملفات تعريف ICC | علامات sRGB / ICC |
أنماط التلف الشائعة ودليل الاسترداد بالنظام الست عشري
تظهر الصورة مظلمة تماماً أو محترقة ببقع بيضاء ساطعة.
السبب الجذري: فقدان تحويل العرض من خطي إلى sRGB أو تعيين مساحة ألوان ACES بشكل غير صحيح.
الاسترداد: قم بتطبيق منحنى نغمة ACEScg أو Linear-to-sRGB في عارض الملفات File2File.app HDR.
تحليل الأمان ومتجهات الهجوم على المحلّل
ينبغي لمحللات OpenEXR المعقدة القائمة على الكتل التحقق بدقة من تعريفات القنوات وحدود البلاطات لتجنب مشكلات سلامة الذاكرة.
ناقلات الهجوم المعروفة
- تجاوز سعة عدد صحيح عند حساب خطوة الصفوف لمخزن مؤقت متعدد القنوات في libopenexr.
- قراءة خارج حدود الكومة أثناء فك تدفق مضغوط باستخدام PIZ أو DWAA.
- حجب الخدمة بسبب تداخل عميق ومتكرر في ترويسات كتل الصور متعددة الأجزاء.
أفضل الممارسات الدفاعية: فك ترميز ملفات EXR باستخدام إصدارات WebAssembly آمنة للذاكرة ومعزولة، مع فرض حدود صارمة لأبعاد البلاطات.
الأصول التاريخية والمحطات الرئيسية
المزايا الرئيسية والإيجابيات
- الدعم الأصلي للفاصلة العائمة 16 بت (FP16) و32 بت (FP32) يحافظ على قيم الإضاءة القصوى من ضوء الشمس المباشر وحتى الظلال الداكنة.
- تتيح بنيته متعددة القنوات حفظ جميع تمريرات التصيير ثلاثي الأبعاد، مثل الصورة النهائية والانتشار والانعكاس والعمق وCryptomatte، في ملف واحد.
- تحقق خوارزميات الضغط DWAA وDWAB وPIZ الرائدة في المجال ضغطًا عاليًا دون فقد بصري.
القيود الفنية والسلبيات
- أحجام ملفات ضخمة عند حفظ تمريرات الرندر ثلاثية الأبعاد غير المضغطة متعددة الطبقات بدقة 4K/8K وبحجم 32 بت.
- عبء كبير على المعالج المركزي والذاكرة أثناء فك ضغط القنوات المتعددة في البرامج الاستهلاكية.
- يتطلب تحويلات إدارة الألوان (ACES أو OCIO) للعرض بشكل صحيح على شاشات sRGB القياسية.
معلومات تقنية طريفة
- ابتكرت شركة Industrial Light & Magic نوع بيانات الفاصلة العائمة 'half' ذي الـ 16 بت خصيصاً لتنسيق OpenEXR.
- بايتات السحر الأربعة الأولى لكل ملف EXR هي 0x76 0x2F 0x31 0x01، والتي تُترجم في ترميز ASCII إلى 'v/1\x01'.
- يدعم OpenEXR 'البيانات العميقة' (Deep Data)، حيث يخزن البكسل الواحد عينات متعددة للألوان والعمق على مسافات مختلفة عبر الدخان والغيوم شبه الشفافة.
الأسئلة التقنية المتكررة
لماذا يُستخدم OpenEXR في بعض مسارات عمل المؤثرات البصرية؟
يحافظ على بيانات صور HDR عالية الدقة ويدعم قنوات وأجزاء وبيانات عميقة متعددة للتركيب.
ما الفرق بين half float وfloat في EXR؟
يستخدم تنسيق half float 16 بت لكل قناة لونية، ويوفر نطاقًا ديناميكيًا يصل إلى 30 وقفة بنصف حجم ملفات float بعمق 32 بت. لذلك يشيع استخدامه في تصيير الصور النهائية.
كيف أحوّل EXR إلى PNG أو JPG عادي؟
يمكنك تحويل ملفات EXR إلى صور PNG أو JPG مع ضبط النطاق اللوني باستخدام File2File.app مباشرةً في متصفح الويب.