HDR ファイル形式とは?
.hdrファイルは、1080年代後半にローレンス・バークレー国立研究所のGreg Ward氏によって、Radiance照明シミュレーションシステムの一部として開発されたRadiance HDR(High Dynamic Range)ラスター画像です。この形式は、.hdrが標準になる前は、もともと.pic拡張子で保存されていました。
各ピクセルはRGBEを使用してエンコードされます。これは、赤、緑、青のチャンネル用の3つの8ビット仮数値と、1つの共有8ビット指数で構成されます。これにより、完全な浮動小数点HDRピクセルをわずか4バイトにパックし、約76桁(~10⁻³⁸から10³⁸)に及ぶダイナミックレンジを表現します。トレードオフとして、3つのチャンネルすべてが1つの指数を共有するため、チャンネルごとの精度は、チャンネルごとに真の16ビットまたは32ビット浮動小数点を保存し、マルチレイヤーをサポートするOpenEXRなどの形式よりも低くなります。
ファイルは、シグネチャ#?RADIANCEを含むASCIIヘッダーで始まります(一部のツールは代わりに#?RGBEを書き込みますが、どちらも有効です)。key=valueの変数ブロックと解像度行の後に、ピクセルデータがランレングス符号化(RLE)スキャンラインとして保存されます。代替の輝度エンコーディングもサポートされており、FORMATヘッダーフィールドを32-bit_rle_xyzeに設定すると、RGBからCIE XYZ色空間に切り替わります。
.hdrファイルは、3DレンダリングやゲームエンジンにおけるHDRI環境マップとして広く使用されており、高いダイナミックレンジにより正確なイメージベースドライティングが可能になります。Blender、GIMP、Adobe Photoshop、およびほとんどのリアルタイムレンダリングパイプラインでサポートされています。チャンネルごとの浮動小数点精度とマルチレイヤーサポートを必要とするプロ向けのVFX制作では、OpenEXRが事実上の業界標準となっています。
セキュリティと安全性
リスク: LOWRadianceの .hdr はパッシブな画像であり、スクリプト、マクロ、実行可能コンテンツは含まれていないため、ファイル自体がマルウェアの感染源になることはありません。実用上の注意点は、高解像度HDRIマップによる大きなファイルサイズと、稀にある画像ライブラリのパーサーのバグのみです。エディターを最新の状態に保ってください。アドウェアを同梱するような怪しい「無料HDRコンバーター」サイトは避け、GIMP、Krita、Blender、Photopeaなどの無料ツールを活用してください。
形式の詳細
概要- Analog Devices / Mentor SPICE .hdr (ヘッダーデータ) - 一部のEDAおよびデータツールは、プレーンテキストの .hdr ヘッダー/メタデータサイドカーを書き込みますが、画像処理とは無関係です。
- ENVI / リモートセンシング .hdr ヘッダー - ENVIラスターヘッダーは、Radiance画像ではなく、付随する生画像を記述するテキストサイドカーとして .hdr を使用します。
- ゲームエンジン / インストール '.hdr' アセット - 稀に、エンジンがパックされたHDRキューブマップや汎用ヘッダーファイルに .hdr という名前を付けることがあります。
HDR ファイルを開くプログラム
技術的詳細
詳細仕様| エンコード方式 | RGBE - R、G、Bチャンネルごとに8ビットの仮数部と、1つの共有8ビット指数。HDRピクセルを正確に4バイトにパックします |
| ダイナミックレンジ | 約76桁(~10⁻³⁸から10³⁸)。写真の露出段数で約25段以上に相当します |
| ファイルシグネチャ | バイトオフセット0にASCIIの `#?RADIANCE` とそれに続く改行 (0x0A)。オフセット0の `#?RGBE` も同様に有効で、広く生成されています |
| 圧縮 | スキャンラインの適応型ランレングス符号化(RLE)。仕様ではフラットな(非圧縮)スキャンライン保存も許可されています |
| ヘッダー形式 | プレーンASCIIのkey=value変数ブロック(FORMAT、EXPOSURE、COLORCORR、PRIMARIES、SOFTWAREなど)。空行で終了します |
| 解像度行 | 幅、高さ、および方向を `-Y 512 +X 1024` などのようにエンコードします。4つの反転/回転の組み合わせすべてがサポートされています |
| カラーエンコーディング | `32-bit_rle_rgbe`(リニアRGB、デフォルト)および `32-bit_rle_xyze`(CIE XYZ輝度バリアント)。`FORMAT` ヘッダーフィールドで選択されます |
| MIMEタイプ | `image/vnd.radiance`(IANA登録済み)。`image/x-hdr` も非公式な代替として広く使用されています |
| バイト順序 | エンディアンに依存しません。ピクセルデータはピクセルごとに保存される個別のバイトで構成され、マルチバイト整数フィールドはありません |
| 一般的なファイルサイズ | 1 MB - 30 MB。8192×4096などの解像度のパノラマHDRI環境マップは、上限に近いサイズになります |
| 寸法制限 | 形式上の厳密な制限はありません。幅と高さは解像度ヘッダー行にプレーンな10進整数として保存されます |
| 色空間 | 埋め込みガンマ曲線のないリニアライト。EXPOSUREおよびCOLORCORRヘッダーフィールドにシーン参照の補正メタデータが含まれます |
| アルファチャンネル | サポートされていません。RGBEおよびXYZEエンコーディングのいずれにも、透明度やアルファプレーンは含まれません |
| チャンネルごとの精度 | 共有指数のため、チャンネルあたりの相対精度は約8ビットです。絶対的な精度はシーンの露出値に依存します |
| 歴史的な拡張子 | オリジナルのRadiance照明システムでは `.pic` が使用されていました。形式が画像処理や3Dツールに広まるにつれ、`.hdr` が主流となりました |
| リリース日 | 1985-1989 (Radiance lighting simulation system); .pic originally, later .hdr |
| 最新バージョン | RGBE/XYZE encoding (stable; format essentially unchanged) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | floyd.lbl.gov |
HDR の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。HDR ファイルについて最初の質問をしてみましょう。