First, I don't want this to turn into a "shoot RAW vs JPG" thread. This is meant to analyze the differences between bit depths and not to argue about which way is better.
OK, so we all are aware that as the bit depth goes up, the file is capable of holding more levels at each pixel. This translates to more detail in an image. The number of possible levels for each bit depth per pixel is as follows:
8bit=256
12bit=4096
14bit=16,384
16bit=65,536
As an 8 bit image changes in value by one point, a 12 bit changes by 16 points, a 14 bit by 64 and a 16 bit by 256.
Is anyone aware of the usable range at each bit depth. Example (for the same image at different bit depths): for 8 bit the actual range is 0-255 but the usable range (where you can still pull usable detail) might be 25-245. If, say, a 12 bit image has a usable range of 395-3930, this would be almost the same, though slightly more and probably not noticeably so.
Now, let's say we're converting from any of the higher bit depths to 8 bit and saving it as a jpg. Will this image have any more detail than a file that was originally captured in 8 bit and saved as a jpg? I understand the idea that you can pull out more detail at higher bit depths and maybe enhance those details. That isn't what I'm talking about. That's why I, and many others, will shoot RAW instead of JPG only. But what I'm talking about is data out of the camera.
I'll ask another way if anyone hasn't understood. If you shoot an image in RAW+JPG without any enhancement settings in camera (no sharpening, contrast, saturation, etc.) then save that JPG to your computer. Now you take the RAW and run a straight conversion on it to JPG, would this one hold more detail than the other one?
If you shoot a scene in RAW+JPG and have some blown highlights and do the same as above, will you be able to recover more in the second JPG vs the first? Remember, we are doing no modifications to the RAW other than conversion to 8 bit and jpg format.
Now, how much usable detail can one get from over/under exposed areas from a RAW that you can't from a JPG? How much dynamic range? 1 full stop? More? Less? I honestly don't know. That's part of this discussion.
So, enlighten me please. Hopefully this can be an educational thread and not turn into a trainwreck.
First things first: this is a good and important topic, one which it's important to understand (IMO), not simply in deciding what format to shoot in, but generally for the sake of understanding how your camera works. That said, I foresee this conversation getting very mucky with a lot of less-educated claims. If the RS / chip designers are reading, please for the sake of us all, chime in and identify yourselves when you do.
By way of clarification, though, what do you mean by 'usable range' when referring to an 8bit image?
SRB Photo wrote: By way of clarification, though, what do you mean by 'usable range' when referring to an 8bit image?
Very Simply Put: The waveform you see here represents image signals in the real world (analog) and the blocky portions represents the digital approximation. More bits per pixel of resolution means a more accurate representation of reality.
In other words you have more fine-grained control with a higher "bit-count"
Fernando L Pacheco wrote: Very Simply Put: The waveform you see here represents image signals in the real world (analog) and the blocky portions represents the digital approximation. More bits per pixel of resolution means a more accurate representation of reality.
In other words you have more fine-grained control with a higher "bit-count"
I understand the value of finer gradations - I do not understand the OP's reference to only a portion of that stepped range being usable for imaging purposes.
SRB Photo wrote: I understand the value of finer gradations - I do not understand the OP's reference to only a portion of that stepped range being usable for imaging purposes.
I thought he was referring to total available data per pixel. Re-reading it now I'm not really sure.
man.... I must be really stupid - but even after reading your text twice - I don't really understand what your talking about....
from my personal preference - it's RAW always....
for all the good reasons that are known - adjustable white-balance, exposure, etc.
And even more important for me as a Photoshop-Junkie - 16bit give me more possibilities for drastic changes without getting bad artifacts (or less of them).
I would guess that if you take a raw and develop it the same way with similar adjustments as your cameras does - THAN you should not have a "really" quality difference (the only difference I could see are colors - if your raw converter treats the color rendering different - than there could be slight differences)
Any other than that - there's too much mathematics involved in this for me - I really wouldn't care that much about the technology
I understand the value of finer gradations - I do not understand the OP's reference to only a portion of that stepped range being usable for imaging purposes.
SRB Photo wrote: OK. What does that have to do with the ends of an 8-bit JPEG being unusable?
Nothing.
That article beautifully explains the concept of dynamic range but I think that the OP is making a wrong assumption about the nature of dynamic range as it applies to various bit depths.
oh oh! pick me! there was a wonderful thread way before there was a digital arts forum here. This guy superimposed bit depth over a displacement map in a 3D program to help show the difference.
Oh, lord. This can't be done in ten easy paragraphs.
Ideally and in the simple case, if you have an 8 bit image version and a 12 bit image version, and the sensor and a/d are matched (the sensor is capable of 12 bits of dynamic range, and the a/d matching is linear) then the 8 bit image will have to lie somewhere in the 12 bits of range, and you toss information.
The concept of information versus data is very important. You can have a lot of data, and very little information, and vice versa.
However, the ideal and simple solution isn't real world. For example, jpeg doesn't capture in simple graded steps. Even though jpeg is 8 bits, the bit samples aren't spaced linearly, and the far ends of intensity are log based, not linear. So 8 bits of sampling yield 11 stops of dynamic range.
And to make matters worse, because the ends of the range are on the shoulders of the non-linear curve, where your burn-outs will lie in the conversion to jpeg will determine how much information (not data) you retain.
OK. What I mean by "usable range" is the levels in an image where you can pull out data that you can actually use vs data that is degraded to the point where you can see something, but the colors won't be correct as you pull it back, or the detail isn't complete. Areas where you would have to reconstruct to make it look right even though it isn't at 255/255/255.
Can you get details in an area that is an average of about 253/248/250? Would that data be usable?
I guess I can post an example to show what I mean.....gimme a few to get it ready.
That article beautifully explains the concept of dynamic range but I think that the OP is making a wrong assumption about the nature of dynamic range as it applies to various bit depths.
I'm not assuming anything. I'm making up examples to illustrate what I'm asking.
I'm also not referring to dynamic range at all. That's why I used "usable range" instead.
Where to start? There's a lot more to this than meets the eye, but I'll have a go.
In a digital system dynamic range is determined by the maximum signal available at the output, the number of bits in the data converter and the signal path gain or attenuation (ISO). In an analog system, the dynamic range is usually determined by the maximum signal and a the noise floor. Mostly, but not always, digital systems dynamic range will track the analog input for the simple reason that adding extra detail in a noisy system just gives you digitized noise, so there's usually no point.
Lets say your base ISO is 100 and that's what you are shooting at (ie no extra gain in the signal path) Assuming a linear system, regardless of whether you have an 8 bit system or a 12 bit system, the actual analog dynamic range doesn't change. What changes is the detail.
Then it gets murkey. the data we're dealing with isn't necessarily linear. There are non-linear algorithms that are user definable in Photoshop, and there are non-linear algorithms in you're camera which you can't access that are used when converting RAW to JPG.
When you say usable range what do you mean? Really all of it is technically usable, but then you get into the realms of how fine a change can you make to say the darks and it really be noticeable and for more advanced users, what can you really do with darks and not clag up the printer?
Then, when converting to JPG from RAW, what exact algorithm is used? What data is kept and what date isn't? Saving a JPG at 100% does not save detail. JPG is uses a lossy compression regardless of where you set your compression marker in your conversion program to.
You said
"Now, let's say we're converting from any of the higher bit depths to 8 bit and saving it as a jpg. Will this image have any more detail than a file that was originally captured in 8 bit and saved as a jpg?"
When you go from 8+xbit to 8 bit, you lose detail. Where depends on the algorithm used to do so. Is it linear? Does it have any dither? When you convert to JPG, what get's thrown away?
It's a kind of apples and oranges question since when you capture a RAW file and do with it what you will before you turn it into a JPG - is not the same flow as the camera doing it and in all probability your flow and the camea's flow will use slightly different conversion algorithms.
OK. Here is what I mean by usable range.....this is an image shot in RAW, 14 bit.
In this example, I lowered exposure, brightness, and contrast and turned up the Recovery in ACR then saved as jpg.
This is the original
The color picker identifies the pixels that are still white and around the edges from the first image where I can't use them without a lot of reconstruction. Most pixels fall between 246 and 255 on the various channels. However, as I adjust to try to recover, I can not recover any usable detail. I would still have to reconstruct in order to fix that region.
Photons 2 Pixels Images wrote: The color picker identifies the pixels that are still white and around the edges from the first image where I can't use them without a lot of reconstruction. Most pixels fall between 246 and 255 on the various channels. However, as I adjust to try to recover, I can not recover any usable detail. I would still have to reconstruct in order to fix that region.
This looks like 'simple' channel clipping to me vs. issue with the 8bit / 16bit debate.
Photons 2 Pixels Images wrote: OK. Here is what I mean by usable range.....
I can not recover any usable detail. I would still have to reconstruct in order to fix that region.
Yeah what you're demonstrating here has nothing to do with bit depth. Your overexposed area has a ton of pixels clustered together that are much brighter than the rest of the image and wayyy to similar in luminosity.
That's the nature of captured image. With more bit depth you might be able to recover more data but the "information" (as someone else referred to) is useless even if the data itself is great.
Photons 2 Pixels Images wrote: The color picker identifies the pixels that are still white and around the edges from the first image where I can't use them without a lot of reconstruction. Most pixels fall between 246 and 255 on the various channels. However, as I adjust to try to recover, I can not recover any usable detail. I would still have to reconstruct in order to fix that region.
This looks like 'simple' channel clipping to me vs. issue with the 8bit / 16bit debate.
OK. Channel clipping. Usable range. Where does the channel clipping occur in 8 bit images and where does it occur in 16 bit images? Is it comparable? If this image were shot in 16 bit RAW vs the 14 bit RAW my camera shoots, would I be able to recover more detail in that area? By how much?
Fernando L Pacheco wrote:
Yeah what you're demonstrating here has nothing to do with bit depth. Your overexposed area has a ton of pixels clustered together that are much brighter than the rest of the image and wayyy to similar in luminosity.
That's the nature of captured image. With more bit depth you might be able to recover more data but the "information" (as someone else referred to) is useless even if the data itself is great.
OK. This kinda hits on what I'm asking. At what point does this occur where you have the information but it's useless. As I mentioned "usable range" above. Same concept.
RAW - unmodified data from CMOS/CCD after the A/D conversion.
it probably consists of data array of the separate R / G / B *photosites* that pickup the signal before calculating pixel information.
to get to a RGB pixel information you need to have a *Bayer conversion*
however from what I remember the problem is the non-linear distribution of level of shades (ie you have less in the darks, and more shades in the highlights, unlike in post processing where you have uniform distribution of shades in a gradient).
when you shoot directly in JPG you get just as much out of the camera/image as you would if you process it from RAW in automated mode. (with raw you can modify it if you like, before you develop the jpeg)
If you get some highlights clipped (in jpeg but you have it in RAW) that is because the default processing is set to get that kind of target contrast in the image.
if you ever plan to do post processing you should start from RAW, develop in 16bit and only work with it. if you at any step go back to 8bit you loose .. for lack of a better word "shade-resolution".
for those having problems to visualize it... when converting from 16bit to 8bit - think of it as downsizing the image resolution, even if you "upsize" it back even if your pixel resolution is the same as you started you have lost spatial resolution or LPR (line pair resolution).
it is the same with 16bit to 8bit. but instead of losing spatial resolution you lose colour-shade resolution, and when you post process on the 8bit you will usually see spikes in the histrogram.
Photons 2 Pixels Images wrote: OK. Channel clipping. Usable range. Where does the channel clipping occur in 8 bit images and where does it occur in 16 bit images? Is it comparable? If this image were shot in 16 bit RAW vs the 14 bit RAW my camera shoots, would I be able to recover more detail in that area? By how much?
I think the EEs are going to be able to give a technically more accurate answer, but I believe you're really asking about two different issues here:
1.) How much DR does the sensor itself have (the "information")?
2.) And how well paired is the ADC's bit depth to that DR?
In almost no case is it likely that a 16bit ADC would have allowed you to pull back that nose - from the moment you clicked the shutter, the sensels began to fill with photons and when they hit capacity, you were out of luck.
That said, it is theoretically possible (albeit unlikely) that a sensor could be developed which would be undresolved by its paired ADC. It seems that likely was starting to happen a bit around the time of the 30D / 5D bodies and Canon's switch to 14bit processing thereafter. Since, I think marketing pressure has dictated that as soon as a sensor goes into marketing which will come close to making good use of that next-higher ADC, it gets included. Especially as the MF market continues to be encroached upon.
Where to start? There's a lot more to this than meets the eye, but I'll have a go.
In a digital system dynamic range is determined by the maximum signal available at the output, the number of bits in the data converter and the signal path gain or attenuation (ISO). In an analog system, the dynamic range is usually determined by the maximum signal and a the noise floor. Mostly, but not always, digital systems dynamic range will track the analog input for the simple reason that adding extra detail in a noisy system just gives you digitized noise, so there's usually no point.
Lets say your base ISO is 100 and that's what you are shooting at (ie no extra gain in the signal path) Assuming a linear system, regardless of whether you have an 8 bit system or a 12 bit system, the actual analog dynamic range doesn't change. What changes is the detail.
Then it gets murkey. the data we're dealing with isn't necessarily linear. There are non-linear algorithms that are user definable in Photoshop, and there are non-linear algorithms in you're camera which you can't access that are used when converting RAW to JPG.
When you say usable range what do you mean? Really all of it is technically usable, but then you get into the realms of how fine a change can you make to say the darks and it really be noticeable and for more advanced users, what can you really do with darks and not clag up the printer?
Then, when converting to JPG from RAW, what exact algorithm is used? What data is kept and what date isn't? Saving a JPG at 100% does not save detail. JPG is uses a lossy compression regardless of where you set your compression marker in your conversion program to.
You said
"Now, let's say we're converting from any of the higher bit depths to 8 bit and saving it as a jpg. Will this image have any more detail than a file that was originally captured in 8 bit and saved as a jpg?"
When you go from 8+xbit to 8 bit, you lose detail. Where depends on the algorithm used to do so. Is it linear? Does it have any dither? When you convert to JPG, what get's thrown away?
It's a kind of apples and oranges question since when you capture a RAW file and do with it what you will before you turn it into a JPG - is not the same flow as the camera doing it and in all probability your flow and the camea's flow will use slightly different conversion algorithms.
Yes. Very informative. Thank you.
For the sake of theory, let's assume that all conversion algorithms are identical. It's understood this is not the case in the real world.
If I have a camera that shoots in 8bit and one that shoots in 14 bit, and I shoot the exact same scene with the same settings on both, would I be able to pull detail from the 14 bit image that is blown out in the 8 bit? If I convert the 14 bit to 8 bit, would it look identical to the other 8 bit?
I really don't like using the term dynamic range for this, though it is in a way similar. I just don't know how to ask exactly what I'm thinking. Please be patient with me here.
Ravendrive Productions wrote: oh oh! pick me! there was a wonderful thread way before there was a digital arts forum here. This guy superimposed bit depth over a displacement map in a 3D program to help show the difference.
Snap2 came up with a great way to see sensor spots in broad areas of a digital image, to the point that you're able to clone or heal away spots you never knew were there because you couldn't see them in a conventional manner. In a link from another thread, someone came up with a way to use crushing sliders to show me how feeble 8 bit is when compared to 16 bit, even though in over 20 years of doing this, I have never seen a need to clamp a file like that. Raven just remembered a map in a 3D program that will help show the difference between 8 bit and 16 bit, which makes me wonder at how I can use a utility like that in a 2D program.
When I send files to the clients, I don't put those utilities over the final image, they would make them look silly I think.
I think the EEs are going to be able to give a technically more accurate answer, but I believe you're really asking about two different issues here:
1.) How much DR does the sensor itself have (the "information")?
2.) And how well paired is the ADC's bit depth to that DR?
In almost no case is it likely that a 16bit ADC would have allowed you to pull back that nose - from the moment you clicked the shutter, the sensels began to fill with photons and when they hit capacity, you were out of luck.
That said, it is theoretically possible (albeit unlikely) that a sensor could be developed which would be undresolved by its paired ADC. It seems that likely was starting to happen a bit around the time of the 30D / 5D bodies and Canon's switch to 14bit processing thereafter. Since, I think marketing pressure has dictated that as soon as a sensor goes into marketing which will come close to making good use of that next-higher ADC, it gets included. Especially as the MF market continues to be encroached upon.
Ahhhh...now this gives me something to chew on. The light is starting to come on.
In all the discussion of RAW vs JPG that I've seen, it's been implied that RAW can capture data in blown out areas where JPG can't. I can believe this is true, but all other things being equal, would the same image from the same sensor blow out the same whether RAW or JPG? Of course, the in-camera conversion/compression would cause some data loss and through averaging algorithms would probably cause some pixels to clip. That's inevitable. But for a blown out area in JPG, would it also have been blown out in RAW?
I think I'm going to have to do some experimenting by shooting some RAW+JPG and see how much difference there is in bringing back highlights and if one clips much faster than the other. It's probably been done, but I'll enjoy doing it myself.
Photons 2 Pixels Images wrote: I think I'm going to have to do some experimenting by shooting some RAW+JPG and see how much difference there is in bringing back highlights and if one clips much faster than the other. It's probably been done, but I'll enjoy doing it myself.
The biggest thing to remember is to crank your Contrast as low as it goes, so that it'll avoid clipping the ends in the name of a 'snappy' image. The images won't be ones you'd necessarily want to work with (8 bits and needing lots of curves), but it should make its point.
SRB Photo wrote: By way of clarification, though, what do you mean by 'usable range' when referring to an 8bit image?
I'm a little confused by this as well. Just so I understand, are you referring to the point at which shadows will plug and the highlights will blow out? Are you referring to a usuable range of say, 25 - 248? Is that what you're referring to?
Do you provide a picture of those spikes to your client so they can tell they have a potential problem?
the spikes are just indication in your workflow
I'm sure you can also work in sRGB, and in the last step convert to ProPhoto... and your client won't be able to "see" a problem either... but I'm sure you don't do it.
not so... what you put in front of the CCD/CMOS/etc does not change the DR of the sensor.
if you compare 10bit AD and 19AD of the same sensor you'll get the same DR but have better gradients (simply put)
Not entirely. Oversampling the sensor will only do you good up until you've overcome the ADC's own noise level - beyond that there's literally nothing to be gained from greater bit depth (else we'd have the bit depth wars, which would be so transparent as to be ridiculous). As well, reducing the number of photons arriving to each sensel inherently decreases its DR - less photons, less information to sample.
The biggest thing to remember is to crank your Contrast as low as it goes, so that it'll avoid clipping the ends in the name of a 'snappy' image. The images won't be ones you'd necessarily want to work with (8 bits and needing lots of curves), but it should make its point.
That's what I was thinking also. I may also try it in monochrome to see if there is a difference. This would give me a starting point I think that doesn't require all the channels needing to be within a specific range.
I'm sure you can also work in sRGB, and in the last step convert to ProPhoto... and your client won't be able to "see" a problem either... but I'm sure you don't do it.
I'm a little confused by this as well. Just so I understand, are you referring to the point at which shadows will plug and the highlights will blow out? Are you referring to a usuable range of say, 25 - 248? Is that what you're referring to?
Yes. You can grab some detail below and above a certain point, but is it really usable data?
The numbers I used were not based on any specific evidence but rather just examples I used in order to try to explain my question better.
I know what it shows, but I'm trying to tease out whether you actually mean 'gaps' vs. 'spikes', and at that whether you believe that a gap must mean apparent posterization?