Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
6th February 2014, 20:43 | #22641 | Link | |
Guest
Posts: n/a
|
Quote:
I think its even a better idea to create a black-level-fixed LUT.cal file, use it for profile patch measures, but not include the LUT.cal (do not tick "Apply vcgt") during 3DLUT creation (do apply "BT.1886 gamma mapping" "2.4" "Absolute colorimetric with white point scaling"). Then load the generated 3DLUT, untick "disable GPU gamma ramps", and load the saved LUT.cal file with fixed blacks separately! It will make it more flexible as you can also create a different LUT.cal with a different gamma and switch between them to see which one you prefer without having to re-profile or make a different 3DLUT. It is also a good idea because LAV Video doesn't clip WTW and white clipping patterns may show yellow flashing bars when a LUT.cal file is fully integrated into 3DLUT. Last edited by XMonarchY; 6th February 2014 at 21:01. |
|
6th February 2014, 20:44 | #22642 | Link | ||
Registered User
Join Date: Jan 2014
Posts: 51
|
Quote:
Quote:
Voila, you have expanded the input levels to the output levels without the non-linear effects of adjusting gamma or the like. For reproducibility you can mention the in/out ranges you picked, e.g. [0-20 -> 0-255] when you post them. |
||
6th February 2014, 20:48 | #22643 | Link | |
Guest
Posts: n/a
|
Quote:
Last edited by XMonarchY; 6th February 2014 at 21:00. |
|
6th February 2014, 21:03 | #22644 | Link |
Registered User
Join Date: Mar 2007
Posts: 934
|
Is it not still better if your GPU can do it without sacrificing other features?
Not everyone needs it. It's extremely awesome for PC displays but usually not necessary for TVs.
__________________
TV Setup: LG OLED55B7V; Onkyo TX-NR515; ODroid N2+; CoreElec 9.2.7 |
6th February 2014, 21:28 | #22645 | Link | ||
MPC-HC Developer
Join Date: May 2010
Location: Poland
Posts: 586
|
Quote:
Quote:
But I have to give you that if you can upscale both luma and chroma with NNEDI3 it's definitely what you want to do. (I missed that part of the post) Though keep in mind to balance your settings and luma upscaling is more noticeable then chroma But why explicitly disabling it then? It won't be used when not needed and when needed it's very nice improvement. |
||
6th February 2014, 21:50 | #22646 | Link | |
Registered User
Join Date: Dec 2008
Posts: 496
|
Quote:
DirectCompute3 ED vs. DirectCompute4 ED vs. Random Dither In/out ranges are [0-11 -> 0-255] Iīve also marked each 3 with red boxes at the bottom, too, because Iīve found something strange. Now, please donīt mind the movement of the boxes themselves, because I am not entirely sure how to add a stable second layer with GIMP so they donīt move (I had to do it manually), but what I wanted to illustrate is the movement of the right edge to the left of bar 20 and the movement to the left of the white line in bar 18 inside of the boxes. Because strangely, this does only happen with DirectCompute4 ED+random noise and not with DirectCompute3 ED or the Random Dithering. You probably need to put them in a slideshow (like Irfanview can do) to see it clearly. Last edited by iSunrise; 6th February 2014 at 22:09. |
|
6th February 2014, 22:02 | #22649 | Link |
Registered User
Join Date: Dec 2013
Posts: 753
|
I was finally able to confirm that using error-diffusion in an image with colour does indeed introduce coloured "noise" because of the misalignment of the different channels. The good news is that the effect isn't as bad as it could be. The bad news is that it does exists and mainly near edges which is unfortunate.
I've generated the pattern by using the Colorbars function from avisynth in the video processor of Potplayer, which for some reason resulted in an image which was horizontally flipped. I then cropped the image and scaled the range [0-40] to [0-255] and doubled the size (nearest neighbour scaling). This gave the following result for the different algorithms: normal dithering, error diffusion build 3, error diffusion build 4 You should be able to see that the pattern near the coloured surfaces is slightly coloured where it should be dark-gray. To make this more obvious here are the same three images but with the saturation increase by 100. normal dithering, error diffusion build 3, error diffusion build 4 Luckily the added noise from build 4 doesn't seem to add more coloured noise than the previous algorithm. It is also fairly hard to detect without special methods, but it might be worth it to see if it is at all possible to do the dithering in YCbCr which, at least in my experiments, should prevent this from happening. This likely won't be free though, although I think it is possible to do it with one 7x3,3x1 matrix multiplication and several if statements. Edit: I seemed to have accidentally used bicubic scaling on the error diffusion build 4 image, this might explain why the "coloured noise" looks slightly different. Last edited by Shiandow; 6th February 2014 at 22:06. |
6th February 2014, 23:07 | #22657 | Link | |
Registered User
Join Date: Jan 2014
Posts: 51
|
Quote:
The fact that the error only extends upwards by ~2 pixels seems to indicate that it's the latter case. Still interesting that the error consistently only spreads 16-20 pixels in one direction. I guess that even high with 16bit math the rounding lets the error fall below the LSB relatively quickly. Assuming/speculating the "use 10bit image buffer instead of 16bit" setting also affects dithering then using 10bits might actually taper off faster if my theory is right. Quote:
@madshi Which algorithm do you use to add noise in version 4? The one that Shiandow proposed might yield better results. He suggested simply using a handful of different diffusion tables and picking among them at random on each pixel. That should avoid introducing additional noise, it just spreads the errors in a way that seems less like a pattern to the human eye. Last edited by The 8472; 7th February 2014 at 00:06. |
|
6th February 2014, 23:59 | #22659 | Link | ||
Registered User
Join Date: Dec 2013
Posts: 753
|
Quote:
Quote:
Also with the way error-diffusion works, changing one value, even slightly, will have an effect on all the following pixels since different rounding errors occur in different places in a very unpredictable way. Given this you'd expect that when you use error diffusion separately on the different channels then it would be extremely unlikely that the result is the same for all channels, which leads to coloured noise. The reason this doesn't always occur is because error diffusion does exactly the same thing for the same values, this combined with the fact that error diffusion is only used on 16x16 blocks means that when the entire 16x16 block is gray, it will give exactly the same result for the same channels, which leads to an image which is gray. |
||
7th February 2014, 00:35 | #22660 | Link | ||
Registered User
Join Date: Jan 2014
Posts: 51
|
Quote:
Quote:
|
||
Tags |
direct compute, dithering, error diffusion, madvr, ngu, nnedi3, quality, renderer, scaling, uhd upscaling, upsampling |
|
|