ArgyllCMS profiles: Black Point Compensation gives composite black when checked

Ink stained Fingers

Printer VIP
Platinum Printer Member
Joined
Dec 27, 2014
Messages
5,837
Reaction score
6,964
Points
363
Location
Germany
Printer Model
L805, WF2010, ET8550
The XRite profile blackpoint tag reports a value of Lab 14.61 1.93 1.75 and the ArgyllCMS profile reports a blackpoint of 14.71 0.91 1.64 - which is a very good match for consumer level equipment.

This is an overlay of the B/W plots of these 2 profiles with the colorimetric rendering intent and BPC off

Argyll Xrite RC.png


that is a perfect match , you only can see that this is an overlap of two plots at the fuzzy time stamps of the plot generation time in the middle of the graph and some messy chroma curves overlapping . It looks very similar for the curves with BPC enabled

Argyll Xrite RC BPC.png


That again is a perfect match for these two profiles


And I'm now displaying the B/W curves for the perceptual rendering intent with BPC on

Argyll Xrite Perc BPC.png


The curvers differ very much - the curve of the XRite profile starts at about L=15 whereas the curve for the ArgyllCMS profile starts much higher - at almost L=25.

This is exactly the problem @pharmacist started this thread with and as the title of this thread describes - the ARgyllCMS profile let the blacklevel raise when used with the perc. rendering intent and BPC. And it appears that this effect is more pronounced with papers with a higher black point like this matte paper with L=15 - all previous profiles where done for glossy papers with a much lower blackpoint. This is clear evidence for @pharmacist 's claims.
 
Last edited:

nertog

Print Addict
Joined
Jun 30, 2009
Messages
156
Reaction score
82
Points
161
Location
Regensburg, Germany
Printer Model
Epson R3000 - PX720 - P50
Very nice analysis!

I expected a larger difference in implementation of the perceptual rendering intent as there is no fixed set of rules on how to do that. Interesting that both curves overlap. That being said, I do not get a few things:

- Enabling BPC when using perceptual rendering should have no effect, as the black point should have been perceptually mapped. You cannot map it twice...
- BPC is not baked in into the profile, so why do we get a perfect overlap when BPC is off, but a deviation in the neutral curves when it is switched on in Gamutvision?

I attached 3 Argyll profiles as well: 1 RC paper on the Epson R3000 with pigment inks, the same paper on my PX720 with dyes and a last one using the PX720 and dye inks on a coated matte paper.
 

Attachments

  • Profiles.rar
    2.4 MB · Views: 119

Ink stained Fingers

Printer VIP
Platinum Printer Member
Joined
Dec 27, 2014
Messages
5,837
Reaction score
6,964
Points
363
Location
Germany
Printer Model
L805, WF2010, ET8550
Let me just display the graph for the PX720-Matte-dye profile by @nertog , with 'BPC on' for the coloremetric and perceptual rendering intents - the concerning effect is visible at this profile again - the black level jumps up by almost 10 in the perceptual mode - that's directly visible as a change from black to dark gray on this paper.

PX720_Matte_dye BPC RC Perc.png



More plots for a complete view of the profile performance will follow later.
 
Last edited:

Ink stained Fingers

Printer VIP
Platinum Printer Member
Joined
Dec 27, 2014
Messages
5,837
Reaction score
6,964
Points
363
Location
Germany
Printer Model
L805, WF2010, ET8550
The blackpoint as stored in a tag in the profile header is L= 19.67 0.36 -2.98, that's not very dark but pretty typical for matte papers, so any further increase by the black point compensation is counterproductive.

The situation is different when you display the B/W diagram with with colorimetric rendering intent - w/o and with BPC on:

PX720_Matte RC BPC off on.png


This diagram looks very much as you would expect it - a horizontal line up to the black point value, and the 'BPC on' curve starts at almost the same black level on the vertical axis.

You find the same behaviour for the R3000_Pigment profile - with a pretty good blacklevel of L= 5.36 -0.01 0.09 and a very neutral hue with a and b almost zero.

