DK149240B - Automatic image processing unit - Google Patents

Automatic image processing unit Download PDF

Info

Publication number
DK149240B
DK149240B DK147679A DK147679A DK149240B DK 149240 B DK149240 B DK 149240B DK 147679 A DK147679 A DK 147679A DK 147679 A DK147679 A DK 147679A DK 149240 B DK149240 B DK 149240B
Authority
DK
Denmark
Prior art keywords
data
data processing
image
processing unit
central
Prior art date
Application number
DK147679A
Other languages
Danish (da)
Other versions
DK147679A (en
DK149240C (en
Inventor
R Sternberg Stanley
Original Assignee
Environmental Res Inst
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Environmental Res Inst filed Critical Environmental Res Inst
Priority to DK147679A priority Critical patent/DK149240C/en
Publication of DK147679A publication Critical patent/DK147679A/en
Publication of DK149240B publication Critical patent/DK149240B/en
Application granted granted Critical
Publication of DK149240C publication Critical patent/DK149240C/en

Links

Landscapes

  • Programmable Controllers (AREA)
  • Image Processing (AREA)

Description

o 149240 io 149240 i

Opfindelsen angår et apparat af den i indledningen til krav 1 angivne art, og angår især et apparat til digital analyse af billed- eller tegnmønstre, som gengives som en matrix af digitale signaler, frembragt ved seriel aftastning af billed-5 punkter, med en automatisk billedbearbejdning ved anvendelse af en matematisk metode, hvormed et silhouetbilledes mønster kan klassificeres.This invention relates to an apparatus of the kind set forth in the preamble of claim 1, and in particular to an apparatus for digital analysis of image or sign patterns reproduced as a matrix of digital signals produced by serial scanning of image points with an automatic image processing using a mathematical method by which the pattern of a silhouette image can be classified.

Der kendes mange anvendelser ved hvilket det vil være ønske-10 ligt at have en maskine til automatisk at genkende, analysere og/eller klassificere mønstre i form af silhouetbilleder, dvs. sorte tegninger på hvid baggrund. Nogle af de mere enkle opgaver, som i hvert fald delvis er blevet løst af sådanne maskiner er genkendelse af alfanumeriske karakterer og genkendelse 15 eller tælling af visse partikler, såsom blodlegemer. Mere ambitiøse mål af denne art, som imidlertid ligger uden for mulighederne med den kendte teknik, er automatisk genkendelse af millitære mål med infrarøde billedsensorer eller en konvertering af håndskrift til en kode, som kan læses af 20 en maskine.Many applications are known in which it will be desirable to have a machine for automatically recognizing, analyzing and / or classifying patterns in the form of silhouette images, ie. black drawings on white background. Some of the simpler tasks that have at least partially been solved by such machines are recognition of alphanumeric characters and recognition of 15 or counting of certain particles, such as blood cells. More ambitious targets of this kind, however, which are beyond the scope of the prior art, are automatic recognition of military targets with infrared image sensors or a conversion of handwriting into a code that can be read by a machine.

Til regnemaskiner af den generelt anvendelige art er der allerede udarbejdet store komplicerede programmer til mønsteranalyse og klassifikation. Det har dog vist sig, at den gene-25 relt anvendelige regnemaskine kun har fået en begrænset succes· ved udførelsen af mønsteranalyse og klassifikation på grund af den særdeles lange behandlingstid ved bearbejdningen af data for billeder med et stort antal punkter. En lovende fremgangsmåde synes at være brugen af et særligt databehand-30 lingsudstyr, som realiserer en matematisk teknik, der kan anvendes til data, der foreligger i form af billeder. Denne teknik kan være integral-geometri. Ved en sådan fremgangsmåde, beskrevet i US patentskrift 4.060.713, betragter man de indlæste data som en matrix af nuller og ettaller svarende til 35 sorte eller hvide billedelementer. Af den indlæste matrix udledes en anden matrix, hvor hvert punkt i den anden matrix er en funktion af tilstanden af det ækvivalente punkt i den 149240 2 o første matrix samt tilstanden af nogle nabopunkter til det ækvivalente punkt i den første matrix. En serie af sådanne transformationer kan udføres for at bestemme nogle karakteristiske egenskaber ved mønstrene i den oprindelige matrix.Calculators of the generally applicable type have already developed large complicated programs for pattern analysis and classification. However, it has been found that the generally usable calculator has only had a limited success in performing pattern analysis and classification due to the extremely long processing time of processing data for a large number of images. One promising method seems to be the use of a special data processing equipment which realizes a mathematical technique that can be applied to data available in the form of images. This technique can be integral geometry. In such a method, described in U.S. Patent 4,060,713, the data entered is considered as a matrix of zeros and ones corresponding to 35 black or white pixels. From the loaded matrix, a second matrix is derived, where each point in the second matrix is a function of the state of the equivalent point in the first matrix and the state of some neighboring points to the equivalent point in the first matrix. A series of such transformations can be performed to determine some characteristic properties of the patterns in the original matrix.

5 For eksempel beskriver OS patentskrift nr. 3.241.547 en sådan speciel billedbearbejdningsenhed, der kan anvendes til at tælle lymfocytter i blod. Apparatur, som anvender lignende metoder til at realisere sådanne nabotransformationer, er beskrevet i "Pattern Detection and Recognition" af Unger, 10 Proceedings of the IRE, 1959, side 737, og "Feature Extraction by Golay Hexagonal Pattern Transformers", Preston,For example, U.S. Patent No. 3,241,547 discloses such a special image processing unit that can be used to count blood lymphocytes. Apparatus employing similar methods to realize such neighbor transformations are described in "Pattern Detection and Recognition" by Unger, 10 Proceedings of the IRE, 1959, page 737, and "Feature Extraction by Golay Hexagonal Pattern Transformers", Preston,

Jr., IEEE Transactions on Computers, bind C-20, nr. 9, september 1971.Jr., IEEE Transactions on Computers, Volume C-20, No. 9, September 1971.

15 En anden type specialudstyr, der anvender integral-geometrianalyse, og som udnytter såkaldte "hit-or-miss transformations", er beskrevet i "The Texture Analyzer", Journal of Microscopy, bind 95, anden del, april 1972, siderne 349-356.Another type of special equipment utilizing integral-geometry analysis utilizing so-called "hit-or-miss transformations" is described in "The Texture Analyzer," Journal of Microscopy, Volume 95, Part Two, April 1972, pages 349- 356th

20 De hidtil kendte billedanalyseringsanlæg har alle arbejdet med billeder på en sådan måde, at data for de enkelte billedpunkter har været reduceret til binær form, dvs. enten 0 eller 1, som det er et almindeligt krav inden for integral-geometri. Angående anvendelser af integral-geometri til mønstergenkendelse 25 henvises til: 1. G. Matheron, "Random Sets and Integral Geometry", Wiley, 1975.The previously known image analysis systems have all worked with images in such a way that data for the individual pixels has been reduced to binary form, ie. either 0 or 1, as is a common requirement in integral geometry. For applications of integral geometry for pattern recognition 25, see: 1. G. Matheron, "Random Sets and Integral Geometry", Wiley, 1975.

30 2. Albert B.J. Novikoff, "Integral Geometry as a Tool in30 2. Albert B.J. Novikoff, "Integral Geometry as a Tool in

Pattern Perception", i Principles of Self-Organization, udgivet af Von Foerstn and Zopf, Pergamon Press, 1962.Pattern Perception ", in Principles of Self-Organization, published by Von Foerstn and Zopf, Pergamon Press, 1962.

3. J. Serra, "Stereology and Structuring Elements", Journal 35 of Microscopy, bind 95, første del, februar 1972, sider ne 93-103.3. J. Serra, "Stereology and Structuring Elements," Journal 35 of Microscopy, Volume 95, Part One, February 1972, pages ne 93-103.

3 1492403 149240

OISLAND

Formålet med opfindelsen er at tilvejebringe et billedanalyseringsudstyr af den i US patentskrift nr. 4.060.713 beskrevne art, og som ikke kræver en speciel regnemaskine, og som har en meget enkel opbygning.The object of the invention is to provide an image analysis equipment of the kind described in US Patent No. 4,060,713 and which does not require a special calculator and which has a very simple structure.

55

Dette opnås med et udstyr af den i indledningen angivne art, hvilket udstyr har de træk, der er angivet i den kendetegnende del af krav 1.This is achieved with a device of the kind specified in the preamble, which equipment has the features specified in the characterizing part of claim 1.

10 Hvis det originale digitale billede f.eks. er en silhouet med billedpunkter, der kan udtrykkes som binære værdier, kan de matricer, som fås ved modifikation af det oprindelige billede, have tre eller flere mulige billedpunkttilstande eller -værdier. Udvælgelsen af integral-geometrien og disse fler- 15 tilstandstransformationer og de viste kredsløb med den foreliggende realisering af den matematiske teknik er væsentlig enklere og/eller mere effektiv end den hidtil anvendte teknik og udstyr og byder på væsentlige fremskridt inden for genkendelse, analysering og klassifikation af silhouetmønstre.10 For example, if the original digital image. is a silhouette of pixels that can be expressed as binary values, the matrices obtained by modifying the original image may have three or more possible pixel states or values. The selection of the integral geometry and these multi-state transformations and the circuits shown with the present realization of the mathematical technique are substantially simpler and / or more efficient than the previously used technique and equipment and offer significant advances in recognition, analysis and classification. of silhouette patterns.

2020

Som vist i den efterfølgende detaljerede beskrivelse af en foretrukken udførelsesform af opfindelsen består billedanalyseringsudstyret af en kæde af identiske databehandlingsenheder, hvor hver enhed omfatter et multibitskifteregister 25 og hukommeIseslagre med direkte adgang, dvs. såkaldte RAM- lagre, som kan opbygges med passende teknik, såsom kernelager, halvlederlager eller magnetisk boble-hukommelse. I den foretrukne udførelsesform udtrykkes hvert billedpunkt i to binære bit, således at det kan antage en ud af fire mulige tilstande.As shown in the following detailed description of a preferred embodiment of the invention, the image analysis equipment consists of a chain of identical data processing units, each unit comprising a multi-bit switch register 25 and direct access memory storage, ie. so-called RAM bearings, which can be built using appropriate techniques, such as core bearings, semiconductor bearings or magnetic bubble memory. In the preferred embodiment, each pixel is expressed in two binary bits so that it can assume one of four possible states.

30 I alternative udførelsesformer kan udvalget af billedpunkt- tilstande være større. Skifteregisteret i hver databehandlingsenhed skal i rækkefølge give adgang til alle mulige nabopunkter i det delbillede, som indlæses i behandlingsenheden. Med dette formål antages det, at billedpunktdata tilføres behand-In alternative embodiments, the range of pixel modes may be larger. The shift register in each data processing unit must, in order, give access to all possible neighboring points in the sub-image loaded in the processing unit. For this purpose, it is assumed that pixel data is fed into the

OCOC

lingsenheden i rækkefølge, efterhånden som billedet skanderes linie for linie. Skifteregisteret indeholder udgangsporte på passende steder, således at værdien af et billedpunkt og 0 149240 4 dettes nabopunkter kan undersøges samtidig. Disse samtidig tilgængelige værdier danner argumentet i en logisk funktion, som er opbygget som et hukommelseslager med direkte adgang (RAM), et programmerbart logisk kredsløbsarrangement, en så-5 kaldt array, eller et netværk af logiske elementer.the sequencer in sequence as the image is scanned line by line. The switch register contains output ports at appropriate locations so that the value of a pixel and its neighboring points can be examined simultaneously. These simultaneously available values form the argument in a logical function, which is constructed as a direct access memory (RAM) memory, a programmable logic circuit arrangement, a so-called array, or a network of logical elements.

Når værdierne for billedpunkterne i matricen forskydes gennem registeret, undersøges data for hvert billedpunkt og dets nabopunkter i rækkefølge, og logikken frembringer et transit) formeret datapunkt som er en funktion af værdierne i det ækvivalente datapunkt og dettes nabopunkter i det indlæste billede. Den logiske funktion, der afhænger af disse naboværdier, frembringer udgangssignalet fra en enkelt databehandlingsenhed, og dette udgangssignal tilføres den næste databehandlings-15 enhed i kæden. I denne næste databehandlingsenhed udføres en yderligere transformation.When the values of the pixels in the matrix are displaced through the register, data for each pixel and its neighbor points are sequentially examined, and the logic produces a transit-shaped data point which is a function of the values of the equivalent data point and its neighbor points in the loaded image. The logical function that depends on these neighbor values produces the output of a single data processing unit and this output is applied to the next data processing unit in the chain. In this next data processing unit, a further transformation is performed.

Arten af den transformation, der udføres af hver databehandlingsenhed, kan modificeres fra en central programmerbar 20 styreenhed, som står i forbindelse med hver databehandlingsenhed.The nature of the transformation performed by each data processing unit can be modified from a central programmable controller which is associated with each data processing unit.

Udførelsen af flertrins-integral-geometri-transformationer i et serienetværk af identiske databehandlingsenheder elimi-25 nerer behovet for flere forskellige ydre billedlagerenheder og aritmetriske og logiske elementer, som normalt forbindes med specialudstyr til billedanalysering. Endvidere optræder ud-data fra hver behandlingsenhed med samme hyppighed som dets ind-data, idet databehandlingshastigheden kun begrænses 30 af skifteregisteret og den benyttede logiske teknologi. Derfor behandler det serielle databehandlingsudstyr data frembragt af en linieskanderende føler tidstro, således at det analyserede billede hele tiden er tilgængeligt på udgangen af den sidste databehandlingsenhed blot med en fast forsinkelse 35 .The performance of multistage integral-geometry transformations in a series of identical data processing units eliminates the need for several different external image storage units and arithmetic and logic elements usually associated with specialized image analysis equipment. Furthermore, the output data of each processing unit occurs at the same frequency as its input data, the data processing rate being limited only by the shift register and the logic technology used. Therefore, the serial data processing equipment processes data generated by a line scanner sensor real-time, so that the analyzed image is constantly available at the output of the last data processing unit only with a fixed delay 35.

proportional med antallet af serieforbundne databehandlingsenheder.proportional to the number of serial connected data processing units.

0 149240 50 149240 5

Den databehandlingsmetode, som den nærværende opfindelse repræsenterer, anvender realiseringen af nabotransformationer på en todimensional matrix bestående af bi11eddatapunkter med "N" mulige tilstande med det formål at skabe transformerede 5 matricer, hvor hvert billeddatapunkt er udtrykt ved N + MThe data processing method represented by the present invention employs the realization of neighboring transformations on a two-dimensional matrix consisting of image data points with "N" possible states for the purpose of creating transformed matrices, each image data point being expressed by N + M

mulige tilstande. Hvis de indlæste data for hvert billedpunkt kan antage to mulige værdier, kan den første databehandlingsenhed generere en transformeret matrix, hvor hvert billedpunkt kan have én ud af tre mulige værdier. De følgende transit) formationer, der udføres af de næste databehandlingsenheder i kæden, kan enten øge eller mindske det antal tilstande, som kan tillægges data for et billedpunkt. Selv om de fleste af transformationerne vil øge eller mindske antallet af tilladte tilstande med én, er metoden tilstrækkelig generel til 15 at omfatte transformationer, som ændrer antallet af tilladte tilstande med mere end én.possible states. If the data entered for each pixel can assume two possible values, the first data processing unit can generate a transformed matrix, where each pixel can have one of three possible values. The following transit formations performed by the next data processing units in the chain can either increase or decrease the number of states to which data can be assigned to a pixel. Although most of the transformations will increase or decrease the number of allowed states by one, the method is sufficiently general to include transformations which change the number of allowed states by more than one.

Som eksempel på en analytisk metode, der kan anvendes i nærværende opfindelse, kan man betragte den todimensionale opstil-2^ ling af ettaller og nuller, vist i fig. 1, hvor ettallerne danner et antal åbne, ikke skærende kurver af forskellig længde. I det følgende betragtes den opgave at udvælge de kurver, som har en længde større end L, hvor L er et lige heltal udtrykt i enheder lig med den mindste afstand mellem 25 to punkter, dvs. opløsningsevnen for den todimensionale rhombiske opstilling. Den første databehandlingsenhed i en kæde af enheder udfører nabotransformation på den indlæste matrix, hvor alle ettaller, der kun har ét naboetal, konverteres til et total. Alle andre billedpunkter beholder deres oprindelige 30 tilstand, se fig. 2. Denne transformation afmærker endepunkterne af hver af linierne. Dernæst udføres en række identiske transformationer, hvori hvert billedpunkt med værdien én og med et total, som nabo, konverteres til et total. Denne transformation foretages L/2-1 gange i L/2-1 databehandlingsen-35 heder i serie med den første enhed. Herefter vil alle linier af en længde mindre end eller lig med L udelukkende bestå af totaller, og de længere linier vil have en midterdel med 0 149240 6 ettaller, se fig. 3. Dernæst udføres L/2 transformationer i de næste L/2 databehandlingsenheder, hvorved hvert punkt, som er et total, og som i øjeblikket har et ettal til nabo, konverteres til et ettal. Efter denne serie af transforma-5 tioner vil linier, hvis længde er større end L, bestå af ettaller, og linier, hvis længde er lig med eller mindre end L, vil bestå af totaller, se fig. 4. Linierne er således blevet inddelt i to grupper efter deres længde og markeret med to forskellige billedpunktdataværdier. Analysen er fore-10 taget i en kæde af L databehandlingsenheder.As an example of an analytical method that can be used in the present invention, one can consider the two-dimensional arrangement of zeros and zeros shown in FIG. 1, wherein the singles form a number of open, non-intersecting curves of different lengths. In the following, the task is considered to select the curves having a length greater than L, where L is an even integer expressed in units equal to the minimum distance between 25 two points, ie. the solubility of the two-dimensional rhombic array. The first data processing unit in a chain of units performs neighbor transformation on the loaded matrix, converting all ones with only one neighbor number to a total. All other pixels retain their original state, see FIG. 2. This transformation marks the endpoints of each of the lines. Next, a series of identical transformations are performed in which each pixel with the value one and with a total, as neighbor, is converted to a total. This transformation is performed L / 2-1 times in L / 2-1 data processing units in series with the first unit. Thereafter, all lines of length less than or equal to L will consist solely of totals, and the longer lines will have a center portion of 0, see FIG. 3. Next, L / 2 transformations are performed in the next L / 2 data processing units, whereby each point, which is a total and currently has one to neighbor, is converted to one. Following this series of transformations, lines whose length is greater than L will consist of singles, and lines whose length is equal to or less than L will consist of totals, see FIG. 4. The lines have thus been divided into two groups according to their length and marked with two different pixel data values. The analysis is carried out in a chain of L data processing units.

Ved betragtning af denne kæde af transformationer bør det bemærkes, at det transformerede billede på hvert trin i kæden indeholder en tilstrækkelig informationsmængde til at rekon-15 struere det oprindeligt indlæste billede. Der er således intet behov for at lagre det oprindelige billede eller noget andet midlertidigt billede, således som det er nødvendigt i de hidtil kendte biliedanalysatorer. Der er heller ikke behov for at addere eller subtrahere billeder fra hinanden, således 20 som det også har været nødvendigt ved de hidtil kendte billedanalysatorer, eftersom de samme eller ækvivalente resultater kan opnås ved de transformationer, som foreslås ifølge den foreliggende opfindelse. 1 2 3 4 5 6 7 8 9 10 11Considering this chain of transformations, it should be noted that the transformed image at each stage of the chain contains a sufficient amount of information to reconstruct the initially loaded image. Thus, there is no need to store the original image or any other temporary image, as is necessary in the prior art image analyzers. Also, there is no need to add or subtract images apart, as has also been necessary in the prior art image analyzers, since the same or equivalent results can be obtained from the transformations proposed according to the present invention. 1 2 3 4 5 6 7 8 9 10 11

Skal den ovennævnte analyse udføres på et billeddatabehandlings 2 anlæg ifølge opfindelsen, er det blot nødvendigt at programmere 3 en kæde af databehandlingsenheder med en længde svarende til 4 antallet af nabotransformationer i den længdediskriminerende 5 algoritme. De enkelte trin i kæden af databehandlingsenheder 6 kan programmeres til at udføre en speciel nabotransformation 7 af en central styreenhed, der modtager data fra et tastatur 8 eller en anden passende informationskilde. Alternativt kunne 9 der anvendes et højniveau-programmeringssprog til programmering 10 af de enkelte databehandlingsenheder. Ved udførelsen af en 11 række transformationer, som beskrevet ovenfor, kunne tallet L indlæses i den centrale styreenhed fra et tastatur. Den centrale styreenhed kunne derefter programmere de pågældende 0 149240 7 trin i kæden på passende punkter i stedet for at brugeren skulle være nødt til at udpege den nødvendige transformation L + 1 gange.If the above analysis is to be performed on an image data processing 2 system according to the invention, it is only necessary to program 3 a chain of data processing units having a length corresponding to 4 the number of neighbor transformations in the length discriminating 5 algorithm. The individual steps in the chain of data processing units 6 can be programmed to perform a special neighbor transformation 7 of a central controller receiving data from a keyboard 8 or other appropriate source of information. Alternatively, 9 a high-level programming language could be used to program 10 of the individual data processing units. In performing an 11 series of transformations, as described above, the number L could be entered into the central controller from a keyboard. The central controller could then program the relevant steps in the chain at appropriate points instead of the user having to designate the necessary transformation L + 1 times.

