ここのところNX Studioの現像内容を検討してきて、NikonカメラのRawファイルは、やはりNX Studioで現像するのが基本だな、という思いを強くしてきました。デフォルトでカメラ設定を反映してくれること、そしてやはり梅レンズが松レンズになる色収差補正能力の高さは特筆ものです。さらに、オールドモデルのカメラでも最新のピクチャーコントロール等が使えます。撮影当時より、より良いイメージで現像できる可能性が広がります。
しかし、先日、darktable3.6.1の、高ISOのノイジーな画像に対するノイズ低減効果の劇的改善を見て、少なくとも高ISOノイジー画像の現像には、darktableの選択は十分ありと思わされました。特にdarktableのdenoize(profiled)はRawファイルでないと有効に動かないので、現像から行う必要があります。となるとdarktableの現像結果をNX Studioに近づけるにはどうしたら良いか、ということを考えざるをえません。
ただ、darktableの現在向かっている路線は、今までのRaw現像ソフトの路線を否定するところにあります。RawTherapeeやARTならカメラ固有の特性を反映したDCPを適用することでかなり似せることができますが、darktableでは一筋縄ではいきません。
そこで、ここのところ何度も登場しているサンプル画像です。まずNX Studioでの現像結果をお示しします。
いわばカメラメーカーレファレンスの絵作りです。灯りの温かさが感じられます。因みにニュートラルで現像したものは以下です。NX Studioのデフォルトと色がかなり違っており、NX Studioで、カメラ固有のルックアップテーブルが適用され、色づくりがされていることが分かります。
次に、darktable 3.6.1 で読み込んだデフォルトの結果です。
妙にオレンジがかっており、その割にはあまり温かさが感じられません。灯りも今一つ明るくないのが原因かもしれません。それならトーンをいじるだけで済みますが、やはり根本的にNX Studioの結果とは色相が違うのだと思います。ただ、ニュートラルの延長線上にあることは間違いありません。特に、3.6になってから、Rawデータをなるべく線形的に変換してデフォルトのRGBデータを作ろうという方向性が明確になってきているように思います。
たぶん、明かりも本物の白熱灯ではなく、電球色の蛍光灯の可能性があります。そうだとすると、実はこちらの写真の方がリアルなのかもしれません。ただこれではパッと見て印象に残りません。主観的な味付けが欲しくなるゆえんです。
そこで、まず今のdarktableでは非推奨のbase curveモジュールをオンにしてみます。
すると、明かりが黄色っぽくなり改善されています。base curveは非リニアな色空間(L*a*b)で働いていて、カメラに応じたベースカーブ(DCPトーンカーブに相当すると思われます)と、カメラ固有の色付けを行うルックアップテーブルを適用することで*1、メーカーの色づくりを模倣しています。しかし、いずれにせよこれは今のdarktableの推奨するワークフローでは邪道とされます。
そこで、NX Studioの結果やbase curve適用の結果を参考にしながらこれに近い方向を探ります。とはいえ原理主義にこだわらなければ、非推奨のディスプレイ参照ワークフローでベースカーブを使って現像するのもありです。それはともかく...
で、いろいろ試行錯誤の結果、以下のようなパラメータに落ち着きました。まず露出ですが、トータルで+2EVほど上げました。これはフィルミックRGBでコントラストを上げると暗くなるので、その分を補償する意味で上げました。
ホワイトバランスは、デフォルトのカメラ設定(as shot)のままにし、いじるのはやめました。
フィルミックRGBですが、まず、sceneタブ、これもwhite / black relative exposureは、オンにしたときのデフォルト-8.0EV~+4.0EVのままとしました。
次にlookタブですが、さっきも述べたように、コントラストを上昇させ、さらに middle tone saturationを上げて、明かりの部分の彩度を上げるようにしました。
あとはデフォルト状態では、根本的に灯りの色がやはり違います。非リニアな色空間ではトーンカーブをいじるだけで非意図的に色相が変わって(色の整合性が維持されないため*2 )、それを利用するというのもありですが、シーン参照ワークフローではすべてを意図通りコントロールしなければなりません。そこでメーカの色付けに近いところに持っていくために、非線形的なルックアップテーブルの代わりに、 color zonesモジュールを使います。
このモジュールのhueタブを使い、灯りの色相に該当する部分(オレンジ色)を中心に、やや黄色に持っていきます。
さらに、darktable3.6.1の目玉であるノイズ低減や収差補正のためのモジュールを総動員します。オンにしたのはdenoize(profiled), hot pixels, sharpen, chromatic aberrations, raw chromatic aberrations, lens correctionです。
lens correctionはdistortion & TCA (transversal chromatic aberrations = 倍率収差補正)のみオンにします(下図)。
各補正はいずれもパラメータはデフォルトのままです。最後に更に彩度を上げるため、haze removalを掛けて出力します。
微妙に温かさが足りないような気もしますが、ある程度NX Studioによる現像結果に近づいたかとは思います。
なお、さらに灯りのコントラストを強調したい場合は、tone equalizerを使うべきだと思いますが、今回は、最終的に、filmic RGBのみ使用し、そこまでやりませんでした。
------
最後に今回の議論&検証のまとめです。
現在のdarktableの推奨するシーン参照ワークフローでは、カメラプロファイルのようなものは使わないという方向になっています(但し、RawデータからRGBデータを作るマトリックスに、各カメラのセンサー特性に応じた非線形変換が掛かっているのかどうかは分かりません)。つまりセンサーに写ったものをなるべくリニアにRGB色空間に転写し、そこから、各ユーザの感性によって色づくりを行っていくべきだ、という考え方に立っているようです。そのため、ユーザの意図しない非線形的な変換はなるべく排除する、という方針のようです。とはいえ、フィルミックRGBをオンにすると、デフォルトでS字変換は掛かりますが。そういう意味では、まずとりあえず出てくる絵は、リアルで地味な、あまり作りこまない絵になります。
ただ、カメラ毎の絵作りには、トーンカーブと並んで色を変える非線形変換であるルックアップテーブルが重要な役割を果たしています。カメラプロファイルを使わないということはこの両者をマニュアルで再現しなければなりません。
とりあえず今回その非線形変換に近づけるのに、filmic rgbでトーンカーブの調整と、color zonesを使って、色の非線形的変換を模してみました。しかし、ケースによっては、tone equalizerによる調整を追加したり、さらにマスクを掛けた補正などが必要になってくるかもしれません。
なお、このような補正の結果はdtstyleファイルとして保存できますので。お気に入りの補正ができたらそのレシピを保存して、次の現像に生かすことができます。因みに、既にdarktableのレシピを公開して共有するサイトもありますが、現状ディスプレイ参照ワークフローを前提としたものが大半です。