I am tuning ISP(image signal processing) of one chip used in cameras. Gamma curve is used in the pipeline. I don't understand the reason. The CCM(Color correction matrix) will map images to sRGB color space. sRGB color space include gamma information. Why is gamma curve used?


A matrix is a linear transformation. Gamma (power curve) correction is non-linear. A matrix multiply cannot perform the same transformation as a gamma curve. Therefore you need both.

As for "why a gamma curve is needed at all," well that's more complicated. Charles Poynton's Gamma FAQ has this explanation:

The luminance generated by a physical device is generally not a linear function of the applied signal. A conventional CRT has a power-law response to voltage: luminance produced at the face of the display is approximately proportional to the applied voltage raised to the 2.5 power. The numerical value of the exponent of this power function is colloquially known as gamma. This nonlinearity must be compensated in order to achieve correct reproduction of luminance.

As mentioned above (What is lightness?), human vision has a nonuniform perceptual response to luminance. If luminance is to be coded into a small number of steps, say 256, then in order for the most effective perceptual use to be made of the available codes, the codes must be assigned to luminance levels according to the properties of perception.

...Through an amazing coincidence, vision's response to luminance is effectively the inverse of a CRT's nonlinearity.

(While we don't use CRTs much anymore, a lot of these standards were developed when we did.)

| improve this answer | |
  • Thanks. After gamma curve is applied, the output of one display device will be linear to light irrandance. Is the reason that perceptual response of human visual system to luminance is linear? – Jogging Song Apr 25 '16 at 1:11
  • 2
    I don't think so. As I understand it, our visual response to luminance is not linear, but is the inverse of the gamma curve. So if you're applying a gamma of between 2 and 2.5, the human visual response is like applying the opposite curve. So luminance to the 1/2 or 1/2.5. (In fact, sRGB is around 2.2.) – user1118321 Apr 25 '16 at 1:58
  • 2
    @jogging-song: gamma conversion is used to distribute tonal information more evenly with relation to human perception. Every tone change should be equally perceptible for an ideal gamma curve. CIE LUV is an attempt in creating perceptually uniform mapping. See the definition of L* : this is very close to perception unifom (at least under photopic vision). – Euri Pinhollow Apr 25 '16 at 18:36
  • @user1118321 Gamma curve is applied first with gamma equal to 1/2 or so, and then CCM is performed to sRGB color space . sRGB include gamma information with gamma equal to 2.2. The overall effect may be no operation. – Jogging Song Apr 26 '16 at 8:53
  • 1
    @jogging-song: somewhat related chat room, related article. – Euri Pinhollow Apr 26 '16 at 10:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.