14 April 2003 High-performance architecture for color error diffusion
Author Affiliations +
Proceedings Volume 5012, Real-Time Imaging VII; (2003); doi: 10.1117/12.477498
Event: Electronic Imaging 2003, 2003, Santa Clara, CA, United States
Abstract
Error diffusion is one of the most widely used algorithms for halftoning gray scale and color images. It works by distributing the thresholding error of each pixel to unprocessed neighboring pixels, while maintaining the average value of the image. Error diffusion results in inter-pixel data dependencies that prohibit a simplistic data pipelining processing approach and increase the memory requirements of the system. In this paper, we present a multiprocessing approach to overcome these difficulties, which results in a novel architecture for high performance hardware implementation of error diffusion algorithms. The proposed architecture is scalable, flexible, cost effective, and may be adopted for processing gray scale or color images. The key idea in this approach is to simultaneously process pixels in separate rows and columns in a diagonal arrangement, so that data dependencies across processing elements are avoided. The processor was realized using an FPGA implementation and may be used for real-time image rendering in high-speed scanning or printing. The entire system runs at the input clock rate, allowing the performance to scale linearly with the clock rate. Higher data rate applications required by future applications will automatically be supported using more advanced high-speed FPGA technologies.
© (2003) COPYRIGHT Society of Photo-Optical Instrumentation Engineers (SPIE). Downloading of the abstract is permitted for personal use only.
Christopher R. Brown, Andreas E. Savakis, "High-performance architecture for color error diffusion", Proc. SPIE 5012, Real-Time Imaging VII, (14 April 2003); doi: 10.1117/12.477498; http://dx.doi.org/10.1117/12.477498
PROCEEDINGS
9 PAGES


SHARE
KEYWORDS
Image processing

Clocks

Diffusion

Data processing

Field programmable gate arrays

Signal processing

Process control

Back to Top