Convolution3D
Convolution3Dは、Vlad59氏作のノイズ除去プラグインです。
Convolution(畳み込み積分)は、マトリックス内の各ピクセルにそれぞれ「重み」を持たせて平均化する方法のことです(下記「#1 個々のパラメータを指定する方法」の(1)matrixを参照)。
このため、単純に近傍のピクセルの値を平均化する場合に比べて、比較的細部を保持したままノイズを除去することが可能であるとされています。
Convolution(畳み込み積分)は、マトリックス内の各ピクセルにそれぞれ「重み」を持たせて平均化する方法のことです(下記「#1 個々のパラメータを指定する方法」の(1)matrixを参照)。
このため、単純に近傍のピクセルの値を平均化する場合に比べて、比較的細部を保持したままノイズを除去することが可能であるとされています。
Convolution3Dの2つの設定方法
Convolution3Dには、次の二種類の設定方法があります。
#1 個々のパラメータを指定する方法 Convolution3D(matrix, ythresh, cthresh, t_ythresh, t_cthresh, influence, debug) #2 プリセットを利用する方法 Convolution3D(preset="〜") |
テンプレートでは、32行目にConvolution3Dフィルタの設定行があります。
|
比較的簡単に使えるであろうという私の判断で、サンプルでは#2のプリセットを利用する方法を用いています。
より細かい設定を行いたい人は、#1の個々のパラメータを使用する方法に変更してください。
次に、#1と#2、それぞれの指定方法について見ていきましょう。
より細かい設定を行いたい人は、#1の個々のパラメータを使用する方法に変更してください。
次に、#1と#2、それぞれの指定方法について見ていきましょう。
#1 個々のパラメータを指定する方法
Convolution3D(matrix, ythresh, cthresh, t_ythresh, t_cthresh, influence, debug) |
Convolution3Dには、matrix、ythresh、cthresh、t_ythresh、t_cthresh、influence、debugの7つのパラメータがあります。
influenceのみ小数で指定し、その他のパラメータは整数で指定します。
(1)matrix
matrixパラメータでは、Convolution3Dで用意されている二種類のマトリックス(0または1)から、どちらを適用するかを選択します。
influenceのみ小数で指定し、その他のパラメータは整数で指定します。
(1)matrix
matrixパラメータでは、Convolution3Dで用意されている二種類のマトリックス(0または1)から、どちらを適用するかを選択します。
[matrix = 0] |
||||||||||
|
||||||||||
[matrix = 1] |
||||||||||
|
上がマトリックス0、下がマトリックス1です。マトリックス内の各ピクセルの値は「重み」を表します。
各ピクセルに「重み」を持たせた3x3(※)の平面に、時間軸の3フレーム(現在のフレーム+前後の2フレーム)を加わえた3x3x3で計算を行い、現在のフレームの中央のピクセルの値を算出します。
そしてこの処理を、すべてのピクセルに対して行います。
マトリックス0は比較的細部を保持できるので、「実写向き」であるとされています。
一方、マトリックス1は各ピクセルの「重み」が同じであるため、画像細部の保持には向いていません。そのため、「状態が悪いアニメ向き」とされています。
※UVは5x3で処理されます(Doom9フォーラムでのVlad59氏の発言より)。
(2)ythresh
輝度のしきい値。
(3)cthresh
色差のしきい値
(4)t_ythresh
時間軸での輝度のしきい値
(5)t_cthresh
時間軸での色差のしきい値
(6)influence
時間軸の影響力。
このフィルタの処理速度や、時間軸情報(シーンチェンジなど)の取捨選択の程度を調節します。
この値が小さいほど、このフィルタの処理は速くなりますが、圧縮率(ノイズ除去の程度)は低くなります。逆にこの値が大きいほど、このフィルタの処理は遅くなりますが、圧縮率(ノイズ除去の程度)は高くなります。
influenceを-1にすると、平面(2D)での処理のみになり、時間軸での処理は行わなくなります。よって処理速度もアップします。
(7)debug
デバッグモードの選択。0が通常モード(無効)、1でデバッグモード(有効)になります。
各ピクセルに「重み」を持たせた3x3(※)の平面に、時間軸の3フレーム(現在のフレーム+前後の2フレーム)を加わえた3x3x3で計算を行い、現在のフレームの中央のピクセルの値を算出します。
そしてこの処理を、すべてのピクセルに対して行います。
マトリックス0は比較的細部を保持できるので、「実写向き」であるとされています。
一方、マトリックス1は各ピクセルの「重み」が同じであるため、画像細部の保持には向いていません。そのため、「状態が悪いアニメ向き」とされています。
※UVは5x3で処理されます(Doom9フォーラムでのVlad59氏の発言より)。
(2)ythresh
輝度のしきい値。
(3)cthresh
色差のしきい値
(4)t_ythresh
時間軸での輝度のしきい値
(5)t_cthresh
時間軸での色差のしきい値
(6)influence
時間軸の影響力。
このフィルタの処理速度や、時間軸情報(シーンチェンジなど)の取捨選択の程度を調節します。
この値が小さいほど、このフィルタの処理は速くなりますが、圧縮率(ノイズ除去の程度)は低くなります。逆にこの値が大きいほど、このフィルタの処理は遅くなりますが、圧縮率(ノイズ除去の程度)は高くなります。
influenceを-1にすると、平面(2D)での処理のみになり、時間軸での処理は行わなくなります。よって処理速度もアップします。
(7)debug
デバッグモードの選択。0が通常モード(無効)、1でデバッグモード(有効)になります。
使用例 #1 |
||
|
#2 プリセットを利用する方法
Convolution3D(preset="〜") |
プリセットとは、あらかじめ設定されているパラメータのサンプルのことです。#1の方法のように個々のパラメータを指定するのではなく、プリセットの名前を指定します。
Convolution3Dで用意されているプリセットは、次の6つです。
Convolution3Dで用意されているプリセットは、次の6つです。
(1)movieHQ:高品質実写映画用(Movie Hi Quality) (2)movieLQ:低品質実写映画用(Movie Low Quality) (3)animeHQ:高品質アニメ用(Anime Hi Quality) (4)animeLQ:低品質アニメ用(Anime Low Quality) (5)animeBQ:最低品質アニメ用(Anime Bad Quality) (6)vhdBQ(※):最低品質VHSキャプチャ用(VHS capture Bad Quality) |
例えば、プリセットmovieHQを使用したい時は、次のように記述します。
使用例 #2 |
||
|
必ず「preset="〜"」の形で記述してください。
なお各プリセットは、それぞれ#1の方法で次のように設定した場合と同じです。
なお各プリセットは、それぞれ#1の方法で次のように設定した場合と同じです。
(1)movieHQ -> Convolution3D(0, 3, 4, 3, 4, 2.8, 0)と同じ。 (2)movieLQ -> Convolution3D(0, 6, 10, 6, 8, 2.8, 0)と同じ。 (3)animeHQ -> Convolution3D(0, 6, 12, 6, 8, 2.8, 0)と同じ。 (4)animeLQ -> Convolution3D(1, 8, 16, 8, 8, 2.8, 0)と同じ。 (5)animeBQ -> Convolution3D(1, 12, 22, 8, 8, 2.8, 0)と同じ。 (6)vhdBQ -> Convolution3D(0, 32, 128, 16, 64, 10, 0)と同じ。 |
※Convolution3D付属の説明書、およびHPのドキュメントではvhsBQとなっていますが、vhsBQではエラーが出てしまいます。ソースを見るとvhdBQとなっており、このページでの表記もvhdBQにしています。ただし、Convolution3DYV12ではvhsBQです。
前のページ | 次のページ |