ScienceDirect® Home Skip Main Navigation Links
You have guest access to ScienceDirect. Find out more.
 
Home
Browse
My Settings
Alerts
Help
 Quick Search
 Search tips (Opens new window)
    Clear all fields    
advertisementadvertisement
Journal of Parallel and Distributed Computing
Volume 63, Issue 3, March 2003, Pages 360-372
 
Font Size: Decrease Font Size  Increase Font Size
 Abstract - selected
Article
Purchase PDF (698 K)

 
 
 
Related Articles in ScienceDirect
View More Related Articles
 
View Record in Scopus
 
doi:10.1016/S0743-7315(02)00054-0    How to Cite or Link Using DOI (Opens New Window)
Copyright © 2003 Elsevier Science (USA). All rights reserved.

A multi-threaded fast convolver for dynamically parallel image filtering*1

Jeremy KepnerE-mail The Corresponding Author

MIT Lincoln Laboratory, 244 Wood St., Lexington, MA 02420, USA

Received 24 April 2002; 
revised 8 September 2002. 
Available online 23 March 2003.

Purchase the full-text article



References and further reading may be available for this article. To view references and further reading you must purchase this article.

Abstract

2D convolution is a staple of digital image processing. The advent of large format imagers makes it possible to literally “pave” with silicon the focal plane of an optical sensor, which results in very large images that can require a significant amount computation to process. Filtering of large images via 2D convolutions is often complicated by a variety of effects (e.g., non-uniformities found in wide field of view instruments) which must be compensated for in the filtering process by changing the filter across the image. This paper describes a fast (FFT based) method for convolving images with slowly varying filters. A parallel version of the method is implemented using a multi-threaded approach, which allows more efficient load balancing and a simpler software architecture. The method has been implemented within a high level interpreted language (IDL), while also exploiting open standards vector libraries (VSIPL) and open standards parallel directives (OpenMP). The parallel approach and software architecture are generally applicable to a variety of algorithms and has the advantage of enabling users to obtain the convenience of an easy operating environment while also delivering high performance using a fully portable code.

Author Keywords: Image processing; Parallel algorithms; Multi-threaded; Open standards; High level languages

Article Outline

1. Introduction
2. 2D filtering algorithm
2.1. Basic FFT-based algorithm
2.2. Convolution with variable kernels
2.2.1. 1D case
2.2.2. 2D case
3. Parallel scheme
3.1. Computation cost
3.2. Communication cost
3.3. Load balancing
3.4. Software costs
4. Software architecture
5. Results
6. Conclusions
Acknowledgements
Appendix A. Optimal padding of FFTs
Appendix B. 2D convolution algorithm description
Appendix C. Dynamic load balancing “balls into bins”
References















 
Home
Browse
My Settings
Alerts
Help
Elsevier.com (Opens new window)
About ScienceDirect  |  Contact Us  |  Information for Advertisers  |  Terms & Conditions  |  Privacy Policy
Copyright © 2008 Elsevier B.V. All rights reserved. ScienceDirect® is a registered trademark of Elsevier B.V.