FI112884B - Image processing in a parallel processor network, suitable network and cell - Google Patents
Image processing in a parallel processor network, suitable network and cell Download PDFInfo
- Publication number
- FI112884B FI112884B FI20001221A FI20001221A FI112884B FI 112884 B FI112884 B FI 112884B FI 20001221 A FI20001221 A FI 20001221A FI 20001221 A FI20001221 A FI 20001221A FI 112884 B FI112884 B FI 112884B
- Authority
- FI
- Finland
- Prior art keywords
- current
- cell
- parallel processor
- processor network
- output
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
112884112884
KUVAN KÄSITTELY RINNAKKAISPROSESSORIVERKOSSA, SEKÄ SIIHEN SOVELTUVA VERKKO JA SOLUIMAGE PROCESSING IN A PARALLEL PROCESSING NETWORK AND ITS APPROPRIATE NETWORK AND CELL
Keksinnön alaField of the Invention
Keksintö liittyy menetelmään kuvan käsittelemiseksi analogisella toteutusperiaatteella rinnakkaisprosessoriverkossa ja kuvan käsittelyyn analogisella toteutusperiaatteella soveltuvaan rinnakkaisprosessoriverkkoon ja sen soluun.The invention relates to a method for processing an image on an analog implementation principle in a parallel processor network and to a parallel processor network and a cell suitable for image processing on an analog implementation principle.
Keksinnön taustaBackground of the Invention
Rinnakkaisprosessoriverkko koostuu yksittäisistä, identtisistä prosessoreista (kutsutaan soluiksi), jotka on järjestetty säännölliseen muotoon. Jokaisella.solulla on yksi tu-losignaali, dynaaminen tila ja lähtösignaali.A parallel processor network consists of individual, identical processors (called cells) arranged in a regular format. Each cell has one input signal, a dynamic state and an output signal.
Rinnakkaisprosessoriverkon ideana kuvan käsittelyssä on yksinkertaistettuna se, että jokaista kuvayksikköä (pikseliä) vastaa yksi prosessori, eli solu, jolloin saadaan aikaan rinnakkaisprosessoriverkko, joka yltää teoriassa erittäin nopeaan prosessointiin. Ongelmana tällaisen rinnakkaisprosesso-rin integroimisessa on se, että yhden prosessorin kokoa ei : ole onnistuttu tekemään niin pieneksi, että niitä mahtuisi : ·,· kymmeniä tai satoja tuhansia samalle piisirulle ilman, että luotettavuus alenisi virhetiheyden kasvaessa piirin pinta-alan kasvaessa.The idea behind a parallel processor network in image processing is to simplify that each image unit (pixel) is represented by a single processor, i.e. a cell, to provide a parallel processor network that in theory achieves very fast processing. The problem with integrating such a parallel processor is that the size of one processor has not been: small enough to fit: ·, · tens or hundreds of thousands on the same silicon chip without decreasing reliability as the chip area increases.
Rinnakkaisprosessoriverkossa solut ovat yhteydessä lähimpiin naapureihinsa (voivat olla myös yhteydessä esim. kaikkiin muihin soluihin rinnakkaisprosessoriverkossa), eli ne vaikut-, h tavat naapurisolujensa dynaamiseen tilaan. Tämä vaikutus on suoraan verrannollinen solun tuloon ja sen omaan dynaamiseen lähtöön. Nämä ominaisuudet mahdollistavat reaaliaikaisen sig- 112884 2 naaliprosessoinnin, koska tiedonkäsittely tapahtuu samanaikaisesti kaikissa soluissa.In a parallel processor network, the cells are connected to their nearest neighbors (may also be connected e.g. to all other cells in the parallel processor network), i.e. they affect the dynamic state of their neighbor cells. This effect is directly proportional to the cell's input and its own dynamic output. These features allow real-time signal processing, since data processing is performed simultaneously in all cells.
US 5,519,811 kuvaa feed-forward-tyyppisen analogisen hermoverkon transistoritason ratkaisun kuvan tunnistamiseksi.US 5,519,811 describes a transistor-level solution for a feed-forward analogue neural network for image recognition.
Feed-forward-topologiassa tietty ryhmä tulosuureita kerrotaan vastaavilla painokertoimilla ja kertolaskujen tulokset summataan yhteen. Nämä summat puolestaan muodostavat tulosuureet seuraavalle laskenta-asteelle. Tässä topologiassa laskenta-asteiden tulokset etenevät ainoastaan seuraavalle laskenta-asteelle. Feed-forward-rakenteessa (tai -topologiassa) kertolasku- ja summausoperaatioita voidaan alkaa suorittamaan periaatteessa heti, kun kaikki kyseiseen operaatioon tarvittavat tulotermit ovat saatavilla. Kuitenkin se, että kaikki toisen laskenta-asteen yksiköt tarvitsevat tulotietoinaan kaikki ensimmäisen asteen lähdöt, merkitsee sitä, että toinen laskenta-aste voi aloittaa evaluoinnin vasta sitten, kun kaikki ensimmäisen asteen tulot ovat olleet saatavilla. Eräs feed-forward-rakenteinen neuroverkko on esitetty julkaisussa 1993 International Symposium on Circuits and Systems,In feed-forward topology, a set of input variables is multiplied by corresponding weighting factors and the results of the multiplications are summed. These amounts, in turn, form the result variables for the next degree of calculation. In this topology, the results of the counting degrees progress only to the next counting stage. In a feed-forward structure (or topology), multiplication and addition operations can in principle be performed as soon as all the input terms required for that operation are available. However, the fact that all units of secondary accounting need all of their first-order outputs as input data means that the second-order accounting can only begin its evaluation after all first-order inputs have been available. A feed-forward neural network is disclosed in the 1993 International Symposium on Circuits and Systems,
Chicago, Illinois, USA, 3.-6. toukokuuta 1993, N. Yazdi et ai., "Pipelined Analog Multi-layer Feedforward Neural . Networks", ss. 2768-2771.Chicago, Illinois, USA, 3-6. May 1993, N. Yazdi et al., "Pipelined Analog Multi-layer Feedforward Neural. Networks", p. 2768-2771.
' : Koska feed-forward-tyyppisessä topologiassa kaikki toisen as- . : teen kertolasku- ja summausoperaatiot soluissa voidaan aloit- j taa vasta sitten, kun kaikki ensimmäisen asteen tulot ovat olleet saatavilla, voi rinnakkaisprosessoriratkaisu olla hankala toteuttaa, koska jokaisen solun tarvitsema fyysinen muisti vie suhteellisen paljon tilaa piisirun pinta-alasta.': Because in a feed-forward type topology, everything in the second-set. : Tea multiplication and addition operations in cells can only be started when all first-order inputs are available, the parallel processor solution can be difficult to implement because the physical memory required by each cell occupies a relatively large amount of space on the silicon chip.
; Digitaalisessa toteutuksessa laskennan tarkkuus määräytyy di gitaalisen sanan pituudesta, eli laskennan tarkkuutta voidaan nostaa lisäämällä diskreettien tilojen määrää. Tämä vastaa digitaalisen sananieveyden kasvattamista kertoja- ja summain-rakenteissa. Kertoja- ja summainrakenteiden pinta-ala puolestaan riippuu niiden sisäisestä sananieveydestä eli laskennan ί tarkkuuden asettamista vaatimuksista. Digitaalisen toteutuk- ! sen laskennan nopeus riippuu käytetystä kellotaajuudesta. Mi käli laskentarakenne on recurrent-tyyppinen, on tarvittavien laskutoimitusten määrä erittäin suuri.; In digital implementation, the computational accuracy is determined by the length of the digital word, i.e., the computational accuracy can be increased by increasing the number of discrete states. This is equivalent to increasing digital word speed in multiplier and adder structures. The surface area of the multiplier and adder structures, in turn, depends on their intrinsic word fluency, that is, on the requirements of the accuracy of the calculation ί. Digital realization! its computation speed depends on the clock frequency used. If the computation structure is of the recurrent type, the number of computations required is very large.
3 1128843, 112884
Analogisessa toteutuksessa laskennan tarkkuutta voidaan kertolaskun osalta lisätä tiettyyn rajaan asti esimerkiksi kasvattamalla transistorien kokoja tai käyttämällä jonkin verran monimutkaisia kompensointimenetelmiä. Yksinkertaisilla analogisilla kerroinrakenteilla saavutetaan suunnilleen sama tarkkuus kuin noin kuuden-seitsemän bitin digitaalisella toteutuksella. Analogisen laskennan nopeus riippuu piirissä olevista aikavakioista. Analoginen jatkuva-aikainen evaluointi on huomattavan paljon nopeampaa kuin digitaalinen diskreettiaikainen toteutus.In analog implementation, the accuracy of the computation can be increased up to a certain limit, for example, by increasing the size of the transistors or by using some complicated compensation methods. Simple analog coefficient structures achieve approximately the same accuracy as a digital implementation of about six to seven bits. The speed of analog computing depends on the time constants in the circuit. Analog continuous evaluation is significantly faster than digital discrete implementation.
Julkaisussa 1998 IEEE International Workshop on Cellular Neural Networks and their Applications, Lontoo, Englanti, 14.-17. huhtikuuta 1998, K. Wiehler et ai., "Dynamic Circular Cellular Networks for Adaptive Smoothing of Multi-Dimensional Signals", ss. 313-318, esitetään yksiulotteinen, analoginen neuroverkkorakenne, jossa verkon solut ovat yhdistetty toisiinsa kehämuotoon.In 1998 IEEE International Workshop on Cellular Neural Networks and Their Applications, London, England, 14-17. April 1998, K. Wiehler et al., "Dynamic Circular Cellular Networks for Adaptive Smoothing of Multi-Dimensional Signals", p. 313-318, a one-dimensional, analogue neural network structure is disclosed in which cells of a network are interconnected in a circular shape.
Artikkelissaan M. Anguita, F. J. Pelayo, E. Ros, D. Palomar ja A. Prieto, "Focal-Plane and Multiple Chip VLSI Approaches to CNN's", Analog Intergrated Circuits and Signal Processing, . Vol. 15, sivut 263-275, 1998, esittävät soluneuroverkon ra kenteen pohjaksi kuviossa 1 olevaa kytkentää virtapeiliraken-; teen toteuttamiseksi. Kuvatussa kytkennässä solun virrat ; (IsumO) summataan virtapeilin 101, jossa on kaksi transisto- ria 102 ja 103, tulossa. Tämä virtapeili 101 on toteutettu peilaussuhteella 1:1, ja lähtövirta (IsumO) johdetaan virran-rajoitinrakenteeseen 104. Virranrajoitinrakenteen 104 tran-, * sistorin 105 hilajännite VL asetetaan siten, että transistori 105 rajoittaa sen läpi kulkevan virran tiettyyn maksimiarvoon. Summavirta (IsumO) rajoitetaan taas välille, jossa IsumO on suurempi kuin 0, mutta pienempi kuin virran maksimiarvo. Transistorin 106 läpi kulkeva virta on solun lähtö-virta, joka kopioidaan soluneuroverkon templaten esittämällä tavalla naapurisoluihin siten, että positiiviset kertoimet I toteutetaan virtapeilirakenteen 107 mukaisesti, jossa on : kaksi transistoria 106 ja 108, jossa peilaussuhteena on 1:K1, j ja K1 on soluneuroverkon kertoimen suuruinen. Negatiiviset kertoimet toteutetaan kopioimalla ensin lähtövirta peilira- 112884 4 kenteella 109, jossa on kaksi transistoria 106 ja 110 (pei-laussuhde 1:1), ja tämä virta (10) johdetaan puolestaan virtapeiliin 111, jonka muodostavat kaksi transistoria 112 ja 113, jonka peilaussuhde on 1:K2, jossa K2 on soluneuroverkon kertoimen suuruinen.In their article, M. Anguita, F. J. Pelayo, E. Ros, D. Palomar and A. Prieto, "Focal Plane and Multiple Chip VLSI Approaches to CNN", Analog Intergrated Circuits and Signal Processing,. Vol. 15, pages 263-275, 1998, illustrates the circuitry of the current mirror structure as the basis for the structure of a cellular neural network; to make tea. In the circuit illustrated, cell currents; (IsumO) is summed at the input of a current mirror 101 having two transistors 102 and 103. This current mirror 101 is implemented at a mirror ratio of 1: 1, and the output current (IsumO) is applied to the current limiter structure 104. The gate voltage V L of the transistor 105 of the current limiter structure 104 is set such that transistor 105 limits current through it to a certain maximum value. The sum current (IsumO) is again limited to a range where IsumO is greater than 0 but less than the maximum value of the current. The current through transistor 106 is a cell output current which is copied to neighboring cells as shown by the cell neuron network template, so that positive coefficients I are implemented according to a current mirror structure 107 having: two transistors 106 and 108 having a mirror ratio of 1: K1, j and K1 coefficient. The negative coefficients are realized by first copying the output current to mirror mirror 112884 4 structure 109 having two transistors 106 and 110 (aspect ratio 1: 1), and this current (10) in turn being applied to a current mirror 111 formed by two transistors 112 and 113 having mirror ratio is 1: K2, where K2 is the coefficient of the cellular neural network.
Solun useat virtapeilit kasvattavat kukin solun kokonaispinta-alaa, joka puolestaan kasvattaa verkon vaatimaa kokonaispinta-alaa piisirulla.The multiple current mirrors of the cell each increase the total cell surface area, which in turn increases the total area required by the network on the silicon chip.
Keksinnön yhteenvetoSummary of the Invention
Keksinnön tavoitteena on saada aikaan menetelmä ja laite, jolla yksittäisten solujen pinta-alaa voidaan pienentää. Tämä pinta-alan pienentäminen tuo etuja varsinkin, kun halutaan integroida lukuisia prosessoreja samalle piisirulle rinnak-kaisprosessoriverkon muodostamiseksi.It is an object of the invention to provide a method and apparatus for reducing the area of individual cells. This reduction in area offers advantages, especially when it comes to integrating multiple processors on the same silicon chip to form a parallel processor network.
Keksinnön perusajatuksen mukaisesti aikaansaadaan menetelmä kuvan käsittelemiseksi analogisella toteutusperiaatteella rinnakkaisprosessoriverkossa, menetelmän käsittäessä: a) rivin tulotietojen lukemisen rinnakkaisprosessoriverk-;..j koon; : b) aiemmin rinnakkaisprosessoriverkkoon luetun rivin ·, : prosessoinnin aloittamisen olennaisen samanaikaisesti; c) ainakin yhden jo prosessoidun rivin lähtötietojen ulos lukemisen olennaisen samanaikaisesti kohtien a) ja b) kanssa.According to the basic idea of the invention, there is provided a method for processing an image on an analog implementation principle in a parallel processor network, the method comprising: a) reading the line input data into the parallel processor network; : b) line ·, previously read to the parallel processor network:: start processing substantially simultaneously; c) reading out the output data of at least one already processed row substantially simultaneously with a) and b).
Edullisesti, menetelmässä rivin tulotiedot luetaan osittain rivin solujen muistista. Edullisesti, rinnakkaisprosessori-verkon jokainen solu muodostaa yhden kuvayksikön eli pikse-lin.Preferably, the method reads the row input data partially from the memory of the row cells. Preferably, each cell of the parallel processor network forms a single image unit, or pixel.
112884 5112884 5
Edullisesti, tulotiedot luetaan rinnakkaisprosessoriverkkoon, jossa tulotiedon prosessoinnissa suoritetaan lineaarinen kaksiulotteinen alipäästösuodatus.Preferably, the input data is read into a parallel processor network where linear two-dimensional low-pass filtering is performed to process the input information.
Edullisesti, rivin tulotietojen lukeminen rinnakkaisprosessoriverkkoon toteutetaan syöttämällä tulovirta rivin jokaisen solun tulopisteeseen, rinnakkaisprosessoriverkkoon luetun rivin prosessointi toteutetaan johtamalla kyseenomaisen rivin jokaisen solun tulopisteen lähtövirta ensimmäiseen kahdesta virtapeilistä, skaalaamalla virta ensimmäisessä virtapeilissä, johtamalla ensimmäisen virtapeilin lähtövirta solun toiseen virtapeiliin, ja skaalaamalla virta toisessa virtapeilissä, ja prosessoidun rivin lähtötietojen ulos lukeminen toteutetaan johtamalla rivin jokaisen solun lähtövirta solun lähtöpisteeseen ja johtamalla lähtövirta edelleen seuraavalle prosessointirakenteelle.Preferably, reading the line input data into the parallel processor network is accomplished by supplying the input current to the entry point of each cell in the line, processing the line read into the parallel processor network by deriving the reading out the output data of the processed line is accomplished by directing the output current of each cell of the line to the cell origin and further directing the output current to the next processing structure.
Keksinnön perusajatuksen mukaisesti aikaansaadaan rinnakkais-prosessoriverkko, joka soveltuu kuvan käsittelyyn analogisella toteutusperiaatteella, rinnakkaisprosessoriverkon käsittäessä : lukuisia naapurisoluihinsa kytkettyjä, piisiruun integ-roituja soluja, joista jokaisessa on tulopiste tulovirran ,·, ; vastaanottamiseksi, lukumäärältään kaksi virtapeiliä, joista ; ensimmäinen virtapeili on sovitettu skaalaamaan tulopisteen lähtövirran, ja toinen virtapeili on sovitettu skaalaamaan ·_ ensimmäisen virtapeilin lähtövirran, ja ainakin yksi lähtöpiste lähtövirran johtamiseksi ainakin yhden naapurisolun tulopisteeseen.According to the basic idea of the invention, there is provided a parallel processor network suitable for image processing with an analog implementation principle, the parallel processor network comprising: a plurality of silicon chip integrated cells connected to their neighboring cells, each having an input point of input, ·,; two power mirrors, of which; the first current mirror is adapted to scale the output current of the input point, and the second current mirror is adapted to scale the output current of the first current mirror, and at least one output point to direct the output current to the input point of at least one neighboring cell.
Edullisesti, rinnakkaisprosessoriverkon jokainen solu on sovitettu vastaanottamaan virtoja useammasta naapurisolusta ja/tai lähettämään virtoja useampaan naapurisoluun.Preferably, each cell of the parallel processor network is adapted to receive streams from multiple neighboring cells and / or send streams to multiple neighboring cells.
112884 6112884 6
Keksinnön perusajatuksen mukaisesti aikaansaadaan rinnakkais-prosessoriverkon solu, joka soveltuu kuvan käsittelyyn analogisella toteutusperiaatteella, solun ollessa integroituna piisiruun, ja rinnakkaisprosessoriverkon solun käsittäessä: tulopisteen tulovirran vastaanottamiseksi; lukumäärältään kaksi virtapeiliä, joista ensimmäinen virtapeili on sovitettu skaalaamaan tulopisteen lähtövirran, ja toinen virtapeili on sovitettu skaalaamaan ensimmäisen virtapeilin lähtövirran; ja ainakin yhden lähtöpisteen lähtövirran johtamiseksi ainakin yhden naapurisolun tulopisteeseen.According to the basic idea of the invention, there is provided a parallel processor network cell suitable for image processing with an analog implementation principle, the cell being integrated into a silicon chip, and the parallel processor network cell comprising: an input point for receiving an input current; a number of two current mirrors, the first current mirror being adapted to scale the output current of the input point, and the second current mirror being adapted to scale the output current of the first current mirror; and at least one exit point for directing an output current to the entry point of the at least one neighboring cell.
Edullisesti, rinnakkaisprosessoriverkon solu on sovitettu toteuttamaan alipäästösuodatus.Preferably, the cell of the parallel processor network is adapted to perform low pass filtering.
Edullisesti, rinnakkaisprosessoriverkon solun ensimmäisen virtapeilin lähtöpiste on suoraan yhdistetty toisen virtapeilin tulopisteeseen. Edullisesti, rinnakkaisprosessoriverkon solussa toisen virtapeilin lähtöpiste on suoraan yhdistetty toisen prosessointirakenteen ensimmäisen virtapeilin tulopisteeseen.Preferably, the origin of the first current mirror of the cell of the parallel processor network is directly connected to the entry point of the second current mirror. Preferably, in the cell of the parallel processor network, the starting point of the second current mirror is directly connected to the entry point of the first current mirror of the second processing structure.
. ; Edullisesti, rinnakkaisprosessoriverkon solun virtapeilissä t . on vähintään kaksi transistoria. Vielä edullisemmin, virta-’ ! peilissä olevat vähintään kaksi transistoria ovat NMOS-tran- ! sistoreja tai virtapeilissä olevat vähintään kaksi transisto ria ovat PMOS-transistoreja.. ; Preferably, in the current mirror t of the cell of the parallel processor network. there are at least two transistors. Even more preferably, the current '! at least two transistors in the mirror are NMOS trans-! or at least two transistors in the current mirror are PMOS transistors.
Edullisesti, rinnakkaisprosessoriverkon solun ensimmäinen virtapeili lisäksi käsittää kolmannen transistorin, joka sovitettu välittämään virtamuotoinen tulos ensimmäisen virta-peilin skaalaamasta tulovirrasta.Preferably, the first current mirror of the cell of the parallel processor network further comprises a third transistor adapted to transmit a current-like result from the scaled input current of the first current mirror.
1 Edullisesti, rinnakkaisprosessoriverkon solun tulopisteen : vastaanottama tulovirta on naapurisolujen ja solun muistin 112884 7 lähtövirran sumina. Solun muisti on edullisesti integroituna piisiruun.Preferably, the input current received by the cell entry point of the parallel processor network is the sum of the output current of neighboring cells and the cell memory 112884 7. The cell memory is preferably integrated into the silicon chip.
Edullisesti, rinnakkaisprosessoriverkossa lähtövirran johtaminen solun lähtöpisteestä on sovitettu suoritettavaksi jokaiselle naapurisolulle toisistaan erillisistä transistoreista .Preferably, in a parallel processor network, the derivation of the output current from the cell origin is adapted to be performed on each neighboring cell from distinct transistors.
Edullisesti, rinnakkaisprosessorin solun virtapeilien peilaussuhteet ovat kiinteät. Vaihtoehtoisesti, virtapeilien peilaussuhteet ovat ohjelmoitavat.Preferably, the mirror ratios of the current mirrors of the co-processor cell are fixed. Alternatively, the mirroring ratios of the power mirrors are programmable.
Keksinnön avulla saavutetaan huomattavia etuja tunnettuun tekniikkaan nähden, joista mainittakoon tässä yhteydessä mm. pieni tehonkulutus, pieni pinta-alatarve integroinnissa sekä laskennan nopeus.The invention provides considerable advantages over the prior art, of which, for example, e.g. low power consumption, low surface area for integration, and compute speed.
Piirrosten lyhyt selitysBrief Description of the Drawings
Keksintöä ja sen kohteita ja etuja kuvataan seuraavassa esimerkin omaisesti viittaamalla samalla oheisiin piirustuksiin.The invention and its objects and advantages will now be described, by way of example, with reference to the accompanying drawings.
;·: Kuvio 1 esittää tekniikan tason mukaista virtapeilikytkentää soluneuroverkossa solun toteuttamiseksi.Fig. 1 shows a prior art current mirror connection in a cellular neural network for implementing a cell.
Kuvio 2 esittää keksinnön yhden suoritusmuodon mukaisen verkon periaatekuvan.Figure 2 shows a principle view of a network according to one embodiment of the invention.
Kuvio 3 esittää keksinnön yhden suoritusmuodon mukaisen menetelmän lohkokaaviona.Figure 3 is a block diagram of a method according to one embodiment of the invention.
Kuviot 4a ja 4b esittävät keksinnön yhden suoritusmuodon mu-kaisen menetelmän taulukkomuodossa.Figures 4a and 4b show a method according to one embodiment of the invention in tabular form.
Kuvio 5 esittää tunnetun tekniikan mukaisen virtapeilin.Figure 5 shows a prior art current mirror.
„ 112884"112884
OO
Kuvio 6 esittää keksinnön yhden suoritusmuodon mukaisen vir-tapeilirakenteen.Figure 6 shows a viral mirror structure according to one embodiment of the invention.
Kuvio 7 esittää keksinnön toisen suoritusmuodon mukaisen vir-tapeilirakenteen.Figure 7 illustrates a viral mirror structure according to another embodiment of the invention.
Kuvio 8 esittää keksinnön kolmannen suoritusmuodon mukaisen virtapeilirakenteen.Fig. 8 shows a current mirror structure according to a third embodiment of the invention.
Kuvio 9a ja 9b esittävät symmetristä tilannetta solun naapureihin nähden kuvaavaa matriisia, ja siitä skaalauksen avulla saatavaa matriisia.Figures 9a and 9b show a matrix depicting a symmetric situation with respect to neighbors of a cell, and a matrix derived therefrom.
Kuvio 10 esittää vastusverkon osan.Figure 10 shows a portion of a resistor network.
Keksinnön yksityiskohtainen selitysDETAILED DESCRIPTION OF THE INVENTION
Keksinnön mukaisessa menetelmässä toteutetaan recurrent-topo-logiaa, jossa laskenta-asteen tulona on sekä feed-forward-tyyppiset tulot että myös määrätyt saman asteen lähtötiedot eli kertolaskuista saatavat summat. Tällaisen recurrent-tyyp-pisen verkon stabiilisuus sekä yleensäkin asettuminen lopul-; liseen arvoonsa ovat paljon vaikeampia analysoida takaisin-1 ; kytkennän takia. Yleensä recurrent-topologiassa ensimmäinen t t laskenta-aste on ainoa, ja siten laskenta-asteen lähtö on koko rakenteen lähtö. Eräs keksinnön mukainen etu tunnettuun i l <_ tekniikkaan nähden on, että recurrent-rakenteessa laskenta voidaan aloittaa silloin, kun laskentayksikölle kaikki tarpeellinen tulotieto on saatavilla.In the method according to the invention, a recurrent topology is implemented in which the input of the computation stage is both feed-forward type inputs as well as certain output data of the same degree, i.e. the sum of the multiplications. The stability of such a recurrent-type network, and generally settling down; are much harder to analyze back-1; because of the connection. In general, in recurrent topology, the first computation step t t is the only one, and thus the computation output is the output of the entire structure. One advantage of the invention over the known technology is that in the recurrent structure, computation can be started when all necessary input information is available to the computing unit.
Ennen kuin kuvan käsittely rinnakkaisprosessoriverkossa voi i alkaa, sen soluihin pitää ladata alkuarvot, jotka vastaavat prosessoitavan kuvan jotain ominaisuutta (esim. luminanssi). Eräs alkuarvojen lataustapa on käyttää erillistä anturiyksik- 112884 9 köä ja erillistä prosessorirakennetta, ja hoitaa informaation siirto näiden välillä leveillä väyläratkaisuilla. Eniten käytetty tapa ladata kuvainformaatio prosessoriverkkoon on kirjoittaa tämä tieto soluihin rivi kerrallaan. Kun kuva ladataan prosessoriverkkoon riveittäin tai vastaavasti, voidaan prosessoinnin nopeuttamiseen käyttää keksinnön mukaista ns. rullausta. Keksinnön mukaan kuvan alkuosan prosessointi tapahtuu samanaikaisesti kun loppuosaa kuvasta vielä ladataan prosessoriverkkoon.Before an image can be processed in a parallel processor network, it must be loaded into its cells with initial values that correspond to some feature of the image being processed (e.g., luminance). One way of loading the initial values is to use a separate sensor unit and a separate processor structure and handle the transfer of information between them with wide bus solutions. The most commonly used way of uploading image information to a processor network is to write this information one cell at a time. When the image is uploaded to the processor network on a line-by-line basis, or so, the so-called. taxiing. According to the invention, the processing of the first part of the image occurs simultaneously with the remaining part of the image being downloaded to the processor network.
Eräs segmentoinnin toteuttava algoritmi, jota voidaan käyttää keksinnön mukaisessa menetelmässä on esitetty artikkelissa A. Stoffels, T. Roska, L. 0. Chua, "Object-Oriented Image Analysis for Very-Low-Bitrate Video-Coding Systems Using the CNN Universal Machine", International Journal of Circuit Theory and Applications, Voi. 25, sivut 235-258, 1997, jonka sisältö katsotaan liitetyksi tähän selitykseen.One segmentation algorithm that can be used in the method of the invention is disclosed in A. Stoffels, T. Roska, L. 0. Chua, "Object-Oriented Image Analysis for Very-Low-Bit-Bit Video-Coding Systems Using the CNN Universal Machine" , International Journal of Circuit Theory and Applications, Vol. 25, pages 235-258, 1997, the contents of which are hereby incorporated by reference.
Segmentointialgoritmi alkaa kuvan alipäästösuodatuksella, jolla voidaan poistaa siirtolinjoilla yms. tulleita virheitä. Käsiteltävästä kuvasta voidaan poistaa tietyn tyyppistä kohinaa keksinnön mukaisella lineaarisella kaksiulotteisella ali- ’ ’· päästösuodattimella.The segmentation algorithm starts with low-pass filtering of the image, which can eliminate errors from transmission lines and the like. Certain types of noise can be removed from the image being processed with the linear two-dimensional sub-emission filter according to the invention.
» » ' ’ Eräs keksinnön mukaiseen ratkaisuun soveltuva rinnakkaispro- ··’ sessoriverkko on täyden kuvan levyinen, mutta korkeus on vain ···' murto-osa kuvan korkeudesta. Rinnakkaisprosessoriverkko on esitetty esimerkin omaisesti kuviossa 2. Alan ammattilaiselle on selvää, että keksinnön mukainen kuvan käsittely voidaan toteuttaa myös muun rakenteen omaavalla verkolla samalla pe-J; riaatteella, esimerkiksi vastustyyppisellä (resistiivisellä) verkolla.»» '' A parallel pro- cessor network suitable for the solution of the present invention is a full-width image, but the height is only ··· 'a fraction of the image height. The parallel processor network is illustrated by way of example in Figure 2. It will be clear to one skilled in the art that the image processing according to the invention may also be implemented on a network having another structure, at the same time pe-J; principle, such as a resistive network.
; Rinnakkaisprosessorirakenteen korkeuteen vaikuttaa se, kuinka monta 'aktiivista riviä' 201 (eli solurivit, joilta luetaan 112884 10 laskennan lopputulos) toteutetaan ja kuinka monta naapu-risoluriviä 202 vaikuttaa merkittävästi lopputulokseen. Naa-purisolurivien tarkoituksena on luoda aktiivisille soluri-veille samanlainen ympäristö kuin niillä olisi täydessä rin-nakkaisprosessoriverkossa. Näiden naapurisolurivien solut ovat identtisiä aktiivisten solurivien solujen kanssa. Kuinka monta naapurisoluriviä tarvitaan, on tapauskohtainen ja riippuu käytettävistä rinnakkaisprosessoriverkon painokertoi-mista. Kuvion mukaisessa ratkaisussa on käytetty naapurisolurivien lukumääränä 5 riviä, ja aktiivisten solurivien lukumääränä on käytetty 24 riviä. Aktiivisten solujen määrään vaikuttaa lähinnä ohjauksen toteuttaminen (mitä enemmän on rivejä, sitä vähemmän tarvitsee tehdä kirjoitusoperaatioita). Aktiivisten solurivien lisäksi rinnakkaisprosessoriverkkoa ympäröi joka puolella reunasolut, joiden tarkoituksena on tuottaa rinnakkaisprosessoriverkolle esimerkiksi ns. zero-flux ympäristö, jossa reunimmaisten solujen tulotiedot ja tilat on kopioitu reunasolujen vastaaviksi arvoiksi ja näin saadaan aikaan reunimmaisillekin soluille täysi naapuristo.; The height of the parallel processor structure is affected by how many 'active rows' 201 (i.e., cell rows reading the result of the computation of 112884 10) are implemented and how many adjacent cell rows 202 significantly influence the result. The purpose of Naa purge cell lines is to create an environment for active cellular cells similar to that they would have in a full rin-crawler network. The cells in these neighboring cell lines are identical to those in the active cell line. How many neighbor cell rows are required is case by case and depends on the weight coefficients of the parallel processor network used. The solution in the figure uses 5 rows of neighboring cell rows and 24 rows of active cell rows. The number of active cells is mainly influenced by the execution of control (the more lines there are, the fewer write operations are required). In addition to the active cell lines, the parallel processor network is surrounded on all sides by peripheral cells, which are intended to provide the parallel processor network with, for example, so-called. a zero-flux environment where the input data and states of the outermost cells are copied to the corresponding values of the peripheral cells, thus providing a complete neighborhood for the outermost cells.
Keksinnön mukaisen rinnakkaisprosessoriverkon toiminta voidaan kuvata kiertävänä prosessina, jonka osan kuvaus tässä ; "* tapauksessa on esitetty kuvion 3 lohkokaaviossa. Kuvaus alkaa '* tilanteessa, jossa luetaan tulotiedot 11 ensimmäiselle ri- ; ‘ ville 301. Tulotiedot luetaan ainakin osittain rivin solujen fyysisestä muistista. Riippuen siitä, ollaanko käsiteltävän ...· kuvan alussa vai keskivaiheilla, viiteen ensimmäiseen riviin kirjoitetaan tulotiedot eri paikasta. Jos prosessi on kuvan ,,,· alussa, viidelle ensimmäiselle riville tulee sama informaatio kuin kuudennelle riville (eli kuvan ensimmäinen rivi). Jos taas prosessi on kuvan keskivaiheilla, näille ensimmäisille J". riveille tulee edellisellä kierroksella saadut lopputulokset , viideltä viimeiseltä aktiiviselta soluriviltä.The operation of the parallel processor network according to the invention can be described as a circulating process, a part of which is described herein; "* is illustrated in the block diagram of Figure 3. The description begins with '* in the case of reading the input data for first 11 rows 301. The input data is read at least in part from the physical memory of the cells in the row. If the process is at the beginning of the image ,,, ·, the first five lines will have the same information as the sixth line (ie the first line of the image). If the process is in the middle of the image, these first J '. the rows show the results of the previous round, the last five active cell rows.
112884 11112884 11
Samanaikaisesti kun luetaan 12. rivin tulotiedot rinnakkais-prosessoriverkkoon, aloitetaan kuudennen rivin lopputuloksen evaluointi (eli laskenta) 302, joka tarkoittaa, että rivien 1-11 solujen laskenta aloitetaan, jolloin niiden tiloihin alkaa vaikuttaa naapuriston tilat. Tämän jälkeen seuraavalla latauksen kellonjaksolla luetaan 13. rivin tulotiedot ja aloitetaan 12. rivin laskenta 303, jolloin rivit 1-12 ovat mukana evaluoinnissa. Seuraavalla kellonjaksolla taas luetaan tulotiedot seuraavasta rivistä (eli rivi 14) ja aloitetaan 13. rivin laskenta 304. Samalla luetaan myös rivien 6, 7, 8 lähtötiedot seuraavaan vaiheeseen 304. Luettaessa tulotietoa 15. riville aloitetaan laskenta 14. riville, lopetetaan laskenta 1. riville ja luetaan seuraavaan vaiheeseen rivien 7, 8, 9 lähtötiedot 305. Tämä toiminta on myös esitetty kuviossa 4. Kuvion mukainen rullaus pyörii kuusi kertaa (kun kuvan korkeutena käytetään 144 pikseliä, ja kun käytetään 24 aktiivista soluriviä), kunnes ollaan kuvan lopussa, jolloin luetaan viimeisen rivin tulotiedot kuvasta viimeisen aktiivisen rivin lisäksi myös viiteen naapurisoluriviin (vastaa kuvan alussa suoritettua toimenpidettä).While reading the input data of the 12th row to the parallel processor network, the evaluation (i.e., counting) of the result of the sixth row is started 302, which means that the counting of the cells of rows 1-11 is started and their states begin to be affected. Thereafter, in the next download clock period, the input data for row 13 is read, and counting 303 for row 12 is started, with rows 1-12 being involved in the evaluation. In the next clock period, the input data is read from the next line (i.e., line 14) and the 13th line count 304 is started. At the same time, the starting data for the rows 6, 7, 8 is read to the next step 304. and reading to next step the output data 305 of rows 7, 8, 9. This operation is also shown in Figure 4. The scrolling in the figure rotates six times (using 144 pixels in height and 24 active cell rows) until the end of the image to read Last line input information from the image to the last active row, as well as to five neighboring cell rows (equivalent to the action at the beginning of the image).
Koska keksinnön mukaisen alipäästösuodatuksen tulos tulee '· ’·’ valmiiksi rivi kerrallaan, voidaan seuraava vaihe algoritmis-'· '! sa suorittaa samanaikaisesti kuin alipäästösuodatus. Tämä on • ’ mahdollista, mikäli operaatio tässä seuraavassa vaiheessa on ’...· sellainen, että vain lähimmät naapurit vaikuttavat lopputu- i « · ...’ lokseen. Alipäästöosasta luetaan kolme riviä yhtäaikaa seuraavaan vaiheeseen, jolloin saadaan seuraavan vaiheen loppu-tulos valmiiksi miltei saman aikaisesti kuin alipäästösuoda-tus on suoritettu.Since the result of the low-pass filtering according to the invention becomes' · '·' one line at a time, the next step of the algorithm '·'! you perform at the same time as low pass filtering. This is possible if the operation in this next step is "... · such that only the nearest neighbors affect the end of the" · ... ". The low pass section reads three lines simultaneously to the next step, whereby the end result of the next step is completed almost at the same time as the low pass filtering is performed.
"*. Kuviossa 5 on esitetty tekniikan tason mukainen virtapeili, , joka on rakenne, jonka tulo- ja lähtösuure on virta. Kuviossa NMOS-transistorit 501 ja 502 muodostavat kyseisen virtapei- ·' Iin. Peilin lähtövirta 14 riippuu tulovirrasta kaavan K*I4 = 112884 12 13 mukaan. Tässä 13 on peilin tulovirta ja K on peilaussuhde, joka saadaan transistorien (501 ja 502) dimensioiden suhteesta K = (W2*L1)/(L2*W1), jossa W1 ja W2 ovat vastaavien transistorien (501 ja 502) leveydet ja LI ja L2 ovat pituudet. Virtapeilillä voi olla useita lähtövirtoja, joista jokainen toteutetaan erillisellä komponentilla. Kuviossa NMOS-virtapeilillä on kaksi lähtövirtaa (14 ja 15), transistorien 502 ja 503 nieluvirrat. Virtapeili voidaan toteuttaa myös PMOS-transistoreilla."*. Figure 5 illustrates a prior art current mirror which is a structure with input and output quantities current. In the figure, NMOS transistors 501 and 502 form the current mirror. The output current 14 of the mirror depends on the input current of the formula K * I4 = 112884 12 13. Here 13 is the mirror input current and K is the reflection ratio obtained by the ratio of the transistors (501 and 502) dimensions K = (W2 * L1) / (L2 * W1), where W1 and W2 are the corresponding transistors (501 and 502). ) widths and L1 and L2 are lengths The current mirror may have multiple output currents, each implemented by a separate component, In the figure, the NMOS current mirror has two output currents (14 and 15), the drain currents of transistors 502 and 503.
Kuviossa 6 esitetään keksinnön mukainen virtapeilirakenne, jolla voidaan toteuttaa alipäästösuodatus yhden pikselin osalta. Keksinnön mukaisessa rakenteessa on vain kaksi virta-peiliä, joista ensimmäinen virtapeili 601 koostuu transistoreista 602 ja 603, ja toinen virtapeili 604 transistoreista 605 ja 606. Virtapeileissä olevat transistorit voivat olla esim. NMOS-transistoreita tai PMOS-transistoreita. Keksinnön mukaisen ratkaisun kannalta ei ole väliä onko ensimmäisessä ja toisessa virtapeilissä kaksi NMOS- vai PMOS-transistoria, vaan että nämä virtapeilit käsittävät erilaiset transistorit. Jos ensimmäinen virtapeili käsittää kaksi (tai useampia) NMOS-transistoreita, tulisi toisessa virtapeilissä olla kaksi ’· (tai useampia) PMOS-transistoreita, ja päinvastoin. Ensimmäi- '· '·' sessä virtapeilissä 601 peilaussuhde on K3:1.Fig. 6 shows a current mirror structure according to the invention for implementing low pass filtering per pixel. The structure of the invention has only two current mirrors, the first current mirror 601 consisting of transistors 602 and 603 and the second current mirror 604 consisting of transistors 605 and 606. The transistors in the current mirrors may be e.g. NMOS transistors or PMOS transistors. For the solution according to the invention, it does not matter whether the first and second current mirrors have two NMOS or PMOS transistors, but that these current mirrors comprise different transistors. If the first current mirror comprises two (or more) NMOS transistors, the second current mirror should have two '· (or more) PMOS transistors, and vice versa. The primary power mirror 601 has a K3: 1 mirror ratio.
Solun tulopiste 607 vastaanottaa tulovirran, joka on naapu- risoluilta ja solun muistista tulevien lähtövirtojen summa (Iin). Solun muistista tulevaa tietoa on merkitty I6:lla. So-...· lun muisti voi olla joko integroitu piisirulle tai solulla voi olla ns. ulkoinen muisti. Transistorin 602 nielu toimii solun tulopisteen 607 kautta saatavan lähtövirran ensimmäisen ; ··. virtapeilin 601 tulopisteenä. Ensimmäinen virtapeili on sovi-. tettu skaalaamaan tulopisteen lähtövirran, jonka jälkeen ensimmäisen virtapeilin 601 lähtövirta johdetaan mainittuun ' 1 toiseen virtapeiliin 604, jonka peilaussuhteena on 1:K4. En- 112884 13 simmäisen virtapeilin 601 lähtöpiste on yhdistetty suoraan toisen virtapeilin 604 tulopisteeseen.The cell entry point 607 receives an input current which is the sum (Iin) of the output currents from the neighboring cells and from the cell memory. Information from the cell's memory is labeled I6. So -... · lun memory can either be integrated on a silicon chip or the cell may have a so-called. external memory. The drain of transistor 602 acts on the first of the output current received through the cell entry point 607; ··. as an entry point for the power mirror 601. The first power mirror is fitted. then scaled to an output current of the first current mirror 601 to said second current mirror 604 having a mirror ratio of 1: K4. The start point of the en-112884 13 first power mirror 601 is connected directly to the input point of the second power mirror 604.
Toinen virtapeili on sovitettu skaalaankaan ensimmäisen virta-peilin lähtövirta. Virtapeilin 604 lähtövirta (lout), joka on transistorin 606 nieluvirta, johdetaan vastaaviin naapuripro-sessorien (ei esitetty kuviossa) tulopisteisiin. Keksinnön mukaisesti ensimmäisen prosessointirakenteen toisen virtapeilin lähtöpiste on edullisesti yhdistetty suoraan toisen prosessointirakenteen ensimmäisen virtapeilin tulopisteeseen. Toisella virtapeilillä 604 on useita lähtötransistoreita, joista yksi 606 on esitetty kuviossa 6, joiden lähtövirrat (lout) johdetaan vastaaviin naapuriprosessorien tulopisteisiin. Lähtöpisteiden lukumäärä on (N).The second current mirror is also scaled to the output current of the first current mirror. The output current (lout) of the current mirror 604, which is the drain current of the transistor 606, is applied to the respective input points of the neighboring processors (not shown). According to the invention, the starting point of the second current mirror of the first processing structure is preferably connected directly to the entry point of the first current mirror of the second processing structure. The second current mirror 604 has a plurality of output transistors, one of which 606 is shown in Fig. 6, the output currents (lout) of which are applied to respective input points of neighboring processors. The number of starting points is (N).
Keksinnön mukaista rinnakkaisprosessoriverkkoa (ja sen solua) verrataan laskuissa vastusverkkoon, joka on alan ammattimiehen tuntema, ja jossa RO tarkoittaa vakiopotentiaalin (maa) vastusta, Rl tarkoittaa naapurisolujen vastuksien suuruutta, G0 tarkoittaa vakiopotentiaalin vastusta vastaavaa konduk-tanssia, ja G1 tarkoittaa naapurisolujen vastusta vastaavaa konduktanssia. Virtapeilirakenteen suodattimen siirtofunktio ; määrätään peilaussuhteilla K3 ja K4. Mikäli (K3-N*K4)/K4 = • '· G0/G1 = R1/R0 virtapeilisuodattimen siirtofunktio paikan suh- ‘ teen vastaa vastusverkon siirtofunktiota. Kun käytetään keksinnön mukaista edullista virtapeilirakennetta saadaan virta-··' muotoinen tulos 608, jonka ensimmäinen virtapeili on skaalannut tulovirrasta, ja joka on luettavissa transistorin 609 nielusta. Tämä on eräs keksinnön etu tekniikan tasoon nähden. Peilaussuhteet K3 ja K4 voivat olla joko kiinteitä tai ne voivat olla ohjelmoitavia riippuen siitä vaatiiko algoritmi yhden vai useamman eri suodatusoperaation. Kiinteitä peilaus-T . suhteita käytettäessä, laskentakertoimen suuruus perustuu ! transistorien geometrioiden suhteeseen. Rinnankytkentäraken- teen voi myös tehdä ohjelmoitavaksi, jolloin ohjaussignaalit 14 Ί12884 ovat digitaalisia päälle/pois-logiikalla toimivia. Nämä kont-rollisuureet määräävät kytkinten avulla, mitkä rinnankytketyistä rakenteista vaikuttavat rakenteen lähtöön.The parallel processor network (and its cell) of the invention is compared in calculations to a resistor network known to a person skilled in the art and wherein RO represents constant potential (earth) resistance, R1 represents the resistance of neighboring cells, G0 represents the conductance corresponding to constant potential, . Current mirror structure filter transfer function; is determined by the mirror ratios K3 and K4. If (K3-N * K4) / K4 = • '· G0 / G1 = R1 / R0 the position transfer function of the current mirror filter corresponds to the transfer function of the resistor network. Using the preferred current mirror structure of the present invention, a current ·· 'result 608, scaled from the input current by the first current mirror and readable from the throat of transistor 609, is obtained. This is an advantage of the invention over the prior art. The mirroring ratios K3 and K4 may be either fixed or programmable depending on whether the algorithm requires one or more different filtering operations. Fixed mirroring T. When using relationships, the magnitude of the calculation factor is based! the geometry of transistors. The parallel structure can also be made programmable so that the control signals 14 Ί 12884 are digital with on / off logic. These control variables determine by means of switches which of the parallel structures affect the output of the structure.
Keksinnön etuina on, että se sallii myös paikan suhteen epäsymmetriset rakenteet (edellä on esitetty ainoastaan symmetrinen) sekä negatiivisten konduktanssien korvaamisen virta-peilirakenteella.The invention has the advantage that it also allows for position-asymmetric structures (only symmetrical above) and for the replacement of negative conductances by a current-mirror structure.
Keksinnön mukaisesti rinnakkaisprosessoriverkon solut edullisesti integroidaan piisirulle siten, että jokainen solu on sovitettu vastaanottamaan virtoja useammasta naapurisolusta ja/tai lähettämään virtoja useampaan naapurisoluun.According to the invention, the cells of the parallel processor network are preferably integrated into a silicon chip so that each cell is adapted to receive streams from several neighboring cells and / or to send streams to several neighboring cells.
Kuviossa 7 on esitetty keksinnön toisen suoritusmuodon mukainen virtapeilirakenne, jossa oletetaan että konduktanssit ovat positiivisia. NMOS-virtapeiliin 701, joka koostuu transistoreista 702 ja 703, tuleva virta Isum on kolmen virran summa ja voidaan ilmaista lausekkeella Isum = l8*Ka + I9*Kb + 16, jossa virrat 18 ja 19 vastaavat jännitteitä VI ja V2 vas-tusverkkotapauksessa. Kolmen virran summa muodostetaan kuvion 7 mukaisessa rakenteessa virroista 18, joka johdetaan virta-; "· peilistä 705 (joka käsittää transistorit 706 ja 707), 19, • joka johdetaan virtapeilistä 708 (joka käsittää transistorit : ’ 709 ja 710), ja 16, joka voidaan johtaa joko piisirulle in- ···’ tegroidusta muistista tai ulkoisesta muistista. Tilasuure 17 ...‘ on NMOS-virtapeilin 710 lähtövirta, joka voidaan johtaa kuvion 7 tapauksessa kahden transistorin lähtöpisteistä (tran-,,,· sistorit 703 ja 704) seuraavien laitteiden tulopisteisiin (voivat olla joko seuraava virtapeili tai seuraava solu), joka voidaan myös kirjoittaa muotoon 17 = Isum/K5 = (I8*Ka + ”. I9*Kb + 16)/K5. Tästä havaitaan, että kyseisen lähtövirran ’ , muoto on samaa muotoa kuin vastaavanlaisessa vastusverkossa (VO = (V1*G1 + V2*G2 + I)/(G0 + G1 + G2)).Fig. 7 shows a current mirror structure according to another embodiment of the invention, in which it is assumed that the conductances are positive. The current to Isum in the NMOS current mirror 701 consisting of transistors 702 and 703 is the sum of three currents and can be expressed by Isum = 18 * Ka + I9 * Kb + 16, where currents 18 and 19 correspond to voltages VI and V2 in the resistive network case. The sum of the three currents is formed in the structure of Fig. 7 from the currents 18 which are led by a current; "· From a mirror 705 (comprising transistors 706 and 707), 19, • which is derived from a current mirror 708 (comprising transistors: '709 and 710), and 16, which may be derived either from the integrated memory of the silicon chip or from external memory The state variable 17 ... 'is the output current of the NMOS current mirror 710 which can be derived in the case of Fig. 7 from the output points of the transistors (transistors, 703 and 704) of the two transistors to either the following current mirror or the next cell. can also be written in the form 17 = Isum / K5 = (I8 * Ka + ". I9 * Kb + 16) / K5. Here we find that the output current ', has the same form as the corresponding resistor network (VO = (V1 * G1 + V2) * G2 + I) / (G0 + G1 + G2)).
112884 15112884 15
Jotta virta 17 vastaisi arvoltaan vastusverkon laskennan tulosta VO, tulisi virtapeilien vastussuhteet valita sopivasti. Tässä tapauksessa valitaan Ka = Gl, Kb = G2, K5 = GO + G1 + G2. Koska konduktanssien Gl ja G2 suhteet konduktanssiin GO määräävät vastusverkon siirtofunktion paikan suhteen, pitää määritellä peilaussuhteet konduktanssisuhteiden avulla. Tämän toteuttamiseksi oletetaan, että Gl = G2, jolloin saadaan Ka = Kb = Gl, K5 = GO + 2*G1.In order for the current 17 to correspond to the value of the resistance network calculation VO, the resistances of the current mirrors should be appropriately selected. In this case, Ka = G1, Kb = G2, K5 = GO + G1 + G2 are selected. Since the ratios of the conductances G1 and G2 to the conductance GO determine the position of the transfer function of the resistor network, the reflection ratios must be determined by the conductance ratios. To accomplish this, it is assumed that G 1 = G 2 to give Ka = K b = G 1, K 5 = GO + 2 * G 1.
Tämän jälkeen jälkimmäisestä yhtälöstä ratkaistaan GO ja tulokseksi saadaan G0/G1 = (K5 - 2*G1)/G1 = (K5 - 2*Ka)/Ka. Samalla periaatteella virtapeilejä voidaan säätää vastaamaan vastusverkon kytkentätopologiaa, ja muuttamalla peilaussuh-teita voidaan virtapeilitoteutuksen siirtofunktio virittää vastaamaan vastusverkon siirtofunktiota.Then the GO equation is solved from the latter equation and the result is G0 / G1 = (K5 - 2 * G1) / G1 = (K5 - 2 * Ka) / Ka. By the same principle, the current mirrors can be adjusted to correspond to the resistor network switching topology, and by changing the mirroring ratios, the current mirror implementation transfer function can be tuned to the resistor network transfer function.
Edellä esitetyssä suoritusmuodossa oletettiin, että kaikki vastusverkon konduktanssiarvot ovat positiivisia. Kuitenkin joissakin sovelluksissa tarvitaan negatiivisia konduktansseja yhdistämään solmupisteitä. Kuviossa 8 on esitetty virtapeili-kaavio, jossa edellä esitetyn suoritusmuodon tapauksessa kon-duktanssi Gl on negatiivinen, jolloin konduktanssin GO läpi ' '· kulkeva virta voidaan kirjoittaa muodossa V0*G0 = (VO - J VI)*|Gl| + (V2 - V0)*G2 + I, josta voidaan ratkaista VO, joka : ’: on VO = (-V1*|Gl| + V2*G2 + I)/(G0 - |Gl| + G2) . Tässä tapauksessa negatiivisen konduktanssin vaikutus toteutetaan ...· johtamalla naapuritilan 110 vaikutus tilaan 17 virtapeilin 801, joka käsittää 3 transistoria (802, 803 ja 804), kautta. Tällöin, koska summa Isum2 = K6*I10 = (Κβ/Kal) *I10_1 saadaan I10_l = Kal*I10. Tällöin Isum3 = -I10*Kal + Ill*Kbl + 16, ja 17 = Isum3/K6 = (-I10*Kal + Ill*Kbl + 16)/K6. Tämä viimeisin yhtälö voidaan taas sovittaa yhteen vastusverkon yhtälön ‘ , kanssa. Kuviossa 8 virtapeili 805, ja siihen liittyvät tran-) sistorit 806, 807 ja 808, vastaavat kuviossa 7 esitettyä vir- * tapeiliä 701, ja vastaavasti siihen liittyviä transistoreja 112884 16 702, 703 ja 704. Kuviossa 8 virtapeili 809, ja siihen liittyvät transistorit 810 ja 811, vastaavat kuviossa 7 esitettyä virtapeiliä 708, ja vastaavasti siihen liittyviä transistoreja 709 ja 710.In the above embodiment, it was assumed that all conductance values of the resistor network are positive. However, some applications require negative conductances to connect the nodes. Fig. 8 is a current mirror diagram in which, in the case of the above embodiment, the conductance G1 is negative, whereby the current flowing through the conductance GO '' · can be written in the form V0 * G0 = (VO - J VI) * | G1 | + (V2 - V0) * G2 + I from which can be solved VO which: 'is VO = (-V1 * | G1 + V2 * G2 + I) / (G0 - | G1 + G2). In this case, the effect of negative conductance is realized ... by directing the effect of neighbor state 110 to state 17 via a current mirror 801 comprising 3 transistors (802, 803 and 804). In this case, since the sum of Isum2 = K6 * I10 = (Κβ / Kal) * I10_1 is obtained I10_l = Kal * I10. In this case, Isum3 = -I10 * Kal + Ill * Kbl + 16, and 17 = Isum3 / K6 = (-I10 * Kal + Ill * Kbl + 16) / K6. This last equation can again be matched with the resistor network equation ''. In Fig. 8, the current mirror 805, and associated transistors 806, 807, and 808, correspond to the current mirror 701 shown in Fig. 7, and associated transistors 112884 16 702, 703, and 704, respectively. In Fig. 8, the current mirror 809 and associated transistors 810 and 811, respectively, correspond to the current mirror 708 shown in Fig. 7, and the associated transistors 709 and 710, respectively.
Kun soluneuroverkon kertoimet takaavat sen, että prosessoinnin aikana kaikki tilat pysyvät lineaarisella alueella, keksinnön mukaista virtapeilirakennetta voidaan käyttää so-luneuroverkkorakenteen toteuttamiseen. Tällainen soluneuro-verkkorakenne voidaan kuvata vastusverkkona, josta vastaavat peilaussuhteet lasketaan edellä esitettyjen periaatteiden mukaisesti .When the coefficients of the cellular neural network ensure that all states remain within a linear range during processing, the current mirror structure of the invention can be used to implement the cellular neural network structure. Such a cellular neural network structure may be described as a resistor network for which the corresponding mirror ratios are calculated according to the principles set forth above.
Koska vastusverkon siirtofunktio paikan suhteen riippuu ainoastaan konduktanssisuhteista, konduktanssiarvot voidaan skaalata siten, että jokin konduktanssiarvo on aina vakio, jolloin sitä ei tarvitse pystyä ohjelmoimaan. Tämä puolestaan merkitsee kiinteitä peilaussuhteita vastaavissa rakenteissa virtapeilitoteutuksessa, joka vähentää rakenteen ohjelmoita-vuustarvetta huomattavasti, mikäli siirtofunktio on paikan suhteen symmetrinen. Eräs yleinen suodatintopologia rinnak-kaisprosessoriverkon kertoimilla ilmaistuna on esitetty ku-; ’·' vion 9a matriisissa. Tämän matriisin kertoimet voidaan skaa-• lata vastaamaan kuviossa 9b esitettyä matriisia. Mikäli siis : ’ kerroinmatriisi on symmetrinen, voidaan naapureihin vaikuttavat kertoimet skaalata aina arvoltaan yhdeksi, ja tällöin, yhtä kerrointa, itsetakaisinkytkentää, säätämällä voidaan toteuttaa ohjelmoitavuuden rajoissa olevat kaikki siirtofunktiot.Since the position transfer function of the resistor network depends only on the conductance ratios, the conductance values can be scaled such that any conductance value is always constant, so that it need not be programmed. This, in turn, implies fixed mirror ratios in corresponding structures in a current mirror implementation, which greatly reduces the need for programming of the structure if the transfer function is symmetrical with respect to the location. One common filter topology, expressed as coefficients in a parallel processor network, is shown in FIG. '·' In the matrix of Figure 9a. The coefficients of this matrix can be scaled to correspond to the matrix shown in Fig. 9b. Thus, if: 'the coefficient matrix is symmetric, the coefficients affecting the neighbors can always be scaled to one value, and then, by adjusting one coefficient, the self-feedback, all the transfer functions within the programmable limits can be implemented.
Edellä esitetyissä suoritusmuodoissa on oletettu, että tulos ; on stabiloituneen rinnakkaisprosessoriverkon antama tulos.In the above embodiments, it is assumed that the result; is the result of a stabilized parallel processor network.
Kuitenkin, koska keksinnön yhden suoritusmuodon mukaisen rin-\ nakkaisprosessoriverkon lähtösuureet ovat koko ajan saatavilla virtamuodossa, voidaan rinnakkaisprosessoriverkon ti- 112884 17 lasta ottaa näytteitä myös laskennan aikana. Tulos ei tällöin välttämättä vastaa tunnetun tekniikan mukaisen lineaarisen vastusverkon antamaa tulosta, mutta silti tämäkin virtapeili-rakenteesta saatava tulos voi joissain sovelluksissa olla riittävä.However, since the output quantities of the parallel processor network according to one embodiment of the invention are always available in current form, the children of the parallel processor network may be sampled during the computation as well. The result may not necessarily correspond to the result of the linear resistor network according to the prior art, but still this result from the current mirror structure may be sufficient in some applications.
Keksinnön mukaisen menetelmän alipäästösuodatus voidaan toteuttaa myös esim. vastusverkolla, jonka osa on esitetty kuviossa 10. Vastusverkossa jokaista kuvayksikköä (pikseliä) vastaa yksi solmupiste, eli solu. Nämä solmupisteet on yhdistetty vakiopotentiaaliin (maa) vastuksilla, joiden suuruus on RO, ja vastaava konduktanssi G0 saadaan vastusarvon käänteis-lukuna GO = 1/R0. Lisäksi solmupisteet on yhdistetty naapu-risolmuihin vastuksilla joiden suuruus on Rl, ja vastaava konduktanssi G1 = 1/R1. Kuvainformaatio tuodaan solmupisteisiin esim. virtana, joka on verrannollinen kuvayksikön intensiteettiin. Säätämällä vastussuhdetta R0/R1, voidaan kontrolloida suodatuksen siirtofunktiota paikan suhteen. Normaalisti oletetaan, että kuvainformaatio pysyy samana tietyn ajan, jolloin vastusverkko ehtii asettua stabiiliin tilaan, jolloin , solmupisteiden jännitteet (Vx) on prosessoinnin tulos. Suoda- . t tus tapahtuu siis vain paikan suhteen, ei ajan. Kun suodatuk- * r ; * sen tulos on luettu muistiin, voidaan uusi kuvainformaatio • ’· tuoda suodattimeen muuttamalla virtalähteiden virrat vastaa-;t>’ maan uutta kuvainformaatiota.The low-pass filtering of the method according to the invention can also be implemented, for example, by a resistor network, a part of which is shown in Fig. 10. In the resistor network, each image unit (pixel) is represented by one node, i.e. a cell. These nodes are connected to a constant potential (earth) by resistors of magnitude RO, and the corresponding conductance G0 is obtained as the inverse of the resistance value GO = 1 / R0. In addition, the nodes are connected to neighboring nodes by resistors of magnitude R1 and the corresponding conductance G1 = 1 / R1. The image information is brought to the nodes, for example, in a current proportional to the intensity of the imaging unit. By adjusting the resistance ratio R0 / R1, the transfer function of the filtration can be controlled with respect to the position. Normally, it is assumed that the image information remains the same for a given time, when the resistor network is able to settle to a stable state, whereby the voltage (Vx) of the nodes is the result of processing. Filter. Therefore, education is only about place, not time. When the filter- * r; * its result is read into memory, new image information can be imported into the filter by changing the current of the power sources to match the new image information in the country.
Claims (19)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20001221A FI112884B (en) | 2000-05-22 | 2000-05-22 | Image processing in a parallel processor network, suitable network and cell |
EP01936485A EP1292915A1 (en) | 2000-05-22 | 2001-05-22 | Processing images in a parallel processor network |
AU2001262382A AU2001262382A1 (en) | 2000-05-22 | 2001-05-22 | Processing images in a parallel processor network |
PCT/FI2001/000496 WO2001091049A1 (en) | 2000-05-22 | 2001-05-22 | Processing images in a parallel processor network |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20001221 | 2000-05-22 | ||
FI20001221A FI112884B (en) | 2000-05-22 | 2000-05-22 | Image processing in a parallel processor network, suitable network and cell |
Publications (2)
Publication Number | Publication Date |
---|---|
FI20001221A FI20001221A (en) | 2001-11-23 |
FI112884B true FI112884B (en) | 2004-01-30 |
Family
ID=8558430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI20001221A FI112884B (en) | 2000-05-22 | 2000-05-22 | Image processing in a parallel processor network, suitable network and cell |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1292915A1 (en) |
AU (1) | AU2001262382A1 (en) |
FI (1) | FI112884B (en) |
WO (1) | WO2001091049A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2213011B (en) * | 1987-09-16 | 1991-09-25 | Philips Electronic Associated | A method of and a circuit arrangement for processing sampled analogue electricals |
US5155802A (en) * | 1987-12-03 | 1992-10-13 | Trustees Of The Univ. Of Penna. | General purpose neural computer |
DE68928385T2 (en) * | 1988-08-31 | 1998-02-12 | Fujitsu Ltd | NEURONIC CALCULATOR |
US5204549A (en) * | 1992-01-28 | 1993-04-20 | Synaptics, Incorporated | Synaptic element including weight-storage and weight-adjustment circuit |
KR100219036B1 (en) * | 1996-09-30 | 1999-09-01 | 이계철 | Low voltage MOSFET controlling multiplier |
-
2000
- 2000-05-22 FI FI20001221A patent/FI112884B/en not_active IP Right Cessation
-
2001
- 2001-05-22 WO PCT/FI2001/000496 patent/WO2001091049A1/en not_active Application Discontinuation
- 2001-05-22 EP EP01936485A patent/EP1292915A1/en not_active Withdrawn
- 2001-05-22 AU AU2001262382A patent/AU2001262382A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP1292915A1 (en) | 2003-03-19 |
AU2001262382A1 (en) | 2001-12-03 |
FI20001221A (en) | 2001-11-23 |
WO2001091049A1 (en) | 2001-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | A CMOS field-programmable analog array | |
US7098437B2 (en) | Semiconductor integrated circuit device having a plurality of photo detectors and processing elements | |
Wyatt et al. | The MIT vision chip project: Analog VLSI systems for fast image acquisition and early vision processing | |
CN112085186A (en) | Neural network quantitative parameter determination method and related product | |
CN112424798A (en) | Neural network circuit device, neural network processing method, and execution program of neural network | |
Sledevic | Adaptation of convolution and batch normalization layer for CNN implementation on FPGA | |
Higuchi et al. | Evolvable hardware chips for industrial applications | |
Ardakani et al. | Learning to skip ineffectual recurrent computations in LSTMs | |
Guzelis et al. | Recurrent perceptron learning algorithm for completely stable cellular neural networks | |
JPH10134033A (en) | Electronic device for performing convolution operation | |
FI112884B (en) | Image processing in a parallel processor network, suitable network and cell | |
Zarándy et al. | 2D operators on topographic and non‐topographic architectures—implementation, efficiency analysis, and architecture selection methodology | |
US11615300B1 (en) | System and method for implementing neural networks in integrated circuits | |
Ikenaga et al. | A DTCNN universal machine based on highly parallel 2-D cellular automata CAM/sup 2 | |
Yang | Analog CCD processors for image filtering | |
US10769527B2 (en) | Accelerating artificial neural network computations by skipping input values | |
Safarpour | Transport Triggered Array Processor for Vision Applications: Near-threshold Performance Loss Compensation Through Inherent Parallelism of Vision Array Processors | |
Landolt | An analog CMOS implementation of a Kohonen network with learning capability | |
Dudek | A Processing Element for an Analogue SIMD Vision Chip | |
Szczęsny et al. | FPAA accelerator for machine vision systems | |
US11755890B2 (en) | Local training of neural networks | |
Chen et al. | Design and VLSI implementation of real-time weighted median filters | |
CN209980298U (en) | Mixed signal binary system CNN processor | |
EP4309175A1 (en) | Enabling hierarchical data loading in a resistive processing unit (rpu) array for reduced communication cost | |
Cılasun et al. | An Inference and Learning Engine for Spiking Neural Networks in Computational RAM (CRAM) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM | Patent lapsed |