
你手上很多片其實是 1080p 甚至 720p,螢幕卻是 2K、4K。播放器一定得把畫面放大,問題只是用什麼方法放大。
傳統縮放是純數學插值:看周圍幾個像素,算個平均填中間。放大兩倍就是每個像素之間都要生一個出來,算得再聰明也只是平滑,線條該糊還是糊。
AI 超分走另一條路:用訓練過的模型去「認」這裡本來應該長怎樣。動畫的硬邊線條、大色塊它都見過,補出來的邊緣比插值接近原意。
一句話:插值是在猜中間值,超分是在猜原本長怎樣。

另外Run Super Resulotion in Your Browser這個網站可以體驗超分圖片差異,可以先用這個體驗看看。
好消息是這件事不用改設定檔,右鍵選單裡就有。

特別說明一下,UAI_RTX 點下去會先跳出這個,這個在跑 NVIDIA TensorRT engine 加速,第一次執行會比較久:

之後你會看到影片視窗變大 —— 畫面尺寸變了,就代表超分真的吃到了。
選單點下去,實際掛上的是 portable_config\vs\ 裡的腳本。UAI 開頭的一共三個:
| 腳本 | 誰能跑 | 特性 |
|---|---|---|
MIX_UAI_DML.vpy |
任何 DX12 顯卡 | 效率差一點,但不用等產生 engine |
MIX_UAI_NV_TRT.vpy |
只有 NVIDIA RTX | 效率明顯好,但第一次要先產生 engine |
MIX_UAI_MIGX.vpy |
AMD RDNA | 官方標明目前驅動有問題、跑不起來,聽說AMD還沒辦法跑 |
先解釋那個 engine:TensorRT 會針對你這張卡、這個模型、這個解析度先編譯出一份專用的最佳化檔案。第一次掛上去會卡一段時間在那邊算,之後才順。DML 沒有這道手續,掛上去就跑,代價是同樣的模型會比較吃資源。
所以我建議:NVIDIA 就直接選 UAI_RTX。第一次多等那一下,換來的效率差距對得起這個等待。UAI_DX12 留著當備案 —— 如果 RTX 那邊出問題,先換過去試,就能分辨是模型的問題還是 TensorRT 環境的問題。
(選單上寫的是 UAI_RTX,但檔名跟官方文件裡的函式名都是 UAI_NV_TRT。要查資料的話,用後面這個字才搜得到東西。)
.vpy 開起來是一整頁 Python,但要改的參數全部集中在最上面。以 MIX_UAI_NV_TRT.vpy 為例,出廠是這樣:
H_Pre = 720 # 先把片源壓到這個高度,再餵給模型
Model = "the_database_AnimeJaNaiV2L1_x2_fp16_op17.onnx"
H_Max = 1440 # 輸出高度上限
Gpu_T = 2 # GPU 執行緒數,最多 4
H_Pre 是這裡面最重要的一行,也最容易被忽略。它的作用是先把畫面降到 720p 再進模型,所以不管你放的是 1080p 還是 4K 片源,模型永遠只處理固定大小的畫面,負載才穩得住。跑不動的時候先動這裡,不要先去換模型。
H_Max 記得改成你螢幕的高度。4K 螢幕就寫 2160,出廠的 1440 會讓你的畫面上限卡在 2K。
Model 那一行填的檔案放在 mpv-lazy\vs-plugins\models\。要更多選擇就去這裡抓:
.onnx 丟進 models\ 資料夾,Model 改成檔名,存檔重掛就換好了。
我自己試過的三個,講一下心得:
the_database_AnimeJaNaiV2L1_x2_fp16_op17.onnx —— 出廠預設就是這個。效果好,顏色比較鮮豔。the_database_AnimeJaNaiV3L1_HD_x2_fp16_op17.onnx —— 我以前用這個。版號比較新,但畫面不見得更銳,眼睛看起來比較舒服。Sirosky_Ani4Kv2_UltraCompact_x2_fp16_op17.onnx —— 看過有人推這個,我試完覺得跟 V2L1 差不多,就沒換了。所以其實預設那個就很堪用,不用一開始就跳進換模型的坑。這種東西找自己看得舒服的就好,不用比誰比較強。
這是全篇最該先確認的事。官方文件的說法是:大概要 RTX 3070 以上才能實時做 720p 的 x2 超分。
不過我自己實測比這條線樂觀一些:
另外,比較好的 AMD 顯卡也可跑 AI 超分,請使用。
開起來之後按 shift+i,盯掉幀數。只要它開始一路往上跳,就是跑不動 —— 這時候的順序是:先把 H_Pre 降到 540,畫面卡卡的超分不如不開。

UAI_NV_TRT 全部參數的說明。