IMPROVED DATA PROCESSING METHOD AND APPARATUS

Abstract: In a data processing method and apparatus, an image signal representative of features in a space of two or more dimensions is progressively filtered at monotonically increasing filtering scales, the signal being input to the first filtering scale, and the input to the or each subsequent filtering scale is the output signal from the previous scale. Each input has a number of data samples each of which represents a respective region of the space, and at each filtering scale those samples are sorted into connected-sets, each of which contains a plurality of substantially equal value to data samples or a respective individual data sample not in other sets. The process then selects those connected-sets which contain data samples having values which are local maxima or local minima and which represent a composite region of a size related in a predetermined way to the current filtering scale. Each selected set is then effectively merged with the adjacent connected-set which contains data samples of a value closest to that of the sample(s) in the selected connected-set. This is achieved by changing the latter's value to that of the samples in the adjacent connected-set. The output signal for the filtering method is derived from the output of at least one of the filtering scales. In at least one of those scales, both connected-sets having local maxima and connected-sets having local minima are selected, thereby increasing the tolerance of the method to noise.

Description: Improved data processing method and apparatus 1 Field of invention This invention concerns methods and apparatus for processing data, particularly but not exclusively images, in order to separate the signal into two or more components having distinct characteristics, for example to separate different sized objects in an image or to remove a noise component from a signal. The invention is of particular application in the fields of image analysis, image compression, pattern recognition and the like. 2 Background to the invention A common image processing operation is to segment an image into regions having distinct characteristics, such as the different objects in an image. For example, in an image compression scheme the image may be segmented into relatively large regions which can be described in terms of their boundaries and additional characteristics such as texture. This enables the image to be transmitted more efficiently. In pattern recognition and image analysis, an image may be decomposed into the major objects in the scene, and then information describing these objects, such aε their edges, is passed to subsequent processing. In order to separate an image into objects of different scale (size) it is common to perform a multiscale decomposition using some form of spatial filtering (for an extensive review see Lindeberg, 1994 Scale-space theory in computer vision"). In this approach, filters are used to produce images that have been filtered to a range of scales (so objects of smaller scale than the filter are artenuated or removed) . The advantages of these multiscale representations crystallised in the 1980's when the concept of 'scale-space' emerged (Witkin, 1983, "Scale space filtering'' 8th Int Joint Conf Artificial Intelligence). The key point about scale-space representations is that objects in a scene are usually represented by local intensity extrema (maxima cr minima) bounded by edges. A large object can be located either by finding the corresponding extremum (zero crossings of the first derivative) or the corresponding edges (zero crossings of the second derivative). However, this is only reliable if the image is first smoothed with a filter in order to remove fine detail and noise. It is not sufficient to apply any filtering (convolution) operator for it is very desirable that the smoothing does not introduce any new extrema and that the intensify of fine scale features is attenuated monotonically as the filtering scale increases. This property is known as scale-space causality, and is fundamental to an effective scale-space decomposition for use in image analysis etc. Furthermore, most filtering operators do not achieve scale space causality. Initially, attention was focused on one dimensional signals and it was shown that the only linear (convolution) filters that exhibit This scale space property are Gaussian (diffusion equation related) convolution filters (Yuille and Poggio, 1987 "Scaling Theorems for Zero Crossings", IEEE Trans on Pattern Analysis and Machine Intelligence 9:15-25). Gaussian convolution, implemented as a set of increasing scale difference of Gaussians, Laplacian of Gaussians etc, had already been proposed as a way ro decompose a two-dimensional image into a number of scale related "spatial"channels (Marr 1982 Vision" W.H. Freeman and Co). These methods were used to segment an image into regions and, by higher level classification stageε, to analyze the image content. However, they only approximated the scale-space causality property for multidimensional signals. Later it was realised that Gaussian convolution in one dimension simply represents a particular solution to the heat or diffusion equation (Koenderink, 1984, "The structure of Images", Biological Cybernetics 50:363:370). Solving these equations using a 2-D formulation leads to a method of performing a scale-space decomposition in 2-D that conforms to the scale-space causality property. This approach is known as 'diffusion based' imaging. However, there are problems with the diffusion based approach. The two most apparent ones are that: 1) At large scales the edges of objects are not well preserved, yet it is edges that are important for many tasks such as pattern recognition; 2) Diffusion based systems are computationally expensive, so are slow or expensive. An additional branch of the literature that is relevant to the current invention is the behaviour of 'connected-set' operators that are used for the processing, coding and recognition of images (Serra, J and Salembier, P 1993, "Connected operators and pyramids" SPIE 2030:65-76). This paper considers the processing of zones of connected pixels of the same intensity value within an image. These form a partition of the image that can be represented as a graph. It also includes some discussion of the effects of morphological operators and other operators that depend on area, geodesic distance etc on connected sets. Some algorithms for the implementation of morphological operators on graphs have also been described (Vincent, L 1989 "Graphs and mathematical morphology" Signal Processing 16:365-388) . A feature of these papers is that they focus on configuring the filters in such a way as to provide apparent computational advantages (see also Vincenr L. 1993 "Grayscale area openings and closings, their efficienr implementation and applications to signal processing" eds. Jerra and Salembier pages 22-27, ISBN 84-7653-271-7, and Vincent L. 1992 "Morphological area openings and closings for Grayscale images" Proc. NATO Shape in Picture Workshop Driebergen, Springer Verlag pageε 197-207) . However, as a result, such filters (known as opening and closing filters) have been found to be sensitive to image degradations, such as noise, which can be of either positive or negative polarity. Clearly, it would be desirable to provide a filter which is more robust to signal degradation but which presents no significanr increase in computational demands compared with these previously proposed filters. A technique for data processing, related to the current invention, has been described inter alia in PCT/GB94/00080. This describes an alternative method for performing a scale-space decomposition using ordinal value filters (such as median, erosion, dilation, opening, closing, open-close and close-open operators) at each filtering scale, called a 'Datasieve'. In rhis method, the signal or image is passed through a cascade of ordinal value filrerε of increasing filtering scale such rhat the outpur of one filrer feeds the input to the next filrer in the cascade. We have proved that when applied to one-dimensional signals these methods conform to scale space causality and have other attractive properties such as resilience to noise and the ability to retain the edge definition of larger scale features. It can be shown that each filter i the cascade removes extrema in the signal that have extent equal to the current filtering scale. However, when the Datasieve, as described in the above patent application, is applied to multidimensional signals (either by applying 1-D filtering at multiple orientations or by applying multi-D filtering using multi-D ordinal value filters), scale-space causality may not be preserved, and consequently this form of decomposition is sometimes not ideal in terms of its ability to reliably segment an image into different objects. An additional problem with filtering using multidimenεional ordinal value filterε is that sharp corners of objects tend to be removed by the filtering at a lower scale than the main body of the object, which is unsatisfactory for image analysis applications (though this problem has been addressed by reconstruction filters (Salembier P. and Kunt M. "Size sensitive multiresolution decomposition of images with rank order based filters" Signal Processing 27 (1992) 205-241) ) . It is an object of the preεent invention to provide an improved method and apparatus for processing multidimensional signal that does not suffer from these particular disadvantages. 3 Summary of the Invention The present invention provides a method for filtering multidimensional signals comprising the following steps: (1) Progresεively filtering the signals at monotonically increasing filtering scales from S 1 up to S2, the input signal to the first filtering scale being the original input signal to the filtering process, while the input signal to each subsequent filtering scale is the output signal from the previous filtering scale, (2) At each filtering scale identifying connected-setε of equal valued data εa pleε in its input signal that represent local maxima and minima, also referred to as extrema, (ie. connected-sets whose value is either greater than (maxima) or less than (minima) the values of all of the adjacent connected-sets) and whose area iε related in a predetermined way to the current filtering εcale, and for each such extremum: (3) Identifying the adjacent connected-set whoεe value is closeεt to the current value of the extremum, and (4) Modifying the value of the connected-set thar forms the current extremum such that its new value is equal to the value of the adjacent connected-set identified in (3) εo that the adjacent connected-set becomeε merged with the current extremum forming an extended connected-εet of larger area, and outputting the output εignal from at least one of the filtering scales, wherein for at least one of the filtering scales both maxima and minima in the input signal, to that filtering scale, are processed. Preferably, both maxima and minima are procesεed at each filtering scale. It has been found that processing both maxima and minima at each filtering scale, rather than just maxima or just minima, has the advantage that the filtering technique becomes more robust to signal degradations, such as noiεe, than the technique employed by opening and closing filters. Although proceεsing both maxima and minima might be considered significantly to increase the computational demands imposed by the method of the present invention compared with opening and closing filters, this has been found not to be the case. It is believed that the demands aεsociated with having to proceεε both maxima and minima at a current filtering scale are offset by the fact that the signal fed to the next scale apparently requires less processing than would be the case if only maxima or only minima were procesεed at the current scale. In addition, with the method cf the present invention, it is not necesεary to sort the connecting-sets neighbouring any given extrema into order by value. In general, the extrema thar need to be processed at each filtering scale are preferably procesεed in any convenient order, for example in an order choεen to minimise computation. Changes to the connected-sets due to filtering may advantageously be made directly to the data held in the memory holding the input information to the filtering scale, rather than being stored in a separate output buffer. This is effectively a recursive filtering technique, and it has been found that it provides at least as good performance while requiring less computation and memory. For some applications, it may be advantageous to process the extrema in an order that is defined by their position in the input signal. In other applications, it may be beneficial to procesε all the maxima that require proceεεing at a given filtering scale before processing the minima ar that scale, or vice versa. Output parameters describing a 'granule' that representε the shape of the original extremum and the change in value of the extremum due to filtering, may be supplied as a first output signal. Once all the extrema that need to be filtered at the current filtering scale have been procesεed, the filtered εignal may be εupplied aε a εecond or as an alternative output signal. The effect cf the method is to filter extrema when their area satisfies some criteria related to the current filtering scale, such that the connected-set of data samples that forms the extrema takes on the value of an adjacent region selected so that the absolute change in value of the extrema is minimized. As the filtering εcale increases, detail in the signal will in general be removed as the size of the connected-setε that form extrema increaεeε. Taking the example of an image containing a number of objectε, repreεented by extrema, the objectε are removed from the image once the area of each objecr satisifies the filtering εcale related criterion. One filtering scale related criterion which may be used is when the area becomeε equal to the "area-equivalent" of each filtering εcale. It iε alεo be to be underεtood that the "equal value" criterion which identifieε connected-sets of data samples may be any suitable parameter of rhe signals which are to be filrered such as amplitude, intensity etc. For example, when filtering a digitised image, the intensity of each image pixel can be used. The invention also includes rhe use of connected-sets that are regions of data samples with values lying in a certain range (and so not necessarily cf the same value). It is also to be understood that the relation between the area of an extremum and the current filtering scale that determines whether filtering is required includeε relationε εuch as "equal to", "less than", "less than or equal to", "greater than", "greater than or equal tc ,; . Parameters ether rhan rhe area of an exrremu may be used to determine whether the extremum iε processed at a given scale. Alternatives include perimeter, width, height (or 'length' in any particular direction), moments about some point, often the centre of gravity, greatest distance between any two pointε in the region, geodeεic diεtance etc or any combination of theεe (including area), but in general any parameter or combination of parameters that is some measure of the size and/cr εhape of a connected-set may be used. For three dimensional signals, the volume of a connected-set may be used to determine at what scale an extremum is filtered. For higher dimensionality signalε, a higher dimensional equivalent of volume may be used. Note thar the number cf data samples in a connected-set may be used as a measure of its area cr volume. Similarly, distance measures such as perimeter, width, height and length may also be represented by counting a number of data samples. Thus, it will be appreciated that reference to the area, volume or size of a connected-set are references respectively to the area, volume or size of the region represented by the single sample in that εet or (if the set has a plurality of εampleε) of the compoεite region defined by the adjoining regionε represented by the data samples in the set. The amplitude or intensity of the extremum and/or adjacent regions may also be used in the criterion that determineε whether an extremum should be filtered at a given filtering scale. For example, the criterion may be based on both the area of the extremum and the difference between the value (amplitude) of the extremum and value of the closest value adjacent connected-set. In such a method, the filtering scale at which an object is removed from the input signal depends both on its size and on its contrast relative to surrounding objectε. It iε to be understood that any of these alternative meaεureε describing a connected-set may be used in place of or in combination with area in the aforesaid method. The measure may be chosen to be directional, such as width or height, in order to produce a directional filtering effect. Typically the measure chosen is one which alwayε increases when two regions are merged. In this manner, the invention provides an effective method to separate objects of different sizes and/or shapes in a signal . In step 3 of the method according to the invention, it may ariεe that there are a number of connected-sets adjacent to the extremum that are equally close to the value of the extremum. Clearly for this to be the case, theεe adjacent connected-sets will all be of the same or substantially the same, value. In this case, either all these connected-sets may be merged with the extremum to form a single region whose area iε the sum of the areas of all the merged connected-sets, or alternatively, only one of the regions may be merged with the extremum at this filtering scale, with the other regions being merged at higher filtering scales. In a further enhancement to the method of the invention, it may be advantageous when filtering an extremum, to merge any adjacent connected-sets that lie within a range of values, rather than just the connected-set that is closeεt in value to the extremum value. The filtered value of the extremum may be any function of the valueε of the adjacent connected-εets with which it is merged. The invention also provides a method for performing a scale-space decomposition of an input signal which conforms to the εcale-space causality property that requires features in the image to be attenuated monotonically as the filtering scale increaεes, since the filtering process always involves the merging of pairs of adjacent connected-sets. Thus the method of the invention provideε a reliable method for εimplifying a signal. When the invention is used in a 'low-pass' mode, typically for noise reduction or to remove features below a certain size, filtering is performed up to a predetermined scale, and then the filtered signal which will contain less fine detail is output to any subsequent processing or to a display (after conversion, if neceεεary, to an analogue signal). When the invention is used in a 'band-pass' mode, for example to separate features in a certain range of sizes from other features, an output signal from one filtering scale is subtracted from an output signal from a different filtering εcale, and the resulting signal is output to any subεequent proceεεing or to a display (after conversion, if necessary, to an analogue signal). When the invention is used in a high-pass' mode, in order to remove larger scale features, for example the background to an image, the output signal from one filtering scale is subtracted from the input signal, and the resulting signal is output to any subεequent proceεεing or to a diεplay (after conversion, if necesεary, to an analogue εignal). When the invention iε used in a 'decomposition' mode, in order to separate features into a number of different sizes, for example for pattern recognition purposes, then output signals are formed from a number of filtering scales, such that each output signal describes the location and/or change in value of any extrema that were processed at the corresponding scale, and the output signals are pasεed to any εubεequent processing or to a display (after convεrεion, if neceεεary, to an analogue signal) . Connected-sets of data samples are classified in relation to the number of different directions in which connections between the samples can be effected. In general the sets will be referred to as N-connected εetε, where N represents the number of different directions in which two samples may be connected. According to the chosen value of N, the filtering proceεε will have εo ewhat different reεultε. Typically N=4 or 8. The invention alεo provideε a method of filtering aε aforesaid in which the criterion for a connected set to be filtered at some filtering scale is not that they define an extrema, but that they contain saddle-pointε, form waterεheds, or contain maxima and/or minima in one or more directions. After filtering, the new value of a filtered connected-set may be equal to the value of an adjacent connected-set. However if so abεolute change in value of the filtered connected-set is minimized. The invention also provides a method of filtering in which connected-sets that belong to any selection of the above categories (including extrema) may be filtered. The invention alεo includes apparatus for performing the method, comprising: (1) Firεt circuit means for identifying connected-sets of equal valued data samples in a signal. (2) Second circuit means for determining whether a connected-set is an extremum by comparing its value with the value of adjacent connected-sets or adjacent data samples, (3) Third circuit means for determining the area of the extremum. (4) Means for determining when processing is finished, (5) Circuit means for determining whether an extremum requireε processing, (6) Means for reading the values of the data samples or connected-setε that are adjacent to an extremum, (7) Means for determining which adjacent connected-set is closeεt in value to the extremum value, (8) Means for modifying the value of an extremum to that of the closest valued adjacent connected set, (9) Means for outputting a signal following filtering at a predetermined scale. Typically, the apparatus will include input and output buffers control circuitry and additional memory for storing intermediate results and other information used in the proceεεing. The means for determining when processing is finished may alternatively comprise a counter for holding the current filtering scale and meanε for comparing the current filtering scale with the maximum filtering scale. The means for determining when procesεing is finished may comprise means for determining the minimum area of any extremum and means for comparing this area with the maximum filtering scale. The means for determining whether an extremum requires processing may comprise means for comparing the area of the extremum with a filtering scale. The means for determining whether an extremum requires processing may comprise means for holding extrema of different areas in different lists, such that only the list corresponding to a particular scale needs to be processed at that scale. The means for outputting a εignal following filtering at a predetermined εcale may employ a comparator to determine when the deεired filtering scale has been reached. Parameters other than the area of an extremum may be used to determine whether the extremum is processed at given scale. Alternatives include perimeter, width, height (or "length" in any particular direction), moments about some point, often the centre of gravity, greatest distance between any two points in the region, geodesic distance etc or any combination of these (including area), but in general any parameter or combination of parameters that is some measure of the size and/or shape of a connected-set may be used. To this end the area determination meanε referred to above may alternatively be a means for determining any one of the relevant parameters (or combinations of parameters) and the criteria employed in the later circuit elements may be adjusted accordingly. For three dimensional signals, it may be the volume of a connected-set which may be determined and used to itself determine at what scale an extremum is filtered. For higher dimensionality signals, the determining means may be εet to determine a higher dimensional equivalent than volume. Note that the number of data signals in a connected-set may be used as a measure of an area or volume. Similarly, distance measureε εuch aε perimeter, width, height and length may all be represented by counting a number of data sampleε. The amplitude or intenεity of the extremum and/or adjacent regions may also be used in the criterion that determines whether an extremum should be filtered at a given filtering scale. For example, the criterion may be based on both the area of the extremum and the difference between the value (amplitude) of the extremum and the value of the closest value adjacent connected-set. In such a method, the filtering scale at which an object is removed from the input signal depends both on its size and on its contrast relative to surrounding objects. It is to be understood that the determining means may be set to compute any of these alternative meaεureε describing a connected-set in place of area. Rather than filtering connected-sets that are extrema (both maxima and minima), the apparatus may be operated so as to process just maxima, or just minima, for at least one of the filtering scales. To this end, the means for determining whether a connected-set is an extremum, referred to above, may alternatively be means for determining whether a connected-set is a maximum, or a connected-set is a minimum. Alternatively, all extrema may initially be identified, but additional value checking means may be provided, adapted to determine if an extremum is a maximum or a minimum, thereby to determine if processing of the extremum is required. In order to improve proceεsing speed, additional storage means for storing information that describeε the extrema found in the εignal may be preεent. The storage means may be used to hold (directly, or indirectly through the use of pointers to other areas of memory) any or all of the following data: the location of at least one of the data samples in the extremum; a list cf the locations of all the data sampleε in the extremum; the area of the extremum; the value of the extremum; a list of other connected-setε or data samples that are adjacent to the extremum; a flag that indicates whether each extremum is a maximum or a minimum. Potentially, extrema of different areas can be stored in separate lists, or alternatively, the list of extrema can be ordered so extrema of lower area appear in the list before extrema of higher area. It may also be advantageous to store extrema that are maxima in one list and extrema that are minima in another list. In order to further improve processing speed, additional storage means for storing information that describes the connected-sets found in the signal may be present. The storage means may be used to hold (directly, or indirectly through the use of pointers to other areas of memory) any or all of the following data: the location of at least one of the data sampleε in the connected-εet; a liεt of the locationε of all the data sampleε in the connected-set; the area of the connected-εet the value of the connected-εet; a liεt of other connected-sets or data samples that are adjacent to the connected-set; a list of data sampleε that are contained within the connected-set and lie along the perimeter of the connected- set, possibly including a flag for each such data sample to indicate in which direction a data sample from a neighbouring connected-set can be found. In order to further improve procesεing speed, additional storage means may be present in order to identify the connected-set to which each data sample in the signal belongs at each stage in the processing. It may be advantageous to store information describing the extrema in a iiεt that is ordered in terms of increasing extremum area. In this case the first extremum in the list is always the next extremum to be procesεed, unless its area is too large to be filtered at any of the predetermined filtering scales. In this technique, it may not be necessary to use an explicit counter to loop over the filtering scaleε; it is simply necessary to check whether the area of the first extrema in the list is greater than the maximum filtering scale, in which caεe processing can cease. It may aiso be advantageous to perform filtering at the lower filtering scales by operating directly on the input signal, before the signal iε tranεformed to a repreεentation involving connected-εets. For example, filtering at scale 1 can be achieved by considering each data sample in turn, and comparing the value of the data sample with the adjacent data samples to determine if it represents an extremum. If it is an extremum, then its value is modified to become equal to the value of the closest value adjacent data sample. Typically, the values in the input buffer are modified directly when an extremum is filtered in this way rather than generating an output signal in a separate output buffer. A similar method can be used to perform filtering at scale 2 and higher scales, although the complexity is greater. After filtering up to the desired scale using this approach, the output signal from the last filtering εcale iε paεsed to the connected-set based approach described above which is more efficient for higher filtering scales. Potentially, a programmable processor, controlled by a computer program and with associated memory can be used for part or all of the apparatus, as an alternative to using dedicated hardware circuits. Brief Description of the Drawings The invention will now be described, by way of example only, with reference to the accompanying drawings, in which: Figure 1 comprises three simplified representations of a two- dimensional image and illustrates the effect of two filtering operations, by a method according to the invention, thereon; Figure 2 is a block diagram of apparatus for performing said method; Figure 3 is a block diagram of another embodiment of apparatus for performing the method; Figure 4 is a block diagram of an image procesεing εystem which can incorporate the apparatus shown in Figures 2 or 3; Figure 5 shows a real image before filtering and after filtering at progressively increasing scaleε; Figure 6 iε a correεponding view to Figure 5, and εhowε the effect of filtering at different εcaleε on noiεe in the original image; Figure 7 is a similar view to Figure 1, and shows the effect that filtering at different scales haε on a simplified two- dimensional image as shown in the left hand panels, the right hand panels being three dimensional graphic representations of the image at the corresponding filtering stages; Figures 8A to 8H correspond to Figure 6, and show images of part of a disc drive mechanism, before processing, after the addition of random amplitude noise, and after filtering at various scales; Figure 9 is a number of graphs, on common axes, of computation time against number of image pixels processed by the filtering method when applied to various different images; Figure 10 showε apparatuε, which includes apparatus such as iε shown in Figure 2 or Figure 3, for recognising objectε, in thiε caεe cars, of a εelected colour; Figure IIA shows an image to be processed by the apparatus of Figure 10, and Figure IIB shows the effect of two stageε of that proceεεing on the image; and Figure 12 illuεtrateε the proceεsing of a three dimensional image by a method in accordance with the present invention. Detailed Description Typical procesεing is illustrated in Figure 1 which showε the effect of filtering on a εimple two-dimenεional image. The image iε εhown diagrammatically in three frames: frame A before any procesεing; frame B after filtering to a first scale and frame C after filtering to a larger scale. The lines show the partition of the image into connected-sets of pixels, each pixel being represented by a respective data sample. All the samples in each set have rhe same respective value (marked on the regions). In this example, that value corresponds to intensity of the pixels. In frame A, the shaded region 210 is a connected-set which conεtituteε an extremum (local maximum in this case) of value 9. After filtering at the first scale (according to area) the extremum is merged with an adjacent region 212 to form a larger set (which also happens to be an extremum) 214 of value 8 as illustrated in frame B. Subsequent filtering at a higher scale leads to the enlarged extremum 214 being merged with another adjacent region 216 to form a further extended extremum 218 of value 7, aε shown in frame C. Apparatus for performing the method iε illustrated in Figure 2. This apparatuε compriεeε connected-εet finder circuitry 192 for finding connected-εetε of equal valued data εamples in a signal, and for determining the area of connected-sets, extrema identifier circuitry 194 for determining whether a connected- set is an extremum by comparing itε value with the value of the adjacent connected-sets or adjacent data samples, and circuitry 200 for detecting the end of the processing, by determining the minimum area of any extremum and comparing this area with the maximum filtering scale to determine if procesεing iε finished. An alternative version of the circuitry 200 includes a counter for holding the current filtering scale and means for comparing the current filtering scale with the maximum filtering scale to determine if procesεing is finished. The apparatus also includes circuitry 196 for determining whether an extremum requireε proceεεing uεing meanε for comparing the area of the extremum with filtering εcale. In an alternative embodiment, the circuitry 196 has means for holding extrema of different areas in different lists, such that only the list corresponding to a particular scale needs to be processed at that scale. The apparatus alεo includes circuitry 198 for reading the values of the data sampleε or connected-sets that are adjacent to an extremum. The circuitry 198 determines which adjacent connected-set is closest in value to a given extremum value, and modifies the value of that extremum so as to merge it with that adjacent connected-set. The apparatus also includes a memory 190 which is connected to an input 180 via an input buffer 182 and optionally circuitry 184 for low εcale processing (described below) and optionally a further buffer 186. The units 192, 194, 196 and 198 are all also connected to the memory 190, and each is able to read from the memory 190 the image data needed to perform its respective proceεεing of the data and to write the reεults of that processing into the memory 190. The memory 190 is thus operable to store the intermediate results of the method and other information used therein. An output signal for the apparatus is formed by circuitry 202 which obtains the necessary data for that signal from the memory 190, and is connected to an output 206 via an output buffer 204. Buffer 204 enables the apparatus to be interfaced with subsequent procesεing equipment, for example, an image display unit. The operation of the apparatus is controlled by a ( control logic') unit 188 which can receive image data from the memory 190, and which supplies control signals to various of the other units of the apparatus (and receives εtatus signals from those units), as indicated by broken lines. In use, the input 180 receives a signal for an image scan line by scan line, and the data for each scan line is εtored in the input buffer 182 until the data for the whole image haε been received. In the versions of the apparatus which lack the units 184 and 186, that data iε then fed directly to the memory 190. The unit 188 then initiateε the operation of the circuitry 192 which reads that data from the memory, identifies the connected sets of data sampleε, calculates the area of each connected-set (ie the areas of the regions in the image defined by the connected-sets), and writes data describing those sets into the memory 190. The unit 188 then causes the extrema identifier circuitry 194 to obtain from the memory 190 data deεcribing the image and the connected-εetε, and to compare the intenεity of each connected- set with those of itε neighbourε to determine which sets are extrema. The circuitry 194 then supplies data describing the extrema to the memory 190, from which that data is then read by the circuitry 196, in response to a control signal from unit 188. The circuitry 196 also receiveε data relating tc the current filtering scale from the unit 188, and compares each extrema with that scale to identify which have areaε which are lesε than the area required by the εcale. Data identifying those extrema are then written into the memory 190. The circuitry 198 is then caused by the unit 188 to read from the memory 190 data describing the positions of the regions defined by the connected sets and identifying the extrema having areas leεε then that specified by the current filtering εcale. The valueε of thoεe extrema are then modified aε described above, and data describing the image after filtering at that scale is εtored in the memory 190. If required, that data can be converted into an output image signal by circuitry 202 and the output buffer 204 and/or is used as the basis for filtering at the next scale. The data is also fed to the circuitry 200 which, under control of the unit 188, determines whether the image has been filtered to the largest εcale, ie whether the proceεεing performed by the apparatuε haε finiεhed. If that processing has not been finished, the above processes are repeated for each succesεive filtering scale, using the data obtained as a resulr of the proceεεing at the previouε εcale. The data identifying each scale is supplied by the processor 188 to the circuitry 196 when the image is to be filtered at that scale.. At each scale, the value of an extremum is modified using 198, 188, and following filtering at a predetermined scale a signal is output using a comparator (effectively units 188 and 202) to determine when the desired filtering scale has been reached. Typically, the apparatus also includes input and output buffers 182, 203; control circuitry 188; and additional memory for storing intermediate results and other information used in the proceεεing 190. It may alεc be advantageous to perform filtering at the lower filtering scaleε by operating directly on the input εignal, before the εignal iε tranεformed to a repreεentation involving connected-sets. For example, filtering at scale One' can be achieved by considering each data sample in turn, and comparing the value of the data sample with the adjacent data samples to determine if it represents an extremum. If it is an extremum, then itε value iε modified to become equal to the value of the closest value adjacent data sample. Typically, the values in the input buffer are modified directly when an extremum iε filtered in this way rather than generating an output signal in a εeparate output buffer. A similar method can be used to perform filtering at scale 2 (ie to remove or attenuate extrema occupying two or fewer pixels) and higher scaleε, although the complexity is greater. After filtering up to the desired scale using this approach, the output signal from the last filtering scale may be paεεed to a connected-set baεed approach deεcribed above which is more efficient for higher filtering scales. A circuit 184 performs this filtering and an aεsociated buffer 186 enables the circuit 184 to interface with the rest of the apparatus. As already mentioned, a programmable processor, controlled by a computer program and with asεociated memory can be uεed for part or all of the apparatuε, as an alternative to using dedicated hardware circuits. Figure 3 shows another circuit for performing the invention that incorporates some of the improvements described above. The input signal 118 is buffered in the input buffer 116. The control circuitry 112 triggers the processing logic 102 that generates listε of connected regionε (ie Connected -εets') and listε of extrema and stores the asεociated information on the extrema in the memory 104 and on the information on the connected regions in memory 106 for later processing. When this is completed, the control circuitry 112 reεetε the filtering εcale counter 108 to the first filtering εcale. The proceεεing logic 100 εearches the extrema list for extrema of area (or another parameter describing size and/or shape) equal to (or some other relation) the current filtering scale. This extremum is then processed by 100 and the new values of the connected-set written to the memory 104 and 106, aε neceεεary. After processing at each filtering scale, the control logic 112 determines if an output signal should be fed to the output buffer 110 (which provided an interface with a subεequent data proceεεor or with a diεplay) . It alεo determineε if the filtering εcale haε reached the maximum filtering scale, in which case processing ceaseε. Note that the filtering εcale counter 108 iε optional; εome implementationε may, at each filtering εcale, determine the extremum with the minimum area uεing the processing logic 100 and process that extremum unless its area exceeds the maximum filtering scale as determined by the procesεing logic 100. For low-paεε filtering, meanε iε required to output the filtered signal from the final filtering scale to give a low¬ pass output. This is contained within the extremum processing logic 100 using the output buffer 110. For band-pass filtering, means is required to subtract the output signals from two different filtering scales, and to output the resulting band pass signal. This is contained within the extremum processing logic 100 using the output buffer 110. For high-pass filtering, means is reσuired to subtract an output signal from a predetermined filtering scale from the original input signal, and to output the resulting high pasε εignal. This is contained within the extremum processing logic 100 using the output buffer 110. To perform a signal decomposition, means is required to subtract the filtered value of an extremum from the previous value of the extremum to determine the change in value of the extremum and to output a signal containing at least this information. This is contained within the extremum processing logic 100 using the output buffer 110. A general configuration of the invention, including input and output devices, buffering and pre and post-processing is shown in Figure 4. The output 160 from the invention 150 may be any output signal derived from the invention, such as the low pass, band pass, high pass and decomposition information described previously (the apparatus reσuired to form the required output is contained within 150 and is either the apparatus shown in Figure 2 or that shown in Figure 3 ) . Examples of input deviceε 140 for delivering εignals to the circuit are: • an electronic scanning device (eg. a camera). • an electronic sensing device or transducer measuring any physical phenomenon (eg. a microphone or light meter). • a receiver for any type of communications channel, using any communications medium (eg. optical fibre, wire or any other means of energy guidance; radio, infra-red or any other means of free-space communication; sonic, ultrasonic or any other means of broadcast communication using phyεical modulation of a physical medium) . a storage device using any medium (eg. semiconductor, magnetic, optical). Exampleε of output devices 158 driven by signals from the circuit are: Devices for control or activation of any physically measurable phenomenon (eg. a switch, or a display such aε a TV monitor) . • a transmitter for any type of communications channel, using any communications medium (eg. optical fibre, wire or any other means of energy guidance; radio, infra-red or any other meanε of free-εpace communication; εonic, ultraεonic or any other meanε of broadcast communication using phyεical modulation of a phyεical medium) . a storage device uεing any medium (eg. semiconductor, magnetic, optical). For εome input devices, an analogue to digital convertor 142 is required to convert the signals to a digitized form for procesεing by the invention. For some output deviceε, a digital to analogue convertor 156 is required to convert the output signals from the invention to an analogue form before being pasεed to the output device 158. It εhould be noted that other (unεpecified) buffers 144, 148 and/or initial processors 146 can be provided to process on the signal from the input device 140 before it is fed to the invention 150. Similarly, other (unspecified) procesεing at circuitry 154 and/or buffering at circuitry 152 can be performed on the output εignal from invention before it iε fed to the output device. Examples of processing that might be applied to the input signal are: noise reduction, contrast enhancement, linear or non-linear filtering. Examples of processing that might be applied after the invention are: pattern matching, pattern recognition, contrast enhancement, thresholding, edge detection, waterεhed transformation, linear or non-linear filtering, compression methods such aε run-length coding, predictive coding, entropy coding etc. Figure 5 illustrates the effect of filtering a real image using the invention. The top-left image 250 is the original image (without processing). The top-right, bottom-left and bottom- right images (respectively referenced 252, 254 and 256) show progressively increasing levels of filtering (ie the output images are obtained from the outputs of progressively higher filtering scaleε). Each εcale is indicated above its respective image and corresponds to the maximum number of pixels (ie data samples) of any connected-set which will be selected at that scale. Image 252 is filtered to a scale of 20 pixels, image 254 to a scale of 150 pixels and image 256 to a scale of 500 pixels. The reduction in detail in the filtered images is clearly shown. This may be useful for applicationε εuch aε a precursor to data compression (ie to provide the initial Λ smoothing' referred to in the introduction of this specification, and pattern recognition where it is desirable to obtain a simplified image that only contains the major information in an image. Figure 6 shows similar procesεing applied to an original image that has been heavily corrupted by noise. The original, corrupted image is shown at 258, the εame images filtered to remove connected-sets of twenty one hundred and fifty and five hundred pixels or lesε are denoted by reference numberε 260, 262 and 264 respectively. It is apparent that the proceεsing is able to reject the noise with only limited degradation of the features of interest in the image. Thus the procesεing iε robuεt and enableε degraded images to be handled. Figure 7 is a second example of the filtering procesε applied to a two dimensional image. The left panel shows the image at different stages of sieving. The right panel shows the same imageε bur as a surface relief, intensity being plotted upwards on the z axis. Figure 7A (left panel) showε the image prior to filtering. Each area iε a connected εet of pixelε having the same (or quantiεed to be the same) intensity. The number of pixels forming each local extrema is εhown. There is one minimum of area 1 and two maxima. (I) is not an extremum, but what would have happened if it were a minimum will be conεidered preεently. The maxima can also be seen in Figure 7A (right panel). The firεt εtage of the sieve is to remove all extrema of area 1 by assigning the pixels that form the extrema the value of the next most extreme neighbouring pixel. The result is shown in Figure 7B. In this case the extrema can be removed in any order. If pixel (I) had been a minimum then circuits that remove the extrema in different orders will give different resultε. There are several possibilitieε. For example, either only the εcale 1 minima are removed or only the maxima, aε haε been suggested in Vincent "Grayscale area openings and cloεing, their efficient implementation and applications", in ISBN 84-7653-271-7, p22-27. However, the apparatuseε εhown in Figures 2 and 3 can remove both at each scale, providing improved performance, with no significant computational penalty. Two further methodε remove the maxima and minima in any order, or in spatial order. The circuits needed to achieve this are relatively simple to implement. Figure 7C εhows the result of the next stage of sieving in which both extremal areas up to 2 pixels have been removed. Figure 7D showε the reεult of sieving to remove all extrema of areas up to 10 pixels. Figure 8A is an image of part of a diεc drive echaniεm. Figure 8B εhows the same image with the addition of 10% random amplitude noise. Figure 8C shows the image of Figure 8B after area sieving to remove all extrema of area leεε than 5 pixelε. The sieve uses a single paεs at each stage that removes both maxima and minima in a convenient order. In an alternative implementation all maxima at each εtage could be removed before all minima at the εame εtage. Figure 8D εhowε the image of Figure 8B after area εieving to remove all extrema of area less than 30 pixels. Notice that the small screw hole (at x=56, y=110 referenced 270) and other εmall objects have been removed. Figure 8E shows the image of Figure 8B after area sieving to remove all extrema of area less than 300 pixels. Notice that larger objectε have been filtered out. Figure 8F εhowε the image of Figure 8B after area εieving to remove all extrema of area less than 5000 pixels. Notice that not only have small objectε been removed but the edges of large objects have been preεerved. Figureε 8G and 8H respectively show images obtained after opening and closing filtering to remove only maxima or minima. As can be seen, some residual noise escapes each of the filtering stages shown in Figures 8G and 8H. The graphs of Figure 9 illustrate the performance of the apparatuses shown in Figures 2 and 3 for various different images. Each graph iε a plot of the number of pixelε (abscissa) of the image procesεed against the time (in seconds) taken (ordinate) to process them. The time taken also provides an indication of the necesεary complexity of a circuit for processing an image in a predetermined time. The actual time spent completely transforming (ie proceεεing) an image dependε on the extent of detail in that image, which is why graphε for a number of different images are shown. However, the overall slopes cf the graph are generally approximately linear (ie constant) over this range cf image sizes, showing that, in practice . , the circuit configuration described herein is both faεt and simple. Colour In one application an area sieve is used to process colour images. Unlike many εtandard linear filters, sieves can be usefully applied to colour images in any representation, for example red, green, blue (RGB) or hue, saturation, value (HSV), without the colour bleeding through the edgeε of features. In the HSV representation, the hue is typically a value between 0 and 359 that represents an angle. As a result, red often lies either side of the boundary between 0 and 359. It is, therefore, a standard procesε to re-map (rotate) the colour εignal εo that the colour of intereεt is associated with a value not near the boundary. Consider an example in which a coloured car is located in an image. The colour image is converted from RGB to HSV and the hue signal is re-mapped (rotated) tc take the value representing the desired colour away from the 0 359 boundary. It is then found that εegments of the image that are of the desired colour form a maximum in the hue signal. If there are no other objects of the desired colour in the image then this alone is enough to allow the desired car to be localised. If, as is more uεual, there are many objects of the same or related colours, then it is necesεary to use an additional method to localise the desired feature. The invention provides such a method, and uses the number of pixels that represent the desired feature, namely the area, further to narrow down the number of possible regions that might represent the desired feature. Thus, the remapped hue signal is sieved by a method according to the invention to remove all those features of the wrong area. The resulting signal concentrates information about the position of the desired feature. The process is illustrated in Figure 10. A camera 600 digitises the scene. An example of digitised image is shown in Figure IIA. The feature of interest is a red car. A standard RGB to HSV converter 602 produces the hue signal in which the intensity of red objects is maximised. A standard look-up table 604 is used to rotate the hue signal so that the colour of interest is centred midway between the two extreme value the signal can take. An .example of the resultant image is shown in Figure IIB. This has too much detail for the desired car to be identified, therefore it is sieved in circuit 606 (which comprises either the apparatus of Figure 2 or that of Figure 3) that rejects all segments that are either of too small an area or toe large. An example of the "band-pass" sieved image iε shown in Figure IIC. It is clear that the ratio of segments that are of interest compared to those that are not, is increased by the sieve 606. In a similar fashion, the sieve can be applied to the other domains that represent a colour image. Figure 12 illustrates the application of the method of the invention by the filtering of images in three dimensions, in this caεe, in order more clearly to viεualiεe internal featureε of a skull. In other examples, it can be used with ultrasound to visuaiiεe the internal structure of metal welds. Figure 12A shows a view of a skull. It is obtained from a series of computed tomography images that have been volume sieved to delete all volumes cutεide the range of volumeε that include the bone that forms the connected-εet that represents the skull. Figure 12B shows the result of applying a combination of 2 and 3 dimensional sieves to extract the volume associated with the third ventricle of the brain.

Claims: CLAIMS 1. A method for filtering a signal representative of features in a space of two dimensionε, the signal comprising a plurality of data samples, each having a value representative of a predetermined parameter of the signal for a respective region of said space, the method comprising the steps of: (a ) progressively filtering the signal at monotonically increasing filtering scales from Sl up to S2, the input signal to the first filtering εcale being the original input εignal to the filtering proceεε, while the input εignal to the or each subsequent filtering scale is the output signal from the previous filtering scale; (b) at each filtering εcale, i) identifying one or more connected-setε, each of either a plurality of adjoining data samples having substantially the same value or values lying in a predetermined range or a single respective data sample not in any other set, each set thus having a value equal to the value of the or all the data sampleε therein or, where the values lie in said range, the average of the values of the data samples therein; and ii) selecting each of these collected-sets which has an area related in a predetermined way to the current filtering εcale and which has a value that is a local maximum or a local minimum compared with those of adjacent connected sets, and for each selected connected-εet, (c) identifying the adjacent connected-set whose value is closest rc the current value of the selected set; (d) so modifying the value of the selected set that the new value is equal to that of the adjacent connected-set identified in step (c) so that the adjacent connected-set becomes merged with the selected connected-set, thereby forming an extended connected-set of larger area; and outputting an output εignal from at least one of the filtering scales, wherein for at least one of such filtering scales, both connected-sets having local maxima and connected-setε having local minima are εelected. 2. A method for filtering a signal representative of features in a space of three dimensionε, the εignal comprising a plurality of data sa pleε, each having a value repreεentative of a predetermined parameter of the εignal for a reεpective region of said space, the method comprising the εtepε of: (a ) progreεεively filtering the εignal at monotonically increaεing filtering εcaleε from Sl up to S2, the input signal to the first filtering scale being the original input signal to the filtering process, while the input signal ro the or each subsequent filtering scale is the output signal from the previous filtering scale; (b) at each filtering scale, i) identifying one or more connected-sets, each of either a plurality of adjoining data samples having substantially the same value or values lying in a predetermined range or a single respective data sample not in any other set, each set thus having a value equal to the value of the or all the data sampleε therein or, where the values lie in said range, the average cf the valueε of the data samples therein; and ii) selecting each of those collected-setε which haε a volume related in a predetermined way to the current filtering εcale and which haε a value that is a local maximum or a local minimum compared with those of adjacent connected sets, and for each selected connected-εet, (c) identifying the adjacent connected-set whose value is closest to the current value of the selected set; (d) so modifying the value of the selected connected-set that the new value is equal to that of the adjacent connected-set identified in step (c) so that the adjacent connected-set becomes merged with the selected connected-set, thereby forming an extended connected-εet of larger volume; and outputting an output signal from at leaεt one of the filtering scales, wherein for at least one of such filtering scales, both connected-sets having local maxima and connected-setε having local minima are εelected. 3. A method for filtering a εignal repreεentative of features in a space of two or more dimensions, the signal compriεing a plurality of data εampleε each having a value repreεentative of a predetermined parameter of the εignal for a respective region of said εpace, the method compriεing the following steps: (a ) progresεively filtering the εignal at monotonically increaεing filtering εcales from Sl up to S2, the input signal to the first filtering scale being the original input signal to the filtering process, while the input signal to the or each subsequent filtering scale is the output signal from the previous filtering scale; (b) at each filtering scale, i) identifying one or more connected-setε, each of either a plurality of adjoining data εamples having subεtantially the εame value or values lying in a predetermined range or a single respective data sample nor in any other ser, each set thus having a value equal to the value of the or all the data samples therein or, where the values lie in said range, the average of the values of the data samples therein; and ii) selecting each of those collected-sets which has a size and/or colour, a parameter or combination of parameters of which is related in a predetermined way to the current filtering scale and which has a value that is a local maximum or a local minimum compared with those of adjacent connected sets, and for each selected connected-set, (c) identifying the adjacent connected-set whose value is closest ro the current value of the selected set; (d) so modifying the value of the selected connected-set that the new value iε equal to that of the adjacent connected-set identified in step (c) so that the adjacent connected-set becomes merged with the selected connected-set, thereby forming an extended connected-set of larger size; and outputting the output εignal from at least one of the filtering scales, wherein for at least one of such filtering scales, both connected-sets having local maxima and connected-setε having local minima are selected. 4. A method according to claim 3 in which, in step (b) a single parameter, related to the size of a region repreεented by a connected-set is considered, and in which said εingle parameter comprises any one of the perimeter, width, height, moment about some point, greateεt distance between any two points cr geodeεic distance. 5. A method according to claim 3 in which step (b) involves a consideration of a combination of parameters relating to the size of the region represented by a connected-set, and in which said combination comprises any one or more of the perimeter, width, height, moments about some point, greatest distance between any two points or geodesic distance of the composite region. 6. A method according to any of the preceding claims in which both connected-sets having local maxima values and connected- εetε having local minima valueε are selected at each filtering scale. 7. A method according to any of the preceding claims, in which the method further comprises the step of outputting a further signal representative of parameters describing a "granule" representε the εhape of the originally selected sets and the change in value of those sets due to said modification. 8. A method according to any of the preceding claims, in which a respective output εignal iε output from each filtering scale once all the connectad-εets selected at that scale have been procesεed. 9. A method according to claim 1 in which the εignal is repreεentative cf an image containing a number of objects represented by local maxima and minima in the valueε of the data εamples for the regions occupied by the objectε, each object being removed from the image if a filtering scale related criterion is εatiεfiεd by the area of the object. 10. A method according to claim 9 in which εaid criterion is satisfied if the area of the object is equal to an "area equivalent" aεsociated with the filtering εcale. 11. A method according to claim 9 or claim 10 in which the criterion is satiεfied if the area of the object is lesε than an "area equivalent" associated with the filtering scale. 12. A method according to claim 9 or claim 10 in which εaid criterion iε εatisfied if the area of the object iε greater than an "area equivalent" aεεociated with the filtering εcale. 13. A method according to any of the preceding claims in which the signal is an image signal, the value of each data sample representing the intensity and/or colour of a respective pixel. 14. A method according to claim 1 or claim 2 in which the number of data samples in a connected-set is used as a measure of the area of volume of the composite region repreεented by that εet. 15. A method according to claim 4 or claim 5 in which the distance, perimeter, width, height or depth of a composite region are determined by counting the number of data sampleε in the connected-set representing that region. 16. A method according to any of the preceding claims in which the value of each εeiected connected-εet iε only modified at a given filtering εcale if that value satisfieε a predetermined further criterion. 17. A method according to claim 16 in which said further criterion is based on the difference between the value of the selected connected-set under consideration, and the value of an adjacent connected-set having the closest value to that of the set under conεideration. 18. A method according to claim 17 in which εaid values represent amplitudes or intensities, the further criterion therefore being the contrast between the connected-set under consideration and the surrounding connected-εets. 19. A method according to any of the preceding claims in which, if said adjacent connected-set having a value which is closest to that of the selected set is one of a plurality of such adjacent connected-sets, either all such connected-setε are merged with the selected connected-set to form a εingle compoεite εet whose area is the sum of the areas of all the merged connected-sets, or only one such adjacent connected-set is merged with the selected connected-set at that filtering scale, with the or each other such adjacent connected-set being merged at higher filtering scales. 20. A method according to claim 19, in which, at a given filtering scale, the selected connected-set is merged with all adjacent connected-sets having values which lie within a predetermined range of values which includes the value of the selected connected-set. 21. A method according to any of the preceding claims in which the method further co priεeε the εtepε of subtracting an output signal of one filtering scale from an output signal of a different filtering scale and outputting the difference " to any subsequent processing or to a display, the method thereby separating features in a certain range of sizeε from other features. 22. A method according to any of claims 1 to 20, in which tha method further comprises the steps of εubtracting the output εignal of one filtering scale from the input εignal to that scale, and outputting the difference tc any subεequent proceεεing or to a display, the method thereby removing larger scale features. 23. A method according to any of claims 1 to 20, in which the method further comprises the steps of outputting signals from a number of filtering scaleε, each εaid signal deεcribing the location and/or change in value of any εelected connected-sets that were processed at the corresponding scale, and pasεing the εignalε to any subsequent procesεing or to a diεplay, the method thereby decompoεing the εignal by placing featureε into different groupε, each of which contains only features of a respective size or a size lying within a respective range of εizeε. 24. A method according to any of the preceding claims in which, at any filtering scale, the selected sets are processed in the order in which they appeared in the input signal to that filtering scale. 25. A method according to any of claims 1 to 23 in which, at any filtering scale, all the selected connected-sets which represent local maxima are processed before those representing local minima, or vice-versa. 26. A method according to any of the preceding claims, in which said modifications to the values of εelected connected- sets are made directly tc the input data for a filtering scale, and are not stored in a εeparate output buffer. 27. Apparatuε for performing a method according to any of the preceding claimε, the apparatuε comprising: (a) first circuit means for identifying connected-sets in an input signal; (b) comparator circuit means for determining whether the value of a connected-set is a local maximum or minimum by comparing that value with the value of adjacent connected-sets; (c) integration circuit means for determining one or more parameters related to the sizes of connected sets whose value is a local maximum or local minimum; (d) selection circuit meanε for comparing εaid parameter or parameters with a filtering scale thereby to determine whether εuch connected-εetε require proceεεing; (e) means for reading the values of the connected-setε that are adjacent to εelected connected-εetε; (f) further comparator meanε for determining which adjacent connected-set is closest in value to that of any selected connected-set; (g) means for modifying the value of a selected connected-set to that of the closest value adjacent connected-set; (h) output means for outputting a εignal following filtering at a predetermined scale; and (i) means for determining when procesεing is finished. 28. Apparatus according to claim 27, in which the apparatus includes input and output buffers, control circuitry and additional memory for storing intermediate results and other information used in the processing. 29. Apparatus according to claim 27 or claim 28, in which the meanε for determining when proceεεing is finished comprises a counter for holding the current filtering scale and means for comparing the current filtering scale with the maximum filtering scale. 30. Apparatus according to any of claimε 27 to 29, in which the meanε for determining when processing is finished comprises means for determining the minimum area of any εelected connected-εet or composite connected-set formed by merging selected connected-sets with adjacent connected-sets and means for comparing this area with the maximum filtering scale. 31. Apparatus according to any of claims 27 to 30, in which the selection circuit means compriseε means for comparing the total area of the region or composite region represented by any connected-set with a filtering scale, the integration circuit means being operable to determine the total areas represented by connected-sets. 32. Apparatus accordinσ to claim 31, in which the εelection circuit means further comprises means for holding connected- sets, having values which are local maxima or minima, of different areas in different lists, such that only the list corresponding to a particular scale needs to be processed at that scale. 33. Apparatus according to any of claims 27 to 32, in which the output means employs a comparator to determine when the desired filtering scale has been reached. 34. Apparatus according to any of claims 27 to 30, in which the selection circuit means comprises means for comparing one or more of perimeter, width, height, moments about εome point, greatest distance between any two points in the region, geodesic diεtance with a filrering εcale, the integration circuit meanε being operable to determine said one or more parameters for connected-sets. 35. Apparatus according to claim 27, in which the selection circuit means is also operable to compare the value of data samples in a given set with those of εamples in adjacent connected regions to determine whether the connected-set being tested should be proceεεed at a given filtering εcale. 36. Apparatuε according to claim 28, in which the apparatuε includes additional storage means for storing information that describes the local maxima and minima found in the signal. 37. Apparatuε according to claim 36, in which the storage means is used to hold any or all of the following data: the location of at least one of the data samples having a local maximum or minimum value; a list of the locations of all such data samples in a connected-set; the area of such a set; the value of the data sampleε in the εet; a list of other connected-εets or data samples that are adjacent to said connected-set; a flag that indicates whether each maximum or minimum value is a maximum or a minimum. 38. Apparatus according to claim 37, in which the storage means stores information on connected-sets of data samples having local maximum values in one list and sets of samples having local minimum values in another list. 39. Apparatus according to any of claims 36 to 38, in which, in order tc further improve processing speed, the apparatus includes additional storage means for storing information that describes the connected-sets found in the signal. 40. Apparatus according to claim 39, in which the storage means is used to hold any or all of the following data: the location of at least one of the data samples in the connected-set; a list cf the locations of all the data samples in the connected-set; the area of the connected-set the value of the connected-set; a list of other connected-εets or data samples that are adjacent to the connected-set; a list of data samples that are contained within the connected-ser and lie along the perimeter cf the connected-set, posεibly including a flag for each such data sample to indicate in which direction a data sample from a neighbouring connected-set can be found. 41. Apparatus according to claim 39 or claim 40, in which, in order further to improve processing speed, further additional storage means is provided in order to identify the connected-ser to which each data sample in the signal belongs at each stage in the processing.

Inventors: BANGHAM JAMES ANDREW, BRAGG NIGEL LAWRENCE, YOUNG ROBERT WILLIAM, BANGHAM, JAMES, ANDREW, BRAGG, NIGEL, LAWRENCE, YOUNG, ROBERT, WILLIAM
Applicants: BANGHAM JAMES ANDREW, BRAGG NIGEL LAWRENCE, CAMBRIDGE CONSULTANTS, YOUNG ROBERT WILLIAM, BANGHAM, JAMES, ANDREW, BRAGG, NIGEL, LAWRENCE, CAMBRIDGE CONSULTANTS LIMITED, YOUNG, ROBERT, WILLIAM
Application year: 1996
Main classification: G06T5
IPC codes: G06T5