Hi everyone, I have upscaled many decent quality 720p videos to 1080p with a single pass of Gaia, Artemis HQ or Proteus. However, I have some older videos that may benefit from a 2-pass workflow. I managed to find a number of other posts with guides for 2-pass workflows that improve the quality of low bitrate and low-resolution content and then upscale to 1080p+ quality. Most of the posts I found were based on VEAI v2.x so I am keen to know what tips and tricks folks have for version 3.1.x.
In my case, I have a number of video files ranging from 320p-720p that I want to upscale to 1080p. Some may show signs of interlacing but not many. Some have better bitrates and display a cleaner, more details image than others. Is a 2-pass workflow recommended in these cases, and what is recommended?
I prefer not to use any other apps outside of VEAI 3.1.x to do this, as it seems capable enough these days.
I like to do a denoise pass at 100% scale, then fine tune Proteus to upscale to 1080. I used to use Artemis for the denoising pass, but I’ve been getting much better results from the EZDenoise section of QYGMC in Vapoursynth. Artemis tends to make movies look painted.
100% with artemis alliased, right? I do that too often. It removes a bit of detail but at times it can add more while cleaning up edges and noise quite well. I rather use keepgrain instead of ezdenoise with qtgmc but I will compare ezdenoise with artemis alliased to see
Proteus Remove Noise does worse things to the movie than Artemis, so my goal is to remove as much as I can before it goes through Proteus. Noise can be added back in, though I personally don’t care for it and it makes the final file larger.
okay but there’s a lot of noise in my sd videos, and the best I’ve found is denoising filters in hybrid, when I tried “ezdenoise”, I found that it took out a lot of detail, the best I’ve found for these videos is a single low denoising filter, and leave some noise just so artemis high or medium can get rid of it, and even if some artifacts remained, i used neatvideo with vegas afterwards. but I’m going to review all my settings, especially those of vegas, I’ve been using the bbc magic sharp filter for so many years and I noticed that yesterday that it has the “reduce gift” option, when we accentuate the details too much , it leaves artifacts, and “reduce gift” removes them pretty well without removing any details from what I saw yesterday.
Are you doing that on SD sources? Theia leaves vertical lines in all the motion—at every setting value I have tried. It might not on higher resolution sources. That reminds me, I was going to make a huge post about how useless Theia is for me. I nagged so hard to get Topaz to fix the parameter inputs, only to find it always leaves those vertical line artifacts when they finally did.
Dione: DV came out like Artemis models in my tests.
It looks worse when you upscale to 1080 after. I tried going straight to 1080 but found a bug that sets all the sliders to 0 the moment I click Preview or Export.
Top is the one where you can see the lines. That being said, they fixed the issue where it made the whole image into a color mess. I also had to put everything to 100 to get those lines to show. So I’m going to go back and try it out.
I have almost the exact same workflow for poor quality content, but I use the QTGMC with Avisynth variant. Fantastic result.
After having run such a pass over the source clip, the VAI models (proteus/artemis) are able to extract a lot more detail. Even Iris benefits, creating less distorted faces. All in all, I 100% recommend doing the cleanup pass first in *synth.
For reference, this is what I’ve found to be the optimal cleaning setting for QTGMC, and have been using it for more than a decade.
IsYV12() ? last : ConvertToYV12(matrix="rec709")
# padding if needed for qtgmc
padw = width%4 == 0 ? 0 : 4 - (width%4)
padh = height%4 == 0 ? 0 : 4 - (height%4)
padw == 0 && padh == 0 ? last : AddBorders(padw, padh, 0, 0)
QTGMC(preset="Slow", InputType=1, EZDenoise=2.0, Sharpness=0.5)
# remove padding if it was added
padw == 0 && padh == 0 ? last : Crop(padw, padh, 0, 0)
This is the two-pass I have been using and have been getting phenomenal results.
I have found that a x4 upscale using iris (details = 100, sharpness = 100, Dehalo = 3 or 4, Antialias/deblur = -80 to -40, Recovery original = 50 to 80, and everything else at 0) as a first pass on something like a poor quality 480 source, and then take that export and resize to 720 or 1080 (depending on how “tight” the picture looks), followed by a x2 proteus upscale for the 720 files (which are then resized to 1080 after) or an enhancement run for the 1080 files without any upscale. For the 1080 enhancements I use proteus manual, click estimate, then turn sharpness up to 100 and increase dehalo by the same magnitude. For the x2 720 upscale 2nd pass I do the same but set sharpness at 70. Consistent and repeatable great results!
Ah, so that’s the thing with Iris. I must not yet have figured it out. I tweaked its knobs, but all results I got were blurry with poor detail and sort of washed out.
Now if the model isn’t perfectly tuned / calibrated by topaz, but requires artificially high frequencies to not create a blurry mess, than that is some excellent advice. I hadn’t reflected on the importance of contrast before you mentioned it, but it makes sense given that what the ezdenoise and sharpen phase does is to raise the frequencies. Will try this out. Thanks GK!