Toolchain Pipeline/jp

ツールチェーンパイプラインと測色

1 ツールチェーンパイプライン

1.1 処理の順番

 以下全てが画像に影響します、画像ファイルを開いた時からスクリーンに表示する、或いは保存するまで、固定された順に影響します。一つのモジュールから次のモジュールまでのデータの流れ、これがツールチェーンパイプラインです。RawTherapeeには4つのパイプライン(メインプレビューに関するもの、保存画像に関するもの、サムネイルに関するもの、もう一つ準備中です)があります。以下は機能が実行される順を単純に示したものです:

  1. プロセス
    1. ダークフレーム
    2. フラットフィールド
    3. バッドピクセル
    4. ホットピクセル
    5. 比色分析 (内部処理、ユーザーインタフェースの機能にはない)
    6. Raw ブラックポイント
    7. レンズの歪曲補正
    8. グリーン平衡化
    9. ラインノイズフィルタ
    10. 色収差補正
    11. Raw ホワイトポイント
    12. Raw ヒストグラム
    13. 自動露光補正
  2. デモザイク
  3. レティネックス
  4. ハイライト復元
  5. ホワイトバランス
  6. 切り抜き
  7. 色空間の変換
  8. ノイズ低減
  9. 霞除去
  10. ダイナミックレンジ圧縮
  11. トーンカーブの自動適用
  12. (ローカル編集の)色ずれの回避、対数符号化、ぼかしとノイズ、ノイズ低減、自然な彩度、詳細レベルによるコントラスト調整、ソフトライト、ローカルコントラスト、ウェーブレット、シャープネス、レティネックス、露光補正、色と明るさ
  13. TRC(トーンレスポンスカーブ)
  14. RGBでの処理
    1. チャンネルミキサ
    2. トーンカーブ
    3. ハイライト
    4. シャドウ
    5. RGB カーブ
    6. HSV カーブ
    7. カラートーン調整
    8. フィルムシミュレーション
    9. 白黒
    10. L*a*b* カラー補正グリッド (Lab)
  15. Labでの処理
    1. シャドウ/ハイライト (Lab)
    2. ローカルコントラスト (Lab)
    3. Lab調整
    4. 自然な彩度
    5. L*a*b* カラー補正グリッド(Lab)
    6. ビネットフィルタ
    7. グラデーションフィルタ
    8. トーンマッピング
    9. インパルスノイズ低減
    10. フリンジ低減
    11. エッジ
    12. マイクロコントラスト
    13. シャープニング
    14. 詳細レベルによるコントラスト調整
    15. ウェーブレット
    16. ソフトライト
    17. CIE色の見えモデル2002
    18. リサイズ
    19. リサイズ後のシャープニング
  16. 最終Lab -> RGB変換

1.2 RawTherapeeの機能一覧

  • 一般/メインプレビュー
    • 入力プロファイル
    • モニターのカラープロファイル
    • 作業プロファイル
    • 出力プロファイル
    • クリッピングインジケーター
    • レッド/グリーン/ブルー/輝度/フォーカスマスクのプレビュー
    • 測色の意図
  • 露光補正タブ
    • 露光量補正
    • シャドウ/ハイライト
    • トーンマッピング
    • ダイナミックレンジ圧縮
    • ビネットフィルタ
    • グラデーションフィルタ
    • Lab 調整
  • ディテールタブ
    • シャープニング
    • ローカルコントラスト
    • エッジ
    • マイクロコントラスト
    • インパルスノイズ低減
    • ノイズ低減
    • フリンジ低減
    • 詳細レベルによるコントラスト調整
    • 霞除去
  • カラータブ
    • ホワイトバランス
    • 自然な彩度
    • チャンネルミキサ
    • 白黒
    • HSVイコライザ
    • フィルムシミュレーション
    • ソフトライト
    • RGBカーブ
    • カラートーン調整
    • カラーマネジメント
  • 高度な機能タブ
    • レティネックス
    • CIE色の見えモデル2002
    • ウェーブレット
  • 変形タブ
    • 切り抜き
    • リサイズ
    • レンズ/ジオメトリ
      • 回転
      • パースペクティブ
      • レンズ補正プロファイル
      • 歪曲収差補正
      • 色収差補正
      • 周辺光量補正
  • Raw タブ
    • ベイヤー配列を使ったセンサー
      • デモザイク
      • Raw ブラックポイント
      • 前処理
      • 色収差補正
    • X-Trans を使ったセンサー
      • デモザイク
      • Raw ブラックポイント
    • Raw ホワイトポイント
    • 前処理
    • ダークフレーム
    • フラットフィールド
    • ネガフィルム
    • キャプチャーシャープニング

