DVD Upscale Workflow Idea

Hi There,

I am here, so sorry if I am missing any further discussion, but I am looking to upscale some old dvds to 1080p. I know there are multiple steps such as de interlacing, de telecine, and then using VEAI for the upscale.

I was curious of what order, settings and models everyone uses.

Thanks!

hi, for me the order is:

  • deinterlacing (in this or that way, with this or that software, keeping the same definition of the video and exporting in avi or ffv1 to keep the quality)

  • one pass with proteus v4 in 1280x 720.

This is just my opinion, but I think that for a dvd quality that is low but that should not be so bad, one pass should be enough, for example me who processes my 8mm videos from the 90s, the best way to deinterlace that I found is with vegas pro and the gpu, because it is the only way that preserves as much fine detail for me. The second best is QTGMC with hybrid or other, it deinterlaces really cleanly but I did not manage to keep details as fine as with that of vegas pro. This one lets more artifacts through, but I found that the proteus v4 model is powerful enough to remove them in one pass.
And to finish with a definition of 720 x 576, I will not go up to 1920 x 1080. :confused: I think that the base quality does not have enough details to upscale to this definition. So yes, your video will be a little sharper than if you upscale to 1280 x 720, but it will be harder to preserve all the details while being realistic, without plastic effect.

For me the best is this way and going up to 1280x720 because I think that if you manage to have a good quality in 1280 x 720, without artifacts etc, and you play your video on a TV, it will upscale it without problem. I could be wrong but for having tested producing in 720p and 1080p, and sending the video to 4k tv, I find the result better in 720p because it preserves the details better more realistically.

All this is just my opinion, each way of working can be different especially since the videos we work on all have a different quality. There are so many parameters to adjust… Personally it’s been 8 or 9 years that I touch the settings with vegas pro, hybrid and vai, I tried avysinth too and many other ways to deinterlace. But wait for the opinion of other members, for example maybe for a dvd the QTGMC deinterlacing or even dione tv/dv or proteus with vai will work better.

1 Like

I found this to work well in many cases…

But @ssbroly had much more research time spent on 80s, 90s videos to the level he could had released and published an academic theses or a research paper, so you might find his method works better for you. for me personally his method involves more steps and tools and I am to lazy :slight_smile:

3 Likes

I went to your old post, you use hybrid all at 0% with dehalo -100 if I read correctly, I had tried it I think with nyx, but I don’t remember the test with dehalo -100, it was a while ago and it’s been a while since I put my videos aside, I’m devoting myself a little to drawing at the moment, I’ll try again with your settings, maybe by combining for example the vegas pro deinterlacing to keep fine details with a proteus v4 pass at about 85% of details recovered + your method in addition, it can do something pretty good. I will do some tests soon :wink: but I admit that for the DVD quality even if it is more or less the same basic resolution as our analog SD videos of the time, it may require totally different parameters, I have not really tried VAI with real DVD quality, just two or three clips of Madonna and Evanescence downloaded on the net.

1 Like

First stage is to identify whether the original source was analog or digital. If analog, there will be a few extra techniques that should be used, prior to any deinterlace or inverse telecine. Such as dot-crawl removal (FFmpeg’s dedot filter is good for this). You will often see dot-crawl on analog sources, especially on title-cards.

Next stage is to identify whether dealing with studio source (24fps), or TV source (29.97i). If studio source it may need inverse telecine (pullup, fieldmatch) to revert the 29.97i back to 23.98p. Or if PAL 25fps it will need consideration as to whether it contained euro-pulldown or reversing speedups. Your goal is to preserve the natural original field rate of the source. It is very easy to inadvertently throw away half of your temporal resolution.

If it was an analog digitization, then there is likely to need to be a temporal denoise, especially in the chroma plane. hqdn3d is a very good filter for this.

The above preprocessing can be done with either plain-old FFmpeg (dedot + bwdif deinterlace + hqdn3d denoise) or Avisynth (dedot + qtgmc). You may also choose to use Neat Video as a better denoise.

