SIMD architectures and algorithms for image processing and computer vision

The authors present a critical survey of parallel architectures and algorithms for image processing. The emphasis is on single-instruction-stream, multiple-data-stream (SIMD) computers with nonshared memory. A number of parallel architectures are discussed and compared. They fall into three categories: mesh-connected computers, pyramid computers, and hypercube and related computers. A set of seven image processing and computer vision tasks is selected, and algorithms for performing these seven tasks on each of the three categories of computers are given. All of the algorithms are evaluated using asymptotic (big-Oh) analysis. An analysis of parallel algorithms for several-pixel level, intermediate level, and high-level image processing tasks is presented. The effects of architectural decisions on algorithms design are examined in detail. >

[1]  Ronald Lumia,et al.  PIPE (Pipelined Image-Processing Engine) , 1985, J. Parallel Distributed Comput..

[2]  Luigi P. Cordella,et al.  An Analysis of Computational Cost in Image Processing: A Case Study , 1978, IEEE Transactions on Computers.

[3]  Janak H. Patel,et al.  NETRA: an architecture for a large scale multiprocessor vision system , 1987 .

[4]  Lionel M. Ni,et al.  Parallel Algorithms for 2-D Convolution , 1986, ICPP.

[5]  Susanne E. Hambrusch,et al.  Parallel algorithms for line detection on a mesh , 1989 .

[6]  Azriel Rosenfeld,et al.  Image processing on MPP: 1 , 1982, Pattern Recognit..

[7]  Sartaj Sahni,et al.  Finding Connected Components and Connected Ones on a Mesh-Connected Parallel Computer , 1980, SIAM J. Comput..

[8]  Susanne E. Hambrusch,et al.  Parallel Algorithms for Line Detection on a Mesh , 1989, J. Parallel Distributed Comput..

[9]  John P. Fishburn,et al.  Quotient Networks , 1982, IEEE Transactions on Computers.

[10]  Leonard Uhr,et al.  Parallel, hierarchical software/hardware pyramid architectures , 1986 .

[11]  Graham R. Nudd,et al.  Three-dimensional VLSI architecture for image understanding , 1985, J. Parallel Distributed Comput..

