Color Management/jp

カラーマネジメント

1 入力プロファイル

 Rawファイルはカメラのセンサー、及びそれに関連した電子回路によって捉えられ、記録された光のデータが大量に入っています。入力プロファイルの役割はこれらの値を既知の色空間で正確に配分し、撮影されたシーンの全ての色を忠実に再現することです。入力プロファイルは画像データに対し、RawTherapeeのパイプラインのアップストリームで適用されます。機能による処理の殆どはこのパイプラインのダウンストリームで行われます。

 詳細情報に関しては以下を参照して下さい:

1.1 プロファイルなし

 入力プロファイルを適用しないオプションです。カラーマトリクスは斜めで“1”、他は全て“0”を使います。

  • 入力画像がrawの場合は、カメラ固有のRGBカラーを表示します。デモザイクとホワイトバランスの処理だけが行われます。
  • 入力画像がraw以外の場合は、内包されている入力プロファイルは適用されません。ガンマ補正も行われないので、画像表示は明るくなります。

 一般的にこのオプションは教育目的や科学目的で使うのに適しているでしょう。例えば、カメラが通常の色域から大きく外れた色を出力した場合、プロファイルを適用しないことで、色の飽和が起こっていないことを確かめます。

1.2 カメラの標準的プロファイル

 RawTherapeeはカラーマトリクスを次の3カ所から探します:

  •  RawTherapeeに埋め込まれているdcrawコードの中、
  •  Rawファイルの中、
  •  RawTherapeeと共にインストールされたcamconst.jsonというテキストファイルの中

 情報は、3カ所全てで探されますが、同じものが見つかった場合はcamconst.jsonの情報が優先されます。但し、入力カラーマトリクスの情報は、そのrawファイルがDNG形式で、SoftwareExifタグ(0x0131)が“Adobe DNG Converter”という文字列から始まらず、ColorMatrix2タグを持たない場合は、Exifタグの情報が優先されます。

 “カラーマトリクス”は3x3の定数を持つマトリクスで、これをカメラ固有のRGBカラーと掛け合わせ、可能な限り忠実な色に変換します。ホワイトバランスがキャリブレーションされたマトリクスと近い時に、カラーマトリクスは最適に機能(例、精度の高い色表現)します。“カメラの標準”マトリクスはD65光源でキャリブレーションされたものです。しかし、ホワイトバランスがこれから大きく外れていてもあまり気にする必要はありません。色は適度に正確に変換されるからです。

 風景写真などのように、非常に正確で、厳密に調整された色を出すことが最も重要なことでなければ、カラーマトリクスで十分満足のいく色を得ることが出来ます。LUTベースのDCPやICC変換に比べてカラーマトリクスが有利な点は、データが純粋に線形だからです。例えば、同じ色相、彩度ならば、明るい色も暗い色も、同じように解析されるからです。このことは、線形的な色の応答を予測できることが重要な、例えばハイダイナミックレンジ合成のために画像をエクスポートする必要がある場合などに強い味方です。

1.3 カメラ固有のプロファイルと自動的にマッチさせる

 DCP、或いはICC入力プロファイルを使用しますが、DCPが優先されます。DCPのプロファイルの方が標準マトリクスより精度の高い色情報を提供してくれるからです。

 これらプロファイルは、ユーザーから提供してもらったカラーチャートの写真を使って、私たちが注意深く作成したものです。私たちがまだ貴方のカメラ機種の2次元光源のDCPプロファイルを持っていない場合、貴方がカラーチャートを手に入れ、プロファイル作成用の写真を提供してくれるなら、私たちが貴方のカメラ機種のカラー変換を向上させることが出来ます(GitHubのDCPプロファイルを参照して下さい)。プロファイル作成用の写真の撮り方は、"DCPカラープロファイルの作り方"の説明を参照して下さい。

 貴方のカメラ機種に関するDCPもICCプロファイルも見つからない場合、RawTherapeeはカメラ標準のカラーマトリクスを使います。

 カメラプロファイルは、ブラックポイントからクリッピングポイントまでの通常のレンジで作用します。ハイライト復元機能を有効にした場合は、新しいデータがクリッピングレベルに追加されます。そして、それらを可視領域に動かせば(例、露光量補正スライダーを下げる)、その新しいレンジは、プロファイルが自然にカバーする通常レンジとは異なるものになります。しかし、RawTherapeeの場合、プロファイルを線形的に書き直し、この新しいレンジでカバーされるようにしていますので、そこにある色は、通常レンジの同じ色相や彩度の最も明るい色と同じように補正されます。

