Array processors have been used extensively in military applications involving sonar and radar signal processing, but they have not been as widely employed in image processing applications. The constraints of limited word-size and limited programmability which previously made array processors unattractive have been mitigated with the architecture of the modern machines and the low cost of these modern processors relative to the cost of large scale computers. The array processors are not general purpose computers. Instead, they are extremely fast specialized processors in a parallel architecture with a memory structure matched to the processor capabilities. This arrangement is less flexible and adaptive than is required for a general purpose computer, but it is more effective for highly repetitive computational and memory intensive functions. The best compromise is therefore a host computer for general purpose computation and a peripheral array processor for the highly repetitive functions. The host computer is not burdened with the actual high-density computation, but instead becomes more of a system controller and the software real-time operating system will be much more efficient and responsive to system-level tasks. Another corollary effect is the possibility of utilizing a less expensive and less powerful computer if a peripheral processor is employed for the main computational tasks. As a result, total system cost will be significantly reduced because the array processor will cost as much as a factor of ten less than a general purpose computer configured for the same task and capable of the same operations. Another additional benefit is the ability to add such a processor to an existing system and thereby greatly increase its capabilities without the large expense of a complete system replacement. This augmented capability results in significant savings in software and system integration. An array processor of this type can readily be applied to a number of image processing operations such as two-dimensional Fast Fourier Transforms, spatial filtering, image transformations, polynomial expansions, determination of statistical parameters, and pixel classification. In all of these applications, the peripheral array processor performs all of the highly repetitive mathematical operations and retains the data in its own memory. The host computer can then exercise system responsibility and is not subject to extensive memory interference. The total system performance and efficiency is thereby greatly enhanced and more sophisticated analysis is possible. In research facilities this implies a capability for increasingly complex procedures with dedicated mini-computer systems instead of large time-sharing arrangements or inconvenient batch processing systems. For production-type facilities, such as for image data reduction, the necessity for expensive large computers is now eliminated in favor of the faster combination of a smaller computer with a peripheral processor. This configuration with general purpose control and a high-speed array processor attachment has therefore increased the scope and capabilities of available digital processor resources as well as significantly reducing the financial investment required.
Date of this Version