View Single Post
Old 15th August 2019, 17:41   #13  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,869
Quote:
Also there is upscaling the resolution to 1080p.
That's only because I had to output an XDCAM since I was at work, which is why I upscaled it.

Quote:
Since I deal with encoding one of the basic rules I kept was to never magnify the video over original resolution.
Which provide the better look? Keep original resoultion and lcd-tv perform upscale or do it by avisynth?
Well, it depends. You are absolutely free to leave it as it is and it's gonna be a good encode, no doubt about it.
As I said, the reason why I had to upscale it was that whenever I'm at work I can't encode anything but an XDCAM FULL HD 8bit 25i or an XAVC Intra Class 300 UHD 10bit 50p.
I generally leave the source as it is on my personal encode, but at work I'm forced to upscale.
Since you are dealing with these kind of things, let me diverge a little bit and let me talk about resizing kernels.
As you may know, there are many resizing kernel; the most famous ones are PointResize, BilinearResize, LanczosResize and Spline-based resize.
There are other resizing kernels, but I'm not gonna talk about them.
PointResize is the most basic resizing kernel you can get and of course, you should never use it unless it's for quick and dirt preview for whatever reason, but never to encode! Do not encode with it.

For this example I'm gonna use an 128x68 1.77 FF footage, yv12 4:2:0 planar 8bit and I'm gonna upscale it to 848x480.

Original Footage:



PointResize Upscale:



Bilinear Upscale:



Bicubic Upscale:



Lanczos Upscale:



Spline64Resize Upscale:



NNEDI3 SplineResize Upscale with a useless mind blowing 128 taps:



Think about this as a sort of extreme upscale example.
PointResize is a very simple resize and it's never used in real life scenarios.
Bilinear and Bicubic are for historical reasons the most used in the industry; this is because back in the days everything was done not via software but via hardware.
In other words, in order to, let's say, downscale an HDCAM SR to a BetaCAM, the first HD VTR was going to be routed to a matrix; using the matrix, the signal was going to be routed in an hardware downscaler (sometimes called "CONV" or "XCONV"; I remember Everts producing those kind of things) and then the resulting downscaled signal was going to be routed to the SD VTR which was going to record in BetaCAM.
If you are not familiar with them, this is a VTR:



This is a matrix:





So... Bilinear is an old-fashioned resizing kernel which is still used nowadays 'cause many people were familiar with it back in the "hardware" days and it's then become the very first one to be included in software.
The good thing about Bilinear is that it doesn't create many artifacts, however it's very blurry...
Bicubic was created to overcome the blurriness of Bilinear and offer a sharper result and just like Bilinear, it was common in the hardware days.
I reckon that Omneon playout ports use a sort of FastBicubic whenever they have to upscale a legacy SD file to FULL HD, for instance.




The problem of Bicubic is that it's prone to create ringing.
Unfortunately, I cannot show it from the picture I choose but that's because I made a crappy example.
There are tons of examples of ringing artifacts caused by Bicubic on Doom9, so feel free to google them (I'm sorry about my crappy example).
As to Lanczos, well, it's been one of my favorite resizing kernel as it offers a pretty sharp upscale and downscale but with less artifacts than Bicubic, in my opinion.
As to the Spline resize based kernels, well, they offer a pretty good sharp result whenever you are upscaling, but they can't generally be used to downscale as the result would be too oversharped.
Let me put it in this way: they are very good to upscale, but when you downscale, you may like the result on nature, landscapes and so on, but if there are captions, or signs and so on it will definitely introduce a lot of aliasing; the same goes for the lines of, let's say, a building.
The number of taps is equivalent to the number of lobes used, but increasing them after a certain threshold doesn't really make a very noticeable difference.
For instance, the most used Spline Resize are Spline36 and Spine64, while some people like Katie Boundary are more prone to like Spline144Resize, but literally nobody would go over Spline144 'cause it doesn't just offer anything more to the resize.

Now... you have asked whether it makes sense to upscale or if it's better to let a TV upscale it...
Well, there's not a correct answer as TVs are not all the same.
Up until a few years ago, let's say... going back to 2008-2009 or so, when people began to get HD TVs, many TVs were using a sort of FastBilinear whenever they received an SD signal.
One of the things they were arguing about was that when they purchased the new TV, the SD was so much worse than how they were seeing it with their old TV.
The reason was that, most of the time, it was really poorly upscaled by the TV and therefore it was very blurry and people were complaining...
As result, back in the days, we had some HD channels, but we didn't really have many HD contents, so we had to upscale them.
Surprisingly, polls showed that some users were happier with upscaled HD contents compared to their original SD size, because their HD TVs were actually pretty bad in upscaling SD contents.
Fast-forward to 2019, the situation is much different now.
4K UHD TV are doing a much better job than the old TVs in upscaling SD, HD and FULL HD signals to 4K UHD.
This is because manufacturers learned from the past and nowadays our TVs are "Smart TVs" which means that they are literally powerful computers with the ability to compute way more complex operations than the ones of 2008-2009.
As result, upscaling techniques built-into the TVs improved a lot and some TVs are even capable of doing complicated things like motion-interpolation to go to 120fps and so on (although I would never turn it on as I don't like artifacts).

So the answer is... there isn't an unequivocally right or wrong answer. :P
I hope that this gives you an overview on resizing and I strongly invite you to read this Avisynth Wiki page as it's very well done: http://avisynth.nl/index.php/Resampling

Cheers,
Frank

Last edited by FranceBB; 15th August 2019 at 17:57.
FranceBB is offline   Reply With Quote