This is a good opportunity to consider your color-workflow, eg color space, primaries, transfer, range and pixel format. The source is likely to be BT.601 NTSC or BT.601 PAL limited range. You are likely to want to end up with 1080 BT.709 limited range. But TVAI has the added complication of requiring a conversion to RGB.

The output of your pre-process can then be saved as a lossless, interim codec such as FFV1 (level 3), full-range in RGB48le pixel format. Why? Because TVAI only “thinks” in RGB anyway and forces a conversion from YUV to RGB, so you may has well store your dedotted, deinterlaced, temporal denoised pre-processed source in this pixel format anyway. And FFV1 is a great interim lossless codec.

You should now have something like a 480p, denoised source that is either at the original progressive resolution of 23.98/24fps for studio, 59.97fps for US TV or one of the PAL frame rates. It may even have 29.97p or 30p. There are lots of combos here.

You can then play this pre-processed stream in MVP, VLC or video-compare. You can check that the colors are correct and that you have not incurred any color-shift. Watch out for color shifts.

Then it is a case of performing the upscale of the pre-processed source with TVAI with your preferred model.

You are likely to want to end up with HD that conforms to BT.709, which means:

  • conversion from non-square to square pixel
  • either 720 or 1080 resolution
  • BT.709 color space
  • limited range
  • You may want to remove black bars from cinemascope, or add black bars for 4:3, depending on your preference
  • You are likely to want to end up with 4:2:0 YUV pixel format, unless you have specific requirements.

You can attempt to do all this in one with TVAI (deinterlace, denoise, super-resolution), but I prefer a pre-processing step, especially when dealing with analog sources.

  • dedot - TVAI does not include dedot. So if you want dedot, you have to use use command line.
  • deinterlace - Some people find QTGMC a superior deinterlacer to bwdif. Others find QTGMC is a little to aggressive.
  • denoise - Some people prefer Neat Video’s denoise over FFmpeg’s hqdn3d. Both of these give you specific control over temporal-denoise in the chrome plane, which TVAI’s denoise does not.

I tend to avoid pushing 480 all the way to UHD. You may be able to push a high quality digital-sourced 576 PAL to UHD, but for 480 (especially analog source) the jump to anything more than HD seems is likely to be too much.

Again, check the final result for color shifts.

1 Like

I just tried your suggestion using hqdn3d in Hybrid for denoising with the default values in Hybrid , on my HQ video I have (1080p) but with low-moderate noise due to low light conditions and it kills a decent amount of details from the video and makes it more blurry compared to Nyx and Iris. and it doesn’t denoise that well compared to Nyx/Iris.

1 Like

thanks for these details, for my part, these are sd videos from 8 mm hi8 and digital 8 cassettes, 720 x 576 pal sd 25/50 fps. I started with neat video, it is efficient but I quickly forgot, it destroys a lot of details, impossible to keep all the original details, I am really picky about quality, qtgmc worked better with certain parameters (keep “final temporal smoothing” at 0 because with values ​​1, 2 or 3 we lose details in the movements, then use KNLmeansCL. fft3dfilter and dfttest give less good denoising results. But in the end after doing a comparison test, qtgmc in hybrid smooths the original details, even if we leave a preset in fast and export in ffv1 or h264 lossless. I have never found a way to have the same quality as the original with qtgmc activated, the only one that keeps the maximum details is the vegas pro deinterlacing with the gpu and an export in uncompressed avi. It does not produce any staircase effect like bdwif, bob etc. and even deinterlacing with davinci resolve is less good. The downside is that it lets a lot of artifacts through, but the best model in this case with vai is proteus v4 for me, I find that this is the way that gave me the best results. for telecine, I don’t know, it’s the pulldown principle I think if I’m not mistaken but I have no experience with that. producing with a ratio of 1.0000 or 1.0926 is the same in my case, I haven’t seen any difference. I’ve also tried a lot of denoising filters with hybrid, and all of them remove details no matter what. for everything that is color, RGB, BT709 etc I’m not good enough at that yet.

1 Like

with the Vegas pro you also denoise with or only use it for deinterlace?

@Akila hqdn3d really comes into its own when trying to remove temporal noise (ie between frames - caused by video tapes and tape heads). If you are trying to clean up an analog digitization, it is a useful filter - and like any noise reduction technique… “less is more”.

But as you say, there are better denoisers for spatial and digital noise from CCDs, low-light or digital cameras. They are different use cases (types of noise) to the temporal noise from an analog transfer.

You can instruct hqdn3d to only work in the temporal domain - and even control whether it works on luma or chroma planes. TVAI does not offer this level of control. Neat Video does.

-filter:v "hqdn3d=luma_spatial=0:chroma_spatial=0:luma_tmp=6.00:chroma_tmp=4.5"

Neat Video’s advice is to first reduce temporal noise, then if there is any remaining spatial noise, reduce that.

I find that when dealing with digitized analog sources that using Neat Video or hqdn3d to (mildly) reduce the temporal noise as part of a preprocess, then let TVAI’s model-based denoise tidy up any remaining spatial noise using one of the models - it seems a good approach.

There are some nice examples on this page for split screen comparisons between noise filters, as well as separating a source into Y, Cb, Cr to identify which plane noise is occurring.
DenoiseExamples – FFmpeg

I am embarrassed to say but, what is temporal noise, spatial noise, chroma, lima, etc… :face_with_spiral_eyes: :flushed:
I just know noise as being noise :thinking: :no_mouth:
I got noise from my Video8 tapes that looks like thin scratched at some areas and noise dots. does that makes sense in the deep tech’ language of yours?

Temporal noise is the noise visible on movements, when using a temporal denoiser, we analyze the frames before and the frames after, temporal denoising is more visible than spatial denoising because it reduces artifacts more than spatial denoising, but on movements, it loses details, like for example neatvideo or “final temporal smoothing” with qtgmc, this is why I don’t use it anymore, the stronger the temporal denoising, the less realistic the video will be, too strong denoising gives this unnatural aspect, the plastic effect. with vegas pro I just deinterlace, no filter applied :wink:

chrominance is the intensity of the color signals, we can reduce chrominance noise too, but it will be subtle for the human eye, since we capture much more green than red or blue, so it will be more visible with the green channel but again, it is better to play with luminance which are the brightness signals and much more visible. I have some cassettes with fine stripes that are necessarily accentuated when we apply sharpness… the best I found is to blur the image very slightly in the direction of the stripes, and then improve the video with vai. but there must surely be filters to remove them more effectively.

1 Like

@Akila, Neat Video publish some useful articles about luma and chroma noise.

The following link DenoiseExamples – FFmpeg can be used separate a video into separate planes to identify whether the noise is in the luma or chroma planes… which is particularly useful for older analog sources from video tape that have been digitized to DVD.

It is a shame that the industry tends to use “denoise” (implying that noise is removable) rather that “Noise Reduction”. Whether we call it denoise or noise reduction, it is ultimately a compromise between fidelity and perceived quality. All noise reduction is destructive, but may end up being more pleasing to the eye, or can reduce artifacts which may get amplified by a super-resolution enhance or upscale. But on the downside, anything more than a little noise reduction can lead to that plastic look.

A lot of noise reduction filters are spatial (intra-frame) - which is great for digital photography (low light, CCD noise), but here in the world of video, temporal (inter-frame) noise is much more common and there are far fewer denoise filters that work across frames. These are usually called “3D temporal + spatial” rather than “2D spatial only”.

A noise reduction process is valuable in a DVD Upscale workflow, especially for older, analog content. Some folks may choose to apply the noise reduction in a pre-process (with either FFmpeg or Neat Video) and have control, others may choose to let TVAI do its thing.

(sorry to OP for this thread ending up discussing noise reduction - perhaps we should get back to the overall DVD Upscale workflow. The nuances of different noise reduction techniques probably deserves its own thread.)

1 Like

For interlaced content it is very important to deinterlace it to the number of fileds it has. For PAL it ist 50p. To deinterlace it to just 25p, you loose temporal fluence and it produces artefacts because it has to mege two fields with different content to one frame.

Deinterlacing works fine with Handbrake. (Yadif / Bob / 50 Constant Frames).

2 Likes