リニア ワークフローとカラー管理

リニア ワークフローは、シェーディング、ライティング、レンダリングの手法の 1 つで、sRGB などの非リニア ビデオ値を直接使用する方法と比べて多くの利点があります。カラー管理は、入力、レンダリング、表示、出力に使用される異なるカラー スペース間でカラーを適切に変換することで、リニア ワークフローを可能にします。

カラー スペースは、プライマリ コンポーネント、および白色点、エンコーディング、その他のアトリビュートに関して、明確にカラーを指定します。たとえば、Web ページの sRGB イメージに使用されるプライマリの赤、緑、青の値は、P3 デジタル シネマ プロジェクタで使用される値と異なり、Web およびシネマ表示の周囲光の条件も異なります。ただし、sRGB と DCI-P3 の両方のカラース ペースのキャラクタライズが優れているため、標準モニタとプロジェクタのどちらに表示する場合もカラーを正確に変換することができます。ただし、(0.5, 0.25, 0.25)のような RGB トリプレットを正しく解釈するには、その目的のカラー スペースを把握しておく必要があります。

最新のレンダラーは、実世界における光の透過、吸収、反射、屈折を模倣します。したがって、3D シーンの光は、屋外でもスタジオ内でも実際のライティングとほぼ一致します。カラー値は光のエネルギーの量に直接比例します。これは、シーン参照リニア作業スペースまたは略してシーンリニアと呼ばれます。このようなカラー スペースでは、輝度の最大値はありません。(1.0, 1.0, 1.0)は、ライティングに完全に適応した一般的なオブザーバによって「白」と見なされるカラーですが、光源とスペキュラ反射はかなり明るくなります。

ただし、表示デバイスには輝度の最大値があり、8 ビット整数値として表現した場合(1.0, 1.0, 1.0)または(255, 255, 255)で示されます。この最も明るい値は、高ダイナミック範囲デバイスでも、実世界で発生する最も明るい色ほど明るくはありません。このため、シーンの高ダイナミック範囲の値をより限定された表示範囲にマップする必要があります。表示範囲に合わせてカラー値をスケーリングするだけで、不快で「くすんだ」外観のイメージが得られます。必要なのは写真応答を含むトーンマップです。

レンダリングには、高いダイナミック範囲だけでなく、色域の広いカラー スペースを使用することが望ましい場合もあります。これにより、より多くのカラーを表現できるようになります。これは、sRGB や HDTV (Rec.709) よりも広い色域を持つデジタル シネマや HDR TV のコンテンツを作成する際に特に重要です。

カラー管理では、必要に応じてカラー スペースを変換するために適切なトランスフォームが適用されます。これらのトランスフォームは、クリエイティブな処理中の特定のポイントで適用されます。

イメージ入力

テクスチャなどの入力イメージを処理する適切な方法は、イメージがシーン内でどのように使用されているかによって決まります。また、適切な方法はイメージそのもの、現在のカラー スペースやエンコーディング、イメージの状態(カラー値がシーン参照輝度値と表示参照輝度値のどちらに比例しているか)などによっても異なります。

非カラー データに使用されるイメージに適用されるトランスフォームはありません。バンプ マップ、法線マップ、ディスプレイスメント マップ、その他のアトリビュート(半透明性、鏡面反射性、反射率など)で使用されるマップなどがこれに含まれます。

カラー値を表現するためのイメージの場合は、いくつかの選択肢があります。
  • OpenEXR、HDR、一部の TIFF ファイルなど、ほとんどの高ダイナミック範囲イメージは既にシーン リニアです。トーンスケール線形化の必要がない場合もありますが、入力スペースとレンダリング スペースの原色と白色点が異なる場合は、変換するためのトランスフォームが必要です。
  • 特定のデバイスでキャプチャしたイメージには、そのデバイスに固有の入力トランスフォームを適用する必要があります。デジタル シネマ カメラの映像や、ADX 調整スキャナのフィルム プレートがこれに含まれます。他のタイプのスキャンしたフィルム プレートは、通常、なんらかの形で対数からリニアに変換する必要があります。
  • 表示用に用意されているイメージは、ガンマを除去する必要があります。JPEG、PNG、BMP、Targa、一部の TIFF ファイルなどの多くの一般的なグラフィックス フォーマットがこれに含まれます。ただし、ガンマを除去した後、カラー値は表示の輝度に正比例するが、シーンの輝度には正比例しないことに注意することが非常に重要です。これはテクスチャに適しています。これは 1.0 を超える値が存在しないことを意味し、ベースカラー、透明度、およびその他のカラー マップに使用されるイメージにとって正しいためです。

プレビュー

シーンリニア イメージを表示するには、表示用に変換する必要があります。通常、この変換では次の 2 つの手順を実行します。
  • 最初の手順では、シーンで参照される値をディスプレイで参照されるスペースに変換します。たとえば、トーン マップを使用して、高いダイナミック範囲から[0.0, 1.0]レンジにカラーを変換したり、原色を変更したりする場合があります。

  • 2 番目の手順では、特定のディスプレイ用に値を変換します。原色、適切なガンマ、および適切な整数値としてのエンコーディングを別途変更する場合があります。

イメージは通常、屋外のシーンや明るい照明のムービー セットよりもはるかに暗いライティング条件で表示されるため、トーンマップを使用し、好ましいイメージを生成する写真応答によって高ダイナミック範囲の値を表示範囲に圧縮します。通常トーン マップは、低いダイナミック範囲や暗い表示条件を補うために、コントラストと彩度を上げる S 字型のカーブを適用します。また、表示スペースにより明るいハイライト用のスペースを残すため、レンダリング スペースの 1.0 の値をより小さい値にマッピングします。

表示用のシーンリニアを完全に準備するには、ガンマを適用するだけでは、不十分です。トーン マップを使用しないと、1.0 を超えるカラー値は 1.0 を超えたままとなり、モニタによってクリップされます。

レンダリング出力

レンダリング出力にトランスフォームを適用するかどうかは、それらのファイルの使用方法によって異なります。
  • ファイルがさらに処理される場合は、シーンリニア レンダリング スペースに残す必要があります。これにより、ダイナミック範囲全体を合成やグレーディングなどの操作で使用できるようになります。ただし、これらのファイルをモニタで表示するには、トーン マップとディスプレイ トランスフォームが引き続き必要です。それらがないと、非常に暗く表示されてしまいます。
  • ファイルが直接表示される場合(Web ページに投稿される場合など)は、トーン マップとディスプレイ エンコーディングをベイク処理する必要があります。
  • 場合によっては、ファイルを特定のスペースに変換するために、別のトランスフォームを適用する必要があります。