تصویر OpenEXR (.exr)

Academy استاندارد

فرمت OpenEXR (با پسوند EXR) استاندارد صنعت فیلم‌سازی و جلوه‌های ویژه (VFX) برای تصاویر با دامنه دینامیکی بالا (HDR) است که از پیکسل‌های اعشاری نیمه‌دقت ۱۶ بیتی و تمام‌دقت ۳۲ بیتی در لایه‌های نامحدود پشتیبانی می‌کند.

بررسی و فراداده

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های EXR را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

انتخاب یا رها کردن فایل‌ها در اینجا

تبدیل ۱۰۰٪ خصوصی در مرورگر - فایل‌ها هرگز دستگاه شما را ترک نمی‌کنند

یا جای‌گذاری کنید Ctrl+V
تضمین حریم خصوصی بدون انتقال شبکه: صفر بایت به سرورهای خارجی آپلود می‌شود. تمام پردازش‌ها به صورت محلی در سندباکس مرورگر شما انجام شد.

امضای هدر در سطح بایت (Magic Bytes)

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های EXR را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

امضای HEX (آفست 0):

76 2F 31 01

نمایش ASCII: v/1.

استانداردسازی: Academy Software Foundation (ASWF) Open Standard

مشخصات فنی

معماری کانتینرExtensible chunk-based container supporting arbitrary channels, parts, and deep data layers
فشرده‌سازیPIZ (wavelet), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (lossy DCT), and uncompressed
ترتیب بایت‌ها (Endianness)Little-Endian (Intel x86)
فضاهای رنگیLinear ACEScg, ACES2065-1, Linear Rec.709, Arbitrary chromaticity coordinates
کانال‌ها و ساختارArbitrary channel names (R, G, B, A, Z-depth, Normal, WorldPos, MotionVectors, Cryptomatte)
حداکثر ابعادPractically unlimited (supports tiled deep zoom and multi-gigapixel canvas bounds)
شفافیت مشخصاتFull floating-point alpha channel and deep-compositing volumetric sample arrays
استریمینگ و پیش‌روندهScanline or tiled chunk streaming enables fast partial-frame reads and proxy rendering

ماتریس مقایسه فنی: EXR در برابر رقبا

ویژگی فنیEXR (فعلی)HDRTIFFPNG
دامنه دینامیکیاعشاری خطی ۱۶ بیت نیمه و ۳۲ بیت کاملنمایانگر مشترک ۸ بیتی (RGBE)اعداد صحیح ۸/۱۶ بیتی یا اعشاری ۳۲ بیتیاستاندارد صحیح ۸ بیتی / ۱۶ بیتی
پاس‌های چندکانالهکانال‌ها و بخش‌های نامحدود با نام‌گذاری دلخواهفقط RGBپشتیبانی محدود از لایه‌هافقط RGBA
پذیرش در صنعتاستاندارد جهانی ۱۰۰٪ در صنعت VFX و سه‌بعدی هالیوودنورپردازی سه‌بعدی قدیمی / پانوراماچاپ و عکاسیاستاندارد جهانی وب
مدیریت رنگیکپارچه‌سازی بومی ACES و OpenColorIOگاما / خطی موردیبرچسب‌های پروفایل ICCبرچسب‌های sRGB / ICC

حالت‌های رایج خرابی و راهنمای بازیابی هگز

تصویر کاملاً تاریک یا با لکه‌های سفید انفجاری (Nuclear White) رندر می‌شود.

علت ریشه‌ای: عدم وجود تبدیل نمایشگر linear-to-sRGB یا تعیین نادرست فضای رنگی ACES.

بازیابی: اعمال یک منحنی تن ACEScg یا Linear-to-sRGB در نمایشگر HDR فایل‌تو‌فایل.

تحلیل امنیتی و بردارهای حمله تجزیه‌کننده (Parser)

تجزیه‌کننده‌های پیچیده مبتنی بر تکه (Chunk-based) در OpenEXR باید تعاریف کانال و محدوده تایل‌ها را به شدت اعتبارسنجی کنند تا از بروز مشکلات ایمنی حافظه جلوگیری شود.

بردارهای حمله شناخته‌شده

  • سرریز عدد صحیح (Integer overflow) در محاسبات گام بافر چندکاناله در کتابخانه libopenexr.
  • خوانش خارج از محدوده حافظه هیپ (Heap out-of-bounds read) در هنگام بازگشایی استریم فشرده‌سازی شده PIZ یا DWAA.
  • حمله محرومیت از سرویس (DoS) از طریق بازگشت (Recursion) عمیق هدر تکه چندبخشی توسته‌شده.

