Paul Gardner wrote:
I wonder what the chart would show if you shot one image of a white wall just below clipping and one of a dark room with no specular highlights at iso 6400?
Paul's suggestion made me experiment more and I learnt something very interesting.
I shot the blank wall with manual exposure with one stop increments ( -1, 0, 1 ). It should yield the raw data distribution shifts by one stop exactly, right ?
Well, look at the 1st set of data "1st stage". You see the shifts but it is not quite 1stop shift.
I ask the dng_validate utility to generate the 2nd stage data, which is according to the document, "the image data after linearization" And the 2nd stage data clearly shows that the shift is exactly one stop.
This forces me rethink about my belief that the raw data from the sensor is inherently linear. And I can clearly appreciate that 14bit numbers will have advantage during this linearization process as they have more resolutions.
Jeff wrote:
Really? Did you see the source image (posted above in this thread)?
Jeff's images that I used contain no less dynamic range than David's. They are very good samples for this experiment.
David,
My post ( few messages above ) on the linearization process probably has clue on the gap between the very raw data and the data that DPP/ACR show us.
At this point, I am really lost in terms of where to go next. Any suggestions ?
I'm very puzzled that the very raw data is NOT linear.
DavidP wrote:
How sure are you that the program you're using isn't messing things up somehow? Or the conversion to DNG?
How can I NOT trust Adobe
I used DNG converter v4.1. The original CR2 files and the converted DNG files appear to be identical when loaded to ACR.
Then, I also used another Adobe written utility to extract the raw bits. The utility is part of their SDK.
PS: Should I convert my image with DPP using "linear" and send it to you? Or would that not doing you any good? I could save it losslessly (PNG format)
1. The very raw data is compacted and NOT linear. ( why ? )
2. The Linearized data span over wider range. And I can at least say the linearized data is consistent with the exposure stops. But the linearized data range is not limited to 12bit or 14bit. It seems to require some clipping at the next stage.
I need some help from experts to explain all this to me
Despite being quiet in this thread, I'm reading every post and am hot and heavy with the matter of DR quantification. My test subject is the 1Ds, but perhaps David can prepare a pair of RAW shots for me. First should be very bright (but not clipping), while second should be the same exposure with lens covered.
If RICO is thinking along the line that I do, Jeff or David can just do the following DR test. This method is not specific to any RAW converter.
=================================
1. Find a off-white color wall. Just make sure that the area has no feature or shadows. Naturally lighted In-door is preferred.
2. Set the Camera ISO @100 ( or whatever the Native ISO )
3. Set the Exposure stop increment to 1/3.
4. Set the Camera at the manual setting. Fix the Aperture @ f/8 or so ( Not critical ). Now, we are going to play with only the shutter speeds.
( If you take more than 2 min through this point, you would not be a photographer )
5. Click the shutter speed dial to push up your exposure meter to +2.
6. Take a shot, and increment the shutter speed dial by one click.
7. Repeat the step 6 above about 6 times to cover +2 to +4 range with 1/3 increment.
8. Click the shutter speed dial to opposite direction to push down your exposure to -2.
9. Take a shot, and decrement the speed dial by one click.
10. Repeat the step 9 above about 9 times to cover -2 to -5 range with 1/3 decrement.
Now you have bunch of raw files. Good news is that you don't need to process them. You only look at them with Adobe ACR.
11. Open Photoshop. Make sure the Brightness setting in the ACR is 50.
Let's decide the upper limit.
12. Open the files one by one from +2. The peak will gradually move toward the right . Eventually you will see something like the one on the left below.
13. IMPORTANT: Slide the Exposure adjust slider to the left to see if you can move the ENTIRE peak to the left. ( See the one on the right hand side ). If you can, the shot is within the range. If you cannot, it is blown-out. http://www.sesee.com/Photo/Exports/Histo-High-limit.gif
Now, let's decide the lower limit. This is not as obvious as the upper limit. This can be very subjective, too.
14. Open the files one by one from -2. The peak will gradually move toward the left. Eventually you will see something like the one on the left below.
15. The ENTIRE peak should be still contained. ( Check the left tail hitting the ground )
16. IMPORTANT: Slide the Exposure adjust slider to the right to see if you can move the ENTIRE peak to the right. ( See the one on the right hand side ). You will see that the left tail is dragging over long. You should be able to separate it cleanly. You will get to the point where you cannot separate the peak out of the noise ( or left wall ). ( The Blue tail will drag longer ) http://www.sesee.com/Photo/Exports/Histo-Low-limit.gif
In my case with D30, the upper limit was 1/5 sec and the lower limit was 1/500 sec. With the camera in hand, I counted the clicks from 1/5 to 1/500 to find that there were 20 clicks. So, the DR is 6 2/3 stops.
The whole procedure is much simpler than it looks. Once you understand how the lower and upper limits are determined, you can do this quickly.
Not sure if anyone has mentioned this but after going through the first 10 pages I kinda gave up scanning...
It seams that the accepted norm for encoding light intensity values is using unsigned integers (eg. 14bit = 2^14 = 16384 possible shades where by the majority of the information is stored in the brightest stop exposed). For instance the high stop contains 8192 differentiable shades, the next highest stop contains 4096 shades, and so on.
However, I don't see why we can't use unsigned float encoding of light intensity values from the sensor. By doing so, we can achieve the same number of total differentiable shades but spread them much more evenly. For example: again with the 14bit encoding example, 4 bits are used to encode the stop values (2^4 = 16 stops in this case) and the other 10bits can be used for values between each stop (2^10 = 1024 shades between each stop). You end up with the same number of differentiable shades, however the number of shades is now evenly distributed between all exposure ranges of the sensor. This means that the shadows are now just as detailed as the highlights.
Despite your recent findings with the data Pondria, I did an initial test tonight, and came up with 29 clicks (using your 'method' ), or 9 2/3 stops (1/250th to 3.2s). However, even though I had gone way beyond the 9 on the dark side, I think there's still more data to be had. I'm going to repeat the test later, and also do the 30D, just to make sure that the results from my methods are no different than your other data points. Unfortunately, I don't have CS3 so have to do this in DPP, but I think I found a way to do it.
Jeff wrote:
... However, even though I had gone way beyond the 9 on the dark side, I think there's still more data to be had. -Jeff
I know what you mean. The upper limit is fairly straight forward but lower limit is sticky. You are right that there are more data in it. The data are embedded with noise. The key point of my method is whether you can separate the signal peak from the noise. This is more objective than actually looking at the image and judge if you can recognize the scene.
Bummer. I just realized that you don't have any data points for the 30D. Even though the sensor is the same as the 20D, not sure I'd implicitly trust them to be the same.
Also, does it matter if you do the test with incandescent lighting? On the dark side, the blue channel is obviously clipping well before the other channels. I assume what we're looking for is the point at which no data is clipped, thus theoretically giving an indication of whether that channel is capable of rendering any detail, correct?