Bart_van_der_Wolf
pro member
Hi folks,
This is the second in a series of technical analyses I performed as based on my 1Ds3.
Another one of the useful key figures in the analysis of a camera/sensor array performance is; System gain. System gain describes one of the manufacturer's design choices expressed in a simple key figure, a figure that quantifies the input signal amplification and conversion from Photons to Data numbers (DN), also known as analog to digital units (ADU), as recorded in the Raw data file. When photons reach the sensor elements, they are converted into a charge (each photon is converted into 1 electron Volt). During the exposure time charge accumulates until either the exposure ends, or the storage capacity for that sensel is filled to its maximum.
The data for this analysis was collected from a series of Raw files of incremental uniform light exposures. An attempt was made to get an as uniform as feasible exposure across the frames but, to increase accuracy, a small crop from the center was used. That allows to use the light that's directed most perpendicular to the sensor, thus avoiding non-uniformity due to angle of incidence. It also allows to reduce the influence of dust shadows. Dust is more often situated near the edges of the frame.
The shots were made with an EF 100mm f/2.8 Macro lens, (manual) focus set to infinity, and aperture f/5.6 was used while only varying the exposure time for the different shots. The lens was pointing to a uniformly lit sky (cloudless at the time of shooting), and the lens front was covered with opaline glass to provide for a totally featureless, out of focus, and diffuse uniform lightsource.
The test frames were shot in pairs, at 4 second intervals (to avoid potential noise from the writing action to the CF card), thus allowing to reduce the potential effects of dead or hot pixels, pattern noise, and dust, by calculating the standard deviation of the difference between the files, divided by Sqrt(2). That standard deviation equates to total noise at each specific exposure level. The mean brightness was also calculated as a measure of that exposure level.
Initially ISO settings 'L', 100, and 200 were tested. Higher ISOs will be tested in the same manner, at a later stage. All files were shot at outdoor ambient temperatures of approx. 2 degrees Celsius, but the camera didn't get the time to acclimatize, and its internal temperature of course rose a bit as the series of shots progressed. The actual sensor elements used were a central crop of the same 400x400 sensels as used for my other (e.g. Black frame) analyses. That means that for each of the G/R/G/B Bayer CFA filtered sensels, 40,000 samples were available (a quantity which should be enough for statistically relevant sample populations). To allow comparisons with data collected by others, the frequently used IRIS software (version 5.51) was used to read the Raw (non-color balanced, non-demosaiced) 14-bit CFA data from the files.
Here is a graphical representation of the results for the green filtered sensor elements at an ISO 100 setting:
And here are the links to the similar graphs for the Red and Blue filtered sensels.
http://www.xs4all.nl/~bvdwolf/temp/OPF/EOS-1Ds3_RedGain100.png
http://www.xs4all.nl/~bvdwolf/temp/OPF/EOS-1Ds3_BlueGain100.png
On the horizontal axis (abscissa) are the 14-bit data numbers that represent recorded brightness in the Raw file, although after subtraction of the black-point offset of 1024 (verified to be the same for each channel). On the vertical axis (ordinate) are the number of electrons that were responsible for that exposure.
The number of electrons plotted for each exposure were derived from the noise standard deviation as calculated from the difference between the almost identical exposure pairs, divided by Sqrt(2). That standard deviation represents total noise, (mainly) Photon shot noise and read noise, and 'subtraction in quadrature' of the read noise (which was quantified earlier for all ISO settings), leaves Photon shot noise (caused by the random arrival rate of photons during the exposure time).
Since the Photon shot noise equals the square root of the number of photons (=electrons) recorded, we can calculate the average number of incident electrons by squaring the noise value.
When we plot the electron count as a result of the average brightness DN, the slope of the linear regression will represent the conversion rate, known as system gain, expressed in electrons/DN or electrons/ADU. These regression line equations will also allow to approximate the saturation level of the sensels expressed in number of photons or electrons (at approx. DN=14257 saturation, black point subtracted).
That results, within the error margin that's inherent to such reverse engineering, in the following saturation or clipping levels:
Red saturation: 4.0839 x 14255 - 539.31 = 57677
Green1 saturation: 4.1307 x 14257 - 934.93 = 57956, or
Green2 saturation: 3.9822 x 14257 - 622.74 = 56480
Blue saturation: 3.9085 x 14255 - 293.97 = 55422
We could therefore assume that the actual average saturation level is close to 57,000 electrons.
Likewise we could assume that the actual average system gain is 4.03 at ISO 100.
A system gain of 4.03 at ISO 100 would lead to a so-called 'unity gain' at ISO 400. I'll get back to the potential implications of that in another thread/analysis.
57,000 electrons at saturation level, can be accurately represented by a 16-bit number (15.8 bits to be more exact), so the 4 electrons/DN gain at ISO 100 will allow accurate quantization in 14-bit values (if electronic noise is kept low) at ISO 100 (native sensitivity?). It looks like Canon chose the correct parameters for their encoding, but it leaves virtually no room for additional electronic noise. A 16-bit ADC encoding would have provided a safer margin (maybe we can expect an EOS-1Ds Mark III N version in the future that offers that?).
The system gain of approx. 4.03 at ISO 100 is more or less confirmed by the slope of the linear regresssion formulae derived at ISO 200, here they are:
Red: 1.9074 x DN + 28.026
Green1: 1.9221 x DN - 9.0413
Green2: 1.9263 x DN - 68.3
Blue: 1.8939 x DN + 44.694
Which would lead to an average system gain of 1.91 at ISO 200. It is not exactly half of the ISO 100 gain as one might expect, but I've seen similar trends in other cameras (maybe deliberate to accommodate for more highlight noise (without clipping) at higher ISOs?). We'll have to see how that translates to the higher ISO determinations, to be determined later. For ISO 200 the per channel gains seem to be very close to eachother, and could be assumed to be accurate.
The results for the special ISO 'L' confirm the puzzling read noise similarity between ISO 'L' and ISO 100, that I detected earlier. Here are the linear regressions at ISO 'L':
Red: 4.1085 x DN - 732.86
Green1: 4.0862 x DN - 933.31
Green2: 3.898 x DN -780.42
Blue: 4.0246 x DN - 784.83
Which would lead to an average system gain of 4.03 at ISO 'L', just like at ISO 100, while for true ISO 50 performance one would expect something close to 8.
Speculation: Maybe internally the calculations are done at 16-bits precision, but truncated to 14-bits (Emil, John S., let's have your best hunch/insight on this one) ???
Conclusion: While ISO 'L' currently doesn't seem to offer any benefit to noise reduction, which it does offer in the 1Ds2 (as if it has an approx. ISO 75 performance), it doesn't lose any performance either, because the clipping point is at the same Raw data number levels as with ISO 100. It can be safely used if (abundant) lighting requires to , although there will be no benefits in noise performance.
As I said, a bit puzzling it is. Could be interesting to investigate the ISO '50' versus ISO 100 behavior further on other cameras, although I'd be surprised to find different behavior ...
That's it for now.
Bart
This is the second in a series of technical analyses I performed as based on my 1Ds3.
Another one of the useful key figures in the analysis of a camera/sensor array performance is; System gain. System gain describes one of the manufacturer's design choices expressed in a simple key figure, a figure that quantifies the input signal amplification and conversion from Photons to Data numbers (DN), also known as analog to digital units (ADU), as recorded in the Raw data file. When photons reach the sensor elements, they are converted into a charge (each photon is converted into 1 electron Volt). During the exposure time charge accumulates until either the exposure ends, or the storage capacity for that sensel is filled to its maximum.
The data for this analysis was collected from a series of Raw files of incremental uniform light exposures. An attempt was made to get an as uniform as feasible exposure across the frames but, to increase accuracy, a small crop from the center was used. That allows to use the light that's directed most perpendicular to the sensor, thus avoiding non-uniformity due to angle of incidence. It also allows to reduce the influence of dust shadows. Dust is more often situated near the edges of the frame.
The shots were made with an EF 100mm f/2.8 Macro lens, (manual) focus set to infinity, and aperture f/5.6 was used while only varying the exposure time for the different shots. The lens was pointing to a uniformly lit sky (cloudless at the time of shooting), and the lens front was covered with opaline glass to provide for a totally featureless, out of focus, and diffuse uniform lightsource.
The test frames were shot in pairs, at 4 second intervals (to avoid potential noise from the writing action to the CF card), thus allowing to reduce the potential effects of dead or hot pixels, pattern noise, and dust, by calculating the standard deviation of the difference between the files, divided by Sqrt(2). That standard deviation equates to total noise at each specific exposure level. The mean brightness was also calculated as a measure of that exposure level.
Initially ISO settings 'L', 100, and 200 were tested. Higher ISOs will be tested in the same manner, at a later stage. All files were shot at outdoor ambient temperatures of approx. 2 degrees Celsius, but the camera didn't get the time to acclimatize, and its internal temperature of course rose a bit as the series of shots progressed. The actual sensor elements used were a central crop of the same 400x400 sensels as used for my other (e.g. Black frame) analyses. That means that for each of the G/R/G/B Bayer CFA filtered sensels, 40,000 samples were available (a quantity which should be enough for statistically relevant sample populations). To allow comparisons with data collected by others, the frequently used IRIS software (version 5.51) was used to read the Raw (non-color balanced, non-demosaiced) 14-bit CFA data from the files.
Here is a graphical representation of the results for the green filtered sensor elements at an ISO 100 setting:
And here are the links to the similar graphs for the Red and Blue filtered sensels.
http://www.xs4all.nl/~bvdwolf/temp/OPF/EOS-1Ds3_RedGain100.png
http://www.xs4all.nl/~bvdwolf/temp/OPF/EOS-1Ds3_BlueGain100.png
On the horizontal axis (abscissa) are the 14-bit data numbers that represent recorded brightness in the Raw file, although after subtraction of the black-point offset of 1024 (verified to be the same for each channel). On the vertical axis (ordinate) are the number of electrons that were responsible for that exposure.
The number of electrons plotted for each exposure were derived from the noise standard deviation as calculated from the difference between the almost identical exposure pairs, divided by Sqrt(2). That standard deviation represents total noise, (mainly) Photon shot noise and read noise, and 'subtraction in quadrature' of the read noise (which was quantified earlier for all ISO settings), leaves Photon shot noise (caused by the random arrival rate of photons during the exposure time).
Since the Photon shot noise equals the square root of the number of photons (=electrons) recorded, we can calculate the average number of incident electrons by squaring the noise value.
When we plot the electron count as a result of the average brightness DN, the slope of the linear regression will represent the conversion rate, known as system gain, expressed in electrons/DN or electrons/ADU. These regression line equations will also allow to approximate the saturation level of the sensels expressed in number of photons or electrons (at approx. DN=14257 saturation, black point subtracted).
That results, within the error margin that's inherent to such reverse engineering, in the following saturation or clipping levels:
Red saturation: 4.0839 x 14255 - 539.31 = 57677
Green1 saturation: 4.1307 x 14257 - 934.93 = 57956, or
Green2 saturation: 3.9822 x 14257 - 622.74 = 56480
Blue saturation: 3.9085 x 14255 - 293.97 = 55422
We could therefore assume that the actual average saturation level is close to 57,000 electrons.
Likewise we could assume that the actual average system gain is 4.03 at ISO 100.
A system gain of 4.03 at ISO 100 would lead to a so-called 'unity gain' at ISO 400. I'll get back to the potential implications of that in another thread/analysis.
57,000 electrons at saturation level, can be accurately represented by a 16-bit number (15.8 bits to be more exact), so the 4 electrons/DN gain at ISO 100 will allow accurate quantization in 14-bit values (if electronic noise is kept low) at ISO 100 (native sensitivity?). It looks like Canon chose the correct parameters for their encoding, but it leaves virtually no room for additional electronic noise. A 16-bit ADC encoding would have provided a safer margin (maybe we can expect an EOS-1Ds Mark III N version in the future that offers that?).
The system gain of approx. 4.03 at ISO 100 is more or less confirmed by the slope of the linear regresssion formulae derived at ISO 200, here they are:
Red: 1.9074 x DN + 28.026
Green1: 1.9221 x DN - 9.0413
Green2: 1.9263 x DN - 68.3
Blue: 1.8939 x DN + 44.694
Which would lead to an average system gain of 1.91 at ISO 200. It is not exactly half of the ISO 100 gain as one might expect, but I've seen similar trends in other cameras (maybe deliberate to accommodate for more highlight noise (without clipping) at higher ISOs?). We'll have to see how that translates to the higher ISO determinations, to be determined later. For ISO 200 the per channel gains seem to be very close to eachother, and could be assumed to be accurate.
The results for the special ISO 'L' confirm the puzzling read noise similarity between ISO 'L' and ISO 100, that I detected earlier. Here are the linear regressions at ISO 'L':
Red: 4.1085 x DN - 732.86
Green1: 4.0862 x DN - 933.31
Green2: 3.898 x DN -780.42
Blue: 4.0246 x DN - 784.83
Which would lead to an average system gain of 4.03 at ISO 'L', just like at ISO 100, while for true ISO 50 performance one would expect something close to 8.
Speculation: Maybe internally the calculations are done at 16-bits precision, but truncated to 14-bits (Emil, John S., let's have your best hunch/insight on this one) ???
Conclusion: While ISO 'L' currently doesn't seem to offer any benefit to noise reduction, which it does offer in the 1Ds2 (as if it has an approx. ISO 75 performance), it doesn't lose any performance either, because the clipping point is at the same Raw data number levels as with ISO 100. It can be safely used if (abundant) lighting requires to , although there will be no benefits in noise performance.
As I said, a bit puzzling it is. Could be interesting to investigate the ISO '50' versus ISO 100 behavior further on other cameras, although I'd be surprised to find different behavior ...
That's it for now.
Bart
Last edited: