Output colour profile question.

Hello,
A quick question on output color profiles. Whether I choose srgb or linear rec2020 for my output and export profiles, in jpg or tiff, the exported files look exactly the same. I would have expected to see a difference in luminosity between them. Can someone tell me why?
Thanks,
Nicolas.

Why would you expect a difference in luminosity? A properly color-managed viewer would account for the different color profile, canceling out the encoding difference. For example, L^* = 50 would be encoded as roughly (0.47, 0.47, 0.47) in sRGB and (0.18, 0.18, 0.18) in linear Rec. 2020, but they still represent the same lightness of 50.

That’s how the ICC profile system works, with software that does the correct work. A color-managed viewer will take your image with the embedded profile and use that profile to convert the image to the calibrated display profile. In both cases, you’re looking at the image in display color and tone, not the embedded profile color and tone.

Thanks, is there a way I can view the images without the ICC profile for the viewer, in krita for example?

I don’t know about Krita, but in the Gimp you can assign another profile (e.g. sRGB) to the image, causing it to interpret the data differently. I assume Krita also has similar functionality.

Didn’t find it in krita but downloaded gimp.
I get these two screen captures.
exported as srgb

exported as linear rec2020 and assigned srgb

This is what I was expecting (a much darker image due to the linear transfer function) but I’d just like to check with you to make sure I understand correctly.

Sure, but if you use a colour-managed viewer, it’ll use the profile (if embedded in the image metadata) to find out how to interpret the numbers (i.e. which RGB triplet represents which colour), and then transform that colour to your output devices’s (display, printer) colour space (find out what RGB values on the display or CMYK values on the printer are closest to the pixel in the image). Normally, if your display is close to sRGB, the sRGB → display changes will be minimal, so when you start with a wide-gamut space, the wide-gamut (pipe output) → display conversion will result in almost the same transformation as the original wide-gamut pipe output → sRGB (e.g. exported JPG) → display chain. If you have a wide-gamut display, the difference will be more visible, as the conversion to sRGB will remove some info that will be kept on the straight wide gamut → display chain.

You can alternatively use the color profile Discard function (I’ll check exactly which menu item it is under) in GIMP.

Also, ImageMagick’s “display” application is not color managed (or at least is not by default on Ubuntu machines), so will show you if two images that look identical are represented differently via a combination of different data and an ICC profile.

Also, the forum software here/most browsers does perform color management.

sRGB is not linear. If you tag a linear RGB space with sRGB, the software will linearize it to revert the non-linearity, because all the color space transforms defined as a matrix expect linear input, which leads to darkening.

But that’s a very bad thing to do.

3 Likes

Yes, srgb is not linear. I was trying to have a visual on the effect of the transfer function.

1 Like

Y’know what’s really messed me up in that regard, are Elle Stone’s profiles. She has a collection of the most popular color spaces in various tone curves, including linear, that is, no-curve. Here’s her sRGB ICC in linear:

sRGB-elle-V2-g10.icc (1.4 KB)

The important thing to realize is that a specification like sRGB has two parts: a color space, and a tone curve. Those are two separate operations, which if one is resourceful, can be applied singularly.

1 Like

I think Nicolas was trying to create a visual for his video and not for any sort of actual workflow. I could be wrong…

1 Like

Yup, and that sometimes leads to confusion, since you can have sRGB gamut but alternate transfer function (common) or sRGB transfer function and alternate gamut (less common because honestly sRGB is an inefficient transfer function when it comes to living with the limitations of 8-bit JPEG…)

I’ve got profiles derived from Elle’s code for other gamuts and transfer functions in order to make it easy to linearize and color grade Sony’s various video picture profiles (such as S-Log1/2/3 and S-Gamut) - and yes, you can mix and match gamuts and transfer functions in a variety of ways.

I also clearly understood what the OP was trying to do by exporting as linear and assigning a nonlinear transfer function - it’s “wrong” unless your goal is to definitively show that the image data was NOT saved with the sRGB transfer function, which is exactly what OP’s goal was. (I think you understood their goal too, but someone clearly did not…)

1 Like

Thanks everyone for your kind help.
I should have said it was more for educational purpose not for a workflow. I don’t have a video in mind for this, but I would like to show the difference in my camera club.

Out of curiosity, what are you going to tell them as you show it to them?

When I talk about color spaces and the transfer function associated. It is to show that the non linear transfer function is necessary to view an image on screen, if it wasn’t applied the image would look dark.
I will do more or less what I did in my YouTube video on color spaces, blurring colors in Krita in rec2020 and srgb then show the two images side by side.
The idea is to introduce the concepts of color spaces and transfer functions, not to go into the details of icc profiles or color management,