Multimedia extensions boost image-processing applications

Although dedicated image processors are needed for high-end scientific/ industrial image-processing applications, a number of conventional applications can be implemented inexpensively using host processors. With the introduction of multimedia extensions (MMXs) to its Pentium line of central processing units (CPUs), Intel Corp. (Santa Clara, CA) is offering system developers an economical way to perform single-instruction multiple-data (SIMD) image processing.

Multimedia extensions boost image-processing applications

Although dedicated image processors are needed for high-end scientific/ industrial image-processing applications, a number of conventional applications can be implemented inexpensively using host processors. With the introduction of multimedia extensions (MMXs) to its Pentium line of central processing units (CPUs), Intel Corp. (Santa Clara, CA) is offering system developers an economical way to perform single-instruction multiple-data (SIMD) image processing.

For instance, at this year`s Robots and Vision trade show, held in Detroit, MI, Matrox Electronic Systems Ltd. (Dorval, Quebec, Canada) released benchmark test results on an MMX-enabled Intel CPU. When optimized for multimedia extensions, this processor executed image-processing operations up to 400% faster than functions not optimized for multimedia extensions using the company`s Matrox Imaging Library.

Neighborhood class operations such as convolutions and morphology and point-to-point functions such as arithmetic operations benefit most from multimedia extensions. Convolutions show a three-fold speed improvement when using MMX-optimized code. This performance boost is attributed to the fact that a process is best optimized for MMX SIMD architecture when the same operation is repeated for every pixel in an image. According to Matrox, the kernels used were filled with random values; therefore, the same results can be expected no matter what kernel values are applied.

As expected, not all imaging operations are accelerated or accelerated equally under multimedia extensions. For example, a histogram calculation cannot be optimized, and, with blob analysis, only a small portion of the algorithm can be optimized. With blob analysis, most of the processing time is spent on label and feature computations, which do not lend themselves to multimedia-extension optimization. Only the run-length encoding portion of the algorithm can be optimized, yielding little acceleration. For further information, contact Matrox at (514) 969-6020.

More in Boards & Software