Phil Carmody wrote:
> It doesn't "mess up the distance calculations" at all, it
> simply selects a different metric, namely the L_1 metric
> rather than the L_2 metric. However, both are "wrong" in
> the strict sense, as a metric which models human vision with
> any attempt at fidelity would weight the three different
> chroma components differently, giving more weight to the
> green component, and less to the red component. (Or even
> take place in a different colour-space entirely.) The
Phil, you're absolutely right, and that's why "doing it right" is even
harder than you're showing here:
The color space should probably be gamma-adjusted, and the error terms
should be calculated in a linear space, otherwise the error diffusion
terms won't add up properly.
OTOH, at the time we start to worry about stuff like this, 8-bit GIF
images with palettized colors shouldn't be considered for the job,
right? :-)
Terje
PS. I have designed/written a parallel SSE algorithm which handles
DX10-compliant gamma scaling (which follows a modified log curve), with
the required ~10 fractional bits of accuracy.
--
- <Terje.Mathisen@[EMAIL PROTECTED]
>
"almost all programming can be viewed as an exercise in caching"


|