INTELLIGENT SCAN IMAGE PROCESSOR

Abstract: A sorting network for processing neighbourhood pixels in each of the plurality of areas of interest. The network comprises an apparatus for producing maximum, minimum and median values of the neighbourhood (24) and an apparatus for morphological transformation of the neighbourhood pixel values (26).

Description: INTELLIGENT SCAN IMAGE PROCESSOR PXSLD o? TKS XNVBΓΓION The field of the invention relates to fchε field of iaage rooeeeinβ gβnar&liy end to the fiel cf iaagt proαeiiinf Vβ-y Large scale Integration (VLSI) trchitβoturc in particular, lACxαtαwo or τa∑ 'INVENTION Conventional iaege processing syβ βas aeαuire iaagts froa -en iaagt acquisition unit, βuc AS α αaαerA, w ich roduc r each lance in a rajtr.ar-«can fonts, i.e. t e pixel* of au iaase arc ' tpanaβit ed' to the iaage processing units beginning' froa the top left corner asd proceeding across each line until reaching the bottfcβ right corner * The video signs! thus produced is ■ typically 1 forwarded to a pipeline of prβproceaaor* . typically consisting of linear neighborhood 'processors * such as convolvers, non- linear neighborhood processors and other procesβorε , such aβ histoffraa tranβ£oraβrβ or h st Fourier Tranaf oraβrc . In addition. the preproeeeaors typically generate their output in & raater- ■ear: fomaβ ao that one preprocessor can directly feed into the ntKt one. A novel non-raster scanning αβthoά, modelled on the huaen vieual syetes, haε been developed which selectively aeαuireε -end prooeβββ* the data pertaining to specific areas of interest ir* the iaage, as defined according ts praββterainβ≤ enteric. The ncn-rtiεir le&nnin aethoi it disclosed in applicants copendlnr unpublished Israel Patent Application 7 ***β . coaaonl ownεέ b* * the cosacr. ownere cf tήε- present scanning ββtac . Λn ares ef interest is the isagt- ic identified through processing on a low resolution V TM OΛ of the iaage , typically utilising βne-sixty ourth of the pixel* in the iaage, and the randoa access iaage senβer is instructed to acquire the remaining -pixels in the area of interest at higher resolution levels . The randos aαcesε iaage * gsnβor is disclosed in applicant' s eopending unpublished Israel Patent Application 8321 . which is incorporated herein by reference. U.S. Patent **. ,$Q1 ,©35 disclose* a low-level iaage proαeeacr with sany internal stages. An input stroea of pixels typically eesφrisea an ■entirety ef an iαagφ although regions of interest can be defined externally using 1 bifaa . U.S. Patent J.'-5 i\ll6 discloses .a neighborhood transfers atajro fcr ixpleβensing filter operations t The .value- of each pixel but the central one in 6 square of nine pixels ε eoepere-ά with the central pixel. T s operation uaea tight sosperators and the result is used to fora a vector to address the appropriate βleaent in a progrsaaebic lookup table . The value of the central pixel is aaintained or transformed to that at one ef the other pixels in the square depending on the value cf the appropriate eieaβnt in the prograausable lookup tabl&. The neirh orftβc-S trans fora etage a_ε typically uβed for filtering. U.£. Patent *-*. ,7lS,iCi discloses βegsenesticn apparatus tut able re? recognising a pattern in an ιaags > for labelling βsch pattern, for detecting the area at each labe r for calculating tep or vertex coordinates and for deteraining nesting relationships between patterns. U.S. Patent *., l^ ( 6S5 discloses iaage analyzing apparatus which aαploys techniques of integral gecβetry to claaaify patterns in 2- and S-diaenβicnal rastar-ecanned inages w ere 3-diaan£ioπal isages refer to au±t -valued iαeges and 2- diaβnsional image* refer to binary-valued inages. For 3- diaensicnal laageβ, the apparatus selects the αaxiaua value associated with each* S ■**•• 3 neighborhood in the- iaage * The velues of the 3 x 3 neighborhood are typically aodified by neighborhood contribution circuitry. . latehar discloses, in an article entitled τ "Sorting Networks and Their Applications ? w , published in the Proceedings g t-hp 1966 Sprint ^oint.Computer Conference- AFIPS, Washington, S.C. , ε. sorting network for an aaounc of elements: which is a* ower of 2. P.A, Ruetε and H. . Broάerββn» in en article entitled, "Architecture and Design Techniojuβa for Real Tiae Iaage Processing 10 ■ t, M published in the ISE5 Journal of Sftlid Statg Circuits, vol. ZQ22 , nuaber a, of April 1987, describe a sorting network which is capable of selec ing one of thfc saxiauε, the ainisruR or a value close ec the aedlan of 9 eiβaentc. MIMttRY OF THT 2HWKTX0N The present invention seeks tc provide an iαage proαβsβing architecture for processing iaagea acquired with via non-raster -scannin -a-esns . There is thus provided , in accordance with the present invention, an apparatus for processing iaageβ acquired as a plurality of areas of interest end ccaprising apparatus for defining a 1 neighborhood fo - each pixel in etch ef the plurality cf areas' ef interest and iαage processing apparatus which uses, a neighborhood generated by the apparatus for def ning a aeiejhborήood. Additionally, there is provided in accordance with the prteent invention , an apparatus for processing iaagas which eeapriβββ apparatus for defining a neighborhood of each incoaing pixel and' apparatus for iaage processing including apparatus' for producing - the aaxiaua, aisiaua and median valuβc cf . the neighborhood. Additionally, in accordance with an eabediaaat cf the present -inventio , the apparatus for defining « neighborhood includes • apparatus for padding the : neighborhood of ineβsing 1 pixels defined ae belonging to the border of ens of the A eas of inceree .i further; in eceβrcance with an eebediaant cf the preaent in ent ons the apparatue for defininr a ftβighncrnocά prcάuceε e psrtior. cf tne neighborhood of c pixel and t e apparatue for usa f έ prόeeeeiae reβαnscruesε tne ccaplete neigmnornood iraz thr portion cf the neighborhood and fros its own storage apparatus. The portion of ths neighborhood is the North, Center and South pixels- of a neighborhood Of on incccing pixel. Still further, in accordance with an eabodiaβnt of tha present invention , the apparatus for producing ooaprisaa seven thrae eleαent sorεars . Moreover, in accordance with an βabodlsent cf ths present invention, the iaage processing apparatus includes a eβrp cl gical operator. The aorphelofiβai operator aey debensine the Bex-eu**, -Median and sinisua velues cf the pixel values of the neighborhood. Xt additionally say pc forr in extended neighborhood transfers which can bβ' erosion ΛI » ήi . ****- * . *_. ••._ * other suitable trans fore. Additionally , in accordance with an. eabβdiaent of the present invention, the areas of interest aay be square or non- square shapes. There is provided in accordance with an eabodiaβnc of the present invention, a sorting network for producing the caxiBuε. aedien and siniαua values cf nine input •leaent... T t netwo k 'βooprieee seven tnree βleaent aorterc. BR2SF DE50R2PTIOH 07 ΩS DRAWINGS The present invention will be understood and appreciated sore fully fros the following detailed description - taken in conjunction with the drawings in which: Pig. I is s block diagrac .lluatrstion . of a systea which inooporatei the erea of interest iaage processor cf the- present- invention ι Tig, _X is a blocfe diigraa illustration of the basie un te of the area of interest iaage processor of the present invention," Fiji . IK and SB are pictorial illustrations of two scan Bβthodologdeβ • Tig, A is a pictorial illustration of an iaage with two areas- ef interest; Fig. 48 is an illustration of the interfacing signals resulting roa the ieejre of Pig, 4Aι fig. * i£ ε block diagrac illustration cf e naichber&epέ generator useful in the area sf interest iaegt fig. 6 is en illustration of a finite stave aachine logic -useful in a datt output server of the neighborhood generator of Fig. 5. Pig. 7 is a pictorial illustration cf the operation of & processing unit ef tns area cf interest iβajcs processor cf f g. -. ; **_. . 8 la e block άie f xa-C iiiuβ-crasierx of _*, ρroβeβ«&n £ ur.it uβefci for the arβc Cf inoerect iaage processor cf fig. ≤ : Figs. 9A - 90 are block diagraa illustration* of eleaante of a-sorter uasful in the processing unit of Pig. 8; Pig. 10 is & bleofc . di&gras illustration cf tn extended neighborhood transforc block useful in the processing unit of fit. :ι i. . .__,«„.. blβell dl ,__ M of , n . lβι. orn∞d ,K " ,Mr "• ftΛ *■ » ">• *«• rf iπt.r„t p o_ β ._o. o. . _ e . 2 . 0 s CSΓAΣLSD WBCRΪWIW OF. A jiwiRRSδ ββoβι«Bσ λtferenct ia now cade to Pig. i which illus t rates an iaage processing lystec uϊiλiiing an area cf in t eres t iaa g e ac q uisition aethci. Zbe ays tec comprises an iaage concen t res p onsive iaage acquisition unit 10, βuch as a photβdiode array caaera with a randoa aoβese iaage; sensor ii as described in the previously aeπttionβd 2βr*<*»Λ *»«nt Λppiiceticn 83213, to acquire analo g p ixel intensities of a current area cf interest -in ehe iaage, where the current area of interest is typically define d b y ε βyβ ti β n user. /u_ A/D converter 12 converts the analog pixel intensities to digital values and a -plurality cf Area of Interes t Iaage processors (All?) Ik, such as convolvers or aorphological end otfajr non*linβar opera tort, process the data acquired by the iaage acquisition unit IS. The syitea additionally coaprlses an iaage content responsive scan controller 16 to analyse the data, aelect a new area cf intsreet IA£ output the relevant coordinates cf the new area cf intereat to the iaage acquisition unit 10 which than acquires the analog pixel intensity values of the new ares of in t erest, 'Ths coordinate intonation, denoted "control" Q in Fig. 1, ia additionally paaaed froa the iaage ac q uisition unit IC to the firtt AIZ? Hi . Aigβrithaic bloc c IS and 20 respectively, receive the processed data free the plurality cf ΛI2?c i* # ana A dditionally prooese the date, ty p ie ς li y creatin g a new definition of the area cf interest. __. ψi ζ , 2 illus t rates the asjσr •itaente and the input ani OUS P Uf i signtis cf en All? ' . Each All? Ik preferabl y ee a p ras β s ε net g&Pβ rhooi cβnera t sf 2* and a proc-M β -sn g uni t 2 * typi cal ly coapriΛng s neighborhood operator 24 m c en extended neighborhood tran β foro falocic 26. 2he neighborhood generator 22 receive .aε input a signal P which contains the digital pixel in intensities of the entirety of pixels within tn area of interest, 5 £ signal X which contains the x-coσrdinetβ cf each pixel, and in control inforaati β n for each pixel as- described hβrβinbβlo . For each input pixel, the neighborhoo • generator 22 generates a neighborhood, typically cf nine pixels, wnere the ourrβnt inpu t pixel the center pixel ef the neighborhood, typically for uaa ic by the neighborhood operator 2*4 of processing unit 23. T i neighborhood generator I additionally produces oontrβl inforsstion and the x-rcoordinate of ths pixel, denoted X , for out use by other proeeeβors which aty succeed All? 14 in processing the iaage data. As will be discussed in core detail hβrβinbeiow, 15 the neighborhood xeaeratcr 22 also deteets ths border pixels of each ereε, cf interest and provides the appropriate padding to fill she invalid ccβponentβ.βf the nei hborhood, in accorcene« tf Ui process pareaetβrt initially downloaded into it. According* to an eabodiaent cf the present invention, the neighbsrhood operator 24 is rørtsatty I X I Iδifchologiβai operator, although other 3 * 3 operators, such aβ convolvers or non-linear operators . «• sis© possible. The neighborhood operator 24 produces the result α of tae aorphoiegieai operation and typically a aodifi β ά copy β f t h e intensity c r the center pixel, ? tor use by the β xtendec in nei j rhaornoββ xrβnsfors block 2ό, !_-. s β eer ancr with an alternative βaoo-diaent sf tnε tHUϊ invention, the operator. 24 per f era t two- όiaβnsional linear functions, such aβ convolutions. Theae operations typically do not preeerve the characteristic* cf the area of interest; however , they produce inforaatien useful in the processing of an iaage. The extended neighborhood transfers is typically obtained in the extsnded neighborhood transfers block 26 by performing a general function , - f , on soae oosbination cf the inputs froa the neighborhood operator 22, P and 0, and external in cats., auch as - a constant value or the value of related pixel fret a eecoad iaaga . Tht general function f can be addition, subtraction, identification of the oaxiaua or the ainiaua, or a threshold operation. Tha output of block 26 , which is the output of the processing unit.2; , is the signal P which contains the out trftfit or-Md intensity valuta of the pixels of the area of internet. In aooordβneβ with an alternative es odiaant cf the present invention, extaadeά neighborhood transfers block 2c it not inaludtd in proceaaing unit 22. Thus , the processing unit 23 produots the outputs cf neighborhood operator 22, P and G. in Saeh AΣΣ? 14 is typically built on a single VLSI chip typically designed as two functional, units , the neighborhood generator 2 v_ tne processing unit 23. For standard aagt orocaβeinέ nardwar-e , the - ahoveαentioned conf iguraticr. would rββuire 11 interconnecting wirβc tf* tranβait the nine δ-bi , intensity vαluβε • cf the nβighbornoci free the n*»<*_-ϊ_.«*>_ιo.»<£ generator _V__ and tnc processing unit ∑l , lr. accordance it,', chε- D rarer re a. eaood sens or tne Bε-βt-ttr.ϊ invention , a novtj. asnβεs eT providing only a third cf the. neighborhood intensities to the processing unit 23 at one tis-e reduoes the nuαber of interconnecting wirβc while requiring very little additional hardware, As aentionsd hβrβinabove, the output of each Λ11P lk is sent to the iaage content reason iva scan controller 16. A preferred eabodiaent of the iaage content responsive scan controller 16 typically initially analyzes a low resolution version cf the iaage and identifies areas' of interest in it. The controller IS instructs the image acquisition unit 10 to acquire the intensities of the pixels of the areas of interest at the next highest resolution, where a higher resolution indicates that the chosen pixels are closer to each other. The data froa the areas of. interest are processed by the A2I?c 14 and the controller io analyses the results to identify areas within the areas of' interest which require still further resolution to. fully define this. The process repeats itself until fill sections cf the iaage axvβ accuired it tne highest resolution • necessary, Zt will be appreciated thtt other algorithms which incorporate randec access Mquisittion ••? pixels can be x-upieaenttd in controller 16, In ftll eaasc, the output of the controller 16 is a streaa of pixel coordinates in the areas of interest typically organised as followa and according: to rig. 3λ. Since an area ef interact is rarely square or rectangular, it say first, be* cade rectangular by adding addition&l pixelt. Thiε it αone to siapllfy the organisetier, cf the άae.. Subsequently, the arsβr cf interest in tne iaage are scanned• where the scanninr aetthβdaacgy utilises the fact that the iaage sensor 11 describe d in . previously Mentions Israel Patent Application $3 23 . internally obtains the intensity values pertsining to the entirety of pixels in a certain row and only afterwards executes the x 'coordinate selection. Thus, the scanning is ζypically perforaad as shown in Fig. 3A. Ah S ern&tiv* •obodiββnr ef the scsnning aethodology scene the areas cf interest in order} each area is scanned fros left to right and roa top down, as shown in Pig, 3B. Since the neighborhood opβrstor Ik operates on saal neighborhoods and since the iαage sensor 11 scans the iaage in the x direction (i.fc. froa left to right) , only the sequence of the acan lines is iaportantj the y coordinate, or the row position, ia not necessary. Sach arrow in Pig. 3A corresponds to a sequential aeaess to pixels of a given area of interest thst share the saae y coordinate. Since the pixels thus narked can be accessed sequentially with no interruptions, they constitute an xeurst. The dashed lines correspond to oree c in th__ dscε. low far acquiring the areas sf inseras-v end it will be appreciated that the breaks should be skipped as fast ss possible in order «© acintain syttea perforsanoe. Breaks oeeuting in the saae row are denoted κoreaks and breaks occurring between rows are denoted ybreekfi . An ' xbreax aay typically cause a -dead t aβ equivalent to th . aooeeε tise cf ss aost two pixels ι a ybrea aay typically eauae a dies ties equivalent to the 1 aecesc tiae cf et aost ten pixftlt, • According to s preferred βaboaiaer.-; cf the present invention. -ε se ct" interfacing signals, , ai described hereiabelow, are reoeived by the neighbornood generator 22 - froa the iaage acquisition unit IC, Any other sisilar sat of control signals which indicate to the neighborhood generator 22, for each incoamg pixel , its coordinates in the iaage and its location in. the area ef interest, can be used . The preferred sat of intsrfacing signals to the neighborhood generator 22 typic& ly isi P The intensity of the iaage at the current abβclutf in coordinate inside an xburtt. Absolute coordinates refer w the location cf the pixel in the iaage . X The absolute abacissa coordinate x of the pixel in the iaa f e. X is valid only inside an xburat and a series of Xs is typically aonotonically increasing, thus βiapiifying the hardware ef the neighborhood generator 2Z » V Λ line valid signal which fellows , when active , a set of 'xburβts to occur. The rising edge cf the signal aa ε the end of a soanning row and the filling tare aarxs the Beginning of the next. e , x Signals to indicate the beginninc end end of in xburβt.- j b coaei active during one pixel tiae (i.e. the tiaa rβ uirtd to acquire one pixel) to indicate e start of an xaure . κe beeoaea active uring one pixel tiae to indicate the end cf en xburst. The pixel arriving a: the saae tiae that xc it assarted it called the iefcaost edge and the onr that arnvβc with xe* 16 c&lied the righcaost edge . Typically , xβ and xt ere recuirei act to aecca* active ct the aaae t sς , F* ' ndicates a vclid lease fraαc , The rising edge cr 14 the sign*! iadiaisβs ths and of a irst i*«c» sn the ruling edge aarks the beginning of a second laaga. ys . e Signαle to indicate the copses t and bottβaβst pixels of an area of interest. If ye is active , all pixels received are tspaost pixels. If ye is active, the pixels received are bottoaoct pixels . If neither is active, then an internal pixel ia being received. It is typically required that ye and- ye not beeoae active at the saae tiae , The operation of -the interfacing signals described hβreinabove can be understood with -regard to Pigs. --.A and -.B hieh show an iaage with two areas of interest and the tiaing signsls resulting froa the iaage* respectively. T Λ bullets in P g * --.A indicate the pixels psing scanned. Across ths. op of Fig. A is an indication of the x ι_> coordinate; it should be noted that the leftmost area ef interest is located between x ooordinstss 21 iά S3 SAd the rightaoat area of interest it. located be ween x coordinates 101 and 1Θ5 , The γ coordinaaeε are not aar ed as they are not necessary. lz should also • be noted thst xourats are nuabersd in the order thst they are scanned, Ths neighborhoo -generator 22 typically reetivaε the aboveaβnticnβd input signslt froa controller lέ, via iaβge acquisition unit IE, and utilises thea to generate tire neighbornood of the pixel (x«y) whose intensity is * . Since the in neighber eod generator i≥ produces as output only three pixels cf the neighoernocd cf ft p el <x. y> ** any instant (i.e . α North, t Center snά -a South pixel ) , it will be appreciated that etch pixel ' K . : t c potescli; eleacnt cf three neignoornoedE ar the _ _! topaβst, the central and the bαttcaaost pixel, Thus, the neighborhood generator 22 stores each pixel (x,y) in three βeparactc locations in order to properly generate the three neighbornoodB to which each pixel (x«y) belongs, It should also be noted that the neighbornood operator 2k auat be organised such that the pixels thus transaltted can be used as the rightacst coluan, the central coluan and the lβftaost * column of three consecutive neighborhoods. Additionally, the neighborhood generator 22 auec add a άuaay pixel to the right of t finishing xpursc 'and to the left of a beginning xburst, a process known as padding, to eneure that the entirety of pixels in the area of interest can be utilised in the processing. This addition cf two extra pixels between xbursts costs the aystea two pixels of dead tiae. 5 An alternative eabcdiaelnt of the padding, which reduces Che dead tiae between pixels, coαprisas an additional output signal, denoted edge, which bsβoaes active whenever an xburst βtβrte and one clock after it endc. Thu__, the dead tiae is reduced to one pixel tiae. -° Reference ia now aads to Pig. Jj which illustrstes, in block ditgrsc fore, the architecture of the- neighborhood generator 22 ββaprising a date input systea 30 for organising the flofc. cf input inforasticn, a FIFO *32 for storing tht incasing pixels in en organised aanner, and e data output server 3-÷ for -- reading tne ate free cne FIFO 32 and for gsnsreting the properl padded neighborhood asd tne output control signals. A controller IC control, tne operation it tne dace input syβsβπ 3£ and the 0 16 data output server $**t . The neighborhood * sner&cβr 2 receives , or each pixel (x,y) of an erea cf interest, the interface βisnals'. xs , xc in in ys i yβ , LV , and FV , as wall as the * coordinate X and in in in ' in in the intensity ? of the incoaing pixel . It produces , for each in pixel (x f y) , the interface signals xs , - xβ , ys , ye , out out out out ' LV , and TV , and the north, center., south and edge signals , out out The data input syates 30 direct* the input data to the appropriate locations within tne neighbornood renaratβr 22 for a tor age or for confutation* . the- FIFO £2 is organised in 5 coluan arrays S, C, K, X, and 7 aorrβspβndiog,. respectively, to south pixels , censer pixels, north pixels, x coordinate values , and 3-bit inter ace- tags described in detail ' hereiabβlot.. the arrays are typically fillsd by the data input eyases $0 to eneure that the output inforeatitsv for a given pixel (x.y) ic locaced at ths saae location in each array, A head pointer h paints to the currant available location and is increased by one every- tiae ε pixel intensity i» entered into the FIFO 32. Taut , if the intensity of an iacoaing pixel is stored as the central pixel in location Oth] , than its south neighbor ie stored in SCh] , i«ε north neigήfeftr i» βe-ersd in HCΛ] I &*• K eoorSinet* i« ■•βored ir. XpO , and its J-fcir tag &a stored in TagCa] . The 3-bit. ea iε typically inoiudas » peec the 5 isforBSfcicn of the location cf the pixel in the area cf intβreεr e to ether succeeding process on . It L& generated according to tne following table wnere xccrcer indiea-aβa aitnβr xs o C and yeoroer ins&eatee e sner yc or ye ; Tag Represents 0 internal pixel 1 not xbørder but ys 2 not ..border but ye 3 xborder but hot y'sorder 4 xborder and ys 5 xborder and y» 6 line vtlLi falling edge indicator 7 freae valid falling edge indicator • _o The input datt flow through the neighborhood rβnerator 22 iε eosαanded by the controller }$ and is as follows for an internal pixel (i.e. one which is no c on a border of the area of interest) . The current intensity f cf pixel (x « y) is stored in in FIFO 52 at CCh] as indicated by pointer A. It is additionally 15 stored in the proper locations in ?ZF0 $2 to beeoae ths south nais-hbe? β th» pA__*l in the'line αbovo it nd th« north nelfhbox* fer the pixel below it. Accordingl , the value of h for the in pixel of the previous line ic stored in the X location ef a in line pointer caluan array, of a two ΛOlutm array ΛAM 20 3S sad is used to indicate the appropriate location in S for storing the current intensity value P . The current value cf in is then scored in. l__PointerfX J for u»e in locating in coluan S in the fiixς at x coordinate in the suosecuent line . in _~ is also stored in ήa X location cf a previous in in pixfci coiuBn βrray , _Piχςl, cf the RAM 3S. However , before it i∑ • torei ir; . tnc location , the value previously stored tnarc ic copied inco K[b - 01 Gate* ths operations de-scribed hβrβinabove are perforaed . h is inertased by one snd the process repeats itself. A topaoβt border pixel haa no north neighbor and is not ζ. south neighbor for any ether pixel and thus, the pixel intensity P ia not stored in column fi snd no pixel intensity in value is copied froa eolusn JPixsl to cciusn N. However, P is in stored in columns β snd L„?ixti, its x coordinate is stored in cciusn X snd its tag is stored in column TAC. A bøttoαost border pixel has a north neighbor for which ic it ia _. south neighbor. To siopiify ths storing logic, :hβ entirety ef operations described for an internal pixel occur for the bostofflost border pixel; P is placed at C[h , ths intensity in of its north neighbor is taken froa the appropriate location in L_Pixel snd P is stored-at the appropriate location to b* a in 15 south neighbor. P is also pi-seed i.ι the* tψμvop- -LøtM __oc*ύ.uπ in is. I___?ixel to be β nnr h neig o for a, pixel of the following line, εlthoueh no βixeia will enter ths FIFO S2 w ir-h uill πr_ilis* ir.» value stored in L ** ix*l. Additionally, at the end sf an x&urst, or at the end of Q t fraae, the appropriate tag value is stored and the location b ie increased by I . I. progras eabodiaent cf the logic described hβreinaeovfe t typically incorporated into controller j£, αsn be fount: in nnnex A. It should be noted that the progras also .,- recorcr. tht nuaber cf currently scored linec, in variable Stored Lines,, and the previous a coordinate value, in variable e J. TΛ» nβiβnsβrnβoβ s«n«ra«or 22 ctiso βαapnact c jtrecatc I ) t C7> In O current line, the processing is finished. The two proβese paraaeterc passed •_>. and acaod©^ Λm-mΛ-_ m__-_ * -Λ * * ^ -*•*•*' * *•- m **•■•■*•• *■-- * -um. -. a_ _4 »• UM«*4 (M < -. . » . • ••*_. •test snd- north-south) . The two options ere duplicate padding and constant, or register , padding. Fo constant padding, a constant - stored in c ipeei& register is used as the padding value. Typical vslusi of the constant are the values ef white or black.. Duplicate psddlπr consists of * using the value of --the bort-sr yLκml as the >value of the padded pixe , λ proxraaaa le daisy block k iβ cypically incorporated to iβpleaent t prograaaable dais on the output interface signals, xs . , xe . y» . ye , LV , TV and X Thus , ou cut out out out out out several processors vith different pipeline stages are aeeβaodetβd. According to a preferred eabo iaant of the invention, « the epfration of the data output server k , is beet described by __ Mealy finite stats aachine aa defined in the book, Sw tching and yir.ite Autoastt, Theory by Z. Xohavi, Kβtrrβw-Kill, Hew York, 197S. Fig. S shows the βabe-iiaent cf tne finite state aachine incorporated into the controller 3έ< Fi . 6 will be better understood with the.following definitions cf the input signals to the fihite state eaahine. ≥B t It the βαpey flag e is set, indicating that no data resides in the FXFC 32. no action ιε taken, Otherwise, the contents ef the FΪFβ 52 at the address indicated by pointer t arc reed inrc internal registers cf the data output server 3 for further processing. Xoorccr Active wnen T&sLi) it..-. , tne value c' coiusr. Teg at the address indicated by pointer t) indicates an xborder. The odd xborders are typically considered as xs- and the even xborders ere typically considered as xe. Newlina Active when Tag[t3 apeβiflee a change in either the LV or PV aignals. Oc Allows the output of a given xburst. The aignal ia defined according to the following conditionJ Q o • (Storedj_in«β « 0)i I ((Stor β d_Linβ«* »« l) (xe.U*( ast,X<-X(i; l)) where 5 to ed_ iner lβ a variable indicating the nuaber . cf lines 0 presently stored in FIFO %2 and Las _ is a variable indicating the previous x location. 3tored_Lines and La*t_.X are calculated by controller * > 6 and are used in ths prograa of Annex A. Oap Cauaee the insertion cf a gap, as defined in the proceeε paraaeterc register θ f with the appropriate padding ι ~ before- en xburst starts and after it fimβhefe , The finite state aachiaa produces she following output B1J3UUS. Mtdte* Osuseβ the contents of TagCt] , N[t] - C[t] , 3Cϊ. iftd XC -D to be written at the data outputs ys , ye , out out ? Q Y, , Jtort , ϋenββr end South. ∑f ys is true, the North output , out will ce padded. If e is true , the south output will be padded. I w snould be noted that the padding will be performed according to the value cf tne prooess parameter register aSaocβ **- , Xpa If this βignεl ia active and the padding: node L reciβtc- , i_li sTzr. , center v_i ≥outn wirββ will cental.** tne I O I J to o o C x, y - snd the ^ t en e .neighborhood transfer* block 26 p .rfow. a .ubtration between g ^ and . Pffoauoin , ^ fW||t ^^ κ.y Tne four t h ; ype ef o p eration is top cally p .rfcrs.d b . t w. . . Mβ . « » « « at leait. one cf ths above.entioned in p ut, to t h e mndsd neighborhood transfers block 26, s p ecif i β eli y , at eaet one cf the UtH intensities a , b or the output cf the neighborhood sptruor 24 g . o pe ra t ion is a threehold opβrttion. * , y ftefer β nc i. i s n o w B ede w «*. 5 w ich illus t ra t es , m d ota il e d block diagran for*, the eieo.nt. cf the p rocess ualt 25. Ne i ghoor h ood o p erator 24 typically comprises an in put re gi ster so for receiving, at each clock, one three ei β aent ooluon of a ne i ghborhood and for producing, at esβh clock, a nine elaeen t .neighborhood, a aaek register 32 for atoring a n i n. .l « ent *eak, a aaak 3 for perforning a naaWLng o p eration to p roduce * auction or erosion operation cr. the nin e .i. aβΛt ne ig h b or h oo d , or, al t ernativ ly , to perfcra a lia βa convolution, snd a sor t er S6 t o find the saαna, ainiaua and me d ian valuee of e eaaktd nine eleeents of the neighborhood snd to p roduce one of the aaxiauo, oiniaum cr asdisn vsluea as the result r • The ex t ended neighbornood transfβra block 25 hie four i n p u t p or t c, receivin g the input pixel intensity a , the ou t put r *, y ° f te * nβl * ϊhborftβoά Ob « P «o 2 , t he p ixel ntensity value b «,y ' " fchB eeM ' IBt vtlu * κ - «» P wul cf block 26, wά β , t h e prece d ing uni: 2$ , is tne vϋue c . .The type cf o p era t ion X\ V perforce *γ bloc.. 26 and one inputs ∞ b uιe £ fc a c -.a iadieabad βo the block 26 by e eye tea operator. The input regia-eer S<3 is c aiapriββd .of any suitable herdwar-e which accepts a three elβaar.t coluan as input, stores it and produces it three tiaes on outpu , as the rightsoat, cen t er and leftmost coluan cf three neighborhoods. Additionally, (he hardware Bust respond to edge in or&ation indicating the edge cf an area αf interest such that edge columns or columns next to edge coluan* are used for output only once or twice, respectively. Ths seeker k is coaposed of suitable hardware tc psrfora a αaaking operation. The aaak. stored in seek register 32, typically c&spriaes nine 5-bit element* whose values are either 1 cr 0 where only the- lowest significant bit is utilised for ths eaiking operation. The reaaining bits . are included so thst, in the alternate sabodisent where assker perforai a linear convolution, ths auk register 3 need not Changs. Masksr 3-*. operstee ss follows! for each sask eieaent whose lowest sienifieaaβ bit is 1. assieer 54 passes the piκ*l intensity value oh which -the sssk eieaent operates ■ to 'the sorter 56 'unchanged. For* a -cask eieaent whose lowest significant bit is 0» askscr 3$ rsBOVsβ the pixel intensity value froa the sorting operation of sorter Jό by passing & large value, typically 255 (all £ bits equal to t when the sorter 3β is configured to find ths -Siniαuε value or by passing a sat_ll value ■ typically 0 (&11 £ bits equal so • (_ , when the sorter %i is configured to find .the asxiaufi- v&ϊu&. When the ecrter- 36 it configured ts find the asdisn value, the aas er l typically produces & large value, although __ las l value can also oe proαucei. ? ~! Aererer.ee is now aade to fig. 9A which illustrates, in- black disgrsfi fore, ths sorter 3≤ which identifies the aaxiaua, Biniaua snd aedian of the nine aaskβd pixel values received froa seeker k. Sorter 36 is typically comprised cf 7 ainiaua-aaxiaue*- ** «_ * aed i an ( ) sorters 60 saeh of which finds the ciniaua, aaxiaua and aedian of three input signals. Fig. 9B illustr β tss the operation cf an individual ' M sorter 6 Q . Three assked pixel intensity values, p, q and r, are sorted by three aax « -ain sorters 65, into the eaxiauo, αedlan and sinitαuB values as fellows, it will be appreciated that the signals are positive. Mix-sin sorter 62s receives αasked Pixel value* p and ς and produces- ths larger value ss value 1 s and ths smaller value as value fc. Values t snd r are coapared by asx-ain sorter 63h\ the srger one ie produoed as value u and the saallβr, which is the sααllest value cf the three sacked pixel values, is produced, on output, as the ainiaua value. The two larger values s snd u βrβ coβparβd by aax^ain sorter 62ct the larger value is produced ss the ssxiaus value of ths thrte input signals p, q and r snd ths aαtllsr value is produced ss ths median value. Pig. $0 illustrate* the elements of ths asx-ain sorters e£. Steh sextain sorter 62 is cc-αnrised of α subtreecor 6 and t aultiiβxer •€£, Ths subtracter 6k produces t e aignil K , ths βuocrsβtlon cf w froa v. It s is positive • the aultipl β xer 6c produoes v aε the ssxiaus value and w s the ainiaua value. If x* ic negative . , the cultiplexer 66 produces v. ae t e ainiaus value and w as the aaxiaua value, I > I J In o 7 Q t ecf the nβifhbornoβd operator 2k , and a- constant K, and *»y perroras between two of the inputa i cwo-elβaβnt operation, guch ee addition, subtraction, calculation cf the aaxiaua or ainicua, or β threshold operation. Block 2έ typically eospriβas four selectors 70 and an adder/iuberaetor 72. Selectors 7©a and 70b sslscs ths two insut values in accordance Kith the valuei of two input select signals. As ahovn, selector 70 selects cne ef g , a -or b and χ.y χ t x.y selector.70b selects between * end b . The output cf •βlaαtori x,y 70ε. and 70b ia aent to adάer/aubtrtcror 72 and to selector 70c. To produce the SUB or diffirencs of any two values of the four input signals, selectors 70a and 70b pass the selected values to adder/subtracter 72 and its output is selected by Sftle-e∞r 70d. To pt-oduee the asxiauc, ainiaua cr ae-dien of ths neighborhood of s , ζ it directly paβsβd to the output χ ( y χιy vie ■electorc 7&c, 70c and 70d. For this output, aeleetor 70b is not operative. To apply β binary threshold on either a , b or *«y χ . y z adde /subtreetor 72 receives the ssleotβd s CAal snd ths χ* threshold value via selectors 70a and 70b respectively , The bo ow iifncl of adder/eubtrsβtor 12, is utilised to control ssleβtβr- &e so pase either a 1 , * 0, cr any other cβsirebl* veiυe, to the output via selector 70 . I Ki l bs appreciated by pirsont skil.ied s.r. t * art cns tne oreeest invention ta net united by what na£ beer, particularly < cnovn .and oeβcri&e nereineoovc . The scope - c tne present invention i. defined only by the claias which follow .

Claims: 32 1, Apparatus for processing insgss acquired as a plurality of srsaa cf interest αoaprisingt aeans for defining s neighborhood for each pixel o f each of said plurality of areas ef interest; a d iaege processing aesns*using a neighborhood fenerated by aaid βeanβ for defining a neighborhood. 2. Apparatus for processing* iaagaa ccopriting: cβanr for defining a neighbornood of each incoaing pixel; and assnβ for iaars processing including; aeans for producing the aaxiaua, ainiaua and asdisn values of said neighborhood. Si Appsrstuc for processing iaaiet according so claims α snd 2 and wherein said aeans for defining a neighborhood include sesns for padding ths neighborhood ct Incoaing pixels defined as belonging- tc the border cf one of asid area.: cf interest by including in. the neighborhood pixels which belong outside ef said areas of interest end by giving ssid outside pixels valusf detβpffiinβd by ssid aeens for defining a neighborhood. • «.. Apparatus for procββsing iaagas according to any of the previous claisc snd wherein ssid aβanc for defining t neighborhood produce and tranacit α portion cf aaid neighbornood ef a pixel -and wnβrein ssid αesnε for iasgε processing rβeoπatruet c cosp βtc neighbornood froa ssid portion cf said neighborhoei and froa portions cr said neignocrnoe previously transmitted froa said aeans for defining a neighborhood, 5. Apparatus for proceaaing iaagea according tc claia -. and wnβrein aaid aeans for defining t neighborhood produce the North , Center snd South pixels cf a neighbornood of a pixsl . 6. Appsrstuβ for processing iaagas according to claim 2 and whersift asid aeanε for producing coaprises seven three eleβtnt sorsirv . 7 • Apparatu for ps-oαeasύig latest according to olait. : and waαrein said aar* processing aeans includes a aorphologicil operator, 8, Apparatue for proceaaing laasei according to claia η and wherein said aorphologioal operator deteraineβ the aaxiaua, aedisn and ainiaua vsluβs cf the pixel values cf said neighberheød, $. Apparatus for processing laejret according tσ claia f and waerain ssid aorpholoβieai operator perforae an extended neighborhood transfers. ID. Apparatus for processing iaagea according to claias 7 and & • and wherein asid aorphβlogic&l operator perforate erosion. 11. Apparatus for processing iaagea according tc claias 7 snd r and wnαrtin sale aorpholosldil operator perforae dilution. 11. Apparatus fo -processing iaagas according tc claiε _. and wneratn ssiά areas cf , interact are cf non-soue * ** * -* βnapo* . « • Apperetus for pPoβ . βIinB ^ .^ ^ ^ « vhsrtin .aid ar.ee of interβat „e of square ehapes, i* . Λ ac i ng ne t work for producing the a ^ aua , atάl Λ ^ ain i .ua vaiueβ of nine input βleaincr, 1 5- A network accordinr to claia ik a __ -. r C14ia W « coaprisinj seven t nree elenant sorters ..

Inventors: GINOSAR RAN, HILSENRATH OLIVER, ZEEVI YEHOSHUA Y, GINOSAR, RAN, HILSENRATH, OLIVER, ZEEVI, YEHOSHUA, Y.
Applicants: SOREX CORP, SOREX CORPORATION
Application year: 1989
Main classification: G06K9
IPC codes: G06F7, G06T5