The curves for 'BPC off and on' for the rel. col. rendering intent are pretty much correct, both start (almost) at the same black point. The actual variations are too low to be discussed at this time.

R3000_Pigment BPC off on RC.png


The situation looks different again when I plot the diagram for the perceptual intent and BPC on vs. the rel. col. intent

R3000_Pigment BPC on RC perc.png


Here the same effect becomes visible - the black level for 'BPC on' with the perceptual intent steps up significantly - a higher starting point on the vertical axis , this implies that you are loosing your pretty good black level for this paper/ink combination just because BPC weakens the printer performance at the dark end, that's really counterproductive.

Let me now have a look to the last profile @nertog provided, the Hongsam dye ink wich we tested about a year ago for longevity, the black point is recorded as Lab = 3.64 -0.04 -6.02 , that's a pretty good value for an arbitrary ink on an arbitrary paper - the b=-6.02 indicates that this black has a rather strong blueish tone which is visually accepted as a cool black color.

I'm displaying here again the B/W curve with the colorimetric intent and BPC off or on - the upper curve

PX720 Hongsam dye col BPC off on.png


This diagram looks quite different to the other curves - there is no horizontal segment for BPC off at the left side, it is just barely below the curve with BPC on - I admit I don't know what is causing this.

Here is the last diagram in this sequence, I think the problem can be demonstrated very well that there is an issue with BPC on and the perceptual intent and ArgyllCMS generated profiles.

Here the plots for BPC on and the rel. col and the perceptual rendering intent

PX720 Hongsam dye BPC on RC perc.png


I think there are enough diagrams to show differences between ArgyllCMS and XRite profiles, raising the black point level is most likely not something a user likes to see limiting the B/W response.
 

Attachments

  • R3000_Pigment BPC on RC perc.png
    R3000_Pigment BPC on RC perc.png
    54.9 KB · Views: 89
Last edited:

nertog

Print Addict
Joined
Jun 30, 2009
Messages
156
Reaction score
82
Points
161
Location
Regensburg, Germany
Printer Model
Epson R3000 - PX720 - P50
Thanks for doing the effort, @Ink stained Fingers. What also caught my eye, besides the BPC nonsense, is that the reported black point in the profile tag does not correspond to the actual max. black that the will be printed. In the last example (Hongsam ink on RC paper) the profile records a black point with L=3.64, yet the curves show a max black of L=10 (more or less). I quickly checked this here and indeed: the printed profile sheet shows a deep black of L=3, a black patch printed through the profile using the col. rendering intent gives me L=8. Clearly we are trading dmax for black neutrality here!
 

Ink stained Fingers

Printer VIP
Platinum Printer Member
Joined
Dec 27, 2014
Messages
5,837
Reaction score
6,964
Points
363
Location
Germany
Printer Model
L805, WF2010, ET8550
the reported black point in the profile tag does not correspond to the actual max. black that the will be printed.
Yes, this is adding to the complexity to define what the black point is - the bottom point of the gamut with the lowest L or at a neutral black with a b = 0 , and not at a cool black point or at a brownish black point, but this goes beyond @pharmacist 's original inquiry of this thread; it got pretty lengthy up to here, but I think there is enough evidence to confirm his observations. I don't know if this issue hasn't been discussed elsewhere already - e.g. in an ArgyllCMS forum since the luminance shifts of the blacks into gray are rather strong.
I don't see real alternatives other than just using the rel. colorimetric intent with BPC and not with the perceptual intent if BPC must be on at all. Or you could add a filter in Qimage which emulates the BPC function with a luminance curve.
 

Graeme Gill

Getting Fingers Dirty
Joined
Nov 13, 2014
Messages
25
Reaction score
29
Points
48
Location
Melbourne Australia
Printer Model
Epson R1800
And I'm now displaying the B/W curves for the perceptual rendering intent with BPC on
Simply don't do that. Don't invoke (some unknown implementation of BPC) on ArgyllCMS Perceptual intent. It was never intended that it be used with such a hack, and in fact was specifically intended to avoid the need for BPC !
the ARgyllCMS profile let the blacklevel raise when used with the perc. rendering intent and BPC.
The profile doesn't do anything - it's the BPC that raised the black level. A good implementation wouldn't do that!