2 測色

2.1 測色-色の見えモデルとLabの重要性

 測色に関する論議は枚挙にいとまがありませんが、正確には科学と呼べないところがあります。如何に複雑な方程式を駆使しても、人間の目が知覚するように画像を表現するには十分ではありません。例えば:

  •  L*a*b*は線形ではないので色が“歪む”、特にブルーとバイオレット、レッドとオレンジの間で、と言われます、確かに、色度のカーブやスライダーを単純に調整するだけであれば、色は歪みます。しかし、RawTherapeeでは、“色ずれの回避”のオプションを有効にすれば、その歪みを200近いルックアップテーブル(LUT)を使ってほぼ完璧な線形的変化に補正します。
  •  また、L*a*b*はその作業色空間の範囲で、偽色を生むとも言われます。これもまた然りですが、やはり“色ずれの回避”を有効にすれば補間されます。この場合、次の様に作業色空間に相対的な測色の補正を行います:
    •  画像データの解析を行います
    •  データが色域の領域に収まっていれば、補正は行われません
    •  収まっていない場合は、色度が減ぜられます。それでも十分でなければ(或いは、Lが0や100に近い場合)、Lが減ぜられます。
    •  彩度(或いは、色度や自然な彩度)が調整された場合は、200近いLUTを使ったマンセル補正が行われます。これでどの様な色ずれも高い確度で補正することが出来ます。例えば、Lab色空間での作業でレッドがオレンジになってもレッドに戻すことが可能です。若干の差は残りますが非常に小さいものです。
  •  L*a*b*の値はXYZ値の可逆変換なので(単純に言えば、Yはガンマ3.0、勾配9.03を適用すればL*に変換出来る)、根本的な部分でXYZとほぼ同じ様な限界を持ちます。XYZ値は作業プロファイの参照値で、これにより色域のベースが設定されます。従って、L*a*b*もXYZと著しく似た特性を持ちます(ダイナミックレンジや色域など)。但し、L*a*b*はアーティファクト(ハイコントラストやハイライトで)の発生を制限するためL*が飽和するように設計されています。
  •  色の見えモデル02はハイダイナミックレンジと色域の広い画像が処理できない、とよく言われます。このことは部分的には正しいと言えます。多くのユーザーの画像はsRGBの色域に収まるため問題にはならないと思われますが、RawTherapeeの開発チームは数年前からこの問題に取り組み、軽減してきました。更に、“対数符号化”を組み合わせたことで、この問題は殆ど解決したと言えます。もちろん、ハイライト回復機能の問題を含め、幾つか問題は残っています。しかし、これは何も色の見えモデルだけに限られた問題ではありません。
  •  その一方、色の見えモデル02は人間の視覚と周囲環境を考慮して正確に測色を行うモデルの一つです。例えば、画像の明るさや彩度を変える際に、色の見えモデルは画像とそれを見る周囲の環境も考慮します。
  •  画像のホワイトバランスもよく論議される話題ですが、RawTherapeeは“Itcwb”(色温度との相関関係)を導入することで、数学的にほぼ完璧なホワイトバランスを作れるようになりました。このアルゴリズムは既知のスペクトルデータと適合する画像のXYZ表色系の色を作ります。但し、色温度がD50のそれとは大きく外れている画像に関しては、人間の視覚特性ほど色順応が出来ないため、測色が不正確になります。色の見えモデルはそれを考慮することが出来ます。

2.2 線形的なRGBモードと測色の重要性

 RGBモードが評価される理由はその線形性です。線形であることは、画像のアップストリーム処理(デモザイク、ホワイトバランス、デフリンジ、色収差補正など)において非常に有利です。処理が可能な種類のものであれば、このモードを使うべきでしょう。

 しかし、トーンカーブの調整はどうでしょう?:

  •  調整が非線形であると言うだけでなく、測色の補間にも限界があります(色の見えモデルを使う知覚モードを除く)。このことは、出力(モニター、TIF。。。)で使われるトーンレスポンスカーブ(TRC)とは対照的です。
  •  処理プロファイルの中にある"Auto matched Tone Curve"はカメラに備わっているトーンレスポンスカーブをコピーしたもので、中間処理で使用されますが、やはり線形ではありません。

 画像の彩度を変える場合に、RGBの線形性を保つのは不可能ではないかもしれませんが、非常に困難で、RawTherapeeではそう言った処置は行われません。しかし、色の見えモデルは、この色の変化に順応するために、明度(或いは明るさ)の変化も考慮します。

 従って、適切な色モデルは一つだけではなく、それぞれのモデルに善し悪しがあるので、うまく使い分けることが肝要です。