1.4 カスタム

 カスタムメイドのDCP、或いはICCカメラ入力プロファイルを指定します。

 RawTherapeeの中に貴方のカメラ機種に関するDCPプロファイルがなく、カラーチャートも手に入らない場合でも、そのプロファイルをAdobe DNG Converterから手に入れることが可能かもしれません。プロファイルの入手方法については、"LCPとDCPプロファイルを取得する方法"の項を読んで下さい。

 DCPはカメラプロファイルのため、特別に設計された形式で、RawTherapeeは最近のDNG標準(DCPを定義している)の殆どをサポートしています。つまり、AdobeのDNGコンバーターでから提供されるDCPは全て使用できます。一方、ICC形式のプロファイルは少し厄介です。ICCプロファイルは複数の目的で使われるので(例、プリンターやディスプレイなどによる印刷・表示)、カメラプロファイルのため特別に設計されたものではありません。そのため、それを作る側によってICCプロファイルの作り方も異なります。実際には、そのプロファイルが使えるように入力画像に何か特定の方法で前処理を施さなければなりませんが、プロファイルそのものに、前処理をどうしたらいいのかという情報が欠けています。つまり、第三者によるプロファイルを使った場合、RawTherapeeは期待される前処理を行えないこともあるので、その場合は結果が大きく変わることになります。

1.5 DCP

1.5.1 DCPの光源

 RawTherapeeに格納されているDCPの中には単光源(昼光/D50)で作成されたものがあります、他のDCPは2次元光源(昼光/D50とタングステン光/標準A)で作成されています。2次元光源のプロファイルが読み込まれると、“DCP光源”の設定が有効となり、どちらの光源のDCPを使うか選択出来ます。実際のDCP標準(DNG標準の定義の一部)にこの選択肢はありません、しかし、その代わりに、選択されたホワイトバランスに基づいて、2つの光源の補間を計算します(補間の計算はホワイトバランスが2つの光源の間にある場合です、そうでない場合は近い方の光源が選ばれます)。この“補間”モデルが“DCP光源”のデフォルト設定になっていて、通常の利用において選択する必要はありません。

 しかし、二つの光源の一方をベースにカラーレンダリングを行うことも出来ます。その方が美的に満足のいく色になることもあります。また、光源によって色合いがどれほど変わるのか検証してみたい場合にも、利用できますが、前述の通り、普通にプロファイルを適用するのであれば、ここはそのままにしておく方がよいでしょう。

1.5.2 DCPトーンカーブを使う

 DCPの中にはフィルム調の色映りを提供すためにコントラストや明るさを調整するトーンカーブを内包しているものがあります。このトーンカーブは主にカメラメーカーのセッティングを模倣するために使われます。トーンカーブを内包してないプロファイルの場合は、トーンカーブのチェックボックスはグレーアウトになります。

 DCPに内包されたトーンカーブのモードは、露光補正機能に備わっている“フィルム調”と同じものなので、露光補正機能のトーンカーブでフィルム調モードを使い、同じ効果を再現することが出来ます。フィルム調モードでコントラスト調整を行うと色の映りが変化します。全体的に彩度が上がりますが、明るい色だけは逆に彩度が下がります。プロファイルの中には予めこれらの色映りを補正したトーンカーブを埋め込んでいるものがあり、そのトーンカーブを適用しないと設計者が意図した映りが得られないことがあります。但し、その場合でも露光補正機能のトーンカーブで貴方自身が調整を行えば多くの場合は目標とする色映りを得ることが出来ます。設計者の意図した通りの色映りを再現したい場合はトーンカーブの適用を有効にします。

 入力カラープロフィルの適用はツールチェーンパイプラインの最初の部分で行われますが、DCPトーンカーブの適用はパイプラインの露光補正機能の少し後になります。

