| Forums | Polls | Register | Reply | Search | Statistics |
Display Calibration Light Illusion Forums / Display Calibration /   
 

ColourSpace Manual Measure 16-235/16-255 Patch Scale

 
Author argonaut
ZRO
#1 | Posted: 6 Jan 2021 02:25 
I've just started digging into ColourSpace ZRO, and I'm baffled by the Manual Measure design for a Patch Scale of 16-235 or 16-255. In both cases, the slider values still range from 0-255. First, I can't figure out why you would ever want to divide 220 or 240 steps into 256 steps, rather than keeping them 1:1, when the ultimate output is going to be integer values. One result is that adjacent steps can map to the same final RGB triplets. For example, with a Patch Scale of 16-235, setting the sliders to either 3,3,3 or 4,4,4 both result in the final pattern having RGB triplet 19,19,19. And yet the target Y values shown for them are different, because the calculation is made using the fractional RGB value conversion (18.576 vs 19.435) rather than the final rounded value of 19. And so neither target Y value actually matches the pattern that's displayed. For example, with Rec709, sliders 3,3,3 has target Y of .0024, sliders 4,4,4 has target Y of .0047, but the RGB triplet of 19,19,19 actually displayed should have target Y of .0034. And because the calculation is done with fractional values, none of the grayscale target Y's match the pattern actually displayed except for sliders 0,0,0 and 255,255,255. I had also assumed that Patch Scale 16-255 was for Super White, but that doesn't appear to match up. When selecting 16-255, the Max Luma Target for Rec709 remains at 100 nits, which doesn't seem a reasonable choice for 109%, but if I change it to the 123.34 nits that I would expect, the target Y for sliders 235,235,235 is 101.384 rather than 100. And if I leave the Max Luma Target at 100 nits, then the target Y for sliders 235,235,235 is 82.199 when I would have expected 81.079, if sliders 255,255,255 represented 100%. So I'm unclear what's going on there. Am I just completely confused?

Author Steve

INF
Male
#2 | Posted: 6 Jan 2021 11:50 
The reason is that using Patch Scale to effect a change is rarely the method to use, as if using direct HDMI the graphics card EDID will scale the patches by default.
As a result, using 0-255 is nearly always the correct setting to use.
Because of that, we have never bothered to re-set the target scale to a sub-range, which is basically what you are asking for.
(So you would leave everything to 0-255, and just use a limited slider range based on the required range. That could be added to ColourSpace, if it is really deemed necessary...)

Having said that, we will be adding the ability to set the bit-depth (and hence slider resolution) to greater bit depths.
(The option that is presently greyed-out.)
That will increase resolution/decrease rounding issues.

As for 109% peak for super white, you need to set that using the Target Max value, as you did.
And yes, the 235 target value will not be 100 nits, as the 'EOFT' is now 'stretched' to 109%
This is why trying to calibrate to Super White is never really a valid approach.
(I know of no displays that are calibrated that way.)
The only time I know of that 16-255 is used is for LG WOLEDS, when doing LUT based calibration - which has nothing to do with manual calibration.

Steve
Steve Shaw
Mob Boss at Light Illusion

Author argonaut
ZRO
#3 | Posted: 6 Jan 2021 14:44 
Thanks for the response.

First, I have to correct my previous post, the target Y's for Patch Scale 16-255 are correct for the fractional conversions for Super White; for that case I should have been looking at sliders 234,234,234 as mapping to 100%, not 235,235,235. Your statement about a stretched EOTF doesn't make sense to me; it isn't stretched, it's extended. My TV, when configured for RGB Limited/Video range, is perfectly capable of displaying whiter-than-white values, and although I calibrate for 0-100% accuracy, I want to measure 0-109% to see what happens up there. Which raises another point. As 16-255 is an extension of 16-235, one might think that a patch set developed for 16-235 could be reused directly for 16-255, but that isn't the case, which is at least confusing.

Second, your statement that 0-255 is nearly always the correct setting is odd to me, if what one wants to do is calibrate for a consumer video chain, rather than PC use. Let's look at three scenarios. The one I'm most interested in is using PGenerator, which has been validated as bit accurate for RGB 0-255. The recommendations I've seen, which make perfect sense to me, is to use PGenerator to tunnel 16-235 (or 16-255) patterns through it, with the display configured to receive RGB Limited/Video content. But for that to work with ColourSpace, you need to configure Patch Scale to 16-235 or 16-255. Alternatively, if using the ColourSpace patch window, then configure the PC to output RGB Full (which seems to me most likely to be accurate), configure the Patch Scale to 16-235 or 16-255, and again configure the display to receive RGB Limited/Video. But neither of those setups are accurate. The setup you suggest, where the graphics card rescales from 0-255 to 16-235, is also not accurate. For example, with Rec709, Max Luma Target 100 nits, Patch Scale 0-255, putting the sliders at 128,128,128 yields a target Y of 19.1253, but the graphics card will (or should) rescale that pattern to 126,126,126, for which the correct target Y is 19.1548. Indeed, with that setup, all grayscale target Y's are incorrect except for sliders 0,0,0 and 255,255,255.

If my analysis is correct, then it appears ColourSpace Manual Measure is simply unsuitable for proper consumer video calibration.

Author Steve

INF
Male
#4 | Posted: 6 Jan 2021 14:55 
The Rec709 standard is relative, and so the gamma is 'fitted' between the black/white points.
Changing the 'white' to a different nits value will alter the relative points on the gamma curve.

And 235 is the correct value for 100% white.
Black is 16 - white is 235 for all consumer video.
It doesn't suddenly jump down to 234 just because you are trying to play with super white.

Steve
Steve Shaw
Mob Boss at Light Illusion

Author argonaut
ZRO
#5 | Posted: 6 Jan 2021 15:03 
You misunderstand. When Patch Scale is set to 16-255, and sliders are at 235,235,235, the actual pattern produced is 236,236,236. To produce an actual pattern of 235,235,235, you need to set sliders to 234,234,234. Yes, I know how Rec709 works.

Author Steve

INF
Male
#6 | Posted: 6 Jan 2021 15:14 | Edited by: Steve 
Yes, the output patch is after the 'scaling', while the sliders are before.
That re-scales the whole range, as expected.

And as said, if we deem it necessary we can add a sub-range function.
But, as there is no validity in calibrating 16-255, it's not presently a high priority.
(3D LUT generation is rather different, and always references back to the 0-1 normalised range, and that has an impact on 'manual measurement' options.)

At the moment, we have rather more important developments we are pursuing.
But I have added the request to our WIBNI list.

Steve
Steve Shaw
Mob Boss at Light Illusion

Author argonaut
ZRO
#7 | Posted: 6 Jan 2021 15:24 
OK, but just to be clear, I don't care all that much about 16-255, the real problem is that Manual Measure is unsuitable for 16-235. As I don't have a 3D LUT capable device, I infer that even a paid version of ColourSpace is unsuitable at present? Which I confess I find rather astounding.

Author Steve

INF
Male
#8 | Posted: 6 Jan 2021 15:32 | Edited by: Steve 
As stated, all works as expected for the operation provided, and the expected user application.
Weather we choose the change that operation is the future is a separate discussion.
The normal approach is indeed to use EDID and the graphics card, or to use the connected TPG to perform the patch scaling.

There is an associated issue, as mentioned previously, that any profile generated via any approach can be used to build a 3D LUT (in the paid for license levels).
All profiles for LUT generation must be 0-1 range.

Steve
Steve Shaw
Mob Boss at Light Illusion

Author Steve

INF
Male
#9 | Posted: 8 Jan 2021 17:25 
To collate the info above into a single post, which should help others understand how ColourSpace works for manual calibration.

First, all measurements within ColourSpace need to reference back to a 0-1 range. This is associated with LUT generation.
(This is all because the main ColourSpace code enables any 'profile' to be used to generate a LUT, and ColourSpace ZRO is a sup-set of the main code. We are NOT going to modify ZRO so it deviates from the main code base.)

This does mean all 'source' patch data needs to use a 0-1 range.
For manual calibration this means the defined patches need to be 0-255 range, with any rescaling performed via the graphics card under EIDID control, or using the Patch Scale option, etc.

So any .csv sequence needs to also be 0-1 range.
This because the Target values will always assume black is an internal patch of 0, not 16.
And white is 255, not 235.

Yes there will be some 'rounding' of the 8 bit values.
That is expected.
Is it an issue?
Mathematically, yes.
In reality?
Nope.
No display/probe combination is ever more stable than the rounding error.

You can prove the rounding issues by taking single step measurements, as you will see on occasion same 16-235 output value for 2 adjacent 0-255 input values.
But, you never do that in manual calibration.
You use a few 'grey-scale' points, likely 10 or 20(ish) throughout the 016-235 range.
So in reality it is not an actual issue.
(You could make a .csv that is a full set of 255 steps, but the display/probe instability would cause far more measurement errors than the 16-235 rounding!)

But, we will we adding 10, 12, 14, 26 bit 'bit depth' options in the future.
(Presently being worked on...)
That will greatly alter the rounding issues.

Additionally, it is likely we will add some form of 'Sub-Range' capability.
But, that introduces issues with LUT generation, as outlined above... so is not likely to happen quickly, as we will need to make the code base compatible across the main ColourSpace program, as well as ZRO.

So in reality, this is a non-issue in the real world.

Steve
Steve Shaw
Mob Boss at Light Illusion

Author argonaut
ZRO
#10 | Posted: 8 Jan 2021 18:54 
I understand that you need to put your spin on it. From my perspective, the design is simply fundamentally flawed for 16-235 and 16-255 calibration. Adding higher bit depths does not correct that fundamental flaw, it merely mitigates the inaccuracy, at the cost of additional complexity and confusion for the typical 8-bit output case. (I can't comment on a sub-range, not knowing exactly how it would work.) Despite all of the problems with CalMAN, I would not pay money for ColourSpace given the current design.

Author Steve

INF
Male
#11 | Posted: 8 Jan 2021 18:59 | Edited by: Steve 
You are indeed welcome to your thoughts.

But as defined, the issue is a non-issue.

We do not charge for ZRO, and we do NOT expect ColourSpace paying customers to be using it for manual calibration.
It is dedicated to LUT based, and is far more accurate than Calman - as so many independent users have proven.

I don't see Calman offering free Manual Calibration..?

It's about time you got off your soap box, and accepted it is what it is - at the present time.
The end results will be, for all intents and purposes, identical with/without rounding when using scaling, or not, for any manual calibration.
We will 'mathematically' correct the rounding at a later date.
But we are in no rush - as the issue is irrelevant.

Steve
Steve Shaw
Mob Boss at Light Illusion

Display Calibration Light Illusion Forums / Display Calibration /
 ColourSpace Manual Measure 16-235/16-255 Patch Scale

Your Reply Click this icon to move up to the quoted message

 

 (?)
Only registered users are allowed to post here. Please, enter your username/password details when posting a message, or register first.

 

 
Online now: Guests - 1
Members - 0
Max. ever online: 264 [6 Jun 2020 12:02]
Guests - 264 / Members - 0