fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Purpose of dither?


From: Miguel Lobo
Subject: Re: [fluid-dev] Purpose of dither?
Date: Fri, 11 May 2007 18:04:55 +0200

It does not matter if you add random float to a float and truncate or
trancate and add a random bit, the outcome will be exactly the same
sequence of bits so it does not matter, you can always add dither
later.

Write it out...

trun(signal + noise) = trun(signal) + noise'

notice that noise' is not the same as noise, but the equality holds
so one can do what can not be done -- remove undesired harmonic
after truncation.

The problem is that there is no way of calculating noise' after the truncation.  You would need the information that was lost in the truncation.

I think a visual example might be easier to understand.  In the Wikipedia page for dither http://en.wikipedia.org/wiki/Dither they have a series of pictures of a cat.  The first one is the original high-depth photograph.  In the second picture, truncation has been applied without dithering and you can see big flat areas of uniform color.  How can you know which was the original shade of a pixel in those flat areas?  You can't.  In the third picture, truncation has been applied with dithering.  You can see that although the palette of the third picture is the same as that of the second, the "average" color of each area has been much better preserved.  There are more bright pixels where the original picture was brighter, and fewer where it was darker.  To do that you need the information in the original picture.

Regards,
Miguel


reply via email to

[Prev in Thread] Current Thread [Next in Thread]