Luminous Landscape Forum
Raw & Post Processing, Printing => Digital Image Processing => Topic started by: shadowblade on November 13, 2019, 03:30:22 pm
-
I was just going through some old photos and noticed that, while the Adobe RGB versions appeared correct, the sRGB jpg conversions for web display often did not. After further investigation, it became clear that the perceptual conversion used didn't work properly - instead of compressing the entire colour space, it had behaved more like relative colorimetric, simply clipping the out-of-gamut colours and creating a lot of blocked-up pixels at the 0 or 255 ends of one or more colour channels.
I then went back and re-converted the images (in CS3) and encountered the same problem.
Has anyone else had this problem before? If so, what's the solution? Apart from manually desaturating the entire image until it's no longer out-of-gamut in sRGB.
Otherwise, are there any good third-party programs for colour space conversion that are worth downloading? Or any other program that can create a gamut plot of a TIFF/PSB file, in order to compare it to any given colour space?
-
When you convert from one matrix based color space to another, I assume in your case from Adobe1998 to sRGB, all you have available is Relative intent, clipping included.
Richard Southworth
-
When you convert from one matrix based color space to another, I assume in your case from Adobe1998 to sRGB, all you have available is Relative intent, clipping included.
Richard Southworth
It gives me the options of Perceptual, Saturation, Relative and Absolute. None of them are greyed out/unselectable.
I'd use Relative if there were only a few, small areas of out-of-gamut colour, but would prefer to use Perceptual with highly saturated images.
Is there a better way to make this conversion? From what you're saying, I'd assume that would involve converting it from Adobe RGB to a table-based colour space that matches Adobe RGB, then converting it to sRGB?
-
Simple V2 matrix profiles only have the Colorimetric table. So in Photoshop and many other applications, while you might see an option for Perceptual, Saturation, you're not getting it. Only RelCol.
IF you convert to sRGB and it doesn't appear correctly outside of say Photoshop, chances are, that application isn't color managed. Non color managed applications have no idea what sRGB is anyway. As explained here:
sRGB urban legend & myths Part 2
In this 17 minute video, I'll discuss some more sRGB misinformation and cover:
When to use sRGB and what to expect on the web and mobile devices
How sRGB doesn't insure a visual match without color management, how to check
The downsides of an all sRGB workflow
sRGB's color gamut vs. "professional" output devices
The future of sRGB and wide gamut display technology
Photo print labs that demand sRGB for output
High resolution: http://digitaldog.net/files/sRGBMythsPart2.mp4 (http://digitaldog.net/files/sRGBMythsPart2.mp4)
Low resolution on YouTube: https://www.youtube.com/watch?v=WyvVUL1gWVs (https://www.youtube.com/watch?v=WyvVUL1gWVs)
-
Yes, only relative conversion is possible when converting color spaces using .icc profiles. .icc printer profile conversion when printing you can use perceptual intent. And you can see the effect when soft proofing in Photoshop.
To avoid clipping colors, you might want to desaturate a little your image before performing the conversion. And then, after the conversion, increase saturation to your liking in the new color space. Depending on the image, you might find that you need to perform some selective color saturation operations to maximize the effect you're after.
Another alternative is to apply, for example, sRGB as a soft proof in photoshop, and make your color adjustments prior to conversion to the smaller color space.
-
Yes, only relative conversion is possible when converting color spaces using .icc profiles.
Depends on the construction of such working space profiles. There are a few profiles that have all tables, even one for sRGB:
http://www.color.org/profiles/srgb_appearance.xalter
To avoid clipping colors, you might want to desaturate a little your image before performing the conversion.
Clipping is a fact of life working with larger gamut color spaces to smaller gamut color spaces. Don't worry about it. Let the profile do this; it is far faster and precise than anything you can do manually. It's why the Out of Gamut overlay is really a waste of time.
-
Another alternative is to apply, for example, sRGB as a soft proof in photoshop, and make your color adjustments prior to conversion to the smaller color space.
That's pretty much what I've been doing since realising the problem existed and that Perceptual intent wasn't doing anything. Trouble is, it's fiddly, time-consuming and not all that accurate.
-
Depends on the construction of such working space profiles. There are a few profiles that have all tables, even one for sRGB:
http://www.color.org/profiles/srgb_appearance.xalterClipping is a fact of life working with larger gamut color spaces to smaller gamut color spaces. Don't worry about it. Let the profile do this; it is far faster and precise than anything you can do manually. It's why the Out of Gamut overlay is really a waste of time.
Does clipping have to be inevitable, though?
What if you converted from aRGB to a Perceptual-compatible colour space that encompassed aRGB (so no clipping), then converted from that colour space to a third, Perceptual-compatible colour space that matched sRGB (using perceptual intent, so no clipping there either), then, finally, converted it to actual sRGB?
Does anyone know of any such suitable profiles?
-
Does clipping have to be inevitable, though?
Nope, it's image specific. A middle gray in ProPhoto RGB isn't going to clip in terms of color gamut going to sRGB.
So if it doesn't happen, doesn't matter.
If it's going to happen, the profile is going to handle this for you, faster and more precisely than you can do manually.
The entire worry is not worth worrying about. ;)
-
Nope, it's image specific. A middle gray in ProPhoto RGB isn't going to clip in terms of color gamut going to sRGB.
So if it doesn't happen, doesn't matter.
If it's going to happen, the profile is going to handle this for you, faster and more precisely than you can do manually.
The entire worry is not worth worrying about. ;)
What I meant is, if you have colours outside the sRGB gamut, do you have to put up with clipping, if you can find some suitable profiles that are compatible with perceptual rendering/colour space compression?
-
Perceptual, Relative, Saturation, and Absolute Intents all produce the same results with standard XYZ matrix based profiles. With one exception.
If you have Windows and use Microsoft's ICM engine, Absolute Colorimetric Intent will convert matrix profiles such that the white point is maintained. For instance converting sRGB or Adobe RGB to ProPhoto RGB will produce a strong shift to the blue. MSFT's ICM does not adapt to the different illuminants and sRGB/Adobe RGB both have a white point of D65 while ProPhoto's is D50. This results in very bluish images converting to ProPhoto RGB.
However, this occurs because MSFT's ICM predates the ICC's specification clarification that transforms, even Abs. Col. transforms, should adaptate white points. This differs from CIE's use of Abs. Col. but ICC specifies ICC standards and their interpretation.
-
What I meant is, if you have colours outside the sRGB gamut, do you have to put up with clipping, if you can find some suitable profiles that are compatible with perceptual rendering/colour space compression?
If you have colors outside sRGB gamut, they will 'clip'. HOW they clip into the new color gamut is key; perceptual does this differently (and with some colors that are within gamut) far differently than RelCol which clips to the boundaries. Best way to understand this is visually:
-
If you have colors outside sRGB gamut, they will 'clip'. HOW they clip into the new color gamut is key; perceptual does this differently (and with some colors that are within gamut) far differently than RelCol which clips to the boundaries. Best way to understand this is visually:
Are you sure Andrew? That's not how I think it works for matrix profiles like sRGB and Adobe RGB 1980.
-
V2 matrix profiles will use RelCol and colors can still absolutely clip.
-
If we start with the Adobe RGB color (100,255,255), which is between the sRGB and Adobe RGB gamuts and convert it in Photoshop using ACE the result is always right at the sRGB gamut boundary of (0,255,255) using any intent In no case does Perceptual "compress" and produce colors inside the sRGB gamut.
-
If we start with the Adobe RGB color (100,255,255), which is between the sRGB and Adobe RGB gamuts and convert it in Photoshop using ACE the result is always right at the sRGB gamut boundary of (0,255,255) using any intent In no case does Perceptual "compress" and produce colors inside the sRGB gamut.
Exactly as my graphics illustrate. Further, there are no such rules as how a perceptual rendering will behave in such a case; totally up to the profile maker.
-
Exactly as my graphics illustrate. Further, there are no such rules as how a perceptual rendering will behave in such a case; totally up to the profile maker.
Right. And true for non-matrix profiles which can compress colors that were outside sRGB to something inside RGB as your graph shows. It is truly undefined! But For matrix profiles, Perceptual conversions are the same as Relative intent conversions and clip at the boundaries of the smaller gamut exactly the same way.
-
But For matrix profiles, Perceptual conversions are the same as Relative intent conversions and clip at the boundaries of the smaller gamut exactly the same way.
Because they are not using a perceptual conversion. ;)
https://www.argyllcms.com/doc/iccgamutmapping.html
http://www.earthboundlight.com/phototips/matrix-profiles-perceptual.html
-
Because they are not using a perceptual conversion. ;)
https://www.argyllcms.com/doc/iccgamutmapping.html
http://www.earthboundlight.com/phototips/matrix-profiles-perceptual.html
What's highly amusing is that the sRGB profile Adobe uses (which originated from HP IIRC) marks itself as producing "Perceptual" Intent by default.
Of course matrix profiles produce the same results no matter how they label themselves. And I suppose that technically there is nothing wrong with that. After all, Perceptual intent is allowed to exactly match Relative intent since Perceptual is unspecified.
That said, non-matrix profiles with distinct B2A1 and B2A0 3D LUT tables are virtually certain to compress using Perceptual per your graph.
-
If you have colors outside sRGB gamut, they will 'clip'. HOW they clip into the new color gamut is key; perceptual does this differently (and with some colors that are within gamut) far differently than RelCol which clips to the boundaries. Best way to understand this is visually:
That is understood by everyone. I think what shadowblade is asking for is what would the proper workflow be to achieve a genuine Perceptual conversion to sRGB that really prevents clipping. I.e. what in-between steps to do to convert his Adobe RGB/ProPhoto RGB into sRGB achieving real colour compression for those colours falling out of the sRGB gamut. And I'd like to know about this workflow as well :)
Regards
-
That is understood by everyone.
Gotta say, I personally don't know what everyone understands. ;D
I think what shadowblade is asking for is what would the proper workflow be to achieve a genuine Perceptual conversion to sRGB that really prevents clipping. I.e. what in-between steps to do to convert his Adobe RGB/ProPhoto RGB into sRGB achieving real colour compression for those colours falling out of the sRGB gamut. And I'd like to know about this workflow as well
That's easy, get the sRGB profile that has a perceptual table. I provided a link for one such profile.
-
What the OP needs is a device link profile that goes perceptually directly from Adobe RGB to sRGB. This would bypass the PCS and should produce the best results since both source and destination gamuts are known. But I haven't run across one.
-
“There seems to be some perverse human characteristic that likes to make easy things difficult.” -Warren Buffet ;D
-
That's easy, get the sRGB profile that has a perceptual table. I provided a link for one such profile.
Here's how you apply the transformation in Photoshop using your link to the Perceptual sRGB profile at color.org.
http://www.color.org/profiles/srgb_appearance.xalter
0. download and install the profile.
1. Load the image that's in Adobe RGB.
2. select and use the sRGB Appearance profile with Photoshop's Convert Profile selecting Perceptual intent.
3. Assign the standard sRGB profile to the converted image. This prevents undoing the conversion accidentally.
Should prevent abrupt clipping at gamut edges in most cases. Whether one likes the outcome or not one has to live with the smaller sRGB gamut and colors will shift a bit.
-
Found that same profile and gave it a try after I posted this thread.
Either Perceptual intent still doesn't work properly, or parts of the gamut contained in that profile still fall outside sRGB.
I tried it first by creating a colour gradient in Adobe RGB (Red values 10-245 from left to right, Green values 10-245 from top to bottom, Blue at 10 throughout, creating a two-dimensional gradient from 10,10,10 to 245,245,10 in Adobe RGB space). Conversion using the default sRGB profile just clipped large swathes of it, as expected. On conversion to sRGB (Perceptual, using the color.org profile), all the colours shifted, many quite dramatically - as expected with Perceptual conversion - but many parts of the gradient were still clipped at 0 or 255 in one or more channels.
I then tried it with several real photos. The results were better - significantly better than relative colorimetric conversion, given that a lot of my photos are highly saturated - but still clipped in areas.
-
Found that same profile and gave it a try after I posted this thread.
Either Perceptual intent still doesn't work properly, or parts of the gamut contained in that profile still fall outside sRGB.
I tried it first by creating a colour gradient in Adobe RGB (Red values 10-245 from left to right, Green values 10-245 from top to bottom, Blue at 10 throughout, creating a two-dimensional gradient from 10,10,10 to 245,245,10 in Adobe RGB space). Conversion using the default sRGB profile just clipped large swathes of it, as expected. On conversion to sRGB (Perceptual, using the color.org profile), all the colours shifted, many quite dramatically - as expected with Perceptual conversion - but many parts of the gradient were still clipped at 0 or 255 in one or more channels.
I then tried it with several real photos. The results were better - significantly better than relative colorimetric conversion, given that a lot of my photos are highly saturated - but still clipped in areas.
The sRGB Appearance profile still clips when source colors fall outside the PRMG (Perceptual Reference Media Gamut). There are many colors near the edges (10 and 245) of Adobe RGB that are outside the colors possible from reflective media (with standard illuminants). The profile itself has no idea what the source image gamut is and doesn't know whether it is coming from ProPhoto RGB, Adobe RGB, or any other source. By the time it sees data to map to Perceptual that data is in CIELAB.
The PRMG is supposed to be roughly a gamut bounded by reflective colors found in real life. Lots of Adobe RGB (1998) colors are outside that. Expect that they will clip at gamut boundaries.
Added: Since even some sRGB colors are outside of the PRMG, you can actually see some expansion in some areas though most changes are compression. For instance the green color that is sRGB value (125,250,125) will clip on the green channel when converted through the sRGB Appearance profile.