[12]  K. Hwang,et al.  Mesh-connected array processors with bypass capability for signal/image processing , 1988, [1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume I: Architecture Track.

[13]  Steven L. Tanimoto,et al.  A pyramidal approach to parallel processing , 1983, ISCA '83.

[14]  Viktor K. Prasanna,et al.  A VLSI-Based Multiprocessor Architecture for Implementing Parallel Algorithms , 1985, International Conference on Parallel Processing.

[15]  Kenneth E. Batcher,et al.  Design of a Massively Parallel Processor , 1980, IEEE Transactions on Computers.

[16]  Azriel Rosenfeld,et al.  Parallel Image Processing by Memory-Augmented Cellular Automata , 1981, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[17]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[18]  Michael J. B. Duff,et al.  Review of the CLIP image processing system , 1899, AFIPS National Computer Conference.

[19]  Russ Miller,et al.  Data Movement Techniques for the Pyramid Computer , 1987, SIAM J. Comput..

[20]  Azriel Rosenfeld,et al.  Segmentation and Estimation of Image Region Properties through Cooperative Hierarchial Computation , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[21]  Jerry L. Potter Image processing on the massively parallel processor , 1983, Computer.

[22]  Vito Di Gesù,et al.  An overview of pyramid machines for image processing , 1989, Inf. Sci..

[23]  S. Levialdi,et al.  Thresholding: A challenge for parallel processing , 1977 .

[24]  Quentin F. Stout Sorting, Merging, Selecting, and Filtering on Tree and Pyramid Machines , 1983, ICPP.

[25]  Sartaj Sahni,et al.  Bitonic Sort on a Mesh-Connected Parallel Computer , 1979, IEEE Transactions on Computers.

[26]  Stefano Levialdi,et al.  On shrinking binary picture patterns , 1972, CACM.

[27]  Charles L. Seitz,et al.  The cosmic cube , 1985, CACM.

[28]  Stefano Levialdi,et al.  Matching the task to an image processing architecture , 1983, Comput. Vis. Graph. Image Process..

[29]  Jake K. Aggarwal,et al.  Parallel 2-D Convolution on a Mesh Connected Array Processor , 1987, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[30]  Harold S. Stone,et al.  Parallel Processing with the Perfect Shuffle , 1971, IEEE Transactions on Computers.

[31]  Karen A. Frenkel,et al.  Evaluating two massively parallel machines , 1986, CACM.

[32]  Steven L. Tanimoto,et al.  A hierarchical cellular logic for pyramid computers , 1984, J. Parallel Distributed Comput..

[33]  Trevor N. Mudge,et al.  Vision Algorithms for Hypercube Machines , 1987, J. Parallel Distributed Comput..

[34]  Quentin F. Stout,et al.  Meshes with multiple buses , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[35]  Viktor K. Prasanna,et al.  Efficient Image Template Matching on Hypercube SIMD Arrays , 1987, International Conference on Parallel Processing.

[36]  Viktor K. Prasanna,et al.  Parallel Geometric Algorithms for Digitized Pictures on Mesh of Trees , 1986, ICPP.

[37]  Xiaobo Li,et al.  Parallel Algorithms for Image Template Matching on Hypercube SIMD Computers , 1987, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[38]  Howard Jay Siegel,et al.  PASM: a reconfigurable parallel system for image processing , 1984, CARN.

[39]  W. Daniel Hillis,et al.  Data parallel algorithms , 1986, CACM.

[40]  Azriel Rosenfeld,et al.  Parallel Image Processing Using Cellular Arrays , 1983, Computer.

[41]  Anthony P. Reeves On efficient global information extraction methods for parallel processors , 1980 .

[42]  A. Rosenfeld,et al.  Image Segmentation by Texture Using Pyramid Node Linking. , 1981 .

[43]  Anthony P. Reeves,et al.  Parallel computer architectures for image processing , 1984, Comput. Vis. Graph. Image Process..

[44]  Russ Miller,et al.  Varying Diameter and Problem Size in Mesh-Connected Computers , 1985, ICPP.

[45]  Stefano Levialdi,et al.  Computer Architectures for Pictorial Information Systems , 1981, Computer.

[46]  Sartaj Sahni,et al.  Optimal BPC Permutations on a Cube Connected SIMD Computer , 1982, IEEE Transactions on Computers.

[47]  Jorge L. C. Sanz,et al.  Hypercube and Shuffle-Exchange Algorithms for Image Component Labeling , 1987, J. Algorithms.

[48]  Jorge L. C. Sanz,et al.  Algorithms for Image Component Labeling on SIMD Mesh-Connected Computers , 1987, IEEE Trans. Computers.

[49]  Robert Cypher,et al.  The Hough Transform has O(N) Complexity on SIMD N x N Mesh Array Architectures. , 1987 .

[50]  Uzi Vishkin,et al.  An O(log n) Parallel Connectivity Algorithm , 1982, J. Algorithms.

[51]  Alok Aggarwal,et al.  Optimal Bounds for Finding Maximum on Array of Processors with k Global Buses , 1986, IEEE Transactions on Computers.

[52]  Dionysios I. Reisis,et al.  Parallel Image Processing On Enhanced Arrays , 1987, ICPP.

[53]  Jorge L. C. Sanz,et al.  Radon and projection transform-based computer vision , 1988 .

[54]  John P. Hayes,et al.  A Microprocessor-based Hypercube Supercomputer , 1986, IEEE Micro.

[55]  Allan L. Fisher,et al.  Computing the Hough Transform on a Scan Line Array Processor (Image Processing) , 1989, IEEE Trans. Pattern Anal. Mach. Intell..

[56]  Narendra Ahuja,et al.  Multiprocessor Pyramid Architectures for Bottom-Up Image Analysis , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[57]  Sartaj Sahni,et al.  Parallel permutation and sorting algorithms and a new generalized connection network , 1982, JACM.

[58]  Franco P. Preparata,et al.  The cube-connected-cycles: A versatile network for parallel computation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[59]  Howard Jay Siegel,et al.  FFT Algorithms for SIMD Parallel Processing Systems , 1986, J. Parallel Distributed Comput..