Since I don't have the necessary knowledge to apply ffdshow tweaks, I'm looking for the best media upscale filters for software media players. So far i was using my Playstation 3 to play standard definition .avi and .mp4 files, and it is being said that it has one of the best upscale algorithms. I will be migrating my media playback to my laptop that i will connect to my TV, so i will require the best filters for this job. Any suggestions?
+ Reply to Thread
Results 1 to 30 of 34
-
-
Only Sinc - perfect from mathematical point of view.
https://en.wikipedia.org/wiki/Sinc_filter -
I need to understand how YOU define best for upscaled video. Without definition for best i can say that there is no alternative for Sinc - Some approximation for Sinc are lanczos class filters (but also other Sinc windowed filters) http://svn.int64.org/viewvc/int64/resamplehq/doc/kernels.html , look at this http://jeanbruenn.info/2011/10/30/upscaling-in-avisynth-comparison-of-resizers/ .
Seems that good (at some conditions) upscale resizer is nnedi3 (but this type resizers is totally different class than Sinc).
So if You search for some visual, high quality resizer go for nnedi3 https://forum.videohelp.com/threads/353535-How-to-upscale-with-Nnedi3 - this one is particularly interesting - https://forum.videohelp.com/threads/353535-How-to-upscale-with-Nnedi3?p=2221642&viewful...=1#post2221642 - read it carefully.
http://www.general-cathexis.com/interpolation/index.htmlLast edited by pandy; 21st Mar 2013 at 06:51.
-
For realtime playback most players will be stuck with whatever your graphics card does for upscaling. Usually limited to nearest neighbor, bilinear, and bicubic. I doubt the PS3 does anything more than bicubic for scaling. It may also perform some deblocking and deringing before upscaling.
-
Hardware resizers more or less follow windowed Sinc path (usually implemented as polyphase filter) lanczos is quite common nowadays.
-
The PS3 uses a 2006 era Nvidia graphics chip. It's probably limited to Bicubic at best.
-
PS3 use Cell thus some edge detection (or similar non linear) algorithm is used.
Polyphase resizers are standard from 2005 or even earlier (usually somewhere between 5 and 7 taps) -
I know it has cell processors but do you know for a fact that they are used in video playback?
In any case, the OP is using a laptop and realtime playback. His choices in most players will be limited to what the graphics card supplies: nearest neighbor, bilinear, bicubic.
Ah, I just noticed that ffdshow has the ability to resize before giving the frame buffer to the graphics card. I suggest the OP just try the different filters and see which he prefers. Of course, he'll have to use a player that uses ffdshow.Last edited by jagabo; 21st Mar 2013 at 07:46.
-
PS3 use software decoder, besides also fancy trick mode with additional video enhancing filters tend to guess that all advanced video processing is performed in software - never done personally any subjective quality tests for DVD upscale on PS3 thus lack of data. Based on various information's seems that software video processing is performed not only for video but also for games (like MLAA) but Sony information policy is quite strict... (no info).
btw as ffdshow support various resize methods it is up to OP to check which method is best for him. -
And a note for the OP: sharper resizers aren't necessarily better than softer resizers. Very sharp material may develop oversharpening halos. Material already with oversharpening halos will have those halos exacerbated. Material with DCT ringing artifacts and other pixel noise will have those artifacts enhanced.
-
I only see one picture. Upscaled by the PS3 from what size? 720p? How was the image captured? Your Avermedia HDMI capture card? Full white lines on a black background isn't a good indicator since you can't see over sharpening halos. I'd love to see more. Especially SD to HD upscaling since that's where it's most important.
A simple experiment for the OP: download bwaaps3.png from vaporeon800's link (be sure to get the full 1920x1080 image, not the thumbnail):
Put this script in the same folder as the png. Open the script with VirtualDub and step through the script frame by frame to see the different scaling filters. I first reduce his image to DVD resolution and lower the contrast (leaving room for over sharpening halos). The scale the image up to 1080p using various algorithms in AviSynth. You'll need the nnedi3 package for AviSynth. If you don't have it, just comment out all the v4 and nnedi3 references and compare the others.
Code:ImageSource("bwaaps3.png") Crop(240,0,-240,-0) BicubicResize(720,480) ConvertToYV12() #ColorYUV(cont_y=256000) # enable this for very sharp edges ColorYUV(cont_y=-64, off_y=25) # reduce contrast org=AddBorders(last,0,0,1440-width, 1080-height).Subtitle("original") v0=BilinearResize(1440,1080).Subtitle("bilinear") v1=BicubicResize(1440,1080).Subtitle("bicubic") v2=LanczosResize(1440,1080).Subtitle("lanczos") v3=SincResize(1440,1080).Subtitle("sinc") v4=nnedi3_rpow2(4, cshift="BicubicResize", fwidth=1440, fheight=1080).Subtitle("nnedi3") Interleave(org,v0,v1,v2,v3,v4)
Last edited by jagabo; 21st Mar 2013 at 18:13.
-
OK so this script will alternate between different resizers? It will first give me v0 then v1 etc, so i will look at what each resizer does?
A couple of questions before i try this.
-Is there a portable version of avisynth? I don't like to run installables.
-If i use avisynth for resizing, will i have to manually create a script for every file i want to run? -
Yes.
No.
Yes. I'm not suggesting you do this routinely. Just as an experiment to see what different resizing algorithms look like. Having them interleaved like this makes it very easy to compare with an editor that lets you flip back and forth between frames of a video -- like VirtualDub where you can use the left/right arrow keys to step backward and forward frame by frame. Replace ImageSource() with AviSource() to do the same with AVI files. -
On what intervals will it change the image? I mean will the resizers be significantly different, for me to notice the transitions?
I also forgot to ask previously, will i need to calibrate and create a color profile for the graphics card for my TV? I dont have any calibrator or any technical tools like that, so i hope it wont be necessary. -
Since the original image was 1920x1080 but contained a pillarboxed test pattern I cropped it down to 1440x1080 (4:3). Then I resized it to 720x480 to simulate a 4:3 NTSC DVD source. Then upscaled to 1440x1080 to show what a 4:3 DVD upscaled to 1080p would look like.
It depends on how picky you are. I'm not obsessed with getting a perfect picture. Since TV viewing is quite subjective (ie, the appearance of the picture depends on room lighting that changes over the day, with what lights are on/off, etc.). I usually set the computer to neutral settings then adjust the TV's brightness/contrast settings to get the correct black/bright levels (with all the TV's artificial automatic gain controls disabled). I then adjust tint and saturation controls to get approximately the right settings. It helps to have calibration test patterns and color filter glasses.
I suggest you not worry about it until you get your system set up. If you don't like the way the picture looks make some adjustments.Last edited by jagabo; 23rd Mar 2013 at 06:33.
-
No i meant the intervals as to how quickly it changes from one resizer to another. I tried running your script, and it seems it changes in less than a second, and i dont know what is going on. Is there any way you can pause the resizers so lets say it stays in Billinear for 3 seconds, then on Bicubi for another 3, etc, so i have the image appear for 3 sexonds on each resizer? BTW i downloaded nnedi3 and put it in plugin folder, but do i need sinc as well? Cause it displayed an error that it didnt recognized sincresizer. I coomented v3 and sinc out.
Also why does the image appears grey, and pausing doesnt stop the resizers? I'm a beginner into Avisynth, and dont know anything about how it operates. -
It changes frame to frame. ImageSource() defaults to 24 fps. So the resizer changes 24 times a second. Use VirtualDub step through frame by frame, not a media player.
I reduced the contrast so you could see oversharpening halos. with the original full black, full white image you couldn't see the halos. Here's a sample LanczosResize(), further enlarge 4x with a nearest neighbor filter so you can see individual pixels:
Notice how there is a dark ring around the bright circle? That's an oversharpening halo. With a totally black background you wouldn't be able see that halo because the background can't get any darker than black.
It stops on whichever resizer is active for that particular frame.Last edited by jagabo; 23rd Mar 2013 at 07:17.
-
Are there test patterns specifically designed to test upscaling? If some are posted I can do 10-bit 4:2:2 HDMI captures from PS3.
-
Once i have made my mind about an upscale how can i start using it? Lets say i want to use nnedi3 for every file. Will i have to create a script for every file, or can i insruct media player classic to upscale with nnedi some other way?
Also i was doing some research on shaders. Is this something like the ffdshow filters? I found this topic. Applies this custom shader with sharpen complex 2 and also added a denoise filter on top.
http://gsngaming.com/topic/7206-media-player-classic-home-cinema-shaders/
Is this considered useful, or am i just trying stuff at random? -
I meant that script simply as an example of what different upscaling filters give. I don't think there's any practical way to use AviSynth filters to upscale in media players. Nnedi3 is especially problematic as it is very slow and only upscales by powers of 2.
It's possible to add AviSynth filters in ffdshow's processing:
Then you have to force your player to use ffdshow. Either by disabling the players internal codecs and other system installed codecs, or by enabling ffdshow's "Raw Video" decoder. Even so this isn't really practical. For example, in the above pictured image, any 4:3 video would be scaled to 16:9, the wrong aspect ratio. You'd have to change the filter for each video. I suppose it's possible to write a script that detects the aspect ratio of the source and scales appropriately (never tried it).
MPCHC's shader system isn't compatible with AviSynth filters as far as I know. -
I believe that ffdshow have various resizers available internally and they can be selected independently for Luminance and for Chrominance - going for Avisynth resize seem to be not very practical (perhaps only for comparison).
Give ffdshow a chance - it is designed for realtime processing, Avisynth is more for offline processing. -
Last edited by jagabo; 25th Mar 2013 at 07:55.
-
I read somewhere that MadVR with LAV filters is one of the best options out there for MPC-HC, but i tried following the guide and after i registered madvr it still shows as unavailable. I'm running win 8 64 and mpc-hc x64. Is MADVR only intended for 32 bit systems and apps?
-
So any suggestions for good test patterns or content to evaluate upscaling?
-
Resolution test patterns usually don't work well for testing upscaling algorithms. Upscaling will exacerbate moire patterns.
One good test is to start with a good Blu-ray disc and a DVD of the same movie (or create your own SD clip by downscaling the Blu-ray). Then comparing the upscaled DVD to the Blu-ray source.
Infognition ran some comparisons a while back:
http://www.infognition.com/articles/video_resize_shootout.html
But beware, their main intent was to make their upscaler look good. They invested no time in optimizing the other upscalers. They often chose poor settings for the other upscalers (for example, VirtualDub's simple bicubic algorithm rather than its precise bicubic algorithm).
Similar Threads
-
How to upscale with Nnedi3?
By VideoFanatic in forum RestorationReplies: 24Last Post: 21st Feb 2013, 14:16 -
Denoise before Upscale or After?
By VideoFanatic in forum RestorationReplies: 4Last Post: 28th Nov 2012, 04:54 -
Few questions: Upscale SD to HD?
By nic3 in forum Video ConversionReplies: 5Last Post: 9th Jan 2011, 09:32 -
[Solved] Question about MPlayer filters in FFDShow and Mencoder filters
By BlooderButcher in forum Video ConversionReplies: 4Last Post: 24th Nov 2008, 11:32 -
hdmi upscale through pc
By zinc in forum Software PlayingReplies: 3Last Post: 30th Aug 2008, 11:57