[Bf-committers] Dithering

Nick Winters nickrwinters at gmail.com
Mon Nov 1 00:10:41 CET 2004


also, techniques like Floyd-Steinberg don't work well on the edges of
images, and could possibly create visible artifacts [well, perhaps not
to humans if you are dithering to 8 bits per channel, but it is very
visible when you dither to 8 bits total], which would result in an
image that is rendered in parts not being the same as an image
rendered as one

that said, I would like to see if the random technique appears to
shimmer, or if that is not noticable.

I'd imagine lossy compression of animations or stills [jpeg] would
take care of the randomness well, but lossless compressions [rle in
tga and the compression png uses] might have a hard time, if they can
compress at all.

On Wed, 27 Oct 2004 13:04:55 -0700 (PDT), Goran Kocov <gkocov at yahoo.com> wrote:
> 
> 
> 
> --- Alexander Ewering <blender at instinctive.de> wrote:
> 
> >
> > On Wed, 27 Oct 2004, Roland Hess wrote:
> >
> > >>
> > >> This looks *very* promising, though I'm a bit
> > worried about animation
> > >> "flickering" if it uses random noise.
> > >>
> > >> Ton, you should have a look at this :)
> > >>
> > >> | alexander ewering              instinctive
> > mediaworks
> > >> | ae[@]instinctive[.]de
> > http://www[.]instinctive[.]de
> > >
> > > In my experience in image manipulation and
> > commercial printing, a noise
> > > variance of only1% in the luminosity of an image
> > is enough to remove visual
> > > banding. At that level the noise is almost
> > unnoticable to the naked eye. I
> > > would be very surprised if it caused flickering in
> > an animation. If anything,
> > > it would give it a slightly more organic feel. The
> > only problem I would
> > > foresee is that it would screw with frame
> > differential compression methods.
> >
> > Only if it is purely random. Floyd-Steinberg
> > dithering uses a 'fixed'
> > kind of 'noise' (it's not even noise), so it should
> > also work well with
> > those compression methods.
> 
> I don't know a lot about dithering algorithms, so I
> spent some time this afternoon googling for
> Floyd-Steinberg dithering. From what I understood
> about it, it's not possible to implement F-S dithering
> in Blender without rewriting a big part of the
> renderer. At the moment, the float to char conversion
> takes place immediately (or almost immediately) after
> a pixel has been rendered. In order for the F-S
> dithering algorithm to be able to function, at least
> two scanlines need to be kept as float before
> converting their pixels to char.
> 
> IMO, a sophisticated dithering algorithm may be of big
> importance when converting an 8-bit greyscale image to
> a 1-bit black-and-white one, but when converting from
> a floating point to an 8-bit image, a simple random
> dithering algorithm can do the job just fine (not
> counting the compression problems).
> 
> Goran
> 
> 
> __________________________________
> Do you Yahoo!?
> Read only the mail you want - Yahoo! Mail SpamGuard.
> 
> 
> http://promotions.yahoo.com/new_mail
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
>


More information about the Bf-committers mailing list