High-performance parallel image processing using SIMD technology

High performance image processing is an essential component of diagnostic quality medical imaging workstations. The technology challenge is to provide acceptable performance for high resolution imaging at a reasonable cost. Commercial off the shelf personal computers can now compete with solutions traditionally based on expensive workstations or specialized DSP equipment. This paper describes the development of a new library for medical imaging applications which makes use of the extended single instruction multiple data (SIMD) instruction set in the Intel Pentium MMX architecture. Image processing is an ideal application for the use of parallel computing. Typically, multi-processor based solutions use a large grain approach to parallelism. The images are divided into large sections which are processed simultaneously. Additional processing is often required to solve boundary problems between adjacent parts of the data. SIMD is another form of processing which can apply parallelism at the pixel level. This method is suitable for imaging operations where there is no dependency on the result of previous operations. The use of SIMD algorithms provides multiprocessing without the overheads of synchronization and control normally associated with parallel computing.