How to Upscale from SD to HD?

Modern Blu Ray and DVD players with HDMI output have some method of “upscaling” old DVDs into HD that is absolutely unbelievable in its quality. They Upscale both the resolution and the colors - all color-banding and other artifacts of a 20-year old MPEG format are virtually invisible.

You can also see this upscaling in old TV shows shown in HD. For instance, watch a Seinfeld from 1992 in syndication and you’d swear it was filmed with a 1080p camera.

(Yes, we all understand that this is not true “upscaling” in the sense that it’s not adding visual data from the source. It’s merely an incredible form of trickery.)

Amazingly, internet searches don’t yield much technical explanation of how this is done, other than that it’s a processor-intensive anti-aliasing.

I have tried to achieve this upscaling in the Blender Compositor using various techniques, but I’ve had no success whatsoever. I saw a post in the VLC forum and used their technique, but it was honestly not good at all when put to the test.

Does anybody have any good ideas for how this professional-grade upscaling can be achieved in Blender (or any other open-source software)?

Thanks.

Examples of upscaling:



This is a very good technical article, concerning the issues on this topic:

There’s a bunch of software out there, but I personally do not have any glance of an idea, which would be best or even suitable in sense of utilization and/or ease of use, with the professional results of this area.

Yes apparently you can read the long GOP of compressed frames and use them to add detail to scaling. Modern GPUs in 4K TVs use Neural networks as well https://freetime.mikeconnelly.com/archives/1206

I’m a photographer by serious hobby going on 12 years, and back when I was learning the trade, I came across some videos about scaling that I have taken with me over the years. I can’t seem to find them any more, but the idea was scaling by an integer (normally 2 or 4). Take the resolution of 640X360 (a version of SD widescreen) for example, if you scale this up by 3 you get 1920X1080. Now the cool part of this is you are scaling the pixels perfectly in the x and the y (two pixels in the x and two pixels in the y), effectively making one pixel equal 9 pixels. I’ve done this many times in prints that were natively 8X10 for example and increased them to 16X20 or even 24X30 with out anybody knowing. The reason for this is that our eyes resolve a certain amount of detail, most people can’t see the difference unless they are literally inches from the source.