RawTherapeeに付属しているDCPの幾つかは、トーンカーブを使っています。DCP tone curve.rtc

 RawTherapeeに付随しているDCPプロファイルの中には、Adobe Camera Rawがデフォルトで使っているトーンカーブと同じカーブを使っているものがあります。リンクからそのカーブを取得できます:File:DCP tone curve.rtc

 露光補正機能で“スタンダード”カーブを使い、モードを“フィルム調”にセットします。そして、Folder-open.png“ファイルからカーブをロード”というボタンを使い、DCP tone curve.rtcを適用します。

 DCPプロファイルに“AdobeSystems”という名のコピーライトタグがある場合は、そのプロファイルにトーンカーブ含まれているかどうかに関わらず、RawTherapeeは自動的にAdobe Camera Rawと同一形状のカーブを生成します。これはRawTherapeeでDCPを使用した時に、LightroomのDCPプロファイルと同じ結果になるようにするためです。カーブが埋め込まれていないDCPプロファイルを使っても先のコピーライトタグが付いている限り、“トーンカーブ”のチェックボックスがグレーアウトしないのはそのためです。

1.5.3 DCPのベーステーブルを使う

 これはDCPの中の“色相-彩度マップ”というLUTを有効にするもので、ベースマトリクスに対し、非線形的な補正を追加します。上級者向けの機能なので、純粋なマトリクスの効果だけを期待するなら、ここはそのままにしておきます。色相-彩度マップが欠けているプロファイルを読み込むと、チェックボックスがグレーアウトになります。

1.5.4 DCPのルックテーブルを使う

 これはDCPの“ルックテーブル”というLUTを有効にするもので、通常は埋め込まれたトーンカーブで表現される色映りに、主観的な色映りが加わります。つまり、DCPトーンカーブとルックテーブルを無効にすれば、ニュートラルな“比色”プロファイルを得られことにます。但し、常にそうなるようにDCPが設計されているわけではありません(そのDCPがルックテーブルとベーステーブルの両方を持っていれば可能でしょうが、ルックテーブルだけの場合は、無効にすると正常に機能しないでしょう)。DCPの個々の要素を無効にする操作は上級者が使うテクニックなので、通常はそのままにしておきます。

1.5.5 DCPのベースライン露出

 DCPが露光量補正スライダーに対応し露光補正を示す場合があります。普通は、画像の明るさをカメラのJPEG画像のそれに合わせることが目的で、自動露出で撮影している場合に便利かもしれません。現在、この補正は“水面下”で行われるので、スライダー上で見ることは出来ません。

 注意:Adobe独自のプロファイルを使用する場合、DNGの“ベースライン露出”タグも適用されることが前提です(プロファイルの補正が追加される)。現在、RawTherapeeは、このDNGタグをサポートしていないので、Adobe Camera Rawと同じ明るさを得たい場合は、貴方自身でそのタグを探し(例、exiftoolを使って)、露光量補正スライダーを使った補正を設定しなければなりません。

1.6 実行ノート

