QUOTE(GLuijk @ Apr 12 2008, 07:09 AM)
In this thread:
http://luminous-landscape.com/forum/index....showtopic=24375 Panopeeper showed how expanded ISOs do not correspond to real electronic ISO gains.
I thought however that intermediate ISO values (like ISO640) were also fake coming from software adjustment over a real ISO400 (or maybe ISO800) shot.
But I have been given 4 RAW files of the Nikon D300 and calculated its histograms:
14 bit / ISO400
14 bit / ISO640
12 bit / ISO400
12 bit / ISO640
I was surprised to see that ISO640 RAW histograms (i.e. only non-interpolated RAW data, just scaled from 12/14 to 16 bits without any additional WB scaling, saturation scaling of offset subtraction) look the same as ISO400, so I don't have any evidence to suspect ISO640 is a fake when compared to ISO400:
Correct. Nikon seems to implement all ISO's in a uniform manner with a single variable gain amplifier. Canon uses a two-stage amplification scheme, one amplifier for the main ISO's of 100-200-400 etc; and a second stage of analog amplification for the intermediate ISO's for the 1 series and 5D, or simply software multiplication for the xxD series. Nikon's implementation is superior IMO.
QUOTE
In addition to finding no differences between ISO400 and ISO640, one can see that:
- In 14 bits, R and B channels have holes in the RAW data. Could this slight expansion be related to some WB in-camera adjustment? or just and adjustment to reach the saturation level? if so, why G channel is not corrected the same way?
Nikon seems to feel the need to do this "raw white balance", scaling the R and B channels. On D300 sample I was analyzing some months ago, the B channel was scaled by 23/20, the R channel by 13/11. The gaps are then created by the quantization of the rescaled levels when doing this multiplication in integer arithmetic. The motivation for this is unclear; WB in raw conversion would do the same thing anyway, why introduce additional roundoff errors by doing it partially and by a fixed amount in writing the raw data, and then again in the raw converter? I presume the G channel is unaffected since that is ordinarily the way white balance is done -- rescale the R and B channels keeping G fixed.
QUOTE
- In 12 bits, again G channel looks soft, but R and B channels seem to suffer of some periodic level aggregation. Any explanation for this?
It is as though the same calculation is being done in 14-bit arithmetic, with the 12-bit data loaded into the MSB's and the two LSB's random. One possible explanation: the Expeed chip in the camera calculates with 16-bit precision according to Nikon press releases. Apparently though the 14-bit raw data is loaded into LSB's or else there would be no gaps in the stretched R and B channels of 14-bit capture. If the 12-bit were loaded in to align with the 12 MSB's of 14-bit data, but the last two bits were not zeroed out and effectively random, then the same stretching by the same factor and then written out as 12-bit data would have the observed sawtooth pattern, as the gaps only occur about every 5 to 7 14-bit levels -- so when truncating to 12 bits, sometimes 4 populated raw levels are binned together, sometimes 3 populated and one empty and the histogram for the binned level is only 3/4 as high. If the stretching calculations were being done with 12-bit accuracy, they would have complete gaps rather than a sawtooth 1-vs-3/4 pattern.