省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

darktable 機能解説: トーンイコライザー (Ver. 4.4.1 準拠)

f:id:yasuo_ssi:20211128195339p:plain

 トーンイコライザーとは、イメージのシャドウからハイライトに掛けて明るさ別にゾーンを区切ったマスクを掛けた上で、そのゾーンごとに明るさを調整するツールです。要はイメージのコントラストを調整する機能です。darktable ではトーンカーブを代替するツールとして導入されました。darktable の画像処理パイプラインの中では、リニア・シーン参照データ空間で動くので、トーンカーブと異なり、色の統合性が損なわれにくい (色ずれが起こりにくい) というメリットがあります。このため、シーン参照ワークフローでは、トーンカーブの使用は非推奨となっています。

 トーンイコライザーには、シンプル、高度、マスクの3つのタブがあります。

■シンプル タブ (simple tab)

 シンプルは各明るさのゾーンごとに、上げ下げのスライダーがあるのみで、ART のトーンイコライザーとほぼ同じです。表示が EV 表示になっているのはシーン参照データに基づいて動いているからで、ハイライトが+ 0EV ブラック領域が -8EV となっています。各ゾーンをより明るくしたければスライダーを右に、暗くしたければ左に寄せます。

シンプル タブ

 [露出マスクを表示 (display exposure mask)] をオンするとモノクロ表示になりますが、これは上の明度ゾーン別に9段階に分けたグレースケール画像となっています。ちなみに ART のトーンイコライザーは5段階しかありませんが、明るさのゾーンをシフトする機能があり非常に便利です。こちらはゾーンをシフトする機能がない代わりに、ゾーンの段階がより細分化されている、という感じです。このオプションはどのタブでも表示されます。

露出マスク表示 オン

露出マスク表示 オフ

 このパラメータタブ項目は比較的直観的に分かりやすいので、あまり迷わないと思います。

■高度 タブ  (advanced tab)

 高度タブですが、基本的にはシンプルと同じです。但し、シンプル表示が縦表示になっているものが、横表示になっており、各ノードがシンプルモードでのスライダーに相当します。各ゾーンを暗くしたい場合は、クリック+ドラッグで、ノードを下に持っていき、明るくしたい場合は上に持っていきます。

高度 タブ

 シンプルタブにない機能として、[カーブの円滑化 (curve smoothing)] がありますが、これはゾーン間の変更の移り変わりをより緩やかにするか、急にするかというオプションです。ART のトーンイコライザーにも同様のオプションがあります。なお、ここで表示される曲線でどのように滑らかになっているのかが確認できます。なお、平滑化のパラメータを大きく増やしすぎると、滑らかになるよりは却って凸凹になってしまう場合があります。このあたりもこの曲線で確認できます。

 また、ヒストグラム表示も見られますが、これは各ゾーンにどれぐらいのピクセル数があるのかを示します。従ってトーンイコライザーで明るさやコントラストを調整しても、各ゾーンに配置されたピクセルは変わりませんので、このヒストグラムは変化しません。

 このタブも、比較的直観的に分かりやすいので、あまり迷わないと思います。

■マスク タブ (masking tab)

 初心者が迷うのは、このタブです。明るさのゾーンを決定するマスクをどのように設定するかを調整するパラメータが並んでいます。トーンイコライザーでは 9 つの明るさのゾーンに分割したマスクを掛けますが、そのゾーンの分割や配置を調整するタブです。

マスク タブ

 [輝度評価方法]は、どのように輝度範囲のゾーンを決定するのかその方法を選択します。デフォルトは RGBユークリッドノルムです。選択肢は下記のとおりです。

輝度評価方法の選択肢

 輝度評価方法を変えると、マスクの明るさのゾーンの配置が大きく変わります。

 その下は [ディテール保持 (preserve details)] はディテールをどのように保持するかその方法を選択します。

ディティール保持の選択肢

ディティール保持の選択肢

 デフォルトは eigf  (exposure independent guided filter) ですが、これは露出とは独立にガイド付きのフィルターをかけるということで、ハイライトとシャドウでディテールを保持するためのぼかし量を変えないという方法です。通常のガイド付きフィルタ (guided filter) だとハイライトほどぼかし量が増えます。

 [フィルタ拡散 (filter diffusion)] は端的に言うと、ゾーンフィルタのぼかしを調整する方法で、アルゴリズムを適用する回数を増やすことでよりフィルタのぼかしを大きくします。デフォルトは一番ぼかしの少ない 1 です。ぼかしを増やすとディテールがより保持されやすくなります。

 [平滑化の半径 (smoothing diameter)] は、簡単に言うと、各ゾーン間のマスクの移り変わりをどれほどスムーズにするかを決定する係数で、% を大きくするとよりスムーズになります。

 [エッジの精緻化/ぼかし (edges refinement/feathering)] は、どうもコントラストの高い輪郭線に対する、マスクの感度を調整するパラメータのようです。値を高くすると、輪郭線に対する感度が高くなる一方、低くすると輪郭線に対しより鈍感になりスムーズなマスクができますが、その一方でハロー (後光) 効果も出やすくなるようです。

 [マスクの後処理 (mask post-processing)] はマスクのヒストグラムの中間80%がカバーする範囲を示します。この範囲の中心が真ん中に来るのが望ましいですが、偏っている場合はマスクの設定を調整したほうが良いです。また両端にオレンジの線がある場合は、マスクにクリップする領域があることを示します。

マスク範囲が偏っている場合

マスクの範囲が適切な場合

[マスク量子化 (mask quantisation)]

 マスクを掛けるゾーンの諧調を不連続にする効果を加えます。値を増やすとより不連続になり、減らすとスムーズになります。デフォルトは 0 です。

[マスク露出補正 (mask exposure compensation)]

 マスクをかける明るさのゾーンの露出を調整して、ヒストグラムを全体的に左または右に寄せます。右端に自動調整を行う「魔法の杖」アイコンがあります。

[マスクコントラスト補正 (mask contrast compensation)]

 各明るさのゾーンの明るさの幅を調整して、マスクがかかる範囲を全体的に広げたり、圧縮したりします。やはり、右端に自動調整を行う「魔法の杖」アイコンがあります。

----

 このマスクタブは非常にたくさんかつ意味の分かりにくいパラメータがあり迷います。私の個人的な意見ですが、初心者の方は、まず [マスクの後処理] を見て、マスク分布の位置が中央に来ているのか、偏っているのか、あるいはオレンジの線が出ていないかを確認し、偏っていたり、オレンジの線が出ているときのみ、[マスク露出補正][マスクコントラスト補正] 自動調整アイコンをクリックした上で、シンプル、もしくは高度タブに移ってコントラストを調整する、という手順で良いのではないかと思います。それ以外のパラメータは無視して大丈夫でしょう。

 更に簡単なのは、プリセットを利用することです。デフォルトで次のプリセットが用意されています。

プリセット

 プリセットのメニューを適用するには、トーンイコライザーのタイトルの一番右三本線のハンバーガーメニューを右クリックすると上記メニューが出てきます。

----------------------

 なお、darktable は大半のモジュールでマスクを掛けたり、モジュールの複数のインスタンスを作成することができます。

yasuo-ssi.hatenablog.com

yasuo-ssi.hatenablog.com