Dynamic range and RAW file "bit depth"

Started Jan 25, 2014 | Questions thread
Jack Hogan Veteran Member • Posts: 6,858
Ramping up the ADC - step by step or skipping?

DSPographer wrote:

Jack Hogan wrote:

DSPographer wrote:

This isn't just wasteful of file bits, it also could significantly slow down the raw converter. In column parallel ramp converters like Sony's Exmor sensors use, having a nonlinear ramp dramatically speeds up the conversion process. So, on many cameras that have "14-bit" raw capability the conversion step size is not really uniform, instead it increases approximately as the square root of the level, so that the time to perform the ramp conversion is not excessive.

Hi DSPographer,

Interesting. How does having a non-linear ramp affect accuracy of the linear ADC output throughout the range?

Here is a paper which discusses non-linear ramp converters of the sort Sony uses in their Exmor sensors:


All Exmors (even those co-'designed' for Nikon DSLRs)?

I am asking because if I understand the article correctly the referenced ADC starts skipping levels as signal (therefore shot noise) increases - which makes sense from an information theory/physical standpoint and would explain why many current Sony ILCs (including a7s, RX1s etc.) encode all linear data from the sensor non-linearly before writing it to the Raw file without giving the user the option to record the full linear data. The benefit to the designers in terms of faster operation and lower power consumption (and possibly even less 1/f noise?) seem intuitive.

Sony's 'most faithful' raw data mode appears therefore to be similar to Nikon's Lossy Compression mode and its data encoding step could potentially closely correspond to the levels actually sampled by Sony's ADC.

Sample Sony look-up table embedded in Raw file. Ignore captions: they pertain to a different topic

On the other hand Nikon DOES give the user the option to save data in the Raw file linearly and 'uncompressed'. Below are the histograms of the entire raw files resulting from DPR's Studio Scene captures for the A7 and D610 at ISO 100. In the D610's most significant bit there is sparse but apparently full data covering virtually every linear level - while the A7's is clearly skipping levels per the non-linear table above. Tellingly, in the green channel the D610 uses 12074 unique values to encode the image versus the A7's 1774 values.

So unless Nikon is injecting noise after the ADC (are they? It would not look that way by the shape of the histograms) my guess would be that Nikon ADCs are programmed to ramp up value by value and produce a 'faithful' digital representation of the analog signal+noise, no matter what the source or level of noise. What do you think?


Post (hide subjects) Posted by
Keyboard shortcuts:
FForum PPrevious NNext WNext unread UUpvote SSubscribe RReply QQuote BBookmark MMy threads
Color scheme? Blue / Yellow