5 Hver databehandlingsenhed udfører en transformation af lignende art af den indlæste datastrøm. Først undersøges den centrale celle i den nicellede omegn for at fastslå, om den har værdien Kl. Dernæst undersøges en delmængde N bestående af de otte tilgrænsende naboceller for at bestemme, om der blandt dem 10 er mindst én celle af delmængden, der har værdien K2. Hvis disse to betingelser er opfyldt, ændres værdien af den centrale celle til den ny værdi K3. En programmering af en databehandlingsenhed består således i indlæsning af de værdier, som skal tillægges N, Kl, K2 og K3 i de rette hukommelseslagre 15 i enheden.5 Each data processing unit performs a similar transformation of the loaded data stream. First, the central cell in the nickeled area is examined to determine if it has the value Kl. Next, a subset N consisting of the eight neighboring neighboring cells is examined to determine if among them 10 there is at least one cell of the subset having the value K2. If these two conditions are met, the value of the central cell changes to the new value K3. Thus, programming a data processing unit consists of entering the values to be assigned to N, K1, K2 and K3 in the appropriate memory stores 15 in the unit.

Opfindelsen skal forklares nærmere i det følgende under henvisning til tegningen, hvor 20 fig.1-4 viser eksempler på en række transformationer, i et apparat ifølge opfindelsen, fig. 5 et blokdiagram af en regnemaskine til at realisere transformationerne i en foretrukken udførelsesform af appa-25 ratet ifølge opfindelsen, fig. 6 et blokdiagram af en del af en databehandlingsenhed i et typisk modul i fig. 5, 30 fig. 7 et blokdiagram af en adresseafkoder og et lagerregister-arrangement for ét af modulérne i fig. 5, fig. 8 et blokdiagram af et kredsløb i modulet i fig. 5 til bestemmelse af identitet mellem værdierne af. nabo-celler-35 ne og indholdet af registeret K2, 149240 o 8 fig. 9 et blokdiagram af et kredsløb i et modul i systemet i fig. 5 for bestemmelse af identitet imellem en central celle og indholdet af registeret Kl, 5 fig. 10 et blokdiagram af et kredsløb i hvert af modulerne i fig. 5 til bestemmelse af en position, der afhænger af nabo-delmængden, fig. 11 et eksempel på typiske delfelter, som definerer 10 et sæt positioner i indgangsmatricen, som er bearbejdede med identiske omegnskonfigurationer af modulerne anvendt i systemet i fig. 5, og fig. 12 et blokdiagram af en alternativ udformning af kreds-15 løbet beregnet til at sammenligne værdierne for hver nabocelle med indholdet af registeret K2.BRIEF DESCRIPTION OF THE DRAWINGS The invention will be explained in more detail below with reference to the drawing, in which: FIGS. 5 is a block diagram of a calculator for realizing the transformations in a preferred embodiment of the apparatus according to the invention; 6 is a block diagram of a portion of a data processing unit of a typical module of FIG. 5, 30 FIG. 7 is a block diagram of an address decoder and a storage register arrangement for one of the modules of FIG. 5, FIG. 8 is a block diagram of a circuit of the module of FIG. 5 to determine identity between the values of. neighbor cells and the contents of register K2, 149240 and 8 fig. 9 is a block diagram of a circuit in a module of the system of FIG. 5 for determining identity between a central cell and the contents of the register K1; 10 is a block diagram of a circuit in each of the modules of FIG. 5 to determine a position depending on the neighboring quantity; FIG. 11 shows an example of typical subfields defining 10 a set of positions in the input matrix which are processed with identical enumeration configurations of the modules used in the system of FIG. 5, and FIG. 12 is a block diagram of an alternative embodiment of the circuit designed to compare the values of each neighboring cell with the contents of register K2.

