ArgyllCMS profiles: Black Point Compensation gives composite black when checked

nertog

Print Addict
Joined
Jun 30, 2009
Messages
134
Reaction score
72
Points
161
Location
Regensburg, Germany
Printer Model
Epson R3000 - PX720 - P50
The colorimetric table will be colorimetric, so if you pump L*a*b* 0,0,0, into it, it will give you the color with the minimum delta E to that target, which may well not be the value with the lowest possible L*.
Here's a .ti3 and ICC profile (standard arguments) for you to have a look at: https://drive.google.com/drive/folders/1Kjj9MPnd6OMTLkTZlTkokXfypu-cS8pP?usp=share_link

Notice how the red colorimetric output curve ends at a value of 26? Eventhough the max. black value is indicated as L=4.3, this shifts to L=10 with BPC enabled (measured and confirmed) and I do not understand why. Also interesting: the perceptual table has a deeper black (L=3) and ab values closer to the paper white point. Do you know why this is happening?

Ncorrected.jpg


Perceptual.jpg


Post #16 in this thread shows the RGB data sent to the printer. The elevated blacks are easily visible...
 
Last edited:

Graeme Gill

Getting Fingers Dirty
Joined
Nov 13, 2014
Messages
20
Reaction score
23
Points
38
Location
Melbourne Australia
Printer Model
Epson R1800
The colorimetric table seems to be pretty well behaved:

icclu -ff -ir PX720_optimized.icm
0.000000 0.000000 0.000000 [RGB] -> Lut -> 4.248098 -0.397643 -5.411831 [Lab]

icclu -fb -ir PX720_optimized.icm
0.000000 0.000000 0.000000 [Lab] -> Lut -> 0.102383 0.019198 0.000000 [RGB]
icclu -ff -ir PX720_optimized.icm
0.102383 0.019198 0.000000 [RGB] -> Lut -> 5.680156 0.202720 -3.258243 [Lab]

That's an increase in L* of 1.44 for an improvement in neutrality of around dE 2.2.
Notice how the red colorimetric output curve ends at a value of 26?
You get what you ask for - after all, that's the whole point of profiling. The RGB 0,0,0 black is very blue, so a more neutral black (closer to a*b* 0,0) adds red. The colorimetric table is doing what is expected of it.

Even though the max. black value is indicated as L=4.3, this shifts to L=10 with BPC enabled (measured and confirmed)
and I do not understand why.
BPC is not ICC. If you choose to use it, you get what you get. If you don't like what you get, then don't use it.

You can try and figure out exactly what it is doing by looking through Adobe's BPC document, but the algorithm isn't really specified to an exact degree, and I can't tell why you see the effect you see just reading through it. Marti Maria wrote a paper on his efforts to duplicate the algorithm, perhaps that would provide some insight.
I guess it's either making a mess of guessing the source black or making a mess of guessing the destination black. Either way, it's not working very well.
Also interesting: the perceptual table has a deeper black (L=3) and ab values closer to the paper white point. Do you know why this is happening?
It's not clear how you created the perceptual table (i.e. what source gamut and intent options you used),
but assuming you used something like sRGB or AdobeRGB as the source and the default intent, then yes, of course you get a better black. It's a perceptual mapping, so is free to manipulate the neutral axis mapping, including mapping L* 0 input to something closest to the lowest L* point, and then bending the axis back towards neutral as the L* increases:

icclu -fb -ip PX720_optimized.icm, icclu -ff -ir PX720_optimized.icm
0.000000 0.000000 0.000000 [Lab] -> 0.030498 0.018838 0.041062 [RGB] -> 3.540762 0.259697 -5.099384 [Lab]
5.000000 0.000000 0.000000 [Lab] -> 0.213447 0.051423 0.103475 [RGB] -> 9.716845 -0.316834 -4.072148 [Lab]
10.000000 0.000000 0.000000 [Lab] -> 0.309948 0.098863 0.146849 [RGB] -> 14.201698 -0.035355 -2.925981 [Lab]
20.000000 0.000000 0.000000 [Lab] -> 0.437416 0.235200 0.275797 [RGB] -> 23.199016 -0.009501 -1.762555 [Lab]

That's why I recommend creating a perceptual table for your source space (or better, a device link) if you want a nice color reproduction.
 

Graeme Gill

Getting Fingers Dirty
Joined
Nov 13, 2014
Messages
20
Reaction score
23
Points
38
Location
Melbourne Australia
Printer Model
Epson R1800
Notice how the red colorimetric output curve ends at a value of 26? Eventhough the max. black value is indicated as L=4.3, this shifts to L=10 with BPC enabled (measured and confirmed) and I do not understand why.
I tried to reproduce this using LittleCMS's implementation of BPC, but couldn't. It works as expected, and gives the same (good) black as not using BPC when using Perceptual intent.

Looking through the thread it's not clear to me what is implementing the BPC that is showing this problem (i.e. is it an Adobe product ? If so, which one ?)
 

pharmacist

Printer VIP
Platinum Printer Member
Joined
May 29, 2007
Messages
2,466
Reaction score
1,119
Points
313
Location
Ghent, Belgium
Printer Model
2xEpson P800 + 2xEpson WF-7840
I am not sure which program @nertog is using, but I use Qimage and my profiles are pseudo-RGB based (not sure if Nertog is using pseudo-RGB based profiles too, but maybe this is the culprit we should CMYK based profiles instead). Using BPC: elevated black (composite black) and without BPC: maximum black (in situ: photo black used by the printer). With Colormunki based profiles: with or without BPC checked in perceptual intent, in both cases maximum black is achieved (photo black).
 

