Computational Redundancy in Image Processing

This research presents a new performance improvement technique, window memoization, for software and hardware implementations of local image processing algorithms. Window memoization combines the memoization techniques proposed in software and hardware with a characteristic of image data, computational redundancy, to improve the performance (in software) and efficiency (in hardware) of local image processing algorithms. The computational redundancy of an image indicates the percentage of computations that can be skipped when performing a local image processing algorithm on the image. Our studies show that computational redundancy is inherited from two principal redundancies in image data: coding redundancy and interpixel redundancy. We have shown mathematically that the amount of coding and interpixel redundancy of an image has a positive effect on the computational redundancy of the image where a higher coding and interpixel redundancy leads to a higher computational redundancy. We have also demonstrated (mathematically and empirically) that the amount of coding and interpixel redundancy of an image has a positive effect on the speedup obtained for the image by window memoization in both software and hardware. Window memoization minimizes the number of redundant computations performed on an image by identifying similar neighborhoods of pixels in the image. It uses a memory, reuse table, to store the results of previously performed computations. When a set of computations has to be performed for the first time, the computations are performed and the corresponding result is stored in the reuse table. When the same set of computations has to be performed again in the future, the previously calculated result is reused and the actual computations are skipped. Implementing the window memoization technique in software speeds up the computations required to complete an image processing task. In software, we have developed an optimized architecture for window memoization and applied it to six image processing algorithms: Canny edge detector, morphological gradient, Kirsch edge detector, Trajkovic corner detector, median filter, and local variance. The typical speedups range from 1.2 to 7.9 with a maximum factor of 40. We have also presented a performance model to predict the speedups obtained by window memoization in software. In hardware, we have developed an optimized architecture 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 conventional performance improvement techniques. As case studies in hardware, we have applied window memoization to the Kirsch edge detector and median filter. The typical and maximum speedup factors in hardware are 1.6 and 1.8, respectively, with 40% less hardware in comparison to conventional optimization techniques.

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

[2]  William Pugh An improved replacement strategy for function caching , 1988, LFP '88.

[3]  D J Field,et al.  Relations between the statistics of natural images and the response properties of cortical cells. , 1987, Journal of the Optical Society of America. A, Optics and image science.

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

[5]  Yonghua Ding,et al.  Operation Reuse on Handheld Devices , .

[6]  DONALD MICHIE,et al.  “Memo” Functions and Machine Learning , 1968, Nature.

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

[8]  Victor S. Frost,et al.  A Model for Radar Images and Its Application to Adaptive Digital Filtering of Multiplicative Noise , 1982, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[9]  Christopher G. Harris,et al.  A Combined Corner and Edge Detector , 1988, Alvey Vision Conference.

[10]  Roland T. Chin,et al.  Decomposition of Arbitrarily Shaped Morphological Structuring Elements , 1995, IEEE Trans. Pattern Anal. Mach. Intell..

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

[12]  John Hughes,et al.  Lazy Memo-functions , 1985, FPCA.

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

[14]  Rafael C. González,et al.  Local Determination of a Moving Contrast Edge , 1985, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[15]  Arun N. Netravali,et al.  Digital Pictures: Representation, Compression and Standards , 1995 .

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

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

[18]  Thomas M. Cover,et al.  Elements of Information Theory , 2005 .

[19]  Thomas S. Huang,et al.  A fast two-dimensional median filtering algorithm , 1979 .

[20]  Mark Hedley,et al.  Fast corner detection , 1998, Image Vis. Comput..

[21]  Hans P. Moravec Obstacle avoidance and navigation in the real world by a seeing robot rover , 1980 .

[22]  P. W. Jones,et al.  Digital Image Compression Techniques , 1991 .

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

[24]  O. Camps,et al.  Gray scale structuring element decomposition , 1992, Proceedings., 11th IAPR International Conference on Pattern Recognition. Vol. III. Conference C: Image, Speech and Signal Analysis,.

[25]  Edward H. Adelson,et al.  The Design and Use of Steerable Filters , 1991, IEEE Trans. Pattern Anal. Mach. Intell..

[26]  King-Sun Fu,et al.  Recursive contextual classification using a spatial stochastic model , 1983, Pattern Recognit..

[27]  Roger L. Easton,et al.  Basic Principles of Imaging Science II , 2004 .

[28]  D.A. Landgrebe,et al.  Classification with spatio-temporal interpixel class dependency contexts , 1992, IEEE Trans. Geosci. Remote. Sens..

[29]  Peter Forrestal Look It Up , 1989 .

[30]  Douglas L. Jones,et al.  Line and boundary detection in speckle images , 1998, IEEE Trans. Image Process..

[31]  William Pugh,et al.  Incremental computation via function caching , 1989, POPL '89.

[32]  Timothy W. Finin,et al.  Using automatic memoization as a software engineering tool in real-world AI systems , 1995, Proceedings the 11th Conference on Artificial Intelligence for Applications.

[33]  Torsten Seemann,et al.  Digital Image Processing using Local Segmentation , 2002 .

[34]  Michael Egmont-Petersen,et al.  Image processing with neural networks - a review , 2002, Pattern Recognit..

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

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

[37]  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.

[38]  M Fang,et al.  Modified rapid transform. , 1989, Applied optics.

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

[40]  S. M. Steve SUSAN - a new approach to low level image processing , 1997 .

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

[42]  Zhiyuan Li,et al.  Operation Reuse on Handheld Devices (Extended Abstract) , 2003, LCPC.

[43]  T. Tuytelaars,et al.  A Survey on Local Invariant Features , 2006 .

[44]  Niraj K. Jha,et al.  Profiling driven computation reuse: an embedded software synthesis technique for energy and performance optimization , 2004, 17th International Conference on VLSI Design. Proceedings..

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

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

[47]  Richard S. Bird,et al.  Tabulation Techniques for Recursive Programs , 1980, CSUR.

[48]  John Haslett,et al.  Maximum likelihood discriminant analysis on the plane using a Markovian model of spatial context , 1985, Pattern Recognit..

[49]  David G. Lowe,et al.  Object recognition from local scale-invariant features , 1999, Proceedings of the Seventh IEEE International Conference on Computer Vision.