De metoder, der anvendes i den nærværende opfindelse, kan realiseres i forbindelse med generelt anvendelige datamater, 20 men er af en sådan art, at det er muligt at realisere med en klasse af relativt simple, og særdeles effektive specielle regnemaskiner. Som vist i fig. 5 består en foretrukken udførelsesform for regnemaskinen ifølge opfindelsen af et antal moduler 10, som i det væsentlige er identiske med 25 hinanden, og som er serieforbundne, således at udgangen af det ene modul er forbundet til indgangen af det næste modul i kæden. Antallet af moduler begrænser det antal transformeringer, som regnemaskinen kan foretage på indlæste data ved et enkelt gennemløb. Eftersom hvert modul er relativt 30 enkelt og billigt, kan regnemaskiner med hundreder eller tusinder af moduler fysisk realiseres og kan i pris konkurrere med en regnemaskine, der er anvendelig til alle formål.The methods used in the present invention can be realized in connection with generally usable computers, but are of such a nature that it is possible to realize with a class of relatively simple, and highly effective special calculators. As shown in FIG. 5, a preferred embodiment of the calculator according to the invention consists of a number of modules 10 which are substantially identical to each other and which are connected in series so that the output of one module is connected to the input of the next module in the chain. The number of modules limits the number of transformations the calculator can make on loaded data at a single throughput. Since each module is relatively simple and inexpensive, calculators with hundreds or thousands of modules can be physically realized and can compete in price with a calculator usable for all purposes.

