תמונת OpenEXR (.exr)

תקן תקן

OpenEXR הוא פורמט תמונת HDR מקצועי המשמש בתהליכי עבודה של קולנוע ואפקטים חזותיים. הוא תומך בפיקסלים half של 16 סיביות ובפיקסלים של נקודה צפה 32 סיביות, ובערוצים ושכבות מרובים.

בדיקה ומטא-נתונים

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

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

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

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

חתימת כותרת ברמת הבייט (Magic Bytes)

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

חתימת HEX (היסט 0):

76 2F 31 01

ייצוג ASCII: v/1.

תקינה: תקן פתוח של Academy Software Foundation (ASWF)

מפרט טכני

מבנה המכולהמכולה ניתנת להרחבה, מבוססת מקטעים, התומכת בערוצים, בחלקים ובשכבות נתונים עמוקים שרירותיים
דחיסהPIZ (גלונים), ZIP/ZIPS, ‏RLE, ‏B44/B44A, ‏DWAA/DWAB (DCT מאבד נתונים) וללא דחיסה
סדר בתים (Endianness)סדר בתים Little-Endian (Intel x86)
מרחבי צבעLinear ACEScg, ACES2065-1, Linear Rec.709, קואורדינטות כרומטיות שרירותיות
ערוצים ומבנהשמות ערוצים שרירותיים (R, G, B, A, עומק Z, נורמל, מיקום בעולם, וקטורי תנועה ו-Cryptomatte)
ממדים מרבייםמגבלות מעשיות כמעט שאינן קיימות (תומך בזום עמוק מבוסס אריחים ובקנבסים של מיליארדי פיקסלים)
שקיפותערוץ אלפא מלא של נקודה צפה ומערכי דגימות נפחיים לקומפוזיציה של נתונים עמוקים
הזרמה ופרוגרסיביותהזרמת מקטעים לפי שורות סריקה או אריחים מאפשרת קריאה מהירה של חלקי פריים ורינדור של תמונות תצוגה מקדימה

מטריצת השוואה טכנית: EXR מול מתחרים

תכונה טכניתEXR (נוכחי)HDRTIFFPNG
טווח דינמי16-bit half & 32-bit float linearמעריך משותף 8 סיביות (RGBE)מספרים שלמים של 8/16 סיביות או מספרים בנקודה צפה של 32 סיביותמספרים שלמים סטנדרטיים של 8 או 16 סיביות
מעברים רב-ערוצייםערוצים וחלקים שרירותיים ללא הגבלהRGB בלבדתמיכה מוגבלת בשכבותRGBA בלבד
אימוץ בתעשייהנפוץ בתהליכי עבודה של אפקטים חזותיים והפקת תלת-ממדתאורה / פנורמה תלת-ממדית ישנהקדם-הדפסה וצילוםהתמיכה משתנה בין תוכנות.
ניהול צבעשילוב מובני של ACES & OpenColorIOגמא / לינארי אד-הוקתגי פרופיל ICCתגי sRGB / ICC

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

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

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

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

ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)

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

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

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

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

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

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 הם מקודדים מאבדי נתונים שנועדו לדחיסת תמונות יעילה מבחינה חזותית; ההבדלים עשויים להיות עדינים או בולטים בהתאם להגדרות ולתוכן.

מגבלות טכניות וחסרונות

  • גדלי קבצים משמעותיים בעת שמירת מעברי הדמיה של 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 עצירות (stops) של טווח דינמי בחצי מגודל הקובץ של float מלא ב-32 ביט, מה שהופך אותו למועדף בתעשייה עבור רינדורי beauty.

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

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