Radiance HDR 画像 (.hdr)

Radiance 標準

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

調査とメタデータ

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

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

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

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

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

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

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

ASCII表現: #?RADIANCE\n

標準化: Radiance Synthetic Imaging System Standard

技術仕様

コンテナアーキテクチャASCII header ending with empty line followed by resolution string and binary RLE scanlines
圧縮Adaptive adaptive run-length encoding (RLE) applied per-channel scanline
バイトエンディアンBig-Endian / Network byte order
色空間Linear Rec.709 RGB with CIE chromaticity coordinates
チャンネルと構造RGBE: Red, Green, Blue (8-bit mantissas) + shared 8-bit Exponent
最大寸法Practically unlimited (32-bit unsigned resolution strings)
透過性None (physical radiant luminance measurements)
ストリーミングとプログレッシブSequential scanline-by-scanline streaming playback

技術比較マトリックス: 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 HDR 修復ツールを使用して破損したスキャンラインマーカーを再構築するか、EXR に変換してください。

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

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

既知の攻撃ベクター

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

防御的ベストプラクティス:

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

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

主な利点とメリット

  • 物理的な光の輝度の 76 桁にわたる広範さを網羅しながら、ピクセルあたり 32-bit のコンパクトなメモリフットプリントを実現します。
  • 360 度環境マップ用の 3D レンダリングパッケージ (Blender、Unreal Engine、Unity、Cinema 4D) 全体で普遍的にサポートされています。
  • すべてのソフトウェアプラットフォームで簡単に実装できる、シンプルで堅牢なファイル構造です。

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

  • 共有 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画像に変換できます。