En matrix af data, som skal indlæses i det første modul 35 10 i kæden, kommer fra en datakilde 12. Datakilden 12 kan indeholde et lager, såsom et bånd 14, eller kan repræsentere 0 149240 9 en digitaliseringsenhed, som bearbejder en datastrøm fra et tidstro udstyr, såsom en radarmodtager 16.A matrix of data to be loaded into the first module 35 10 in the chain comes from a data source 12. The data source 12 may contain a memory such as a tape 14, or may represent a digitizer processing a data stream from a data source. real-time equipment such as a radar receiver 16.

Udgangssignalet fra det sidste modul 10 i kæden føres til 5 en dataskærm eller registreringsudstyr 18, såsom et katode-strålerør eller en båndoptager eller lignende, som senere vil kunne benyttes i forbindelse med en dataskærm.The output of the last module 10 in the chain is fed to a data monitor or recording equipment 18, such as a cathode ray tube or tape recorder or the like, which may later be used in connection with a data monitor.

Transformationen, som foretages af hver af modulerne 10, 10 fastlægges af en transformations-styreenhed 20. Styreenhedens virkemåde kan modificeres af et tastatur 22 eller fra andre passende programkilder, såsom et hulkort, bånd osv. Styreenheden 20 har forbindelse til hvert af modulerne gennem en adressebus 24 og en transformationsbus 26. Når den trans-15 formation, der udføres af et enkelt modul, skal modificeres, sender styreenheden 20 først adressen for dette modul ud på bussen 24 og derefter en passende transformationskode på bussen 26. Hvert modul 10 indeholder et lagret, entydigt adressesystem til sammenligning af en adresse fra bussen 20 24 med den lagrede adresse. Når sammenligningen er foretaget, lagres transformationskoden, som følger på bus 26, i modulet, og styrer derefter dets virkemåde.The transformation performed by each of the modules 10, 10 is determined by a transformation controller 20. The operation of the controller can be modified by a keyboard 22 or from other appropriate program sources such as a hole card, tape, etc. The controller 20 connects to each of the modules through a address bus 24 and a transformation bus 26. When the transformation performed by a single module is to be modified, the controller 20 first sends the address of that module out on the bus 24 and then an appropriate transformation code on the bus 26. Each module 10 contains a stored unique address system for comparing an address from the bus 20 24 with the stored address. When the comparison is made, the transformation code, which follows on bus 26, is stored in the module, and then controls its operation.

Alle kredsløbene i regnemaskinen synkroniseres af tidssignaler, 25 der genereres af et ur eller taktgenerator' 28.All the circuits in the calculator are synchronized by time signals 25 generated by a clock or clock generator '28.

De vigtigste logiske enheder i et typisk modul 10 er vist detaljeret i fig. 6-10. Fig. 6 viser skifteregister-arrangementet til i rækkefølge at udskille de ni nabo-celler i 30 strømmen af indlæste data. I dette eksempel kan hver celle antage én ud af fire mulige værdier, dvs. der kræves to bit i lageret per celle for alle skifteregistertrin. Hvis indgangsdatamatricen er W elementer bred, skal skifteregisteret fylde W-3 trin i længden.The main logical units of a typical module 10 are shown in detail in FIG. 6-10. FIG. 6 shows the shift register arrangement to sequentially separate the nine neighbor cells in the stream of loaded data. In this example, each cell can assume one of four possible values, i. two bits in storage per cell are required for all switch register steps. If the input data matrix is W elements wide, the shift register must fill the W-3 steps in length.

Hvert modul har en adresse, som er bestemt af dets position i modulkæden. For at programmere et modul afsender styreen- 35 o 149240 10 heden adressen for det modul, som skal programmeres, på adressebussen, samtidig med at værdierne N, Kl, K2 og K3 afsendes. Værdien af N er et otte bit binært tal, hvor et ettal i den i'te bitposition indikerer, at den tilgrænsende 5 i1te celle skal medtages i nabo- eller omegnsdelmængden N for den centrale celle (se fig. 6 vedrørende nummerering af tilgrænsende naboceller). Fig. 7 viser adresseafkoderen og lagerregistre.Each module has an address which is determined by its position in the module chain. To program a module, the controller sends the address of the module to be programmed on the address bus, while sending the values N, K1, K2 and K3. The value of N is an eight-bit binary number, where one in the 1st bit position indicates that the adjacent 5th cell must be included in the neighboring or surrounding subset N of the central cell (see Fig. 6 for the numbering of neighboring neighboring cells). . FIG. 7 shows the address decoder and storage registers.

10 For hver udskilt omegn af nabo-celler sammenlignes værdien af de to bit for hver nabo med indholdet af registeret K2 i en gruppe på otte komparatorer (fig. 8). Udgangen af en komparator er én, hvis, og kun hvis, indholdet af nabo-cellen stemmer overens med indholdet af registeret K2. Udgangen 15 af hver komparator ledes derefter ind på en OG-port sammen med de tilsvarende bit i nabo-delmængde-registeret, dvs. N-registeret. Udgangssignalet på en af OG-portene er én, hvis, og kun hvis, dets tilsvarende nabo-position er indeholdt i nabo-delmængden N, og indholdet af nabo-cellen har værdien 20 K2. En enkelt OR-port undersøger hver AND-ports udgang, således at dens udgang er en, hvis, og kun hvis, mindst én nabocelle i delmængden N har værdien K2.10 For each neighboring neighbor separated region, the value of the two bits for each neighbor is compared to the contents of register K2 in a group of eight comparators (Fig. 8). The output of a comparator is one if, and only if, the contents of the neighbor cell match the contents of the register K2. The output 15 of each comparator is then fed into an AND gate along with the corresponding bits in the neighbor subset register, ie. N-register. The output of one of the AND gates is one if, and only if, its corresponding neighbor position is contained in the neighbor subset N and the contents of the neighbor cell have a value of 20 K2. A single OR gate examines the output of each AND gate so that its output is one if, and only if, at least one neighbor cell in the subset N has the value K2.

