madVR では、
高画質動画を再生する場合は、image enhancementsやupscaling refinementの処理、
低画質動画を再生する場合は、NGUなどのシェーダーやノイズ除去の処理に
時間をかけた方が良いと記述しました。
よって、プロファイルによる分岐処理の必要が出てきましたが、それ以外では
よく見る動画で、設定した内容では処理時間がかかってしまう動画があった場合に、
分岐の必要が出てきます。
SVPを使用する場合も分岐が必要になる可能性があります。
自分の場合は、
動画の横サイズで 4K / 2K(FHD) / SD を判断し、
4K・2K動画は高画質。 SDは低画質として処理するプロファイルとルールを作成しました。
まず、動画の横サイズで
4K ・・・ 1920超
2K ・・・ 1280~1920
SD ・・・ 1280未満
としています。
RTX 2080 SUPER のパワー任せで、分岐は最小限に抑えています。
また、SVP使用時の場合も分岐させています。
※自分の環境では、4K動画再生時に SVPがハングアップするので 分岐させていません。
分岐させる項目は、
processing の artifact removal と image enhancements (ノイズ低減とエッジ処理)
scaling algorithms の 項目すべて (シェーダー)
です。
processing
高画質動画では、ランダムノイズ低減は無効化。
SVP使用時は、処理時間を考慮して ランダムノイズ低減は無効化。
基本的には、ノイズ低減は強くしない。
高画質動画では、エッジ処理を行う。
設定内容は、動画を視ながら 自分の好みの画質になるように設定。
(処理時間を考慮しているが)
プロファイル ルール
プロファイルを
4K
2KでSVP有り無し
SDでSVP有り無し
の5つに分岐させる。
*****************************************************************************
if (srcWidth > 1920) "4K"
elseif (mediaPlayer="mpc-be64.exe") and (srcWidth <= 1920) and (srcWidth >= 1280) "2K30FPS"
elseif (mediaPlayer<>"mpc-be64.exe") and (srcWidth <= 1920) and (srcWidth >= 1280) "2K60FPS"
elseif (mediaPlayer="mpc-be64.exe") and (srcWidth < 1280) "SD30FPS"
elseif (mediaPlayer<>"mpc-be64.exe") and (srcWidth < 1280) "SD60FPS"
else "2K30FPS
*****************************************************************************
4K
artifact removal
RCAのみ有効。NGUを使用しているので、有効・無効で処理時間に差はない。
OFFでも問題なし。
強さは5より小さい方が良い。強くすると ノメッとした画質になりやすい。
アニメは強くした方が良い場合があるが、4K動画では弱い方がディテールがつぶれない。
image enhancements
副産ノイズが目立たない程度に設定を行う。
エッジ処理とノイズ低減もバランスよく設定する。
2K60FPS (SVP使用)
基本的には4Kと同じ設定
処理時間を半分にさせる必要があるので、注意が必要。
artifact removal
時間のかかるRRNはOFF
image enhancements
時間がかかるために、すべてOFF
軽い処理はONにしても良いかな。
[補足]
エッジ処理は、フレーム補間の破綻を目立たせることになるので、
ONにしても弱めに設定した方が良いと感じた。
(例)
2K30FPS
基本的には4Kと同じ設定
artifact removal
RRNをONにしたが、あまり必要性を感じなかった。
念のためにONにした って感じです。
image enhancements
基本的には4Kと同じ設定
SD60FPS (SVP使用)
低画質動画&倍速フレームの設定。
artifact removal
処理時間は半分 ということでRRNをONにしたいがOFFにした。
RCAは あまり強すぎると、ノッペリ動画になるので注意が必要。
アニメは 強くても良いとは思うが、画質をよく見て判断。
image enhancements
すべてオフ
SD30FPS
低画質動画・通常フレームの設定。
artifact removal
RCA・RRN両方ON
強さは、動画を視ながら決めていく。
アニメは 強くても良いとは思うが、画質をよく見て判断。
アニメは、バンディング・リンギング低減も検討する。
image enhancements
すべてオフ
図省略
scaling algorithms
シャープな画質を求めて、NGU Sharp を使用する。
シャープすぎると思ったならば、他のシェーダーを検討。
エッジ処理はimage enhancementsで十分と判断したため、使用せず。
2KとSDに処理時間の違いがなかったため、SDの作成はしていません。
プロファイル ルール
プロファイルを
4K
2KでSVP有り無し
の3つに分岐させる。
*****************************************************************************
if (srcWidth > 1920) "4K"
elseif (mediaPlayer<>"mpc-be64.exe") and (srcWidth <= 1920) "2K60FPS"
elseif (mediaPlayer="mpc-be64.exe") and (srcWidth <= 1920) "2K30FPS"
else "2K30FPS"
*****************************************************************************
4K
chroma upscaling のみ対象。
他の設定は適当。
chroma upscaling
NGU Sharp high に設定。
very high は処理時間的に微妙な線(30数ms)だったので、highにした。
処理が間に合わない場合、
NGU Anti-Alias か super-xbr を検討。
2K60FPS (SVP使用)
処理時間を半分にさせる必要があるので、注意が必要。
ダウンスケールが働かない設定にしたので、image downscaling は適当な設定。
chroma upscaling
NGU Sharp medium で行けたのは、2080 SUPER のおかげかな。
image upscaling
NGU Sharp high(luma・chromaとも)
再生すると、chroma側は、NGU Sharp low
NGU以外のアップルケールは、Jinc AR を使用。
ダウンスケールは働かない設定にしたので、適当に設定。
2K30FPS
NGU Sharp very high でも処理時間に余裕があり、問題なし。
ダウンスケールが働かない設定にしたので、image downscaling は適当な設定。
chroma upscaling
image upscaling
very high にしても chromaはmedium にしかならないのは
madshi氏に mediumで十分と判断されたのだろうか・・・
-----------------------------------------------------------------------------
設定を詰めていく方法は、
どの設定を重要視するか
優先させる項目を固めてから 設定をいじっていった方が分かりやすいと思います。
今回は、高画質動画と低画質動画の分岐を目的とし、
高画質動画は、image enhancements を優先
低画質動画は、①image upscaling ②chroma upscaling を優先
としました。
高画質動画の場合、
image upscaling・chroma upscalingを NGP Sharp low に固定させて
image enhancements の設定を煮詰め、
最後にimage upscaling・chroma upscalingの設定を処理時間内に収まるように
上げていきました。
低画質動画の場合、逆の設定方法となります。
一方、違う考え方で設定を詰める方法もあります。
madVR の 元々の機能 から設定を詰めていく方法です。
大規模アップスケールの場合は、NGU Sharpは シャープすぎてノイズも乗りやすいので
NGU Standard や NGU Softなどを使用し、
upscaling refinement で、ぼけてしまう映像をノイズ除去を行いながら
エッジ処理を行う方法です。
ただ、実際に設定していくと わかりますが、
upscaling refinement でオーバー設定すると、のっぺりした(プラスチック感な)映像に
なりやすくなります。
このプラスチック感な映像になりやすいことを利用して
低解像度のアニメに オーバー設定 (特にノイズ処理) をすることがあります。
参照: