Dealing with 'Shimmering' Grain in DVD Upscaling

Hello. I am part way through improving my DVD collection with a mixture of tools inc TVAI. So far my source videos have been PAL 576i which I deinterlace with QTGMC (Top Field only - no bob) prior to TVAI. Having amazing results so far, even though sources largely originate from the '70s.
The issue I am having is with a particular set of 480i DVDs which have been produced by BBC US rather than BBC UK. The framerates are 24.976 or 29.97 and there is what appears to be a random grain applied, rather than a symmetric grain which (when applied) seems to be the norm for PAL DVDs.
So, the issue I am having is that the source video ‘shimmers’ when played, which may have been acceptable back in the day in CRTs but just won’t do in this day and age.
Try as I might, I can’t get rid. I can get a beautiful clear, clean image using TVAI et al, but the ‘shimmering’ remains.
When I go through the output, each frame image in itself is excellent, however the following frame (although also excellent in itself) differs slightly. It is particularly noticeable in skin pigments and blocks of background colour. I tried the ‘Stabilisation’ feature to no avail.
Any ideas gratefully received…

This “shimmering” Is it due to brightness or color? So TVAI can’t fix this, maybe you can reduce the effect by increase fps, doing interpolation into TVAI, then the transitions are less

Theoreticaly, if we assume that there is a clear sequence of frames, let’s say every second one is different, then maybe is a way to extract every second frame (Avisynth Script) after this you could import this into video editor and adjust brightness/gamma/colors ot when its grain remove it, then put the two together again.

If it is temporal noise,

  • You could try FFmpeg’s hqdn3d filter (unfortunately not license compatible with TVAI). Something like -vf hqdn3d=luma_spatial=1:chroma_spatial=1:luma_tmp=4:chroma_tmp=8.
  • Or Neat Video, which is good for temporal (interframe) noise reduction. Using the demo version of Neat Video as a plugin to (free) Resolve allows you to use their noise preview.

FFmpeg’s bitplanenoise filter can be used to visualize noise, and can be combined with extractplanes to isolate luma vs chroma. Neat Video’s Noise Preview tool is great for identifying temporal noise.

If it is variance in intensity (rather than more classical gaussian noise), then deflicker and 'histeq` filters can help reduce variance in intensity between frames, but they are rather blunt hammers. YMMV.

I would start with investigating temporal noise reduction and using some of the noise visualization tools to try to isolate the cause and the plane. Then you can use the appropriate tool to reduce that noise. Much better than throwing random models at it and hoping for the best.

Grain is good, shimmery grain sounds like artifacts, potentially from an analog to digital transfer.