On Fri, Aug 08, 2008, Anthony Thyssen wrote: > My own concerns with dithering was the psuedo-randomness that comes from > the distribution of the error. That is a single pixel change causes a > completely different pattern over all the parts of the image that > follows. All error-correction dithers suffer from this, and it basically > makes animations a pain to deal with. > > See some results in.. > http://www.imagemagick.org/Usage/video/#gif
Yes, I understand the problem. There have been attempts at temporal error diffusion, but nothing really groundbreaking IMHO. And it appears that the quality perception is even more subjective: plane_ugc.gif looks good to me, but others will be annoyed by the apparent noise. Conversely, I don't like plane_od.gif because I find the pattern regularity distracting, but others will like it more. > It was because of this concern that I re-wrote the Order-Dither > algorithm so that it can be used with colored images, and not just black > and white. However it is limited to using specific color levels, rather > that the 'best' color map. > > I know there is a algorithm that will allow ordered-dither to use a > given color map, but have not found any information on that method, > so have been unable to implement it. You might be referring to Ostromoukhov et al.'s work: "Reproducing Color Images Using Custom Inks" followed by "Multi-Color and Artistic Dithering". (by the way, Ostromoukhov also wrote "Optimal Halftoning for Network-Based Imaging" which you might be interested in for the animation dithering issue) > Basically IM is open to implement other dithering methods, or even any > raster image processing algorithm. What is needed is someone with the > time, the programming skills (C programming), and the knowledge to add > new routines. What a new general dithering method becomes available, > then the +/-dither option can then be replaced with something to > select what type of general dithering method should be employed. I am actually working on my own imaging library (just a hobby, won't be big and professional like ImageMagick) and most of my energy will go in there because it's a broader experimental playground. But I'm also willing to contribute my findings back to projects that might make good use of it, so I'll be glad to contribute patches and ideas to IM from time to time. A few things are way too complex for me right now, though. For instance, IM's Gaussian blur routine runs in O(n^2) instead of O(n), making it painfully slow to blur images. Someone might want to have a look at this. > You are welcome to add the new dither, and submit a patch, You can > download the latest Subversion beta sources from the IM website, which > you can compile and run directly from the source area (mail me for > details, I'll be glad to help). My patch is against yesterday's SVN. However I don't really know how to make it a runtime choice, the project is so complex that I'm sure to overlook something. I'd feel more comfortable if I only had to do the low-level stuff and had someone else do the integration :-) Cheers, -- Sam. _______________________________________________ Magick-developers mailing list Magick-developers@imagemagick.org http://studio.imagemagick.org/mailman/listinfo/magick-developers