Convolution on Splash 2

Convolution is a fundamental operation in many signal and image processing applications. Since the computation and communication pattern in a convolution operation is regular, a number of special architectures have been designed and implemented for this operator. The Von Neumann architectures cannot meet the real-time requirements of applications that use convolution as an intermediate step. We combine the advantages of systolic algorithms with the low cost of developing application specific designs using field programmable gate arrays (FPGAs) to build a scalable convolver for use in computer vision systems. The performance of the systolic algorithm of (Kung et al., 1981) is compared theoretically and experimentally with many other convolution algorithms reported in the literature. The implementation of a convolution operation on Splash 2, an attached processor based on Xilinx 4010 FPGAs, is reported with impressive performance gains.

[1]  Oscar H. Ibarra,et al.  Two-Dimensional Convolution on a Pyramid Computer , 1988, IEEE Trans. Pattern Anal. Mach. Intell..

[2]  Duncan A. Buell,et al.  VHDL programming on splash 2 , 1994 .

[3]  Duncan A. Buell,et al.  Splash 2 , 1992, SPAA.

[4]  M. Gokhale,et al.  FPGA computing in a data parallel C , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[5]  Viktor K. Prasanna,et al.  Efficient Parallel Algorithms for Image Template Matching on Hypercube SIMD Machines , 1989, IEEE Trans. Pattern Anal. Mach. Intell..

[6]  P.M. Athanas,et al.  Real-Time Image Processing on a Custom Computing Platform , 1995, Computer.

[7]  Mohamed Akil,et al.  Low level image processing operators on FPGA: implementation examples and performance evaluation , 1994, Proceedings of the 12th IAPR International Conference on Pattern Recognition, Vol. 2 - Conference B: Computer Vision & Image Processing. (Cat. No.94CH3440-5).

[8]  David C. Wilson,et al.  Decomposition methods for convolution operators , 1991, CVGIP Graph. Model. Image Process..

[9]  H. T. Kung,et al.  A Two-Level Pipelined Systolic Array for Convolutions , 1981 .

[10]  Hilary Buxton,et al.  Convolution with separable masks for early image processing , 1985, Comput. Vis. Graph. Image Process..

[11]  Daniel P. Lopresti,et al.  Building and using a highly parallel programmable logic array , 1991, Computer.

[12]  Sartaj Sahni,et al.  Convolution on Mesh Connected Multicomputers , 1990, IEEE Trans. Pattern Anal. Mach. Intell..

[13]  Pieter P. Jonker Why linear arrays are better image processors , 1994, Proceedings of the 12th IAPR International Conference on Pattern Recognition, Vol. 2 - Conference B: Computer Vision & Image Processing. (Cat. No.94CH3440-5).

[14]  N. Ranganathan,et al.  An efficient VLSI architecture for template matching based on moment preserving pattern matching , 1994, Proceedings of the 12th IAPR International Conference on Pattern Recognition, Vol. 2 - Conference B: Computer Vision & Image Processing. (Cat. No.94CH3440-5).

[15]  Xiaobo Li,et al.  Parallel Algorithms for Image Template Matching on Hypercube SIMD Computers , 1987, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[16]  Hamid R. Arabnia,et al.  Parallelization of computer vision algorithms on a reconfigurable multiprocessor , 1994, Proceedings of the 12th IAPR International Conference on Pattern Recognition, Vol. 2 - Conference B: Computer Vision & Image Processing. (Cat. No.94CH3440-5).

[17]  David W. L. Yen,et al.  Systolic Processing and an Implementation for Signal and Image Processing , 1982, IEEE Transactions on Computers.

[18]  Xiaobo Li,et al.  On the Communication Complexity of Generalized 2-D Convolution on Array Processors , 1989, IEEE Trans. Computers.

[19]  H. T. Kung Why systolic architectures? , 1982, Computer.

[20]  Jake K. Aggarwal,et al.  Parallel 2-D Convolution on a Mesh Connected Array Processor , 1987, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[21]  Viktor K. Prasanna,et al.  Low level vision processing on connection machine CM-5 , 1993, 1993 Computer Architectures for Machine Perception.