Currently, many low cost computer monitors can only simultaneously display a palette of 256 colors. However, this palette is usually selectable from a very large gamut of available colors. For many applications involving natural color images, this limited palette size imposes a significant constraint on the achievable image quality. Error diffusion is a powerful method to improve the subjective quality of a displayed image, when only a small set of colors is available. In this work, we propose the design of a visually optimized error diffusion filter for monochrome and color image display applications. As a result, the displayed images contain errors mostly at high spatial frequencies, which are less noticeable to the viewer. We also examine the design of a universal and an image dependent color palette for use with halftoning methods such as error diffusion. The advantage of a universal color palette is that it is fixed and therefore allows multiple images to be displayed simultaneously. Our palette is designed by employing a new vector quantization method known as sequential scalar quantization (SSQ) to allocate the colors in a visually uniform color space. This SSQ method achieves near optimal allocation, but may be efficiently implemented using a series of look up tables. Finally, we investigate a visually weighted mean squared error measure to compare the performance of our optimized algorithm to standard error diffusion. Our metric is based on the color difference in CIEL*a*b*, but also accounts for the lowpass characteristic of human contrast sensitivity