If you just fire up Photoshop and sharpen an image with, say, unsharp masking, the program will apply the sharpening kernel independently to each layer of the image. Occasionally that causes artifacts. Way back in the 80’s, canny scanner operators would sometimes convert the image to CIELab and sharpen only the luminance axis. In the early 90’s I submitted a patent application for a technique to perform luminance sharpening on an RGB image without the round trip to Lab. After a series of delays, the patent was granted in 1998. Although I’m no legal expert, I believe it is now expired because of non-payment of maintenance fees by the assignee, IBM.
To illustrate the technique, consider the ray-traced RGB reference image that Bruce Lindbloom generated.
Here’s a Matlab script — written not for maximum efficiency, but so that it’s relatively easy to understand — to directly sharpen the luminance of an RGB image using unsharp masking:
Here’s a tight crop of the result of performing the sharpening in the usual way:
Note the lime-green fringes around the lower part of the red cube. Here’s a similar crop of the result of sharpening the luminance:
We still have the oversharpening halos, but at least they don’t have color casts.
You can do pretty much the same thing in Photoshop by doing your sharpening on a duplicate layer and messing with the blending modes. Here’s what you get with Photoshop’s unsharp masking filter with the blending mode set to Normal:
Similar green artifacts, right?
Here’s what it looks like with the blending mode of the sharpened layer set to Luminance:
Halos, but no color shifts.
Since the artifacts aren’t always readily apparent, it’s probably a good idea to do your sharpening on a duplicate layer and set the blending mode to Luminance. You can always change it back if there is some reason to do so. Or, if you’re new to this kind of thinking, you could leave it on Normal until you find an artifact, then change it to Luminance.
As we’ve seen before, sharpening at different gammas produces different results, but it’s a bit fiddlier to try that in Photoshop. One way the comes to mind is to copy the image to be sharpened into a new image, convert to a color space with a different gamma, sharpen, convert back to the original color space, copy and paste back into the original image as a new layer, and set the blending mode to Luminance. That’s probably too much trouble for most people, especially since any possible improvement is unknown until you go to all that work.
Royi says
I must say Photoshop’s USM is different:
http://www.dpreview.com/forums/post/53571797
Jim says
So it is (different from the Matlab code), but the artifacts are similar. The Matlab code doesn’t clip until the images are converted to 16-bit integer precision, which occurs in the file-writing code.
Jim