Indholdet af de centrale celler sammenlignes med indholdet 25 af registeret Kl i komparatoren vist i fig. 9. Udgangen af komparatoren er én, hvis, og kun hvis, den centrale celle har værdien Kl. Når denne betingelse er opfyldt samtidig med den tidligere udledte betingelse for nabocellerne, vil udgangen af multiplexeren blive sat lig K3, ellers er udgangen 30 af multiplexeren lig med indholdet af den centrale celle. Udgangssignalet fra multiplexeren danner strømmen af udgangsdata fra et modul.The contents of the central cells are compared with the contents 25 of the register K1 in the comparator shown in FIG. 9. The output of the comparator is one if, and only if, the central cell has the value Kl. When this condition is met at the same time as the previously derived condition of the neighboring cells, the output of the multiplexer will be set equal to K3, otherwise the output 30 of the multiplexer will be equal to the content of the central cell. The output of the multiplexer generates the flow of output data from a module.

Det er ikke altid fordelagtigt at bearbejde hver celle i 35 en matrix på nøjagtigt samme måde uafhængigt af dens position i matricen. Delmængden N af naboer til en central celle, hvis position er i, j i rækken, kan være en funktion af 11 149240 o den centrale celles position. Den måde, hvorpå man kan bestemme den positionsafhængige nabodelmængde er vist i fig.It is not always advantageous to process each cell in a matrix in exactly the same way, regardless of its position in the matrix. The subset N of neighbors to a central cell whose position is i, j in the row may be a function of the position of the central cell. The manner in which to determine the position-dependent neighboring quantity is shown in FIG.

10. Mængden af alle cellepositioner i indgangsmatricen, som bearbejdes med identiske nabokonfigurationer, danner 5 et delfelt. En matrix kan deles i M delfelter, hvor M kan være lig med 2, 3, 4 eller mere. Nogle nyttige delfelter er vist i fig. 11.10. The amount of all cell positions in the input matrix processed with identical neighboring configurations forms a subfield. An array can be divided into M subfields, where M can be 2, 3, 4 or more. Some useful subfields are shown in FIG. 11th

Til bearbejdning af et delfelt er det bekvemt at erstatte 10 N-registeret med et hukommelseselement med større udstrækning, f.eks. et, der indeholder M otte bit ord svarende til M nabodelmængder, et for hver af M mulige delmængder. Uddata fra denne hukommelsesenhed vælges af N data til enheden dvs. at delfelt-etiketten R, hvor R = 1, 2, —, M. Nabo-18 hukommelsesenheden kan programmeres fra styreenheden over adresse- og databussen på en måde, der ligner programmeringen af N-registeret.For processing a subfield, it is convenient to replace the 10 N register with a larger extension memory element, e.g. one containing M eight bit words corresponding to M neighboring subsets, one for each of M possible subsets. Output from this memory device is selected by N data for the device ie. the subfield label R, where R = 1, 2, -, M. The neighbor-18 memory unit can be programmed from the controller over the address and data bus in a manner similar to the programming of the N register.

Delfelt-etiketten R kan udledes af den centrale celleposition 20 i, j i delfeltets logiske matrix. Den nøjagtige udformning af delfeltets logiske matrixnetværk afhænger af antallet af delfelter og deres særlige konfiguration i datamatricen.The sub-field label R can be derived from the central cell position 20 i, j in the logical matrix of the sub-field. The exact design of the sub matrix logical matrix network depends on the number of sub fields and their particular configuration in the data matrix.

Eftersom centrale celler undersøges i rækkefølge, kan de centrale cellekoordinater spores af en tæller, forudsat 25 tælleren i begyndelsen er indstillet fra styreenheden svarende til positionen af modulet i den bearbejdede kæde.Since central cells are examined sequentially, the central cell coordinates can be traced by a counter, provided the counter is initially set from the controller corresponding to the position of the module in the processed chain.

Nabotrinet vist i fig. 6-10 er så generelt, at alle anvende-lige nabotransformeringer kan udføres af · en seriekobling af sådanne trin. Kredsløbet i fig. 12 er ejendommeligt ved, at visse typer af transformeringer kan udføres af et enkelt bearbejdningstrin i stedet for en serie af bearbejdningstrin. Kredsløbet i fig. 12 er identisk med kredsløbet i fig. 8, når bortses fra, at OR-porten er erstattet af 35 en almindelig logisk funktion med otte variable lagret i en RAM (tilgængelig hukommelse). Denne RAM kan naturligvis programmeres fra styreenheden gennem adresse- og databusserne.The neighboring step shown in FIG. 6-10 is so general that all usable neighbor transformations can be performed by a series coupling of such steps. The circuit of FIG. 12 is peculiar in that certain types of transformations can be performed by a single machining step instead of a series of machining steps. The circuit of FIG. 12 is identical to the circuit of FIG. 8, except that the OR gate is replaced by a common logic function with eight variables stored in a RAM (available memory). This RAM can of course be programmed from the controller through the address and data buses.

Claims (2)

