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-1 | ACEScct | |
|---|---|---|
| 特性 | Scene-linear | LOG系 |
| 明暗の扱い | 光量に比例 | 対数的に圧縮 |
| 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を組み合わせることで、低周波成分と高周波成分の分離・再合成の仕組みを確認できました。