NL8415003A - IMPROVEMENTS IN OR CONCERNING CORRELATION PROCESSORS. - Google Patents
IMPROVEMENTS IN OR CONCERNING CORRELATION PROCESSORS. Download PDFInfo
- Publication number
- NL8415003A NL8415003A NL8415003A NL8415003A NL8415003A NL 8415003 A NL8415003 A NL 8415003A NL 8415003 A NL8415003 A NL 8415003A NL 8415003 A NL8415003 A NL 8415003A NL 8415003 A NL8415003 A NL 8415003A
- Authority
- NL
- Netherlands
- Prior art keywords
- data
- correlation
- signal data
- cell
- reference data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
- G06V10/7515—Shifting the patterns to accommodate for positional errors
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Algebra (AREA)
- Radar Systems Or Details Thereof (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Description
Verbeteringen in of betreffende correlatieprocessoren.Improvements in or concerning correlation processors.
Deze uitvinding beeft betrekking op correlatieprocessoren en tracht zo'n processor te verschaffen, die in staat is tot het behandelen van grote hoeveelheden gegevens bij relatief hoge snelheid. In het algemeen bestaat het correlatieproces uit het bepalen van de graad van overeenkomst tussen twee of meer aparte series gegevens of uitgekozen gedeelten daarvan. Het correleren is een handeling gebruikt in vele signaalverwerkingsstelsels, en een van de voornaamste gebruikwijzen is als een filter dat het detecteren van signalen bij ruis optimaliseert.Eenvoudige processoren zijn beschikbaar die als invoer twee stromen gegevens kunnen ontvangen en die een aanwijzing kunnen verschaffen omtrent de korte termijn-correlatie daartussen.The present invention relates to correlation processors and seeks to provide such a processor capable of handling large amounts of data at a relatively high speed. Generally, the correlation process consists of determining the degree of correspondence between two or more separate sets of data or selected parts thereof. Correlating is an operation used in many signal processing systems, and one of the main uses is as a filter that optimizes the detection of signals in noise.Simple processors are available which can receive two streams of data as input and provide an indication of the short term correlation between them.
Grote praktische moeilijkheden doen zich voor wanneer men probeert grote hoeveelheden gegevens te vergelijken om de mate van overeenkomst daartussen te bepalen. Vaak wordt bijvoorbeeld vereist om de mate van overeenkomst tussen twee, tweedimensionale reeksen van gegevens die representatief kunnen zijn om televisiebeelden of oppervlaktegebieden te bepalen; een groot gebied dat een gezichtsveld vormt, kan worden afgetast om te bepalen of een gedeelte hiervan overeenkomt met een betrekkelijk klein referentiegebied, waarvan de kenmerken al bekend zijn. In dit verband bestaat het correlatieproces uit het vergelijken van elk mogelijk gebied van het waargenomen tafereel met het referentiegebied en uit het bepalen welk van alle mogelijke plaatsen de beste aanpassing geeft. Omdat een waargenomen tafereel kan bestaan uit een buitengewoon groot aantal aparte beeldpunten, is de hoeveelheid vereiste bewerking buitengewoon groot. Indien een tafereel wordt waargenomen in werkelijke tijd kunnen de gegevens zo snel veranderen, dat een bruikbare correlatie bijzonder snel uitgevoerd moet worden. Het kan erg moeilijk zijn om aan deze eisen te voldoen, en situaties, waarin grote hoeveelheden gegevens snel gecorreleerd moeten worden, worden niet door een willekeurig middel beperkt tot het voorgaande voorbeeld.Major practical difficulties arise when trying to compare large amounts of data to determine the degree of similarity between them. For example, it is often required to determine the degree of correspondence between two, two-dimensional arrays of data that may be representative of television images or surface areas; a large area forming a field of view can be scanned to determine if a portion thereof corresponds to a relatively small reference area, the characteristics of which are already known. In this regard, the correlation process consists of comparing each possible area of the observed scene with the reference area and determining which of all possible locations gives the best fit. Since an observed scene can consist of an extremely large number of discrete pixels, the amount of processing required is extremely large. If a scene is observed in real time, the data can change so quickly that a useful correlation must be performed very quickly. It can be very difficult to meet these requirements, and situations where large amounts of data need to be correlated quickly are not limited by any means to the previous example.
Deze uitvinding tracht een verbeterde werkwijze voor correleren, en een processor om de werkwijze uit te 'voeren, te verschaffen.The present invention seeks to provide an improved method of correlation, and a processor to perform the method.
Overeenkomstig een aspect van deze uitvinding omvat een werkwijze voor digitaal correleren van gegevens de stappen van het gebruiken van referentiegegevens en van een grotere hoeveelheid signaalgegevens voor meerdere correlatiecellen in digitale blokken, waarvan elk een vooraf bepaald aantal bits heeft, waarbij dezelfde referentiegegevens gelijktijdig aan elke cel worden toegevoerd en de signaalgegevens opeenvolgend ombeurten aan elke cel toegevoerd worden om de signaalgegevens te correleren aan de referentiegegevens, en de stap van het weer opnemen in de kringloop van de signaalgegevens, die een digitaal formaat bezitten van minder dan het voorafbepaalde aantal bits via de cellen om op opeenvolgende kringlopen signaalgegevens te correleren, welke niet gecorreleerd zijn op een voorgaande kringloop.In accordance with an aspect of this invention, a method of digitally correlating data comprises the steps of using reference data and of a larger amount of signal data for multiple correlation cells in digital blocks, each of which has a predetermined number of bits, the same reference data simultaneously to each cell and the signal data is sequentially fed to each cell to correlate the signal data to the reference data, and the recycle step of the signal data having a digital format of less than the predetermined number of bits through the cells to correlate signal data on consecutive cycles that are not correlated on a previous cycle.
In sommige stelsels verdient het de voorkeur om signaalgegevens opnieuw in de kringloop op te nemen, die een digitaal woordformaat van minder dan het voorafbepaalde aantal bits bezitten, via de cellen, totdat alle signaalgegevens gecorreleerd zijn aan de referentiegegevens.In some systems, it is preferable to recycle signal data, which has a digital word format less than the predetermined number of bits, through the cells, until all signal data is correlated with the reference data.
De uitvinding is bijzonder geschikt voor het correleren van twee series digitale gegevens met verschillende woordlengtes (d.w.z. verschillende aantallen digitale bits). Typerend omvat de kortere woordlengte precies één enkele bit, terwijl de grotere woordlengte kan bestaan uit veel meer bits, d.w.z. zes bits. Gegevens-patronen, weergegeven door variabele amplitudes, kunnen wel zes bits vereisen om een voldoende nauwkeurige aanwijzing te geven van absolute waarden, en vereisen dus nogal complexe correlatiestruc-turen, indien grote hoeveelheden gegevens snel gecorreleerd moeten worden aan een referentieblok met gegevens, dat bemeten wordt voor hetzelfde aantal bits. In het algemeen verwerkt zo'n structuur binaire gegevens op een erg inefficiënte wijze, omdat zijn behande- lingscapaciteit te weinig benut wordt. Het is echter duur en lastig om apart toegewezen correlatoren te verschaffen om te zorgen voor elke digitale woordlengte, waarin gegevens weergegeven kunnen worden, en het is erg onpraktisch om een computer voor een algemeen doel te programmeren om zo'n functie in een redelijke tijdsschaal uit te voeren, omdat het correlatieproces vaak het behandelen van erg grote hoeveelheden gegevens betreft.The invention is particularly suitable for correlating two series of digital data with different word lengths (i.e. different numbers of digital bits). Typically, the shorter word length includes exactly one single bit, while the longer word length may consist of many more bits, i.e. six bits. Data patterns, represented by variable amplitudes, can require as much as six bits to give a sufficiently accurate indication of absolute values, and thus require rather complex correlation structures if large amounts of data need to be quickly correlated to a reference block of data that is sized for the same number of bits. In general, such a structure processes binary data in a very inefficient manner, because its handling capacity is underutilized. However, it is expensive and difficult to provide separately assigned correlators to take care of every digital word length in which data can be displayed, and it is very impractical to program a general purpose computer to perform such a function in a reasonable time scale. because the correlation process often involves handling very large amounts of data.
De correlatieprocessor in deze uitvinding maakt het mogelijk dat de correlatiesnelheid (of de tijd genomen om te correleren) direkt verruild wordt tegen de woordlengte van het gegeven, zodat binaire gegevens, die bestaan uit enkele bits (d.w.z. enen en nullen) n maal sneller verwerkt kunnen worden dan gegevens, weergegeven in digitaal woordformaat met n bits.The correlation processor in this invention allows the correlation speed (or time taken to correlate) to be directly exchanged for the word length of the data, so that binary data consisting of single bits (ie ones and zeros) can be processed n times faster data are then presented in n-bit digital word format.
Overeenkomstig een tweede aspect in deze uitvinding wordt een correlatieprocessor verschaft met een bouw, aangebracht om de bovengenoemde werkwijze voor correleren tot stand te brengen.In accordance with a second aspect in this invention, a correlation processor is provided with a construction arranged to accomplish the above correlation method.
De processor wordt ontworpen om woorden met een voorafbepaalde maximum bitgrootte te behandelen. In het volgende voorbeeld is de maximum woordlengte zes bits en de bouw is zo ingericht om gegevens in de vorm van digitale woorden met zes bits en binaire gegevens te behandelen. Voor binaire gegevens correleert elke correlatiecel tegelijkertijd zes binaire bits van signaalgegevens aan zes bits van referentiegegevens.The processor is designed to handle words with a predetermined maximum bit size. In the following example, the maximum word length is six bits, and the construction is arranged to handle data in the form of six-bit digital words and binary data. For binary data, each correlation cell simultaneously correlates six binary bits of signal data to six bits of reference data.
De uitvinding wordt verder beschreven bij wijze van voorbeeld onder verwijzing naar de bijgaande tekeningen, waarin: fig. 1 twee gebieden weergeeft, die aan elkaar gecorreleerd moeten worden; fig. 2 een gebruikelijk element van een correlatieprocessor toont; fig. 3 een correlatieprocessor in overeenstemming met deze uitvinding in blokschema toont, en fig. 4 een gedeelte van de correlatieprocessor meer in detail toont.The invention is further described by way of example with reference to the accompanying drawings, in which: Fig. 1 shows two regions to be correlated with each other; Figure 2 shows a conventional element of a correlation processor; Figure 3 shows a correlation processor in accordance with the present invention in a block diagram, and Figure 4 shows a portion of the correlation processor in more detail.
Correleren is een fundamentele werking in vele signaal- verwerkingsstelsels. Een van de voornaamste wijzen van gebruik ligt bij bet tot stand brengen van aangepaste filters, omdat van filters van deze soort getoond kan worden dat zij het detecteren van signalen bij ruis optimaliseren, en omdat zij zo op grote schaal gebruikt kunnen worden bij verwerkingssignalen in toepassingen als radar en acoustica.Correlation is a fundamental function in many signal processing systems. One of the main uses is to create custom filters, because filters of this kind can be shown to optimize the detection of noise signals, and thus can be widely used in processing signals in applications like radar and acoustics.
In het volgende voorbeeld wordt correleren gebruikt om het herkennen van een referentiepatroon te bereiken binnenin een relatief grote tweedimensionale reeks van gegevens. De gegevens kunnen van zichzelf binair zijn of bestaan uit digitale woorden met meerdere niveau's.In the following example, correlation is used to achieve reference pattern recognition within a relatively large two-dimensional array of data. The data itself can be binary or it can consist of multi-level digital words.
Het correlatieproces betreft het vergelijken van referen-tiegegevens met binnenkomende signaalgegevens en het berekenen van een serie scores, die de overeenkomst beschrijft van de referentie-gegevens met dat gedeelte van de signaalgegevens, dat dan verwerkt wordt. Daarna wordt de hoogste score gebruikt om dat gedeelte van de signaalgegevens te identificeren dat het meest overeenstentmet dat van de referentiegegevens.The correlation process involves comparing reference data with incoming signal data and calculating a series of scores describing the correspondence of the reference data with that portion of the signal data which is then processed. The highest score is then used to identify that part of the signal data that most closely matches that of the reference data.
Onder verwijzing naar fig. 1 wordt daarin een betrekkelijk klein referentiegebied 1 getoond, weergegeven door in,het blok aangegeven getrokken lijn, bestaande uit gegevens, aangebracht ter illustratie en ter toelichting, als een tweedimensionale reeks van gegevens. Als zodanig geeft het een bekend gebied weer, dat wordt vastgezet binnenin het correlatiestelsel. Een betrekkelijk groot gebied van signaalgegevens 2 geeft de informatie weer, die voortgebracht wordt, typisch door een afbeeldingsstelsel, en die vastgezet wordt, mogelijk na enige voorverwerking, in een vorm waarin het gemakkelijk toegankelijk is voor correlatie.Referring to Fig. 1, there is shown a relatively small reference area 1, represented by a solid line shown in the block, consisting of data, provided for illustrative and illustrative purposes, as a two-dimensional series of data. As such, it represents a known region that is fixed within the correlation system. A relatively large area of signal data 2 represents the information generated, typically by an imaging system, which is pinned, possibly after some pre-processing, in a form in which it is easily accessible for correlation.
In de praktijk zal de aard van de gegevens 2 met de tijd veranderen, en indien zij een videosignaal of dergelijke weergeven, kunnen zij snel veranderen. Het doel van het correlatieproces is om te bepalen, welk gedeelte van het gebied 2 het meest overeenkomt jet het referentiegebied 1. Wanneer de referentie 2 een significante grootte bezit, kan het aantal handelingen, vereist om het te corre leren aan het groter gebied 2, inderdaad erg groot zijn. Indien bijvoorbeeld het referentiegebied 1 bestaat uit een tweedimensionale reeks gegevens van 64 x 64 punten en het betrekkelijk groot gebied bestaat uit 256 x 256 punten, is het minimum aantal handelingen, g gewenst om te correleren, ongeveer 2 x 10 . Correlatie bij elke mogelijke positie geeft aanleiding tot een score die de overeenkomst met de referentie beschrijft.In practice, the nature of the data 2 will change with time, and if they display a video signal or the like, they can change quickly. The purpose of the correlation process is to determine which part of the area 2 most closely matches the reference area 1. When the reference 2 has a significant magnitude, the number of operations required to correlate it to the larger area 2 may be, are very large indeed. For example, if the reference area 1 consists of a two-dimensional data set of 64 x 64 points and the relatively large area consists of 256 x 256 points, the minimum number of operations g desired to correlate is about 2 x 10. Correlation at every possible position gives rise to a score that describes the match with the reference.
Het gebied met referentiegegevens 1 heeft in het begin de positie getoond in fig. 1, ten opzichte van het gebied met de signaalgegevens 2, en de 64 x 64 punten zijn in principe gecorreleerd aan deze punten van het gegevensgebied 2, dat hier overheen ligt (beide gebieden 1 en 2 worden begrensd door doorgetrokken lijnen). In dit voorbeeld worden tien correlatiecellen met elkaar verbonden om een correlator te vormen. Het aantal correlatiecellen behoeft geen 64 te zijn, omdat de keuze afhangt van de vereist correlatiesnelheid. In de praktijk wordt het aantal lijncorrela-toren gekozen met het oog op de vereiste correlatiesnelheid, en in het algemeen zal dit worden aangegeven door de snèlheid waarbij het signaalgegeven veranderd wordt en/of bijgewerkt wordt.The reference data area 1 has initially shown the position in Fig. 1, relative to the signal data area 2, and the 64 x 64 points are basically correlated to these points of the data area 2 overlaying it ( both areas 1 and 2 are bounded by solid lines). In this example, ten correlation cells are linked together to form a correlator. The number of correlation cells need not be 64 because the choice depends on the required correlation rate. In practice, the number of line correlators is selected in view of the required correlation speed, and will generally be indicated by the speed at which the signal data is changed and / or updated.
Alle tien correlatiecellen werken tegelijkertijd, waarbij elk opeenvolgende correlatiescores berekent voor het volledige over-lappingsgebied van de 64 x 64 referenties met het tafereel. Daarna wordt het gegevensgebied 1 weggeschoven met tien punten per keer (bijvoorbeeld naar positie 41fgebroken lijn) en bij elke positie worden de volgende tien volledige correlatiescores berekend.All ten correlation cells operate simultaneously, each calculating consecutive correlation scores for the entire overlapping area of the 64 x 64 references with the scene. Then, the data area 1 is shifted by ten points at a time (for example, to position 41 broken line) and at each position the following ten full correlation scores are calculated.
Wanneer het einde van de eerste lijn bereikt wordt, is een volledige lijn van het correlatieoppervlak voortgebracht. Het gegevensgebied 1 wordt dan bij het begin van de volgende lijn van het tafereel geplaatst (bijvoorbeeld bij positie 42, om en om gestippeld gestreepte lijn) en het proces wordt herhaald om de volgende lijn van correlatiescores voort te brengen. Dit proces gaat door totdat elke mogelijke positie van het gebied 1 met referentiegegevens ten opzichte van het gebied 2 met signaalgegevens gecorreleerd is. Voor elk punt brengt het correlatieproces een score voort, die een maat vormt voor de overeenkomst, ën de hoogste score wordt verondersteld de beste correlatie te geven, d.w.z. het gelocaliseerde gebied van gegevensgebied 2, dat het meest overeenkomst met het gebied 1 voor referentiegegevens.When the end of the first line is reached, a full line of the correlation surface is generated. The data area 1 is then placed at the beginning of the next line of the scene (for example, at position 42, dotted dashed line alternately) and the process is repeated to generate the next line of correlation scores. This process continues until every possible position of the reference data region 1 relative to the signal data region 2 is correlated. For each point, the correlation process produces a score that is a measure of the match, and the highest score is assumed to give the best correlation, i.e. the localized area of data area 2, which most closely matches area 1 for reference data.
Fig. 2 toont een voorbeeld van een handeling, of werking verschaft door een enkele correlatiecel, waarin een binnenkomend referentiesignaal 1 wordt gecorreleerd aan een vastgezet 4-bits-signaal 4, en het wordt gebruikt om het principe van correleren te tonen. Overeenkomstige referentiegegevens en signaalgegevens-elementen worden vermenigvuldigd door aparte vermenigvuldigers 5, en het resultaat wordt opgeteld in een optelinrichting 6 om een score te geven. Strikt genomen is het nodig de score te normaliseren door de som van de kwadraten van de signaalelementen te delen, maar dit wordt in de praktijk niet altijd gedaan. Door het binnenkomend signaalgegeven 3 over te brengen via een geklokt schuifregister 7 worden alle mogelijke punten van het binnenkomende signaal op hun beurt vergeleken met het vastgezette referentiegegeven 4.Fig. 2 shows an example of an operation, or operation provided by a single correlation cell, in which an incoming reference signal 1 is correlated to a fixed 4-bit signal 4, and it is used to show the principle of correlation. Corresponding reference data and signal data elements are multiplied by separate multipliers 5, and the result is added in an adder 6 to give a score. Strictly speaking, it is necessary to normalize the score by dividing the sum of the squares of the signal elements, but this is not always done in practice. By transferring the incoming signal data 3 via a clocked shift register 7, all possible points of the incoming signal are in turn compared with the locked reference data 4.
Omdat vermenigvuldigen meer tijd neemt bij instrumenten in hardware dan bijvoorbeeld optellen, is het mogelijk vergelijkings-algorithmen te verschaffen, gebaseerd op eenvoudiger handelingen. Voorbeelden van zulke algorithmen worden hieronder getoond: (a) het kleinste kwadratenalgorithmeSince multiplication takes more time with hardware instruments than addition, for example, it is possible to provide comparison algorithms based on simpler operations. Examples of such algorithms are shown below: (a) the least squares algorithm
(b) het absolute verschilalgorithme(b) the absolute difference algorithm
(c) het kleinste derde macht-algorithme(c) the smallest third power algorithm
(d) binaire correlatie(d) binary correlation
met & = AND of EX-NORwith & = AND or EX-NOR
De correlatieprocessor beschreven in de figuren 3 en 4 is in staat om elk van deze algorithmen uit te voeren, maar in feite voert hij niet deze berekeningen uit; hij gaat een opzoek-tabel binnen, waar de geschikte resultaten vastgezet worden.The correlation processor described in Figures 3 and 4 is capable of executing each of these algorithms, but in fact it does not perform these calculations; he enters a look-up table where the appropriate results are stored.
Fig. 3 toont in een blokschema de correlatieprocessor voor de tien punten in overeenstemming met de uitvinding. Hij heeft twee ingangen 10 en 11 waarbij de invoer vanreferentiegegevens en signaalgegevens ontvangen wordt. Deze stroom van gegevens wordt verzameld in respectieve RAM-geheugens 12 en 13. Het is niet nodig dat de capaciteit van RAM 13 voldoende groot is om de gehele signaal-gegevensbasis op elk tijdstip vast te houden wanneer de signaal-informatie voortdurend binnengevoerd kan worden, omdat het bovengenoemde gebied 1 met referentiegegevens (onder verwijzing naar fig. 1) het signaalgebied 2 aftast. Gegevens uit de twee geheugens 12 en 13 worden onder de besturing van de besturings- en klokschakeling 14 weggevoerd naar de correlator 15. Het type correlator 15 wordt hierna meer in detail onder verwijzing naar fig. 4 beschreven. De* correlator werkt om de twee invoerstromen die hij ontvangt te vergelijken en om een uitvoer te verschaffen wanneer elke correlatie-score berekend is. Elke uitvoer geeft de effectieve score of overeenkomst voor elke correlatiepositie weer.Fig. 3 shows in a block diagram the correlation processor for the ten points in accordance with the invention. It has two inputs 10 and 11 where the input of reference data and signal data is received. This stream of data is collected in respective RAM memories 12 and 13. It is not necessary that the capacity of RAM 13 be large enough to hold the entire signal data base at any time when the signal information can be continuously input, because the above region 1 with reference data (referring to FIG. 1) scans the signal region 2. Data from the two memories 12 and 13 are transferred under the control of the control and clock circuit 14 to the correlator 15. The type of correlator 15 is described in more detail below with reference to Fig. 4. The * correlator works to compare the two input streams it receives and to provide an output when each correlation score is calculated. Each output represents the effective score or match for each correlation position.
Onder verwijzing naar fig. 4 bestaat de correlator 15 uit een aantal identieke cellen 19. In dit voorbeeld worden vanwege de eenvoudigheid slechts drie cellen 19, 24, 25 getoond, maar in de praktijk zou het aantal cellen bepaald kunnen worden door de vereiste correlatiesnelheid,en in dit voorbeeld zou het tien kunnen zijn, zoals hiervoor aangegeven, om de correlatie van "tien punten om tegelijk te verwerken mogelijk te maken. Overeenkomstige signaal-gegevens en referentiegegevens, die gedigitaliseerd zijn tot zes bits, worden uit de RAM-geheugens 12 en 13 van fig. 3 gehaald en gebruikt als adresgebieden van een volgende RAM 20. In de praktijk omvat deze RAM een 4K x 12 bit-inrichting. De RAM 20 werkt als een opzoektabel om het vereiste correlatiealgorithme uit te voeren. Het is derhalve voorgeprogrammeerd om het vereiste antwoord aan alle mogelijke combinaties van geldige invoersignalen te verschaffen. Het resultaat wordt door RAM 20 uitgevoerd en toegevoegd aan de inhoud van een verzamelinrichting 21 met 24 bits: Wanneer alle overeenkomstige referentie- en signaalelementen verwerkt zijn op deze manier, geeft de totale verzameling de corre-latiescore weer en hij wordt verschaft aan een uitgangsaansluit-klem 22.With reference to Fig. 4, the correlator 15 consists of a number of identical cells 19. In this example, for simplicity's sake, only three cells 19, 24, 25 are shown, but in practice the number of cells could be determined by the required correlation rate, and in this example, it could be ten, as indicated above, to allow the correlation of "ten points to process simultaneously. Corresponding signal data and reference data digitized to six bits are extracted from the RAM memories 12 and 13 of Fig. 3 and used as address areas of a subsequent RAM 20. In practice, this RAM includes a 4K x 12 bit device, RAM 20 acts as a look-up table to execute the required correlation algorithm, therefore it is preprogrammed to provide the required answer to all possible combinations of valid input signals The result is output by RAM 20 and added to the contents of a set 24 bit melter 21: When all corresponding reference and signal elements have been processed in this manner, the total set displays the correlation score and is provided to an output terminal 22.
Dezelfde referentiegegevens worden tegelijkertijd toegevoerd aan de overgebleven cellen 24 en 25. De signaalgegevens, ontvangen door de opeenvolgende cellen, worden verkregen via een vasthoudinrichting 26 van zes bits, die er toe dient het signaal te vertragen wanneer het vergeleken wordt met de referenties, zodat de opeenvolgende cellen 24 en 25 een andere corelatiepositie verschaffen. In dit voorbeeld wordt aangenomen dat elk digitaal woord zes bits heeft, en daarom heeft de vasthoudinrichting 26 een capaciteit van zes bits. Elke cel verschaft ook een uitvoer die een aanwijzing vormt voor de score.The same reference data is simultaneously supplied to the remaining cells 24 and 25. The signal data, received by the successive cells, is obtained through a six bit holding device 26, which serves to delay the signal when compared with the references, so that the successive cells 24 and 25 provide a different correlation position. In this example, it is assumed that each digital word has six bits, and therefore the holding device 26 has a six bit capacity. Each cell also provides an output indicative of the score.
Tot zover is de werking van de correlator beschreven onder verwijzing naar gegevenswoorden met de maximale lengte, d.w.z. zes bits. Wanneer binaire gegevens gecorreleerd moeten worden, worden zij binnengevoerd in de RAM geheugens 12 en 13, en toegevoerd in groepen van zes bits aan de correlatiecellen ter adressering aan de RAM 20. Elke groep van zes bits geeft zes binaire woorden weer (d.w.z. enen of nullen). Zij worden op exact dezelfde wijze verwerkt als hiervoor beschreven, behalve dat de RAM 20 nu bij elk adresgebied het resultaat van het uitvoeren en het verzamelen van deze zes binaire correlaties bevat.Thus far, the operation of the correlator has been described with reference to data words of the maximum length, i.e. six bits. When binary data is to be correlated, it is input into the RAM memories 12 and 13, and input in groups of six bits to the correlation cells for addressing the RAM 20. Each group of six bits represents six binary words (ie ones or zeros ). They are processed in exactly the same manner as described above, except that the RAM 20 now includes the result of executing and collecting these six binary correlations at each address area.
Omdat binaire gegevens echter, die voorkomen binnenin een groep van zes bits van referentiegegevens, niet gecorreleerd worden aan binaire gegevens van andere groepen van signaalgegevens, is het nodig de referentiegegevens en signaalgegevens door de keten van correlatiecellen opnieuw vijf keer in de kringloop op te nemen tehe'inde het effect van volledige over en weer correlatie voor de binaire gegevens te bereiken, hetgeen toegelicht is onder verwijzing naar fig. 2 voor de gegevens met zes bits. In de praktijk worden de binaire gegevens bij alle zes opeenvolgende gelegenheden eenvoudig uit de RAM-geheugens 12 en 13 uitgelezen, waarbij de relatieve posities van de twee gegevensstromen verschoven worden met één bitpositie per keer. Deze handeling is gelijkwaardig aan het materieel weer in de kringloop opnemen van de gegevens, en hij kan worden uitgevoerd door de uitvoer van de RAM-geheugens 12 of 13 met één woordlengte, d.w.z. één bit bij elke gelegenheid, te verschuiven.However, because binary data occurring within a group of six bits of reference data is not correlated with binary data of other groups of signal data, it is necessary to re-insert the reference data and signal data through the chain of correlation cells five times. in order to achieve the effect of full reciprocal correlation for the binary data, which is explained with reference to FIG. 2 for the six bit data. In practice, the binary data is simply read from the RAM memories 12 and 13 on all six consecutive occasions, the relative positions of the two data streams being shifted one bit position at a time. This operation is equivalent to recycling the data back into the material, and it can be performed by shifting the output of the RAM memories 12 or 13 by one word length, i.e., one bit on each occasion.
Zo worden zes keer zoveel binaire gegevenspunten gecorreleerd in de zes kringlopen van de correlatorhandeling. Aangezien de grootte van het referentiegegeven echter zes keer kleiner is wanneer het ook binair is vergeleken met zes-bit-woorden, is dit gelijkwaardig met het correleren van zes punten van gegevensgebieden 1 en 2. Over het geheel genomen kan dan een gegeven aantal binaire gegevenspunten zes keer sneller gecorreleerd worden dan digitale woorden bestaande uit meerdere niveau’s elk met zes bits gecorreleerd kunnen worden.For example, six times as many binary data points are correlated in the six cycles of the correlator operation. However, since the size of the reference data is six times smaller when it is also binary compared to six-bit words, this is equivalent to correlating six points of data areas 1 and 2. Overall, a given number of binary data points can be Correlated six times faster than multilevel digital words each can be correlated by six bits.
In sommige stelsels hoeft het echter niet nodig te zijn of zelfs gewenst om alle gegevenssignalen bij vijf extra gelegenheden opnieuw in de kringloop op te nemen. Bij de eerste gelegenheid dat het signaalgegeven gecorreleerd wordt, wordt slechts elk zesde punt in de correlatiefunctie verwerkt, maar het kan mogelijk zijn om hieruit de waarschijnlijke plaats van de correla-tiepiek te identificeren. Zo behoeven alleen de tussengelegen plinten in het gebied van die plaats verkregen te worden door het opnieuw in de kringloop brengen van de signaalgegevens. Deze benadering zou de tijd benodigd om het correlatieproces te voltooien aanzienlijk kunnen verminderen.However, in some systems it may not be necessary or even desirable to recycle all data signals on five additional occasions. On the first occasion that the signal data is correlated, only every sixth point is processed in the correlation function, but it may be possible to identify the likely location of the correlation peak therefrom. For example, only the intermediate skirting boards in the region of that location need be obtained by recirculating the signal data. This approach could significantly reduce the time required to complete the correlation process.
Alhoewel deze uitvinding vanwege de duidelijkheid beschreven is onder verwijzing naar de correlatie van referentie-gegevens en signaalgegevens, gerangschikt als tweedimensionale reeksen, is dit natuurlijk niet nodig, wanneer de gegevens kunnen voorkomen in, of kunnen weergeven, een willekeurig geschikt formaat.Although this invention has been described for the sake of clarity with reference to the correlation of reference data and signal data, arranged as two-dimensional series, this is of course not necessary if the data can exist in, or display in, any suitable format.
De correlatorprocessor is bijzonder veelzijdig, omdat het alleen nodig is nieuwe gegevens in de vastzetinrichtingen 20 in te voeren om verschillende vergelijkingsalgorithmen tot stand te brengen. Indien verder een aantal algorithmen beschikbaar is, kan het algorithme dat gebruikt wordt, dynamisch veranderd worden, zodat het beste algorithme voor het doel op dat moment uitgekozen kan worden. Indien de besturing van elke cel in de inrichting met meer cellen identiek is, kunnen gemakkelijk extra cellen toegevoegd worden of in de schakellng-geschakeld worden, wanneer dit nodig is.The correlator processor is particularly versatile, because it is only necessary to input new data into the locking devices 20 to accomplish different comparison algorithms. Furthermore, if a number of algorithms are available, the algorithm used can be dynamically changed so that the best algorithm for the target can be selected at that time. If the control of each cell in the multi-cell device is identical, additional cells can easily be added or switched as needed.
Claims (9)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB8319209A GB2258545B (en) | 1983-07-15 | 1983-07-15 | Improvements in or relating to correlation processors |
GB8319209 | 1983-07-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
NL8415003A true NL8415003A (en) | 1993-03-01 |
Family
ID=10545794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL8415003A NL8415003A (en) | 1983-07-15 | 1984-07-11 | IMPROVEMENTS IN OR CONCERNING CORRELATION PROCESSORS. |
Country Status (4)
Country | Link |
---|---|
DE (1) | DE3447929C1 (en) |
GB (1) | GB2258545B (en) |
IT (1) | IT1236503B (en) |
NL (1) | NL8415003A (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2376479B (en) * | 2001-06-12 | 2004-06-02 | Paul Alan Dennis | Acoustic insulation and/or fire protection of buildings |
EP2589980A1 (en) | 2011-11-04 | 2013-05-08 | Leica Geosystems AG | Distance sensor |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2354671A1 (en) * | 1976-06-10 | 1978-01-06 | Philips Nv | IMAGE PROCESSING DEVICE |
FR2417806A1 (en) * | 1978-02-20 | 1979-09-14 | Dassault Electronique | Digital valves convolution system - uses several ROMS connected to accumulator circuit |
US4244029A (en) * | 1977-12-12 | 1981-01-06 | Goodyear Aerospace Corporation | Digital video correlator |
US4255795A (en) * | 1977-11-22 | 1981-03-10 | Messerschmitt-Bolkow-Blohm Gmbh | Programmable binary correlator |
US4347580A (en) * | 1980-07-21 | 1982-08-31 | The United States Of America As Represented By The Secretary Of The Navy | Array convolver/correlator |
GB2114336A (en) * | 1982-01-25 | 1983-08-17 | Ampex | High speed correlation circuit and method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1542853A (en) * | 1976-08-31 | 1979-03-28 | Secr Defence | Charge coupled device correlators |
US4151511A (en) * | 1976-11-19 | 1979-04-24 | Honeywell Inc. | Digital correlator |
GB2043388B (en) * | 1979-02-09 | 1983-08-17 | Boeing Co | Minimum safe altitude monitoring indicating and warning system |
EP0005918B1 (en) * | 1979-05-09 | 1983-05-04 | Hughes Aircraft Company | Scene tracker system |
DE3011556C2 (en) * | 1980-03-26 | 1984-08-02 | Messerschmitt-Bölkow-Blohm GmbH, 8012 Ottobrunn | Area navigation device for air and / or water vehicles |
GB2116000B (en) * | 1982-03-02 | 1985-05-01 | Elliott Bros | Guidance system |
-
1983
- 1983-07-15 GB GB8319209A patent/GB2258545B/en not_active Expired - Fee Related
-
1984
- 1984-07-11 NL NL8415003A patent/NL8415003A/en not_active Application Discontinuation
- 1984-07-11 DE DE3447929A patent/DE3447929C1/en not_active Expired - Fee Related
-
1985
- 1985-05-14 IT IT8567439A patent/IT1236503B/en active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2354671A1 (en) * | 1976-06-10 | 1978-01-06 | Philips Nv | IMAGE PROCESSING DEVICE |
US4255795A (en) * | 1977-11-22 | 1981-03-10 | Messerschmitt-Bolkow-Blohm Gmbh | Programmable binary correlator |
US4244029A (en) * | 1977-12-12 | 1981-01-06 | Goodyear Aerospace Corporation | Digital video correlator |
FR2417806A1 (en) * | 1978-02-20 | 1979-09-14 | Dassault Electronique | Digital valves convolution system - uses several ROMS connected to accumulator circuit |
US4347580A (en) * | 1980-07-21 | 1982-08-31 | The United States Of America As Represented By The Secretary Of The Navy | Array convolver/correlator |
GB2114336A (en) * | 1982-01-25 | 1983-08-17 | Ampex | High speed correlation circuit and method |
Also Published As
Publication number | Publication date |
---|---|
IT8567439A0 (en) | 1985-05-14 |
GB2258545A (en) | 1993-02-10 |
IT1236503B (en) | 1993-03-11 |
DE3447929C1 (en) | 2000-12-07 |
GB8319209D0 (en) | 1992-11-18 |
GB2258545B (en) | 1993-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102224510B1 (en) | Systems and methods for data management | |
EP2138978B1 (en) | System and method for finding stable keypoints in a picture image using localized scale space properties | |
US8712162B2 (en) | Interest point detection | |
US10824934B2 (en) | Methods and apparatus for matrix processing in a convolutional neural network | |
NL7902709A (en) | AUTOMATIC IMAGE PROCESSOR. | |
EP0341985B1 (en) | Picture processing device | |
US5163101A (en) | Bitplane area correlator | |
EP0069542B1 (en) | Data processing arrangement | |
CN113811900A (en) | Arithmetic operation device and arithmetic operation system | |
US6643412B1 (en) | Method and apparatus for high speed convolution | |
NL8415003A (en) | IMPROVEMENTS IN OR CONCERNING CORRELATION PROCESSORS. | |
EP0547881B1 (en) | Method and apparatus for implementing two-dimensional digital filters | |
US5261012A (en) | Method and system for thinning images | |
US20090129699A1 (en) | Image processing system | |
US6674914B1 (en) | Expandable grayscale morphological erosion operator | |
Owens et al. | Computer vision on the MGAP | |
US20220101083A1 (en) | Methods and apparatus for matrix processing in a convolutional neural network | |
Tasto | Parallel array processors for digital image processing | |
EP0585861A2 (en) | Image verification method | |
JP2000509170A (en) | Image processing device | |
JP3063581B2 (en) | Image processing method and apparatus | |
Khan | Design of a real time digital image correlator | |
JPS60119116A (en) | Two-dimensional arithmetic unit for calculating sum of products | |
JP2835269B2 (en) | Image recognition device | |
EP0351228A2 (en) | A peak data extracting device and a rotary motion recurrence formula computing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A1A | A request for search or an international-type search has been filed | ||
DNT | Communications of changes of names of applicants whose applications have been laid open to public inspection |
Free format text: GEC-MARCONI LIMITED |
|
DNT | Communications of changes of names of applicants whose applications have been laid open to public inspection |
Free format text: GEC-MARCONI (HOLDINGS) LIMITED |
|
CNR | Transfer of rights (patent application after its laying open for public inspection) |
Free format text: GEC-MARCONI LIMITED |
|
BB | A search report has been drawn up | ||
BC | A request for examination has been filed | ||
BV | The patent application has lapsed |