MPC Video Rendererの最適な設定方法 | USBメモリー収集家のブログ

USBメモリー収集家のブログ

PC通販・購入レビュー

MPC-HC clsid2(通称MPC-HC2.0.0)で噂の超解像AI技術を使いたいと思ってレンダラーの設定を調べていたのですが、もうMPC-HC/BEは主流じゃないのかどれも解説がイマイチだったのでブログに残すことにしました。今の処、各項目を説明出来ているのは自分だけです。

 

MPC-HC clsid2もMPC-HC v1.7.0の頃と同様に最新版LAV Filtersを導入後にMPC Video Rendererを追加しています。

正直、BEやmadVRは使い辛かったのでHC2+LAV Filters+MPC Video Rendererの組み合わせは最高ですね。

そして、設定なんですが、基本的に「デフォルトが無難」って答えに辿り着くので、そもそもググっても情報が出て来ないのかもしれません。以下、MPC Video Rendererの解説です。

 

【DXVA2 and D3D11 video processorの設定】

NVIDIAの超解像AI技術RTX Video Super Resolution(以下、RTX-VSR)を使いたいので、Use for resizingとRequest Super Resolutionにチェックを入れますが、このDXVA2 and D3D11 video processorと下のShader video  processorの項目は排他利用になります。

つまり、Use for resizingにチェックが付いているとChroma・Upscaling・Downscalingは無視され、NVIDIAコントロールパネル側の設定が動画に反映されます。RTX-VSRに対応していないGPUを使っている場合は、必ずUse for resizingをオフにしましょう。

 

Double the frame rate when deinterlacingというのは、その通りフレームレートを2倍にする設定ですが単純にBob化しているっぽいです。AMDのFluid Motionのようにフレーム補間しているようには見えませんでした。元々NVIDIAコントロールパネル側の設定にも無いですから。

 

【Shader Video Processorの設定】

先に書きましたが排他利用の項目なのでGeforce RTX1000 or 2000シリーズ、GTXシリーズ、その他AMD Radeonやintel GPUならこちらを設定します。

Chroma・Upscaling・Downscalingともにプルダウンの下に行くほど高負荷ですが最良品質の設定になります。ただし、どんなアルゴリズムにも一長一短があるので好みで選んでOK。

 

Chroma=色の彩度は、動画だと脳が認識しづらい為どの設定でも変化ないように見えますがせっかくRTX3000、4000シリーズという高価なGPUを使っているならCatmull-Romにすべきかなと。

 

Upscaling=拡大は、一番目に見えて効果がある重要な設定です。動画では見慣れない「Jinc2」というアルゴリズムはゲーム機エミュ等ではわりと普通に使用されているようです。最上級のシャープ系シェーダーと思って良いかと。Lanczos3だと全体が少しぼやけますがJinc2mはそれよりクリアに見えます。やり過ぎ感があるならLanczos2がおすすめ。

 

Downscaling=縮小は、正直どれでもいいです。小さくすればノイズが目立たず普通に奇麗に見えるものなので気にする必要はありません。Bilinear辺りで充分です。ただ、4KをFullHD以下にして見る時などはリンギング(動画に波形が出る)が発生する場合があるのでLanczosにしています。

 

Use the upscaling method to redueing the frame to 50%は、DeepLで翻訳すると「アップスケーリング方式で、フレームを50%に縮小する」だそうです。う~ん、意味不明。

これもそのままの意味みたいです。例えば、1080pから4Kにアップスケールした時に高負荷で画像が乱れない様にフレームレートを半分に落として再生する設定という事。

だがなぜか、オン/オフで違いは分かりませんでした。たぶん、30p→60pとかヌルヌル再生設定の時に元の30pで再生させるとかの機能かと。

 

Use Dithering=ディザリングは、デフォルトでチェック付いてると思いますが、これってLAV Filter使っていると強制的にDithering Modeを使うのでレンダラーでは必要ないように思えるのでがどうなんでしょうね?(←後日判明しましたが、オンだとNVIDIAドライバーがクラッシュします。やはり、LAV Filterに干渉しているっぽいのでオフが良さそうです)。

 

最後のUse Blend Dinterlacing for YUV4:2:0は、インターレース解除に一番負荷が軽いBlendという設定を使うのでオフが良いです。

 

次は、Swap effectという、これも動画では見慣れない項目ですが垂直同期に関係する設定で、NVIDIAコントロールパネルの垂直同期の設定に相当すると思ってください。

 

【Swap effectの設定】

ちなみに、ここもデフォルトのままが最適な設定です。例えGPU性能の低いCPU内蔵GPUであったとしても変更する必要はありません(未だに10年以上前の第2世代Core iシリーズ Sandy Bridgeとか使ってる場合は別です)。

一応、設定項目の説明を書いておくとFlipはNVIDIAコンパネでいう垂直同期オン、Discardは垂直同期オフと同じような動作をすると思ってください。

 

Use exclusive fullscreenは、排他的フルスクリーンを使用するかどうか。常にフルスクリーンで動画見るなら良いのかも。

 

次のWait for VBlank before presentの「VBlank」とは、Vertical blanking intervalの略で「垂直帰線期間」の事。これをオンにするとフレーム表示待ちが発生。特に60p以上の動画では極端にフレームレートが落ちて安定しない。

 

Reinitialize d3d device when changing display=ディスプレイ変更時にDirect3Dデバイスを再初期化。

 

以上が、簡単なMPC Video Rendererの説明です。

これでやっと超解像AIのRTX-VSRを使って動画を見れるわけですが、設定してみて思ったんですけどRTX-VSRってアップスケーリングとかアップコンバートっていうより単純にフィルター処理っぽいんですよね。実際に480pを1080pや4Kに拡大して見ましたが、全く超解像AI技術が生かされていないというか。凄く期待ハズレでした。正直Shader Video Processorの方が違いがはっきりします。

当たり前なんですが、やっぱり、同じ映像で元から1080pのと比べたら明らかに拡大した方は全体的にボヤッとしてます。AIを使ったからって流石に画素数4倍以上の拡大は無理があるのかって印象しかなかったですね。対応するRTXシリーズ最下位なRTX3050だからなんでしょうか?

どうも、実写動画メインの自分にとってRTX-VSRはつまるところ、「NVIDIAの3D設定をゲームだけじゃなく2D動画でも使えるようにした」ってだけかなと思いました。アニメ動画でもあまり良い評価は見当たらないですけど。

ちなみに、NVIDIAコントロールパネル側の設定値は最大の4より3の方が奇麗でした。4はアンチエイリアスをやり過ぎてる感じで境界線が補正しすぎで波打ってました。これはアルゴリズムにありがちな参照値が多すぎて値がオーバーシュートしてるやつかなと思います。

 

あと、NVIDIAのサイト読んでて気が付いたんですが、アップスケールした動画は視聴距離が重要らしいです。2019年初期Versionでは、なんと、モニターから3メートルも離れた場所で見るのが最適だったそうです。

今はかなり進化して改善していると思いますが、リビングでTV見るのと同じ90センチ~1.5メートルくらいは離れて見るべきなのかも知れませんね。

 

NVIDIA「ピクセル パーフェクト? GeForce RTX40シリーズおよび30シリーズGPUでRTX Video Super Resolutionが利用可能に」
https://blogs.nvidia.co.jp/2023/03/10/rtx-video-super-resolution/

 

関連商品