on 3/16/03 11:06 PM, Austin Franklin at email@example.com wrote:
> Hi Roy,
>>>> I think you missed the rest of Paul's statement. As he says "finer
>>>> gradations are indeed represented in an 8-bit image through dithering".
>>>> If you scan a real image in 16-bit mode and there are more gradations
>>>> between say 128 and 129, even after converting to 8-bit mode there
>>>> will still be gradations between a pure 128 and a pure 129 patch.
>>>> Photoshop creates these extra gradations by dithering the transition
>>>> between 8-bit values.
>>> Then it really wouldn't matter if they existed or not, as it
>> simply wouldn't
>>> know...and it would create them anyway, right?
>> Not sure I fully understand your question/comment. What I'm
>> saying is that
>> the in between values that can obviously be there in the 16-bit
>> are actually
>> preserved on conversion to 8-bit, not that anything new is
> How? If I have three 16 bit values 0x1234, 0x1288 and 0x1388, when I
> convert those to 8 bits (assuming the 16 bits has had its setpoints set, so
> the entire 16 bit range has the image values to the extents), I will get
> 0x12, 0x12 and 0x13, and lose any discrimination between 0x1234 and 0x1288,
> there is now no intermediate value.
> When you are talking about dithering, it is in fact creating new "data", and
> in this case, data between the actual data. Then what does "through
> dithering" and "by dithering the transition between 8-bit values" mean?
> It's creating new image data that didn't exist. I'm not saying it's putting
> it in the file, but where ever it's outputting it, it's creating new data
> that isn't in the 8 bit data file.
>> When I
>> used the word "creates" I mean PS creates a 8-bit representation of the
>> existing 16-bit gradation not that it makes up new gradations.
> Then I'm not understanding what you are saying, as it seems contradictory to
> your wording. How can it smooth transitions from adjacent 8 bit values (127
> and 128) without creating a new gradation, that does not exist in the data
> file? If there was a gradation between the two in the 16 bit file, the 8
> bit file simply does not know that! How could it?
You seem to be totally missing the point. Images are MANY pixels not just
one pixel. You can't look at a single pixel and decide the properties of
the whole image. You may recall this whole thread started with Alex saying
a patch of pure 127 is distinguishable from a patch of pure 128, therefore
concluding that 8-bits is not enough. As Paul remarked and I concurred
there are lots of potential grays representable in 8-bit between the two
pure patches. 127.5 is easily represented by half the pixels = 127 and
the other half = 128. Doing this you can represent whatever number of
grays you like. The idea is that you are gaining tonal accuracy at the
expense of spacial resolution, but we're talking about very gradual
gradients where resolution is not important.
The concept is always called DITHERING in the imaging world. You can
quote DSP definitions, but unless you apply them as is standard in the
imaging industry you are not going to understand and be understood.
Your DSP definitions can apply quite easily -- the dithering is simply
adding that 1/2 LSB noise to the data and then truncate to 8bit. So:
127 goes to 127 +/- .5 goes to 127
127.5 goes to 127.5 +/- .5 goes to half 127, half 128
128 goes to 128 +/- .5 goes to 128
This is what Photoshop does in converting from 16 to 8 bit. I wouldn't call
this creating new data, in fact its just a way to best preserve the existing
data of 127.5
>>>> In fact, by default, even the gradient tool
>>>> smoothes transitions from one 8-bit values to the next -- you don't
>>>> get 256 steps you get a smoothed gradient from end-to-end.
>>> What about any other display program (not PS), or printing? I
>> mean, the 8
>>> bit data is simply 8 bit data, the "in between" data just doesn't exist.
>> Actually, the "in between data" does exist in the form of
> But that is independent of whether it was in the original 16 bit data or
> not. If the algorithm is in fact dithering, as you are describing (creating
> extra gradations), it will dither between the two values whether the
> transition was in the original 16 bit data or not.
>> as a print can have more grays than the number of inks, so to can the
>> PS file represent more grays than the 8-bits might seem to allow.
> Those are two entirely separate things. Dithering, as you are using the
> word, DOES in fact create new data if it is creating intermediate tones
> between two values, 127 and 128, in your output. Dithering, as in the
> algorithm to basically halftone the image, may or may not create new "data",
> that would depend on the algorithm.
>>> Creating this "in between" data has to be something that is deliberately
>>> done, and it may in fact be creating something that didn't exist in the
>>> first place!
>> Again, I'm not talking about CREATING "in between" data I talking
>> about the
>> representation of it where it already exists.
> But no value exists between 127 and 128, so where is it coming from?
>> One thing to remember about dithering is that its a resolution versus
>> tonal value tradeoff. So the more resolution you give the above tests
>> the better the tonal gradations you'll see.
> If an algorithm is converting image data to be able to use the N inks to
> supply M tones, it does not have to create any new image data between
> existing data values if it doesn't want to. It can make 256 discrete tones
> from 8 bit data if it wants to.
> Dither basically means to "be indecisive". It has a specific meaning in
> Digital Signal Processing, and that is adding random noise. Basically,
> dithering is a small amount of random noise that is added to a signal that
> can prevent truncation of signals below the LSB, thus increasing the
> perceived dynamic range of a system. Undithered signals contain truncation
> distortion that manifests themselves as artificial harmonics.
> Typically, what I've done is add a "dither bit" to the end of the actual
> data, that provides the "intermediate" values. Again, this added bit will
> be random, and not part of the original data, I am actually creating new
> data, that in fact may have not even existed in the original higher bit
> Unsubscribe by mail to firstname.lastname@example.org, with 'unsubscribe
> or 'unsubscribe filmscanners_digest' (as appropriate) in the message title or
Black & White Photography Gallery
Unsubscribe by mail to email@example.com, with 'unsubscribe
or 'unsubscribe filmscanners_digest' (as appropriate) in the message title or