| Forums | Register | Polls | Search | Statistics |
You must be logged in to post content on this forum.
Display Calibration Light Illusion Forums / Display Calibration /  

Lightspace & Display Calibration Tools - VT60 - Custom Color Patch Set & Gamma Calibration Workflow

Author mike_n
#1 | Posted: 7 Mar 2014 10:44 
Hi guys,

this is a calibration workflow example using the latest options in Lightspace and other workflow tools available nowadays.

TV set is a Panasonic 65VT60 NA.
Latest Lightspace.
Meter is a K10-A with spectro offset.
Lumagen pattern generator


Turned all internal processing off. Used Ted's disc to check which CMS controls introduce problems. Dial in Brightness via LI's brightness calibration image - those patches are 1 lsb each. We also used Ted's disc to confirm the Lumagen (used as a pattern generator) was outputting correct levels.

You would now setup Contrast the usual way, but for the VT60 I will go into into detail here as these sets have Gamma issues - I have confirmed this with multiple other VT60 owners - if you don't own a VT60 you may consider skipping this section:

The VT60 has very inconsistent Gamma, especially in the 85-100% brightness region, which can result in very wild gamma spikes (seen on a Gamma log-log graph) that can go either direction, towards a higher or lower Gamma value. I've seen as low as 0.97 and as high as 3.6 - sometimes (depending on Gamma and contrast setting) the display shows a double spike, it goes down to 1.0 and then up to 3.0 all within the last 6% brt, ergo 94-100%.

It does not matter which settings are used: Pro mode or custom, ISF Night or Day, I've set Contrast to everything between 50 and 100, I've tried all color temperatures and all Gamma pre-sets and a combination of them.

Standard 10pt or even 21pt Greyscale runs don't really show the issue as the 5% brightness spacing is too large. You might see problems at 90 and/or 95% but then again the internal VT60 gamma controls are 10pt only anyways, so way too coarse to fix or address these issues. You need a GS evaluation with 101 pts, ergo very tight spacing of 1% to really see what is going on.

Here are 3 gamma graphs of 3 different VT60's (all NA) - all profiles are 101 pt GS runs, so u see what is really going on:

VT60 Pre-Profile Gamma

We're using the Lightspace Profile Reporter (from http://DisplayCalibrationTools.com) here to directly evaluate LS profiles - in the case of the 3 gamma graphs: 101 pt Greyscale only profiles. This workflow allows me to stay in LS and use all of the professional tools that LS offers that other solutions do not offer (active LUT etc, see later in the workflow) w/o having to switch to another solution to get a profile evaluation (and then deal with other issues). This speeds things up quite a bit.

Contrast setup:

I ran a 101pt Greyscale only in Lightspace (using a custom color patch set that only contains 101pt Greyscale), then checked for drastic Gamma spikes, then adjusted Gamma / Contrast setting and or used Gamma CMS control. Did this a few times, trying to bring the drastic spikes somewhat under control. I will address / improve Gamma later on in the workflow, but the better the pre-profile setup the easier the adjustments will be later on.


All patch sets (profiling & validation) were created via the Custom Color Patch Sequence Generator from DisplayCalibrationTools.com.

The profiling patch set that was used in this calibration is a larger color patch sequence. Before Lightspace allowed the import of custom color patch sequences we've been using 21^3 patch sequences with 9,261 points. With a fast meter the time frame is easily doable.

This patch set was targeted to have equal or less points than a 21^3 but with improved performance, as in that it "scans" / profiles the gamut more evenly and more throrough, providing more relevant and conclusive information to the color engine. This set has 9,137 points (so slightly less than a 21^3) but with better profile point coverage and distribution than a standard grid sequence including a 101 point Greyscale (and all corresponding R, G, B reads).

This is a very straightforward patch set that I used for this calibration, easy to understand, you can easily decrease the point count (profile size) if you like. For other calibrations, I used a an more refined variation of it. Regarding patch set size: if you cut the point count too much your results be inferior. The more accurate and conclusive data you provide to the color engine, the better the results will be.

The patch set was created with HSB parameters, easily understandable and very easy to control. Here are the patch set parameters:



As you can see - in this specific patch set - I am sampling every 2nd integer hue value, so out of 360 hues, we are sampling 180 hues. That is a tight spacing of just 2 hue degrees and will make sure we don't leave out too many hues.

