This paper describes an improved error diffusion algorithm for the purpose of digitally halftoning images. In one variation of the algorithm an error signal is calculated by the difference between a visually perceived input value and a visually perceived output value. This is accomplished by applying a causal visual blur function to both the input and output images. This approach has the advantage that it minimizes the appearance of worm artifacts in the output image, while simultaneously eliminating the edge artifacts associated with a previous visual error diffusion algorithm. In a second variation of the improved error diffusion algorithm, a local image activity detector is used to adaptively modify the input and output blur filters. This allows the error diffusion parameters to be optimized for different types of image content.