[argyllcms] HDTV calibration using ArgyllCMS

  • From: János, Tóth F. <janos666@xxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Tue, 19 Jul 2011 17:41:44 +0200

As a follow-up of a previous discussion, I will write down how did I use
ArgyllCMS (with DispcalGUI) to calibrate my HDTV to show what could be
improved in this area.

In this example, I will calibrate my hacked Samsung D550 PDP (hacked = it
has the calibration functions of the upper Samsung models) because it covers
many possible display calibration systems.

I used my PC as a source (MPC-HC with madVR with Full Range RGB output) and
the AVSHD Rec709 test disk.

(I also made some custom changes in the Service Menu but that doesn't
important for us here.)

This PDP (as almost every PDPs) has average brightness limiter, so the color
corrections can't be done on the source side. The VGA LUT or a 3DLUT on the
software won't be valid for the fluctuating display response. (I tried. It
looks like the ABL take the settings into account when it calculates the
offset values. So the VGA LUT is not valid because the display calculates a
device-white for the reduced value...)

1: I chose the picture preset which offers the most calibration controls and
I disabled every "tiny-miny dynamic/magic/superüber-black/whatnot features"
(which I can control).

2a: I set the "gamma" option to [-3] and the white tone to Warm2 because I
knew that these are the closest settings to my target.
*I figured it out with the "Report on uncalibrated display" function.

2b: I used the "APL clipping" patter to set the contrast and brightness
values until the black was just black (but the first gray shade was lighter
than the black background) and the lightest bright shade was just darker
than white (but wasn't equally bright as the background) and the last few
gray shades didn't look colored on the white background (it's basically a
digital contrast, so clipping/distortions can occur with high settings...).
*I did it by eye. I don't think it could be aided by sensors and softwares.
(May be if you have very-very precise and consistent measurements at low
light levels as well...)

3a: I loaded the 100% white window pattern to set the white point with the
RGB Gain controls and I used the 20% gray window pattern to set the RGB
Offset controls.
*I used dispcal with D65 target (2. White Point during the "interactive
display adjustment).
(I used the Cell Light option to set the white brightness to ~120 cd/m^2 ->
This is a Samsung thing, I didn't saw anything like this on Panasonic PDPs
but many LCDs offer back-light control - this is basically the same in the
visual effect...)

3b: I opened a blank HCFR document and allowed the manual editing of the
measurement data and I filled up the 0% black and 100% white Y (luminance in
cd/m^2) values with the ones I measured with dispcal during [3a] (I already
measured the calibrate white point, I just copied the luminance, and I
loaded a 0% black test pattern to measure the black luminance [still with
the continuously running white point setup function of dispcal].)
After I filled up every IRE Y values with 1-1-1-1-1-1-1-1 between 0 and
100%, I could see my luminance targets in HCFR in cd/m^2 (it calculated the
points of the gamma 2.35 curve with black offset).

4: I set the 10 points for the grayscale calibration option using dispcal's
interactive adjustments with [2. White point] by targeting D65.
Dispcal calculated the dE values from D65 and showed the luminance, so I
tried to hit the luminance from the HCFR table while keeping the dE as low
as possible.

+++ After I did this, I checked the results with a 8-bit gray gradient test
pattern. It looked smooth, so I was happy about the results and "accepted"
my grayscale settings.

**** It wasn't hard but it could be easier if dispcal could calculate the
luminance targets for me (according to the calibration targets including the
black offset).
It could be a new interactive adjustment option. We could set the
controllable IREs (like 10%, 20%, etc) with a new command line parameter
(either by listing every values like 10,20,30,40,... or 10 for 10 points, 25
for 25 points, etc)
And it would be nice to have an indicator about the luminance difference as
well as somehow "fix" the R+ G+ B+ problem by assuming Rec709 primaries (I
used my laptop while I measured the display, so dispcal couldn't measure the
primaries and thus it couldn't help me which Gains should I push in what
directions...) or ask for measuring the primaries manually (by manually
loading test videos and hit a button when dispcal should measure a color ->
it need to be done for black and white first before we calculate the
luminance target for the IREs...)
It's not necessary to remove the built-in pattern generator in HDTV mode. It
helps if you see it on your laptop screen that what video should be loaded.
Moreover, I could use the build-in pattern generator for grayscale
calibration. I started to use videos because of the next step (and some HDTV
users want to calibrate with their media players as a source...).

5: Setting up the gamut controls (RGBCMY) was tricky.
I filled up the WP target parameters for dispcal with the xy coordinates if
the Rec709 primaries (one primary or secondary color each times) and use the
[2. White point] again to hit a fairly low dE with the measured color.

*** It would require a new interactive adjustment option and a new parameter
to set up the targets.
I think it would be nice if I could set 3 colors (x,y) with a command line
parameter for this new option (+ some presets for Rec709?) and dispcal could
automatically calculate the dE value against the closest one. And it should
also calculate the secondary colors automatically (if you load a Cyan image
then it should figure it out and calculate the dE against Cyan instead of
Blue or Green...)

**** And there is a problem here which I didn't figured out soon enough or
worked around yet.
I checked the results with CalMan (I didn't use it for the grayscale
calibration because I need to use the adaptive sensor mode with my
colormunki) and the 2D CIE gamut looked nice (it calculated slightly higher
dE values but it's understandable as CalMan uses the default X-Rite driver
compared to the ArgyllCMS driver with adaptive highres mode...) but there
was a problem: The "gamut luminance" was way off!

I checked it visually, and yes, cyan (with the highest luminance error)
looked much darker than with Native or Auto colorsapce settings. So, the
luminance is also important here.
But I don't know how to calculate the target luminance. (HCFR doesn't help
here, it shows the errors only, but it doesn't show the actual target.)

I copied my RGBCMY xyY values back to HCFR -> this time I measured them with
dispcal just like when I adjusted them (the good old 2. white point
option...). And HCFR also said my luminance error is high (but it didn't
give me any target values...)

So, I readjusted my gamut settings with CalMan and it looks much better now
(not only the fancy CalMan diagrams but the picture on the display...).

**** So, dispcal should also calculate target luminances for these targets
(I guess they depends on the white point + the primaries for the


This is a huge amount of text already. I tried to be understandable enough
but feel free to ask if something isn't clear. :)

Other related posts: