תמונת Radiance HDR (.hdr)

תקן תקן

Radiance RGBE (HDR) הוא פורמט הטווח הדינמי הגבוה הבסיסי שפותח עבור מערכת ההדמיה הסינתטית Radiance, השומר ערכי בהירות מדויקים פוטומטרית באמצעות מעריך (exponent) של 8 סיביות משותף.

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

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

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

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

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

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

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

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

23 3F 52 41 44 49 41 4E 43 45 0A

ייצוג ASCII: #?RADIANCE\n

תקינה: תקן מערכת ההדמיה הסינתטית Radiance

מפרט טכני

מבנה המכולהכותרת ASCII המסתיימת בשורה ריקה, ואחריה מחרוזת רזולוציה ושורות סריקה בינאריות בדחיסת RLE
דחיסהקידוד אורכי ריצה (RLE) אדפטיבי, המוחל על כל שורת סריקה בכל ערוץ
סדר בתים (Endianness)Big-Endian (סדר בתים ברשת)
מרחבי צבעRGB ליניארי של Rec.709 עם קואורדינטות כרומטיות CIE
ערוצים ומבנהRGBE: אדום, ירוק וכחול (מנטיסות של 8 סיביות) ומעריך משותף של 8 סיביות
ממדים מרבייםמגבלות מעשיות כמעט שאינן קיימות (מחרוזות רזולוציה עם ערכים לא מסומנים של 32 סיביות)
שקיפותללא (מדידות של בהירות קרינתית פיזיקלית)
הזרמה ופרוגרסיביותהזרמה רציפה של שורות סריקה, שורה אחר שורה

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

תכונה טכניתHDR (נוכחי)EXRTIFFJPEG
קידוד פיקסליםRGBE של 32 סיביות (מעריך משותף של 8 סיביות)Half של 16 סיביות / Float של 32 סיביות לערוץמספרים שלמים של 8/16 סיביות או מספרים בנקודה צפה של 32 סיביות8-bit gamma-encoded integer
שימוש עיקריתאורת סביבה של 360 מעלות (IBL)קומפוזיציית VFX מרובת מעבריםצילום וקדם-הדפסהגרפיקת רשת סטנדרטית
היקף הטווח הדינמי76 סדרי גודל (10^-38 עד 10^38)טווח צף אינסופי מעשיתמשתנה לפי עומק סיביותטווח SDR מוגבל של 8 סיביות
ערוצים נתמכיםRGB בלבדערוצים שרירותיים ללא הגבלהערוצים שרירותיים מרוביםRGB / CMYK

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

התמונה מציגה פסי רשת אופקיים לכל רוחב המסגרת.

גורם שורש: בית ספירת אורך ריצה פגום בפענוח RLE של שורת סריקה.

שחזור: שחזר סמני שורות סריקה פגומים באמצעות File2File.app HDR Repair או המר ל-EXR.

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

מפענחי Radiance HDR מנתחים לעיתים קרובות שורות כותרת ASCII באמצעות שגרות מחרוזת ללא הגבלת אורך, העלולות לגרום לגלישת חוצץ במחסנית.

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

  • קריאות sprintf/sscanf ללא הגבלת אורך בעת קריאת כותרות של מחרוזות רזולוציה (‎-Y %d +X %d).
  • כתיבה מחוץ לגבולות הערימה בעת פענוח שורת סריקה פגומה בדחיסת RLE.
  • גלישת מספר שלם בעת הקצאת מאגרי יעד בנקודה צפה של 32 סיביות.

שיטות מומלצות להגנה: אמת את אורך כותרת ה-ASCII ואת ממדי שורות הסריקה לפני הקצאת מאגרי תמונה.

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

2000פול דבבץ (Paul Debevec) הופך לפופולרית תאורת HDR מבוססת תמונה (IBL) בגרפיקה ממוחשבת באמצעות קבצי Radiance .hdr.
1997קידוד אורך ריצה אדפטיבי של שורות סריקה (scanline RLE) מתוקנן להקטנת גדלי הקבצים.
1989גרג וורד (Greg Ward) ממציא את קידוד הפיקסלים של 32 סיביות RGBE ואת פורמט .hdr במעבדה הלאומית לורנס ברקלי.

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

  • נפח זיכרון קומפקטי של 32 סיביות לפיקסל, תוך כיסוי של 76 סדרי גודל בבהירות האור הפיזית.
  • חבילות רינדור תלת-ממדיות רבות תומכות בו למפות סביבה, אך התמיכה תלויה באפליקציה.
  • מבנה קובץ קומפקטי יחסית, שניתן למימוש בתוכנות התומכות ב-Radiance HDR.

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

  • תופעות פסי קוונטיזציה (Banding) עלולות להתרחש באזורים חשוכים קיצוניים עקב קידוד מעריך של 8 סיביות משותף.
  • ערוצי RGB אינם יכולים לאחסן מספרים שליליים או שכבות מרובות מעברים שרירותיות.
  • הוחלף במידה רבה על ידי OpenEXR עבור הפקת אפקטים ויזואליים מרובי-מעברים.

עובדות טכניות מעניינות

  • כל קובץ Radiance HDR מתחיל בכותרת הטקסט '#?RADIANCE' או '#?RGBE'.
  • הפורמט נוצר כדי לדמות תאורה אדריכלית פיזית בתכנון מבנים טרם בנייתם.
  • מאמר SIGGRAPH האייקוני של פול דבבץ משנת 1997 'שחזור מפות בהירות טווח דינמי גבוה מתצלומים' השתמש בפורמט זה כדי לחולל מהפכה בתאורת CGI.

שאלות טכניות נפוצות

למה משמש קובץ HDRI בתלת-ממד?

קובצי HDRI (.hdr) משמשים כמפות סביבה פנורמיות ב-360 מעלות כדי לספק תאורה, צללים והשתקפות פוטוריאליסטיים מהעולם האמיתי על גבי אובייקטים תלת-ממדיים.

כיצד פועל קידוד RGBE ב-32 ביט?

במקום לאחסן שלושה מספרי נקודה צפה נפרדים, RGBE משתמש ב-8 ביט כל אחד עבור אדום, ירוק וכחול, בתוספת מעריך (exponent) משותף של 8 ביט, ובכך דוחס טווח דינמי מלא של HDR לתוך 4 בייטים בלבד לפיקסל.

האם אני יכול להמיר HDR ל-JPG?

כן. File2File.app יכול לבצע מיפוי גוונים ולהמיר קובצי Radiance HDR ב-32 ביט לתמונות JPG או PNG תקניות ישירות בדפדפן שלך.