149240 O Patent krav.149240 O Patent Claims. 1. Apparat til digital analyse af billed- eller tegnmønstre, som repræsenteres af en matrix af digitale datasignaler, som er fremkommet ved en seriel aftastning af billedpunkter og udsendes fra en datakilde (12), og som har flere mulige værdier, hvor værdien af hvert datasignal er en funktion af et 10 tilsvarende billedpunkt, og med en kæde af efter hinanden koblede databehandlingsenheder (10) til selektivt at tilvejebringe en ny værdi for hvert datasignal som en funktion af dataværdierne af de omgivende punkter i billedet, og hvor hver databehandlingsenhed (10) omfatter et arrangement af 15' digitale lagringsorganer (la, lb - 9a, 9b) til midlertidig oplagring af et underafsnit af billedet, omfattende et centralt datasignal (9a, 9b), som svarer til et givet centralt billedpunkt, og nabodatasignaler (la, lb - 8a, 8b) svarende til nabobilledpunkter, som omgiver det centrale punkt, og med 20 organer til i rækkefølge at indfbre i hovedsagen alle de forskellige datasignaler for billedet i de digitale lagringsorganer til analyse, kendetegnet ved, at alle databehandlingsenheder (10) er identiske og indeholder individuelt programmerbare analyseringskredsløb (fig. 8 og 9), 25 som kommunikerermed en central programmerbar styreenhed (20), som selektivt tilvejebringer analysekriterier for hver databehandlingsenhed, således at hver databehandlingsenhed bliver i stand til selektivt at frembringe og overføre en ny værdi (K3) for hvert datasignal i billedet til indgangen af den 30 næste databehandlingsenhed i afhængighed af de kriterier (Kl, K2), som tilføres af den centrale styreenhed (20).Apparatus for digital analysis of image or character patterns represented by a matrix of digital data signals obtained by a serial scan of pixels and emitted from a data source (12) and having several possible values, the value of each data signal is a function of a corresponding pixel, and with a chain of successively coupled data processing units (10) to selectively provide a new value for each data signal as a function of the data values of the surrounding points in the image and each data processing unit (10) ) comprises an arrangement of 15 'digital storage means (la, lb-9a, 9b) for temporarily storing a sub-section of the image, comprising a central data signal (9a, 9b) corresponding to a given central pixel, and neighboring data signals (la, lb-8a, 8b) corresponding to neighboring pixels surrounding the central point and having 20 means for sequentially sequencing all the different data signals for the image in the digital storage means for analysis, characterized in that all data processing units (10) are identical and contain individually programmable analysis circuits (fig. 8 and 9), 25 communicating with a central programmable controller (20) which selectively provides analysis criteria for each data processing unit so that each data processing unit is able to selectively generate and transmit a new value (K3) for each data signal in the image to the input of the next 30 data processing unit, depending on the criteria (K1, K2) supplied by the central controller (20). 2. Apparat ifølge krav 1, kendetegnet ved, at udgangssignalet fra hver databehandlingsenhed (10) har et 35 større antal tilladte tilstande end de billedpunkter, som skal analyseres, har.Apparatus according to claim 1, characterized in that the output of each data processing unit (10) has a greater number of allowed states than the pixels to be analyzed have.
DK147679A 1979-04-09 1979-04-09 AUTO IMAGE PROCESSOR DK149240C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DK147679A DK149240C (en) 1979-04-09 1979-04-09 AUTO IMAGE PROCESSOR

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DK147679 1979-04-09
DK147679A DK149240C (en) 1979-04-09 1979-04-09 AUTO IMAGE PROCESSOR

Publications (3)

Publication Number Publication Date
DK147679A DK147679A (en) 1980-10-10
DK149240B true DK149240B (en) 1986-04-01
DK149240C DK149240C (en) 1986-11-03

Family

ID=8105230

Family Applications (1)

Application Number Title Priority Date Filing Date
DK147679A DK149240C (en) 1979-04-09 1979-04-09 AUTO IMAGE PROCESSOR

Country Status (1)

Country Link
DK (1) DK149240C (en)

Also Published As

Publication number Publication date
DK147679A (en) 1980-10-10
DK149240C (en) 1986-11-03

Similar Documents

Publication Publication Date Title
US4167728A (en) Automatic image processor
AU592704B2 (en) Parallel associative memory
US4395699A (en) Method and apparatus for pattern recognition and detection
EP0113410B1 (en) Image processors
US4414685A (en) Method and apparatus for pattern recognition and detection
US4464788A (en) Dynamic data correction generator for an image analyzer system
US4514826A (en) Relational algebra engine
US5267332A (en) Image recognition system
US4301443A (en) Bit enable circuitry for an image analyzer system
US4484346A (en) Neighborhood transformation logic circuitry for an image analyzer system
US4322716A (en) Method and apparatus for pattern recognition and detection
US4624013A (en) Linked component extraction circuit for image processor
US4290049A (en) Dynamic data correction generator for an image analyzer system
CN103838570A (en) Information processing apparatus, control method therefor, and electronic device
EP0236781A2 (en) Image data processing method and apparatus therefor
US4442543A (en) Bit enable circuitry for an image analyzer system
JPS61233878A (en) Image processing apparatus
US20070248269A1 (en) Method and apparatus for image processing
US3832687A (en) Pattern recognition system
Andreadis et al. A new hardware module for automated visual inspection based on a cellular automaton architecture
DK149240B (en) Automatic image processing unit
US5168567A (en) Data sorting circuit
CN106126114B (en) A kind of memory and its querying method having query function
Fischler et al. An approach to general pattern recognition
IE47847B1 (en) Automatic image processor

Legal Events

Date Code Title Description
PBP Patent lapsed
PBP Patent lapsed