nertog

Print Addict
Joined
Jun 30, 2009
Messages
134
Reaction score
72
Points
161
Location
Regensburg, Germany
Printer Model
Epson R3000 - PX720 - P50
I tried to reproduce this using LittleCMS's implementation of BPC, but couldn't. It works as expected, and gives the same (good) black as not using BPC when using Perceptual intent.

Looking through the thread it's not clear to me what is implementing the BPC that is showing this problem (i.e. is it an Adobe product ? If so, which one ?)
I see it clearly using the print module in Adobe Photoshop 2020, but only when using the relative colorimetric intent + BPC. While softproofing everything looks good, but the actual RGB data sent to the printer has elevated blacks. BPC should have no effect when using the perceptual intent (and it doesn´t in PS).

(not sure if Nertog is using pseudo-RGB based profiles too, but maybe this is the culprit we should CMYK based profiles instead). Using BPC: elevated black (composite black) and without BPC: maximum black (in situ: photo black used by the printer). With Colormunki based profiles: with or without BPC checked in perceptual intent, in both cases maximum black is achieved (photo black).
Everything here is profiled and driven as an RGB-device as I don´t own any RIP software (so no control over the actual ink channels). In any case, it´s kinda weird that Qimage allows you to enable BPC when using the perceptual intent.
 

marco565

Getting Fingers Dirty
Joined
Jan 4, 2022
Messages
57
Reaction score
16
Points
45
Location
Munich, Germany
Printer Model
Canon pro 10, Epson ET8550
In some video that I saw on youtube long time ago If I rememeber correctly the guy explained that you need to enable BPC only when you have colors that can not be reproduced. For exampl if your paper/ink can produce a maximum of RGB value of =8,8,8 than your image the darkest point is 10,10,10, then you don't need to enable BCP.
 

nertog

Print Addict
Joined
Jun 30, 2009
Messages
134
Reaction score
72
Points
161
Location
Regensburg, Germany
Printer Model
Epson R3000 - PX720 - P50
In some video that I saw on youtube long time ago If I rememeber correctly the guy explained that you need to enable BPC only when you have colors that can not be reproduced. For exampl if your paper/ink can produce a maximum of RGB value of =8,8,8 than your image the darkest point is 10,10,10, then you don't need to enable BCP.
Makes sense, but I guess most images contain the full printable dynamic range.
 

Ink stained Fingers

Printer VIP
Platinum Printer Member
Joined
Dec 27, 2014
Messages
5,420
Reaction score
6,457
Points
353
Location
Germany
Printer Model
L805/1800, Pro7600, WF2010,ET8
I'm having the impression that the issue of the black level - black ink - ArgyllCMS profile vs. colorMunki is not really solved yet. I'm not a user of ArgyllCMS so my knowledge about process details to generate a profile is very limited. But I'm proposing a practical test to overcome some assumptions what a printer is doing with this or that profile.

Qimage offers an option not just to print with an icc-profile and various related rendering options including BPC but you can send the print data incl. the profile adjustments to a file - to a .tiff file which can be displayed to read out the color values and compare them with the input color values.

I consider this file as a potential target for a test , it contains a sequence of grays at the dark end.

BW 10.png

1. step 1 would be that you create an icc-profile for a typical paper you use - with ArgyllCMS and with ColorMunki or another package like i1Studio

2. Step 2 - you print this file with Qimage to a .tiff file with both profiles - with the driver options - rendering intent and BPC on or off - these prints include the color adjustments done by the profiles

3. Step 3 would be a comparison of the original file and the profiled data with the different profiles - this should show the differences of the dark gray levels the profiles are creating for print

4. And this comparison should show if and at which gray levels differences show up - e.g. that the Argyll profile uses a lighter gray than the other profile

- The readout of the RGB values in these .tiff files should be easy - most graphics editors have a direct RGB readout if you hover with the cursor over the image.


And please be aware of the following effect - assume a paper - e.g. matte - with a black level of L*=12 - it's not very black but just take it.

You print a B/W ramp to this paper - with RGB=0 stepping up to RGB=10 - no profile involved - you would assume that all areas look equally black because you are below the black point - but something could happen with a printer using gray inks - the driver is phasing over from the pure use of the black ink to the use of a mix of gray and CMY already - the printer effectively uses 2 different inks in this range which you cannot control and is not visible to you. And if the transition point is not below RGB=10 it is definitely at a level just lightly higher.
 

nertog

Print Addict
Joined
Jun 30, 2009
Messages
134
Reaction score
72
Points
161
Location
Regensburg, Germany
Printer Model
Epson R3000 - PX720 - P50
Qimage offers an option not just to print with an icc-profile and various related rendering options including BPC but you can send the print data incl. the profile adjustments to a file - to a .tiff file which can be displayed to read out the color values and compare them with the input color values.
This is exactly what I did in post #16 (using Photoshop). It would indeed be interesting to do this with ICC profiles from 2 different profile engines coming from a single target.
You print a B/W ramp to this paper - with RGB=0 stepping up to RGB=10 - no profile involved - you would assume that all areas look equally black because you are below the black point -
Only when using no color management or rel. colorimetric. Enabling BPC or using the perceptual rendering intent should give you a smooth ramp starting at max printable black with the next step being visible.
 
Top