For Brightness levels, we are sampling a total of 30 (!) brightness level, a 21^3 (with more profile points) samples just 21 brt levels. As you can see the brightness levels are grouped in packs of 10 brt levels and changed for each hue, this way we keep the the total point count lower BUT we are sampling 30 brt levels in just 4 hue degrees !

So over a very narrow span of just 4 hue degrees (!) our color engine will get LOTS of data of that parts of the gamut, example:

0 deg is sampled with these brt levels: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
2 deg is sampled with these brt levels: 6, 15, 25, 33, 45, 54, 66, 75, 84, 95
4 deg is sampled with these brt levels: 23, 28, 36, 42, 48, 57, 63, 72, 78, 87

--> brt cycle starts again at 6 deg using these parameters

You can see how powerful this is, I can easily refine this patch set and even expand the brt level range without increasing the total profile point count ! So I could add another 10 unique brt levels for a total of 40 brt levels over a span of just 6 hue degrees.

Just keep in mind to find a balance between the hue span and the brt levels. Don't let the span get too wide with brt levels points that are "too far apart".

Also, note how the 3 brt level groups are stacked / spread to each other, they sit within the other groups spacing.

Saturation levels are relative to brightness, so each of these saturation levels are sampled for each or specific brightness levels. Again, because we want to get the most data from the gamut out of our patch set, we stack sat levels in groups. We are using 20 well spread sat levels in 4 groups. Similar to what we do with the brt levels we change the sat levels for the brightness levels with every other hue from our hue set.

brt levels @ 0 deg are sampled with these sat levels: 20, 40, 60, 80, 100
brt levels @ 2 deg are sampled with these sat levels: 10, 30, 50, 70, 90
brt levels @ 4 deg are sampled with these sat levels: 5, 25, 45, 65, 85
brt levels @ 6 deg are sampled with these sat levels: 15, 35, 55, 75, 95

Again, note how the 4 sat level groups are stacked / spread to each other, they sit within the other groups spacing.

So, summing up, over a narrow span of just 6 hue degrees we are sampling:

3 unique hues, 30 unique unique brt levels (with a total of 40 brt levels sampled) and 20 unique saturation levels - all nicely spaced to cover the region evenly.

Here's a visual evaluation of the patch set


Take a note how evenly we distributed points, especially pushing enough data into the 25-75% brt and 25-75% sat range.


To further refine this set, one could start to adjust the hue spacing depending on region, e.g. sample with wider spacing in dense gamut regions (--> green, blue) and with more narrow hue spacing in less dense regions (--> red). Just don't let the spacing get too wide. The further add more brt & sat levels and distribute them smartly. Example of different hue sampling depending on hue region:

CPSG alternate

To decrease the patch set size, there are lots of options:

For starters, one could decrease the brt levels and sat levels below 25% brt and above 80% brt, because the shadows and highlights contain less information. If your screen is inaccurate in the shadows (i.e. LCD backlight contamination) u don't need to waste your time there anyways. Same if your meter can't read low brt levels.

Or simply increase the hue spacing, e.g. sample every 3rd or 4th hue.

Or one could simply take out brt levels and sat levels in all brt levels. This will drastically reduce patch set size. Instead of 30 brt levels have 20 or 15, instead of 20 sat levels have 10 - OR - keep 30 brt and 20 sat levels but distribute them over a wider hue range... Lots of possibilities.

Alright, enough talk run the profile on the VT60.

Took ca. 3 h

Author mike_n
#2 | Posted: 7 Mar 2014 10:45 

(1) Gamma Evaluation and Gamma Adjustment

Now - first of all - run a patch set that only contains 101 pt Greyscale (nothing else) to spot possible Gamma problems of the LUT. Run the patch set with the LUT ACTIVE IN LS. There's no need to upload the LUT to the LUT box at this point (and waste time) as we might tweak the LUT.

We do the Gamma eval FIRST, so we can compensate / address / fix possible Gamma issues in the LUT. Lightspace has these tools and we will use them. We will fully evaluate the gamut and the color performance later, no worries.

Here's the Gamma that the Rec 709 G 2.2 LUT created for the VT60:


Gamma of 2.25 and the Gamma log-log graph shows Gamma problems, I want to improve that.

Background: LS introduced parametric Gamma control in Jan 2014. This allows you to make Gamma adjustments using up to 101 points. Without points at 0 and 100 stimuli, that leaves 99 effective adjustment points. I guess now you realize why we ran a 101pt validation GS run.

In order to make adjustments, you need to create a custom color space, which is a file containing gamut and gamma information that is then imported into LS and used as a SOURCE in the Color Conversion utility to create a LUT.

How do we use this in this calibration ?

Simple, we create a custom color space with the same gamut as Rec 709 - since we want Rec 709 gamut. Now, we start adding gamma adjustment points inside the color space file. Once you use this custom color space file to create a LUT, the Gamma of the LUT will be affected by your adjustments.

Again, I'm using a tool from http://DisplayCalibrationTools.com, the Lightspace Custom Color Space Creator, that does all of this for me. You can do this manually, use one of the LS preset color space files, open them and check out the file structure. Make sure you do not make any syntax errors otherwise this will have (unknown) consequences. I do not recommend to do this manually, it is quite complex, but possible.

Since we ran 101 pt GS validation we have data of 99 effective Gamma points (between 0 and 100 stimuli) and we can use the data to create the maximum amount of Gamma adjustments in a custom color space.

In my workflow, I simply check out the profile report of the 101 pt GS run in the Lightspace Profile Reporter - then simply click the button at the bottom (which creates Gamma adjustments) - then use the Lightspace Custom Color Space Creator tool that creates the custom color space for me with the Gamma adjustment data that I just copied over.

Here is an image where u can see all 99 Gamma adjustment points and the Gamma adjustments it creates:

LSCSC 2 - 1

LSCSC 2 - 2

Save the file and use in LS as a source to create a new LUT, see here - in the SOURCE select menu choose your custom color space, in the DESTINATION select menu choose your profile:


Same thing now as before, to speed up things, with the new LUT ACTIVE IN LS, run a 101 pt GS. Evaluate, if not happy, adjust a bit more, run another 101 pt GS profile and evaluate again.

I did just 2 runs of this, took me 8 mins with this workflow. Here the Gamma that the LUT (using my second custom color space) produced:


Much better. I could go on with tweaking, but I'll leave this for now as is. To control the crazy spikes of the VT60 at the very end is harder.

Again this is a 101 pt Greyscale and it shows everything. A 21pt or even worse a 10pt would be much "smoother" but would not really show what is going on. Remember, the more Gamma adjustment points you add to your custom color space the more control you will have over the Gamma.

Now, on to color evaluation.

Author mike_n
#3 | Posted: 7 Mar 2014 10:46 
(2) Validation Patch Set

I used a simple yet effective validation patch set that can easily be further refined. I wanted a patch set around 1,000 points, this has 1087 points. Patch set should contain points you profiled and points you did not profile so u can validate direct offset compensation points and interpolation points of the LUT.

This patch set has 15 degree hue spacing, 10 brt levels and 8 sat levels (in groups of 4). Below 20% brt, the set samples only 3 sat levels. The hue interval has the effect that we sample hues that were not profiled, i.e. 15, 45, 75 deg etc., so we'll see how good the interpolation is in some parts. This hue interval also mean we are sampling all primaries and secondaries RGBCMY: 0, 60, 120, 180, 240, 300 and all points in between them and all points in between the in-between points. Since we originally profiled every second hue (basically every even hue number) that means that every other hue that is validated here is a hue that was originally profiled, so we can verify how good the LUT is at direct offset compensation. Again, cycle between dark / bright patches to (try to) counteract ABL on the VT60.

CPSG val

Here's parts of the evaluation report from the Lightspace Profile Reporter, I collapsed all color detail data and omitted a few things from the report as otherwise this would have become too large of an image:

Val 1087p
Val 1087p 2

Here's validated with a standard 141 pt LS QP:

Val 141 QP

Skin Tone Eval

Ran an additional quick skin tone eval.

SG Color Checker

The color on this set now looks fantastic thanks to Lightspace....

- M

You must be logged in to post content on this forum.
Display Calibration Light Illusion Forums / Display Calibration /
 Lightspace & Display Calibration Tools - VT60 - Custom Color Patch Set & Gamma Calibration Workflow


Online now: Guests - 1
Members - 0
Max. ever online: 192 [11 Jan 2023 08:39]
Guests - 192 / Members - 0