بهترین روش‌های پدافندی:

تاریخچه و نقاط عطف

2020انتشار OpenEXR 3.0 تحت بنیاد نرم‌افزاری آکادمی (Academy Software Foundation) با قابلیت‌های مدرن‌سازی پردازش موازی (Multi-threading).
2013نسخه OpenEXR 2.0 ترکیب داده‌های عمیق (Deep Data) و ساختارهای تصویری چندبخشی را معرفی کرد.
2003شرکت Industrial Light & Magic پس از استفاده از OpenEXR در فیلم هری پاتر، آن را تحت مجوز اصلاح‌شده BSD به صورت متن‌باز منتشر کرد.
1999توسط مهندسان ILM به نام‌های فلوریان کینز، رود بوگارت و درو هس برای جایگزینی فرمت‌های ۸ بیتی Cineon/DPX ایجاد شد.

مزایا و نقاط قوت کلیدی

  • پشتیبانی بومی از اعداد اعشاری نیمه‌دقت ۱۶ بیتی (FP16) و تمام‌دقت ۳۲ بیتی (FP32) جهت حفظ روشنایی‌های شدید از نور مستقیم خورشید تا تاریکی عمیق سایه‌ها.
  • معماری چندکاناله دلخواه که تمام پاس‌های رندر سه‌بعدی (مانند زیبایی، دیفیوز، اسپکولار، عمق و کریپتومات) را در یک فایل واحد جای می‌دهد.
  • الگوریتم‌های فشرده‌سازی پیشرو در صنعت مانند DWAA/DWAB و PIZ بدون افت کیفیت بصری.

محدودیت‌ها و معایب فنی

  • حجم فایل بسیار بالا هنگام ذخیره‌سازی پاس‌های رندر ۴K/8K ۳۲ بیتی چندلایه و فشرده‌نشده.
  • سربار بالا روی پردازنده و حافظه رم در طول روند بازگشایی فشرده‌سازی چندکاناله در نرم‌افزارهای مصرفی.
  • نیازمند تبدیل‌کننده‌های مدیریت رنگ (مانند ACES یا OCIO) جهت نمایش صحیح روی نمایشگرهای استاندارد sRGB.

نکات فنی جالب

  • شرکت Industrial Light & Magic نوع داده اعشاری ۱۶ بیتی 'half' را به طور اختصاصی برای فرمت OpenEXR اختراع کرد.
  • چهار بایت جادویی اول هر فایل EXR برابر با 0x76 0x2F 0x31 0x01 است که در کدگذاری اسکی به عبارت 'v/1\x01' ترجمه می‌شود.
  • فرمت OpenEXR از 'داده‌های عمیق' (Deep Data) پشتیبانی می‌کند؛ جایی که یک پیکسل منفرد می‌تواند نمونه‌های رنگی و عمقی متعددی را در فاصله‌های مختلف از میان دود و ابرهای نیمه‌شفاف ذخیره کند.

سوالات فنی متداول

چرا OpenEXR فرمت استاندارد برای جلوه‌های ویژه هالیوود (VFX) است؟

به این دلیل که مقادیر نوری ممیز شناور ۱۶ بیتی و ۳۲ بیتی را با دامنه پویای بی‌نهایت، پس‌زمینه‌های رندر سه‌بعدی چندلایه و اطلاعات کامپوزیت عمیق مورد نیاز برای جلوه‌های بصری واقع‌گرایانه ذخیره می‌کند.

تفاوت بین half float و float در EXR چیست؟

فرمت Half float از ۱۶ بیت در هر کانال رنگی استفاده می‌کند که ۳۰ استاپ دامنه پویایی را با نصف اندازه فایل فرمت float کامل ۳۲ بیتی ارائه می‌دهد و همین امر آن را به فرمت محبوب صنعت برای رندرهای زیبایی‌شناختی تبدیل کرده است.

چرا می‌توانم EXR را به PNG یا JPG استاندارد تبدیل کنم؟

شما می‌توانید با استفاده از File2File.app مستقیماً درون مرورگر وب خود، فایل‌های EXR را به تصاویر PNG یا JPG با نقشه‌برداری تن (tone-mapped) تبدیل کنید.