Frequencyセパレーションは、画像を低周波(Low Frequency)と高周波(High Frequency)に分離する画像処理手法です。

低周波には色や明暗などの大まかな情報、高周波には毛穴や細かいシワ、髪の毛などのディテールが含まれます。

これらを個別に調整して再合成することで、肌の質感を維持しながら色ムラや明暗を補正することができます。

今回は、Flame 2025から追加されたFrequencyノードを使用して、周波数分離と再合成の仕組みを確認してみます。

Frequencyノード

Frequencyノードは、画像を空間周波数に基づいて2バンドまたは3バンドに分離するノードです。

Gaussian Blurなどを使用して低周波成分を抽出し、オリジナルとの差分から高周波成分を取り出します。

分離された各成分は個別に出力されるため、Colour CorrectノードやPaintノードなどで調整した後、Compノードで再合成できます。

また、Frequencyノードには、Center and Scaleというオプションがあり、高周波成分を50%グレー基準、または0%基準で扱うことができます。

この違いによって再合成に使用するブレンドモードも変わるため、後半ではCompノードを使って、その仕組みを確認します。

ワーキングカラースペース

今回の検証では、Colour Managementノードを使用して、素材のカラースペースをACES2065-1からACEScctへ変換しています。

ACES2065-1はScene-linear、ACEScctはLOG系のカラースペースです。

ACES2065-1ACEScct
特性Scene-linearLOG系
明暗の扱い光量に比例対数的に圧縮
Blurの結果光量を平均化LOG値を平均化
肌レタッチ明部の値に影響されやすい中間調を扱いやすい

Frequencyセパレーションでは、Blurによる平均化や画像間の差分演算を行うため、使用するカラースペースによって分離結果が変わります。

Scene-linearのACES2065-1では、明るいピクセルの値が大きくなるため、Blurによる平均化でも明るい部分の影響を受けやすくなります。

一方、ACEScctでは、明るさが対数的に圧縮されているため、肌の中間調や陰影の変化を比較的、扱いやすくなります。

実際に両方のカラースペースで検証したところ、今回のような人物の肌を対象としたレタッチでは、ACEScctの方が調整しやすい結果になりました。

そのため、以降の検証はACEScctをワーキングカラースペースとして進めます。

なお、ACEScctがFrequencyセパレーションにおいて、常に優れているという意味ではなく、目的とする画像処理に応じて適切なカラースペースを選択することが重要です。

Center and Scale

FrequencyノードのCenter and Scaleは、分離した高周波成分の基準値を設定するオプションです。

有効(デフォルト)にすると、高周波成分を50%グレー(0.5)基準として扱います。

無効にすると0%(0.0)基準とした差分として扱います。

次に、50%グレー基準と0%基準、それぞれの高周波成分をCompノードで再合成し、オリジナル画像との差を確認します。

高周波成分の再合成

Frequencyノードで分離した高周波成分は、Center and Scaleの設定に応じたブレンドモードで再合成します。

Center and Scale ON (50%グレー基準)

高周波成分は0.5を基準としているため、CompノードのLinear Lightを使用して再合成します。

Center and Scale OFF (0%基準)

高周波成分は0.0を基準とした差分のため、CompノードのAddを使用して再合成します。

2バンド / 3バンドの再合成

2バンドでは、Low FrequencyとHigh Frequencyを再合成します。

3バンドでは、Low FrequencyとMid Frequencyを先に合成し、その結果にHigh Frequencyを合成します。

いずれも、Center and Scaleの設定に応じたブレンドモードを使用します。

Compノードによる周波数分離

Subtract / Add (0.0基準)

まず、Blurノードでオリジナル画像から低周波成分を作成します。

CompノードのSubtractを使用して、オリジナル画像から低周波成分を引くことで、高周波成分を抽出します。

高周波成分 = Original − Blur

この高周波成分は0.0(黒)を基準とした差分で、プラスとマイナスの値を含みます。

再合成では、CompノードのAddを使用して、低周波成分に高周波成分を加えます。

Original = Blur + 高周波成分

これにより、分離した成分からオリジナル画像を復元できます。

Average / Linear Light (0.5基準)

0.5基準では、Negativeノードを使用してBlur画像の値を反転します。

Negative = 1.0 − Blur

続いて、CompノードのAverageを使用して、オリジナル画像と反転したBlur画像を平均化します。

高周波成分 = (Original + Negative) ÷ 2

これにより、高周波成分は0.5(50%グレー)を基準とした画像になります。

再合成では、CompノードのLinear Lightを使用します。

Original = Blur + 2 × (高周波成分 − 0.5)

Linear Lightは0.5を変化のない基準値として扱い、高周波成分の差分を低周波成分に戻します。

Center and Scale分離再合成
OFF (0.0基準)Subtract (引き算)Add (足し算)
ON (0.5基準)Negative (反転) + Average (平均)Linear Light (0.5基準の差分合成)

今回の検証では、FrequencyノードのCenter and Scaleによる高周波成分の違いを、Compノードのブレンドモードを使用して確認しました。

0.0基準ではSubtract / Add、0.5基準ではNegative / Average / Linear Lightを組み合わせることで、低周波成分と高周波成分の分離・再合成の仕組みを確認できました。