Separated-kernel image processing using finite-state machines (SKIPSM)

This paper presents a fundamentally new way to carry out many standard image processing operations. In comparison with conventional hardware-based and software-based approaches, SKIPSM (Separated-Kernel Image Processing using Finite State Machines) allows implementation at higher speeds and/or lower hardware cost. The key features of SKIPSM are (1) the separation of a large class of neighborhood image processing operations (generally considered not to be separable) into a row operation followed by a column operation, (2) the formulation of these row and column operations in a form compatible with pipelined operations, (3) the implementation of the resulting operations as simple finite-state machines, and (4) the automated generation of the finite-state machine configuration data. Speed increases and/or neighborhood size increased by factors of 100 or more are achieved using conventional pipelined hardware in this new way. Alternatively, inexpensive off-the-shelf 'chips' can be configured to carry out the same operations as conventional hardware. Corresponding 'speedups' are achieved in software- based implementations. Furthermore, it is often possible to use SKIPSM to carry out 10 of more different image processing operations simultaneously, with no additional processing steps or hardware.