Image processing method

Abstract: An image processing system or the like has sixteen processing assemblies (21A to 21P) provided by transputers which each have a memory (22) and a processor (23). An infra-red television camera (1) supplies signals representing different areas of the field of view to respective different ones of the processing assemblies. The assemblies (21A to 21P) also receive external signals from other sources (3) and are interconnected with one another so as to enable synchronisation between the assemblies. Each processor (23) processes only that information in its memory (22) and provides output signals representative of the respective area of the field of view.

Description: This invention relates to an image processing method. Information processing systems can be used for many different applications such as voice recognition, image enhancement or other modification, image recognition, image marking or labelling, image storage and so on. Conventionally, the information is stored in a contiguous block of memory (frame store) and a processor receives signals from each element of that memory for use in the image processing. For a typical image input comprising 512 lines each of 512 pixels and a frame rate of 25 frames/second this gives a data input of 512 x 512 x 25 = 6,553,600 bytes/second. This input rate may be too high to be processed in real time by software, requiring software processing in less than real time or the need for additional processing capacity. Multiple processors could be used, with each processor having access to the frame store. The processing speed, however, will be limited by the shared access to the information in the store since only one processor at a time will be able to have access to the information. K. N. Ngon, A. A. Kassim, H. S. Singh, "Parallel Image-processing system based on the TM532010 digital signal processor", in IEEE Proceedings-E/Computers and Digital Techniques, Vol. 134, No 2. March 1987, pp 119-124, disclose parallel processing of sub-images of an image through a multi-processor system with a common program memory, either in an MIMD or in an SIMD mode. L. R. Williams, P. Anandan "A coarse-to-fine control strategy for stereo and motion on a mesh-connected computer", in Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, June 1986, Miami, Florida, pp. 219-226, disclose the performance of convolution and correlation algorithms on an SIMD processor using a strategy of decreasing spatial resolution. It is an object of the present invention to provide an improved image processing method. The invention is set out in Claim 1. The image information may be infra-red image information and may be provided by a television camera. The processing assemblies are preferably interconnected with one another such as to enable synchronisation of operation of the processing assemblies. The system may further include an input circuit that supplies signals from sensors to the processing assemblies for storage in the memories. Each processing assembly may be provided by a respective transputer. The system may include a display, the respective output signals from the processing assemblies being supplied to the display to provide a display representation of the information. The signals in respect of one part of the information may be supplied to a plurality of the processing assemblies so as thereby to increase the processing capacity in respect of one part. An image processing system for an aircraft, and its method of operation will now be described, by way of example, with reference to the accompanying drawings, in which: Figure 1 shows the system schematically; and Figure 2 shows a part of the system in greater detail. The processing system includes an infra-red television camera 1 that supplies signals to a processing unit 2 together with signals from other sources 3. The processing unit 2 provides output signals to a display 4 and to other utilisation devices 5. The camera 1 is of a conventional kind and may comprise an array of infra-red detectors on which is focussed the image of the infra-red scene within the field of view (FOV) of the camera. The array of detectors is raster scanned and a video signal in accordance with this is supplied via line 10 to a video input control unit 20 in the processing unit 2. Where the camera has an array of 512 by 512 detectors its output represents 512 pixels along each of 512 lines. The video input control unit 20 functions to divide the field of view into sixteen adjacent areas or sub-images arranged as an array of four-by-four square regions A to P. In the unit 20, the output from the camera 1 is supplied to the appropriate one of sixteen processing assemblies 21A to 21P. The assemblies 21A to 21P may be mounted on four boards, with four assemblies on each board. Each assembly 21 on a board is connected to each of the other three assemblies, with the boards connected in a chain and with the first and last boards connected to the input unit 20 and an output unit 40. Transfer of information from the input control unit 20 to the processing unit 2 is effected by direct memory access to the assemblies 21. With a single sub-image memory buffer, each processor can access its respective sub-image for 80% of the time. This can be increased to nearly 100% by using more than one sub-image memory buffer. Each processing assembly receives signals from an area of the field of view as detected by an array of 128 by 128 of the detectors. The assembly 21A, for example receives signals from the first 128 detectors in each of the top 128 lines, the assembly 21B receives signals from the detectors 129 to 256 in the top 128 lines and so on. With reference now also to Figure 2, each assembly 21 includes a transputer 24, such as an Inmos T414 or T800. The transputer 24 comprises a memory 22 and a processor 23. Within the memory 22 there are sufficient locations to store information in respect of each of the 128 by 128 pixels supplied to the assembly 21 and for use in image processing of the stored information. Each assembly 21 also includes a sub-image memory 31, which may contain one or more buffers for sub-images, and which is connected with a sub-image input/output mapping circuit 32. A program memory 33 is provided by a 256K x 32 bit DRAM 33 and interface circuitry 34 for address decode are also shown. The input/output mapping circuit 32 is implemented as a reprogrammable ASIC (application specific integrated circuit) and contains comparators which compare pixel and line count with programmed limits to select the sub-image to be accepted into the assembly 21. Similar circuitry controls the output for dislay of an output image. In addition to the video signals, the assemblies 21 each also receives synchronisation signals from the other processing assemblies 21 in the processing unit 2, and external signals from the other sources 3 which may, for example be representative of the camera angle, aircraft attitude, flight characteristics or the like. Signals from the other sources are supplied to the processing unit 2 via an input circuit 30 which distributes information from the sources 3 to appropriate ones of the assemblies 21. Each assembly 21 has sufficient image memory space to store several sub-images to allow for analysis of time sequences or for the inputs from two or more sensors to be compared. Each assembly 21 is provided with a hard wired address to identify it uniquely within the unit 2 and to allow each assembly to be identified and co-ordinated with the sub-image at the same assembly. The operations performed by the assemblies 21 are dependent on the requirements and nature of the system, but each transputer processes only that information in its memory, that is, information in respect of that part of the field of view assigned to the processor. All the assemblies 21 may have identical software which is controlled by a master processor located in the input unit 20 which defines the mapping of the input image to sub-images at specified assemblies 21. The master processor may then send a message to the corresponding assembly 21 instructing it to perform a specified algorithm with parameters defined by the message. Iterative algorithms are used, each frame being processed in the frame time and the results used as the basis for analysis of the next frame. In one example, the camera 1 is responsive to infra-red signals and the transputers are each arranged to identify an infra-red emitting source within their respective regions of the field of view. When an infra-red source is identified above the background infra-red radiation with sufficient certainty, the processor 23 generates a marker against the source which is displaced with movement of the source. The processor 23, from this, and from information from the other sources, calculates the speed of movement of the source, the nature of the source, its size and range, predicts future movement and so on. When the source moves out of the region associated with one transputer 21, the adjacent transputer takes over. In this respect, signals are supplied via line 24 between the transputers 21 to prepare them for taking over designation of a source that is moving between them. Each transputer can identify one or more sources within its respective region of the field of view and track them individually. Output signals from each transputer 21 are supplied via respective lines 25 and an output unit 40 to the display 4, where an output representation of the or each infra-red source is provided together with its associated marker, information legends, track representations, and so on. It will be appreciated that it is not essential for a display to be provided. Instead, the output signals could be supplied solely to the utilisation means 5 such as to control weapon aiming equipment or the like. By contrast with conventional block stores which typically require a total data input of: 512 x 512 (bytes) x 25 (frames/s) = 6,553,600 bytes/s the arrangement of the present invention requires for each unit: 128 x 128 (bytes) x 25 (frames/s) = 409,600 bytes/s Because each processor has access only to a respective part of the memory it can have continuous access to this part of the memory. This is in contrast with other arrangements involving the same number of processors and the same size of memory, but in which each processor has access to the entire memory. In such arrangements, each processor has to share access to the memory with other processors so that, for n processors each can only have access to the memory for a fraction 1/n of the time. Where sixteen processors are used this would only enable each to have access to the frame store for 6% of the time, thereby substantially reducing overall processing speed. Various modifications can be made to the system described above, such as by using a greater or fewer number of processing assemblies. The system could be used for processing other forms of information such as image information derived from an infra red detector, or sound information for use in voice recognition. The system could be used in robotic apparatus with the output signals from the system being used to control positioning or manipulation apparatus indicated by the numeral 6. Other sources of video input signal could be used to provide video image information such as, for example, provided by a video signal recorder or radar apparatus. It will be appreciated that the size of memory 22 associated with each sub-image need not be identical. For example, where increased processing is required, more than one processor assembly 21 could be used to store and process information from the same sub-image. The size and location of each sub-image could also be dynamically determined. For example, if a moving object was identified in a region of the field-of-view, information from that region could be supplied to a greater number of processor assemblies, with information from other regions being supplied to fewer processor assemblies, so that increased processing could be performed on the region including the moving object.

