תמונת OpenEXR (.exr)

Academy תקן

OpenEXR (EXR) הוא פורמט התמונות בתקן High Dynamic Range (HDR) של תעשיית הסרטים והאפקטים הוויזואליים (VFX), התומך בפיקסלים צפים של 16 סיביות (חצי) ו-32 סיביות על פני שכבות אינסופיות.

בדיקה ומטא-דאטה

מערכות הפעלה ומנתחי קבצים מזהים קבצי EXR על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

המרה פרטית ב-100% בתוך הדפדפן - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברה ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד מתבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (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
טווח דינמי16-bit half & 32-bit float linearמעריך משותף 8 סיביות (RGBE)שלם 8/16 סיביות או נקודה צפה 32 סיביותשלם סטנדרטי 8 סיביות / 16 סיביות
מעברים רב-ערוצייםערוצים וחלקים שרירותיים ללא הגבלהRGB בלבדתמיכה מוגבלת בשכבותRGBA בלבד
אימוץ בתעשייהתקן תלת-ממד ו-VFX הוליוודי אוניברסלי ב-100%תאורה / פנורמה תלת-ממדית ישנההכפלה לדפוס וצילוםתקן רשת אוניברסלי
ניהול צבעשילוב מובני של ACES & OpenColorIOגמא / לינארי אד-הוקתגי פרופיל ICCתגי sRGB / ICC

מצבי שיחשות נפוצים ומדריך שחזור הקסדצימלי (Hex)

התמונה מרונדרת ככה לחלוטין או שרופה עם כתמים לבנים גרעיניים.

גורם שורש: היעדר טרנספורמציית תצוגה מלינארי ל-sRGB או הקצאת מרחב צבע ACES שגויה.

התאוששות: החל טרנספורמציית עקומת גוונים ACEScg או Linear-to-sRGB ב-File2File HDR Viewer.

ניתוח אבטחה ווקטורי התקפה על מנתחים (Parsers)

מנתחי OpenEXR מורכבים מבוססי-נתחים (chunks) חייבים לאמת בקפדנות את הגדרות הערוצים וגבולות האריחים כדי למנוע בעיות בטיחות זיכרון.

ווקטורי תקיפה ידועים

  • גלישת מספר שלם (Integer overflow) בחישוב מרווח חיץ רב-ערוצי ב-libopenexr.
  • קריאה מחוץ לגבולות הערימה (Heap out-of-bounds read) במהלך פענוח זרם דחוס ב-PIZ או DWAA.
  • מניעת שירות (Denial of service) באמצעות רקורסיה עמוקה של כותרות מרובות-חלקים.

השיטות המומלצות להגנה:

היסטוריה ואבני דרך

2020OpenEXR 3.0 משוחרר תחת קרן Academy Software Foundation, ומודרניזציה של ריבוי תהליכים (multi-threading).
2013OpenEXR 2.0 מציג את קומפוזיציית Deep Data ומבני תמונות מרובי-חלקים.
2003Industrial Light & Magic הופכת את OpenEXR לקוד פתוח תחת רישיון BSD מותאם לאחר השימוש בו בסרט הארי פוטר.
1999נוצר על ידי מהנדסי ILM פלوريאן קיינץ (Florian Kainz), רוד בוגרט (Rod Bogart) ודרו הס (Drew Hess) כדי להחליף את Cineon/DPX ב-8 סיביות.

יתרונות מרכזיים

  • תמיכה מובנית בנקודה צפה של 16 סיביות (FP16) ו-32 סיביות (FP32) ששומרת על תאורה קיצונית משמש ישיר ועד צללים כהים.
  • ארכיטקטורה מרובת ערוצים שרירותית המכילה את כל מעברי ההדמיה בתלת-ממד (יופי, דיפיוז, ספקולר, עומק, קריפטומאטה) בקובץ אחד.
  • אלגוריתמי דחיסה מובילים בתעשייה 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 הוא הפורמט הסטנדרטי עבור אפקטים ויזואליים בהוליווד (VFX)?

ממש משום שהוא מאחסן ערכי תאורה של נקודה צפה (floating-point) ב-16 ביט וב-32 ביט עם טווח דינמי אינסופי, מעברי רינדור תלת-ממדיים רב-שכבתיים ומידע קומפוזיציות עמוק הנדרשים לאפקטים ויזואליים פוטוריאליסטיים.

מה ההבדל בין half float לבין float ב-EXR?

Half float משתמש ב-16 ביט לכל ערוץ צבע, ומציע 30 עצירות (stops) של טווח דינמי בחצי מגודל הקובץ של float מלא ב-32 ביט, מה שהופך אותו למועדף בתעשייה עבור רינדורי beauty.

כיצד אוכל להמיר EXR ל-PNG או ל-JPG רגילים?

תוכל להמיר קובצי EXR לתמונות PNG או JPG שעברו מיפוי גוונים (tone-mapped) באמצעות File2File.app ישירות בתוך דפדפן האינטרנט שלך.