- Enabling BPC when using perceptual rendering should have no effect, as the black point should have been perceptually mapped. You cannot map it twice...

Of course it can be mapped twice, or any number of times - there is no fixed definition of either what the profile black point is (is it the minimum L* a=b= 0 point ? Or the minimum L* point, or what ? - the tag is simply ignored by typical BPC implementations, and later versions of the ICC spec. drop it completely), or what is mapping to it (the latter depends on the source profile, and what is determined to be black for it).

So none of this is terrible interesting to me.
If you notice anything odd about ArgyllCMS Perceptual intent when NOT using BPC, (and when linked with the source profile the Perceptual was created for) then I'm interested.
 

Ink stained Fingers

Printer VIP
Platinum Printer Member
Joined
Dec 27, 2014
Messages
5,837
Reaction score
6,964
Points
363
Location
Germany
Printer Model
L805, WF2010, ET8550
I was reporting differences between profiles of different origin and in connection with BPC on or off very much from a user perspective - he typically has some photo editor with or w/o RAW functionality and with some embedded print module or a separate layout/print program from Epson or Canon or Qimage , and it is quite typical that this user uses 3rd party papers for which an icc profile is available - from the paper supplier or created by the user - with one of various available packages. The BPC functionality is nothing a user installs separately - it always comes with the printing module/software and the user does not have a clue if that is genuine Adobe code or some 3rd party emulation, I don't know if there are any licensing issues when using Adobe BPC code. So the user cannot switch over to another BPC implementation - or a hack...

Don't invoke (some unknown implementation of BPC) on ArgyllCMS Perceptual intent. It was never intended that it be used with such a hack, and in fact was specifically intended to avoid the need for BPC

The discussion reminds me of a kind of similar situation several years ago - with Datacolor profiles - I really don't like to mention Datacolor profiles - but digging into some details showed a similar effect - that a Datacolor profile is useless with the perc. rendering intent, and even more with BPC on. They claim that a Datacolor profile has the benefit of a BPC option already integrated into the standard profile - so the only use of their profile is with BPC off and the rel. col. intent

Adobe's position is ambiguous - they recommend BPC off unlesss really needed, but the problem comes up with Lightroom which has BPC on all the time for the perc. intent . About no Lightroom user is aware of that and gets misleading results with the softproof function.
 

nertog

Print Addict
Joined
Jun 30, 2009
Messages
156
Reaction score
82
Points
161
Location
Regensburg, Germany
Printer Model
Epson R3000 - PX720 - P50
I understand @Graeme Gill's frustration here. The perceptual intent is not meant to have any BPC added to it, as it already maps source to destination black. On top of that, the BPC algorithm is not standardized...so all of this gets messy very quick.

Adobe's statement:

"Color conversion using Perceptual intent already maps source white to destination white and source black to destination black. Because this mapping preserves the relationships of the shades, it is unlikely that a whole shadow section will be mapped to the same black value. Therefore, BPC should not be necessary. BPC is available, however, for this rendering intent, to be used with malformed profiles. For a given picture, the user can decide whether using BPC improves the color conversion and can select it or deselect it accordingly."
 

Graeme Gill

Getting Fingers Dirty
Joined
Nov 13, 2014
Messages
25
Reaction score
29
Points
48
Location
Melbourne Australia
Printer Model
Epson R1800
Adobe's position is ambiguous - they recommend BPC off unlesss really needed, but the problem comes up with Lightroom which has BPC on all the time for the perc. intent . About no Lightroom user is aware of that and gets misleading results with the softproof function.
Lightroom is broken then - either report the bug to Adobe, or use something else to print images.

ArgyllCMS perceptual works perfectly well when used as intended - which is simply using it with the source profile it was created for, as per ICC expectations. BPC is not ICC spec. You'll get an even better quality result by skipping the O.S. CMM altogether, creating a device link using ArgyllCMS instead.
 
Top