Claims: A method of image processing comprising the steps of viewing an image field by means of an array of image sensors, dividing the field into a plurality of sub-images, supplying input signals in respect of different sub-images directly to different ones of a plurality of memories in respective processing assemblies (21 A to 21P) independently of others of the assemblies, each assembly having sufficient image memory space to store several sub-images to allow for analysis of time image sequences or for the inputs of two or more image sensors to be compared, determining in real time the amount of processing memory required for each sub-image according to the results of said analysis or comparison, those sub-images requiring increased processing memory being supplied to a greater number of processing assemblies than the sub-images requiring a lesser processing memory, and performing on the contents of each memory in the respective assembly processing operations independently of others of the assemblies so as to provide respective independent output signals in respect of the different sub-images such that the output signals from all the processing assemblies can be provided at the same time. A method according to Claim 1, characterised in that operation of the processing assemblies (21A to 21P) are synchronized with one another. A method according to Claim 1 or 2, characterised in that the output signals are supplied to a display (4).

Inventors: RAWLINGS KEITH CHARLES, RAWLINGS, KEITH CHARLES
Applicants: SMITHS INDUSTRIES PLC, SMITHS INDUSTRIES PUBLIC LIMITED COMPANY
Application year: 1988
Main classification: G06F15
IPC codes: G06T1, G06F15