Doug Kerr
Well-known member
Let me first mention that the basic information I start with here was kindly brought to my attention by fellow OPFer Colleen Vermillion of Austin, Texas. And Colleen, maybe you have the insight into this curiosity as well!
Background
It appears that the Canon EOS cameras actually execute white balance color correction by multiplying the raw outputs of the three sensor channels (actually four, but the two greens seem to always be treated the same, so I'll only speak of three) by three coefficients. I call this set of three coefficients a "color correction vector". Each is really a "recipe" for shifting the chromaticity implied by the raw data before it is demosaiced ("developed").
In the proprietary portion of the Exif metadata (in both the JPEG and, if present, raw outputs), the camera recites the vectors for all its white balance "presets", with the vectors for the "K" and "CWB" presets reflecting how those are currently particularized, and the value for the AWB mode evidently reflecting the determination made for the current shot.
In addition, the list includes the vector actually used for correcting the current shot's JPEG output (the "as shot" vector).
In almost all cases, the green coefficient(s) in the "repertoire" vectors are "normalized" to the value 1023. This is not a restriction, since basically it is only the ratios among the three coefficients that determine the correction given.
Among other things, this recitation of the camera's repertoire of correction vectors in the Exif metadata allows a program such as PS ACR to give the user the option, if desired, to do white balance color correction during development of the raw data under any of the presets the camera might have used to correct the JPEG output (had the photographer selected that one at the time of the shot) or to do it under the "recipe" the camera actually used to correct the JPEG output.
The curiosity
But curiously, at least in my EOS 20D, the "as shot" vector is never quite the same as the vector listed for the WB preset in use. For example, in a recent test shot taken with the "daylight" WB preset in effect, the daylight vector is listed as (and I'll show both "green" values for consistency with the report):
1919 1023 1023 1494
but the as shot vector is listed as:
1919 1015 1015 1494
In other cases, the discrepancy is much greater.
Not surprisingly, as a consequence, if in ACR we develop the image using the "as shot" selection, we get a different developed image than if we use the "daylight" selection.
In the case above, the difference is subtle. But in other cases, the "discrepancy" is very substantial.
One thought is that the camera actually "scales" the stored standard vector for some reason (perhaps based on the range of sensor levels in the shot or something), but the change above would not result from such a scaling (the ratios between the coefficients being changed - substantially, in other examples).
(In reality the coefficients are no doubt actually scaled, at least so that perhaps "1023" effectively becomes "1.000" before being used for multiplication.)
A second thought was that no doubt the " color shift" setting in the camera "piles on" the standard vector for any preset to influence the vector actually used for correction, and maybe I had a non 0,0 color shift in place.
Well, indeed testing shows that the "color shift" setting does pile on the pertinent preset vector to influence the "as shot" vector, but no, I did not have any color shift in effect.
So, what does all this mean? I'd appreciate any insight.
Thanks.
Background
It appears that the Canon EOS cameras actually execute white balance color correction by multiplying the raw outputs of the three sensor channels (actually four, but the two greens seem to always be treated the same, so I'll only speak of three) by three coefficients. I call this set of three coefficients a "color correction vector". Each is really a "recipe" for shifting the chromaticity implied by the raw data before it is demosaiced ("developed").
In the proprietary portion of the Exif metadata (in both the JPEG and, if present, raw outputs), the camera recites the vectors for all its white balance "presets", with the vectors for the "K" and "CWB" presets reflecting how those are currently particularized, and the value for the AWB mode evidently reflecting the determination made for the current shot.
In addition, the list includes the vector actually used for correcting the current shot's JPEG output (the "as shot" vector).
In almost all cases, the green coefficient(s) in the "repertoire" vectors are "normalized" to the value 1023. This is not a restriction, since basically it is only the ratios among the three coefficients that determine the correction given.
Among other things, this recitation of the camera's repertoire of correction vectors in the Exif metadata allows a program such as PS ACR to give the user the option, if desired, to do white balance color correction during development of the raw data under any of the presets the camera might have used to correct the JPEG output (had the photographer selected that one at the time of the shot) or to do it under the "recipe" the camera actually used to correct the JPEG output.
The curiosity
But curiously, at least in my EOS 20D, the "as shot" vector is never quite the same as the vector listed for the WB preset in use. For example, in a recent test shot taken with the "daylight" WB preset in effect, the daylight vector is listed as (and I'll show both "green" values for consistency with the report):
1919 1023 1023 1494
but the as shot vector is listed as:
1919 1015 1015 1494
In other cases, the discrepancy is much greater.
Not surprisingly, as a consequence, if in ACR we develop the image using the "as shot" selection, we get a different developed image than if we use the "daylight" selection.
In the case above, the difference is subtle. But in other cases, the "discrepancy" is very substantial.
One thought is that the camera actually "scales" the stored standard vector for some reason (perhaps based on the range of sensor levels in the shot or something), but the change above would not result from such a scaling (the ratios between the coefficients being changed - substantially, in other examples).
(In reality the coefficients are no doubt actually scaled, at least so that perhaps "1023" effectively becomes "1.000" before being used for multiplication.)
A second thought was that no doubt the " color shift" setting in the camera "piles on" the standard vector for any preset to influence the vector actually used for correction, and maybe I had a non 0,0 color shift in place.
Well, indeed testing shows that the "color shift" setting does pile on the pertinent preset vector to influence the "as shot" vector, but no, I did not have any color shift in effect.
So, what does all this mean? I'd appreciate any insight.
Thanks.