導入
このドキュメントでは、Aximmetryを使用してHDR(High Dynamic Range)の入力と出力について説明します。
HDRとは何ですか?
ダイナミックレンジ
HDRについて説明する前に、まずダイナミックレンジとは何かを説明する必要があります。
最も明るい値と最も暗い値の間の範囲をダイナミックレンジと呼びます。ダイナミックレンジはストップで測定されます。
人間の目は約20~21ストップのダイナミックレンジを持っています。
カメラで画像を撮影する際、この範囲は縮小されます。非常に高性能なカメラでは約14ストップのダイナミックレンジを有します。
ほとんどのディスプレイはSDR(Standard Dynamic Range)で動作しており、約6ストップのダイナミックレンジを有します。
ダイナミックレンジが高いほど、画像に詳細を保持できます。
以下の画像は、ダイナミックレンジの違いを写真で示しています:
上部の(HDR)画像は、下部の(SDR)画像よりも異なる露出値でより多くの詳細を保持しています。
SDR / HDRコンテンツの表示
モニターやテレビは、現実の物体と同じ明るさを表示できません。
SDRコンテンツは通常、200ニッツで表示されます。ニッツはモニターやテレビの明るさの単位です。
ただし、一部のモニターやテレビはHDRコンテンツを表示する能力があります。
HDRはSDRよりもはるかに高い明るさレベルを実現できます。これにより、画像の暗い部分と明るい部分の両方で詳細を保持できます。
HDRコンテンツは、ディスプレイデバイスの最大能力で表示できます。
デバイスが対応するピーク輝度は、製造元のウェブサイトに記載されています。
最大輝度は通常、NITまたはcd/m²で測定されます。
注:1 NIT = 1 cd/m²
AximmetryでのHDRレンダリング
レンダリングパイプラインの設定
デフォルトでは、AximmetryはSDRコンテンツの作成にのみ適したsRGBガンマパイプラインでレンダリングされます。
HDR結果を得るには、sRGB Linearに切り替える必要があります。
注: sRGB LinearパイプラインでもSDRコンテンツを作成できます。この場合、最大輝度強度を1に設定する必要があります。これはSDRコンテンツの最大輝度と等しい値です。
これを行うには、ファイル/プロパティを選択し、ポップアップウィンドウでレンダリングを選択し、レンダリングパイプラインをsRGB 線形に設定します。
Aximmetry はデフォルトでフル HDR でレンダリングされ、計算時にソフトウェアによって明るさが制限されません。
ただし、HDR 出力は出力画面にも依存します。画面は HDR コンテンツを表示できる必要があります。
Aximmetryでは、明るさ値をnitsに変換するには次の式を使用します:Aximmetry明るさ 1 = 80 nits。
HDRプレビュー
プレビューはデフォルトでSDRでレンダリングされます。プレビューをHDRでレンダリングしたい場合は、カメラコントロールボードのプレビューモニター出力コントロールパネルでHDRレンダリングプロパティをオンにします:
トーンマッピング
AximmetryはフルHDRでレンダリングするため、デバイスが表示できない明るさレベルを作成する可能性があります。その場合、ディスプレイの能力を超える画像の領域はすべて完全に白くなり、詳細の損失や過度の明るさが生じます。
この問題を解決するため、Aximmetryのトーンマッピングを使用できます。トーンマッピングは、色値の範囲を別の範囲にマッピングする操作です。この場合、高いダイナミックレンジから低いダイナミックレンジへのマッピングを行います。
NOTE: トーンマッピングについて詳しくはこちら。
トーンマッピング自体は必須ではありません。ただし、シーンの明るさが表示デバイスを超える場合、詳細の損失を避けるため使用することをおすすめします。
SDR出力と/または表示を使用する場合、Tone Mapper内のMax Out Lum設定を1に設定してください。
NOTE: Max Out Lum In Nitsプロパティはオフのままにしておいてください。
HDR出力を使用する場合、Max Out Lum設定をディスプレイデバイスの最大輝度に設定してください。
この場合、Max Out Lum In Nits プロパティをオンにして、値を Nits で設定することをおすすめします。
デバイスのマニュアルで最大明るさを確認できます。
Unreal Engine での HDR レンダリング
バーチャルカメラとトラッキングカメラ、LED ウォール制作のための Unreal Engine 設定
デフォルトでは、Unreal は HDR でレンダリングし、トーンマッピングを適用して SDR コンテンツを出力します。Unreal にトーンマッピングを適用せず、HDR コンテンツを出力させたい場合、以下の設定が必要です。
これを行うには、プロジェクト設定を開き、「フレームバッファ」を検索します。フレームバッファ ピクセル形式の設定を見つけ、Float RGBA に設定します:
シーンを再起動し、再レンダリングします。
Aximmetryで
NOTE: Unreal Engine は HDR 出力時にトーンマッピングを行いません。必要に応じて Aximmetry 内で実施できます。
Virtual Camera の場合、CAMERAS コントロールボードに移動します。
Tracked Cameraを選択し、INPUTSコントロールボードに移動します。
LED Wallsを選択し、LEDWALLSコントロールボードに移動し、
HDRパネルを探します:
「Pin Values」ウィンドウでオンにします:
次に、Tone Mappingの値を調整します。
トーンマッピングの詳細についてはこちらを参照してください: Tone Mapping Methods。
注意:これらの値は、コンテンツが表示されるデバイスに合わせて調整する必要があります。
AR 制作のための Unreal Engine 設定
デフォルトでは、Unreal は HDR でレンダリングし、トーンマッピングを適用して SDR コンテンツを出力します。Unreal にトーンマッピングを適用せず、HDR コンテンツを出力するように設定します。
これを行うには、プロジェクト設定を開き、フレームバッファを検索します。フレームバッファ ピクセル形式設定を見つけ、Float RGBA に設定します:
Aximmetryで
注意: Unreal Engine は HDR 出力時にトーンマッピングを行いません。必要に応じて Aximmetry 内で実施できます。
INPUTS コントロールボードを開き、TONE MAP モジュールを探します:
次に、Tone Mapping の値を調整します。
トーンマッピングの詳細については、こちらを参照してください:Tone Mapping Methods。
注意:これらの値は、コンテンツが表示されるデバイスに合わせて調整する必要があります。
入力と出力
入力
入力に関する特別な設定は不要です。Aximmetryは入力信号のタイプを自動的に検出します。
出力
出力に関しては、出力方法に応じていくつかの設定を変更する必要があります。
- SDI
- SDI 出力で作業する場合は、出力を 10 ビットに設定してください。
- ここでカラースペースも設定できます。
- 注:サポートされている HDR カラースペースのいずれかに設定してください。詳細はこちらをご覧ください。こちら。
- HDMI / DP
- HDMI / DP ケーブルを使用する場合、Windows はビデオ信号を自動的に Rec.2100 PQ コーデックに変換します。
- Windowsのディスプレイ設定が正しく、HDRが有効になっていることを確認してください
サポートされているHDRカラースペース
ここでサポートされているすべてのHDRコーデックを確認できます:
- Rec.2100 Perceptual Quantizer (PQ)
- 輝度はnitで保存されます
- HDR10はこのコーデックを使用するため、ほとんどのテレビ、モニター、Windows OSでサポートされています。
- Rec.2100 ハイブリッドログガンマ (HLG)
- 1 単位は通常、SDR の上限である 200 nit です
- ソニー S-Gamut3/S-Log3
- ソニー S-Gamut3.Cine/S-Log3
- パナソニック V-Gamut/V-Log
- REDWideGamutRGB/Log3G10