Hi Bart
A 16-bit PPRGB -> 16-bit pRGB -> 8-bit pRGB --> media/display RGB would probably give less errors that a 16-bit PPRGB -> 8-bit PPRGB --> media/display RGB like in Qimage.
Hi Alain,
Maybe, maybe not. That's why it's safer to eliminate the PPRGB to begin with. When starting with a smaller gamut colorspace (e.g. pRGB), the subsequent gamut resampling will produce fewer artifacts.
Again, it's rarely the gamut of the
actual image data that requires PPRGB. The image data is usually a small subset even of the theoretical maximum that pRGB, or even Adobe RGB (ARGB), could encode. Only with specific colors, saturated
and on the axes of the inks colorants, can a wider gamut make some difference.
EDIT : And because pRGB is about 40% smaller would give more possible values where the image is in gamut.
Indeed, when used as the working space. When used as a space to convert to, as an intermediate, some of the original data may alias a little when several different colors get encoded to the same coordinates (even while remaining in 16-bit/channel).
As a theoretical maximum gamut experiment, see what happens to the
RGB16Million.png file, when we run it through several conversions in Photoshop after the initial assignment and mode change to 16-bit:
8-b/ch-->PS16-b/ch-->assigned PPRGB-->pRGB-->ARGB-->8-b/ch = 5762264 colors (=34%) out of 16777216 original colors.
8-b/ch-->PS16-b/ch-->assigned pRGB-->ARGB-->8-b/ch = 7344153 colors (=44%) out of 16777216 original colors.
The lost color differentiation may not be important,
if those colors were not in the image data-set to begin with, but it does suggest a higher risk of losing meaningful differences. How much loss, and if it's in smooth gradients, depends on the actual image.
In general, one should reduce the number of recoding operations between colorspaces, and start with a colorspace that is large enough to hold the actual image data and is close to the theoretical maximum gamut of the output profile.
Cheers,
Bart