Window memoization: an efficient hardware architecture for high-performance image processing

This work presents a new performance improvement technique, window memoization, for hardware implementations of local image processing algorithms. Window memoization combines the memoization techniques proposed in software and hardware with data redundancy in image processing to improve the efficiency of local image processing algorithms implemented in hardware. It minimizes the number of redundant computations performed on an image by identifying similar neighborhoods of pixels in the image and skipping the redundant computations. We have developed an optimized architecture in hardware that embodies the window memoization technique. Our hardware design for window memoization achieves high speedups with an overhead in hardware area that is significantly less than that of the conventional performance improvement techniques. As case studies in hardware, we have applied window memoization to the Kirsch edge detector and median filter. The typical speedup factor in hardware is 1.58 with 40% less hardware in comparison to conventional optimization techniques.

[1]  D. Michie “Memo” Functions and Machine Learning , 1968, Nature.

[2]  Dror G. Feitelson,et al.  "Look It Up" or "Do the Math": An Energy, Area, and Timing Analysis of Instruction Reuse and Memoization , 2003, PACS.

[3]  Larry Rudolph,et al.  Accelerating multi-media processing by implementing memoing in multiplication and division units , 1998, ASPLOS VIII.

[4]  S. E. Richardson Exploiting trivial and redundant computation , 1993, Proceedings of IEEE 11th Symposium on Computer Arithmetic.

[5]  G.S. Sohi,et al.  Dynamic instruction reuse , 1997, ISCA '97.

[6]  F. Khalvati,et al.  Accelerating Image Processing Algorithms Based on the Reuse of Spatial Patterns , 2007, 2007 Canadian Conference on Electrical and Computer Engineering.

[7]  Jian Huang,et al.  Extending Value Reuse to Basic Blocks with Compiler Support , 2000, IEEE Trans. Computers.

[8]  F. Khalvati,et al.  Opposition-Based Window Memoization for Morphological Algorithms , 2007, 2007 IEEE Symposium on Computational Intelligence in Image and Signal Processing.

[9]  Gregory A Petsko,et al.  Do the math , 2006, Genome Biology.

[10]  Peter Forrestal Look It Up , 1989 .

[11]  Anil K. Jain,et al.  Image data compression: A review , 1981, Proceedings of the IEEE.

[12]  M. Valero,et al.  Fuzzy memoization for floating-point multimedia applications , 2005, IEEE Transactions on Computers.

[13]  Abhishek Kumar,et al.  A New Design of Bloom Filter for Packet Inspection Speedup , 2007, IEEE GLOBECOM 2007 - IEEE Global Telecommunications Conference.

[14]  R A Kirsch,et al.  Computer determination of the constituent structure of biological images. , 1971, Computers and biomedical research, an international journal.

[15]  André DeHon,et al.  Reconfigurable architectures for general-purpose computing , 1996 .

[16]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[17]  Peng Chen,et al.  Dynamic Function Result Reuse , 2003 .

[18]  Mikko H. Lipasti,et al.  Value locality and load value prediction , 1996, ASPLOS VII.

[19]  Bülent Sankur,et al.  Survey over image thresholding techniques and quantitative performance evaluation , 2004, J. Electronic Imaging.

[20]  Milan Sonka,et al.  Image Processing, Analysis and Machine Vision , 1993, Springer US.

[21]  Andrei Broder,et al.  Network Applications of Bloom Filters: A Survey , 2004, Internet Math..