Abstract
Morphological image analysis is a technique of processing images through shape characteristics (Jain 1989). Because images are regular data structures, morphology algorithm's memory access patterns are predictable. By using read and write patterns, we derive a model of processing to examine inefficiencies in cache processing. We then develop a cache architecture for windowed processing that reduces cache thrashing. Our caching technique, cache tiling, improves efficiency dramatically for small caches independent of compiler optimizations. Programs are not affected, providing a transparent solution to improve caching. A system code, compilers, or profiling programs can determine the blocking necessary for the best performance. An analytical model for morphological processing's memory characteristics is presented that provides for exact cache analysis and prediction. The analytical model is compared to address traces to validate the model. Other algorithms such as inner product, matrix multiplication, and convolution also benefit from the architecture presented herein.
Similar content being viewed by others
References
Abbott L, Haralick RM, Zhuang X (1988) Pipeline architectures for morphological image analysis. Machine Vision Appl 1:23–40
Batcher KE (1980) Design of a massively parallel processor. IEEE Trans Comput 29:836–840
Blinn JF (1990) Jim Blinn's Corner “The truth about texture mapping”. IEEE Comput Graph Appl:78–83
Flickner M, Lavin M, Das S (1990) An object-oriented language for image and vision execution (OLIVE). IEEE 10th International Conference on Pattern Recognition, pp U561–571
Haralick RM, Shapiro LG (1992), Computer and robot vision vol. 1, Addison-Wesley, Reading, Mass, pp 157–262
Hennessy JL, Patterson DA (1990) Computer architecture: a quantitative approach. Morgan Kaufmann, San Mateo, Calif., pp 416–419
Hwang K, Briggs FA (1984) Computer architecture and parallel processing. McGraw Hill, New York, pp 362–363
Jain AK (1989) Fundamentals of digital image processing. Prentice-Hall, Englewood Cliffs, NJ
Lam MS, Rothberg EE, Wolf ME (1991) The cache performance and optimizations of blocked algorithms, Proc 4th International Conference on Architectural Support for Programming Languages and Operating Systems, pp 63–74
Loughheed RM, McCubbrey DL (1980) The cytocomputer: a practical pipelined image processor. Proc 7th Annual Symposium on Computer Architecture, pp 271–277
Nudd GR, Atherton TJ, Francis ND, Howarth RM, Kerbyson DJ, Packwood RA, Vaudin GJ (1989) WPM: a multiple-SIMD architecture for image processing. Proc 3rd International IEE Conference on Image Processing and Its Applications, London, pp 161–165
Sato H, Okazaki H, Kawai T, Yamamoto H, Tamura H (1990) The VIEW-station environment: tools and architecture for a platform-independent image-processing workstation. IEE Annual International Conference on Pattern Recognition, pp 576–583
Somani AK, Wittenbrink CM, Haralick RM, Shapiro LG, Hwang JN, Chen CH, Johnson R, Cooper K (1991) Proteus system architecture and organization. Proc of 5th International Parallel Processing Symposium, pp 276–284
Stone HS(1987) High-performance computer architecture. Addison-Wesley, Reading, Mass.
Weems CC, Levitan SP, Hanson AR, Riseman EM, Nash JG, Shu DB (1987) The image understanding achitecture. COINS Technical Report 87-76, University of Massachusetts
Wittenbrink CM (1990) Directed data cache for high performance morphological image processing. Master's thesis, Department of Electrical Engineering, University of Washington, Seattle, Wash.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Wittenbrink, C.M., Somani, A.K. Cache tiling for high performance morphological image processing. Machine Vis. Apps. 7, 12–22 (1993). https://doi.org/10.1007/BF01212412
Issue Date:
DOI: https://doi.org/10.1007/BF01212412