Voici une explication sur comment fonctionne le chroma/Luma/image upscale et l'image doubling/quadrupling sur MadVR.
Cela vous permettra de comprendre les mécanismes mis en oeuvre dans MadVR.
Prenons l'exemple d'une vidéo source en
640x360 4:2:0 qui sera upscalée en
1920x1080 par MadVR, voici le processing effectué.
En résumé:
- Chroma Upscaling to YCbCr 4:4:4 to match native luma resolution.
- YCbCr to RGB conversion for both luma and chroma.
- Image Scaling to target resolution. This may include luma/chroma doubling.
- Introduction of dithering and debanding to reach desired RBG bit depth.
- Picture appears on the screen.
Options:
Chroma Upscaling = NNEDI3
NNEDI3 double Luma = Enabled
NNEDI3 double Chroma = Enabled
NNEDI3 quadruple Luma = Enabled
NNEDI3 quadruple Chroma = Disabled
Etape 1: 1ère conversion:
4:2:0 YcbCr (640x360) vers 4:4:4 RGB (640x360) [paramètre chroma upscaling / traitement 16 bits]
Etape 2: 2ème conversion:
640x360 4:4:4 RGB vers 640x360 4:4:4 YCbCr [traitement 16 bits]
Etape 3: L'image doubling/quadrupling (Chroma et Luma):
Les canaux Y & CbCr sont doublés en 1280x720 4:4:4 YCbCr avec NNEDI3
Seul le canal Y est quadruplé en 2560x1440
Etape 4: L'image upscaling
Le canal CbCr est upscalé de 1280x720 vers 1920x1080 [paramètre image upscaling]
Le canal Y est downscalé de 2560x1440 vers 1920x1080 [paramètre image downscaling]
Etape 5: 3ème conversion:
4:4:4 YCbCr vers RGB [traitement 16 bits]
------------------------------------------------------------------------------
Mes recommandations:
Activer l'error diffusion 1 (ou 2) [dithering] et le debanding sur high [removal artifcats] apportent un gros plus, quelque soit l’algorithme de traitement utilisé.
Les recommandation des gourous MadVR (madshi entre autre) sur l'utilisation de NNEID3:
depending on the video, even 16 neurons can look almost identical to 64 neurons. And 16 neurons only consume a quarter of the preformance of 64 neurons. That said, I recommend not to go lower than 32 neurons for luma upscaling, because 16 neurons leaves too many artifacts in the image for my taste with *some* videos. Every higher neuron setting costs almost twice the performance, and only brings a minor improvement (but an improvement nonetheless).
I'd suggest to use NNEDI3 only for luma doubling, and only with 32 neurons, if your GPU can't handle more.
Normal, autant le doubling sur le luma est visible, autant sur le chroma ça l'est beaucoup moins... Et vue que NNEID3 est très gourmand en GPU, mieux vaut faire un chroma upscale via Jinc ou Lanczos.
After seeing all those NNEDI3 benchmarks I want to post a settings recommendation. I understand that you guys want to test how much your GPU can handle, so you dial up all the new settings as much as possible, and then you're a little bit let down by how slow it all gets. But most of you really do seem to go overboard with the settings IMHO. So here's my recommendation:
(1) In my tests I've found little reason to enable NNEDI3 for the chroma channels. So I would recommend to leave the right side of the image doubling settings page unchecked.
(2) The neuron number is more important for doubling than it is for quadrupling. I'd recommend 32-64 neurons for doubling and 16-32 for quadrupling. I wouldn't go lower than 16 for doubling, unless your GPU absolutely can't handle 32 neurons and you still prefer NNEDI3 with 16 neurons over Jinc/Lanczos.
(3) When using image doubling with NNEDI3, I'd recommend to use Lanczos3 AR for "image upscaling", and not Jinc3 AR.
Since NNEDI3 costs so much performance, we have to accept some compromises. Of course if you have an almighty GPU, you can dial up everything to your heart's content. But the above recommendation is what should IMHO give the best quality/performance ratio, when using NNEDI3.
Liens divers:
https://imouto.my/madvr/
http://forum.doom9.org/showthread.php?p=1710076