Efficient algorithm for Gaussian blur using finite-state machines

Frederick M. Waltz, John W. V. Miller, Bruce G. Batchelor, John W. V. Miller, Susan S. Solomon
1998 Machine Vision Systems for Inspection and Metrology VII  
Two-dimensional 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
more » ... a third one: 3. The row and column operations can be formulated as finite-state machines (FSMs) 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 three-and higherdimensional image processing are also presented. Implementation techniques for DOG (Difference-of-Gaussian filters) are also provided. Pixel where 5x5 blur result will now be written Pixel where temporary 5x5 blur result must be obtained and where DOG result will now be written Raster-scan direction Key: Boundary of just-computed 9x9 blur Boundary of just-computed 5x5 blur Boundary of region for 5x5 blur to be used for subtraction (5x5 must be centered on 9x9) Area already written over with DOG result Area not yet written over "Snapshot" of situation after computation of both blurs but before results are written to output image Area already written over with 5x5 blur results Figure 6 . Relative timing information for DOG5x5-9x9
doi:10.1117/12.326976 fatcat:oo5e2xhfpjamjispndvcvwujee