Multi-threaded Error Diffusion
Error diffusion in image and graphics processing programs represents an excellent example of a problem which at first may seem resistant to a multi-threaded approach, but upon further review will actually lend itself well to speed up possibilities. Using the Floyd-Steinberg algorithm for error diffusion, the trick lies in considering not the destination of calculated error, but the sources. In this way, the algorithm and code become fairly straightforward.
Please disable any pop-up blockers for proper viewing of this Whitepaper.