[argyllcms] Re: Camera Profiling using ArgyllCMS

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Fri, 28 Nov 2008 16:21:05 +1100

Nikolay Pokhilchenko wrote:

After some considering I found one reason for introducing that switch: in many 
cameras
the ADC after the color sensor is only one for all channels. The color subpixels
charges are digitized by one the same ADC sequentially. So there is no 
difference in
non-linearity between all channels in RAW file data. There may be sensitivity 
mismatch
between color subpixels (white unbalance) but there will be full match by 
sensitivity
curve shape. So for the cases with known camera ADC design, the single curve 
(may be
corrected by sensitivity factor) for all channels will be useful. The 
optimization
assuming channel curves equivalence may be more reliable and pricise. There is 
no other
nonlinearity sources in camera except common charge amplifier and ADC. The 
written
above is right only for unprocessed or unified processed RAW channel data.

I'll have a think about it, but I'm unconvinced. Due to subsequent white
balancing, there is (typically) no particular relationship between equal
RGB values in the raw data. The values that make up grey will be at different
points on the curve for each channel if each channel value is scaled
by a factor to get white. In an ICC profile based workflow, the
RGB values aren't rescaled in any case - the RGB is converted to
PCS via a chromatic adaptation matrix that maps the chosen white
(typically the white patch of the test chart) to D50 in XYZ space,
and then from PCS to the device output space. This process usually
means that non-equal RGB values map to PCS grey. The device curves of
the profile are not there just to compensate for device non-linearity,
they are there to optimise the accuracy and smoothness of the device model.
They in fact have two independent effects for a CLUT profile, firstly
positioning the grid points in the input space, and secondly affecting
the way the interpolation behaves within the CLUT cells. The optimum
values for both of these aspects depends on the related output (PCS) values,
and therefore may be different for each input channel and for the choice
of PCS (XYZ or Lab).

I can imagine that there may be some smoothness and accuracy advantage
in using the same device curves for all channels if the camera is white
balanced pre-ICC profile to the white reference in the test chart,
this being the reference used for the absolute->relative transform
made for the ICC model data. This situation would be rather camera/raw 
processor/
operator specific though. I would have thought that genuine raw output
wouldn't have any white balancing done to it though.

Graeme Gill.


Other related posts: