ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Talk:Floyd-Steinberg dithering - Wikipedia, the free encyclopedia

Talk:Floyd-Steinberg dithering

From Wikipedia, the free encyclopedia

Contents

[edit] Error in pseudocode

Is this pseudo code correct? I think it should be:

     pixel[x+1][y] := pixel[x+1][y] + 7/16 * quant_error
     pixel[x-1][y+1] := pixel[x-1][y+1] + 3/16 * quant_error

...

otherwise we set all the neighbors to low values —Preceding unsigned comment added by 71.231.1.193 (talk • contribs) 21:51, 17 February 2007

yes, it was corrected a couple days later. Han-Kwang (t) 21:47, 4 September 2007 (UTC)

[edit] Rounding?

Ideally, should the FSD algorithm round the quantization errors to the nearest integer, or not? Or doesn't it matter at all? Shinobu 15:57, 4 September 2007 (UTC)

FSD doesn't make an assumption about the representation of the pixel values. It works just as well when the pixels are floating point numbers between 0 and 1. For speed reasons, an implementation might do everything in integer math, but the result won't be as good. Suppose all pixels have value 1, but you have to encode with a palette with either 0 or 2. So the quantization error is 1 each time, but 7/16 and the other distributed errors are all rounded to 0 and the algorithm won't work. Han-Kwang (t) 21:47, 4 September 2007 (UTC)

Yes, I see. That means that as the destination levels get higher and higher, the rounding will matter less and less. In real applications, the levels could be {0, 255} or even {0, 65535}. Of course you could also save 16 times the errors if space allows and do the bit-shift later. Shinobu 23:40, 5 September 2007 (UTC)

[edit] Move to error-diffusion dithering?

I propose we move this article to error-diffusion dithering, because I will be adding a few other error-diffusion dithering algorithms here that could not stand on their own as separate articles, but are clearly related to Floyd-Steinberg in the sense that they too use an error-diffusion process. Shinobu 23:44, 5 September 2007 (UTC)

I would be fine with that. I didn't know it was called like that, but the first few google hits are much nicer references than what I could find when I was looking for references for this article. They also explain the artifacts in FSD. Han-Kwang (t) 20:53, 6 September 2007 (UTC)
Sounds like a good idea to me. Certainly all variants of error-diffusion that only differ by the diffusion filter can be on the same page (I don't know why they are typically presented as though they were different algorithms). --DavidHopwood 02:31, 29 October 2007 (UTC)


[edit] Isn't it noise shaping instead of just dither?

According to some sources, Floyd-Steinberg dithering is not dithering, but dithering plus noise shaping, being the noise shaping part the important one. The quantization noise is moved to high frequencies where our eye is more sensitive.--80.24.18.223 (talk) 08:05, 27 May 2008 (UTC)


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -