Radiance RGBE 圖片 (.hdr)

Radiance 標準

Radiance RGBE(HDR)是為 Radiance 合成成像系統開發的基礎高動態範圍格式,使用共用的 8 位元指數來儲存具備光度學精確度的亮度值。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 HDR 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 HDR 檔案:

十六進位簽章(偏移量 0):

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

ASCII 表示法: #?RADIANCE\n

標準化: Radiance 合成成像系統標準

技術規格

容器架構ASCII 標頭結尾為空行,後接解析度字串與二進位 RLE 掃描線
壓縮套用於每個通道掃描線的調適性遊程編碼(RLE)
位元組序大端序(Big-Endian) / 網路位元組順序
色彩空間具備 CIE 色度座標的線性 Rec.709 RGB
色版與結構RGBE:紅、綠、藍(8 位元尾數) + 共用 8 位元指數
最大尺寸實際上無限(32 位元無號解析度字串)
透明度無(實體輻射亮度測量值)
串流與漸進式循序掃描線逐行串流播放

技術比較矩陣:HDR 對比競爭格式

技術屬性HDR (目前)EXRTIFFJPEG
像素編碼32 位元 RGBE(共用 8 位元指數)每通道 16 位元 half / 32 位元浮點數整數 8/16 位元或 32 位元浮點數8 位元 gamma 編碼整數
主要使用情境360 度環境光源(IBL)VFX 多圖層合成攝影與印前標準網路圖形
動態範圍涵蓋範圍76 個數量級(10^-38 至 10^38)實質無限的浮點數範圍視位元深度而定有限的 8 位元 SDR 範圍
支援的通道僅限 RGB無限制的任意通道多個任意通道RGB / CMYK

常見損壞模式與十六進位修復指南

圖片在整個畫面寬度上顯示水平條紋帶。

根本原因: 掃描線 RLE 解壓縮中的遊程長度計數位元組損毀。

修復: 使用 File2File.app HDR 修復功能重建受損的掃描線標記,或是轉換為 EXR。

安全性分析與解析器攻擊向量

Radiance HDR 解碼器經常使用未受限制的字串常式來剖析 ASCII 標頭行,這可能會觸發堆疊緩衝區溢位。

已知攻擊向量

  • 讀取解析度字串標頭('-Y %d +X %d')時發生未受限制的 sprintf/sscanf 呼叫。
  • 在解碼格式錯誤的 RLE 掃描線期間發生堆積越界寫入。
  • 配置目標 32 位元浮點數緩衝區時發生整數溢位。

防禦最佳實務: 在配置圖片緩衝區之前,先驗證 ASCII 標頭長度與掃描線尺寸。

歷史起源與里程碑

2000Paul Debevec 在電腦圖學中使用 Radiance .hdr 檔案普及了 HDR 圖片為基礎的打光(IBL)。
1997將調適性掃描線遊程編碼標準化以縮減檔案大小。
1989Greg Ward 在勞倫斯柏克萊國家實驗室發明了 RGBE 32 位元像素編碼與 .hdr 格式。

主要優勢與優點

  • 精簡的每個像素 32 位元記憶體佔用空間,同時橫跨 76 個數量級的實體光線亮度。
  • 許多用於環境貼圖的 3D 算繪套件皆有支援,不過支援情形取決於應用程式。
  • 具備相對精簡的檔案結構,可由支援 Radiance HDR 的軟體來實作。

技術限制與缺點

  • 由於共用 8 位元指數編碼,極暗區域可能會產生量化色帶(banding)。
  • RGB 通道無法儲存負數或任意多道次圖層。
  • 在多道次視覺特效製作中,大部分已被 OpenEXR 取代。

有趣的技術冷知識

  • 每一個 Radiance HDR 檔案皆以文字標頭 '#?RADIANCE' 或 '#?RGBE' 開頭。
  • 此格式的建立是為了在建築結構建造之前,模擬建築設計中的實體建築照明。
  • Paul Debevec 於 1997 年發表的經典 SIGGRAPH 論文《Recovering High Dynamic Range Radiance Maps from Photographs》使用此格式徹底革新了 CGI 打光技術。

常見技術問題

3D 中會使用 HDRI 檔案做什麼?

HDRI (.hdr) 檔案用作 360 度全景環境貼圖,以為 3D 物件提供具備相片真實感的現實世界光源、陰影與反射。

RGBE 32 位元編碼是如何運作的?

RGBE 沒有儲存三個獨立的浮點數,而是分別為紅、綠、藍使用 8 位元,再加上一個共用的 8 位元指數,將完整的 HDR 動態範圍塞進每個像素僅 4 個位元組的大小中。

我可以將 HDR 轉換為 JPG 嗎?

可以。File2File.app 可以在您的瀏覽器中直接進行色調對應,並將 32 位元 Radiance HDR 檔案轉換為標準的 JPG 或 PNG 圖片。