A sensor could have different pixels reset at different time, according to its brightness. It would completely remove the problem of dynamic range, wouldn't it? If a pixel exposure becomes greater than a certain threshold, then the data is captured and pixel resets. Then, all the uneven intervals of pixel data are mapped into the nearest millisecond. Isn't this a very good solution to the problem of dynamic range?
By my understanding this will require additional logic (NANDs for example) in the sensor. And this may have some negative effects on the camera:
- Will make camera sensor more complicated and decrease the randeman (output of sensors w/o defects from one silicon plate).
- This may decrease the size of cells in the sensor.
- This will increase the power consumption of the sensor. Which will lead to
3.1. increase the heat in sensor
3.2. decrease the photos you can make with this camera (with one battery)
If a pixel exposure becomes greater than a certain threshold, then the data is captured and pixel resets.
If you do so you are increasing the exposure time... You would be doubling the minimum exposure time for each additional EV. 3EV: 8 times as long... Burst mode and short exposure would get problematic. Nearest millisecond? How do you handle exposure time of under 1/500s? (my midrange camera does 1/8000s).
At the raw image level a digital camera is far dumber than what you are wanting it to be.
(simplified) The photodiode is pre-charged with voltage from the battery. Then when a photon hits the photodiode it causes an electron to release and move into storage. Finally the accumulated voltage is measured and compared to the max voltage possible... and that is written as the photosite exposure (e.g. 50%, 128, written in binary). This very simple process allows the raw sensor data stream to be extremely fast.
What you are wanting would be exponentially slower.
The raw data stream requires 1 bit of accuracy for every stop of exposure. We already have sensors that require 14 bit processing (13+ stops of DR)... just adding two stops of exposure would require a 16 bit ADC and would cause a massive increase in file sizes; even though most of the additional data would be essentially useless.
And the variable reset/restart would have no concept of "exposure" (scene brightness) because the values have no basis of comparison... the best you could do is the level of exposure above the minimum detectable; but even that is not a fixed value (varies with exposure time). You would end up with different exposures that have no meaning... are they all exposures far into highlights, or all far into shadows?
Once you have the raw data you can then do whatever you want digitally/mathematically (after the ADC); but you still have to get to that point.
Plus, a human cannot see more than 14 stops of DR simultaneously (some estimates are as low as 10 stops), not to mention printers/displays; so what would you do with that additional exposure range? Obviously you could compress it into a usable DR like HDR does; but that is (arguably) an unnatural representation. And there is already a pretty simple process/solution to that issue should there be the need.
FWIW, the current technology is to place a second storage node (capacitor) in parallel with the photodiode. This allows the photosite to accumulate more voltage in bright light situations without reaching saturation/clipping (in high conversion gain state/at low ISOs). This secondary capacitor is then disabled when there is less light (low conversion gain state/high ISO's). The ADC knows which state the sensor is operating in, and therefore what the max exposure potential (voltage) is to compare against. This essentially accomplishes the same thing, but in a far simpler manner.