1.6.1 第三者DCPのサポート

 RawTherapeeを使う上で、奨められる入力プロファイルの形式がDNGカメラプロファイル(略称:DCP)です。この形式であれば、ブラックレンダリングタグ(以下の説明を参照)以外、1.4DNGの仕様明細の全てがサポートされているからです。DCPは純粋なマトリクスプロファイルとして扱うことが出来るので、比色の精度を向上させるためのLUT(通常2.5D)を持たせることも可能ですし、更にカーブの埋め込みや、“ルックテーブル”を持たせることも出来ます。また、露出補正オフセットを追加することも出来ます。これら全ての要素は、チェックボックスを使ってオン・オフすることが出来ます。しかし、第三者が提供するプロファイルは、その中の全ての要素が有効の場合に限り、設計者の意図した色が表現されるようになっているのが普通です。例えば、トーンカーブは”色の映り”を変える機能ですが、埋め込まれているカーブを無効にし、線形的なプロファイルを適用してしまうと、設計者が意図した色を正確に表現することは出来ません。しかし、殆どの撮影者が期待するのは、正確無比な設計者の意図した色映りではなく、撮影者の美的嗜好を反映した色映りなので、正確無比であることを必要としないのであれば、特に気にする必要はないでしょう。

 第三者プロファイルには、Adobe Camera RawやLightroomのプロファイルが多いと思われますが、RawTherapeeはこれらをサポートしています。Adobeのプロファイルにはトーンカーブが無いものが多いですが、これはトーンカーブを適用する必要がないという意味ではなく、Adobeのデフォルトカーブを適用すべきという意味です。従って、RawTherapeeは、Adobeのプロファイルを、著作権を示す文字列から特定し、デフォルトのカーブを追加しています(トーンカーブのチェックボックスを使ってオン・オフします)。

 Adobe DNG ConverterがDNGファイルに“ベースライン露出”を追加する場合があります。AdobeのDCPの中にはこのベースライン露出を使う設計になっているものがあり、カメラからの撮って出しJPEG画像に近い明るさとコントラストを生成します。DCPがこのベースライン露出を含んでいる場合は、RawTherapeeもそれに従います。

 DCP形式のプロファイルは、ブラックレンダリングというタグを持っています。このタグはrawコンバーターが“自動的に”ブラックサブトラクションを行うかどうか示します。RawTherapeeはこのタグを無視しますので、ブラックサブトラクションをraw ブラック・ポイント、或いは黒レベルのスライダーを使って手動で調整します。Adobeのプロファイルは、自動的にブラックサブトラクションを行うものが多く、Adobe Camera RawやLightroomはそれを実行します。これらのケースでは、RawTherapeeで画像を開いた際に、若干コントラストが不足したり、シャドウ部分が明るくなったりします。

1.6.2 第三者ICCのサポート

 RawTherapeeはCapture OneとNikon NX2に付随する特定のICCプロファイルをサポートしていますので、これらプロファイルを適用しても十分な効果が得られます。但し、古いICCは良い結果が得られないようです(そのプロファイルがサポートされない場合は、典型的に画像が著しく暗くなります)。

 また、ICCプロファイルの中には、“フィルム調”の表現を作るために、トーンカーブを使って明るいハイライト部分を抑えているものがあります。この様なプロファイルの場合、ハイライト復元機能を使うと上手くその効果を得られません。ICCプロファイルを適用した時に、コントラストが著しく変化する場合は、そのプロファイルにトーンカーブが使われていると考えられます。その場合は、ハイライト復元機能を使わない方がいいでしょう。

 DCPと違い、ICCプロファイルの場合、適用の際に彩度の高い色が飽和してしまうことがあります。実際の使用で、これが問題になることは殆どありませんが、あくまでプロファイルの形式はDCPが最良であると考えます。

 Capture OneのICCプロファイルを使う際の注意点:RawTherapeeは、露光補正前にICCプロファイルを適用するように設計されています。理由は、入力プロファイルは色を正確に再現するためだけに使われるべきで、見た目を考慮するために使われるべきではない(見た目の考慮はプログラムの機能を使って貴方が好みに合わせて行う調整)と考えるからです。Phase OneのICCプロファイルは、主観的な色映りを再現する要素が含まれています。代表的なのは“色相調整”で、例えばシャドウ部分の彩度を多少増やすようにしてあります。そのため、撮影した画像が露出不足の場合、編集で何ステップかプラスの露光量補正を増やした場合、シャドウ部分にはそれ以前に色相調整がかけられているため、誤った部分にもプラスの露光補正が働いてしまい、Phase Oneが意図したものと同じ色映りは再現されないことになります。従って、Phase Oneのプロファイルを適用する場合は、カメラ通りの露出を使うことを奨めます。また、これらICCプロファイルは適切なRGBの“フィルム調”カーブを適用する設計になっています。

 LUTのICCプロファイルは、本来露出調整の後に適用されるべきだということは分っています(DCPのルックテーブルが適用されるように)、その方がCapture Oneのプロファイルをサポートするためには望ましいでしょう。RawTherapeeの将来バージョンでは、それが可能になるでしょう。

1.7 参考画像を保存

 “参照画像の保存”をクリックすると、入力プロファイルが適用される前の画像がTIFF形式で保存されます。このファイルで独自のプロファイルを作成出来ます、例えば、新しいICCカメラプロファイルなどです。オープンソースのArgyllCMSを使ったICCプロファイルの作成、そしてDCamProfを使ったICC或いはDCPプロファイルの作成が可能です。

 切り抜き、リサイズ、変形(回転)が適用出来るので、受ける側のソフトウェアによる出力ファイルの制御が行い易くなります。ArgyllCMSは融通の効かないプログラムなので、画像で見ることの出来るテストターゲット以外には使えません。

 また、書き出しを行う際に、ホワイトバランスの適用・非適用を選べます。ICCプロファイルの書き出しを行う場合は、ホワイトバランスを適用するべきですが(デフォルトでは適用になっています)、DNG Profile、或いはdcrawスタイルのカラーマトリクスを書き出す場合は、適用しない方がいいでしょう。

 

2 作業プロファイル

 デフォルトの作業プロファイルはProPhotoです。普通にプログラムを使うのであれば、これを変更する必要はないでしょう。

 作業プロファイルは、作業を行う色空間を特定するもので、プログラム内の演算で使われる色空間です。例えば、彩度の計算やRGBの明るさ/コントラスト、トーンカーブの調整、色度の計算などにです。

 以前のように、RawTherapeeが整数演算のプログラムであった時は、演算精度を高めるためには、必要以上に広い色空間を使わない方が賢明な選択でした。しかし、バージョン4.0.12以降、RawTherapeeは浮動小数点演算を使っているので、普通にプログラムを使う場合、作業プロファイルでProPhoto(色域が非常に広い)を使うことに何の問題もなく、変更する理由はありません。

 トーンカーブの中には、選択した作業プロファイル次第で、彩度の高い色を著しく変えてしまうものがあります。そのため、画像の色を出力色空間内に収めることが難しい場合は、他のタイプのトーンカーブを試してみて下さい。

 注意:作業プロファイルによって特定されるのは、レッド、グリーン、ブルーの構成要素だけです。これはRawTherapeeの処理パイプラインが、ガンマ符号のない(この場合、ガンマ=1.0)浮動小数点演算で行われているからです。但し、幾つかの機能(カーブやヒストグラムなど)は、作業プロファイルの如何に関わらず、ハードコードされているガンマ(通常はsRGBのガンマ)を使って表示されます。

2.1 独自の作業プロファイル

 バージョン5.5以降のRawTherapeeでは、JSON (英語)ファイルを使ってカスタムプロファイルを指定することが出来ます。ファイル名はworkingspaces.jsonの形をとる必要があり、以下の場所に保持します:

  • 環境設定→カラーマネジメント→カラープロファイルを含むディレクトリで設定されたICCプロファイル
  • 或いは、RawTherapeeに備わったICCプロファイルフォルダー:
    • Windows:<rt-install-folder>\iccprofiles
    • Linux:
      • パッケージマネジャーを使ってインストール、或いはBUILD_BUNDLE=OFFでコンパイルする場合は:/usr/share/rawtherapee/iccprofiles
      • BUILD_BUNDLE=ONでコンパイルする場合は:<rt-install-folder>/iccprofiles
    • macOS:/library/ColorSync/Profiles/Displays

workingspaces.jsonの形式は以下の通りです:

{"working_spaces": [
    {
        "name" : "ACES",
        "file" : "/path/to/ACES.icc"
    },
    {
        "name" : "ACEScg",
        "matrix" : [0.7184354, 0.16578523, 0.09882643, 0.29728935, 0.66958117, 0.03571544, -0.00647622, 0.01469771, 0.66732561]
    }
]}

 “マトリクス”が提供されている場合、“ファイル”は無視されます。“ファイル”だけが提供されている場合は、ICCプロファイルからマトリクスが抽出されます。この際、RawTherapeeは、レッド、グリーン、ブルーのマトリクスの行とプロファイルに設定されているホワイトポイントだけを見ます。マトリクスをD50に転換するためにはブラッドフォード適合が使われます。プロファイルの他の項目(LUT、TRCなど)は無視されます。

 作業プロファイルとして、そのカスタムプロファイルが適切であるかどうか判断するのはユーザーです。

