Radiance HDR 画像 (.hdr)

Radiance 標準

Radiance RGBE (HDR) は、Radiance シンセティック イメージング システム用に開発された基本的なハイダイナミックレンジ フォーマットであり、共有 8-bit 指数を使用して測光学的に正確な輝度値を格納します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してHDRファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してHDRファイルを識別します:

16進数シグネチャ(オフセット0):

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

ASCII表現: #?RADIANCE\n

標準化: Radiance Synthetic Imaging System標準

技術仕様

コンテナアーキテクチャ空行で終わるASCIIヘッダーに続き、解像度文字列とバイナリRLE走査線を格納
圧縮各チャンネルの走査線に適応型RLE符号化を適用します
バイトエンディアンビッグエンディアン/ネットワークバイトオーダー
色空間CIE色度座標を用いるリニアRec.709 RGB
チャンネルと構造RGBE:Red、Green、Blue(各8ビット仮数)と共通の8ビット指数
最大寸法実質的に制限なし(32ビット符号なしの解像度文字列)
透過性なし(物理的な放射輝度の測定値)
ストリーミングとプログレッシブ走査線を順次ストリーミング再生

技術比較表:HDRと競合製品

技術属性HDR (現在)EXRTIFFJPEG
ピクセルエンコーディング32-bit RGBE (共有 8-bit 指数)チャンネルあたり 16-bit half / 32-bit float整数 8/16-bit または 32-bit float8-bit ガンマエンコード済み整数
主なユースケース360 度環境ライティング (IBL)VFX マルチパスコンポジット写真およびプリプレス標準 Web グラフィックス
ダイナミックレンジの範囲76 桁 (10^-38 から 10^38)実質的に無限の浮動小数点範囲ビット深度によって異なる制限された 8-bit SDR 範囲
サポートされるチャンネルRGB のみ無制限の任意のチャンネル複数の任意のチャンネルRGB / CMYK

一般的な破損モードと16進数リカバリガイド

画像のフレーム全体にわたって、水平方向の縞模様が現れます。

根本原因: スキャンライン RLE 解凍における、破損したランレングス カウントバイトが原因です。

復旧: File2File.app HDR 修復ツールを使用して破損したスキャンラインマーカーを再構築するか、EXR に変換してください。

セキュリティ分析とパーサー攻撃ベクトル

Radiance HDR デコーダーは、スタックバッファオーバーフローを引き起こす可能性のある、境界のチェックされていない文字列ルーチンを使用して ASCII ヘッダー行を解析することがよくあります。

既知の攻撃ベクター

  • 解像度の文字列ヘッダー (`-Y %d +X %d`) を読み取る際に行われる境界のチェックされていない sprintf/sscanf 呼び出し。
  • 不正な形式の RLE スキャンライン デコード中のヒープ領域外書き込み。
  • 宛先の 32-bit 浮動小数点バッファを割り当てるときの整数オーバーフロー。

防御的ベストプラクティス: 画像バッファを割り当てる前に、ASCIIヘッダーの長さとスキャンラインの寸法を検証します。

歴史的背景とマイルストーン

2000Paul Debevec が Radiance の .hdr ファイルを使用して、コンピュータグラフィックスにおける HDR 画像ベーストライティング (IBL) を普及させました。
1997ファイルサイズを削減するために、適応型ランレングス符号化が標準化されました。
1989Greg Ward がローレンス・バークレー国立研究所で RGBE 32-bit ピクセルエンコーディングと .hdr フォーマットを発明しました。

主なメリット

  • 物理光の輝度を76桁の範囲で表現しながら、1画素あたり32-bitに抑えられます。
  • 多くの3Dレンダリングソフトで環境マップに使われますが、対応状況はアプリによって異なります。
  • 比較的コンパクトなファイル構造で、Radiance HDRに対応するソフトウェアで実装できます。

技術的な制限とデメリット

  • 共有 8-bit 指数エンコーディングのため、極端に暗い領域で量子化バンディングが発生する可能性があります。
  • RGB チャンネルには、負の数値や任意のマルチパス レイヤーを格納できません。
  • マルチパスのビジュアルエフェクト制作では、大部分が OpenEXR に取って代わられています。

興味深い技術トリビア

  • すべての Radiance HDR ファイルは、テキストヘッダー「#?RADIANCE」または「#?RGBE」で始まります。
  • このフォーマットは、建造物が建てられる前に、建築デザインにおける物理的な照明シミュレーションを行うために作成されました。
  • Paul Debevec による 1997 年の象徴的な SIGGRAPH の論文「Recovering High Dynamic Range Radiance Maps from Photographs (写真からの高ダイナミックレンジ放射マップの復元)」では、このフォーマットを使用して CGI ライティングに革命を起こしました。

よくある技術的な質問

3DにおいてHDRIファイルは何に使用されますか?

HDRI(.hdr)ファイルは、3Dオブジェクトにフォトリアルな現実世界の照明、影、反射を提供するための360度パノラマ環境マップとして使用されます。

RGBE 32ビットエンコーディングはどのように機能しますか?

RGBEは、3つの独立した浮動小数点数を保存する代わりに、赤、緑、青にそれぞれ8ビットを使用し、さらに共有の8ビット指数を使用することで、完全なHDRダイナミックレンジを1ピクセルあたりわずか4バイトに収めます。

HDRをJPGに変換できますか?

はい。File2File.appを使用すると、ブラウザ内で直接32ビットのRadiance HDRファイルをトーンマッピングし、標準のJPGまたはPNG画像に変換できます。