Efficient algorithm for Gaussian blur using finite-state machines

2D Gaussian blur operations are used in many image processing applications. The execution times of these operations can be rather long, especially where large kernels are involved. Proper use of two properties of Gaussian blurs can help to reduce these long execution times: (1) Large kernels can be decomposed into the sequential application of small kernels. (2) Gaussian blurs are separable into row and column operations. This paper makes use of both of these characteristics and adds a third one: (3) The row and column operations can be formulated as finite-state machines to produce highly efficient code and, for multi-step decompositions, eliminate writing to intermediate images. This paper shows the FSM formulation of the Gaussian blur for the general case and provides examples. Speed comparisons between various implementations are provided for some of the examples. The emphasis is on software implementations, but implementations in pipelined hardware are also discussed. Straightforward extensions of these concepts to 3- and higher-dimensional image processing are also presented. Implementation techniques for DOG (Difference-of-Gaussian filters) are also provided.

[1]  Frederick M. Waltz,et al.  Extending the SKIPSM binary skeletonization implementation , 1995, Optics East.

[2]  Frederick M. Waltz Image processing operations in color space using finite-state machines , 1998, Other Conferences.

[3]  Frederick M. Waltz Binary openings and closings in one pass using finite-state machines , 1996, Optics & Photonics.

[4]  James L. Crowley,et al.  A Representation for Shape Based on Peaks and Ridges in the Difference of Low-Pass Transform , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[5]  Frederick M. Waltz,et al.  Fast computation of the grassfire transform using SKIPSM , 1994, Other Conferences.

[6]  Frederick M. Waltz Application of SKIPSM to the pipelining of certain global image processing operations , 1994, Other Conferences.

[7]  Frederick M. Waltz Application of SKIPSM to grey-level morphology , 1994, Other Conferences.

[8]  Frederick M. Waltz Binary dilation using SKIPSM: some interesting variations , 1997, Other Conferences.

[9]  Frederick M. Waltz,et al.  Fast efficient algorithms for 3x3 ranked filters using finite-state machines , 1998, Other Conferences.

[10]  Frederick M. Waltz Automated generation of efficient code for gray-scale image processing , 1998, Other Conferences.

[11]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[12]  Frederick M. Waltz Automated generation of finite-state machine lookup tables for binary morphology , 1996, Other Conferences.

[13]  Frederick M. Waltz Application of SKIPSM to various 3x3 image processing operations , 1998, Other Conferences.

[14]  Frederick M. Waltz SKIPSM implementations: morphology and much, much more , 1995, Optics East.

[15]  Frederick M. Waltz Application of SKIPSM to binary template matching , 1994, Other Conferences.

[16]  Frederick M. Waltz,et al.  Software implementation of the SKIPSM paradigm under PIP , 1997, Other Conferences.

[17]  Frederick M. Waltz Implementation of SKIPSM for 3D binary morphology , 1997, Other Conferences.

[18]  Frederick M. Waltz,et al.  Application of SKIPSM to binary morphology , 1994, Other Conferences.

[19]  Frederick M. Waltz Application of SKIPSM to binary correlation , 1995, Optics East.

[20]  Frederick M. Waltz,et al.  Pipelined implementation of binary skeletonization using finite-state machines , 1995, Electronic Imaging.

[21]  Frederick M. Waltz,et al.  Software implementation of 2D gray-level dilation using SKIPSM , 1997, Other Conferences.