3 出力プロファイル

 出力のカラープロファイルを指定します;保存される画像はこの色空間に転換され、プロファイルはメタデータに埋め込まれます。出力プロファイルの画像に対する効果はプレビューでは見ることが出来ません。

 RawTherapeeでは、“入力”プロファイル(例、貴方のカメラプロファイル)や“表示”、“出力”と言ったデバイス(例、プリンタ)のプロファイルをRGB色空間で指定出来ますが、これはRawTherapeeが保存できるのはRGB画像だけだからです。コンボボックスに収められたプロファイルはRawTherapeeに付属しているもので、環境設定→カラーマネジメントの中で設定されるフォルダーに収められています。

 ソフトプルーフィング機能は、プリンターのカラーレンダリングを模倣するものです。プリンターと印刷用紙の組み合わせが正確にシミュレーションされているプリンターのプロファイルを使って、印刷を実行した場合に画像がどの様な映り具合になるかプレビュー画面で表示します。ベストなクォリティーで印刷するためには、この機能を使って画像を調整した後、出力プロファイルにプリンターのプロファイルを指定し、保存もそれで行います。これによりRawTherapee内部で使われている質の高い浮動小数点画像データが、プリンターの色空間を使ったデータに直接符号化されます。

 一旦sRGB色空間で8‐ビット画像を保存し、それからプリンターのプロファイルに転換する方法では、画像データの損失が大きくなってしまいます。

 メインヒストグラムとナビゲータ、クリッピングインディケーターは、環境設定→一般で指定される作業プロファイル、或いは出力プロファイルのデータを使っています。

 RawTherapeeには質の高いカスタムメイドの出力プロファイルが付いています:

RT_sRGB
sRGBに類似
sRGBに近いガンマ: g=2.40, slope=12.92
RT_sRGB_gBT709
sRGBに類似
ガンマはBT709: g=2.22, slope=4.5
RT_sRGB_g10
sRGBに類似
リニアなガンマ g=1.0, slope=0
RT_Middle_gsRGB
AdobeRGB1998に類似
sRGBに近いガンマ: g=2.40, slope=12.92
RT_Large_gsRGB
ProPhotoに類似
sRGBに近いガンマ g=2.40, slope=12.92 (Lightroomで使われる“Melissa”に近い)
RT_Large_gBT709
ProPhotoに類似
ガンマはBT709: g=2.22, slop=4.5
RT_Large_g10
ProPhotoに類似
リニアなガンマ g=1.0, slope=0

 8bitフォーマットで保存し、ウェブなどに公開する場合は、RT_sRGBが推奨される出力プロファイルです。プロファイルの選択が行われていない場合は、どのプロファイルも埋め込まれないので、必然的に“sRGB”になります。しかし、様々なアプリケーションで正しく表示されるかどうかを考えれば、RT_sRGBを埋め込んでおく方が安全です。

 RT_sRGBはsRGBプロファイルの質の高いバージョンとお考え下さい、中身が驚くほど違います。RT_sRGBはJacques Desmis氏によるRawTherapeeのカスタムメイドsRGBプロファイルです。sRGBプロファイルはルックアップテーブル(LUT)が1024しかありませんが、RT_sRGBには4096あります。使用するPCのアプリケーションがRT_sRGBの有利性を受け入れない、或いは使えない場合は、単にsRGBプロファイルが適用されます。

 もし別なアプリケーションで更に編集を行うため、16bit、或いはそれ以上のbit深度のフォーマットでエクスポートする場合は、RT_Large_gsRGBのような色域の広い出力プロファイルを選ぶのが一般的です。画像を印刷する場合でも、色域の広い出力プロファイルの適用をお奨めします。最近ではプリンターによっては、色空間が広くなっているからです(少なくとも、特定の色では)。

 但し、広い色空間のプロファイルを使うのであれば、色空間の広いモニターも手に入れるべきでしょう。さもないと、調整に対する出力結果が、暗中模索ということになりかねません。