Jump to content

Film vs Digital - Dynamic Range


Recommended Posts

<p>I'm not really sure what you are arguing. I thought you more-or-less agreed that a 4bit ADC could only output 4 identifiable stops. But with each successive post since that point, you seem to be drifting back to your original premise that was that ALL dynamic ranges could be represented by ALL bit depths. Now, as we are talking about 'stops' now, that is clearly not true. If you agree with the examples I have produced which show this N stop to N-bit relationship, then you also have to agree that the maximum amount of information in the system after the ADC conversion, is to be found STRAIGHT AFTER the conversion. After that point, no amount of 'tone response curves' 'gamma's' 'calibration' can introduce more information into the system. It is limited by what the ADC captured in the first place. Now if it is more-or-less linear (which we have agreed on), then it can only capture a certain number of stops until it hits its noise floor, or hits an integer output of zero, whichever come first. The best case scenario for that case is when it hits zero (which in the cases I have highlighted is N stops accurately and 1 stop inaccurately and 1+ stops with zero accuracy and precision; where N equals number of bits).</p>

<p>This highlights the care needed not to mix up the bit depth of the <em>capturing device</em> and the bit depth of the <em>viewed image</em>. After capture and conversion in the ADC, you can do anything you want to the data to change the precision or the accuracy or the response of it, but it still doesn't change the fact that it captured a MAXIMUM number of stops in the first place, and this maximum can NEVER be extended after the fact.</p>

Link to comment
Share on other sites

  • Replies 900
  • Created
  • Last Reply

Top Posters In This Topic

<p>Vijay,<br>

<em>"You need more bits to represent more tones, but not the two endpoints. One bit carries enough information to distinguish two states that define dynamic range."</em><br>

If we accept your definition, then every digital camera and every film, including Tech Pan developed in Dektol, has infinite dynamic range, and the whole thing becomes a non-issue. There's no need to discuss it any more, anywhere. Thank goodness.<br>

Best,<br /> Helen</p>

Link to comment
Share on other sites

<p>Helen:</p>

<p><strong>1.</strong> It appears you are assigning a meaning to values like 0000 or 1111, and interpreting them to be related to voltage as a ratio: such as if you have x volts, then the ADC will generate a binary code that when converted to decimal will equal k*x, where k is some proportionality constant.</p>

<p>This is false, because the correct equation for the output is<br>

<em>y</em> = <em>p_n</em> if ((<em>x</em> > <em>T(n)</em> ) and (<em>x</em> < <em>T(n+1)</em> )</p>

<p>where<em> p_n</em> is a unique element of the set <strong>P</strong> = <em>{p_0, p_1, p_2... p_M}</em> and each individual <em>p_i</em> is some <strong>arbitrary</strong> code<br>

and <em>T(i)</em> is a unique element of the set <strong>T</strong> =<em> {T(0), T(1), T(2) ... T(M)}</em> where each individual <em>T(i)</em> is a voltage, and <em>T(i) < T(i+1)</em> .</p>

<p>The very conversion process is not a linear, or proportional process. It maps a continuously varying signal to a set of discrete codes (which may or may not represent integers, and which may or may not be linear).</p>

<p>The ADC is considered to be linear if for all <em>T(i)</em> in <strong>T</strong> , <em>T(i+1) - T(i) = T(i) - T(i -1).</em></p>

<p>Once again, you probably know all this, but based on your "integer" and "linear" argument I feel that this definition is in order.</p>

<p><strong>2.</strong> It appears that your argument centers around choosing voltage inputs that define the "dynamic range" are the top of the bottom step and the bottom of the top step. This is fine for <em>your</em> calculations; but has no bearing on the actual system.</p>

<p>The actual system can do nothing with the set <strong>P</strong> (from above). It has to re-convert the set <strong>P</strong> to a voltage range. But the set <strong>P </strong> has <em>no information at all about the original voltage range</em> . It could have been 1024 mV divided into M-1 steps, or 10,000 V divided into M-1 steps.</p>

<p>Hence it has to reconstruct its output. It does this by placing a code <em>p_min</em> (chosen by the designers) at the minimum of its own voltage output range, and placing another code<em> p_max</em> at the max value of its own voltage output range.</p>

<p>It doesn't have to treat <em>p_min</em> and <em>p_max</em> as integers, or proportional or <em>anything</em> .</p>

<p>It doesn't have to worry about whether<em> p_min</em> and <em>p_max</em> came about because the voltages were 128 mV and 896 mV or because they were 1 uV or 1024 mV because that information is lost as soon as you went to a discrete mathematical structure (the set of codes).</p>

<p>While reconstructing, any DAC will reconstruct <em>as if the full dynamic range were originally present</em> . The subsequent elements in the imaging chain never know the difference. And a DAC is always present: an ADC goes from the physical domain to the logical domain. Something has to get the signal back from the logical domain to the physical domain. This is a DAC.</p>

<p>Once again, wording all this in the language of abstract mathematics is done to highlight that the digital domain is an abstract mathematical representation, not a physical one; and the theory of ADCs etc., <em>doesn't rely on binary arithmetic at all</em> .</p>

<p><strong>3.</strong> The out-of-range that I showed was an illustration. Real ADCs <em>must</em> have that signal, and I was just pointing out how the electronics worked. Cameras don't go out-of-range - the sensor clips first but this is immaterial to the discussion since the input dynamic range of the ADC is higher than the output dynamic range of the photodiodes by design.</p>

<p><strong>4.</strong> You keep ignoring the <em>extensibility of ranges</em> requirement:</p>

<p>I could build a 4-bit ADC with an input dynamic range of 2048 mV. Its table could look like this:</p>

<p>1 uV - 127 mV : 0<br>

128 mV - 255 mV : 1<br>

256 mV - 383 mV : 2<br>

384 mV - 511 mV : 3<br>

512 mV - 639 mV : 4<br>

640 mV - 767 mV : 5<br>

768 mV - 895 mV : 6<br>

896 mV - 1023 mV : 7<br>

1024 mV - 1151 mV : 8<br>

1152 mV - 1279 mV : 9</p>

<p>and so on.<br>

<br /> So let me ask you: for this ADC, what is the dynamic range of the input based on the first 8 codes and the range based on the next 8 codes?</p>

<p>The lower range has to be continuous and "attached" to the upper range: if you choose (127 mV - 896 mV) then how do you account for the range represented by the other 8 codes? Would it be (896 mV - 2047 mV)?</p>

<p>But that would divide the range unequally when we split our set of codes into two subsets containing the same number of codes.</p>

<p>If you choose (1024 mV - 2047 mV) you are still unequal. If you choose (1152 mV - 2047 mV) you are equal, but now you have (896 mV - 1152 mV) unaccounted for, and the ranges are no longer continuous or "attached".</p>

<p>So you have to split down the middle; i.e., at 1024 mV.</p>

<p>You can extend the same argument on the lower side as well - it is the exact same thing. Continuity of ranges forces you to select the range endpoints as is the standard method I described before.</p>

<p><strong>5</strong> . There is a reason ranges are chosen the way they are; but you <em>could </em> choose (127 mv - 896 mV) if you want; you are within one quantization step of error anyway. If you go to 14 bits, one step is tiny - 1024 mV/2^14 = 0.0625 mV. Going to 16 bits, one step is tinier: 0.015625 mV. So going from 14-bits to 16-bits doesn't introduce any appreciable change in the endpoints (the lower endpoint is the noise floor for both encodings anyway), i.e., not an appreciable change in the dynamic range. Per your argument, the change is supposed to be more - maybe like 2 stops.</p>

<p>I don't know if this is what you are saying, because you have insisted that there is a relationship between dynamic range and bit depth, but you haven't yet defined a function <em>R = <strong>f</strong> <strong>(</strong> b<strong>)</strong> </em> that lets me derive the dynamic range <em>R</em> from a bit depth of <em>b</em> .</p>

Link to comment
Share on other sites

<blockquote>

<p>Helen: If we accept your definition, then every digital camera and every film, including Tech Pan developed in Dektol, has infinite dynamic range, and the whole thing becomes a non-issue.</p>

 

</blockquote>

<p>Are you confusing dynamic range with tonal range or gamma? Dynamic range is just Dmax:Dmin; unless Dmin is 0, the dynamic range is finite, regardless of the slope of the characteristic curve. The dynamic range is the ratio of the height of curve at the top to the height of the curve at the bottom, regardless of the slope.</p>

<p>This has nothing to do with infinite dynamic range. Infinite gamma is not infinite dynamic range. Gamma is mathematically a derivative (dy/dx) and dynamic range is a ratio (y/x). A derivative can be infinity for a curve which has finite endpoints and finite dynamic range.</p>

Link to comment
Share on other sites

<blockquote>

<p>Bernie: I thought you more-or-less agreed that a 4bit ADC could only output 4 identifiable stops. But with each successive post since that point, you seem to be drifting back to your original premise that was that ALL dynamic ranges could be represented by ALL bit depths.</p>

</blockquote>

<p>I agreed that the top four stops would be represented accurately as four distinct halvings. I disagreed with the last tone. It would represent the minimum of the remaining 6 stops. It would squash six stops into one tone, but that tone would be 64 times darker than the next. Verify this with the experiment I suggested if you want. I said that then, Rob said it then, and I say it even now.</p>

<p>I've always maintained that any dynamic range can be represented by just one bit. This is quite easily verifiable by any number of experiments I suggested.</p>

Link to comment
Share on other sites

<p>Well I am glad that we still almost agree. There is a problem with your interpretation though, and that is this: </p>

<blockquote>

<p>I agreed that the top four stops would be represented accurately as four distinct halvings. I disagreed with the last tone. It would represent the minimum of the remaining 6 stops. It would squash six stops into one tone, but that tone would be 64 times darker than the next.</p>

 

</blockquote>

<p>Absolutely not. In the absence of noise, they would all be squashed into tone level 0. And level 0 is absolute black. Those tones would not be 64 times darker. They are infinitely darker. ie. there is no information which can be extracted from level 0 if more than one stop was represented in it. Therefore, it can't contribute to the number of stops in a digital file. It is nonsense to suggest otherwise.</p>

Link to comment
Share on other sites

<p>In the absence of noise, an infinity of stops is squashed to absolute black (think black hole). In reality 6 stops are squashed to a value that when reproduced by a DAC/printer/paper chain represents the darkest that can get. If the dynamic range of the <em>printer/paper</em> (not of the original scene, oh no, no, no - that was lost at the photodiode stage) were 10 stops then the black would be 64 times darker. Try it out with a lightmeter. You might be surprised.</p>

<p>The formula to apply is <em>R_d(paper) - 4</em> , where <em>R_d(paper)</em> is the dynamic range of the printer/paper combination in stops.</p>

 

Link to comment
Share on other sites

<blockquote>

<p>If the dynamic range of the <em>printer/paper</em> (not of the original scene, oh no, no, no - that was lost at the photodiode stage) were 10 stops then the black would be 64 times darker. Try it out with a lightmeter. You might be surprised.</p>

 

</blockquote>

<p>I don't know why you keep insisting on talking about printing. The MAXIMUM amount of information in the system after the ADC is.... STRAIGHT AFTER THE ADC. If at this point, only 4 stops of data are indentifiable in the data, then printing it out isn't going to change that fact (in the positive direction).<br>

Secondly, it sounds like you are imparting... wait for it..... sentience(!!!) to the printer. If I present the DAC in the printer with an 8 bit file, with data ranging from 0 to 255, the printer has no idea what the scene looked like. It has no idea if there are 1, 2, 5, 10 or however many stops crammed into that one data level of 0. It can only print level 0 as it's version of black. It may very well have a DR of 10, but who cares? THis doesn't have anything to do with the argument. The argument is that the dynamic range (as measured in stops) of the information captured by sensor/ADC is limited by the sensor/ADC. Nothing more than this. It is the relation between <em>scene</em> dynamic range and <em>converted</em> dynamic range. It's got absolutely nothing to do with <em>printed</em> dynamic range. If your scene has a dynamic range of 10 stops, and your ADC is 8bits, you can only meaningfully identify 8 stops of information from the scene. That is, if you expose to the right, the range from 'stops' 8 to 10 will be totally black (ie. NO information content). Printing this out on a 10 stop printer doesn't change this fact. It doesn't magically create those two lower stops of scene dynamic range. You don't suddenly see detail in the shadows that wasn't there in the post ADC digital data. Now I know you can't seriously be claiming what I think you are claiming, because it's totally loopy. So what are you claiming? But more importantly, WHY are talking about printing? Printing isn't going to translate scene dynamic range that wasn't captured into being. It has nothing to do with this argument. You know, this is why you are so frustrating to debate with. You fail to see the crux of an argument, and we end up following you down the garden path, and before we know it, we are all lost. Please get back to the crux of the argument. </rant> </p>

Link to comment
Share on other sites

<p>Vijay,</p>

<p>1. I'm not assigning anything - I used your assignments. If you want to argue with them, argue with yourself, not me.</p>

<p>2. Please read my purpose statement. I'm trying to explain why the limits I'm suggesting have a valid use for the purposes of this discussion, even though they are not the ones in your 'book'. It is a matter of logic and reason, not rote.</p>

<p>3. I agree, and have always referred to the CCD-PGA-ADC system as having to prevent 'out-of-range' signals. No argument there. I'm just using the voltages so I don't have to go through the conversion from lux s to mV. As we are assuming a linear analogue conversion there should be no problem. If you want me to, I'll start with the lux s values and go through the whole exercise again. The reason and logic remain the same, and the conclusions will be the same.</p>

<p><em><strong>"4.</strong> You keep ignoring the <em>extensibility of ranges</em> requirement:</em> <br /> <em>I could build a 4-bit ADC with an input dynamic range of 2048 mV. Its table could look like this:</em> <br /> <em>1 uV - 127 mV : 0<br /> 128 mV - 255 mV : 1<br /> 256 mV - 383 mV : 2<br /> 384 mV - 511 mV : 3<br /> 512 mV - 639 mV : 4<br /> 640 mV - 767 mV : 5<br /> 768 mV - 895 mV : 6<br /> 896 mV - 1023 mV : 7<br /> 1024 mV - 1151 mV : 8<br /> 1152 mV - 1279 mV : 9</em> <br /> <em>and so on.</em><br>

<em><br /> <br /> So let me ask you: for this ADC, what is the dynamic range of the input based on the first 8 codes and the range based on the next 8 codes?"</em><br>

<em><br /> </em><br>

The answer is as before for the first 8 codes: anything below 128 mV gives an output of 0, anything above 896 mV gives an output of 7. You didn't disagree with that before, and there's no reason to disagree with it this time.</p>

<p>If you take the second 8 codes (8 to 15) anything below 1151 mV produces an output of 8 and anything 1920 mV or above produces an output of 15.</p>

<p>By separating the two ranges you lose the switch between 7 and 8 in the output. Continuity of input is maintained, but not continuity of output. There is no logical flaw here - it is the consequence of splitting the range. Extensibility is maintained. You can set out the full table, and everything fits. There are no discontinuities - that is why I have ignored them: they are in your imagination. If you wish to argue with this it might be an idea to take the reasoning step-by-step and make sure that you are applying the principles correctly. You will find that there is no logical flaw. It is all solid. Any 'principle' that says otherwise is either wrong or, more likely, misapplied.</p>

<p>You have 16 pieces of string. You want to join as many steel rings together as you can in a line (rather than a circle) and each ring has to have two pieces of string attached. You begin by taking two bunches of string, each with 8 pieces. With each bunch you can connect 7 rings. String-ring-string-ring-string etc. If you tie the two sets together you can connect one more ring. You are measuring the ends of the string for your purposes, I'm measuring the locations of the rings for my purposes. I'm trying to explain why there are reasons to do that.</p>

<p>If you use the whole range, the limits for difference in output become 128 mV and 1920 mV.</p>

<p><em>"Are you confusing dynamic range with tonal range or gamma? Dynamic range is just Dmax:Dmin; unless Dmin is 0, the dynamic range is finite, regardless of the slope of the characteristic curve. The dynamic range is the ratio of the height of curve at the top to the height of the curve at the bottom, regardless of the slope.</em> <br /> <em>This has nothing to do with infinite dynamic range. Infinite gamma is not infinite dynamic range. Gamma is mathematically a derivative (dy/dx) and dynamic range is a ratio (y/x). A derivative can be infinity for a curve which has finite endpoints and finite dynamic range."</em><br>

<em><br /> </em><br>

No, I'm not confusing dynamic range with tonal range or gamma. You are now confusing dynamic range with density range, and you also seem confused about what DMax and DMin mean in conventional film terminology. I think that the best thing for you to do is to make a clear statement of what you call the dynamic range of film and of a digital camera, then we can revisit this part of the logic.</p>

<p>Best,<br /> Helen</p>

Link to comment
Share on other sites

<p><em>From <a title="Dynamic range definition" href="http://en.wikipedia.org/wiki/Dynamic_range" title="Dynamic range definition">Wikipedia</a> : <a title="Photography" href="http://en.wikipedia.org/wiki/Photography" title="Photography">Photographers</a> use "dynamic range" for the <a title="Luminance" href="http://en.wikipedia.org/wiki/Luminance" title="Luminance">luminance</a> range of a scene being photographed; or the limits of luminance range that a given <a title="Digital camera" href="http://en.wikipedia.org/wiki/Digital_camera" title="Digital camera">digital camera</a> or <a title="Photographic film" href="http://en.wikipedia.org/wiki/Photographic_film" title="Photographic film">film</a> can capture; or the </em> <em>opacity range of developed film images; or the </em> <em>reflectance range of images on photographic papers.</em></p>

<p>For a scene, it is a luminance range; for film, it is opacity range; which is identical to density range. For prints, it is the reflectance range. For a digital camera, it is the Vmax/Vmin ratio of the photodetectors. For a monitor it is a luminance range (often called contrast ratio).</p>

<p>Regardless of what you define it to be, any dynamic range is a pair of values (usually expressed as a ratio), and my entire argument is exactly the same. You could apply it to the dynamic range of audio reproduction or anything else. "Dynamic range" as it applies to imaging is not special or different from any other dynamic range.</p>

<p>Any dynamic range can be represented by a set that contains two elements. The information content of this is exactly one bit.</p>

 

Link to comment
Share on other sites

<p>I'm not sure whether this post was directed at me or Helen, but with all due respect to that mighty tome of knowledge, it is <strong>'stops'</strong> and how many of them, that matter to photographers. I don't know anyone who, when appreciating an image, pulls a light meter out and takes a reading of various things in the image and then proceeds to pull a calculator out and compute a ratio. This debate, in the form it began in, is well and truly over.</p>
Link to comment
Share on other sites

<p>Helen asked me what "my" definition of "dynamic range" as it applied to film was. I responded. Stops is a unit of measuring a ratio; changing units doesn't affect what we are talking about. I get your love for stops, Bernie. But stop with the stops thing ;-)</p>

<p>Once again, I'll repeat: my arguments apply to any range; be it dynamic or otherwise, and measured in any units, stops, decibels or otherwise. Torque doesn't change whether measured in ft-lbs or Newton-meters. Speed doesn't change whether you measure it in km/hr or miles/hr or meters/second. Are you suggesting that measuring "photographic dynamic range" in anything other than stops will result in a different dynamic range, or is otherwise erroneous? If so then this would be new information to me, and I'd like to hear your explanation, please.</p>

<p><em>The mathematics doesn't change if a range is labeled "dynamic" or if it is measured in "stops" versus "dB"</em> : if there is a theory that covers ranges in general, it also covers dynamic ranges and in any units of choice. That is the beauty of a general theory, application subsets merely follow.</p>

Link to comment
Share on other sites

<p>Vijay,</p>

<p>Somehow we need to find the key that lets you look at this in a different way from the one that you (and I) have been taught to look at it as designers. Try to look at it as if you were a detective. All you have are the CCD-PGA-ADC characteristics and the output data. What is the maximum amount of data that you can deduce <em>for certain</em> about the exposure that the CCD received? Please forget the DAC or the printer. These are irrelevant, as Bernie so rightly says. It is a very simple, logical process.</p>

<p>Best,<br>

Helen</p>

Link to comment
Share on other sites

<p>I think both camps would say that the ADC output tells you which portion of the input range the exposure falls into (the portions being equal to range/2^n, where n is the bit depth of the ADC).</p>

<p>The matter of difference is: what is that range? One camp says that the range can be from any max to any minimum (i.e. any arbitrary range). The other camp says the range can be from any arbitrary max to a minimum of max/2^n.</p>

Link to comment
Share on other sites

<p>Bernie - I just saw this post of yours now. Sorry for not answering earlier.</p>

 

<blockquote>

<p>I don't know why you keep insisting on talking about printing. The MAXIMUM amount of information in the system after the ADC is.... STRAIGHT AFTER THE ADC. If at this point, only 4 stops of data are indentifiable in the data, then printing it out isn't going to change that fact (in the positive direction).</p>

 

</blockquote>

<p>What makes you so certain that 4 stops of data are identifiable in the data? An assumption of course that the data is "proportional" to the input. If you read my post wherein I describe the actual mathematics, you see an array of some codes. You should treat these codes for what they are: data that only has meaning to a DAC, not to you.</p>

<p>Now even if you want to analyze the data: you'll see a range from 0 to something. Do you want to imply that something/0 = infinity, so the DR of the data is infinite?</p>

<p>Ultimately, until the 0 and max values map to a reflectance or opacity or luminance, there is no way for you to say what the "dynamic range" of the data is.</p>

<p>It isn't your brain that is doing that mapping; it is a DAC sitting in a printer or monitor. So you have to ask: when the DAC sees 0 what will it do? And when it sees max value, what will it do?</p>

 

<blockquote>

<p>If I present the DAC in the printer with an 8 bit file, with data ranging from 0 to 255, the printer has no idea what the scene looked like. It has no idea if there are 1, 2, 5, 10 or however many stops crammed into that one data level of 0. It can only print level 0 as it's version of black. It may very well have a DR of 10, but who cares? THis doesn't have anything to do with the argument. The argument is that the dynamic range (as measured in stops) of the information captured by sensor/ADC is limited by the sensor/ADC.</p>

 

</blockquote>

<p>Thats right, the printer has no idea what the scene looked like. Yes, when it sees 0, it will print black. The important thing is, if this is an 8 bit printer, it will print FF as white. If it is a 16 bit printer, it will print FFFF as white. If it is a 4 bit printer, it will print F as white, and if it is a 1 bit printer, it will print 1 as white.</p>

<p>In other words, it will map the codes presented to it <em>onto its own dynamic range</em> . The scene could have had the sun and a backlit bicycle: a huge dynamic range - and I could encode it with one single bit - the sun would appear white, and the bicycle black. The printer mapped the scene to its own DR, and you will see a black backlit bike with the sun behind it.</p>

 

<blockquote>

<p>If your scene has a dynamic range of 10 stops, and your ADC is 8bits, you can only meaningfully identify 8 stops of information from the scene.</p>

</blockquote>

<p>Lets take a scene of 20 stops, and two cameras - one with an 8 bit ADC and one with a 16 bit ADC (since we are talking different bit-depths here). Both cameras have the same photodiodes - capable of say 10 stops. Per your hypothesis, the 8 bit ADC can only capture 8 stops worth of information from the photodetector, right? Its output of 255 (for all practical purposes) is mapped to the brightest part of the scene, and you keep dividing until 8 stops are done, then the ADC can't encode no more, making the lowest 2 stops squashed into black.</p>

<p>What does the 16-bit ADC do? If it maps the brightest value to FFFF, then keep dividing, 10 stops go away and you have six bits left over, which according to you are "empty". Like I said before, I don't know what that means, but lets say they are all zeros. So the data set of this camera would be :0000 for black, then the tiniest increase in light intensity would immediately cause the next value: 0040 (this is 0000_0000_0100_0000 binary; the lowest 6 bits are 0s)</p>

<p>This means that the first discernible tone that is not pure black is 6 stops lighter than black. Obviously there is something wrong here, right? Because in the original scene, the tone that was just slightly lighter than black wasn't separated by 6 stops from black.</p>

<p>If you say that 0040 is the minimum of the data that can be for black, then I should remind you, that is not how the ADC will work. Noise is not a DC voltage, it is a randomly varying waveform, and the ADC might capture all zeros at the sampling instant.</p>

<p>Besides, even if it didn't and you got a data set that only went from (0040 to FFFF), the printer is not <em>sentient</em> (ha, ha - see what happens when you play my card? I can twist it around), and can't know that f<em>or your specific 16-bit camera 0040 means black</em> . For the printer, monitor or any DAC in the path, 0000 means black, and the value 0040 is 6 stops brighter.</p>

<p>Can you explain how your theory works again?</p>

 

Link to comment
Share on other sites

<p>Vijay,</p>

<p><em>"Helen, let's discuss your question to me for a bit first, please. You asked me about dynamic range, Dmax and Dmin; evidently you thought that somehow your and my definitions differed."</em></p>

<p>Happy to do so.</p>

<p>Here's the first answer you gave to my request for your definition of dynamic range:</p>

<p><em>"Dynamic range is just Dmax:Dmin; unless Dmin is 0, the dynamic range is finite, regardless of the slope of the characteristic curve. The dynamic range is the ratio of the height of curve at the top to the height of the curve at the bottom, regardless of the slope."</em><br>

<em><br /> </em><br>

Now I understand that to be density range, not dynamic range. Generally when people refer to dynamic range of, say, film vs digital (people talk about that occasionally) they are referring to the ability of the medium to capture scene brightness range - ie the exposure range (x-axis on a standard characteristic curve) between the toe and the shoulder, not the density range (y-axis on a standard characteristic curve, or 'height' as you call it).</p>

<p>You threw me another curve ball by referring to it as a ratio of DMax to DMin, because DMax and DMin are conventionally expressed as log values, so the density range is conventionally expressed as the difference between DMax and DMin. It is finite even when DMin (being a log) is zero. If the minimum density isn't expressed as a log it cannot be zero. That means that no matter whether the density range is calculated from arithmetic densities as a ratio or from logarithmic densities as a difference it is always finite (as long as the material is not opaque) - that makes sense. It would not make sense to have a method of calculating density range that could give an infinite result - unless the maximum density is infinite (total opacity), when infinite density range makes sense.</p>

<p>You later gave this similar meaning for dynamic range:</p>

<p><em>"for film, it is opacity range; which is identical to density range."</em></p>

<p>Again, that is what I would call the density range of the film, not the dynamic range. If you call the density range of the film the dynamic range, what do you call what I call the dynamic range?</p>

<p>Best,<br>

Helen</p>

Link to comment
Share on other sites

<p>Here's one more thing I thought of: maybe Helen and Bernie - you are confusing the input range of the ADC with a dynamic range. <em>An ADC doesn't have a dynamic range</em> , because it converts from a physical to a logical (or abstract mathematical) domain. It has an input range that it can convert, but an <em>input range</em> differs from a <em>dynamic range</em> . A dynamic range by definition applies the <em>output</em> of a transducer.</p>

<p>The output of the photodiode has a dynamic range: but as soon as you feed this into an ADC, all information pertaining to dynamic range is lost.</p>

<p>Also there seems to be the argument that if the dynamic range of the output of the photodiode is say 10 stops, then using a 16 bit ADC doesn't magically increase this information. Of course thats true and I've said that dozens of times. In fact, the Ken Rockwell quote I used was to exactly the same effect. Bernie now uses this argument <em>against</em> me as if I were saying the opposite.</p>

<p>We are talking about what happens when you go to an ADC that has less than 10 bits. Can say an 8-bit ADC encode a 10 stop dynamic range coming in from the photodiode?</p>

<p>I say yes: this happens simply by squashing two stops worth of tonal information into black. The ratio of white to black that is finally reproduced on paper will be identical if you used an 8-bit ADC or 16-bit ADC (or even 1-bit ADC - a 1-bit ADC will simply squash every tone other than the brightest and a stop lower to black).</p>

<p>This is a process of mapping dynamic ranges of one device to the input range of another and can happen several times in any information channel.</p>

<p>In this very thread Mario posted a Black Madonna image which started another argument: nobody could tell from the image what the dynamic range of the original scene was. I mean, there was something really bright outside the stained glass (like sky) and there was the face of the Black Madonna. Looking at the image, what information can you derive about the dynamic range (actually, to be precise, the luminance range) of the original scene?</p>

<p>Heck, looking at one of Ansel Adams' prints, what information can you derive about the luminance range of the original scene?</p>

<p>If you assume that the dynamic range can't be "mapped" you run into things like "empty bits" or a requirement that the ADC output code have intrinsic meaning - like "linear" and "integer". You also run into the implicit requirement that every DAC and every ADC of the same bit-depth have the exact same voltage ranges and noise relationship. You also run into a requirement that an ADC convert to 2^n steps which is quite untrue. Nothing in the world prevents me from building an ADC with a <em>prime number of steps</em> , encoding each step as a position of a stepper motor, and using the stepper motor position as an input to a DAC to convert back to the original voltage. If I did this, I could never represent <em>any</em> "stop" as Bernie says with accuracy.</p>

<p>Nothing in the whole theory of discrete time, discrete value systems requires the use of binary logic, or ternary logic or decimal logic or anything else. I already presented the mathematics for analog to digital conversion in a previous post. But individual tones and images can be accurately reconstructed regardless of the digital representations. One of my professors Ph.D. thesis was about a tiny circuit that performed a ternary (base 3) analog to digital and digital to analog conversion. This used no current, current in one direction and current in the other direction as the three states, and a very ingenious bipolar junction transistor based circuit to do the conversion. It could provide a speedup of around 1.4 times that of a binary ADC.</p>

<p>Sorry, Helen and Bernie (and Helen, you seem to imply you are a designer: as in an EE perhaps, so you should know this stuff inside out) your hypothesis has holes that you need to fill.</p>

<p>And finally, like I asked, a relationship showing dynamic range as a function of bit depth is implied by your discussions. Could you put it in mathematical terms? In other words, define a mathematical function f such that DR = f(bit_depth).</p>

 

Link to comment
Share on other sites

<p>You are right, Helen, I should have said opacity range. What I said applied strictly to opacity; and if you take the densities, it is the difference of the heights, not the ratio. Thus, if Dmax = 4 and Dmin = 1, the dynamic range is simply 10^3. In my haste I forgot the issue of log scale. Sorry for the confusion.</p>

<p>But now we get to what I was digging for:</p>

 

<blockquote>

<p>Generally when people refer to dynamic range of, say, film vs digital (people talk about that occasionally) they are referring to the ability of the medium to capture scene brightness range - ie the exposure range (x-axis on a standard characteristic curve) between the toe and the shoulder, not the density range (y-axis on a standard characteristic curve, or 'height' as you call it).</p>

 

</blockquote>

<p>That's an error. Reasons:</p>

<p>1. The characteristic curve shows response of film (or a transducer) with respect to changing input. The range of the input for which the transducer responds is the <em>input range</em> , and the range of values the transducer produces is the <em>dynamic range</em> .</p>

<p>This is the scientifically accepted, proper defintion.</p>

<p>2. If you take the input range to be same as the dynamic range, you run into this case: TechPan in Dektol - you see extreme contrast, and an almost hard threshold below which the film goes black and above which it goes white. So if you go by the "casual" definition of dynamic range, then a very tiny exposure change changes the film from Dmin to Dmax. This implies that this film in Dektol has <em>zero dynamic range</em> which is not true.</p>

<p>3. What is the dynamic range of a print then? The luminance range of the enlarger? Negative?</p>

<p>In order to truly understand this whole issue, I stick to strict definitions (like you haven't figured that out by now) - and the strict defintion of dynamic range of film is its opacity range or its density range (if you use bels as the unit, dynamic range is exactly equal to (Dmax - Dmin) * 2 ).</p>

<p>Agree?</p>

Link to comment
Share on other sites

<p>Vijay,</p>

<p>I'm still finding that there is a complete logical disconnect between what Bernie and I have been trying to explain and the unrelated argument that you are locked in to. I have no idea how to break through that right now, other than to ask you to think about my previous suggestion:</p>

<p>Try to look at it as if you were a detective. All you have are the CCD-PGA-ADC characteristics and the output data. What is the maximum amount of data that you can deduce <em>for certain</em> about the exposure that the CCD received?</p>

<p>Let's take this one step at a time...</p>

<p>Best,<br>

Helen</p>

Link to comment
Share on other sites

<blockquote>

<p>What is the maximum amount of data that you can deduce <em>for certain</em> about the exposure that the CCD received?</p>

 

</blockquote>

<p>1. How is the exposure that the CCD received related to the dynamic range of that CCD?</p>

<p>2. How do I make sense of the ADC data unless I know what each code means? What code to voltage (or luminance) conversion table should I use?</p>

Link to comment
Share on other sites

<p>Vijay,</p>

<p>Quotes from you, in this thread:</p>

<p><em>"Umm, I don't get the whole log vs linear thing - it is dynamic range that matters, so lets say a dynamic range of 80 db (10,000:1) is a dynamic range of 80 dB = 13 plus stops = 10,000:1 = 4.0 and so on. Shapes of curves don't really matter, you can always convert between curve shapes. If it is log, apply an antilog function. If it is linear and you want log, just take the logarithm etc. </em><br>

<em> Film may well have 80 dB dynamic range, but digital sensors will eventually get there if they aren't already there."</em><br>

<em><br /> </em><br>

<em>"I stick to strict definitions (like you haven't figured that out by now) - and the strict defintion of dynamic range of film is its opacity range or its density range (if you use bels as the unit, dynamic range is exactly equal to (Dmax - Dmin) * 2 )."</em></p>

<p>Please reconcile these.</p>

<p>Thanks,<br>

Helen</p>

 

Link to comment
Share on other sites

<p>Vijay,</p>

<p><em>"1. How is the exposure that the CCD received related to the dynamic range of that CCD?</em><br>

<em>2. How do I make sense of the ADC data unless I know what each code means? What code to voltage (or luminance) conversion table should I use?"</em></p>

<p>I was going to leave the choice of those values to you. You have already given some ADC data - why not compare the 3-bit ADC with a higher-bit ADC?. I suggest 600 mV/lux s linear to 2100 mV, 3200 mV at full well, 0.2 mV RMS noise for the CCD if you have nothing else that you would prefer to use. Zero dB for the PGA seems sensible.</p>

<p>Best,<br>

Helen</p>

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...