Non-basic Avisynth scripting will be needed, plus an NLE for best color correction (or
VirtualDub ColorMill as runner-up).
For Avisynth: For interpolation, johnfps(). Then some sort of heavy denoise.
Somebody really screwed up the quality of that conversion. I bet this was "captured"/scanned with a cheap POS "Wolverine" type USB dongle scanner, and then oversharpened to 11 (on a 10 scale). It's a terrible capture, and not too much can be done at this point. Lots of loss is already baked in.
That "grain" is actually digital "mosquito noise". I also detect some GOP decay.