其實,我用 mpv-lazy 都用 AI超分,之前有跑一下 Anime4k 著色器看效果,但沒什麼麼在用著色器,不過著色器好像也是滿重要的單元,還是介紹一下。
建議可以看巴哈mpv-lazy這篇教學其中有講到著色器,我才幾天看到這篇才知道 main 著色器選兩個之後其中一個放大才會有一個生效😅,這邊就不獻醜了,另外著色器檔名有寫 X2,意思是會做兩倍放大,所以 1080p x2 結果會變 4k。
另外,假如你視窗沒有放大,可能不會觸發放大(upscaler)著色器,這跟前面幾天運作 vpy 濾鏡原理有點不太一樣,有點像 mpc madvr 運作,放大視窗才有作用。
我知道的東西也不多,大概就先說到這樣。

有找了一下網路上怎麼搭配著色器。
| 職責 | 常見 shader | HOOK |
|---|---|---|
| luma 放大 | ArtCNN、FSRCNNX、RAVU、nnedi3 | LUMA |
| chroma 重建 | CfL_Prediction、KrigBilateral | CHROMA(+BIND LUMA) |
| 降噪 | nlmeans | LUMA 或 MAIN |
| 銳化 | adaptive-sharpen、CAS | MAIN |
| 縮小 | SSimDownscaler | MAIN(附 WHEN 條件) |
每個階段挑選一個著色器。
近幾年的建議是拿 ArtCNN 取代舊的 FSRCNNX、KrigBilateral、SSim 系列,一支就夠,設定最簡單:
mpv-lazy 預設沒放這個著色器。

位置: ArtCNN/GLSL at main · Artoriuz/ArtCNN
架構本身 + 官方模型。分兩條線:
C4F32 約 4.8 萬參數、C4F16 約 1.2 萬。R8F64 約 92.6 萬、R16F96 約 400 萬。只有 ONNX,沒有 shader,是給離線壓片用的。後綴系統:無後綴=中性放大、DS=去噪+銳、DN=去噪+柔、Chroma=色度重建、JPEG420/444=清 JPEG 雜訊。
vo=gpu-next
profile=high-quality
glsl-shader="~~/shaders/ArtCNN_C4F32.glsl"
scale=ewa_lanczos
dscale=catmull_rom
deband=yes
型號選法:C4F16 是輕量版,C4F32 是硬體吃得下時的即時播放選擇;R8F64、R16F96 是給非即時(壓片)用的,不要拿來播放。後綴 DS 是去噪+銳利、DN 是去噪+柔和、Chroma 是色度重建(要先用 bilinear 放大色度)。
https://github.com/Sirosky/Upscale-Hub/releases/tag/AniSD-ArtCNN
拿 ArtCNN 的 C4F32 架構,換上 Ani4K v2 資料集的精簡版重訓。約 4.7 萬參數。
針對現代動畫,從高品質 BD 到爛 WEB 源都在訓練範圍,設計來往 2K/4K 放。設計理念是保細節、保景深(散景不會被硬拉銳)、忠於原畫風。
另外有個 _CMP 的 compute shader 版本,新顯卡上比較快,但作者自己講基本上只在 Vulkan 下能動。
https://github.com/Sirosky/Upscale-Hub/releases/tag/Ani4k-v2-ArtCNN
同樣架構,換 AniSD 資料集的精簡版。約 4.7 萬參數。
針對標清動畫,DVD 和 SD WEB。用途講白了就是清理加去模糊,讓老片能看下去,省得你事先離線壓一遍。
Anime4K 分 A、B、C 三種模式,各自針對不同劣化類型——A 對應 1080p、B 對應 720p、C 對應 480p。它的鏈固定是:
Clamp_Highlights → Restore → Upscale → Upscale_S
Restore 一定要放在放大之前,用來去壓縮雜訊、模糊、振鈴。CNN 大小依序 S < M < L < VL < UL,顯卡不夠就往小的選。
FSRCNNX(亮度)+ KrigBilateral(色度)+ SSimSuperRes / SSimDownscaler + adaptive-sharpen。這種三件組串法在舊設定檔裡很常見,效果不差但設定繁瑣,除非你已經在用,否則沒必要重新配。
真人片不太適合動畫用的 CNN。用 ravu-lite 或 nnedi3 就好,或乾脆只開內建 ewa_lanczos + deband,別加銳化。
簡單原則:動畫看 ArtCNN、片源爛才上 Anime4K、真人幾乎不用開。設好之後按 Shift+I 再按 2 看 GPU 跟不跟得上,掉幀就換小一號的型號。
Day 3 的 UAI 是把畫面丟出去給 ONNX 模型算,算完再送回來。 它走 VapourSynth,能用很大的模型,畫質上限高,代價是要裝 vsNV、要等 TensorRT engine、吃資源兇。
著色器是直接在 GPU 的渲染流程裡動手。 沒有外部依賴、沒有等待、開了就跑。畫質上限低一些,但便宜太多了 —— 而且它不挑顯卡品牌,AMD、Intel 一樣能用。
shift+I可以看到運行狀態,upscaler 是放大視窗才會觸發。

mpv-lazy 按下 Ctrl+ ` 可以清除著色器,濾鏡是按下 Shift+ ` 可以做清除。
通常切換濾鏡會建議先清除再做切換別的濾淨比較好,比較不會卡頓問題。
你可以 Ctrl+ ` 查看原圖,在按下 Ctrl+ 1 (Ani4K) 或者 Ctrl + 2 (AniSD),可以比較效果。雖然效果可能沒像 UAI 超分比較明顯,但是仔細看還是會看得出差異,這邊就不截圖了,可以自己切換比較看看。
`符號困擾😆