OpenEXR 画像 (.exr)

Academy 標準

OpenEXR は、映画制作や視覚効果のワークフローで使われるプロ向け HDR 画像形式です。16 ビット half と 32 ビット浮動小数点ピクセルに加え、複数のチャンネルやレイヤーをサポートします。

調査とメタデータ

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

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

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

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

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

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

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

76 2F 31 01

ASCII表現: v/1.

標準化: Academy Software Foundation(ASWF)オープン標準

技術仕様

コンテナアーキテクチャ任意のチャンネル、パート、ディープデータレイヤーに対応する拡張可能なチャンクベースのコンテナ
圧縮PIZ(ウェーブレット)、ZIP/ZIPS、RLE、B44/B44A、DWAA/DWAB(非可逆DCT)、非圧縮
バイトエンディアンリトルエンディアン(Intel x86)
色空間Linear ACEScg, ACES2065-1, リニアRec.709, 任意の色度座標
チャンネルと構造任意のチャンネル名(R、G、B、A、Z-depth、Normal、WorldPos、MotionVectors、Cryptomatte)
最大寸法実質的に制限なし(タイル式のディープズームと数十億画素のキャンバス範囲に対応)
透過性浮動小数点アルファチャンネルと、ディープコンポジット用のボリュームサンプル配列を完全サポート
ストリーミングとプログレッシブ走査線またはタイル単位でチャンクをストリーミングし、フレームの一部を高速に読み込み、プロキシを描画可能

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

技術属性EXR (現在)HDRTIFFPNG
ダイナミックレンジ16ビット半精度および32ビット浮動小数点(リニア)8-bit 共有指数 (RGBE)整数 8/16-bit または 32-bit float標準 8-bit / 16-bit 整数
マルチチャンネルパス無制限の任意の名前付きチャンネルおよびパートRGB のみ制限付きレイヤーサポートRGBA のみ
業界での採用VFXおよびハリウッドの3D制作で100%標準として採用レガシー 3D ライティング / パノラマプリプレスおよび写真ソフトウェアによって対応状況は異なります。
色彩管理ACES および OpenColorIO ネイティブ統合アドホックなガンマ / リニアICC プロファイルタグsRGB / ICC タグ

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

画像全体が真っ暗になるか、非常に明るく白飛びした領域が現れます。

根本原因: リニアから sRGB へのディスプレイ変換の欠落、または不適切な ACES 色空間の割り当てが原因です。

復旧: File2File.app HDR ビューアで ACEScg またはリニアから sRGB へのトーンカーブ変換を適用してください。

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

複雑なチャンクベースの OpenEXR パーサーは、メモリ安全性の問題を防止するために、チャンネル定義とタイルの境界を厳密に検証する必要があります。

既知の攻撃ベクター

  • libopenexr におけるマルチチャンネル バッファのストライド計算の整数オーバーフロー。
  • PIZ または DWAA で圧縮されたストリームの解凍時のヒープ領域外読み取り。
  • 深くネストされたマルチパート チャンク ヘッダーの再帰を通したサービス拒否 (DoS)。

防御的ベストプラクティス: 厳格なタイルの寸法制限を持つ、メモリ安全なサンドボックス化されたWebAssemblyビルドを使用してEXRファイルをデコードします。

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

2020Academy Software Foundation のもとで OpenEXR 3.0 がリリースされ、マルチスレッディングが近代化されました。
2013OpenEXR 2.0 で Deep Data コンポジットとマルチパート画像構造が導入されました。
2003Industrial Light & Magic (ILM) が『ハリー・ポッター』での使用後、修正版 BSD ライセンスのもとで OpenEXR をオープンソース化しました。
19998-bit の Cineon/DPX に代わるものとして、ILM のエンジニアである Florian Kainz、Rod Bogart、Drew Hess によって作成されました。

主なメリット

  • 16ビット半精度浮動小数点(FP16)および32ビット浮動小数点(FP32)にネイティブ対応し、直射日光から暗い影までの極端な輝度を保持します。
  • 任意のマルチチャンネル アーキテクチャにより、すべての 3D レンダリング パス (ビューティ、ディフューズ、スペキュラ、深度、cryptomatte) が 1 つのファイルにカプセル化されます。
  • 業界をリードする DWAA/DWAB および PIZ 圧縮アルゴリズムにより、視覚的な損失なしに驚異的な圧縮が実現されます。

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

  • 圧縮されていないマルチレイヤーの 4K/8K 32-bit レンダリング パスを保存する場合、ファイルサイズが大きくなります。
  • コンシューマー向けソフトウェアでのマルチチャンネル解凍時に、高い CPU およびメモリのオーバーヘッドが発生します。
  • 標準の sRGB ディスプレイで正しくレンダリングするには、色彩管理変換 (ACES または OCIO) が必要です。

興味深い技術トリビア

  • Industrial Light & Magic は、OpenEXR フォーマット専用に 16-bit の「half」浮動小数点データ型を発明しました。
  • すべての EXR ファイルの最初の 4 つのマジックバイトは 0x76 0x2F 0x31 0x01 であり、ASCII に翻訳すると「v/1\x01」になります。
  • OpenEXR は「Deep Data」をサポートしており、半透明の煙や雲を通した異なる距離にある複数のカラーおよび深度サンプルを 1 つのピクセルに格納できます。

よくある技術的な質問

一部の視覚効果ワークフローで OpenEXR が使われるのはなぜですか?

高精度の HDR 画像データを保持し、合成に必要な複数のチャンネル、パーツ、深度データを扱えるためです。

EXRのハーフフロートとフロートの違いは何ですか?

ハーフフロートはカラーチャンネルあたり16ビットを使用し、完全な32ビットフロートの半分のファイルサイズで30ストップのダイナミックレンジを提供するため、ビューティーレンダリングで業界標準となっています。

EXRを標準的なPNGやJPGに変換するにはどうすればよいですか?

Webブラウザから直接File2File.appを使用して、EXRファイルをトーンマップされたPNGまたはJPG画像に変換できます。