WO2011030848A1 - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
WO2011030848A1
WO2011030848A1 PCT/JP2010/065608 JP2010065608W WO2011030848A1 WO 2011030848 A1 WO2011030848 A1 WO 2011030848A1 JP 2010065608 W JP2010065608 W JP 2010065608W WO 2011030848 A1 WO2011030848 A1 WO 2011030848A1
Authority
WO
WIPO (PCT)
Prior art keywords
state value
voltage
phase
phase state
update
Prior art date
Application number
PCT/JP2010/065608
Other languages
English (en)
French (fr)
Inventor
隆 森江
秀樹 田中
悟 大久保
建治 松坂
Original Assignee
国立大学法人九州工業大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 国立大学法人九州工業大学 filed Critical 国立大学法人九州工業大学
Priority to JP2011530884A priority Critical patent/JP5435594B2/ja
Publication of WO2011030848A1 publication Critical patent/WO2011030848A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means

Definitions

  • the present invention relates to an image / signal processing technique for performing calculation based on spike / pulse timing.
  • Intelligent image recognition functions are required for applications such as robot vision, automobiles, and surveillance cameras. For this reason, various digital media processors have been proposed.
  • highly intelligent image processing and information processing as learned from the information processing function of the brain often requires time-varying (non-linear) calculations rather than simple product-sum operations.
  • the existing digital method cannot be executed efficiently.
  • the non-linear operation usually uses an SRAM-based look-up table in the digital method, the area efficiency is greatly reduced.
  • Non-patent Documents 2 and 3 an AD fusion method using a PWM signal that performs calculation by expanding information in an analog manner on the time axis.
  • This method is suitable for a parallel processing system that executes nonlinear dynamics operations because it can implement a product-sum operation and an arbitrary nonlinear operation with a small circuit, but it does not have high calculation efficiency because it performs discrete-time operations by synchronous operation.
  • Non-Patent Documents 1, 2, 3, and Patent Document 1 Non-Patent Documents 1, 2, 3, and Patent Document 1.
  • a Gabor filter is defined as a linear filter whose impulse response is represented by the product of a sin / cos function and a Gaussian function.
  • a Gabor filter (Gabor-Type Filter) refers to a filter having an impulse response of a Gabor filter or an impulse response approximate thereto.
  • FIG. 61 shows an example of a circuit model of a Gabor filter using a two-dimensional resistance network (FIG. 40 of Patent Document 1).
  • FIG. 61 shows a circuit for one node (one node and adjacent nodes). Each node is arranged at a lattice point on a square lattice. Each node consists of a combination of a real part node and an imaginary part node. V m, n r (m, n ⁇ integer) represents a real part node, and V m, n i (m, n ⁇ integer) represents an imaginary part node voltage (node voltage).
  • G 0 is the conductance between each node and the reference (ground) potential
  • G 1x is the conductance between the adjacent real part nodes or the adjacent imaginary part nodes
  • G 1y is the adjacent one in the vertical direction
  • G 2x is conductance between real part nodes and imaginary part nodes adjacent in the horizontal direction
  • G 2y is real part adjacent in the vertical direction. It represents the conductance between the node and the imaginary part node.
  • an initial value (for example, a voltage corresponding to the pixel value of the processed image) is given to the node voltage V m, n r of each real part node, and the current spreads to adjacent nodes as time passes.
  • a processed signal can be obtained by simultaneously detecting the node voltages at a certain time.
  • Takashi Morie, Satoshi Umezawa, and Satoshi Iwata “Gabor Filter Circuits Using Transient State of Resistor Networks”, IEICE Technical Report, NC2003-82, pp. 13-18, 11 November 2003. T. Morie, J. Umezawa, and A. Iwata, "A Pixel-Parallel Image Processor for Gabor Filtering Based on Merged Analog-Digital Architecture," in Symposium on VLSI Circuits, pp.212-213, 2004.
  • Takashi Morie, Kaoru Umezawa, Kaoru Iwata “Pixel-parallel Gabor Filter LSI with AD Fusion Circuit Method”, IEICE Technical Report, SDM2004-126 / ICD2004-68, August 19, 2004.
  • Kenji Dotani et al. “Information representation of the brain”, 1st edition, Asakura Shoten, March 20, 2002, pp. 87-97. Kawashima Shinsuke et al., “Global image segmentation and CMOS circuit realization using region-based coupled MRF model”, IEICE Technical Report, Japan, IEICE, March 2008, pp.49-54.
  • K. Matsuzaka and T. Morie "A Simplified Region-Based Coupled MRF Model for Coarse Image Region Segmentation Toward its VLSI Implementation", Proc. Of Int. Symp. On Nonlinear Theory and-LT , Sapporo, Japan, Oct. 18-21 (19), 2009.
  • the developed PWM method has a problem that it is difficult to increase the processing speed because of the synchronous operation. Further, as shown in FIG. 61, since a differential circuit is required, there is a problem that the circuit becomes complicated.
  • An object of the present invention is to solve the above problems, an information processing apparatus and an information processing method based on an asynchronous spike driving circuit model using an integral firing spiking neuron model or a spike driving phase oscillator model The purpose is to provide.
  • phase of the node (m, n) at time t is denoted as ( ⁇ m, n r (t), ⁇ m, n i (t)).
  • ⁇ m, n r (t) is a real part
  • ⁇ m, n i (t) is an imaginary part.
  • the real part and imaginary part of the phase of each node constantly change at the phase velocity ⁇ . That is, when the state value is not updated, the phase of each node is expressed as follows.
  • the node voltages V m, n r (t) and V m, n i (t) of the equations (1a) to (1d) are converted into the phase difference ⁇ m, n r (t) ⁇ b (t),
  • the phase update formula including the update of the state value of the node (m, n) is obtained as follows.
  • the real part and the imaginary part of the phase of each node are separated and regarded as separate nodes, and a unique index i (different from i representing the imaginary part) is attached to each node.
  • the phases ⁇ m, n r , ⁇ m, n i are expressed as ⁇ i , ⁇ j by the index i, j attached to the nodes.
  • Ni a set of nodes adjacent to the node i.
  • phase update formula (5a) including the status value update is rewritten as the following formula.
  • Equation (5b) is an equation in which the state value is updated in continuous time
  • the equation (5b) is invariant with respect to the shift of time t
  • the state value is updated so as to be updated in discrete time.
  • the reference phase theta b was sawtooth wave function of the period T of Equation (6c)
  • the time when the phase change is discontinuous by the phase of reset by mod operation occurs. If the state value is updated at this time, an incorrect update may occur. Therefore, avoiding this time, the state value is updated discretely at a timing in the middle of the period T of the sawtooth wave function, and the expression (5b) is rewritten as the following expression.
  • t s is the shift time to avoid time phase is reset by mod operation.
  • ⁇ (t) is a Dirac delta function.
  • the right-hand side of the update section G ik of formula (8) ( ⁇ i (t ) - ⁇ k (t)) the time is executed, from the time t s + t p, the time interval (t p (ik), t p + 1 (ik) ⁇ k between) (t) becomes zero time t pk ( ⁇ (t p ( ik), t p + 1 (ik)) to shift to).
  • the time at which the update term G 0 ( ⁇ i (t) ⁇ 0 (t)) is executed is also arbitrarily set between the time intervals (t p (i) , t p + 1 (i) ). Can be shifted.
  • phase update formula including the update of the state value of the Gabor filter expressed using the phase is expressed as follows.
  • phase ⁇ i (t) in the equation (10) can be differentiated at times other than the time when the phase is reset by the mod operation, and is expressed as the following equation when expressed in the differential form.
  • phase ⁇ i (t) can be expressed as follows.
  • Expressions (10) to (12) are not limited to the case where the arrangement of the nodes is a planar tetragonal lattice shape as shown in FIG. 61, but is similarly applied to, for example, the arrangement of nodes in a planar hexagonal lattice shape as shown in FIG. can do. Furthermore, the present invention is not limited to a two-dimensional node arrangement, and can be similarly applied to a one-dimensional or three-dimensional node arrangement.
  • each update term has a form G ik ⁇ f ( ⁇ i (t) ⁇ k (t)), G 0 ⁇ f ( ⁇ i (t) ⁇ 0 (t)).
  • f may be a linear function or a nonlinear function.
  • the update terms G ik ⁇ i (t) ⁇ (t ⁇ pk ) and G 0 ⁇ i (t) ⁇ (t ⁇ t p0 ) in the equations (10) to (12) are respectively ik ⁇ f ( ⁇ i (t)) ⁇ (t ⁇ t pk ), G 0 ⁇ f ( ⁇ i (t)) ⁇ (t ⁇ t p0 )
  • an integral firing type neuron is used at each node.
  • the variable ⁇ i representing the internal state of all neurons is assumed to increase at the same phase velocity ⁇ .
  • Each neuron i fires when the variable ⁇ i reaches a threshold V m corresponding to phase 0, and transmits a spike to the adjacent neuron.
  • the voltage ⁇ i is reset to the voltage V low corresponding to the minimum phase ⁇ min .
  • the variable ⁇ i is sequentially updated to (1 + G ik ) ⁇ i (t pk ). It should be noted that the update of the term including ⁇ 0 may be realized by inputting spikes with a constant period T to all neurons.
  • a first configuration of the information processing apparatus is an information processing apparatus having a node unit network in which a plurality of node units are interconnected in a grid pattern, Each node unit is Phase state value holding means for holding a phase state value representing the unique phase of the node unit; Phase advance means for changing the phase state value held by the phase state value holding means with time at a predetermined phase velocity ⁇ ; Phase restoration means for resetting the phase state value to a minimum phase state value that is a predetermined initial value when the phase state value held by the phase state value holding unit reaches a maximum phase state value that is a predetermined threshold value When, Trigger generating means for outputting an update trigger when the phase state value held by the phase state value holding means exceeds a predetermined zero phase state value indicating that the phase is zero; When the trigger generation unit of the adjacent node unit that is the adjacent node unit outputs the update trigger, the phase state held by the phase state value holding unit at that time according to the adjacent orientation of the adjacent node
  • Phase update means for updating the phase state value With Calculation is performed to update the phase state value of the node unit by a value proportional to the difference between the phase state value of the node unit and the phase state value of the adjacent contact unit, or a value obtained by converting the difference by the function f. It is characterized by that.
  • the phase state value of each node unit increases over time at a predetermined phase speed by the phase advance means, and when the phase state value reaches the maximum phase state value, the phase restoration means causes the minimum phase state to be reached. Reset to value. Accordingly, the phase state value changes as shown in Expression (6a) or Expression (7).
  • the trigger generating means outputs a trigger. That is, the time when the trigger is output by the trigger generating means is the time when the phase becomes zero.
  • the trigger generation unit of the adjacent node unit outputs a trigger (that is, when the phase of the adjacent node unit becomes 0)
  • the phase update unit determines its own phase state according to the adjacent position of the node unit.
  • the phase state value is updated by changing the value by a predetermined amount.
  • update equation shown in Equation (10) (excluding the update section G 0.) Operation is performed.
  • the present invention has been developed from Gabor type filter operation as described in “Background Art”, but the scope of the present invention is not limited to Gabor type filter operation, and the connection of node units is not limited. It is possible to apply to various cellular structure network operations by appropriately setting the manner, the update coefficient, and the method of setting the function f according to the application (see, for example, Embodiments 6 and 7).
  • a node unit network in which a plurality of node units are interconnected in a lattice shape means that the node units are arranged on lattice points such as a lattice having translational symmetry or a circularly symmetric lattice like a crystal structure.
  • lattice points such as a lattice having translational symmetry or a circularly symmetric lattice like a crystal structure.
  • Any lattice-like structure may be used, and various lattice network structures such as a tetragonal lattice shape, a hexagonal lattice shape, a trigonal lattice shape, and a circularly symmetric lattice are included.
  • the arrangement of the node units is not limited to the two-dimensional arrangement, and includes a one-dimensional arrangement and a three-dimensional arrangement.
  • the arrangement here is not a spatial arrangement but an abstract arrangement. That is, it refers to a spatially translationally symmetrical lattice-like arrangement and an arrangement having the same phase (same topology).
  • adjacent nodes or “adjacent node units” do not mean that they are spatially adjacent, and the phase does not pass through other nodes (node units) at the time of update.
  • the node A is spatially adjacent to the node O, but the node B is not spatially adjacent.
  • the phases of the node O and the node B interact with each other according to the equation (10) when the phase is updated, the node O and the node B are “adjacent nodes”.
  • the nodes O and C do not interact with each other when the phase is updated, they are not called “adjacent nodes”.
  • phase (phase value) refers to the phase (phase value) itself of each node (node unit).
  • state value refers to a difference obtained by subtracting the reference phase from the phase of each node (node unit).
  • reference phase refers to a phase that travels at the same angular velocity as the phase of each node (node unit) and that is not updated by the interaction of the phase between the nodes.
  • phase state value refers to a value representing the phase of each node, and may be a voltage value, a charge value, or the like in addition to the phase value itself. There is a one-to-one correspondence between the phase (phase value) and the phase state value.
  • the amount of the phase state value is not particularly specified.
  • physical quantities such as voltage, charge, and current can be used.
  • it is given as a variable representing the phase state value.
  • Changing with time at a constant phase velocity ⁇ means increasing with time or decreasing with time at the phase velocity ⁇ .
  • the “update coefficient set in advance by the adjacent direction” refers to G ik shown in Equation (10), for example.
  • the “predetermined function f” may be a linear function or a non-linear function.
  • phase state value holding means a capacitor that holds the phase state value as an electric charge, a resistance change memory element that holds the phase state value as a resistance value, or the like is used. be able to.
  • a capacitor for storing electric charge the use of a ferroelectric material, which has been in practical use in recent years, as a high-dielectric material allows the area occupied on the LSI chip to be reduced, miniaturization of elements, and high integration of circuits. Can be realized.
  • the meaning of using as a “high dielectric material” means that there is no hysteresis and a dielectric constant is 10 to 100 times that of a normal silicon oxide film by using a region in which a voltage-polarization characteristic is linear in a ferroelectric material. It can be used as a material that is twice or more expensive.
  • a resistance change type memory element called a memristor has been developed since the late 2000s. This is an element whose resistance changes in accordance with the integral amount of the current passed through the element. Therefore, if a region in which the change is linear is used, this element can also be a miniaturized storage element instead of a capacitor for storing electric charge.
  • the voltage generated at both ends of the element is read out by a known method by passing a current below the threshold value.
  • the held resistance value that is, the integrated value of the current
  • it can be used as a storage part of the “phase state value holding means” of the present invention.
  • the second configuration of the information processing apparatus is obtained by dividing the difference obtained by subtracting the minimum phase state value from the maximum phase state value by the average value of the phase speed ⁇ in the first configuration.
  • Self-update trigger generating means for outputting a self-update trigger at the basic period T, where time is the basic period T, Each node unit is When the self-update trigger generating means outputs the self-update trigger, a value obtained by multiplying the phase state value held by the phase state value holding means at that time by a preset self-update coefficient. Or a self-phase update means for updating the phase state value by changing the phase state value by a value converted by a predetermined function f set in advance by the adjacent azimuth. And
  • the trigger generation unit resets the phase state value held by the phase state value holding unit by the phase restoration unit.
  • the update trigger is output at a time point delayed by a predetermined delay time Td from the previous time point.
  • the phase at the time delayed by the predetermined delay time Td from the time when the phase state value is reset to the minimum phase state value is regarded as phase 0.
  • the trigger generating means outputs a trigger with a delay time Td from the time when the phase restoring means resets the phase state value to the minimum phase state value.
  • the phase update means updates its own phase state value by the trigger output of the trigger generation means of the adjacent node unit.
  • the update operation of Expression (10) is not strictly executed, but if each update coefficient G ik is small, an update operation approximately equivalent to Expression (10) may be executed. it can.
  • the phase state value holding unit holds a phase state value representing a unique phase of the node unit as a charge amount.
  • a capacitor for holding a state value is a current source that supplies a predetermined charging current to the phase state value holding capacitor,
  • the phase update unit is configured to switch between the terminals of the phase state value holding capacitors at that time according to the adjacent orientation of the adjacent node unit.
  • the state value update circuit charges or discharges the phase state value holding capacitor with an amount of charge proportional to a value obtained by converting middle by a predetermined function f.
  • the phase state value holding unit holds a phase state value representing a unique phase of the node unit as a charge amount.
  • a capacitor for holding a state value The phase advance means is a current source that supplies a predetermined charging current to the phase state value holding capacitor,
  • the phase restoring means includes A first comparator that receives a maximum value voltage V high corresponding to the maximum phase state value and an inter-terminal voltage V r of the phase state value holding capacitor, and outputs a voltage signal indicating a magnitude relationship between the two; When the output voltage of the first comparator is inverted to a state indicating that the inter-terminal voltage V r is larger than the maximum value voltage V high , the terminal potential of the phase state value holding capacitor is changed to the minimum phase.
  • the trigger generating means includes A second comparator for inputting a zero value voltage V middle corresponding to the zero phase state value and an inter-terminal voltage V r of the phase state value holding capacitor, and outputting a voltage signal indicating a magnitude relationship between the two; A trigger pulse generator for outputting a pulse as the update trigger when the output voltage of the second comparator is in a state indicating that the inter-terminal voltage V r is greater than the zero value voltage V middle ; Prepared, When the trigger pulse generator of the adjacent node unit outputs the update trigger, the phase update means, according to the adjacent orientation of the adjacent node unit, the inter-terminal voltage V r and the zero value at that time a difference voltage V r -V middle of the voltage V middle, the amount of charge proportional to the value obtained by multiplying a preset update coefficient by said adjacent azimuth, or the difference voltage V r -V middle a predetermined function f
  • the state value updating circuit includes A second comparator for inputting a zero value voltage V middle corresponding to the
  • the configuration of the state value update circuit is not particularly limited as long as it is a circuit that performs the above functions.
  • the state value update circuit is connected to each of the adjacent node units.
  • the update pulse generator includes a trigger pulse generator of the adjacent node unit corresponding to the update pulse generator, a positive value update circuit, and a negative value update circuit. When a pulse is output, a positive value pulse with a time width proportional to the update coefficient when the update coefficient is positive according to the sign of the update coefficient determined in advance with respect to the adjacent orientation of the adjacent node unit.
  • the circuit When the update coefficient is negative, the circuit outputs a negative pulse having a time width proportional to the update coefficient, and (b) each of the positive value update circuits updates the update of the corresponding adjacent node unit.
  • the positive pulse from pulse generator When the positive pulse from pulse generator is outputted, when the terminal voltage V r is greater than the zero-value voltage V middle, only time of the pulse width of the positive pulse, the phase state value holding When a current proportional to the difference between the terminal voltage V r and the zero value voltage V middle is supplied to the capacitor, and the terminal voltage V r is smaller than the zero value voltage V middle , A circuit that discharges a current proportional to the difference between the zero-value voltage V middle and the inter-terminal voltage V r from the phase state value holding capacitor for the duration of the pulse width of the positive value pulse, (c) When the negative value update circuit outputs the negative value pulse from the update pulse generator of the corresponding adjacent node unit and the inter-terminal voltage V r is larger than the zero value voltage V middle , the
  • the phase state value holding unit holds a phase state value representing a unique phase of the node unit as a charge amount.
  • a capacitor for holding a state value is a current source that supplies a constant predetermined charging current to the phase state value holding capacitor,
  • the trigger generating means includes The voltage V r between the terminals of the phase state value holding capacitor is input to one input terminal, and the maximum value voltage V high corresponding to the maximum phase state value or the zero phase state value is input to the other input terminal.
  • a comparator that inputs a reference voltage input voltage that is one of the zero-value voltages V middle and outputs a voltage signal indicating a magnitude relationship between the two;
  • a trigger pulse generator for outputting a pulse when the output voltage of the comparator enters a state indicating that the inter-terminal voltage V r is greater than the reference voltage input voltage;
  • the trigger pulse generator When the trigger pulse generator outputs a pulse, a pulse delay unit that generates a delayed pulse obtained by delaying the pulse;
  • the reference voltage input voltage input to the other input terminal of the comparator is alternately switched between the maximum value voltage V high and the zero value voltage V middle.
  • a reference voltage input voltage switching circuit An output switch circuit that outputs the pulse as the update trigger when the trigger pulse generator outputs a pulse in a state where the reference voltage input voltage is the zero value voltage V middle ,
  • the phase restoration means shuts off the current source and applies current to the phase state value holding capacitor.
  • the phase update means When the trigger pulse generator of the adjacent node unit outputs the update trigger, the phase update means, according to the adjacent orientation of the adjacent node unit, the inter-terminal voltage V r and the zero value at that time an amount proportional to the value of the difference voltage V r -V middle or the difference voltage V r -V middle converted in a predetermined function f and voltage V middle, the value obtained by multiplying a preset update coefficient by said adjacent azimuth , Or an amount of charge proportional to a value obtained by converting the difference voltage V r ⁇ V middle by a predetermined function f is supplied to the phase state value holding capacitor or charged from the phase state value holding capacitor or It is a state value update circuit for discharging.
  • the phase state value holding unit holds a phase state value representing a unique phase of the node unit as a charge amount.
  • a capacitor for holding a state value The phase advance means is a current source that supplies a predetermined charging current to the phase state value holding capacitor,
  • the trigger generating means includes An input voltage switching circuit for switching an input voltage to any one of the phase state value voltage V r , a zero value voltage V middle corresponding to the zero phase state value, or a maximum value voltage V high corresponding to the maximum phase state value; Is a zero offset capacitor connected to the input voltage switching circuit, an inverter whose input side terminal is connected to the other end of the zero offset capacitor, and a zero offset setting switch connected between the input and output terminals of the inverter A chopper comparator with a circuit; A trigger pulse generator for outputting a spike pulse at an edge of a pulse output from the inverter of the chopper type comparator; When the trigger pulse generator output
  • the phase update means When the update trigger is output from the trigger pulse generator of the adjacent node unit, the phase update means, according to the adjacent orientation of the adjacent node unit, the inter-terminal voltage V r and the zero The amount of charge proportional to the value obtained by multiplying the difference voltage V r -V middle from the value voltage V middle by the update coefficient set in advance by the adjacent direction, or the difference voltage V r -V middle is a predetermined function f.
  • the state value update circuit charges or discharges the phase state value holding capacitor with an amount of charge proportional to the value converted in step (1).
  • the phase state value holding unit holds a phase state value representing a unique phase of the node unit as a charge amount.
  • the phase advance means is a current source that supplies a predetermined charging current to the phase state value holding capacitor
  • the phase restoring means includes A comparator that receives a maximum value voltage V high corresponding to the maximum phase state value and an inter-terminal voltage V r of the phase state value holding capacitor, and outputs a voltage signal indicating a magnitude relationship between the two; When the output voltage of the comparator is inverted to indicate that the inter-terminal voltage V r is greater than the maximum value voltage V high , the terminal voltage of the phase state value holding capacitor is set to the minimum phase state value.
  • a reset circuit for resetting to the corresponding minimum voltage V low When the output voltage of the comparator is inverted to a state indicating that the inter-terminal voltage V r is greater than the maximum value voltage V high , the trigger generating means delays by a predetermined time from the inversion time. It has a delayed pulse generator that outputs pulses,
  • the phase update means includes an update pulse generator, a positive value update circuit, and a negative value update circuit provided corresponding to each of the adjacent node units.
  • the phase update means When the delayed pulse generator of the adjacent node unit outputs the delayed pulse, the phase update means, according to the adjacent direction of the adjacent node unit, the inter-terminal voltage V r and the zero value at that time a difference voltage V r -V middle of the voltage V middle, the amount of charge proportional to the value obtained by multiplying a preset update coefficient by said adjacent azimuth, or the difference voltage V r -V middle a predetermined function f
  • the state value updating circuit charges or discharges the phase state value holding capacitor with an amount of charge proportional to the converted value.
  • the reconfiguration program according to the present invention is a reconfiguration program for a programmable logic device, and the logic circuit is reconfigured in the programmable logic device based on the reconfiguration program, so that any one of claims 1 to 3
  • the information processing apparatus according to claim 1 is reconfigured.
  • the phase that periodically changes is held in each node unit as a variable representing the state quantity of each node, and the phase state value of the adjacent node is 0.
  • the phase update means updates the state value of the central node when the difference is reached, so that the difference circuit is unnecessary and the circuit can be simplified.
  • each node unit can be operated asynchronously, the processing speed can be increased as compared with the conventional method.
  • FIG. 1 is a diagram illustrating an overall configuration of an information processing apparatus according to a first embodiment of the present invention.
  • 2 is a diagram showing a configuration of a node unit network 2.
  • FIG. It is a figure showing the internal structure of the pixel array 13 of FIG.
  • FIG. 3 is a diagram illustrating an overall configuration of each node unit 6.
  • It is a block diagram showing the internal structure of the real part node unit 7 (and imaginary part node unit 8).
  • FIG. 8 is a timing diagram of signals input to each switch and each node of the spike neuron circuit 20 of FIG. 7. It is a figure showing the structure (a) and operation
  • FIG. 3 is a diagram illustrating an overall configuration of a state value update circuit 27 of a real part node unit 7 and an imaginary part node unit 8.
  • FIG. 11A is a circuit diagram showing the configuration of the positive pulse update circuit 35 of FIG. 10,
  • FIG. 11B is a voltage-current characteristic diagram, and FIGS.
  • FIG. 11 is a circuit diagram showing a configuration of (a) the negative pulse update circuit of FIG.
  • FIG. 11 is a circuit diagram illustrating another configuration example of the positive pulse update circuit 35 in FIG. 10.
  • 14 is a timing chart showing the operation of each part of the circuit of FIG.
  • FIG. 11 is a circuit diagram illustrating another configuration example of the negative pulse update circuit 36 of FIG. 10.
  • 16 is a timing chart showing the operation of each part of the circuit of FIG.
  • This is a configuration example of a circuit in which a positive pulse update circuit 35 and a negative pulse update circuit 36 are combined. It is a figure showing an example (a) of the circuit structure of the state value pulse generation circuit 40 in the output part 4, and its operation
  • FIG. 10 It is a figure which shows the structure of the spike neuron circuit 20 of the real part node unit 7 and the imaginary part node unit 8 in the information processing apparatus which concerns on Example 3 of this invention.
  • 24 is a timing chart showing the operation of each part of the spike neuron circuit 20 of FIG.
  • It is a block diagram showing the internal structure of the real part node unit 7 (and imaginary part node unit 8) of the information processing apparatus which concerns on Example 4.
  • FIG. It is a figure showing the structure (a) and operation
  • movement (b) of the delay pulse generator 21 of FIG. 10 is a timing chart showing the operation of the selector-equipped pulse generators 23, 24, 25, and 26 in Embodiment 4.
  • FIG. 10 is a diagram illustrating an overall configuration of each node unit 6 of an information processing apparatus according to a fifth embodiment. It is a block diagram showing the internal structure of the real part node unit 7 (and imaginary part node unit 8). It is a flowchart showing the progress / update process of each phase in each real part node unit 7 and imaginary part node unit 8 of the information processing apparatus according to the embodiment.
  • 6 is a flowchart showing a flow of phase state value update processing in each node unit 6; 6 is a flowchart showing a flow of phase state value update processing in each node unit 6;
  • FIG. 5 illustrates a neural network model of a one-dimensional region-based coupled MRF. It is a graph of functions A, B, C, and D.
  • FIG. It is a figure which shows the structure of the node unit network 2 in Example 6.
  • FIG. It is a figure which shows time function A (t), B (t), S (t), and C (t).
  • 44 is a time chart showing an operation example of A function arithmetic circuits 71a and 71b in FIG. 43. It is a circuit diagram which shows the structural example of B function calculating circuit 72a, 72b. 46 is a time chart illustrating an operation example of the B function calculation circuits 72a and 72b in FIG. 3 is a circuit diagram illustrating a configuration example of a C function arithmetic circuit 75 and an S function arithmetic circuit 76.
  • FIG. 48 is a time chart showing an operation example of the C function calculation circuit 75 and the S function calculation circuit 76 in FIG. 47.
  • 42 is a diagram illustrating a circuit configuration of an A / S function arithmetic circuit 77 in FIG. 41.
  • FIG. 41 is a diagram illustrating a circuit configuration of a B / C function calculation circuit 73 (B / C function calculation circuits 73a, 73b, 73c, 73d) of FIG. 40.
  • FIG. 41 is a circuit diagram showing a configuration example of a pulse update circuit 74 (pulse update circuits 74a, 74b, 74c, 74d) in FIG. 40 and a pulse update circuit 78 (pulse update circuits 78a, 78b, 78c, 78d) in FIG. It is a time chart showing arithmetic operation of information processor 1 of this example. It is explanatory drawing of the motion detection process based on radial propagation of neuron activity.
  • FIG. 58 is a diagram showing a neuron cell in the CA1 net connected to one neuron cell (m, n) in the CA3 net (CA3 (u)) of FIG. 57.
  • FIG. FIG. 57 is a diagram showing a circuit configuration of each node unit CA3 ( ⁇ ) (m, n) in the four CA3 nets of FIG. 56. 22 is a time chart illustrating the operation of each node unit CA1 ( ⁇ ) (m, n) of the information processing apparatus according to the sixth embodiment. It is an example of a circuit model of a Gabor type filter (GaborGaType Filter) by a two-dimensional resistance network. It is another example of the circuit model of the Gabor type filter (GaborGaType Filter) by the two-dimensional resistance network.
  • planar quadratic lattice Gabor filter operation described in equations (13a) to (13d) is configured so that it can be operated at high speed by an analog circuit.
  • FIG. 1 is a diagram illustrating the overall configuration of the information processing apparatus according to the first embodiment of the present invention.
  • the information processing apparatus 1 includes a node unit network 2, a reference phase generation unit 2 a, an input unit 3, an output unit 4, and an overall control unit 5.
  • the node unit network 2 has a network structure in which a plurality of node units (described later) are interconnected in a translationally symmetric lattice.
  • the reference phase generator 2a generates a reference phase signal.
  • the input unit 3 sets an initial value of the phase state value in each node unit of the node unit network 2.
  • the output unit 4 outputs the phase state value of each node unit of the node unit network 2.
  • the overall control unit 5 sets parameters such as an update coefficient and a pulse delay amount in each node unit of the node unit network 2 and controls the operation of these node units.
  • FIG. 2 is a diagram showing the configuration of the node unit network 2.
  • FIG. 3 is a diagram showing the internal configuration of the pixel array 13 of FIG.
  • FIG. 4 is a diagram illustrating the overall configuration of each node unit 6.
  • each node unit 6 includes a real part node unit 7 and an imaginary part node unit 8.
  • the node unit 6 corresponds to each node that holds the state value of the two-dimensional Gabor filter.
  • the real part node unit 7 is a part that holds and updates the real part of the state value of the node
  • the imaginary part node unit 8 is a part that holds and updates the imaginary part of the state value.
  • the node unit network 2 includes M ⁇ N node units 6 arranged in N rows and M columns. As shown in FIG. 2, the node units 6 are arranged in a plane tetragonal lattice pattern. This is called a pixel array 13. As shown in FIG. 3, each node unit 6 is coupled to four node units 6 that are adjacent vertically and horizontally. Hereinafter, the node unit 6 in the n-th row and the m-th column is referred to as “node unit U m, n ”.
  • the node unit network 2 includes a column selector 14 and two drivers 15 and 16 as shown in FIG.
  • the driver 15 is a driver for applying a voltage corresponding to the self-update coefficient G 0 to each node unit 6 in all columns of the pixel array 13.
  • a common column selection signal line 9 (see FIG. 4) is connected to the node unit 6 of each column of the pixel array 13. There are a total of M column selection signal lines 9.
  • the column selector 14 selects a column of the pixel array 13 by inputting a column selection signal for designating a selected column to any one of the column selection signal lines 9 of each column (set to H level). I do.
  • a common initial value input line 10 is connected to the real part node unit 7 in each row of the pixel array 13. There are N initial value input lines 10 in total. Each initial value input line 10 receives an initialization signal for setting an initial value of the phase state value from the input unit 3. Prior to executing the Gabor type filter operation, after the overall control unit 5 selects a column by the column selector 14, the input unit 3 receives the phase state value of the real part node unit 7 in each row from each initial value input line 10. The initial value of the phase state value can be set in each real part node unit 7 by inputting the initial value (initialization signal).
  • a common real part external output line 11 and an imaginary part external output line 12 are connected to the real part node unit 7 and the imaginary part node unit 8 in each row of the pixel array 13, respectively. Yes.
  • the real part external output line 11 and the imaginary part external output line 12 also have N lines in total.
  • Each real part external output line 11 and each imaginary part external output line 12 are connected to the output part 4 via a driver 16.
  • the driver 16 outputs a spike pulse spk_f that is output when the real part node unit 7 and the imaginary part node unit 8 in each row in the column selected by the column selector 14 are fired.
  • 4 is an output buffer.
  • the configuration of the node unit network 2 is not limited to this, depending on the purpose.
  • various network structures such as a three-way lattice shape and a hexagonal lattice shape can be adopted.
  • each node unit 6 receives a pulse (update trigger or self-update trigger) as shown in Table 1 from each adjacent node unit 6.
  • the “adjacent node orientation” column indicates the orientation (viewed from the node unit U m, n ) of the adjacent node unit U m ′, n ′ that outputs a pulse (update trigger) to the node unit U m, n of interest.
  • “upper” indicates the adjacent node unit U m ⁇ 1, n .
  • the “adjacent node type” column represents the type (“real part node unit 7” or “imaginary part node unit 8”) of the adjacent node unit U m ′, n ′ that outputs a pulse.
  • the node unit U m, the left adjacent node unit to n U m-1, n term real nodal unit 7 updates -G 1x ⁇ m, n r ( t) ⁇ (t p (m-1, n)
  • r ⁇ [t, t + ⁇ t]) is output, if the update coefficient G 1x is positive (ie, -G 1x is negative), the pulse R_left_m_gx1 is input to the node unit U m, n Is done.
  • g0_p and g0_m at the bottom of Table 1 are pulses (self-update triggers) that are commonly input to all the node units U m, n , and are self-update coefficients of the equations (13c) and (13d) ⁇ If G 0 is negative g0_m is, when the self-update coefficient -G 0 is positive g0_p it is input.
  • Each node unit 6 outputs a pulse (update trigger or self-update trigger) as shown in Table 2 to each adjacent node unit 6.
  • the “adjacent node orientation” column indicates the orientation (viewed from the node unit U m, n ) of the adjacent node unit U m ′, n ′ that outputs a pulse (update trigger) from the node unit U m, n of interest.
  • the “adjacent node type” column represents the type (“real part node unit 7” or “imaginary part node unit 8”) of the adjacent node unit U m ′, n ′ that outputs a pulse.
  • the leading “R” or “I” indicates whether the output (R) of the real part node unit 7 or the output (I) of the imaginary part node unit 8.
  • "Left”, “right”, “top”, and “bottom” from the top represent the adjacent directions in which the trigger pulse is input, "left” is the left adjacent, “right” is the right adjacent, and "top” Represents a trigger pulse input from the adjacent node unit 6 adjacent to the upper adjacent and “bottom”.
  • the third “p” and “m” from the beginning represent the positive and negative of the trigger pulse (that is, the sign of the update coefficient G ik ), and “p” is positive and “m” is negative.
  • Gx1”, “gx2”, “gy1”, and “gy2” at the end indicate the types of update coefficients multiplied by the trigger pulse, where “gx1” is G 1x , “gx2” is G 2x , “ “gy1” indicates that G 1y is multiplied, and “gy2” indicates that G 2y is multiplied.
  • R_left_p_gx1” represents an input pulse obtained by multiplying the positive trigger pulse output from the left adjacent real part node unit 7 by the update coefficient G 1x .
  • the leading “R” or “I” represents whether the output is the output (R) of the real part node unit 7 or the output (I) of the imaginary part node unit 8.
  • the second “OUT” from the beginning indicates that the trigger pulse is an output pulse.
  • the third “P” and “M” from the beginning represent the positive / negative of the trigger pulse (that is, the sign of the update coefficient G ik ), and “P” is positive and “M” is negative.
  • Gx1”, “gx2”, “gy1”, and “gy2” at the end indicate the types of update coefficients multiplied by the trigger pulse, where “gx1” is G 1x , “gx2” is G 2x , “ “gy1” indicates that G 1y is multiplied, and “gy2” indicates that G 2y is multiplied.
  • I_OUT_M_gy2” represents an output pulse obtained by multiplying the negative trigger pulse output from the imaginary part node unit 8 by the update coefficient G 2y .
  • FIG. 5 is a block diagram showing the internal configuration of the real part node unit 7 of FIG. Since the internal configuration of the imaginary part node unit 8 is the same as this, only the real part node unit 7 will be described here as a representative.
  • the real part node unit 7 (imaginary part node unit 8) includes a spike neuron circuit 20, a delay pulse generator 21, an update permission switch 22, pulse generators with selectors 23, 24, 25, and 26, a state value update circuit 27, And column selection switches 28 and 29 are provided.
  • the spike neuron circuit 20 functions as a phase state value holding unit that holds a phase state value unique to the real part node unit 7 (imaginary part node unit 8), and also uses the phase state value held by the phase state value holding unit. Phase advancement that changes with time at a constant phase speed ⁇ , phase recovery that resets the phase state value to the minimum phase state value when the phase state value held by the phase state value holding unit reaches the maximum phase state value And trigger generating means for firing and outputting an update trigger when the phase state value exceeds the zero phase state value.
  • the spike neuron circuit 20 outputs a spike pulse spk_f when ignited, and the spike pulse spk_f is input to the pulse generators 23, 24, 25, 26 with a selector via the update permission switch 22.
  • the update permission switch 22 is configured by an AND circuit, one input is connected to the output of the spike neuron circuit 20, and the update permission signal update_ena output from the overall control unit 5 is input to the other input.
  • the update permission switch 22 transmits the spike pulse spk_f output from the spike neuron circuit 20 to the pulse generators 23, 24, 25, and 26 with selector, and the update permission signal update_ena is When it is at L level, it is not transmitted. Thereby, it is possible to switch whether or not to update the state value.
  • the trigger pulse having a pulse width proportional to the magnitude of the update coefficient G 1x (updated trigger) R_OUT_P_gx1, R_OUT_M_gx1
  • trigger pulse (updated trigger) R_OUT_P_gx2 having a pulse width proportional to the magnitude of G 2x, R_OUT_M_gx2, a trigger pulse having a pulse width proportional to the magnitude of the G 1y (updated trigger) R_OUT_P_gy1, R_OUT_M_gy1, the magnitude of G 2y
  • Trigger pulses update trigger
  • R_OUT_P_gy2 R_OUT_M_gy2 with a pulse width proportional to are output.
  • the state value update circuit 27 When each trigger pulse is input from the adjacent node unit 6, the state value update circuit 27 has a phase held by the phase state value holding means in the spike neuron circuit 20 according to the sign and pulse width of the trigger pulse. The state value is updated by increasing or decreasing the state value.
  • the pulse generators 23, 24, 25, and 26 with the selector and the state value update circuit 27 cooperate to cause the trigger generation means of the adjacent adjacent node unit to output a trigger (update trigger).
  • a trigger update trigger
  • the state value of the state value is changed by changing the phase state value held at that time by a value obtained by multiplying the phase state value by the update coefficient preset by the adjacent direction according to the adjacent direction of the adjacent node unit. It functions as a phase update means for updating.
  • FIG. 6 is a diagram showing a configuration example (a) of the spike neuron circuit 20 of the real part node unit 7 and the imaginary part node unit 8 and its operation (b).
  • the spike neuron circuit 20 shown in FIG. 6 includes a phase state value holding capacitor C 0 , two current sources I 1 and I 2, two comparators CMP 1 and CMP 2, two trigger pulse generators PG 1 and PG 2, and three switches. Circuits S1, S2, and S3 are provided.
  • phase state value holding capacitor C 0 One end of the phase state value holding capacitor C 0 is grounded, and the other end is connected to the output node n 1.
  • Current source I1 is connected to a phase state value holding capacitor C 0 through the output node n1, and the other terminal is connected to a power source through the switching circuit S1.
  • the switch circuit S2 has one end connected to the output node n1, and the other end to which a minimum value voltage V low that is a voltage corresponding to the minimum phase value (minimum phase value) ⁇ min is input.
  • the comparator CMP1 has a positive-side input terminal connected to the output node n1, and a negative-side input terminal that receives the maximum value voltage V high .
  • the maximum value voltage V high is a voltage corresponding to the maximum value (maximum phase value) ⁇ max of the phase, and is generated and input by the overall control unit 5.
  • the output of the comparator CMP1 is connected to the control terminals of the switch circuits S1 and S2 via the trigger pulse generator PG1.
  • the pulse width generated by the trigger pulse generator PG1 determines the time required to discharge the capacitor charge and set it to V low .
  • the comparator CMP2 has a positive input terminal connected to the output node n1 and a zero value voltage Vmiddle input to the negative input terminal.
  • the zero value voltage V middle is a voltage indicating that the phase is zero, and is generated and input by the overall control unit 5.
  • the output of the comparator CMP2 is connected to the trigger pulse generator PG2.
  • the trigger pulse generator PG2 is a circuit that outputs a spike pulse spk_f having a short duration at the rising edge of the pulse waveform output from the comparator CMP2.
  • the output side of the trigger pulse generator PG2 is connected to the output terminal of the spike neuron circuit 20.
  • Current source I2 has one end connected to the phase state value holding capacitor C 0 through the output node n1, and the other end is connected to a power source through the switching circuit S3.
  • An initial value input line 10 is connected to the control terminal of the switch circuit S3.
  • the switch circuit S3 is in a closed state when the initialization signal input from the input unit 3 is at the H level, and is in an open state when the initialization signal is at the L level.
  • the switch circuit S2 is opened, and the switch circuit S1 is closed.
  • a constant charging current I s is supplied to a phase state value holding capacitor C 0
  • the phase state value the voltage V r of the output node n1 starts to increase at a constant gradient. That is, the phase ⁇ changes with ⁇ min + ⁇ t.
  • V r ⁇ V middle the output voltage of the comparator CMP2 is L level.
  • the output voltage of the comparator CMP2 is inverted from L level to H level.
  • the trigger pulse generator PG2 outputs a short spike pulse spk_f at the rise of the output voltage of the comparator CMP2. That is, the spike neuron circuit 20 “fires”.
  • update period ( ⁇ max ⁇ min ) / ⁇
  • FIG. 7 is a diagram showing another configuration example of the spike neuron circuit 20 of the real part node unit 7 and the imaginary part node unit 8.
  • the spike neuron circuit 20 shown in FIG. 7 includes a phase state value holding capacitor C 0 , two current sources I 1 and I 2, two comparators CMP 1 and CMP 2, two trigger pulse generators PG 1 and PG 2, and a switch circuit S 1.
  • S2 and S3, buffer circuits BUF1, BUF2 and BUF3, and inverters INV3 and INV4 are provided.
  • the comparator CMP1 includes a capacitor C 3 , an inverter INV1, and switch circuits S4, S5, and S6.
  • the comparator CMP2 includes a capacitor C 4 , an inverter INV2, and switch circuits S7, S8, and S9.
  • components corresponding to those in FIG. 6 are denoted by the same reference numerals as in FIG.
  • the node n1 of the circuit of FIG. 7 is connected to the output terminal of the state update circuit 27, and the node n10 (the output node of the trigger pulse generator PG2) is the column selection switch 29 and the update. It is connected to one input terminal of the permission switch 22 (see FIG. 5).
  • the comparators CMP1 and CMP2 are designed as chopper comparators having a sample hold function.
  • FIG. 8 is a timing chart of signals input to each switch and each node of the spike neuron circuit 20 of FIG. FIG. 8 shows an operation in a steady state in which no current is input / output from the state update circuit 27 to the output node n1 (the state value is not updated).
  • the operation of the spike neuron circuit 20 of FIG. 7 will be described with reference to FIG.
  • phase 1 First, in phase 1, it is assumed that the output voltage spk_r of the comparator CMP1 is at the H level. At this time, the switch circuits S2, S5, S6, S8, and S9 are closed (connected), and the switch circuits S1, S4, and S7 are opened (disconnected).
  • the switch circuit S1 is opened, the supply of current from the current source I1 to the node n1 is stopped.
  • the switch circuit S2 is closed, the phase state value the voltage V r of the node n1 becomes the minimum voltage V low.
  • the switch circuit S4 is open and the switch circuit S5 is to closed, the voltage V 3 of the input-side node n3 of the capacitor C 3 becomes the maximum voltage V high.
  • the switch circuit S6 When the switch circuit S6 is closed, the input node n4 and the output node n5 of the inverter INV1 are connected to have the same potential, and the voltages V 4 and V 5 of the nodes n4 and n5 are the threshold voltage V th1 of the inverter INV1, respectively. It becomes.
  • the switch circuit S9 to closed, it is connected the input node n8 of the inverter INV2 and the output node n9 is the same potential, the node n8, voltage V 8, V 9 of n9 are each threshold value of the inverter INV2 The voltage becomes V th2 .
  • the output of the trigger pulse generator PG2 is at the L level.
  • Phase 2 At time t 1, the output voltage spk_r the comparator CMP1 shifts to falling phase 2 up to the L level.
  • the switch circuits S2, S5, S6, S8, and S9 are in an open state, and the switch circuits S1, S4, and S7 are in a closed state.
  • Switching circuit S5 switch circuit S4 is then closed path by open, to the input side node n3 of the capacitor C 3, the phase state value the voltage V r of the node n1 is applied.
  • the switch circuit S7 is by the switch circuit S8 is closed is opened, to the input side node n7 of the capacitor C 4, the phase state value the voltage V r of the node n1 is applied.
  • the voltages V 4 and V 8 become V low ⁇ (V high ⁇ V th1 ) and V low ⁇ (V middle ⁇ V th2 ), respectively, at time t 1 . Accordingly, the outputs V 5 and V 9 of the inverters INV1 and INV2 become H level (V high ).
  • the switch circuit S1 is then closed, the current supply to the node n1 is started by the current source I1.
  • the phase state value the voltage V r of the node n1 is increased at a constant gradient toward the maximum value voltage V high the minimum voltage V low.
  • the voltages V 4 and V 8 of the nodes n4 and n8 also rise with the same gradient from V low ⁇ V middle and V low , respectively.
  • Phase 3 In time t 2, the voltage V 8 of the node n8 is reaches the threshold voltage V th2 of the inverter INV2, the output voltage V 9 of the inverter INV2 is inverted to L level (V low), the process proceeds to Phase 3. In phase 3, with the fall of the output voltage V 9 of the inverter INV2, spike pulses of a certain duration from the trigger pulse generator PG2 (t 3 -t 2) is output to the output voltage Spk_f. At this time, the switching circuits are not switched, and the voltages V r , V 3 , V 4 , V 7 and V 8 continue to rise with a constant gradient.
  • Phase 4 In phase 4, the output of the trigger pulse generator PG2 returns to the L level again, and the voltages V r , V 3 , V 4 , V 7 , V 8 continue to rise with a constant gradient.
  • Phase 1 At time t 4, the voltage V 4 of node n4 is reaches the threshold voltage V th1 of the inverter INV1, the output voltage V 5 of the inverter INV1 is inverted to L level (V low), the process proceeds to phase 5. In phase 5, with the fall of the output voltage V 5 of the inverter INV1, spike pulses of a certain duration from the trigger pulse generator PG1 (t 5 -t 4) is output to the output voltage Spk_r.
  • the switch circuits S2, S5, S6, S8, and S9 are closed (connected), and the switch circuits S1, S4, and S7 are opened (disconnected).
  • the switch circuit S4 is open and the switch circuit S5 is to closed, the voltage V 3 of the node n3 is the maximum voltage V high.
  • the switch circuit S7 is to closed is opened and the switch circuit S8, the voltage V 7 of the node n7 is zero value voltage V middle.
  • FIG. 9 is a diagram illustrating the configuration (a) and the operation (b) of the pulse generators 23, 24, 25, 26 with selectors of the real part node unit 7 and the imaginary part node unit 8.
  • the pulse generators with selectors 23, 24, 25, and 26 include p-type field effect transistors (MOSFETs) M1 and M2, n-type field effect transistors M3, inverter circuits 30 and 31, a NOR circuit 32, and a demultiplexer 33. I have.
  • Update coefficient voltages V g for determining the magnitudes of the update coefficients G 1x , G 2x , G 1y , and G 2y are input to the gates of the transistors M2 of the selector-equipped pulse generators 23, 24, 25, and 26, respectively. Is done.
  • the update coefficient voltage Vg is generated in the overall control unit 5 and is input to all the node units 6 in common.
  • a spike pulse spk_f output when the spike neuron circuit 20 fires is input to the gates of the transistors M1 and M3 via the update permission switch 22.
  • the inverter circuits 30 and 31 are connected in series.
  • the input side of the inverter circuit 30 is connected to a common connection node (hereinafter referred to as “intermediate node n2”) of the transistors M2 and M3, and the output side of the inverter circuit 31 is NOR.
  • intermediate node n2 common connection node
  • a spike pulse spk_f output when the spike neuron circuit 20 fires is directly input to the other input terminal of the NOR circuit 32.
  • the output terminal of the NOR circuit 32 is connected to the input terminal of the demultiplexer 33.
  • An update coefficient code signal sign that determines the sign (positive / negative) of the update coefficients G 1x , G 1y , G 2x , and G 2y is input to the selection control input terminal of the demultiplexer 33.
  • the update coefficient code signal “sign” is generated in the overall control unit 5 and is input to all the node units 6 in common.
  • Two output terminals of the demultiplexer 33 are output terminals OUT_P and OUT_M of the pulse generators 23, 24, 25, and 26 with selectors.
  • the demultiplexer 33 selects the output terminal OUT_P as the output destination when the update coefficient code signal sign represents “positive” (here, H level), and the update coefficient code signal sign represents “negative”. (L level here) selects the output terminal OUT_M as the output destination.
  • the voltage Vc of the node on the output side of the inverter circuit 31 (hereinafter referred to as “intermediate node n3”) is H level, and the voltage of the node on the output side of the NOR circuit 32 (hereinafter referred to as “intermediate node n4”).
  • OUT_PM is at L level. Accordingly, the voltages at the output terminals OUT_P and OUT_M are also at the L level.
  • the transistor M1 When the spike neuron circuit 20 is ignited and the spike pulse spk_f rises to the H level, the transistor M1 is turned off and the transistor M3 is turned on, so that the parasitic capacitance between the intermediate node n2 and the ground plane is instantaneously discharged.
  • the voltage of n2 is 0.
  • the voltage Vc at the intermediate node n3 As the voltage at the intermediate node n2 becomes 0, the voltage Vc at the intermediate node n3 also becomes L level.
  • the spike pulse spk_f is at the H level, the voltage OUT_PM of the intermediate node n4 that is the output voltage of the NOR circuit 32 remains at the L level.
  • the voltage OUT_PM of the intermediate node n4 that is the output voltage of the NOR circuit 32 becomes the H level.
  • the transistor M1 is turned on again, the transistor M3 is turned off, via the transistors M1, M2, rises from the power supply charge flows into the intermediate node n2, until the voltage of the intermediate node n2 becomes the power supply voltage V 0 To do.
  • the time where the voltage of the intermediate node n2 rises from zero to V 0 is controlled by the gate voltage of the transistors M2, it depends on the update coefficient voltage V g.
  • the output voltage of the inverter circuit 30 and the inverter circuit 31 is switched at the moment when the voltage of the intermediate node n2 exceeds the threshold voltage of the inverter circuit 30, the voltage Vc of the intermediate node n3 becomes H, and the output voltage of the NOR circuit 32
  • the voltage OUT_PM at the intermediate node n4 is again at the L level.
  • the pulse width t g is dependent on the size of the update coefficient voltage V g.
  • the position on the time axis of the output pulse of the intermediate node n4 represents the time when the phase ⁇ exceeds 0, and the pulse width t g of the output pulse has the update coefficients G 1x , G 1y , G 2x , G 2y. Will represent.
  • the demultiplexer 33 switches the output direction of the output pulse output to the intermediate node n4 according to the update coefficient code signal sign.
  • the signs of the update coefficients G 1x , G 1y , G 2x , G 2y are positive, an output pulse with a pulse width t g is output to the output terminal OUT_P, and the update coefficients G 1x , G 1y , G 2x , G 2y are negative when the output pulse of the pulse width t g is outputted to the output terminal OUT_M.
  • the output terminal OUT_P is connected to the input terminal R_top_p_gy1, R_bottom_p_gy1, _R_right_p_gx1, R_left_p_gx1, I_top_p_gy2, I_bottom_p_gy2, I_right_p_gx2, gI_left_p_gx2 of the state value update circuit 27.
  • the output terminal OUT_M is connected to one of the input terminals R_top_m_gy1, R_bottom_m_gy1, R_right_m_gx1, R_left_m_gx1, I_top_m_gy2, I_bottom_m_gy2, I_right_m_gx2, I_left_m_gx2 of the state value update circuit 27.
  • FIG. 10 is a diagram illustrating the entire configuration of the state value update circuit 27 of the real part node unit 7 and the imaginary part node unit 8.
  • State value update circuit 27 the input pulse when the sign of the update coefficient is positive g0_p, R_left_p_gx1, R_left_p_gx2, I_left_p_gx1, I_left_p_gx2, R_right_p_gx1, R_right_p_gx2, I_right_p_gx1, I_right_p_gx2, R_top_p_gy1, R_top_p_gy2, I_top_p_gy1, I_top_p_gy2, R_bottom_p_gy1, R_bottom_p_gy2, I_bottom_p_gy1 , I_bottom_p_gy2 corresponding to each of the 17 positive pulse update circuits 35, and each input pulse g0_m, R_top_m_gy1, R_top_m_gy2, I_top
  • each positive pulse update circuit 35 and each negative pulse update circuit 36 are either one of the pulse generators 23, 24, 25, and 26 with selectors of the node units 6 and 7 that output the corresponding input pulses, respectively. Connected to output terminal OUT_P.
  • the input side terminals of each positive pulse update circuit 35 and each negative pulse update circuit 36 are connected in common to the output node n 1 of the spike neuron circuit 20.
  • FIG. 11 is a circuit diagram showing the configuration of (a) the positive pulse update circuit 35 of FIG. 10, (b) a voltage-current characteristic diagram, and (c) and (d) showing the operations.
  • an output pulse OUT_P output from the pulse generators 23, 24, 25, and 26 with selectors of the adjacent node unit 6 is input.
  • the output pulse OUT_P output from the selector-equipped pulse generator provided in the overall control unit 5 is input from the input terminal OUT_P of the positive pulse update circuit corresponding to the input terminal G0_p.
  • a selector pulse generator provided in the overall controller 5 also has the same structure as FIG. 9, from the selector with the pulse generator, the output pulses corresponding to the update coefficient G 0 is output.
  • the positive pulse update circuit 35 includes a p-type field effect transistor M4, an n-type field effect transistor M5, and switch circuits S4 and S5.
  • Switch circuit S4, transistor M4, transistor M5, and switch circuit S5 are connected in series in this order between the power supply and the ground plane.
  • the level of the input OUT_P of the positive pulse update circuit 35 is H level, the switch circuits S4 and S5 are closed, and when the level is L level, the switch circuits S4 and S5 are opened.
  • the transistors M4 and M5 are diode-connected. That is, the gates of the transistors M4 and M5 are connected to the output node n1, which is a common connection node of the drains of the transistors M4 and M5.
  • the voltage-current characteristic of this circuit is as shown in FIG.
  • the phase state value voltage V r varies between 0 and the power supply voltage V 0 .
  • the drain current of the transistor M4 changes as shown by a curve indicated by I M4 in FIG. 11B
  • the drain current of the transistor M5 changes according to the curve indicated by I M5 in FIG. To change.
  • FIG. 11B regarding the direction of current, the direction flowing into the output node n1 is positive and the direction flowing out from the output node n1 is negative.
  • Drain current I M4 of the transistor M4 the phase state value the voltage V r of the output node n1 becomes the maximum when the 0, decreases as the phase state value the voltage V r is increased, the phase state value the voltage V r is the power supply voltage V 0 is 0.
  • the drain current I M5 transistor M5 is zero when the phase state value the voltage V r is 0 the output node n1, and increases as the phase state value the voltage V r is increased, the power supply phase state value the voltage V r The voltage V 0 is the maximum.
  • the voltage-current characteristic of the drain current I M5 of the transistor M5 has a form in which the left and right sides of the voltage-current characteristic of the drain current I M4 are inverted and the polarity is inverted.
  • the current I total flowing into and out of the output node n1 as a whole of the positive pulse update circuit 35 is the sum of the voltage-current characteristics of the drain currents I M4 and I M5 , as shown in FIG. become.
  • the current I total is linearized as shown in FIG. 11B by adjusting the voltage-current characteristics of the drain currents I M4 and I M5 by adjusting the sizes of the transistors M4 and M5.
  • the current I total flowing into and out of the output node n1 becomes the maximum I p0 in the inflow direction when the phase state value voltage V r is 0, and becomes linear as the phase state value voltage V r increases. And becomes zero when the phase state value voltage Vr becomes the zero value voltage Vmiddle .
  • phase state value voltage V r When the phase state value voltage V r further increases, the current I total increases linearly in the outflow direction.
  • the phase state value voltage V r is the power supply voltage V 0 , the maximum
  • the relationship between the phase state value voltage V r of the output node n1 and the flowing current I total is approximately expressed as the following equation.
  • the sizes of the transistors M4 and M5 are adjusted in the circuit of FIG. 11A to linearize the voltage-current characteristics as shown in FIG. 11B.
  • this voltage-current characteristic may be non-linear.
  • a positive pulse update circuit 35 operates as follows.
  • the magnitude of the inflowing current I total is proportional to the absolute value
  • the phase state value voltage V r corresponds to the phase ⁇ i of the real part node unit 7 or the imaginary part node unit 8
  • the zero value voltage V middle corresponds to the phase 0. Therefore, the absolute value
  • the time charge the phase state value holding capacitor C 0 flows is a pulse width t g pulse OUT_P, which is proportional to the magnitude of the update coefficient G ik.
  • phase update calculation as shown in the equations (13a) to (13d) is executed by the positive pulse update circuit 35 even when V r > V middle for the pulse OUT_P.
  • FIG. 12 is a circuit diagram showing the configuration (a) of the negative pulse update circuit 36 of FIG. 10, (b) a voltage-current characteristic diagram, and (c) and (d) showing the operations.
  • an output pulse OUT_M output from the selector-attached pulse generators 23, 24, 25, and 26 of the adjacent node unit 6 is input.
  • the output pulse OUT_M output from the pulse generator with selector provided in the overall control unit 5 is input from the input terminal OUT_M of the negative pulse update circuit corresponding to the input terminal g0_m.
  • the negative pulse update circuit 36 includes p-type field effect transistors M6 and M8, n-type field effect transistors M7 and M9, and switch circuits S6, S7, S8, S9 and S10.
  • a parallel circuit of a series connection circuit of the transistors M6 and M7 and a series connection circuit of the transistors M8 and M9 is connected between the switch circuits S6 and S7.
  • the other end of the switch circuit S6 is connected to the power source, and the other end of the switch circuit S7 is connected to the ground plane.
  • the transistor M8 is diode-connected.
  • the gates of the transistors M6 and M8 are connected to a common connection node (hereinafter referred to as “intermediate node n5”) of the drains of the transistors M8 and M9.
  • the intermediate node n5 is connected to the power supply via the switch circuit S9.
  • the gate of the transistor M7 is connected to the ground plane via the switch circuit S10, and is connected to the intermediate node n5 via the switch circuit S8.
  • the gate of the transistor M9 is connected to a common connection node (hereinafter referred to as “output node n1”) of the drains of the transistors M6 and M7.
  • This output node n1 becomes an output of the negative pulse update circuit 36 and is connected so as to be in common with the output node n1 of the spike neuron circuit 20 of FIG. 6 (see FIG. 10).
  • the switch circuits S6, S7, and S8 are closed when the level of the input OUT_M of the negative pulse update circuit 36 is H level, and are opened when the level is L level.
  • the switch circuits S9 and S10 are opened when the level of the input OUT_M of the negative pulse update circuit 36 is H level, and are closed when the level is L level.
  • FIG. 12 (b) illustrates a large signal characteristics of the transistors M6, M7 of the drain current with respect to the phase state value the voltage V r of the output node n1 of the negative pulse updating circuit 36 shown in Figure 12 (a).
  • the phase state value voltage V r varies between 0 and the power supply voltage V 0 .
  • the drain current of the transistor M6 changes as shown by a curve indicated by I M6 in FIG. 12B, and the drain current of the transistor M7 changes according to the curve indicated by I M7 in FIG. To change.
  • I M6 the drain current of the transistor M6 changes as shown by a curve indicated by I M6 in FIG. 12B
  • the drain current of the transistor M7 changes according to the curve indicated by I M7 in FIG. To change.
  • FIG. 12B regarding the direction of current, the direction flowing into the output node n1 is positive and the direction flowing out from the output node n1 is negative.
  • the drain current I M6 of the transistor M6 is 0 when the phase state value voltage V r of the output node n1 is 0, and increases along a downwardly convex curve as the phase state value voltage V r increases. Then, in the vicinity of the phase state value the voltage V r exceeds V 0/2, the drain current I M6 is now changed to a convex parabolic curved over, reaches a maximum value. As the phase state value voltage V r further increases, the drain current I M6 decreases and becomes 0 when the phase state value voltage V r reaches the power supply voltage V 0 .
  • the voltage-current characteristic of the drain current I M7 of the transistor M7 has a form in which the left and right sides of the voltage-current characteristic of the drain current I M6 are inverted and the positive and negative are inverted. Therefore, the current I total flowing into and out of the output node n1 as a whole of the negative pulse update circuit 36 is the sum of the voltage-current characteristics of the drain currents I M4 and I M5 , as shown in FIG. become.
  • the phase state value is updated only when the phase state value voltage V r of the output node n1 is in the region of V middle ⁇ V L ⁇ V r ⁇ V middle + ⁇ V L. Shall be executed. This is because in the region of V r ⁇ V middle ⁇ V L and V r > V middle + ⁇ V L , the voltage V r ⁇ current I total characteristic of FIG. 12B is non-linear and normal update calculation is not performed.
  • the size of each transistor is adjusted in the circuit of FIG. 12A to linearize the voltage-current characteristics as shown in FIG. 12B.
  • this voltage-current characteristic may be non-linear.
  • the switch circuits S6 and S7 are open, and no current flows through the transistors M6 and M7. Therefore, the phase state value voltage V r of the output node n1 continues to change in a sawtooth waveform as shown in FIG. 6B by the spike neuron circuit 20.
  • the switch circuit S9 is closed and the switch circuit S8 is opened, the intermediate node n5 is connected to the power source, and the stray capacitance between the intermediate node n5 and the ground plane is charged, the voltage at the node n5 is the power supply voltage V 0.
  • a negative pulse updating circuit operates as follows.
  • the magnitude of the flowing out current I total is proportional to the absolute value
  • the phase state value voltage V r corresponds to the phase ⁇ i of the real part node unit 7 or the imaginary part node unit 8
  • the zero value voltage V middle corresponds to the phase 0. Therefore, the absolute value
  • the time charge the phase state value holding capacitor C 0 flows is a pulse width t g pulse OUT_M, which is proportional to the magnitude of the update coefficient G ik.
  • pulse width t update charge amount ⁇ Q phase state value holding capacitor C 0 by a pulse OUT_M of g is sufficiently narrow pulse width t g, the case of I m0 t g / C 0 ⁇ V L ⁇ 1, equation (17 ).
  • phase state value voltage V r is larger than the zero value voltage V middle at the time of inputting the pulse OUT_M
  • the current flows into the output node n1 as a whole. Therefore, while the pulse OUT_M is at the H level, charge flows into the phase state value holding capacitor C 0 of the spike neuron circuit 20 and the phase state value voltage V r is raised. That is, as shown in FIG. 12 (d), the phase state value the voltage V r at the input of the pulse OUT_M is updated in the direction in which the phase is advanced.
  • phase update calculation as shown in the equations (13a) to (13d) is executed by the negative pulse update circuit 36 for the pulse OUT_M even when V r > V middle .
  • FIG. 13 is a circuit diagram (a) and a voltage-current characteristic diagram (b) showing another configuration example of the positive pulse update circuit 35 of FIG.
  • the positive pulse update circuit 35 in FIG. 13A includes a p-type field effect transistor M4, an n-type field effect transistor M5, an offset compensation capacitor C off , and switch circuits S1, S2, S3, and S4. .
  • An output pulse OUT_P output from the selector-equipped pulse generators 23, 24, 25, and 26 of the adjacent node unit 6 is input to the control input terminals of the switch circuits S1, S2, S3, and S4.
  • the switch circuits S1 and S2 are closed when the control input is L level and opened when the control input is H level.
  • the switch circuits S3 and S4 are closed when the control input is at the H level and opened when the control input is at the L level.
  • the transistors M4 and M5 are connected in series in this order between the power source and the ground plane.
  • the gates of the transistors M4 and M5 are commonly connected to the node n3.
  • the node n4 to which the drains of the transistors M4 and M5 are connected in common is connected to the node n3 through the switch circuit S2.
  • One end of the offset compensation capacitor C off is connected to the node n3, and the other end is connected to the node n2.
  • a zero value voltage V middle is input to the node n2 via the switch circuit S1.
  • the node n2 is connected to the node n1 of the spike neuron circuit 20 of FIG. 6 or 7 via the switch circuit S3, and the node n4 is connected to the node n1 via the switch circuit S4. Yes.
  • the voltage of the node n1 is the phase state value voltage Vr .
  • the current i Vr is output from the node n4 to the node n1 via the switch circuit S4.
  • the V r -i Vr characteristic when the pulse OUT_P is at the H level is as shown in FIG. 13B, and the output current i Vr in the region where the transistors M4 and M5 are not in the cutoff state. Is linear (negative slope) with respect to the phase state value voltage V r .
  • FIG. 14 is a timing chart showing the operation of each part of the circuit of FIG.
  • FIG. 14A shows a case where the phase state value voltage V r is smaller than the zero value voltage V middle when the pulse OUT_P is input
  • FIG. 14B shows that the phase state value voltage V r is zero when the pulse OUT_P is input. The case where it is larger than the value voltage V middle is shown.
  • the switch circuits S1 and S2 are closed and the switch circuits S3 and S4 are opened. Therefore, the node n2 and the node n4 are disconnected from the node n1.
  • the switch circuit S1 is closed, the voltage V 2 of the node n2 is set to zero value voltage V middle.
  • the switch circuits S1 and S2 are opened, and the switch circuits S3 and S4 are closed. As a result, the node n3 is disconnected from the node n4 and enters a floating state.
  • the phase state value voltage Vr is applied to the nodes n2 and n4.
  • the voltage V 3 at the node n3 becomes V r + V off , and offset compensation of the gate voltages of the transistors M4 and M5 is performed.
  • FIG. 15 is a circuit diagram (a) and a voltage-current characteristic diagram (b) illustrating another configuration example of the negative pulse update circuit 36 of FIG.
  • the negative pulse update circuit 36 in FIG. 15A includes a p-type field effect transistor M4, n-type field effect transistors M5, M6, and M7, an offset compensation capacitor C off , and switch circuits S1, S2, S3, and S4. It has.
  • An output pulse OUT_M output from the selector-equipped pulse generators 23, 24, 25, and 26 of the adjacent node unit 6 is input to the control input terminals of the switch circuits S1, S2, S3, and S4.
  • the switch circuits S1 and S2 are closed when the control input is L level and opened when the control input is H level.
  • the switch circuits S3 and S4 are closed when the control input is at the H level and opened when the control input is at the L level.
  • Transistor M4 and transistor M5 are connected in series in this order between the power source and the ground plane.
  • the gates of the transistors M4 and M5 are commonly connected to the node n3.
  • the node n4 to which the drains of the transistors M4 and M5 are connected in common is connected to the node n3 through the switch circuit S2.
  • the transistors M6 and M7 are connected in series in this order between the power supply and the ground plane.
  • the gate of the transistor M6, the sum voltage V b V low + V high the minimum voltage V low and maximum voltage V high is applied.
  • the substrate bias terminal of the transistor M6 is connected to a node n2 to which the drains of the transistors M6 and M7 are connected in common.
  • the gate of the transistor M7 is connected to the node n5.
  • a zero value voltage V middle is input to the node n5 via the switch circuit S1.
  • the node n5 is connected to the node n1 of the spike neuron circuit 20 of FIG. 6 or 7 via the switch circuit S3, and the voltage of the node n1 is the phase state value voltage Vr .
  • One end of the offset compensation capacitor C off is connected to the node n3, and the other end is connected to the node n2.
  • the current i Vr is output from the node n4 to the node n1 via the switch circuit S4.
  • Vr -i Vr characteristic when the pulse OUT_M is at the H level is as shown in FIG. 15B, and the output current i is in an operating region where the transistors M4 and M5 are not in the cutoff state.
  • Vr is linear (positive slope) to the phase state value the voltage V r.
  • FIG. 16 is a timing chart showing the operation of each part of the circuit of FIG.
  • FIG. 16A shows a case where the phase state value voltage V r is smaller than the zero value voltage V middle when the pulse OUT_M is input
  • FIG. 16B shows that the phase state value voltage V r is zero when the pulse OUT_M is input. The case where it is larger than the value voltage V middle is shown.
  • the switch circuits S1 and S2 are closed and the switch circuits S3 and S4 are opened. Therefore, the node n4 and the node n5 are disconnected from the node n1.
  • the switch circuit S1 is closed, the voltage V 2 at the node n5 is set to zero value voltage V middle. Therefore, the voltage V 2 of the node n2 is set to zero value voltage V middle from FIG 5 (b).
  • the node n4 is connected to the node n3, and the transistors M4 and M5 are diode-connected.
  • the switch circuits S1 and S2 are opened, and the switch circuits S3 and S4 are closed. As a result, the node n3 is disconnected from the node n4 and enters a floating state.
  • the phase state value voltage Vr is applied to the nodes n5 and n4.
  • the voltage V r is applied to the node n5
  • FIG. 17 is a configuration example of a circuit in which the positive pulse update circuit 35 and the negative pulse update circuit 36 are combined. In the circuit of FIG. 17, the same reference numerals are given to components common to those in FIGS. 13 (a) and 15 (a). Further, by combining the positive pulse update circuit 35 and the negative pulse update circuit 36, a selector SEL and switch circuits S5 and S6 are newly added.
  • the selector SEL has a common connection node n6 of the switch circuits S1, S3, selectively connected to either the gate node n5 or offset compensating capacitor C off input node n2 of the transistor M7.
  • An update coefficient code signal sign (see FIG. 9) is input as a control signal for the selector SEL. When the update coefficient code signal sign is at the H level (“positive”), the selector SEL connects the node n6 to the node n2, and when it is at the L level (“negative”), the selector SEL connects the node n6 to the node n5.
  • the update coefficient code signal sign is input to the control terminal of the switch circuit S5.
  • the switch circuit S5 opens when the update coefficient sign signal sign (see FIG. 9) is at the H level (“positive”), and closes when the update coefficient sign signal sign (see FIG. 9) is at the L level (“negative”).
  • Switching circuit S6 is provided with a drain and a node drain and are connected in common of the transistors M7 n21 of the transistor M6, and is connected between the node n2 to be connected to one end of the offset compensating capacitor C off.
  • the update coefficient code signal sign (see FIG. 9) is input to the control terminal of the switch circuit S6.
  • the switch circuit S6 is opened when the update coefficient code signal sign is at the H level (“positive”), and is closed when the update coefficient code signal sign is at the L level (“negative”).
  • the circuit in FIG. 17 is equivalent to the circuit in FIG.
  • the circuit of FIG. 17 is equivalent to the circuit of FIG.
  • the circuit of FIG. 17 is equivalent to the circuit of FIG. Accordingly, it can be seen that the circuit of FIG. 17 is a circuit in which the positive pulse update circuit 35 and the negative pulse update circuit 36 are combined.
  • the state value update circuit 27 corresponds to each input pulse and input pulses g0_p and g0_m input from the adjacent node unit 6 and includes a positive pulse update circuit 35 and a negative pulse update circuit 36. There are 17 sets. Therefore, each set of the positive pulse update circuit 35 and the negative pulse update circuit 36 may be replaced by the circuit of FIG.
  • the offset compensation capacitor C off of the positive pulse update circuit 35 and the negative pulse update circuit 36 can be shared,
  • the circuit scale of the state value update circuit 27 can be reduced.
  • Reference phase generator 2a The configuration of the reference phase generator 2a (see FIG. 1) is basically the same as that of the spike neuron circuit 20 shown in FIG.
  • the overall control unit 5 Before starting the Gabor filter operation, the overall control unit 5 performs an initialization process. In the initialization process, first, the overall control unit 5 sets the update permission signal update_ena (see FIG. 5) to the L state, and stops the pulse output of the pulse generators with selectors 23, 24, 25, and 26, whereby the state value Update of the phase state value voltage V r of the spike neuron circuit 20 by the update circuit 27 is stopped. In this state, the input unit 3 applies an initial charge to the phase state value holding capacitor C 0 of each spike neuron circuit 20.
  • the overall control unit 5 When the initial charge is applied to the phase state value holding capacitor C 0 , the overall control unit 5 first applies a column selection signal to the column selection signal line 9 (that is, sequentially sets the column selection signal to the H level). Select sequentially. When the column selection signal becomes H level, the column selection switch 28 (see FIG. 5) is connected. Then, the input unit 3 gives an initialization pulse from the initial value input line 10 to the spike neuron circuit 20 in each real node unit 7 of the selected column. Charges are charged in the phase state value holding capacitor C 0 of each spike neuron circuit 20 in proportion to the pulse width of the initialization pulse, thereby initializing.
  • the input unit 3 sets all the column selection signals to the L level, and the overall control unit 5 sets the update permission signal update_ena (see FIG. 5) to the H state.
  • the overall control unit 5 sets the update permission signal update_ena (see FIG. 5) to the H state.
  • the update processing of the phase state quantities corresponding to the phases ⁇ i, j r , ⁇ i, j i is asynchronously performed in parallel.
  • the circuit operation of the phase state quantity update process in each node unit is as already described in [2] (3).
  • the Gabor filter operation After executing the Gabor filter operation for a certain time, the Gabor filter operation is ended.
  • the overall control unit 5 sets the update permission signal update_ena (see FIG. 5) to the L state. Accordingly, the pulse output of the selector with a pulse generator 23, 24, 25, 26 is stopped, updating the phase state value the voltage V r of the spike neuron circuit 20 according to the state value update circuit 27 is not performed.
  • the output unit 4 Since the result of the Gabor filter operation is held as the phase ⁇ i, j r , ⁇ i, j i of the phase state value voltage V r of each spike neuron circuit 20, the output unit 4 has this phase ⁇ i, An operation result can be obtained by taking out j r , ⁇ i, j i as a pulse.
  • the extraction of the phases ⁇ i, j r and ⁇ i, j i is performed as follows, for example.
  • the real part node unit 7 of each node unit 6 and the spike neuron circuit 20 of the imaginary part node unit 8 are shown in FIG.
  • the spike pulse spk_f is continuously output at a constant period T.
  • the state value held by each real part node unit 7 and imaginary part node unit 8 is held as a difference between the phases ⁇ i, j r and ⁇ i, j i of the spike pulse spk_f.
  • ( ⁇ max ⁇ min ) / T ⁇ (V high ⁇ V low ) / T.
  • the output unit 4 first applies a column selection signal to the column selection signal line 9 (that is, sequentially selects each column by setting the column selection signal to H level).
  • a column selection signal to the column selection signal line 9 (that is, sequentially selects each column by setting the column selection signal to H level).
  • the column selection switch 29 is connected and the spike pulse spk_f output from the spike neuron circuit 20 is They are output to the real part external output line 11 and the imaginary part external output line 12, respectively.
  • the spike pulse output from the real part node unit 7 of the node unit U m, n is referred to as spk_f m, n r
  • the spike pulse output from the imaginary part node unit 8 is referred to as spk_f m, n i
  • the reference pulse Spk_f b spike pulses reference phase generating part 2a is output.
  • the state value pulse generation circuit 40 includes a pulse delay circuit 41, an EXOR logic circuit 42, an OR logic circuit 43, trigger flip-flops 44 and 45, and a demultiplexer 45.
  • the pulse delay circuit 41 is a circuit that delays an input pulse by a time T / 2.
  • the pulse delay circuit 41 and the OR logic circuit 43 constitute a multiplier.
  • the pulse delay circuit 41 receives a reference pulse spk_f b having a period T.
  • the pulse delay circuit 41 outputs a delay pulse D (spk_f b ) delayed by a half cycle T / 2.
  • the OR logic circuit 43 is supplied with the reference pulse spk_f b and the delay pulse D (spk_f b ), and the OR logic circuit 43 outputs a multiplied pulse with a period T / 2. Then, this multiplied pulse is input to the trigger flip-flop 44, and a sign switching signal sign as shown in FIGS. 18B and 18C is output from the trigger flip-flop 44.
  • the sign switching signal sign is a pulse that rises by the reference pulse spk_f b and falls by the delay pulse D (spk_f b ).
  • the EXOR logic circuit 42 receives the spike pulse spk_f m, n r / i and the reference pulse spk_f b output from the real part node unit 7 or the imaginary part node unit 8, and the EXOR logic of these pulses. A composite pulse is output.
  • the synthesized pulse is input to the trigger flip-flop 45, and the trigger flip-flop 45 outputs a state value pulse out m, whose width is proportional to the absolute value of the state value as shown in FIGS. n r / i is output.
  • This state value pulse out m, n r / i is input to the demultiplexer 45.
  • the demultiplexer 45 switches the output direction according to the sign switching signal sign.
  • the circuit in FIG. 18A is an example of a circuit that extracts the state value of each node, and the method of extracting the state value of each node is not limited to this.
  • the output unit 4 digitizes the state values by quantizing the pulse widths of the positive state value pulse out_p m, n r / i and negative state value pulse out_m m, n r / i generated in this way. Output as a value.
  • a known circuit is used for the pulse width quantization circuit.
  • FIG. 19 is a diagram illustrating a result of obtaining an impulse response by executing a Gabor filter operation by the information processing apparatus of the present embodiment. The results shown in FIG. 19 are obtained by numerical simulation of the circuit.
  • FIG. 19A shows a simulation result itself obtained by performing arithmetic processing using the above-described circuit.
  • the impulse response (the sum of squares of the real part and the imaginary part) of the Gabor filter spreads isotropically with respect to the impulse input point, but the calculation result of FIG. 19A is not isotropic. This is considered to be due to the influence of the firing order of the spike neuron circuit 20 at each node on the update amount. For this reason, there arises a problem that the balance between positive and negative is lost by the output of the real part and the imaginary part. Since the Gabor filter results often use the sum of squares (energy) of the output of the real part and imaginary part, it is considered that the loss of the positive / negative balance has a significant effect on the result.
  • This problem is due to the causal relationship that inevitably occurs in the arithmetic processing that performs the update operation asynchronously in the time domain.
  • the output unit 4 is provided with a correction processing function for extending the value in the negative direction at a constant magnification so that the positive and negative maximum amplitudes of the real part and the imaginary part are aligned with the state value finally output. .
  • the state value finally output from the contact unit network 2 is ⁇ (x i, j , y i, j )
  • y i, j ⁇ i, j i ⁇ b is the state of node U i, j The imaginary part of the value.
  • the output unit 4 outputs the maximum value x max , y max (> 0) and the minimum value x min , y min ( ⁇ 0) of the real part ⁇ x i, j ⁇ and the imaginary part ⁇ y i, j ⁇ of these state values.
  • R x x max /
  • R y x max /
  • is calculated, and x i, j ⁇ 0 of the real part ⁇ x i, j ⁇ is R x times,
  • a correction process for multiplying y i, j ⁇ 0 out of the imaginary part ⁇ y i, j ⁇ is performed by R y times, and the corrected state value is output.
  • FIG. 19B shows the result of applying the above correction processing to the impulse response. It can be seen that this correction process yields a result that spreads almost isotropically with respect to the impulse input point.
  • FIG. 20 is an example of a change in the pulse position of each node unit when the Gabor filter operation is executed by the information processing apparatus of the present embodiment.
  • the horizontal axis represents time
  • the vertical axis represents the pulse phase value of the voltage OUT_PM output from each real part node unit 7 and each imaginary part node unit 8.
  • a square lattice type filter as shown in FIG. 3 is used, and an impulse (“input” of FIG. 20) is used as an initial value in the real part of the central node unit (# 5, # 5). ”) And the response was measured over time.
  • FIG. 20 shows the output voltage OUT_PM of the node units (# 1, 0) to (# 9, 0).
  • the update period T of the spike neuron circuit 20 was 1.1 ⁇ s
  • the Gabor function period was 4 pixcel.
  • the line graph on the right end represents the phase difference between the voltage pulses OUT_PM output from each real part node unit 7 and each imaginary part node unit 8 when the update is performed 30 times.
  • the result of the Gabor filter operation is obtained as the phase difference between the pulses of the output voltage OUT_PM of each real part node unit 7 and each imaginary part node unit 8.
  • FIG. 21 is a diagram showing a comparison between the Gabor filter operation result example (updated 30 times) and the theoretical value in FIG.
  • the solid line (A) shows the result of the Gabor type filter operation obtained as the phase difference of FIG.
  • a dotted line (B) represents an ideal Gabor function value.
  • FIG. 21A shows the real part and FIG. 21B shows the imaginary part.
  • the Gabor type filter characteristic is obtained by the information processing apparatus of this embodiment. Note that a deviation from the theoretical value is observed in the pixels (1, 2, and 8, 9) at both ends in FIG. 21, but this is considered to be an effect due to the finite size of the grid. Is possible.
  • Update processing is executed asynchronously and in parallel. Therefore, Gabor filter computation can be performed at high speed.
  • a subtracting circuit between the state value of the adjacent node unit and its own state value is not required, so that the circuit configuration is simplified and the mounting area is reduced.
  • FIG. 22 is a diagram illustrating a configuration (a) and an operation (b) of the spike neuron circuit 20 of the real part node unit 7 and the imaginary part node unit 8 in the information processing apparatus according to the second embodiment of the present invention.
  • the information processing apparatus of the present embodiment is the same as that of the first embodiment except for the spike / neuron circuit 20.
  • the spike neuron circuit 20 of this embodiment includes a phase state value holding capacitor C 0 , two current sources I 1 and I 2, a comparator CMP 3, a trigger pulse generator PG, and nine switch circuits S 1, S 2, S 3, S 10 and S 11. , S12, S13, S14, S15, a pulse delay device D, a trigger flip-flop T-FF, and an inverter INV1.
  • phase state value holding capacitor C 0 is grounded, and the other end is connected to the output node n 1.
  • Current source I1 the cathode-side terminal via the output node n1 is connected to a phase state value holding capacitor C 0, the anode terminal is connected to a power source through the switching circuit S1.
  • the switch circuit S2 has one end connected to the output node n1, and the other end to which a minimum value voltage V low that is a voltage corresponding to the minimum phase value (minimum phase value) ⁇ min is input.
  • N-type MOSFETs are used for the switch circuits S1 and S2.
  • the control terminal of the switch circuit S1 is connected to the output side of the inverter INV1.
  • the control terminal of the switch circuit S2 is connected to the intermediate node n8.
  • the cathode-side terminal via the output node n1 is connected to a phase state value holding capacitor C 0, the anode terminal is connected to a power source through the switching circuit S3.
  • An n-type MOSFET is used for the switch circuit S3.
  • An initial value input line 10 is connected to control the switch circuit S3. The switch circuit S3 is in a closed state when the initialization signal input from the input unit 3 is at the H level, and is in an open state when the initialization signal is at the L level.
  • the comparator CMP1 has a positive input terminal connected to the output node n1, and a negative input terminal connected to the intermediate node n6.
  • a control voltage V ref is applied to the intermediate node n6.
  • the output of the comparator CMP3 is connected to the trigger pulse generator PG.
  • the intermediate node n6 is applied with a zero value voltage V middle indicating that the phase is zero through the switch circuit S10, and the maximum value (maximum phase value) ⁇ max of the phase through the switch circuit S11.
  • a maximum value voltage V high corresponding to is applied. Therefore, the reference voltage V ref applied to the intermediate node n6 is the maximum value voltage V high corresponding to the maximum value (maximum phase value) ⁇ max of the phase, or the zero value voltage V middle indicating that the phase is zero. It becomes either.
  • an n-type MOSFET is used for the switch circuit S10.
  • a p-type MOSFET is used for the switch circuit S11.
  • the trigger pulse generator PG is a circuit that outputs a spike pulse spk having a short duration at the rising edge of the pulse waveform output from the comparator CMP3.
  • the output side of the trigger pulse generator PG is connected to the intermediate node n7.
  • the switch circuit S13 has one end connected to the intermediate node n7 and the other end connected to the output terminal of the spike neuron circuit 20.
  • the switch circuit S13 has one end connected to the output terminal of the spike neuron circuit 20 and the other end grounded.
  • N-type MOSFETs are used for the switch circuits S12 and S13.
  • the switch circuit S14 has one end connected to the intermediate node n7 and the other end connected to the intermediate node n8.
  • the switch circuit S15 has one end connected to the intermediate node n8 and the other end grounded.
  • N-type MOSFETs are used for the switch circuits S14 and S15.
  • the inverter INV1 has an input side connected to the intermediate node n8 and an output side connected to the control terminal of the switch circuit S1.
  • the pulse delay device D has an input side connected to the intermediate node n7 and an output side connected to the input side of the trigger flip-flop T-FF.
  • the pulse delay unit D outputs a delay pulse Delay-spk obtained by delaying the spike pulse spk.
  • the trigger flip-flop T-FF has one input terminal and two output terminals Q and ⁇ Q. When a pulse is input from the input terminal, the output terminal Q and ⁇ Q are output at the rising edge of the pulse. Invert the level. Note that an inverted voltage of the output voltage of the output terminal Q is output to the output terminal ⁇ Q.
  • the output terminal Q of the trigger flip-flop T-FF is connected to the control terminals of the switch circuits S10, S12, S15.
  • the output terminal ⁇ Q of the trigger flip-flop T-FF is connected to the control terminals of the switch circuits S11, S13, S14.
  • the operation of setting the initial value in the phase state value holding capacitor C 0 is the same as that in the first embodiment. That is, the overall control unit 5 (see FIG. 1) gives a column selection signal to the column selection signal line 9 (that is, the column selection signal is sequentially set to H level) to sequentially select each column, and the input unit 3 selects An initialization pulse having a pulse width proportional to the magnitude of the initial state value is input from the initial value input line 10 to the spike neuron circuit 20 in each real node unit 7 in the row (see FIG. 22).
  • the current source I2 current is supplied to a phase state value holding capacitor C 0, the phase state value holding capacitor C 0 initial state An amount of charge proportional to the value is charged.
  • the phase state value voltage V r of the output node n1 is V low , the switch circuit S1 is closed (connected), and the switch circuit S2 is opened (disconnected). At this time, the constant charge current I s from the current source I1 to a phase state value holding capacitor C 0 is supplied. Accordingly, the phase state value the voltage V r of the output node n1 is increased at a constant time gradient (see FIG. 22 (b)).
  • the output of the comparator CMP3 is L level, and no pulse is output from the trigger pulse generator PG.
  • the output voltage at the output terminal Q of the trigger flip-flop T-FF is at the H level, and the output voltage at the output terminal ⁇ Q is at the L level. Accordingly, the switch circuits S10, S12, and S15 are closed, and the switch circuits S11, S13, and S14 are open. Therefore, the reference voltage V ref of the intermediate node n6 is the zero value voltage V middle . Further, since the intermediate node n8 is grounded when the switch circuit S15 is closed, the switch circuit S2 is maintained in the open state and the switch circuit S1 is maintained in the closed state.
  • the output of the comparator CMP3 is inverted to the H level.
  • the trigger pulse generator PG outputs a spike pulse spk having a short duration.
  • the switch circuit (output switch circuit) S12 is in a closed state, the spike pulse spk is transmitted to the output terminal of the spike neuron circuit 20, and the spike pulse spk_f is output from the spike neuron circuit 20. . That is, the spike neuron circuit 20 is fired.
  • the pulse delay unit D delays the spike pulse spk by time T / 4, and outputs a delay pulse Delay-spk at time 3T / 4 (see FIG. 22B). .
  • the delay pulse Delay-spk When the delay pulse Delay-spk is output, the output voltage of the output terminal Q of the trigger flip-flop T-FF is inverted to L level and the output voltage of the output terminal ⁇ Q is inverted to H level. As a result, the switch circuits S10, S13, and S15 are opened, and the switch circuits S11, S12, and S14 are closed. Therefore, the reference voltage V ref of the intermediate node n6 becomes the maximum value voltage V high , and thereby the output voltage of the comparator CMP3 becomes L level again.
  • the intermediate node n7 is connected to the output terminal of the spike neuron circuit 20. Intermediate node n8 is disconnected from the ground plane and connected to intermediate node n7.
  • the output of the comparator CMP3 is inverted to H level.
  • the trigger pulse generator PG outputs a spike pulse spk having a short duration.
  • the switch circuit (output switch circuit) S12 is in an open circuit state, the spike pulse spk is not transmitted to the output terminal of the spike neuron circuit 20.
  • the switch circuit S14 since the switch circuit S14 is in the closed state and the switch circuit S15 is in the open state, the spike pulse spk is transmitted to the intermediate node n8, and the switch circuit is supplied only for the time width during which the spike pulse spk becomes H level.
  • S1 is opened and the switch circuit S2 is closed. Thereby, stored electric charge is discharged to the phase state value holding capacitor C 0, the phase state value the voltage V r of the output node n1 is reset to the minimum value voltage V low. As a result, the output voltage of the comparator CMP3 becomes L level again.
  • the pulse delay unit D delays the spike pulse spk by time T / 4, and outputs a delay pulse Delay-spk at time 5T / 4 (FIG. 22B). reference).
  • the delay pulse Delay-spk When the delay pulse Delay-spk is output, the output voltage of the output terminal Q of the trigger flip-flop T-FF is inverted to H level and the output voltage of the output terminal ⁇ Q is inverted to L level. Thereby, the switch circuits S10, S13, and S15 are closed, and the switch circuits S11, S12, and S14 are opened. Accordingly, the reference voltage V ref of the intermediate node n6 becomes the zero value voltage V middle . The intermediate node n7 is disconnected from the output terminal of the spike neuron circuit 20. Intermediate node n8 is connected to the ground plane and disconnected from intermediate node n7.
  • a circuit having the same function as the spike neuron circuit 20 of the first embodiment can be realized by using one comparator CMP3.
  • the spike neuron circuit 20 is configured using a chopper comparator.
  • FIG. 23 is a diagram illustrating a configuration of the spike neuron circuit 20 of the real part node unit 7 and the imaginary part node unit 8 in the information processing apparatus according to the third embodiment of the present invention.
  • the information processing apparatus of the present embodiment is the same as that of the first embodiment except for the spike / neuron circuit 20.
  • the spike neuron circuit 20 of this embodiment includes a phase state value holding capacitor C 1 , a zero offset capacitor C 2 , two current sources I 1, I 2, five inverters INV 1, INV 2, INV 3, INV 4, INV 5, trigger pulse.
  • Generator PG pulse delay device D, two trigger flip-flops T-FF1, T-FF2, buffer buff, and 15 switch circuits S1, S2, S3, S10, S11, S12, S13, S14, S15, S20, S21, S22, S23, S24, and S25 are provided.
  • Phase state value holding capacitor C 1 has one end grounded and the other end is connected to the output node n1.
  • Current source I1 has one end connected to the phase state value holding capacitor C 1 via the output node n1, and the other end is connected to a power source through the switching circuit S1.
  • the switch circuit S2 has one end connected to the output node n1 via the buffer buff, and the other end to which a minimum value voltage V low that is a voltage corresponding to the minimum phase value (minimum phase value) ⁇ min is input. Yes.
  • An n-type MOSFET is used for the switch circuit S2.
  • the control terminal of the switch circuit S1 is connected to the output side of the inverter INV1.
  • the control terminal of the switch circuit S2 is connected to the intermediate node n8.
  • the buffer buff is the on-off switching circuit S20, in which has been inserted in order to prevent the charge phase state value holding capacitor C 1 leaks.
  • Current source I2 has one end connected to the phase state value holding capacitor C 1 via the output node n1, and the other end is connected to a power source through the switching circuit S3.
  • An initial value input line 10 is connected to control the switch circuit S3.
  • the switch circuit S3 is in a closed state when the initialization signal input from the input unit 3 is at the H level, and is in an open state when the initialization signal is at the L level.
  • the output node n1 is connected to the intermediate node n9 via the switch circuit 20.
  • a zero value voltage V middle is applied to the intermediate node n9 via the switch circuit S10, and a maximum value voltage V high is applied via the switch circuit S11.
  • the intermediate node n9 is connected to one terminal of the capacitor C 2 for zero offset.
  • the other terminal of the zero offset for the capacitor C 2, through the intermediate nodes n10, is connected to the input terminal of the comparator inverter INV2, the output signal of the inverter INV2, the trigger pulse generated via an output inverter INV3, INV4 Is input to the input terminal of the device PG.
  • the digital output signal is input to the trigger pulse generator PG referred to as D out.
  • Trigger pulse generator PG is a digital output signal at the falling edge of D out, and outputs a pulse of short width.
  • a switch circuit S21 for setting a zero offset is connected to the inverter INV2.
  • the output terminal of the trigger pulse generator PG is connected to the intermediate node n7, and this intermediate node n7 is connected to the output terminal T out of the spike neuron circuit 20 via the switch circuit (output switch circuit) S12. ing.
  • the output terminal T out is also connected to the ground plane via the switch circuit S13.
  • the intermediate node n7 is connected to the input terminal of the trigger flip-flop T-FF1.
  • the trigger flip-flop T-FF1 has one input terminal and two output terminals Q and Q.
  • the trigger flip-flop T-FF1 rises when a pulse is input from the input terminal. At the edge, the levels of the output terminals Q1 and ⁇ Q1 are inverted. An inverted value of the output of the output terminal ⁇ Q1 is output to the output terminal Q1.
  • the output terminal ⁇ Q1 of the trigger flip-flop T-FF1 is connected to the control terminals of the switch circuits S22 and S25.
  • the output terminal Q1 of the trigger flip-flop T-FF1 is connected to the control terminals of the switch circuits S23 and S24.
  • the intermediate node n7 is connected to the control terminal of the switch circuit S2 through the switch circuit S14, and is connected to the control terminal of the switch circuit S1 through the switch circuit S14 and the inverter INV1.
  • intermediate node n7 is connected to the input terminal of the pulse delay device D.
  • the output terminal of the pulse delay device D is connected to the input terminal of the trigger flip-flop T-FF2.
  • the intermediate node n7 is connected to the control terminal of the switch circuit S20 via the inverter INV5.
  • the intermediate node n7 is connected to the control terminal of the switch circuit S10 via the switch circuit S22, and is connected to the control terminal of the switch circuit S11 via the switch circuit S23.
  • the intermediate node n7 is connected to the ground plane through the switch circuit S23 and the switch circuit S25, and is connected to the ground plane through the switch circuit S22 and the switch circuit S24.
  • the trigger flip-flop T-FF2 has one input terminal and two output terminals Q and Q.
  • the trigger flip-flop T-FF2 rises when a pulse is input from the input terminal. At the edge, the levels of the output terminals Q2 and ⁇ Q2 are inverted. An inverted value of the output of the output terminal ⁇ Q2 is output to the output terminal Q2.
  • the output terminal ⁇ Q2 of the trigger flip-flop T-FF2 is connected to the control terminals of the switch circuits S12 and S15.
  • the output terminal Q2 of the trigger flip-flop T-FF1 is connected to the control terminals of the switch circuits S14 and S13.
  • FIG. 24 is a timing chart showing the operation of each part of the spike neuron circuit 20 of FIG.
  • the switch circuits S20 and S11 are opened, and the switch circuits S10 and S21 are closed. Then, by closing the switch circuits S10, the potential V 9 terminal n9 zero offset capacitor C 2 is zero value voltage V middle, and the potential V 10 of the terminal n10 zero offset capacitor C 2 by closing of the switch circuit S21 is , The threshold voltage Vth of the inverter INV2. Therefore, the capacitor C 2 for zero offset, charge corresponding to V middle -V th is charged, thereby, the zero offset operation of the chopper comparator is performed.
  • the switch circuit S1 is opened and the switch circuit S2 is closed. Accordingly, the phase state value holding capacitor C 1 is discharged, the phase state value the voltage V r of the output node n1 is reset to the minimum value voltage V low.
  • the intermediate node n9 is connected to the output node n1.
  • the switch circuit S21 is being opened, the terminal voltage V C2 of the capacitor zero offset C 2 is maintained at V middle -V th. Therefore, the voltage V 10 of the intermediate node n10 is lowered to (V low -V middle) + V th. Since V r ⁇ V middle in the initial state, the voltage V 10 of the intermediate node n10 is lower than the threshold voltage V th of the inverter INV2.
  • the digital output signal D out of the inverter INV4 has an H level.
  • this spike pulse spk is input to the pulse delay unit D.
  • the pulse delay unit D delays by a short time, for example, time T / 4 after a suitable time, and at time 3T / 4, a short delay pulse Output Delay-spk.
  • the switch circuit S21 is closed and the switch circuit S20 is opened for the pulse time.
  • the delay pulse Delay-spk is transmitted to the control terminal of the switch circuit S11, and the switch circuit S11 is closed for the pulse time.
  • the maximum voltage V high is applied to the intermediate node n9 for the pulse time. Further, due to the closing of the switch circuit S21, the threshold voltage Vth is set to the intermediate node n10 for the pulse time. Therefore, the terminal voltage V C2 of the capacitor zero offset C 2 is V th -V high, and the thereby, zero offset operation of the chopper type comparator is performed.
  • the output value of the trigger flip-flop T-FF2 is inverted by the delay pulse Delay-spk.
  • the voltage at the output terminal Q2 becomes H level
  • the voltage at the output terminal ⁇ Q2 becomes L level
  • the switch circuits S13 and S14 are closed
  • the switch circuits S12 and S15 are open.
  • the output terminal T out is disconnected from the intermediate node n7 and grounded
  • the intermediate node n8 is disconnected from the ground plane and connected to the intermediate node n7.
  • the switch circuit S20 is closed and the switch circuits S21 and S11 are opened. Accordingly, the intermediate node n9 is disconnected from the maximum voltage V high, intermediate node n9 is connected to the output node n1, the voltage V 9 of the intermediate node n9 is phase state value holding capacitor C 1 phase state value the voltage V r It becomes. Moreover, the open-circuit of the switch circuit S21, the charging electric charge of the capacitor C 2 for zero offset is stored, as the voltage V 9 of the intermediate node n9 is phase state value the voltage V r, the voltage of the intermediate node n10 V 10 becomes (V r ⁇ V high ) + V th .
  • the voltage V 10 of the intermediate node n10 reaches the threshold voltage V th.
  • the output of the inverter INV2 inverts the L level
  • the digital output signal D out of the inverter INV4 is also inverted to an L level.
  • trigger pulse generator PG outputs a spike pulse spk to the intermediate node n7.
  • the switch circuit (output switch circuit) S12 is opened, spike pulses spk is not transmitted to the output terminal T out. Further, since the switch circuit S14 is closed, the spike pulse spk is transmitted to the intermediate node n8.
  • the switch open circuit S1 is opened and the switch open circuit S2 is closed during the pulse width of the spike pulse spk.
  • energization of the current source I1 is interrupted, since the minimum voltage V low is applied to the output node n1, the phase state value the voltage V r phase state value holding capacitor C 1 is discharged in a minimum voltage V Reset to low .
  • the switch opening S20 since the switch opening S20 is in the closed state, the voltage V 9 of the intermediate node n9 also a minimum voltage V low in conjunction with the phase state value the voltage V r.
  • the output of the inverter INV2 is returned to H level again, along with it, the digital output signal D out of the inverter INV4 also returns to H level again. Therefore, the digital output signal Dout becomes L level only for a short time during which the switching operation is performed.
  • this spike pulse spk is input to the pulse delay unit D.
  • the pulse delay unit D delays by time T / 4, and outputs a short delay pulse Delay-spk at time 5T / 4.
  • the switch circuit S21 is closed and the switch circuit S20 is opened for the pulse time.
  • the delay pulse Delay-spk is transmitted to the control terminal of the switch circuit S10, and the switch circuit S10 is closed for the pulse time. . Due to the closing of the switch circuit S10, the zero value voltage V middle is applied to the intermediate node n9 for the pulse time.
  • the threshold voltage Vth is set to the intermediate node n10 for the pulse time. Therefore, the terminal voltage V C2 of the capacitor C 2 for zero offset V th -V middle next, thereby, the zero offset operation of the chopper comparator is performed.
  • the output value of the trigger flip-flop T-FF2 is inverted by the delay pulse Delay-spk.
  • the voltage at the output terminal Q2 becomes L level
  • the voltage at the output terminal ⁇ Q2 becomes H level
  • the switch circuits S13 and S14 are opened
  • the switch circuits S12 and S15 are closed.
  • the output terminal T out is connected to the intermediate node n7, and the intermediate node n8 is disconnected from the intermediate node n7 and grounded.
  • the switch circuit S20 When the delay pulse Delay-spk falls, the switch circuit S20 is closed and the switch circuits S21 and S10 are opened. Accordingly, the intermediate node n9 is disconnected from the zero value voltage V middle, intermediate node n9 is connected to the output node n1, the voltage V 9 of the intermediate node n9 is phase state value holding capacitor C 1 phase state value the voltage V r It becomes. Moreover, the open-circuit of the switch circuit S21, the charging electric charge of the capacitor C 2 for zero offset is stored, as the voltage V 9 of the intermediate node n9 is phase state value the voltage V r, the voltage of the intermediate node n10 V 10 is pulled up to (V r ⁇ V middle ) + V th .
  • the spike neuron circuit 20 becomes a sawtooth wave function of the period T when the state value update circuit 27 does not update the state value, and the phase state value voltage V r of the phase state value holding capacitor C 1 It fires at the time when the phase state value voltage V r exceeds the zero value voltage V middle , and outputs a spike pulse spk_f from the output terminal T out . If there is update state value by the state value update circuit 27, the phase of the sawtooth wave function of the phase state value the voltage V r is, only be advanced or delayed by updating the time of the state value, the same operation is performed .
  • a circuit having a function equivalent to that of the spike neuron circuit 20 of the first embodiment can be realized using a chopper comparator.
  • the spike neuron circuit 20 ignites and spikes when the phase state value voltage V r of the phase state value holding capacitor C 0 (or C 1 ) becomes the zero value voltage V middle.
  • An example of a circuit configuration that outputs the pulse spk_f has been described.
  • the spike neuron circuit 20 delayed from the time when the phase state value the voltage V r of the phase state value holding capacitor C 0 is reset to the minimum value voltage V low only T d
  • Td a half period T / 2 is appropriate.
  • FIG. 25 is a block diagram illustrating an internal configuration of the real part node unit 7 of the information processing apparatus according to the fourth embodiment.
  • the real part node unit 7 is demonstrated as a representative here.
  • the real part node unit 7 (imaginary part node unit 8) includes a spike neuron circuit 20, a delay pulse generator 21, an update permission switch 22, pulse generators with selectors 23, 24, 25, and 26, a state value update circuit 27, And column selection switches 28 and 29 are provided. Components corresponding to those in FIG. 5 are denoted by the same reference numerals.
  • the spike neuron circuit 20 of this embodiment functions as a phase state value holding unit that holds a phase state value unique to the real part node unit 7 (imaginary part node unit 8), and is also held by the phase state value holding unit.
  • Phase advance means for changing the phase state value over time at a constant phase velocity ⁇ , and when the phase state value held by the phase state value holding means reaches the maximum phase state value, the phase state value is set to the minimum phase state value. It functions as a phase restoring means for resetting to.
  • the spike neuron circuit 20 outputs a spike pulse spk, and this spike pulse spk is input to the delay pulse generator 21.
  • the pulse generator 21 When the spike neuron circuit 20 outputs the spike pulse spk, the pulse generator 21 functions as a trigger generation unit that outputs a trigger (update trigger) with a delay of a predetermined delay time Td from that point.
  • the delay pulse generator 21 outputs a delay pulse D_spk.
  • the update permission switch 22 is composed of an AND circuit, one input is connected to the output of the delay pulse generator 21, and the update permission signal update_ena output from the overall control unit 5 is input to the other input.
  • the pulse generators with selectors 23, 24, 25, and 26 receive trigger pulses (update triggers) R_OUT_P_gx1, R_OUT_M_gx1, and G 2x that are proportional to the magnitudes of the respective update coefficients G 1x when a trigger by the delay pulse D_spk is input. of proportional to the magnitude trigger pulse (updated trigger) R_OUT_P_gx2, R_OUT_M_gx2, trigger pulses proportional to the magnitude of the G 1y (updated trigger) R_OUT_P_gy1, R_OUT_M_gy1, trigger pulses proportional to the magnitude of the G 2y (updated trigger) R_OUT_P_gy2, R_OUT_M_gy2 is output.
  • phase state value holding means in the spike neuron circuit 20 When each trigger pulse (update trigger) is input from the adjacent node unit 6 to the state value update circuit 27, the phase state value holding means in the spike neuron circuit 20 according to the sign and pulse width of those trigger pulses.
  • the phase state value is updated by increasing or decreasing the phase state value held by.
  • the state value update circuit 27 and the pulse generators 23, 24, 25, and 26 of the adjacent node unit 6 cooperate with each other, whereby the delay pulse generator 21 of the adjacent node unit 6 is triggered.
  • the phase state value held by the phase state value holding means is changed by a value obtained by adding a value obtained by multiplying the phase state value by a predetermined value according to the adjacent position of the node unit. It will function as an updating means.
  • FIG. 26 is a diagram illustrating the configuration (a) and the operation (b) of the spike neuron circuit 20 of FIG.
  • the spike neuron circuit 20 includes a phase state value holding capacitor C 0 , current sources I 1 and I 2, a comparator CMP 1, a pulse generation circuit PG, and switch circuits S 1, S 2 and S 3.
  • the output node n1 is connected to the output terminal of the state value update circuit 27.
  • Current source I1 has one end connected to the phase state value holding capacitor C 0 through the output node n1, and the other end is connected to a power source through the switching circuit S1.
  • the switch circuit S2 has one end connected to the output node n1, and the other end to which a minimum value voltage V low that is a voltage corresponding to the minimum phase value (minimum phase value) ⁇ min is input.
  • the initial value voltage V low is a voltage corresponding to the initial value ⁇ min of the phase state value, and is generated and input by the overall control unit 5. Note that an n-type MOSFET is used for the switch circuit S2.
  • Comparator CMP1 the positive input terminal connected to the output node n1, the maximum voltage V high to the maximum voltage V high to the negative input terminal is inputted, the voltage corresponding to the maximum value theta max phase state values And is generated and input by the overall control unit 5.
  • the output of the comparator CMP1 is connected to the output terminal T out of the spike neuron circuit 20 via the pulse generation circuit PG.
  • the output of the comparator CMP1 is connected to the control terminals of the switch circuits S1 and S2.
  • the switch circuit S1 is closed when the output voltage of the comparator CMP1 is L level, and is opened when the output voltage is H level.
  • the switch circuit S2 is closed when the output voltage of the comparator CMP1 is at the H level, and is opened when the output voltage is at the L level.
  • Current source I2 has one end connected to the phase state value holding capacitor C 0 through the output node n1, and the other end is connected to a power source through the switching circuit S3.
  • An initial value input line 10 is connected to the control terminal of the switch circuit S3.
  • the switch circuit S3 is in a closed state when the initialization signal input from the input unit 3 is at the H level, and is in an open state when the initialization signal is at the L level.
  • the spike neuron circuit 20 operates as follows.
  • the state value update circuit 27 is not updating the state value (that is, when there is no current input / output from the state value update circuit 27 in the output node n1)
  • the phase state value voltage V r and the spike of the output node n1
  • the output of the comparator CMP1 is inverted to the H level. Accordingly, the switch circuit S1 is open-circuited, the switch circuit S2 is closed, the charge stored in the phase state value holding capacitor C 0 is discharged to real phase state value the voltage V r is the initial value voltage Node V low . Along with this, the output of the comparator CMP1 is inverted again to the L level, and open the switch circuit S2 again, the switch circuit S1 is then closed again by the current source I1, a constant current to the phase state value holding capacitor C 0 Begins to be supplied.
  • a spike pulse spk is output to the output terminal of the spike neuron circuit 20 in a short time when the output of the comparator CMP1 becomes H level. That is, the spike neuron circuit 20 “fires”. Accordingly, when the state value is not updated, the phase state value ⁇ always changes in a sawtooth waveform at ⁇ min + ⁇ t, and the spike pulse spk is always output from the spike neuron circuit 20 at a constant time interval T. Will be.
  • a pulse having a width proportional to the initial phase state value is input from the initial value input line 10. To do.
  • the amount of charge proportional to the initial phase state values are supplied, so that the initial value is set.
  • FIG. 27 is a diagram illustrating the configuration (a) and the operation (b) of the delayed pulse generator 21 of FIG.
  • the delay pulse generator 21 includes p-type field effect transistors M7 and M8, an n-type field effect transistor M9, inverter circuits INV5 and INV6, and a NOR circuit 51.
  • the transistors M7 and M8 and the transistor M9 are connected in series between the power source and the ground plane in this order.
  • a delay voltage V delay for determining the delay amount of the pulse is input to the gate of the transistor M7.
  • the delay voltage V delay is generated in the overall control unit 5 and is commonly input to all the node units 6.
  • the spike pulse spk output from the spike neuron circuit 20 is input to the gates of the transistors M8 and M9.
  • the inverter circuits INV5 and INV6 are connected in series.
  • the input side of the inverter circuit INV5 is connected to a common connection node (hereinafter referred to as “intermediate node n11”) of the transistors M8 and M9, and the output side of the inverter circuit INV6 is NOR.
  • the spike pulse spk output from the spike neuron circuit 20 is directly input to the other input terminal of the NOR circuit 51.
  • the output terminal of the NOR circuit 51 is the output terminal T out of the delay pulse generator 21.
  • the gates of the transistors M8 and M9 are at L level, the transistor M8 is on, and the transistor M9 is off.
  • charge to the intermediate node n11 flows from the power supply, it is charged parasitic capacitance between the intermediate nodes n11 ground plane, the voltage V a of the intermediate node n11 becomes substantially the power supply voltage V 0 .
  • the voltage Vb of the node on the output side of the inverter circuit INV6 (hereinafter referred to as “intermediate node n12”) is at the H level, and the output voltage (delayed pulse) D_spk of the NOR circuit 51 is at the L level.
  • the transistor M8 When a spike pulse spk is input from the spike neuron circuit 20, the transistor M8 is turned off and the transistor M9 is turned on only for a short period when the spike pulse spk is at the H level, and the parasitic capacitance between the intermediate node n11 and the ground plane is increased. is discharged to the voltage V a is 0 the intermediate node n11. Along with the voltage V a of the intermediate nodes n11 is 0, the voltage V b of the intermediate node n12 becomes L level. However, since the spike pulse spk is at the H level, the output voltage (delay pulse) D_spk of the NOR circuit 51 remains at the L level.
  • the output voltage (delayed pulse) D_spk of the NOR circuit 51 becomes H level.
  • the transistor M8 is turned on again and the transistor M9 is turned off, so that charge flows from the power source to the intermediate node n11 via the transistors M7 and M8, and as shown in FIG. voltage V a is increased to substantially the power supply voltage V 0 at a constant gradient.
  • the instant the voltage V a of the intermediate nodes n11 is Sugi' the threshold voltage of the inverter circuit INV5 In this process, the output of the inverter circuit INV6 becomes H level, the output voltage of NOR circuit 51 (delayed pulse) D_spk becomes L level again .
  • the position on the time axis of the falling edge of the delay pulse D_spk substantially represents the time when the phase state value ⁇ becomes zero.
  • Pulse generator with selector 23, 24, 25, 26 The configurations of the selector-equipped pulse generators 23, 24, 25, and 26 are the same as those shown in FIG. 9 of the first embodiment, and a description of the circuit configuration is omitted. Only the circuit operation will be described here.
  • FIG. 28 is a timing chart showing the operation of the selector-equipped pulse generators 23, 24, 25, and 26 in the fourth embodiment.
  • the gates of the transistors M1 and M3 are at L level, the transistor M1 is on, and the transistor M3 is off. Further, the update coefficient voltage Vg is applied to the gate of the transistor M2, and the transistor M2 operates in a linear region.
  • the transistors M1, M2 charge to the intermediate node n2 flows from the power supply, is charged parasitic capacitance between the intermediate node n2 ground plane, the voltage of the intermediate node n2 is approximately the supply voltage V 0.
  • the voltage Vc of the node on the output side of the inverter circuit 31 (hereinafter referred to as “intermediate node n3”) is H level, and the voltage of the node on the output side of the NOR circuit 32 (hereinafter referred to as “intermediate node n4”).
  • OUT_PM is at L level.
  • the transistor M1 When the delay pulse D_spk rises to the H level, the transistor M1 is turned off and the transistor M3 is turned on, the parasitic capacitance between the intermediate node n2 and the ground plane is discharged, and the voltage at the intermediate node n2 becomes zero. As the voltage at the intermediate node n2 becomes 0, the voltage Vc at the intermediate node n3 also becomes L level. However, since the delay pulse D_spk is at the H level, the voltage OUT_PM of the intermediate node n4 that is the output voltage of the NOR circuit 32 remains at the L level.
  • the delay pulse D_spk falls to the L level
  • the voltage OUT_PM of the intermediate node n4 that is the output voltage of the NOR circuit 32 becomes the H level.
  • the transistor M1 is turned on again, the transistor M3 is turned off, via the transistors M1, M2, from the power supply to the intermediate node n2, a current proportional to update coefficient voltage V g flows, the voltage of the intermediate node n2 Rises to a power supply voltage V 0 with a substantially constant slope.
  • the position of the output pulse on the time axis substantially represents the time when the phase state value ⁇ becomes 0, and the pulse width t g of the output pulse represents the magnitudes of the update coefficients G 1x , G 1y , G 2x , G 2y. It will be.
  • the demultiplexer 33 switches the output direction of the pulse output to the intermediate node n4 according to the update coefficient code signal sign.
  • the update coefficients G 1x , G 1y , G 2x , and G 2y are positive, an output pulse having a pulse width t g is output to the output terminal OUT_P, and the update coefficients G 1x , G 1y , G 2x , and G 2y are negative.
  • the output pulse of the pulse width t g is outputted to the output terminal OUT_M.
  • the output terminal OUT_P is connected to the input terminal R_top_p_gy1, R_bottom_p_gy1, _R_right_p_gx1, R_left_p_gx1, I_top_p_gy2, I_bottom_p_gy2, I_right_p_gx2, gI_left_p_gx2 of the state value update circuit 27.
  • the output terminal OUT_M is connected to one of the input terminals R_top_m_gy1, R_bottom_m_gy1, R_right_m_gx1, R_left_m_gx1, I_top_m_gy2, I_bottom_m_gy2, I_right_m_gx2, I_left_m_gx2 of the state value update circuit 27.
  • the overall control unit 5 performs an initialization process.
  • the update permission signal update_ena is set to the L state, and the pulse output of the pulse generators with selectors 23, 24, 25, and 26 is stopped, whereby the phase of the spike neuron circuit 20 by the state value update circuit 27 is stopped.
  • the update of the state value voltage Vr is stopped.
  • an initial charge is applied to the phase state value holding capacitor C 0 of each spike neuron circuit 20. Note that the method of providing an initial charge to the phase state value holding capacitor C 0, is as already described in [2] (1).
  • the overall control unit 5 sets the update permission signal update_ena to the H state.
  • the update processing of the phase state quantities ⁇ i, j r , ⁇ i, j i is asynchronously executed in parallel.
  • the circuit operation of the update process of the phase state quantities ⁇ i, j r , ⁇ i, j i in each node unit is as described in the first embodiment.
  • the overall control unit 5 sets the update permission signal update_ena to the L state. Accordingly, the pulse output of the selector with a pulse generator 23, 24, 25, 26 is stopped, updating the phase state value the voltage V r of the spike neuron circuit 20 according to the state value update circuit 27 is not performed. Results of Gabor filter calculations, because it is held as the phase of the phase state value the voltage V r of each spike neuron circuit 20 can output unit 4 obtains a calculation result by retrieving this phase as a pulse.
  • the phase pulse conversion circuit is not shown in FIG. 1, for example, a circuit as shown in FIG. 18 can be used.
  • Update processing is executed asynchronously and in parallel. Therefore, Gabor filter computation can be performed at high speed.
  • a subtracting circuit between the state value of the adjacent node unit and its own state value is not required, so that the circuit configuration is simplified and the mounting area is reduced.
  • each node unit of the information processing apparatus of the present invention is configured by a digital circuit.
  • the overall configuration of the information processing apparatus according to the fifth embodiment is the same as that shown in FIGS. 1 to 3 according to the first embodiment.
  • FIG. 29 is a diagram illustrating the overall configuration of each node unit 6 of the information processing apparatus according to the fifth embodiment.
  • the same reference numerals are given to the respective components corresponding to the first embodiment.
  • Each node unit 6 includes update triggers R_left and I_left from the real part node unit 7 and the imaginary part node unit 8 of the node unit 6 adjacent to the left side, and the real part node unit 7 and the imaginary part of the node unit 6 adjacent to the right side, respectively.
  • Update triggers R_right and I_right from the joint node unit 8 respectively, and update triggers R_top and I_top from the real part node unit 6 and the imaginary part node unit 8 of the adjacent node unit 6 on the upper side, respectively.
  • Update triggers R_bottom and I_bottom are input from the real part node unit 7 and the imaginary part node unit 8, respectively.
  • I_OUT_right, update triggers R_OUT_top and I_OUT_top are output to the upper adjacent node unit 6, and update triggers R_OUT_bottom and I_OUT_ bottom are output to the lower adjacent node unit 6.
  • a self-update trigger g0 is input from the overall control unit 5 to each node unit 6.
  • FIG. 30 is a block diagram showing an internal configuration of the real part node unit 7 (and the imaginary part node unit 8).
  • the real part node unit 7 (and the imaginary part node unit 8) includes a phase state value holding means 61, a phase advance means 62, a phase restoration means 63, a trigger generation means 64, and a phase update means 65.
  • the phase state value holding means 61 holds a phase state value ⁇ i (i is an index specifying the real part node unit 7 or the imaginary part node unit 8) unique to the module.
  • the phase advancing means 62 increases the phase state value ⁇ i held by the phase state value holding means 61 with time at a constant phase speed ⁇ .
  • phase restoring unit 63 resets the phase state value ⁇ i to the minimum phase state value ⁇ min .
  • the trigger generating means 64 outputs an update trigger trigger_OUT when the phase state value ⁇ i held by the phase state value holding means 61 has passed a predetermined zero phase state value ⁇ middle indicating that the phase is zero. .
  • This update trigger trigger_OUT is used for update node R_OUT_top, I_OUT_top, update trigger R_OUT_bottom, I_OUT_bottom, update trigger R_OUT_left, for real part node unit 7 and imaginary part node unit 8 of each node unit 6 adjacent vertically and horizontally. Output as I_OUT_left, update trigger R_OUT_right, I_OUT_right.
  • the phase update means 65 corresponds to the phase state value ⁇ held by the phase state value holding means 61 according to the adjacent position k of the node unit 6. i a (t k), on the phase state value ⁇ i (t k) to the phase state value obtained by adding a predetermined multiplied by the value G ik ⁇ i (t k) value (1 + G ik) ⁇ i (t k) Update.
  • the update triggers input from the trigger generation means 64 of the real part node unit 7 and the imaginary part node unit 8 adjacent to the upper side are respectively the update triggers R_top and I_top, and the real part node unit 7 adjacent to the lower side.
  • update triggers input from the trigger generating means 64 of the imaginary part node unit 8 are input from the trigger generating means 64 of the update part R_bottom, I_bottom, and the real part node unit 7 and the imaginary part node unit 8 adjacent to the left side, respectively.
  • Update triggers R_left, I_left, and update triggers input from the trigger generation means 64 of the real part node unit 7 and the imaginary part node unit 8 adjacent to the right side are update triggers R_right, I_right, respectively. It is written.
  • the phase update means 65 changes its own phase state value ⁇ i (t 0 ) to the phase state value ⁇ i (t 0 ).
  • the phase state value ⁇ i (t 0 ) is updated to a value ( ⁇ i (t 0 ) + G 0 ⁇ i (t 0 )) obtained by adding a value obtained by multiplying the phase state value ⁇ i (t 0 ) by G 0 .
  • t p (m ′, n ′) r , t p (m ′, n ′) i is the phase ⁇ m ′, n ′ r (t), t during the time interval (t p , t p + 1 ). This is the time when ⁇ m ′, n ′ i (t) becomes zero.
  • ⁇ (t ⁇ [t 1 , t 2 ]) represents a Kronecker symbol, and represents 1 when t is included in the section [t 1 , t 2 ], and 0 otherwise.
  • ⁇ t 1 may be set.
  • FIG. 31 is a flowchart showing the phase progress / update processing in each real part node unit 7 and imaginary part node unit 8 of the information processing apparatus according to the present embodiment.
  • step S1 the overall control unit 5 resets time t, which is an internal variable, to 0. Note that the time t is common to all the node units 6, is managed by the overall control unit 5, and is input to each node unit 6 as a clock signal.
  • step S ⁇ b> 2 the input unit 3 sends an initial value (for example, image data) input from the outside to the phase state value holding unit 61 of the real part node unit 7 of each node unit 6 as the phase state value ⁇ .
  • the method of setting the initial value is the same as that in the first embodiment.
  • the input unit 3 connects each initial value node unit of each row from each initial value input line 10.
  • the initial value of the phase state value can be set in each real part node unit 7.
  • the phase state value ⁇ of the phase state value holding means 61 of the imaginary part node unit 8 of all the node units 6 is reset to ⁇ min ( ⁇ 0).
  • step S3 the overall control unit 5 increments the time t by 1.
  • step S7 the phase update means 65 of each real part node unit 7 and each imaginary part node unit 8 executes a phase state value update process. Details of this update processing will be described later (see FIGS. 32 and 33). This process is simultaneously executed in parallel in all the node units 6.
  • step S8 the overall control unit 5 determines whether or not the time t has reached a predetermined calculation end time t end . If the calculation end time t end has not been reached, the process returns to step S3. If the calculation end time t end has been reached, the iterative process is terminated and the process proceeds to step S9.
  • step S9 the output unit 4 outputs the phase state value ⁇ held in the real part node unit 7 and the imaginary part node unit 8 of all the node units 6 and ends the process.
  • data processed by the Gabor filter is obtained as each output phase state value ⁇ .
  • This output method is such that after the overall control unit 5 selects a column with the column selector 14, the output unit 4 uses the real part node unit 7 and the imaginary part in each row of the real part external output line 11 and the imaginary part external output line 12. This is done by reading the phase state value of the local node unit 8.
  • phase state value update process in step S7 will be described.
  • both the real part node unit 7 and the imaginary part node unit 8 will be described together.
  • phase state value holding means 61 of the real part node unit 7 and the imaginary part node unit 8 of the node unit U i, j are respectively phase state values ⁇ i, j r , ⁇ i, j r (0) and It is assumed that the phase state values ⁇ i, j i , ⁇ i, j i (0) are included.
  • step S11 the real part node unit 7 and the imaginary part node unit 8 store the phase state values ⁇ i, j r , ⁇ i, j i at the previous time respectively. Copy and save to internal variables ⁇ i, j r (0) and ⁇ i, j i (0) . These are used to determine whether or not the self-node is ignited in later steps S31 and S34.
  • step S12 the phase advance means 62 of the real part node unit 7 and the imaginary part node unit 8 has the phase state value ⁇ i held in its own phase state value holding means 61.
  • j r and ⁇ i, j i are advanced by ⁇ . That is, the calculation of ⁇ i, j r ⁇ ⁇ i, j r + ⁇ , ⁇ i, j i ⁇ ⁇ i, j i + ⁇ is executed. This corresponds to the calculation of the phase progression term (third term on the right side) of the equations (18a) and (18b).
  • step S13 the phase update means 65 of the real part node unit 7 and the imaginary part node unit 8 has a true value (True) as to the self-update trigger g0 input from the overall control unit 5. It is determined whether or not.
  • the self-update trigger g0 is a true value (True)
  • step S14 the phase state values ⁇ i, j r , ⁇ i, j i are set to ⁇ G 0 ⁇ i, j r , ⁇ G 0 ⁇ , respectively. i, and the updated by adding j i, and the process proceeds to the next step S15.
  • step S15 the phase update means 65 of the real part node unit 7 and the imaginary part node unit 8 determines from the left adjacent node unit U i-1, j It is determined whether or not the input update trigger R_left is a true value (True).
  • the update trigger R_left is a true value (True)
  • step S16 the phase state values ⁇ i, j r , ⁇ i, j i are set to ⁇ G 1x ⁇ i, j r , ⁇ G 2x ⁇ i , respectively. , j i are added to update, and the process proceeds to the next step S17.
  • step S17 the phase update means 65 of the real part node unit 7 and the imaginary part node unit 8 determines from the right side adjacent node unit U i + 1, j. It is determined whether or not the input update trigger R_right is a true value (True). If the update trigger R_right is a true value (True), in step S18, the phase state values ⁇ i, j r , ⁇ i, j i are set to ⁇ G 1x ⁇ i, j r , + G 2x ⁇ i, j i is added to update, and the process proceeds to the next step S19.
  • step S19 Update calculation by firing of real part of upper adjacent node
  • the phase update means 65 of the real part node unit 7 and the imaginary part node unit 8 determines from the upper adjacent node unit U i, j ⁇ 1. It is determined whether or not the input update trigger R_top is a true value (True).
  • the update trigger R_top is a true value (True)
  • step S20 the phase state values ⁇ i, j r , ⁇ i, j i are respectively set to ⁇ G 1y ⁇ i, j r , + G 2y ⁇ i, j i is added to update, and the process proceeds to the next step S21.
  • step S21 the phase update means 65 of the real part node unit 7 and the imaginary part node unit 8 determines the lower adjacent node unit U i, j + 1. It is determined whether or not the update trigger R_bottom input from is a true value (True). When the update trigger R_bottom is a true value (True), in step S22, the phase state values ⁇ i, j r , ⁇ i, j i are set to ⁇ G 1y ⁇ i, j r , ⁇ G 2y ⁇ i , respectively. , j i are added for updating, and the process proceeds to the next step S23.
  • step S23 the phase update means 65 of the real part node unit 7 and the imaginary part node unit 8 determines from the left side adjacent node unit U i-1, j It is determined whether or not the input update trigger I_left is a true value (True). If the update trigger I_left is a true value (True), in step S24, the phase state values ⁇ i, j r , ⁇ i, j i are set to + G 2x ⁇ i, j r , ⁇ G 1x ⁇ i, Update is performed by adding j i, and the process proceeds to the next step S25.
  • step S25 Update calculation by firing of imaginary part of right adjacent node
  • the phase update means 65 of the real part node unit 7 and the imaginary part node unit 8 determines from the right side adjacent node unit U i + 1, j It is determined whether or not the input update trigger I_right is a true value (True).
  • the update trigger I_right is a true value (True)
  • step S26 the phase state values ⁇ i, j r , ⁇ i, j i are set to ⁇ G 2x ⁇ i, j r , ⁇ G 1x ⁇ i , respectively. , j i are added, and the process proceeds to the next step S27.
  • step S27 Update calculation by firing of imaginary part of upper adjacent node
  • the phase update means 65 of the real part node unit 7 and the imaginary part node unit 8 starts from the upper adjacent node unit U i, j ⁇ 1. It is determined whether or not the input update trigger I_top is a true value (True). If the update trigger I_top is a true value (True), in step S28, the phase state values ⁇ i, j r , ⁇ i, j i are set to ⁇ G 2y ⁇ i, j r , ⁇ G iy ⁇ i , respectively. , j i are added, and the process proceeds to the next step S29.
  • step S29 Update calculation by firing of imaginary part of lower adjacent node
  • the phase update means 65 of the real part node unit 7 and the imaginary part node unit 8 receives the lower adjacent node unit U i, j + 1. It is determined whether or not the update trigger I_bottom input from is a true value (True).
  • the update trigger I_bottom is a true value (True)
  • step S30 the phase state values ⁇ i, j r , ⁇ i, j i are respectively + G 2y ⁇ i, j r , ⁇ G 1y ⁇ i, j i is added to update, and the process proceeds to the next step S31.
  • step S31 the trigger generating means 64 of the real part node unit 7 determines that its own phase state value ⁇ i, j r is zero phase state value ⁇ middle It is determined whether or not it has passed. That is, whether or not the phase state value ⁇ i, j r (0) at the previous time is smaller than the zero phase state value ⁇ middle and the phase state value ⁇ i, j r at the current time is greater than or equal to the zero phase state value ⁇ middle Determine.
  • step S32 the trigger generating means 64 determines the adjacent node units U i ⁇ 1, j , U i + 1, j , U i, j ⁇ Update triggers R_OUT_left, R_OUT_right, R_OUT_top, and R_OUT_bottom are output for 1 , U i, j + 1 (these values are set to True), and the process proceeds to the next step S34.
  • step S34 the trigger generation means 64 of the imaginary part node unit 8 determines that its own phase state value ⁇ i, j i is zero phase state value ⁇ middle It is determined whether or not it has passed. That is, whether or not the phase state value ⁇ i, j i (0) at the previous time is smaller than the zero phase state value ⁇ middle and the phase state value ⁇ i, j i at the current time is greater than or equal to the zero phase state value ⁇ middle Determine.
  • step S35 the trigger generating means 64 determines the adjacent node units U i ⁇ 1, j , U i + 1, j , U i, j ⁇ Update triggers I_OUT_left, I_OUT_right, I_OUT_top, and I_OUT_bottom are output for 1 , U i, j + 1 (these values are set to True), and the process proceeds to the next step S37.
  • the information processing apparatus can execute the Gabor filter operation as shown in the equations (18a) to (18d).
  • the information processing apparatus is configured as a digital circuit, and thus can be configured as a circuit itself.
  • the information processing apparatus is provided as a programmable logic device (PLD) reconfiguration program, and the PLD is based on this program. It is also possible to configure by reconfiguring.
  • PLD programmable logic device
  • region-based coupled MRF model region-based coupled Markov random field model
  • Region-based coupled MRF model First, the region-based coupled MRF model will be briefly described. Conventionally, a combined MRF model has been proposed as an image processing model for performing global image region division (see Non-Patent Document 4). In the coupled MRF model, image smoothing and edge enhancement can be performed simultaneously by adaptively changing the interaction between elements corresponding to pixels. The interaction between elements is determined by a hidden variable.
  • FIG. 34 is a diagram showing a neural network model of a one-dimensional region-based coupled MRF.
  • the region-based coupled MRF model employs a structure in which an intensity process and a label process are coupled to each other. Then, the interaction is expressed using a difference in state value with an adjacent pixel.
  • d) in the region-based coupled MRF model is defined as follows (see Non-Patent Documents 4 and 5).
  • the intensity value f i is an estimated value corresponding to d i and is called an “intensity process”.
  • the phase variable ⁇ i is a phase as a hidden variable corresponding to the i-th node (pixel) (hereinafter, referred to as “label phase” in order to avoid confusion with the term “phase” in the spike neuron circuit 20). And is called the “label process”.
  • label phase a hidden variable corresponding to the i-th node (pixel)
  • This label phase variable ⁇ i controls each other with the corresponding intensity value f i and the label phase variable ⁇ j of the adjacent node.
  • ⁇ and J are parameters (constants) for adjusting the influence of the second and third terms on the right side of the equation (19a), respectively.
  • the sum related to i is taken for all pixels in the image, and the sum related to j is taken for all pixels adjacent to the target pixel i.
  • the first term of the equation (19a) represents a data fitting term, and is a term that acts to bring f i closer to d i .
  • the second term represents the smoothness of the strength process. This second term is introduced based on an empirical assumption that adjacent nodes tend to have the same intensity value (smoothness). Smoothness is controlled by the label phase difference ⁇ j, i . When ⁇ j, i is near 0, it represents that the target pixel and the adjacent pixel are in the same region, and the second term (smoothness constraint condition) is effective. Therefore, the intensity change is controlled to be smooth in the same region.
  • ⁇ f and ⁇ ⁇ are update constants, and are set to appropriate minute values.
  • h f and h ⁇ are constants for adjusting the update amount.
  • the function A ( ⁇ f j, i ) is represented by the following equation (22a)
  • the function B ( ⁇ f j, i ) is represented by the following equation (22b).
  • FIGS. 35A and 35B show functions A ( ⁇ f j, i ) and B ( ⁇ f j, i ).
  • Q is a control parameter for determining a threshold value for switching between smoothing and edge enhancement, and is introduced instead of ⁇ (2J / ⁇ ).
  • FIGS. 35C and 35D show the functions S ( ⁇ j, i ) and C ( ⁇ j, i ).
  • ⁇ and ⁇ are parameters representing the width at which the update amount becomes 0, and the sections ⁇ and ⁇ are set around the convergence point and the divergence point. This prevents the update from jumping over the convergence point and causing the operation to become unstable.
  • ⁇ 0 (t) and ⁇ 0 (t) are reference phases of the period T, and are expressed by the following equations as in the equation (6b).
  • ⁇ i (t) and ⁇ i (t) are the phases of the intensity process and the label process at the node i.
  • the information processing apparatus is specifically configured using the update formulas (28a) and (28b).
  • FIG. 36 is a diagram illustrating a configuration of the node unit network 2 according to the sixth embodiment.
  • the node unit 6, the pixel array 13, the column selector 14, and the driver 16 are the same as in FIG.
  • the driver 15 is omitted.
  • the internal configuration of the pixel array 13 is the same as that shown in FIG.
  • each node unit 6 is coupled to four node units 6 that are adjacent vertically and horizontally.
  • the node unit 6 in the m-th row and the n-th column is referred to as “node unit U m, n ”.
  • B ( ⁇ j ⁇ i ) ⁇ B ( ⁇ i ⁇ j )
  • B ( ⁇ j ⁇ i ) is adjacent to the top and bottom once in any of the left and right adjacent node pairs. If the calculation is performed once in any of the node pairs to be performed, the calculated value can be shared by the node pairs.
  • the function value A ( ⁇ j (t i ⁇ )) of the equation (28b) is expressed as the following equation (30). Can do.
  • FIG. 37A shows a time function A (t).
  • phase velocity
  • a time function B (t) of the equation (32b) is shown in FIG.
  • the function S ( ⁇ j (t i ⁇ )) of the equation (28b) is expressed by the following equation (33a) in consideration of the function S being an odd function (see FIG. 35C).
  • S ( ⁇ j (t i ⁇ )) can be obtained.
  • the time function S (t) of the equation (33b) is shown in FIG.
  • the domain is [ ⁇ T / 2 ⁇ ⁇ (t ⁇ t i ⁇ ) ⁇ T / 2], but FIG. 37 (c) is the domain [0 ⁇ t ⁇ t i ⁇ ⁇ 2T. ].
  • FIG. 38 shows a functional configuration diagram in the case where each node unit 6 for realizing the update calculation represented by the equations (28a) and (28b) is configured.
  • the coordinates of the node corresponding to the node unit 6 shown in FIG. 38 are (m, n).
  • the node unit 6 includes an intensity process node unit 7 ′ and a label process node unit 8 ′, which correspond to the real part node unit 7 and the imaginary part node unit 8 of FIG. Yes.
  • the intensity process node unit 7 ′ and the label process node unit 8 ′ include spike neuron circuits 20i and 20l and state value update circuits 27i and 27l, respectively, which are the spike neuron circuit 20 and FIG. This corresponds to the state value update circuit 27.
  • the intensity process node unit 7 ′ includes A function operation circuits 71a and 71b, B function operation circuits 72a and 72b, and B / C function operation circuits 73a, 73b, 73c, and 73d, and a state value update circuit.
  • 27i includes pulse update circuits 74a, 74b, 74c, and 74d corresponding to the respective B / C function calculation circuits 73a, 73b, 73c, and 73d.
  • the label process node unit 8 ′ further includes a C function calculation circuit 75, an S function calculation circuit 76, and A / S function calculation circuits 77a, 77b, 77c, and 77d.
  • Pulse update circuits 78a, 78b, 78c, and 78d are provided corresponding to the A / S function arithmetic circuits 77a, 77b, 77c, and 77d.
  • the time position t m, n ⁇ of the spike pulse represents the state value of the intensity process at the node (m, n) (phase difference from the reference phase ⁇ 0 ). This spike pulse (t m, n ⁇ ) is also output to the node unit 6 of each adjacent node.
  • the time position t m, n ⁇ of the spike pulse represents the state value (phase difference from the reference phase ⁇ 0 ) of the label process of the node (m, n). This spike pulse (t m, n ⁇ ) is also output to the node unit 6 of each adjacent node.
  • the A function arithmetic circuits 71a and 71b respectively calculate the term A ( ⁇ j (t i ⁇ )) of the equation (28b).
  • a self-node (m, n) spike pulse (t m, n ⁇ ) and right adjacent node (m + 1, n) spike pulse (t m + 1, n ⁇ ) are input to the A function arithmetic circuit 71a.
  • a ( ⁇ m + 1, n (t m, n ⁇ )) is calculated according to equation (30) and held in the internal register, and the A ⁇ S function calculation circuit 77b and the right adjacent node (m + 1) are calculated. , n).
  • the A function arithmetic circuit 71b receives the spike pulse (t m, n ⁇ ) of the self node (m, n) and the spike pulse (t m, n + 1 ⁇ ) of the lower adjacent node (m, n + 1). Then, A ( ⁇ m, n + 1 (t m, n ⁇ )) is calculated by equation (30) and held in the internal register, and the A ⁇ S function calculation circuit 77d and the lower adjacent node (m, n +1).
  • Each of the B function calculation circuits 72a and 72b calculates the term B ( ⁇ j (t i ⁇ )) of the equation (28a).
  • the B function arithmetic circuit 72a a spike pulse (t m + 1, n ⁇ ) self node (m, n) spike pulses (t m, n ⁇ ) and right adjacent node (m + 1, n) is input Then, B ( ⁇ m + 1, n (t m, n ⁇ )) is calculated by the equation (32a) and held in the internal register, and the B ⁇ C function calculation circuit 73b and the right adjacent node (m + 1) are calculated. , n).
  • a spike pulse (t m, n ⁇ ) of the self-node (m, n) and a spike pulse (t m, n + 1 ⁇ ) of the lower adjacent node (m, n + 1) are input to the B function arithmetic circuit 72b. Then, B ( ⁇ m, n + 1 (t m, n ⁇ )) is calculated by the equation (32a) and held in the internal register, and the B ⁇ C function calculation circuit 73d and the lower adjacent node (m, n +1).
  • the C function arithmetic circuit 75 outputs the function C of Expression (28a).
  • the C function arithmetic circuit 75 has a pulse shifted half a cycle before the spike pulse (t m, n ⁇ ) of the self-node (m, n), that is, a reset pulse generated when ⁇ m, n (t) is reset. (T m, n ⁇ -T / 2) is input.
  • the C function calculation circuit 75 converts the function C ( ⁇ (t ⁇ t m, n ⁇ )) defined by the equation (34b) into the B ⁇ C function. It outputs to the arithmetic circuits 73a, 73b, 73c, 73d.
  • the S function arithmetic circuit 76 outputs the function S of Expression (28b).
  • a spike pulse (t m, n ⁇ ) and a reset pulse (t m, n ⁇ ⁇ T / 2) of the self-node (m, n) are input to the S function arithmetic circuit 76.
  • the S function calculation circuit 76 converts the function S ( ⁇ (t ⁇ t m, n ⁇ )) defined by the equation (33b) into the A ⁇ S function.
  • the B / C function arithmetic circuits 73a, 73b, 73c, and 73d respectively have products B ( ⁇ m, n-1 (t m, n ⁇ )) C ( ⁇ (t ⁇ t m, n ⁇ )), B ( ⁇ m + 1, n (t m, n ⁇ )) C ( ⁇ (t ⁇ t m, n ⁇ )), B ( ⁇ m ⁇ 1, n (t m, n ⁇ )) C ( ⁇ (t ⁇ t m, n ⁇ )) ), B ( ⁇ m, n + 1 (t m, n ⁇ )) C ( ⁇ (t ⁇ t m, n ⁇ )) are calculated and output to the pulse update circuits 74a, 74b, 74c, 74d.
  • the function C ( ⁇ (t ⁇ t m, n ⁇ )) is commonly input from the C function calculation circuit 75 to each of the B / C function calculation circuits 73a, 73b, 73c, and 73d. Further, the function value B ( ⁇ m, n-1 (t m, n ⁇ )) is input from the node unit 6 of the upper adjacent node (m, n-1) to the B / C function calculation circuit 73a. The product of the function C ( ⁇ (t ⁇ t m, n ⁇ )) is output to the pulse update circuit 74a.
  • a function value B ( ⁇ m + 1, n (t m, n ⁇ )) is input to the B / C function calculation circuit 73b from the B function calculation circuit 72a of the self-node (m, n), and the function C ( The product of ⁇ (t ⁇ t m, n ⁇ )) is output to the pulse update circuit 74b.
  • a function value B ( ⁇ m ⁇ 1, n (t m, n ⁇ )) is input from the node unit 6 of the left adjacent node (m ⁇ 1, n) to the B ⁇ C function calculation circuit 73c. The product of ( ⁇ (t ⁇ t m, n ⁇ )) is output to the pulse update circuit 74c.
  • the function value B ( ⁇ m, n + 1 (t m, n ⁇ )) is input to the B / C function calculation circuit 73d from the B function calculation circuit 72b of the self-node (m, n), and the function C ( The product of ⁇ (t ⁇ t m, n ⁇ )) is output to the pulse update circuit 74d.
  • the pulse update circuit 74a receives the product B ( ⁇ m, n-1 (t m, n ⁇ )) C ( ⁇ (t ⁇ t m, n ⁇ )) from the B / C function calculation circuit 73a and A spike pulse (t m, n-1 ⁇ ) is input from the node unit 6 of the adjacent node (m, n ⁇ 1).
  • the time t m the function value B in the n-1 ⁇ ( ⁇ m, n -1 (t m, n ⁇ )) C ( ⁇ (t m, n-1 ⁇ -t m, n ⁇ )) is calculated, this
  • the phase ⁇ m, n (t) of the spike neuron circuit 20i is updated with the function value. That is, the calculation of the sum of Expression (28a) is performed.
  • the pulse update circuit 74b receives the product B ( ⁇ m + 1, n (t m, n ⁇ )) C ( ⁇ (t ⁇ t m, n ⁇ )) from the B / C function calculation circuit 73b, A spike pulse (t m + 1, n ⁇ ) is input from the node unit 6 of the adjacent node (m + 1, n).
  • the time t m + 1, is calculated function value in n ⁇ B ( ⁇ m + 1, n (t m, n ⁇ )) C ( ⁇ (t m + 1, n ⁇ -t m, n ⁇ )) , and this
  • the phase ⁇ m, n (t) of the spike neuron circuit 20i is updated with the function value. That is, the calculation of the sum of Expression (28a) is performed.
  • the pulse update circuit 74c receives the product B ( ⁇ m ⁇ 1, n (t m, n ⁇ )) C ( ⁇ (t ⁇ t m, n ⁇ )) from the B / C function calculation circuit 73c and the left A spike pulse (t m-1, n ⁇ ) is input from the node unit 6 of the adjacent node (m-1, n).
  • the time t m-1 then calculates the function value at n ⁇ B ( ⁇ m-1, n (t m, n ⁇ )) C ( ⁇ (t m-1, n ⁇ -t m, n ⁇ )) , and this
  • the phase ⁇ m, n (t) of the spike neuron circuit 20i is updated with the function value. That is, the calculation of the sum of Expression (28a) is performed.
  • the pulse update circuit 74d receives the product B ( ⁇ m, n + 1 (t m, n ⁇ )) C ( ⁇ (t ⁇ t m, n ⁇ )) from the B / C function calculation circuit 73d and A spike pulse (t m, n + 1 ⁇ ) is input from the node unit 6 of the adjacent node (m, n + 1).
  • the time t m, n + function value in 1 ⁇ B ( ⁇ m, n + 1 (t m, n ⁇ )) C ( ⁇ (t m, n + 1 ⁇ -t m, n ⁇ )) is calculated, this
  • the phase ⁇ m, n (t) of the spike neuron circuit 20i is updated with the function value. That is, the calculation of the sum of Expression (28a) is performed.
  • the A / S function arithmetic circuits 77a, 77b, 77c, and 77d respectively have products A ( ⁇ m, n-1 (t m, n ⁇ )) S ( ⁇ (t ⁇ t m, n ⁇ )), A ( ⁇ m + 1, n (t m, n ⁇ )) S ( ⁇ (t ⁇ t m, n ⁇ )), A ( ⁇ m ⁇ 1, n (t m, n ⁇ )) S ( ⁇ (t ⁇ t m, n ⁇ )) ), A ( ⁇ m, n + 1 (t m, n ⁇ )) S ( ⁇ (t ⁇ t m, n ⁇ )) is calculated and output to the pulse update circuits 78a, 78b, 78c, 78d .
  • the function S ( ⁇ (t ⁇ t m, n ⁇ )) is commonly input from the S function calculation circuit 76 to each of the A / S function calculation circuits 77a, 77b, 77c, and 77d.
  • the function value A ( ⁇ m, n-1 (t m, n ⁇ )) is input from the node unit 6 of the upper adjacent node (m, n-1) to the A / S function arithmetic circuit 77a.
  • the product of the function S ( ⁇ (t ⁇ t m, n ⁇ )) is output to the pulse update circuit 78a.
  • the function value A ( ⁇ m + 1, n (t m, n ⁇ )) is input to the A / S function calculation circuit 77b from the A function calculation circuit 71a of the self-node (m, n).
  • the product of ⁇ (t ⁇ t m, n ⁇ )) is output to the pulse update circuit 78b.
  • the function value A ( ⁇ m ⁇ 1, n (t m, n ⁇ )) is input from the node unit 6 of the left adjacent node (m ⁇ 1, n) to the A ⁇ S function calculation circuit 77c.
  • the product of ( ⁇ (t ⁇ t m, n ⁇ )) is output to the pulse update circuit 78c.
  • the function value A ( ⁇ m, n + 1 (t m, n ⁇ )) is input to the A / S function calculation circuit 77d from the A function calculation circuit 71b of the self-node (m, n), and the function S ( The product of ⁇ (t ⁇ t m, n ⁇ )) is output to the pulse update circuit 78d .
  • the product A ( ⁇ m, n-1 (t m, n ⁇ )) S ( ⁇ (t ⁇ t m, n ⁇ )) is input to the pulse update circuit 78a from the A / S function calculation circuit 77a.
  • a spike pulse (t m, n-1 ⁇ ) is input from the node unit 6 of the adjacent node (m, n ⁇ 1).
  • the time t m the function value in the n-1 ⁇ A ( ⁇ m, n-1 (t m, n ⁇ )) S ( ⁇ (t m, n-1 ⁇ -t m, n ⁇ )) is calculated, this
  • the phase ⁇ m, n (t) of the spike neuron circuit 20l is updated with the function value. That is, the calculation of the sum of Expression (28b) is performed.
  • the product A ( ⁇ m + 1, n (t m, n ⁇ )) S ( ⁇ (t ⁇ t m, n ⁇ )) is input to the pulse update circuit 78b from the A / S function calculation circuit 77b, and the right A spike pulse (t m + 1, n ⁇ ) is input from the node unit 6 of the adjacent node (m + 1, n).
  • the time t m + 1 calculates a function value A ( ⁇ m + 1, n (t m, n ⁇ )) S ( ⁇ (t m + 1, n ⁇ -t m, n ⁇ )) and in Enukushi, this
  • the phase ⁇ m, n (t) of the spike neuron circuit 20l is updated with the function value. That is, the calculation of the sum of Expression (28b) is performed.
  • the product A ( ⁇ m ⁇ 1, n (t m, n ⁇ )) S ( ⁇ (t ⁇ t m, n ⁇ )) is input to the pulse update circuit 78c from the A / S function calculation circuit 77c, and the left A spike pulse (t m-1, n ⁇ ) is input from the node unit 6 of the adjacent node (m-1, n).
  • the time t m-1 then calculates the function value A ( ⁇ m-1, n (t m, n ⁇ )) S ( ⁇ (t m-1, n ⁇ -t m, n ⁇ )) and in Enukushi, this
  • the phase ⁇ m, n (t) of the spike neuron circuit 20l is updated with the function value. That is, the calculation of the sum of Expression (28b) is performed.
  • the product A ( ⁇ m, n + 1 (t m, n ⁇ )) S ( ⁇ (t ⁇ t m, n ⁇ )) is input to the pulse update circuit 78d from the A / S function calculation circuit 77d.
  • a spike pulse (t m, n + 1 ⁇ ) is input from the node unit 6 of the adjacent node (m, n + 1).
  • the time t m, n + function values in 1 ⁇ A ( ⁇ m, n + 1 (t m, n ⁇ )) S ( ⁇ (t m, n + 1 ⁇ -t m, n ⁇ )) is calculated, this
  • the phase ⁇ m, n (t) of the spike neuron circuit 20l is updated with the function value. That is, the calculation of the sum of Expression (28b) is performed.
  • FIG. 39 is a circuit block diagram of the node unit 6 of FIG. 39, the column selection signal line 9 and the initial value input line 10 are the same as those in FIG. Further, the intensity process node unit 7 ′ and the label process node unit 8 ′ respectively correspond to components having the same reference numerals in FIG.
  • the strength process node unit 7 ' corresponds to the real part node unit 7 in FIG. 4
  • the label process node unit 8' corresponds to the imaginary part node unit 8 in FIG.
  • a real part external output line 11 ′ corresponding to the real part external output line 11 in FIG. 4 and a label process external output line 12 ′ corresponding to the imaginary part external output line 12 in FIG. 4 are provided. Yes.
  • a pulse as shown in Table 3 is input.
  • the “adjacent node orientation” column indicates the orientation of the adjacent node unit U m ′, n ′ that outputs a signal to the node unit U m, n of interest (the orientation viewed from the node unit U m, n ). is there.
  • “upper” indicates the adjacent node unit U m ⁇ 1, n .
  • the “adjacent node type” column indicates the type (“intensity process node unit 7 ′” or “label process node unit 8 ′”) of the adjacent node unit U m ′, n ′ that outputs a signal.
  • pulses as shown in Table 5 are input / output between the intensity process node unit 7 ′ and the label process node unit 8 ′ therein.
  • FIG. 40 is a block diagram showing the internal configuration of the strength process node unit 7 ′.
  • a column selection signal line 9 an initial value input line 10
  • an intensity process external output line 11 ′ correspond to those having the same symbols in FIG.
  • those corresponding to the components of FIG. 38 are denoted by the same reference numerals.
  • the intensity process node unit 7 ′ includes a spike / neuron circuit 20i, a state value update circuit 27i, two A function operation circuits 71a and 71b, two B function operation circuits 72a and 72b, and four B / C function operation circuits 73a. , 73b, 73c, 73d, and column selection switches 28, 29.
  • the state value update circuit 27i includes pulse update circuits 74a, 74b, 74c, and 74d in a one-to-one correspondence with the B / C function calculation circuits 73a, 73b, 73c, and 73d.
  • the column selection switches 28 and 29 correspond to those having the same symbols in FIG.
  • the spike / neuron circuit 20i and the state value update circuit 27i correspond to the spike / neuron circuit 20 and the state value update circuit 27 of FIG. 5, respectively.
  • the spike neuron circuit 20i functions as a phase state value holding unit that holds a unique phase state value in the intensity process node unit 7 ′, and the phase state held by the phase state value holding unit.
  • the phase state value held by the phase advance means and the phase state value holding means that changes the value with time at a constant phase speed ⁇ reaches the maximum phase state value
  • the phase state value is reset to the minimum phase state value. It functions as a phase restoring means and a trigger generating means for firing and outputting an update trigger when the phase state value exceeds the zero phase state value.
  • the phase ⁇ m, n (t) is configured to constantly travel according to the equation (25a) at a constant phase velocity ⁇ .
  • An initial value of intensity is input from the initial value input line 10 to the spike neuron circuit 20 i via the column selection switch 28.
  • the column selection switch 28 is closed when the column selection signal column_selector is at the H level, and the initial value d (m, n) (pixel value) of the intensity value f (m, n) is supplied to the spike neuron circuit 20i as a PWM signal. Entered.
  • the spike neuron circuit phase state value holding capacitor C 0 of 20i, each pulse updating circuit 74a, 74b, 74c, the state value update current 74d outputs are input.
  • the spike neuron circuit 20i fires when the phase ⁇ m, n (t) exceeds zero.
  • the spike neuron circuit 20i outputs a spike pulse spike_int when fired, and the spike pulse spike_int is output to the node units U m-1, n , U m, n-1 adjacent on the left side and the upper side. (See FIGS. 38, 39, and Table 4) and input to each A function calculation circuit 71a, 71b and each B function calculation circuit 72a, 72b.
  • the spike pulse spike_int is output to the intensity process external output line 11 ′ via the column selection switch 29 when the cellular structure network operation is completed.
  • the column selection switch 29 is closed when the column selection signal column_selector is at the H level, and a spike pulse spike_int is output to the intensity process external output line 11 ′.
  • the spike neuron circuit 20i outputs an ignition end signal comp_int which is H level when the phase ⁇ m, n (t) is 0 or more and L level when the phase ⁇ m, n (t) is less than 0.
  • the ignition end signal comp_int is output to the node units U m, n ⁇ 1 , U m ⁇ 1, n adjacent to the upper side and the left side (see FIGS. 38, 39, and Table 4), and each A function arithmetic circuit 71a and 71b and B function calculation circuits 72a and 72b.
  • the A-function arithmetic circuits 71a and 71b are the function values A ( ⁇ m + 1, n (t m, n ⁇ )), A ( ⁇ m, ) of the time function A (t) shown in equations (30) and (31) .
  • This circuit calculates n + 1 (t m, n ⁇ )) and holds the calculated value.
  • Spike pulses spike_int and firing end signal comp_int output from the spike neuron circuit 20 are input to the A function arithmetic circuits 71a and 71b.
  • the A function arithmetic circuit 71a receives the spike pulse spike_int_right (t m + 1, n ⁇ ) output from the right adjacent node unit U m + 1, n and the firing end signal comp_int_right, and the A function arithmetic circuit 71b. Are supplied with a spike pulse spike_int_bottom (t m, n + 1 ⁇ ) output from the lower adjacent node unit U m, n + 1 and an ignition end signal comp_int_bottom.
  • the A function arithmetic circuit 71b generates the time function A (t) of the equation (31) by using the ignition end signal comp_int of the self-node unit U m, n as a trigger, and the function value A ( ⁇ m, n by the spike pulse spike_int_bottom. While holding the voltage A_bottom representing +1 (t m, n ⁇ )), the voltage A_bottom is output to the lower adjacent node unit U m, n + 1 .
  • the B-function arithmetic circuits 72a and 72b are function values B ( ⁇ m + 1, n (t m, n ⁇ )) and B ( ⁇ m, B) of the time function B (t) shown in equations (32a) and (32b) .
  • This circuit calculates n + 1 (t m, n ⁇ )) and holds the calculated value.
  • a spike pulse spike_int and a firing end signal comp_int output from the spike neuron circuit 20 are input to the B function arithmetic circuits 72a and 72b.
  • the B function calculation circuit 72a receives the spike pulse spike_int_right (t m + 1, n ⁇ ) output from the right adjacent node unit U m + 1, n and the firing end signal comp_int_right, and the B function calculation circuit 72b. Are supplied with a spike pulse spike_int_bottom (t m, n + 1 ⁇ ) output from the lower adjacent node unit U m, n + 1 and an ignition end signal comp_int_bottom.
  • the B function arithmetic circuit 72a generates the time function B (t) of the equation (32b) using the ignition end signal comp_int of the self-node unit U m, n as a trigger (see FIG.
  • the voltage B_right representing the function value B ( ⁇ m + 1, n (t m, n ⁇ )) is held and output to the right adjacent node unit U m + 1, n .
  • the B function arithmetic circuit 72b generates the time function B (t) of the equation (32b) using the firing end signal comp_int of the self-node unit U m, n as a trigger, and the function value B ( ⁇ m, n by the spike pulse spike_int_bottom.
  • the voltage B_bottom representing +1 (t m, n ⁇ )) is held and output to the lower adjacent node unit U m, n + 1 .
  • the B / C function calculation circuits 73a, 73b, 73c, and 73d are circuits that calculate the product of the time function C (t) and the function value B shown in Expression (34b).
  • a time function C (t ⁇ t m, n ⁇ ) output from the label process node unit 8 ′ belonging to the self node unit U m, n is input to each B / C function arithmetic circuit 73a, 73b, 73c, 73d.
  • the B / C function calculation circuits 73a and 73c have function values B_top (B ( ⁇ m, B) input from the node units U m, n ⁇ 1 and U m ⁇ 1, n adjacent to the upper and left sides, respectively .
  • B_reft (B ( ⁇ m-1, n (t m, n ⁇ ))
  • B ⁇ C function arithmetic circuit 73a the 73c, respectively
  • B function The function values B_right (B ( ⁇ m + 1, n (t m, n ⁇ ))) and B_bottom (B ( ⁇ m, n + 1 (t m, n ⁇ ))) output from the arithmetic circuits 72a and 72b are input.
  • the B ⁇ C function calculation circuit 73a outputs the calculation value of the product function C (tt m, n ⁇ ) ⁇ B ( ⁇ m, n-1 (t m, n ⁇ )) that changes over time to the pulse update circuit 74a.
  • the pulse update circuit 74a includes the product function C (tt m, n ⁇ ) ⁇ B ( ⁇ m, n ⁇ 1 (t m, n ⁇ )) and the label process node of the upper adjacent node unit U m, n ⁇ 1.
  • the spike pulse spike_label_top output from the unit 8 ′ at time t m, n ⁇ 1 ⁇ when the phase ⁇ m, n ⁇ 1 (t) exceeds 0 is input.
  • the pulse update circuit 74a sets the function value of C (t m, n-1 ⁇ -t m, n ⁇ ) ⁇ B ( ⁇ m, n-1 (t m, n ⁇ )) while the spike pulse spike_label_top is at the H level. Proportionally, a current is supplied to the phase state value holding capacitor C 0 of the spike neuron circuit 20 i to update the phase ⁇ m, n (t).
  • the B ⁇ C function calculation circuit 73b outputs the calculation value of the product function C (tt m, n ⁇ ) ⁇ B ( ⁇ m + 1, n (t m, n ⁇ )) that changes over time to the pulse update circuit 74b.
  • the pulse update circuit 74b includes the product function C (tt m, n ⁇ ) ⁇ B ( ⁇ m + 1, n (t m, n ⁇ )) and the label process node of the right adjacent node unit U m + 1, n.
  • the pulse update circuit 74b sets the function value of C (t m + 1, n ⁇ -t m, n ⁇ ) ⁇ B ( ⁇ m + 1, n (t m, n ⁇ )) during the period when the spike pulse spike_label_right is at the H level. Proportionally, a current is supplied to the phase state value holding capacitor C 0 of the spike neuron circuit 20 i to update the phase ⁇ m, n (t).
  • the B / C function calculation circuit 73c outputs the calculated value of the time-varying product function C (tt m, n ⁇ ) ⁇ B ( ⁇ m ⁇ 1, n (t m, n ⁇ )) to the pulse update circuit 74c.
  • the pulse update circuit 74c includes the product function C (tt m, n ⁇ ) ⁇ B ( ⁇ m-1, n (t m, n ⁇ )) and the label process node of the left adjacent node unit U m-1, n.
  • the spike pulse spike_label_left output by the unit 8 ′ at time t m ⁇ 1, n ⁇ when the phase ⁇ m ⁇ 1, n (t) exceeds 0 is input.
  • the pulse update circuit 74c sets the function value of C (t m-1, n ⁇ -t m, n ⁇ ) ⁇ B ( ⁇ m-1, n (t m, n ⁇ )) during the period when the spike pulse spike_label_left is at the H level. Proportionally, a current is supplied to the phase state value holding capacitor C 0 of the spike neuron circuit 20 i to update the phase ⁇ m, n (t).
  • the B / C function calculation circuit 73d outputs the calculation value of the time-varying product function C (tt m, n ⁇ ) ⁇ B ( ⁇ m, n + 1 (t m, n ⁇ )) to the pulse update circuit 74c.
  • the pulse update circuit 74d includes the product function C (tt m, n ⁇ ) ⁇ B ( ⁇ m, n + 1 (t m, n ⁇ )) and the label process node of the lower adjacent node unit U m, n + 1.
  • a spike pulse spike_label_bottom output by the unit 8 ′ at time t m, n + 1 ⁇ when the phase ⁇ m, n + 1 (t) exceeds 0 is input.
  • the pulse update circuit 74d sets the function value of C (t m, n + 1 ⁇ -t m, n ⁇ ) ⁇ B ( ⁇ m, n + 1 (t m, n ⁇ )) while the spike pulse spike_label_bottom is at the H level. Proportionally, a current is supplied to the phase state value holding capacitor C 0 of the spike neuron circuit 20 i to update the phase ⁇ m, n (t).
  • FIG. 41 is a block diagram showing the internal configuration of the label process node unit 8 ′.
  • the column selection signal line 9, the initial value input line 10, and the label process external output line 12 ′ correspond to the same reference numerals in FIG.
  • those corresponding to the components of FIG. 38 are denoted by the same reference numerals.
  • the label process node unit 8 ′ includes a spike neuron circuit 20l, a state value update circuit 27l, a C function calculation circuit 75, an S function calculation circuit 76, four A / S function calculation circuits 77a, 77b, 77c, 77d, and Column selection switches 28 and 29 are provided.
  • the state value update circuit 27l includes pulse update circuits 78a, 78b, 78c, and 78d in one-to-one correspondence with the A / S function arithmetic circuits 77a, 77b, 77c, and 77d.
  • the column selection switches 28 and 29 correspond to those having the same symbols in FIG.
  • the spike neuron circuit 20l and the state value update circuit 27l correspond to the spike neuron circuit 20 and the state value update circuit 27 of FIG. 5, respectively.
  • the spike neuron circuit 20l functions as a phase state value holding unit that holds a phase state value unique to the intensity process node unit 7 ′, and the phase state held by the phase state value holding unit.
  • the phase state value held by the phase advance means and the phase state value holding means that changes the value with time at a constant phase speed ⁇ reaches the maximum phase state value
  • the phase state value is reset to the minimum phase state value. It functions as a phase restoring means and a trigger generating means for firing and outputting an update trigger when the phase state value exceeds the zero phase state value.
  • the initial value of the label phase is input from the initial value input line 10 to the spike neuron circuit 20l via the column selection switch 28.
  • the column selection switch 28 is closed when the column selection signal column_selector is at the H level, and the initial value ⁇ d (m, n) of the label value ⁇ (m, n) is input to the spike neuron circuit 20l as a PWM signal.
  • the spike neuron circuit phase state value holding capacitor C 0 of 20l, each pulse updating circuit 78a, 78b, 78c, the state value update current 78d outputs are input.
  • the spike neuron circuit 20l fires when the phase ⁇ m, n (t) exceeds zero.
  • the spike neuron circuit 20l outputs a spike pulse spike_label when fired, and the spike pulse spike_label is adjacent to the node units U m, n ⁇ 1 , U m, n + 1 , U m ⁇ 1 adjacent in the vertical and horizontal directions. , n , U m + 1, n (see FIGS. 38, 39, and Table 4) and also input to the S function arithmetic circuit 76.
  • the spike pulse spike_label is output to the label process external output line 12 ′ via the column selection switch 29 when the cellular structure network operation is completed.
  • the column selection switch 29 is closed when the column selection signal column_selector is at the H level, and a spike pulse spike_label is output to the label process external output line 12 ′.
  • the spike neuron circuit 20l outputs an ignition end signal comp_label which is H level when the phase ⁇ m, n (t) is 0 or more and L level when the phase ⁇ m, n (t) is less than 0, and the phase ⁇ m, n When (t) is reset, a spike pulse spike_label_rst is output.
  • the ignition end signal comp_label is output to the S function arithmetic circuit 76.
  • the spike pulse spike_label_rst is output to the C function calculation circuit 75 and the S function calculation circuit 76.
  • the C function calculation circuit 75 outputs the time function C (t) shown in the equation (34b) to the B / C function calculation circuits 73a, 73b, 73c, and 73d of the intensity process node unit 7 ′.
  • the C function calculation circuit 75 uses the spike pulse spike_label_rst output at time t m, n ⁇ ⁇ T / 2 at which the phase ⁇ m, n (t) is reset as a trigger, and the time function C (t -T m, n ⁇ ) is generated (see FIG. 37 (d)).
  • the S function calculation circuit 76 outputs the time function S (t) shown in the equation (33b) to each of the A / S function calculation circuits 77a, 77b, 77c, and 77d.
  • the S function calculation circuit 76 uses the spike pulse spike_label_rst output at the time t m, n ⁇ ⁇ T / 2 at which the phase ⁇ m, n (t) is reset as a trigger, and the time function S (t (t) in Expression (33b) ⁇ t m, n ⁇ ) is generated (see FIG. 37C).
  • the S function calculation circuit 76 uses the positive value function S_p and the negative value function S_n as shown in FIG. Output two.
  • the A / S function calculation circuits 77a, 77b, 77c, and 77d are circuits that calculate the product of the time function S (t) and the function value A shown in Expression (33b).
  • the time function S (t ⁇ t m, n ⁇ ) output from the S function calculation circuit 76 is input to each of the A / S function calculation circuits 77a, 77b, 77c, and 77d.
  • the function values A_top (A ( ⁇ m, n) inputted from the node units U m, n ⁇ 1 , U m ⁇ 1, n adjacent to the upper side and the left side are respectively input to the A / S function arithmetic circuits 77a, 77c .
  • the A / S function calculation circuit 77a outputs the calculated value of the time-varying product function A ( ⁇ m, n-1 (t m, n ⁇ )) ⁇ S (tt m, n ⁇ ) to the pulse update circuit 78a.
  • the pulse update circuit 78a includes the product function A ( ⁇ m, n-1 (t m, n ⁇ )) ⁇ S (tt m, n ⁇ ) and the label process node of the upper adjacent node unit U m, n-1.
  • the spike pulse spike_label_top output from the unit 8 ′ at time t m, n ⁇ 1 ⁇ when the phase ⁇ m, n ⁇ 1 (t) exceeds 0 is input.
  • the pulse update circuit 78a sets the function value of A ( ⁇ m, n-1 (t m, n ⁇ )) ⁇ S (t m, n-1 ⁇ -t m, n ⁇ ) while the spike pulse spike_label_top is at the H level. Proportionally, a current is supplied to the phase state value holding capacitor C 0 of the spike neuron circuit 20 l to update the phase ⁇ m, n (t).
  • the A / S function calculation circuit 77b outputs the calculation value of the time-varying product function A ( ⁇ m + 1, n (t m, n ⁇ )) ⁇ S (tt m, n ⁇ ) to the pulse update circuit 78b.
  • the pulse update circuit 78b includes the product function A ( ⁇ m + 1, n (t m, n ⁇ )) ⁇ S (tt m, n ⁇ ) and the label process node of the right adjacent node unit U m + 1, n.
  • the pulse update circuit 78b sets the function value of A ( ⁇ m + 1, n (t m, n ⁇ )) ⁇ S (t m + 1, n ⁇ -t m, n ⁇ ) during the period when the spike pulse spike_label_right is at the H level. Proportionally, a current is supplied to the phase state value holding capacitor C 0 of the spike neuron circuit 20 l to update the phase ⁇ m, n (t).
  • the A ⁇ S function calculation circuit 77c outputs the calculated value of the time-varying product function A ( ⁇ m ⁇ 1, n (t m, n ⁇ )) ⁇ S (tt m, n ⁇ ) to the pulse update circuit 78c.
  • the pulse update circuit 78c includes the product function A ( ⁇ m ⁇ 1, n (t m, n ⁇ )) ⁇ S (tt m, n ⁇ ) and the label process node of the left adjacent node unit U m ⁇ 1, n.
  • the spike pulse spike_label_left output by the unit 8 ′ at time t m ⁇ 1, n ⁇ when the phase ⁇ m ⁇ 1, n (t) exceeds 0 is input.
  • the pulse update circuit 78c sets the function value of A ( ⁇ m ⁇ 1, n (t m, n ⁇ )) ⁇ S (t m ⁇ 1, n ⁇ ⁇ t m, n ⁇ ) during the period when the spike pulse spike_label_left is at the H level. Proportionally, a current is supplied to the phase state value holding capacitor C 0 of the spike neuron circuit 20 l to update the phase ⁇ m, n (t).
  • the A / S function calculation circuit 77d outputs the calculated value of the time-varying product function A ( ⁇ m, n + 1 (t m, n ⁇ )) ⁇ S (tt m, n ⁇ ) to the pulse update circuit 78d .
  • the pulse update circuit 78d includes the product function A ( ⁇ m, n + 1 (t m, n ⁇ )) ⁇ S (tt m, n ⁇ ) and the label process node of the lower adjacent node unit U m, n + 1.
  • a spike pulse spike_label_bottom output by the unit 8 ′ at time t m, n + 1 ⁇ when the phase ⁇ m, n + 1 (t) exceeds 0 is input.
  • the pulse update circuit 78d sets the function value of A ( ⁇ m, n + 1 (t m, n ⁇ )) ⁇ S (t m, n + 1 ⁇ ⁇ t m, n ⁇ ) during the period when the spike pulse spike_label_bottom is at the H level. Proportionally, a current is supplied to the phase state value holding capacitor C 0 of the spike neuron circuit 20 l to update the phase ⁇ m, n (t).
  • FIG. 42 is a diagram showing a configuration example (a) of the spike neuron circuit 20l in the label process node unit 8 ′ and its operation (b).
  • the spike neuron circuit 20i in the intensity process node unit 7 ′ has the same configuration.
  • 42 includes a phase state value holding capacitor C 0 , two current sources I 1 and I 2, two comparators CMP 1 and CMP 2, two trigger pulse generators PG 1 and PG 2, and three switches. Circuits S1, S2, and S3 are provided.
  • the configuration and operation of the spike neuron circuit 20l are basically the same as the configuration of the spike neuron circuit 20 shown in FIG.
  • the ignition end signal comp_label is an output of the comparator CMP2, and as shown in FIG. 42B, rises to the H level when the phase ⁇ m, n (t) becomes 0, and the phase ⁇ m, n The waveform falls to the L level at the time when (t) is reset.
  • FIG. 43 is a circuit diagram showing a configuration example of the A function calculation circuits 71a and 71b
  • FIG. 44 shows the A function calculation circuits 71a and 71b in FIG. It is a time chart which shows the operation example of. From FIG. 35A, the function A takes a positive value (+1) or a negative value ( ⁇ 1). In the circuit of FIG. 43, when the value of the function A is positive, the output A is at the H level, and when the value of the function A is negative, the output A is at the L level.
  • PG1 and PG2 are pulse generators
  • RS-FF is an RS flip-flop
  • M1 is an nMOSFET that is an RS-FF reset switch.
  • the spike pulse spike_int and the firing end signal comp_int are the spike pulse spike_int and the firing end signal comp_int output from the spike neuron circuit 20i of the self-node unit U i (see FIG. 40).
  • the spike pulse spike_int_j and the firing end signal comp_int_j are output by the spike neuron circuit 20i of the adjacent node unit U j (the right adjacent node unit U m + 1, n and the lower adjacent node unit U m, n + 1 ).
  • spike_int_right spike_int_bottom
  • ignition end signal comp_int_right, comp_int_bottom
  • F i , G i the values of spike_int_j and comp_int_j are denoted as F j and G j .
  • spike pulses spike_int and spike_int_j are obtained when the phase state value voltages V fi and V fj of the intensity processes of the node units U i and U j pass the zero value voltage V middle ( That is, it is a short-time pulse that occurs when the phases ⁇ i and ⁇ j exceed 0).
  • the ignition end signals comp_int and comp_int_j rise to H level when the spike pulses spike_int and spike_int_j are generated, and become L level when the phase state value voltages V fi and V fj are reset to the minimum voltage V low. Fall down.
  • is an AND operator
  • is an OR operator
  • the pulses Q i and Q j rise to the H level at the occurrence times t i ⁇ and t j ⁇ of the spike pulses spike_int and spike_int_j and fall to the L level when the time Q ′ has elapsed from the times t i ⁇ and t j ⁇ . . That is, as shown in FIG. 44B, the pulses Q i and Q j are portions where t> 0 of the time function A (t).
  • FIG. 45 is a circuit diagram showing a configuration example of the B function calculation circuits 72a and 72b
  • FIG. 46 shows the B function calculation circuits 72a and 72b in FIG. It is a time chart which shows the operation example of. From FIG. 35B, the function B takes a positive value (+1) or a negative value ( ⁇ 1).
  • the state where the value of the function B is positive is the state where the output B is H level
  • the state where the value of the function B is negative is the state where the output B is L level.
  • RS-FF is an RS flip-flop
  • M1 is an nMOSFET that is a reset switch of the RS-FF.
  • Spike pulses spike_int and spike_int_j and firing end signals comp_int and comp_int_j are the same as those having the same symbols in FIGS. Similarly to FIGS. 43 and 44, the values of spike_int and comp_int are denoted as F i and G i , and the values of spike_int_j and comp_int_j are denoted as F j and G j , respectively.
  • the output of RS-FF is set to the H level at time t j ⁇ of the first spike pulse.
  • FIG. 47 is a circuit diagram showing a configuration example of the C function calculation circuit 75 and the S function calculation circuit 76
  • FIG. 6 is a time chart showing an operation example of the C function calculation circuit 75 and the S function calculation circuit 76 of FIG.
  • the spike pulse spike_label_rst is the spike pulse output at the time when the phase state value voltage V p (t) (phase ⁇ i (t)) of the spike neuron circuit 20l of the self-node unit U i is reset. It is a pulse.
  • the spike pulse spike_label is a spike pulse that is output when the phase state value voltage V p (t) exceeds the zero value voltage V middle . Further, the pulse comp_label becomes L level when the phase state value voltage V p (t) is smaller than the zero value voltage V middle , and becomes H level when it is larger.
  • the pulse generator PG1 outputs a pulse having a time width ⁇ when an input spike pulse rises.
  • the pulse generators PG2 and PG3 output a pulse having a time width ⁇ when the input spike pulse rises.
  • the C function calculation circuit 75 becomes H level for the time ⁇ starting from the time when the phase state value voltage V p (t) (phase ⁇ i (t)) is reset, and thereafter Fall to L level. Therefore, the C function calculation circuit 75 outputs an inverted value (negative logic value) of the time function C (t ⁇ t i ⁇ ) in FIG.
  • the S function calculation circuit 76 delays the output S_p by the time ⁇ from the time when the phase state value voltage V p (t) has passed the zero value voltage V middle to become the H level, Then it falls to L level. Further, the output S_n is delayed by time ⁇ from the time when the phase state value voltage V p (t) is reset, and becomes H level, and then falls to L level. As a result, the time function S (t ⁇ t i ⁇ ) as shown in FIG. 37C is output from the S function calculation circuit 76.
  • FIG. 49 is a diagram showing a circuit configuration of the A / S function calculation circuit 77 (A / S function calculation circuits 77a, 77b, 77c, 77d) in FIG. is there.
  • the input signal A is H level when the function value A ( ⁇ j (t i ⁇ )) is a positive value (+1), and L when the function value A ( ⁇ j (t i ⁇ )) is a negative value ( ⁇ 1). Become a level.
  • the input signal S_p is H level
  • the time function S (tt i ⁇ ) is a negative value ( ⁇ 1)
  • the input signal S_n is H level.
  • the A / S function calculation circuit 77 generates output signals update_p and update_n as shown in the following equations for the input signals A, S_p, and S_n, and outputs them to the pulse update circuits 78a, 78b, 78c, and 78d.
  • Update_p is a negative logic (L active) signal.
  • the output signal update_p is asserted (becomes L level) when A ( ⁇ j (t i ⁇ )) ⁇ S (t j ⁇ -t i ⁇ ) takes a positive value (+1).
  • the output signal update_n is asserted (becomes H level) when A ( ⁇ j (t i ⁇ )) ⁇ S (t j ⁇ -t i ⁇ ) takes a negative value ( ⁇ 1).
  • FIG. 50 is a diagram showing a circuit configuration of the B / C function calculation circuit 73 (B / C function calculation circuits 73a, 73b, 73c, 73d) of FIG. is there.
  • the input signal B is H level when the function value B ( ⁇ j (t i ⁇ )) is a positive value (+1), and L when the function value B ( ⁇ j (t i ⁇ )) is a negative value ( ⁇ 1). Become a level.
  • the input signal C is a negative logic signal, and is L level when the time function C (tt i ⁇ ) is a positive value (+1) and H level when the time function C (tt i ⁇ ) is 0 value.
  • the B / C function calculation circuit 73 generates output signals update_p and update_n as shown below for the input signals B and C, and outputs them to the pulse update circuits 74a, 74b, 74c, and 74d.
  • Update_p is a negative logic (L active) signal.
  • the output signal update_p is asserted (becomes L level) when B ( ⁇ j (t i ⁇ )) ⁇ C (t j ⁇ -t i ⁇ ) takes a positive value (+1).
  • the output signal update_n is asserted (becomes H level) when B ( ⁇ j (t i ⁇ )) ⁇ C (t j ⁇ -t i ⁇ ) takes a negative value ( ⁇ 1).
  • FIG. 51 shows a pulse update circuit 74 (pulse update circuits 74a, 74b, 74c, 74d) in FIG. 40 and a pulse update circuit 78 (pulse update circuits 78a, 78b, 78c, 78d) is a circuit diagram showing a configuration example.
  • the pulse update circuits 74 and 78 have five input signals: spike_label_j, update_p, update_n, hf_p (or hp_p), and hf_n (or hp_n).
  • the input signal spike_label_j represents any one of spike_label_top, spike_label_bottom, spike_label_left, and spike_label_right in FIGS. 40 and 41.
  • the input signals update_p and update_n correspond to update_p and update_n in FIG. 49 or FIG.
  • the input signals hf_p, hf_n are voltage signals proportional to the magnitude of the update coefficient h f / 4 (or h ⁇ ⁇ / 4) of the update equation (28a) (or update equation (28b)). is there.
  • the pulse update circuits 74 and 78 include three pMOSFETs M1, M2, and M3, three nMOSFETs M4, M5, and M6, and an inverter INV1, and the pMOSFETs M1, M2, M3, and the nMOSFETs M4, M5, and M6 are power supplies. And a ground plane in this order. Then, a common connection node n1 and the output node of the drains of nMOSFET M4 of pMOSFET M3, node n1 is connected to the spike neuron circuit 20i, the phase state value holding capacitor C 0 of 20l.
  • the input signal spike_label_j is input to the gate of the nMOSFET M6, and the inverted value of the input signal spike_label_j is input to the gate of the pMOSFET M1 via the inverter INV1. Therefore, M6 and M1 are switches that are turned on when the input signal spike_label_j is at the H level.
  • a negative logic input signal update_p is input to the gate of the pMOSFET M2. Therefore, in M2, B ( ⁇ j (t i ⁇ )) ⁇ C (t j ⁇ -t i ⁇ ) or A ( ⁇ j (t i ⁇ )) ⁇ S (t j ⁇ -t i ⁇ ) takes a positive value (+1). This switch is sometimes turned on.
  • a positive logic input signal update_n is input to the gate of the nMOSFET M5. Therefore, M5 indicates that B ( ⁇ j (t i ⁇ )) ⁇ C (t j ⁇ -t i ⁇ ) or A ( ⁇ j (t i ⁇ )) ⁇ S (t j ⁇ -t i ⁇ ) has a negative value ( ⁇ 1). It is a switch that is turned on when taking.
  • the pMOSFET M3 operates in a linear region, and a coefficient signal hf_p (or hp_p) is input to its gate.
  • the nMOSFET M4 operates in a linear region, and a coefficient signal hf_n (or hp_n) is input to its gate.
  • FIG. 52 shows a time chart representing the calculation operation of the information processing apparatus 1 of the present embodiment.
  • Example 7 describes an example in which the information processing apparatus according to the present invention is applied to a motion detection apparatus for detecting the motion of an object in a moving image.
  • a motion detection algorithm a real-time motion detection algorithm using a neuronal activity model of the hippocampus C3 region of the brain described in International Publication WO2006 / 104033 pamphlet is used.
  • FIG. 53 is an explanatory diagram of a motion detection process based on radial propagation of neuronal activity.
  • FIG. 54 is a diagram showing the overall configuration of the cellular structure network of the present embodiment.
  • FIG. 53 (a) is an actual image map into which information of an edge image obtained by extracting an outline from an original image taken by a camera is referred to as an AC net.
  • the AC net is divided into squares by a moving radius passing through the center and a concentric rectangle. One square corresponds to one neuron cell. Each square is divided into four quadrants of “upper quadrant”, “lower quadrant”, “left quadrant”, and “right quadrant” by rectangular diagonal lines.
  • the parts of the AC net belonging to the upper quadrant, the lower quadrant, the left quadrant, and the right quadrant will be referred to as AC (u), AC (d), AC (l), and AC (r), respectively (see FIG. 54). .
  • the squares in each quadrant of the AC net have a one-to-one correspondence with the squares arranged in a rectangle as shown in FIG.
  • the array of cells (neurons) in FIG. 53 (b) coupled in the form of a rectangular lattice is called a CA3 net.
  • One square of the CA3 net corresponds to one neuron cell.
  • a CA1 net is prepared which is an array of cells (neurons) connected in a rectangular lattice shape corresponding to one-to-one in each cell of the CA3 net.
  • For one CA3 net there are four CA1 nets for detecting the direction of movement (approach direction, far-retreat direction, left direction, right direction) or (up direction, down direction, approach direction, far-retreat direction). To do. Accordingly, there are 16 CA1 nets in total.
  • One square of the CA1 net also corresponds to one neuron cell.
  • Each neuron cell of the CA1 net has a unique state value variable, and this state value variable is denoted as P.
  • each quadrant corresponds to each neuron (m, n) in the AC net (see FIG. 53 (b)).
  • each neuron (m, n) of each CA1 net corresponds to each neuron (m, n) of the CA3 net corresponding thereto.
  • the motion detection direction is parallel to any one of the four motion detection directions ( ⁇ approach direction, far away direction, left direction, right direction ⁇ or ⁇ upward direction, downward direction, approach direction, far away direction ⁇ ).
  • FIG. 53B shows a CA3 net (CA3 (u)) corresponding to an AC net (AC (u)) in the upper quadrant.
  • CA3 (u) is a collection of neuron cells arranged in a grid of N rows and M columns.
  • CA3 (u) of FIG. 53 (b) for example, as shown in FIG. 53 (b), consider a case where the motion detection direction is the approaching direction. In this case, there are M rows of N neuron cell arrays in parallel in the motion detection direction.
  • each neuron array numbers (1,..., I ⁇ 1, i, i + 1,..., N) are assigned to the neuron cells in ascending order with respect to the motion detection direction.
  • the CA1 net (CA1 (ua)) shown in FIG. 54 corresponds to the approaching direction of CA3 (u). Therefore, since CA1 (ua) also has M columns of neuron arrays in parallel corresponding to CA3 (u), each neuron cell in each column is similarly assigned a number (1,..., I ⁇ 1, i , I + 1,..., N).
  • the AC network (AC (u)) in the upper quadrant corresponding to CA3 (u) also has a parallel M-row neuron array corresponding to CA3 (u). • Numbers (1,..., I ⁇ 1, i, i + 1,..., N) are assigned to the cells.
  • the neuron cell of number i in each net is referred to as “neuron (i)”.
  • the neuron (i) of the AC net is coupled to the neuron (i) of the CA3 net. Further, the neuron (i) of the CA3 net is coupled to the neuron (i) and the neuron (i + 1) of the CA1 net.
  • each neuron (i) of the AC net outputs a detection signal to the neuron (i) of the combined CA3 net.
  • Each neuron (i) of the CA3 net outputs a start signal to the coupled CA1 net neuron (i + 1) when the detection signal is input, and the coupled CA1 net neuron (i). ) Output a stop signal.
  • FIG. 55 is a diagram for explaining the principle of motion detection using the cellular network shown in FIGS.
  • a certain motion detection direction is considered in any of the upper, lower, left and right quadrants.
  • the edge image is started to be input to the AC network neuron (i-1).
  • the neuron (i-1) of the AC net outputs a spike pulse of the detection signal to the neuron (i-1) of the CA3 net (see FIG. 53 (c)).
  • the CA3 net neuron (i-1) outputs a stop signal spike pulse to the coupled CA1 net neuron (i-1), and at the same time, A spike pulse of the start signal is output to the neuron (i) of the CA1 net that has been made (see FIG. 53 (c)).
  • the neuron (i-1) of the CA1 net holds the value of the state value variable P i-1 (t 1 ) held by itself and uses the value as the motion detection signal. Output as.
  • the neuron (i) of the CA1 net resets the value of the state value variable P i (t 1 ) held by itself to the initial value P 0 and is constant.
  • the edge image is moved with time, as shown in FIG. 55 (b), the edge image at time t 2 is to have moved into the AC network neuron (i). Then, the neuron (i) of the AC net outputs a spike pulse of the detection signal to the neuron (i) of the CA3 net.
  • the CA3 net neuron (i) outputs a stop signal spike pulse to the coupled CA1 net neuron (i), and at the same time, the coupled CA1 net.
  • a spike pulse of the start signal is output to the neuron (i + 1).
  • the CA1 net neuron (i) When a stop signal spike pulse is input, the CA1 net neuron (i) holds the value of the state value variable P i (t 2 ) held by itself and outputs the value as a motion detection signal. In addition, when a spike pulse of the start signal is input, the CA1 net neuron (i) resets the value of the state value variable P i + 1 (t 2 ) held by itself to the initial value P 0 and is constant. The time change with time is started at the decay rate ⁇ .
  • the time ⁇ t i ⁇ 1 required for the edge image to pass through the neuron (i ⁇ 1) of the AC net is represented by the motion detection signal P i (t 2 ) output from the neuron (i) of the CA1 net. It can be calculated by an equation.
  • FIG. 56 is a diagram illustrating the overall configuration of the information processing device according to the sixth embodiment of the present invention.
  • the information processing apparatus 1 includes a node unit network 2, a reference phase generation unit 2 a, an input unit 3, an output unit 4, and an overall control unit 5. These correspond to the same reference numerals in FIG.
  • the input unit 3 includes a camera 81, a frame memory 82, an edge image generation unit 83, and an AC net 84.
  • the camera 81 is a video camera that captures moving images.
  • the frame memory 82 temporarily stores frame images of moving images captured by the camera 81.
  • the edge image generation unit 83 reads the frame image stored in the frame memory 82 frame by frame, extracts the edge image in the frame image, and outputs the edge image.
  • an edge image extraction method various currently known methods can be used.
  • the AC net 84 is a circuit implementation of the AC net shown in FIG.
  • the AC net 84 includes node units (neuron cells) arranged in a grid of M ⁇ N, corresponding to the four quadrants of the upper quadrant, the lower quadrant, the left quadrant, and the right quadrant. (See FIG. 53B).
  • the edge image is input to the AC net 84.
  • the input edge image is divided into squares shown in FIG. 53A, and it is detected whether or not an edge image exists in each square.
  • a detection signal is output from the node unit (neuron cell) corresponding to the grid where the edge image is detected.
  • the node unit network 2 corresponds to the upper quadrant, the lower quadrant, the left quadrant, and the right quadrant in the AC net 84, and includes four CA3 nets CA3 (u), CA3 (d), CA3 (l), and CA3 (r ). Each of the CA3 nets CA3 (u), CA3 (d), CA3 (l), and CA3 (r) is similar to FIG. 53 (b), and node units ( Neuron cell). Each node unit in each CA3 net is connected to a corresponding node unit in the AC net 84. Each node unit in the AC net 84 outputs a detection signal to each node unit in the connected CA3 net.
  • the node unit network 2 has CA1 nets (CA1 (ua), CA1 (ub), CA1) corresponding to four motion detection directions (approach direction, far away direction, left direction, right direction) with respect to CA3 (u). (Ul), CA1 (ur)).
  • CA1 nets CA1 (da), CA1 (db), CA1 (dl), CA1 (dl), corresponding to four motion detection directions (approach direction, far-retreat direction, left direction, right direction), CA1 (dr)).
  • CA1 nets CA1 (la), CA1 (lb), CA1 (lu), CA1 (lu), corresponding to four motion detection directions (approach direction, far-retreat direction, upward direction, downward direction), CA1 (ld)).
  • CA3 (r) CA1 nets (CA1 (ra), CA1 (rb), CA1 (ru), CA1 (ru), CA1 (rd)).
  • Each CA1 net is provided with node units (neuron cells) arranged in the form of M ⁇ N grids as in FIG. 53 (b). Each node unit in each CA1 net is connected to a corresponding node unit in the CA3 net.
  • FIG. 57 shows each node unit in the CA3 net (CA3 (u)) corresponding to the upper quadrant and the corresponding CA1 net (CA1 (ua), CA1 (ub), CA1 (ul), CA1 (ur)).
  • 58 is a diagram showing a connection state with each node unit of FIG. 58, and FIG. 58 is a node unit in the CA1 net connected to one node unit (m, n) in the CA3 net (CA3 (u)) of FIG.
  • FIG. 57 and 58 show the case of the upper quadrant, the same applies to the other quadrants.
  • the case of the upper quadrant will be described as a representative.
  • the node units CA3 (u) (m, n) correspond to the case where the motion detection direction is the approaching direction, and the node units CA1 (ua) (m, n), CA1 (ua) ( m, n + 1).
  • the node units CA1 (ub) (m, n) and CA1 (ub) (m, n-1) are connected.
  • the motion detection direction is the left direction, it is connected to the node units CA1 (ul) (m, n), CA1 (ul) (m-1, n).
  • connection is made with the node units CA1 (ur) (m, n) and CA1 (ur) (m + 1, n).
  • FIG. 59 is a diagram showing a circuit configuration of each node unit CA3 ( ⁇ ) (m, n) in the four CA3 nets of FIG.
  • Each node unit CA3 ( ⁇ ) (m, n) includes a phase state value holding capacitor C 0 , a current source I1, comparators CMP1 and CMP2, trigger pulse generators PG1 and PG2, an AND circuit, an RS flip-flop RS-FF. And switch circuits S1, S2, S3, and S4.
  • the node unit CA3 ( ⁇ ) (m, n) has a unique state value P ⁇ ; m, n (t) as a phase ⁇ ⁇ ; m, n (t).
  • phase ⁇ ⁇ ; m, n (t) is held as a charge charged in the phase state value holding capacitor C 0 and is taken out as the voltage V r of the node n1 in FIG.
  • a circuit for advancing the phase ⁇ ⁇ ; m, n (t) composed of the phase state value holding capacitor C 0 , the current source I1, the comparator CMP1, the trigger pulse generator PG2, and the switch circuits S1 and S2 is shown in FIG. The operation is the same as that described in the first embodiment.
  • a detection signal AC ⁇ ; m, n is input from the node unit AC ( ⁇ ) (m, n) in the AC net 84 corresponding to the node unit CA3 ( ⁇ ) (m, n).
  • the detection signal AC ⁇ ; m, n is a signal that is at the H level when the edge image is detected by the node unit AC ( ⁇ ) (m, n) and at the L level when it is not detected.
  • the trigger pulse generator PG1 outputs a spike pulse at the rise and fall of the detection signal AC ⁇ ; m, n .
  • the spike pulse spike_CA3 ⁇ ; m, n generated by the trigger pulse generator PG2 when the phase ⁇ ⁇ ; m, n (t) is reset is supplied via the AND circuit to the start signal and the stop signal spike_attn_CA3 ⁇ ; m, n is output to each node unit in the connected CA1 net.
  • the AND circuit outputs the spike pulse spike_attn_CA3 ⁇ ; m, n only when the output of the comparator CMP2 is at the H level, that is, when V r ⁇ V middle and the update permission signal update_ena is at the H level. It is provided in order to control.
  • the update permission signal update_ena is a signal that serves as a window for determining an updatable time zone, and is a periodic signal that becomes H level with a width of about T / 2 around the time when the reference phase becomes the intermediate phase. Pulsed.
  • the update permission signal update_ena is generated in the reference phase generator 2a.
  • Each node unit CA1 ( ⁇ ) (m, n) in the 16 CA1 nets in FIG. 56 has the same configuration as that in FIGS.
  • Each node unit CA1 ( ⁇ ) (m, n) has a unique state value P ⁇ ; m, n (t) as a phase ⁇ ; m, n (t).
  • the phase ⁇ ⁇ ; m, n (t) is held as a charge charged in the phase state value holding capacitor C 0 .
  • the phase ⁇ ⁇ ; m, n (t) monotonically increases with time at a constant phase velocity ⁇ , and when the maximum phase ⁇ max is reached, a spike pulse is output and the minimum phase ⁇ Reset to min .
  • the overall control unit 5 in FIG. 56 sets parameters such as an update coefficient and a pulse delay amount in each node unit CA1 ( ⁇ ) (m, n) of the node unit network 2. At the same time, the operation of these node units is controlled.
  • FIG. 60 is a time chart illustrating the operation of each node unit CA1 ( ⁇ ) (m, n) of the information processing device according to the sixth embodiment.
  • FIG. 60 pays attention to one of the node unit columns in a certain motion detection direction of a CA3 net in a certain quadrant, and in the AC net 84 corresponding to the i ⁇ 1 and i-th node units in the node unit column.
  • the node units in the CA1 net and the node units in the CA1 net are shown and the operation of these node units is shown.
  • AC i-1 and AC i indicate values of detection signals output from the (i ⁇ 1) -th and i-th node units in the AC net 84, respectively.
  • CA3 i-1 and CA3 i indicate the values of the phases ⁇ ⁇ ; i-1 (t), ⁇ ⁇ ; i (t) of the ( i ⁇ 1 ) -th and i-th node units in the CA3 net, respectively.
  • CA1 i indicates the value of the phase ⁇ ⁇ ; i (t) of the i-th node unit in the CA1 net.
  • Spike-CA3 i-1 and Spike-CA3 i indicate spike pulses output from the (i ⁇ 1) -th and i-th node units in the CA3 net, respectively.
  • Update_ena indicates the value of an update permission signal (see FIG. 5) input to each node unit in each CA3 net and each node unit in each CA1 net.
  • each node unit When the update permission signal Update_ena is at the H level, each node unit outputs a spike pulse to the coupled node units (see FIGS. 57 and 58), and when the update permission signal Update_ena is at the L level, the spike is output. ⁇ No pulse is output.
  • Output_Trig is a spike pulse input to the output unit 4 at a constant period T, and is called “output trigger”.
  • the output trigger Output_Trig is generated by the reference phase generation unit 2 a and is output with a delay of a half cycle T / 2 with respect to the timing at which the edge image is input to the AC net 84.
  • the output unit 4 acquires and outputs the value of the phase ⁇ ⁇ ; i (t) of each node unit in the CA1 net at that time. Also, each
  • an edge image is detected in the (i ⁇ 1) -th node unit AC ( ⁇ ) (i ⁇ 1) in the AC net 84. Then, the node unit AC ( ⁇ ) (i ⁇ 1) sets the detection signal AC ⁇ ; i ⁇ 1 output to the node unit CA3 ( ⁇ ) (i ⁇ 1) of the A3 net to the H level.
  • the output node n2 of the RS flip-flop RS-FF is set to H level and the phase ⁇ ⁇ ;
  • the phase ⁇ ⁇ ; i ⁇ 1 (t) of the node unit CA3 ( ⁇ ) (i ⁇ 1) is advanced by the intermediate phase, and the reset time of the phase ⁇ ⁇ ; i ⁇ 1 (t) is updated. It will be located in the update_ena window.
  • the node unit CA3 ( ⁇ ) (i-1) is connected to the node unit CA1 ( ⁇ ) ( A start signal spike_attn_CA3 ⁇ ; i-1 is output for i).
  • the node unit CA1 ( ⁇ ) (i) updates its own phase ⁇ ⁇ ; i (t) by ⁇ . Therefore, the update amount of the phase ⁇ ⁇ ; i (t) of the node unit CA1 ( ⁇ ) (i) increases in proportion to the number of times the start signal spike_attn_CA3 ⁇ ; i ⁇ 1 is input.
  • the edge image moves from the (i-1) th node unit AC ( ⁇ ) (i-1) in the AC net 84 to the ith node unit AC ( ⁇ ) (i). Then, the node unit AC ( ⁇ ) (i ⁇ 1) sets the detection signal AC ⁇ ; i ⁇ 1 output to the node unit CA3 ( ⁇ ) (i ⁇ 1) of the CA3 net to the L level, and the node unit AC ( ⁇ ) (I) sets the detection signal AC ⁇ ; i output to the node unit CA3 ( ⁇ ) (i) of the CA3 net to the H level.
  • phase ⁇ ⁇ ; i ⁇ 1 (t) of the node unit CA3 ( ⁇ ) (i ⁇ 1) is advanced by the intermediate phase, and the reset time of the phase ⁇ ⁇ ; i ⁇ 1 (t) is updated. It will be located outside the update_ena window.
  • the phase ⁇ ⁇ ; i (t) of the node unit CA3 ( ⁇ ) (i) advances by the intermediate phase, and the reset time of the phase ⁇ ⁇ ; i (t) is located within the window of the update permission signal update_ena. It becomes like this.
  • the node unit CA3 ( ⁇ ) (i) outputs an output trigger output_Trig ⁇ ; i to the node unit CA1 ( ⁇ ) (i) of the CA1 net.
  • the node unit CA1 ( ⁇ ) (i) When the output trigger output_Trig ⁇ ; i is input, the node unit CA1 ( ⁇ ) (i) outputs its own phase ⁇ ⁇ ; i (t) held at that time to the output unit 4 and also its own phase. ⁇ ; i (t) is reset to the minimum phase 0.
  • the time when the edge image is detected in the (i ⁇ 1) -th node unit AC ( ⁇ ) (i ⁇ 1) in the AC net 84 is expressed as a phase difference from the reference phase of the phase ⁇ ⁇ ; i (t). It is output to the output unit 4, and the direction and magnitude of the movement are detected.

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)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Gyroscopes (AREA)

Abstract

 非同期型動作が可能であり簡単な回路で構成可能なセルラー構造ネットワーク演算を行う情報処理装置を提供する。 節点ユニットのネットワーク構造を有し、各節点ユニットは、位相状態値を保持する状態値保持手段と、位相状態値を一定の位相速度で経時的に増加させる状態進行手段と、位相状態値が所定の最大値にするとトリガを出力し、初期値にリセットするトリガ発生手段と、隣接節点ユニットがトリガを出力した時、隣接位置に応じて位相状態値を、当該位相状態値に当該位相状態値を所定倍した値を加えた値に変化させることにより位相状態値を更新する状態更新手段とを備えた。

Description

情報処理装置及びプログラム
 本発明は、スパイク・パルスのタイミングにより計算を行う画像・信号処理技術に関する。
 ロボットビジョンや自動車、監視カメラなどのアプリケーションにおいて知的画像認識機能(物体認識・歩行者認識・不審者認識など)が必要とされており、そのために、デジタル方式による各種メディアプロセッサが提案されている。しかし、脳の情報処理機能に学んだような高度に知能的な画像処理や情報処理では、単純な積和演算ではなく、時間的にダイナミックに変化する(非線形)計算を必要とすることが多く、既存のデジタル方式では効率良く実行ができない。特に非線形演算はデジタル方式では通常SRAMベースのルックアップ・テーブルを用いるため、面積効率が非常に低下する。
 そこで、デジタル方式ではなく、時間軸にアナログ的に情報を展開して計算を行うPWM信号を用いたA-D融合方式が提案されている(非特許文献2、非特許文献3)。この方式は小規模な回路で積和演算および任意の非線形演算を実現できるため、非線形ダイナミクス演算を実行する並列処理システムに適するが、同期動作による離散時間演算を行うため、演算効率は高くない。
 ところで、従来から、セルラー構造ネットワークを用いて信号処理を行う技術は、網膜視覚系情報処理等の分野において研究開発が行われている。このセルラー構造ネットワークにおいて前記のPWM信号を用いた技術により、抵抗ネットワークによるガボール型フィルタを構成した例が知られている(非特許文献1,2,3、特許文献1)。
 ここで、ガボール・フィルタ(Gabor Filter)とは、そのインパルス応答が、sin/cos関数とガウス関数の積で表される線形フィルタと定義されている。また、ガボール型フィルタ(Gabor-Type Filter)とは、ガボール・フィルタのインパルス応答又はそれに近似するインパルス応答を有するフィルタをいう。
 図61に2次元の抵抗ネットワークによるガボール型フィルタの回路モデルの一例を示す(特許文献1の図40)。
 図61は、1節点分(1つの節点とそれに隣接する節点)の回路を表している。各節点はそれぞれ正方格子上の格子点に配置されている。また、各節点は、実部節点と虚部節点の組み合わせからなる。Vm,n (m,n∈整数)は実部節点、Vm,n (m,n∈整数)は虚部節点の電圧(節点電圧)を表す。Gは各節点と基準(接地)電位との間のコンダクタンス、G1xは、水平方向に隣接する実部節点同士又は隣接する虚部節点同士の間のコンダクタンス、G1yは、垂直方向に隣接する実部節点同士又は隣接する虚部節点同士の間のコンダクタンス、G2xは、水平方向に隣接する実部節点と虚部節点との間のコンダクタンス、G2yは、垂直方向に隣接する実部節点と虚部節点との間のコンダクタンスを表す。
 初期時刻において、各実部節点の節点電圧Vm,n には、初期値(例えば、処理画像の画素値に対応する電圧)が与えられ、時間の経過とともに、隣接節点に電流が拡散していく。そして、ある時刻における各節点電圧を同時検出することによって、処理信号を得ることができる。
 このガボール型フィルタの時刻tにおける各節点の節点電圧をVm,n (t),Vm,n (t)とすると、キルヒホッフの電流則より、時刻t+dtにおける各節点の節点電圧Vm,n (t+dt),Vm,n (t+dt)は次式によって表される。
Figure JPOXMLDOC01-appb-M000001
 図61のモデルでは、抵抗ネットワークの過渡状態をみるため、RCの時定数で動作する通常の連続時間型アナログ回路で制御することは難しい。そこで、本発明者らは、抵抗ネットワークの各節点の電流式により、離散時間で動作する画素並列型モデルを提案し、パルス変調(PWM)方式の回路を考案し、それを集積化した(非特許文献2,3参照)。
特開2004-272806号公報
森江隆, 梅澤淳, 岩田穆,"抵抗ネットワークの過渡状態を利用するガボール型フィルタ回路",電子情報通信学会 信学技報, NC2003-82, pp. 13-18, 2003年11月. T. Morie, J. Umezawa, and A. Iwata, "A Pixel-Parallel Image Processor for Gabor Filtering Based on Merged Analog-Digital Architecture," in Symposium on VLSI Circuits, pp.212-213, 2004. 森江隆,梅澤淳,岩田穆,"AD融合回路方式による画素並列型ガボール・フィルタLSI",電子情報通信学会 信学技報, SDM2004-126/ICD2004-68, 2004年8月19日. 銅谷賢治他編,"脳の情報表現",第1版,朝倉書店,2002年3月20日,pp. 87-97. 川嶋佑輔他,"領域ベース結合MRFモデルによる大局的画像領域分割とCMOS回路実現",信学技報,日本,電子情報通信学会,2008年3月,pp.49-54. K. Matsuzaka and T. Morie, "A Simplified Region-Based Coupled MRF Model for Coarse Image Region Segmentation Toward its VLSI Implementation", Proc. of Int. Symp. on Nonlinear Theory and its Applications (NOLTA2009), pp. 202-205, Sapporo, Japan, Oct. 18-21(19), 2009.
 しかしながら、既開発のPWM方式では、同期型動作であるため、処理の高速化が難しいという問題があった。また、図61に示したように、差分回路を必要とするため、回路が複雑となるという問題があった。
 そこで、本発明の目的は、これらの問題を解消する、積分発火型スパイキング・ニューロンモデルもしくはスパイク駆動型位相振動子モデルを用いた非同期スパイク駆動方式の回路モデルに基づく情報処理装置及び情報処理方法を提供することを目的とする。
 本発明の説明の構成の説明に当たって、まず、最初にガボール型フィルタのモデル化について〔1〕で簡単に説明した後に、〔2〕で本発明の構成および作用効果について説明する。
〔1〕モデル化
 まず、式(1a)~(1d)における各節点の状態値を、節点電圧に代えて、時間的に一定速度で進行する位相を用いて位相差により表現する。時刻tにおける節点(m,n)の位相を(θm,n (t),θm,n (t))と記す。ここで、θm,n (t)は実部、θm,n (t)は虚部である。それぞれの節点の位相の実部及び虚部は、位相速度ωで定常的に変化する。すなわち、状態値の更新がないときは、各節点の位相は次のように表される。
Figure JPOXMLDOC01-appb-M000002
 各節点の時刻tにおける状態値は、時刻tにおける各節点の位相θm,n (t),θm,n (t)と所定の基準位相θ(t)(例えば、θ(t)=ωt)との位相差θm,n (t)-θ(t),θm,n (t)-θ(t)をとることによって求めることができる。
 そこで、まず式(1a)~(1d)の節点電圧Vm,n (t),Vm,n (t)を、位相差θm,n (t)-θ(t),θm,n (t)-θ(t)に置き換えて整理すると、節点(m,n)の状態値の更新を含む位相の更新式が次のように得られる。
Figure JPOXMLDOC01-appb-M000003
 以下では、表記を簡単にするため、各節点の位相の実部及び虚部を切り離して別々の節点とみなし、各節点に固有のインデックスi(虚数部を表すiとは異なる。)を付す。そして、上記位相θm,n ,θm,n を、それらの節点に付されたインデックスi,jによってθ,θと表記する。また、ある節点iに対して、それに隣接する節点の集合をNと記す。節点iの位相θの更新において、隣接節点kの位相θの寄与度を表す更新係数をGi,kと記し、自己更新係数をGと記す。そうすると、式(2a),(2b)及び式(3a)~(3d)は次式のように簡単に表される。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 ところで、式(4)の表現では、θ(t)が時間とともに無限大に向かって増加するため、実用上甚だ不都合である。一方、上述したように、状態値は位相差θ(t)-θ(t)さえ計算できれば求めることができるため、θ(t)の変化は当該位相差が保存される変化でありさえすればよいことがわかる。そこで、各θは最大値θmaxに達すると強制的に最小値θminにリセットされる式で表現する(ここで,θmax>θmin)。つまり、θ(t)を、状態値の更新がないときは位相を周期T=(θmax-θmin)/ωで周期的に変化する鋸歯波関数によって表すこととし、式(4),(3e)及び基準位相θの表現を、それぞれ次式のように書き直す。
Figure JPOXMLDOC01-appb-M000006
 また、状態値の更新を含む位相の更新式(5a)は、それぞれ次式のように書き直される。
Figure JPOXMLDOC01-appb-M000007
 また、式(5b)は状態値が連続時間で更新される式であるが、式(5b)は時間tのシフトに対して不変なので、状態値の更新を離散時間において行うように変更することも可能である。一方、基準位相θを式(6c)のような周期Tの鋸歯波関数とした場合、mod演算による位相のリセットにより位相変化が不連続となる時刻が生じる。この時刻において状態値の更新を行うと、誤った更新がされる場合がある。そこで、この時刻を避けて、状態値の更新は鋸歯波関数の周期Tの途中のタイミングで離散的に実行することとし、式(5b)を次式のような式に書き直す。
Figure JPOXMLDOC01-appb-M000008
 ここで、tは、mod演算により位相がリセットされる時刻を避けるためのシフト時間である。tは、基準位相θ(t)がθminにリセットされる時刻で、t=pT(pは整数)である。δ(t)はディラックのデルタ関数である。
 式(8)では、更新項G(θ(t)-θ(t))及び更新項Gik(θ(t)-θ(t))のすべてが同期的に同時に計算される。そこで、次に、これらの各更新項の演算をより簡単に非同期的に並列実行することを考える。
 時刻t及び時刻tp+1の間で節点i,kの状態値がともに更新されない時間区間を(t (ik),tp+1 (ik))とする。式(6a)より、互いに隣接する2つの節点i,kの状態値がともに更新されない間は、隣接する節点i,k間の位相差θ(t)-θ(t)は一定の値に保たれる。従って、位相差θ(t)-θ(t)は時間区間(t (ik),tp+1 (ik))の間では常に一定となるので、この時間区間(t (ik),tp+1 (ik))内のどの時刻でθ(t)-θ(t)を計算しても同じ値が得られる。しかしながら、実際に状態値の更新を非同期で行う場合には、時刻t及び時刻tp+1の間のどの時刻で節点i,kの状態値が更新されるかは節点の組ごとに異なるので、すべての隣接接点の組が更新されない時間区間は存在しないか又は存在したとしてもその位置を特定することができない。従って、一般にはθ(t)-θ(t)は時間区間(t,tp+1)の中で一定値には保存されないと考えたほうがよい。しかし、G及びGikが小さい場合、状態値の途中更新による誤差はO(Gik・G),O(Gik・Gij)のオーダーであるので無視することができ、位相差θ(t)-θ(t)は時間区間(t,tp+1)の間でほぼ一定であると近似してもよい。位相差θ(t)-θ(t)の項についても同様である。
 そこで、式(8)の右辺の更新項Gik(θ(t)-θ(t))が実行される時刻を、時刻t+tから、時間区間(t (ik),tp+1 (ik))の間でθ(t)が0となる時刻tpk(∈(t (ik),tp+1 (ik)))へシフトする。また、更新項G(θ(t)-θ(t))が実行される時刻についても、同様に、時間区間(t (i),tp+1 (i))の間で任意にシフトすることができる。そこで、この更新時刻も、時刻t+tから、θ(t)が0となる時刻(tp0=(|θmin|-θ)/ω+p・T)へシフトすることにする。そうすると、式(8)を近似的に次式のように書き直すことができる。
Figure JPOXMLDOC01-appb-M000009
 式(7),(9)より、位相を用いて表現したガボール型フィルタの状態値の更新を含む位相の更新式は次のように表される。
Figure JPOXMLDOC01-appb-M000010
 式(10)の位相θ(t)は、mod演算により位相がリセットされる時刻以外で微分可能であり、微分形式で表すと次式のように表される。
Figure JPOXMLDOC01-appb-M000011
 従って、位相θ(t)は、次のように表すことができる。
Figure JPOXMLDOC01-appb-M000012
 式(10)~(12)は、節点の配置が図61のような平面四方格子状の場合に限らず、例えば、図62のように平面六方格子状の節点配置に対しても同様に適用することができる。さらに、2次元の節点配置に限らず、1次元や3次元の節点配置にも同様に適用することができる。
 また、式(5b)の更新項Gik(θ(t)-θ(t)),G(θ(t)-θ(t))は、更新係数に位相状態値差を乗じた形であるが、さらに一般化したフィルタでは、各更新項は更新係数に位相状態値差の関数を乗じた形Gik・f(θ(t)-θ(t)),G・f(θ(t)-θ(t))で表される。ここで、fは、線形関数であっても非線形関数であってもよい。その場合には、式(10)~(12)の更新項Gikθ(t)δ(t-tpk),Gθ(t)δ(t-tp0)は、それぞれ、Gik・f(θ(t))δ(t-tpk),G・f(θ(t))δ(t-tp0)と置き換えられる。
 更新式(10)を回路により実現するために、各節点に積分発火型ニューロンを用いる。すべてのニューロンの内部状態を表す変数θは同じ位相速度ωで増加するものとする。各ニューロンiは、変数θが位相0に対応する閾値Vに達すると発火して、隣接するニューロンにスパイクを伝達する。また、変数θが最大位相θmaxに対応する閾値Vhighに達すると、最小位相θminに対応する電圧Vlowにリセットされる。また、時刻tpkにおいて隣接するニューロンkからスパイクが伝達されると、変数θを(1+Gik)θ(tpk)に逐次更新する。尚、θを含む項の更新は、全ニューロンに一定の周期Tでスパイクを入力することによって実現すればよい。
 尚、節点の配置が図61のような平面四方格子状の場合において、式(10)について、を隣接方位及び実部・虚部を明示すると、次式のようになる。
Figure JPOXMLDOC01-appb-M000013
〔2〕本発明の構成
 本発明に係る情報処理装置の第1の構成は、複数の節点ユニットが格子状に相互結合した節点ユニットネットワークを有する情報処理装置であって、
 前記各節点ユニットは、
 当該節点ユニットの固有の位相を表す位相状態値を保持する位相状態値保持手段と、
 前記位相状態値保持手段が保持する前記位相状態値を所定の位相速度ωで経時的に変化させる位相進行手段と、
 前記位相状態値保持手段が保持する前記位相状態値が所定の閾値である最大位相状態値に達したときに、前記位相状態値を所定の初期値である最小位相状態値にリセットする位相復位手段と、
 前記位相状態値保持手段が保持する前記位相状態値が、位相が零値であることを表す所定の零位相状態値を過ぎったときに、更新トリガを出力するトリガ発生手段と、
 隣接する前記節点ユニットである隣接節点ユニットの前記トリガ発生手段が前記更新トリガを出力したとき、当該隣接節点ユニットの隣接方位に応じて、その時点で前記位相状態値保持手段が保持する前記位相状態値を、当該位相状態値に前記隣接方位により予め設定された更新係数を乗じた値だけ変化させ、又は当該位相状態値を前記隣接方位により予め設定された所定の関数fで変換した値だけ変化させることにより、前記位相状態値の更新を行う位相更新手段と、
を備え、
 当該節点ユニットの位相状態値と、隣接接点ユニットの位相状態値との差に比例する値、又は前記差を前記関数fで変換した値だけ,当該節点ユニットの位相状態値を更新する計算を行うことを特徴とすることを特徴とする。
 この構成により、各節点ユニットの位相状態値は、位相進行手段によって、所定の位相速度で経時的に増加し、位相状態値が最大位相状態値に達したときに、位相復位手段により最小位相状態値にリセットされる。従って、位相状態値は、式(6a)又は式(7)に示したように変化する。一方、位相状態値が零位相状態値を過ぎったときにトリガ発生手段はトリガを出力する。すなわち、トリガ発生手段によりトリガが出力された時点が、位相が0となった時点である。位相更新手段は、隣接する節点ユニットのトリガ発生手段がトリガを出力したとき(すなわち、隣接する節点ユニットの位相が0となったとき)、該節点ユニットの隣接位置に応じて、自己の位相状態値を所定量だけ変化させることにより位相状態値を更新する。これにより、式(10)に示した更新式(但し、Gの更新項を除く。)の演算が実行される。
 尚、本発明は、「背景技術」において説明したようにガボール型フィルタ演算から発展させたものであるが、本発明の適用範囲はガボール型フィルタ演算に限られるものではなく、節点ユニットの接続の仕方、更新係数や関数fの設定の仕方を用途に合わせて適宜設定することによって、様々なセルラー構造ネットワーク演算に適用することが可能である(例えば、実施例6,7参照)。
 ここで、「複数の節点ユニットが格子状に相互結合した節点ユニットネットワーク」とは、結晶構造のように並進対称性を有する格子や円心対称な格子などの格子点上に節点ユニットが配置され、各節点ユニットが隣接する節点ユニットと相互に結合されたネットワーク構造をいう。格子状の構造であればよく、例えば、四方格子状、六方格子状、三方格子状、円心対称格子等の様々な格子ネットワーク構造が含まれる。さらに、節点ユニットの配置は2次元配置に限られず、1次元配置や3次元配置も含まれる。尚、ここでいう配置は、空間的な配置ではなく、抽象的な配置である。すなわち、空間的に並進対称な格子状な配置と同位相(同じトポロジー)の配置をいう。また、「隣接する節点」(又は「隣接する節点ユニット」)も、空間的に隣接していることをいうのではなく、更新時において、他の節点(節点ユニット)を介することなく、位相が互いに直接相互作用をする節点(節点ユニット)のことをいう。例えば、図62の場合、節点Oに対して節点Aは空間的に隣接するが、節点Bは空間的には隣接していない。しかしながら、位相の更新時には節点Oと節点Bとは互いの位相が式(10)により相互作用を及ぼすため、節点Oと節点Bとは「隣接する節点」である。また、節点Oと節点Cとは位相の更新時に互いの位相が相互作用を及ぼさないので、「隣接する節点」とはいわない。
 また、本明細書において「位相(位相値)」、「状態値」、「位相状態値」は、それぞれ異なる意味で用いられる。「位相(位相値)」とは、各節点(節点ユニット)が有する位相(位相値)そのものをいう。「状態値」とは、各節点(節点ユニット)の位相から基準位相を差し引いた差をいう。ここで、「基準位相」とは、各節点(節点ユニット)の位相と同じ角速度で進行する位相であって、節点間の位相の相互作用による更新を受けないものをいい、式(6c)で表される。「位相状態値」とは、各節点の位相を表現する値をいい、位相値そのものの場合以外にも例えば電圧値、電荷値等の場合もある。位相(位相値)と位相状態値とは一対一対応する。
(例)
 基準位相θ(t)が式(6c)で表されるとする。また、ある節点iの位相θ(t)は式(6a)で表されるとする。このとき、この節点iの「状態値」は、Δθ(t)=θ(t)-θ(t)である。また、節点iにおいて、位相θ(t)の値は、節点iに備えられたコンデンサに充電される電荷量Q(t)によって表現されるものとする。このとき、電荷量Q(t)は節点iの「位相状態値」である。
(例終わり)
 尚、本構成では、位相状態値を与える量は、特に特定はしておらず、例えば、回路的に構成する場合には、電圧、電荷、電流などの物理量を用いることができる。また、ソフトウェア的に構成する場合には、位相状態値を表す変数として与えられる。
 「一定の位相速度ωで経時的に変化させる」とは、位相速度ωで経時的に増加させる又は経時的に減少させることをいう。「隣接方位により予め設定された更新係数」とは、例えば式(10)に示したGikのことをいう。また、「所定の関数f」は、線形関数でも非線形関数でもよい。
 また、回路的に構成する場合には、「位相状態値保持手段」としては、位相状態値を電荷として保持するキャパシタや、位相状態値を抵抗値として保持する抵抗変化型メモリ素子等を使用することができる。電荷を蓄えるキャパシタとしては、近年実用化が進んでいる強誘電体材料を高誘電体材料として用いることで、LSIチップ上の専有面積を小さくすることができ、素子の微細化、回路の高集積化が可能になる。ここで、「高誘電体材料」として用いるという意味は、強誘電体材料において電圧-分極特性が線形な領域を用いることにより、ヒステリシスがなく、誘電率が通常のシリコン酸化膜の10倍から100倍以上高い材料として用いることができるということである。また、2000年代後半頃よりメモリスタと称される抵抗変化型メモリ素子が開発されている。これは、素子に流した電流の積分量に応じて抵抗が変化する素子なので、その変化が線形である領域を用いれば、この素子も、電荷を蓄えるキャパシタの代わりに、微細化可能な記憶素子として利用することができる。抵抗変化にしきい値があり、一定の電流量以下では抵抗が変化しないタイプの素子を用いれば、そのしきい値以下の電流を流すことで、素子の両端に発生する電圧を公知の方法で読み出すことにより、保持している抵抗値(すなわち電流の積分値)を読み出すことができる。これにより、本発明の「位相状態値保持手段」の記憶部分として用いることができる。
 本発明に係る情報処理装置の第2の構成は、前記第1の構成において、前記最大位相状態値から前記最小位相状態値を差し引いた差を前記位相速度ωの平均値で除して得られる時間を基本周期Tとしたとき、基本周期Tで自己更新トリガを出力する自己更新トリガ発生手段を備え、
 前記各節点ユニットは、
 前記自己更新トリガ発生手段が前記自己更新トリガを出力したとき、その時点で前記位相状態値保持手段が保持する前記位相状態値を、当該位相状態値に予め設定された自己更新係数を乗じた値だけ変化させ、又は当該位相状態値を前記隣接方位により予め設定された所定の関数fで変換した値だけ変化させることにより、前記位相状態値の更新を行う自己位相更新手段を備えたことを特徴とする。
 この構成により、式(10)に示した更新式の自己更新項(Gの更新項)の演算を実行することもできる。
 本発明に係る情報処理装置の第3の構成は、前記第1又は2の構成において、前記トリガ発生手段は、前記位相状態値保持手段が保持する前記位相状態値が前記位相復位手段によりリセットされた時点から所定の遅延時間Tだけ遅延した時点で前記更新トリガを出力することを特徴とする。
 この構成によれば、位相状態値が最小位相状態値にリセットされた時点から所定の遅延時間Tだけ遅延した時刻における位相を位相0とみなす。すなわち、位相状態値は、位相が負を表す最小位相状態値にリセットされた後、所定の位相速度で増加して時刻Tに位相0となり、時刻T経過後に位相が正となって最大値に達するものとみなす。そして、トリガ発生手段は、位相復位手段が位相状態値が最小位相状態値にリセットした時点から遅延時間Tだけ遅延して、トリガを出力する。そして、位相更新手段は、隣接する節点ユニットのトリガ発生手段のトリガ出力により、自己の位相状態値の更新を行う。本構成では、式(10)の更新演算を厳密に実行することとはならないが、各更新係数Gikが小さい場合には、近似的に式(10)と同等の更新演算を実行することができる。
 本発明に係る情報処理装置の第4の構成は、前記第1又は2の構成において、前記位相状態値保持手段は、当該節点ユニットの固有の位相を表す位相状態値を電荷量として保持する位相状態値保持用キャパシタであり、
 前記位相進行手段は、前記位相状態値保持用キャパシタに対して所定の充電電流を給電する電流源であり、
 前記位相更新手段は、前記隣接節点ユニットの前記トリガパルス生成器が前記更新トリガを出力したとき、当該隣接節点ユニットの隣接方位に応じて、その時点での前記位相状態値保持用キャパシタの端子間電圧Vと前記零値電圧Vmiddleとの差電圧V-Vmiddleに、前記隣接方位により予め設定された更新係数を乗じた値に比例する量の電荷、又は当該差電圧V-Vmiddleを所定の関数fで変換した値に比例する量の電荷を、前記位相状態値保持用キャパシタに充電又は放電する状態値更新回路であることを特徴とする。
 本発明に係る情報処理装置の第5の構成は、前記第1又は2の構成において、前記位相状態値保持手段は、当該節点ユニットの固有の位相を表す位相状態値を電荷量として保持する位相状態値保持用キャパシタであり、
 前記位相進行手段は、前記位相状態値保持用キャパシタに対して所定の充電電流を給電する電流源であり、
 前記位相復位手段は、
 前記最大位相状態値に対応する最大値電圧Vhighと、前記位相状態値保持用キャパシタの端子間電圧Vとが入力され、両者の大小関係を示す電圧信号を出力する第1のコンパレータと、
 前記第1のコンパレータの出力電圧が、前記端子間電圧Vが前記最大値電圧Vhighより大きいことを示す状態に反転した場合に、前記位相状態値保持用キャパシタの端子電位を、前記最小位相状態値に対応する最小値電圧Vlowにリセットするリセット回路と、を備え、
 前記トリガ発生手段は、
 前記零位相状態値に対応する零値電圧Vmiddleと、前記位相状態値保持用キャパシタの端子間電圧Vとが入力され、両者の大小関係を示す電圧信号を出力する第2のコンパレータと、
 前記第2のコンパレータの出力電圧が、前記端子間電圧Vが前記零値電圧Vmiddleより大きいことを示す状態となったときに、前記更新トリガとしてパルスを出力するトリガパルス生成器と、を備え、
 前記位相更新手段は、前記隣接節点ユニットの前記トリガパルス生成器が前記更新トリガを出力したとき、当該隣接節点ユニットの隣接方位に応じて、その時点での前記端子間電圧Vと前記零値電圧Vmiddleとの差電圧V-Vmiddleに、前記隣接方位により予め設定された更新係数を乗じた値に比例する量の電荷、又は当該差電圧V-Vmiddleを所定の関数fで変換した値に比例する量の電荷を、前記位相状態値保持用キャパシタに充電又は放電する状態値更新回路であることを特徴とする。
 この構成による作用については、実施例1に詳述する。
 ここで、状態値更新回路の構成については、上記機能を奏効するような回路であれば、その詳細な構成は特に限定はしないが、例えば、状態値更新回路を、前記各隣接節点ユニットのそれぞれに対応して設けられた更新パルス生成器、正値更新回路及び負値更新回路を備えた構成とし、(a)前記更新パルス生成器は、対応する前記隣接節点ユニットの前記トリガパルス生成器からパルスが出力されたとき、当該隣接節点ユニットの隣接方位に対して予め決められている更新係数の正負に応じて、当該更新係数が正の場合は当該更新係数に比例する時間幅の正値パルスを、当該更新係数が負の場合は当該更新係数に比例する時間幅の負値パルスを出力する回路であり、(b)前記各正値更新回路は、対応する前記隣接節点ユニットの前記更新パルス発生器から前記正値パルスが出力されたとき、前記端子間電圧Vが前記零値電圧Vmiddleよりも大きい場合には、当該正値パルスのパルス幅の時間だけ、前記位相状態値保持用キャパシタに対して前記端子間電圧Vと前記零値電圧Vmiddleとの差に比例する電流を給電し、前記端子間電圧Vが前記零値電圧Vmiddleよりも小さい場合には、当該正値パルスのパルス幅の時間だけ、前記位相状態値保持用キャパシタから前記零値電圧Vmiddleと前記端子間電圧Vとの差に比例する電流を放電する回路であり、(c)前記各負値更新回路は、対応する前記隣接節点ユニットの前記更新パルス発生器から前記負値パルスが出力されたとき、前記端子間電圧Vが前記零値電圧Vmiddleよりも大きい場合には、当該正値パルスのパルス幅の時間だけ、前記位相状態値保持用キャパシタから前記端子間電圧Vと前記零値電圧Vmiddleとの差に比例する電流を放電し、前記端子間電圧Vが前記零値電圧Vmiddleよりも小さい場合には、当該正値パルスのパルス幅の時間だけ、前記位相状態値保持用キャパシタに対し前記零値電圧Vmiddleと前記端子間電圧Vとの差に比例する電流を給電する回路であるような構成とすることができる。
 本発明に係る情報処理装置の第6の構成は、前記第1又は2の構成において、前記位相状態値保持手段は、当該節点ユニットの固有の位相を表す位相状態値を電荷量として保持する位相状態値保持用キャパシタであり、
 前記位相進行手段は、前記位相状態値保持用キャパシタに対して一定所定の充電電流を給電する電流源であり、
 前記トリガ発生手段は、
 一方の入力端子に前記位相状態値保持用キャパシタの端子間電圧Vが入力され、他方の入力端子に、前記最大位相状態値に対応する最大値電圧Vhigh又は前記零位相状態値に対応する零値電圧Vmiddleの何れかである対照電圧入力電圧が入力され、両者の大小関係を示す電圧信号を出力するコンパレータと、
 前記コンパレータの出力電圧が、前記端子間電圧Vが前記対照電圧入力電圧より大きいことを示す状態となったときに、パルスを出力するトリガパルス生成器と、
 前記トリガパルス生成器がパルスを出力すると、当該パルスを遅延させた遅延パルスを生成するパルス遅延器と、
 前記パルス遅延器から遅延パルスが出力される毎に、前記コンパレータの前記他方の入力端子に入力される前記対照電圧入力電圧を、前記最大値電圧Vhighと前記零値電圧Vmiddleに交互に切り替える対照電圧入力電圧切替回路と、
 前記対照電圧入力電圧が前記零値電圧Vmiddleの状態で前記トリガパルス生成器がパルスを出力したとき、当該パルスを前記更新トリガとして出力する出力スイッチ回路と、を備え、
 前記位相復位手段は、前記対照電圧入力電圧が前記最大値電圧Vhighのときに、前記トリガパルス生成器がパルスを出力すると、前記電流源を遮断するとともに、前記位相状態値保持用キャパシタにの端子電位を、前記最小位相状態値に対応する最小値電圧Vlowを印加するにリセットするリセット回路を備え、
 前記位相更新手段は、前記隣接節点ユニットの前記トリガパルス生成器が前記更新トリガを出力したとき、当該隣接節点ユニットの隣接方位に応じて、その時点での前記端子間電圧Vと前記零値電圧Vmiddleとの差電圧V-Vmiddle又は当該差電圧V-Vmiddleを所定の関数fで変換した値に、前記隣接方位により予め設定された更新係数を乗じた値に比例する量の電荷、又は当該差電圧V-Vmiddleを所定の関数fで変換した値に比例する量の電荷を、前記位相状態値保持用キャパシタに給電し又は前記位相状態値保持用キャパシタから充電又は放電する状態値更新回路であることを特徴とする。
 この構成による作用については、実施例2に詳述する。
 本発明に係る情報処理装置の第7の構成は、前記第1又は2の構成において、前記位相状態値保持手段は、当該節点ユニットの固有の位相を表す位相状態値を電荷量として保持する位相状態値保持用キャパシタであり、
 前記位相進行手段は、前記位相状態値保持用キャパシタに対して所定の充電電流を給電する電流源であり、
 前記トリガ発生手段は、
 前記位相状態値電圧V、前記零位相状態値に対応する零値電圧Vmiddle、又は前記最大位相状態値に対応する最大値電圧Vhighの何れかに入力電圧を切り替える入力電圧切替回路、一端が前記入力電圧切替回路に接続されたゼロオフセット用キャパシタ、入力側端子が前記ゼロオフセット用キャパシタの他端に接続されたインバータ、及び前記インバータの入出力端子間に接続されたゼロオフセット設定用スイッチ回路を具備するチョッパー型コンパレータと、
 前記チョッパー型コンパレータの前記インバータから出力されるパルスのエッジにおいてスパイク・パルスを出力するトリガパルス生成器と、
 前記トリガパルス生成器が前記スパイク・パルスを出力すると、当該スパイク・パルスの出力時点から一定の時間遅延して遅延パルスを出力するパルス遅延器と、
 前記トリガパルス生成器が前記スパイク・パルスを2回出力する毎に、当該スパイク・パルスを前記更新トリガとして出力する出力スイッチ回路と、
 前記入力電圧切替回路、前記ゼロオフセット設定用スイッチ回路、及び前記出力スイッチ回路の切り替えを制御する切替制御回路と、を備え、
 前記位相復位手段は、前記トリガパルス生成器が前記スパイク・パルスを2回出力する毎に、前記電流源の給電を遮断するとともに前記位相状態値保持用キャパシタを放電し端子間電圧Vを前記最小位相状態値に対応する最小値電圧Vlowにリセットするリセット回路を備え、
 前記位相更新手段は、前記隣接節点ユニットの前記トリガパルス生成器から前記更新トリガを出力されたとき、当該隣接節点ユニットの隣接方位に応じて、その時点での前記端子間電圧Vと前記零値電圧Vmiddleとの差電圧V-Vmiddleに、前記隣接方位により予め設定された更新係数を乗じた値に比例する量の電荷、又は当該差電圧V-Vmiddleを所定の関数fで変換した値に比例する量の電荷を、前記位相状態値保持用キャパシタに充電又は放電する状態値更新回路であることを特徴とする。
 この構成による作用については、実施例3に詳述する。
 本発明に係る情報処理装置の第8の構成は、前記第3の構成において、前記位相状態値保持手段は、当該節点ユニットの固有の位相を表す位相状態値を電荷量として保持する位相状態値保持用キャパシタであり、
 前記位相進行手段は、前記位相状態値保持用キャパシタに対して所定の充電電流を給電する電流源であり、
 前記位相復位手段は、
 前記最大位相状態値に対応する最大値電圧Vhighと、前記位相状態値保持用キャパシタの端子間電圧Vとが入力され、両者の大小関係を示す電圧信号を出力するコンパレータと、
 前記コンパレータの出力電圧が、前記端子間電圧Vが前記最大値電圧Vhighより大きいことを示す状態に反転した場合に、前記位相状態値保持用キャパシタの端子電圧を、前記最小位相状態値に対応する最小値電圧Vlowにリセットするリセット回路と、を備え、
 前記トリガ発生手段は、前記コンパレータの出力電圧が、前記端子間電圧Vが前記最大値電圧Vhighより大きいことを示す状態に反転した場合に、その反転時点から所定の時間だけ遅延して遅延パルスを出力する遅延パルス生成器を備え、
 前記位相更新手段は、前記各隣接節点ユニットのそれぞれに対応して設けられた更新パルス生成器、正値更新回路及び負値更新回路を備え、
 前記位相更新手段は、前記隣接節点ユニットの前記遅延パルス生成器が前記遅延パルスを出力したとき、当該隣接節点ユニットの隣接方位に応じて、その時点での前記端子間電圧Vと前記零値電圧Vmiddleとの差電圧V-Vmiddleに、前記隣接方位により予め設定された更新係数を乗じた値に比例する量の電荷、又は当該差電圧V-Vmiddleを所定の関数fで変換した値に比例する量の電荷を、前記位相状態値保持用キャパシタに充電又は放電する状態値更新回路であることを特徴とする。
 この構成による作用については、実施例4に詳述する。
 また、本発明に係る再構成プログラムは、プログラマブル論理デバイス用の再構成プログラムであって、プログラマブル論理デバイスにおいて当該再構成プログラムに基づき論理回路の再構成を行うことにより、請求項1乃至3の何れかに記載の情報処理装置が再構成されることを特徴とする。
 以上のように、本発明に係る情報処理装置及びプログラムによれば、周期的に変化する位相を各節点の状態量を表す変数として各節点ユニットに保持させ、隣接節点の位相状態値が0となったときに位相更新手段により中心節点の状態値の更新を行う構成とすることで、差分回路が不要となり回路を単純化することができる。
 また、各節点ユニットを非同期的に動作させることができるため、従来よりも処理の高速化を図ることが可能となる。
本発明の実施例1に係る情報処理装置の全体構成を表す図である。 節点ユニットネットワーク2の構成を示す図である。 図2のピクセル・アレイ13の内部構成を表す図である。 各節点ユニット6の全体構成を表す図である。 実部節点ユニット7(及び虚部節点ユニット8)の内部構成を表すブロック図である。 実部節点ユニット7及び虚部節点ユニット8のスパイク・ニューロン回路20の構成例(a)及びその動作(b)を示す図である。 実部節点ユニット7及び虚部節点ユニット8のスパイク・ニューロン回路20の他の構成例を示す図である。 図7のスパイク・ニューロン回路20の各スイッチ及び各ノードに入力される信号のタイミング図である。 実部節点ユニット7及び虚部節点ユニット8のセレクタ付きパルス生成器23,24,25,26の構成(a)及び動作(b)を表す図である。 実部節点ユニット7及び虚部節点ユニット8の状態値更新回路27の全体構成を表す図である。 図10の正パルス更新回路35の(a)構成を表す回路図(b)電圧電流特性図、及び(c),(d)動作を表す図である。 図10の負パルス更新回路36の(a)構成を表す回路図、(b)電圧電流特性図、及び(c),(d)動作を表す図である。 図10の正パルス更新回路35の他の構成例を表す回路図である。 図13の回路の各部の動作を表すタイミング・チャートである。 図10の負パルス更新回路36の他の構成例を表す回路図である。 図15の回路の各部の動作を表すタイミング・チャートである。 正パルス更新回路35と負パルス更新回路36を合体した回路の構成例である。 出力部4における状態値パルス生成回路40の回路構成の一例(a)及びその動作(b),(c)を表す図である。 本実施例の情報処理装置により、ガボール型フィルタ演算を実行し、インパルス応答を求めた結果を表す図である。 本実施例の情報処理装置によりガボール型フィルタ演算を実行した際の各節点ユニットのパルス位置の変化の一例である。 図20のガボール型フィルタ演算結果例と理論値との比較を表す図である。 本発明の実施例2に係る情報処理装置における実部節点ユニット7及び虚部節点ユニット8のスパイク・ニューロン回路20の構成(a)及び動作(b)を示す図である。 本発明の実施例3に係る情報処理装置における実部節点ユニット7及び虚部節点ユニット8のスパイク・ニューロン回路20の構成を示す図である。 図23のスパイク・ニューロン回路20の各部の動作を表すタイミング・チャートである。 実施例4に係る情報処理装置の実部節点ユニット7(及び虚部節点ユニット8)の内部構成を表すブロック図である。 図25のスパイク・ニューロン回路20の構成(a)及び動作(b)を表す図である。 図25の遅延パルス生成器21の構成(a)及び動作(b)を表す図である。 実施例4に於けるセレクタ付きパルス生成器23,24,25,26の動作を表すタイミング・チャートである。 実施例5に係る情報処理装置の各節点ユニット6の全体構成を表す図である。 実部節点ユニット7(及び虚部節点ユニット8)の内部構成を表すブロック図である。 本実施例に係る情報処理装置の各実部節点ユニット7及び虚部節点ユニット8における位相の進行・更新処理を表すフローチャートである。 各節点ユニット6における位相状態値の更新処理の流れを表すフローチャートである。 各節点ユニット6における位相状態値の更新処理の流れを表すフローチャートである。 1次元の領域ベース結合MRFのニューラル・ネットワーク・モデルを示す図である。 関数A,B,C,Dのグラフである。 実施例6のおける節点ユニットネットワーク2の構成を示す図である。 時間関数A(t),B(t),S(t),C(t)を示す図である。 図36の各各節点ユニット6の機能構成を表すブロック図である。 図38の節点ユニット6の回路ブロック図である。 強度過程節点ユニット7’の内部構成を表すブロック図である。 ラベル過程節点ユニット8’の内部構成を表すブロック図である。 ラベル過程節点ユニット8’におけるスパイク・ニューロン回路20lの構成例(a)及びその動作(b)を示す図である。 A関数演算回路71a,71bの構成例を示す回路図である。 図43のA関数演算回路71a,71bの動作例を示すタイムチャートである。 B関数演算回路72a,72bの構成例を示す回路図である。 図45のB関数演算回路72a,72bの動作例を示すタイムチャートである。 C関数演算回路75及びS関数演算回路76の構成例を示す回路図である。 図47のC関数演算回路75及びS関数演算回路76の動作例を示すタイムチャートである。 図41のA・S関数演算回路77の回路構成を示す図である。 図40のB・C関数演算回路73(B・C関数演算回路73a,73b,73c,73d)の回路構成を示す図である。 図40のパルス更新回路74(パルス更新回路74a,74b,74c,74d)及び図41のパルス更新回路78(パルス更新回路78a,78b,78c,78d)の構成例を示す回路図である。 本実施例の情報処理装置1の演算動作を表すタイムチャートである。 ニューロン活動の放射状伝搬に基づく動き検出プロセスの説明図である。 本実施例のセルラー・ニューラル・ネットワークの全体構成を表す図である。 図53,図54のセルラー・ニューラル・ネットワークを用いた動き検出の原理を説明する図である。 本発明の実施例6に係る情報処理装置の全体構成を表す図である。 上象限に対応するCA3ネット(CA3(u))内の各ニューロン・セルとそれに対応するCA1ネット(CA1(ua),CA1(ub),CA1(ul),CA1(ur))内の各ニューロン・セルとの結線状態を表す図である。 図57のCA3ネット(CA3(u))内の1つのニューロン・セル(m,n)に結線されるCA1ネット内のニューロン・セルを示した図である。 図56の4個のCA3ネット内の各節点ユニットCA3(ξ)(m,n)の回路構成を示す図である。 実施例6に係る情報処理装置の各節点ユニットCA1(ξη)(m,n)の動作を示すタイムチャートである。 2次元の抵抗ネットワークによるガボール型フィルタ(Gabor Type Filter)の回路モデルの一例である。 2次元の抵抗ネットワークによるガボール型フィルタ(Gabor Type Filter)の回路モデルの他の一例である。
 以下、本発明を実施するための形態について、図面を参照しながら説明する。
 本実施例では、式(13a)~(13d)で説明した平面四方格子状のガボール型フィルタ演算をアナログ回路によって高速に演算することが可能となるように構成する例について説明する。
〔1〕全体構成
 図1は、本発明の実施例1に係る情報処理装置の全体構成を表す図である。情報処理装置1は、節点ユニットネットワーク2、基準位相発生部2a、入力部3、出力部4、及び全体制御部5を備えている。
 節点ユニットネットワーク2は、複数の節点ユニット(後述)が並進対称な格子状に相互結合したネットワーク構造を有している。基準位相発生部2aは、基準位相信号の生成を行う。入力部3は、節点ユニットネットワーク2の各節点ユニットに、位相状態値の初期値を設定する。出力部4は、節点ユニットネットワーク2の各節点ユニットの位相状態値を出力する。全体制御部5は、節点ユニットネットワーク2の各節点ユニットに、更新係数やパルス遅延量などのパラメータを設定するとともに、それら節点ユニットの動作制御を行う。
 図2は、節点ユニットネットワーク2の構成を示す図である。図3は、図2のピクセル・アレイ13の内部構成を表す図である。図4は、各節点ユニット6の全体構成を表す図である。各節点ユニット6は、図4に示したように、実部節点ユニット7と虚部節点ユニット8とを備えている。ここで、節点ユニット6は、2次元ガボール型フィルタの状態値を保持する各節点に対応する。また、実部節点ユニット7は、節点の状態値の実部を保持・更新する部分、虚部節点ユニット8は状態値の虚部を保持・更新する部分である。
 節点ユニットネットワーク2は、N行M列に配列されたM×N個の節点ユニット6を備えている。各節点ユニット6は、図2のように、平面四方格子点状に配列されている。これをピクセル・アレイ13と呼ぶ。各節点ユニット6は、図3に示すように、上下左右に隣接する4つの節点ユニット6と互いに結合されている。以下、n行m列目の節点ユニット6を、「節点ユニットUm,n」と呼ぶことにする。
 また、節点ユニットネットワーク2は、図2のように、列セレクタ14と2つのドライバ15,16を備えている。
 ドライバ15は、ピクセル・アレイ13のすべての列の各節点ユニット6に対して、自己更新係数Gに対応する電圧を印加するためのドライバである。
 ピクセル・アレイ13の各列の節点ユニット6には、共通の列選択信号線9(図4参照)が接続されている。列選択信号線9は全部でM本ある。列セレクタ14は、各列の列選択信号線9の何れかに対して、選択列を指定するための列選択信号を入力する(Hレベルにする)ことによって、ピクセル・アレイ13の列の選択を行う。
 ピクセル・アレイ13の各行の実部節点ユニット7には、図4に示したように、共通の初期値入力線10が接続されている。初期値入力線10は全部でN本である。各初期値入力線10には、入力部3から、位相状態値の初期値を設定するための初期化信号が入力される。ガボール型フィルタの演算を実行するのに先立ち、全体制御部5が、列セレクタ14により列を選択した後、入力部3が各初期値入力線10から各行の実部節点ユニット7の位相状態値の初期値(初期化信号)を入力することにより、各実部節点ユニット7に位相状態値の初期値を設定することができる。
 ピクセル・アレイ13の各行の実部節点ユニット7と虚部節点ユニット8には、図4に示したように、それぞれ、共通の実部外部出力線11及び虚部外部出力線12が接続されている。実部外部出力線11及び虚部外部出力線12も、それおれ、全部でN本ずつある。
 各実部外部出力線11及び各虚部外部出力線12は、ドライバ16を介して、出力部4に接続されている。ドライバ16は、列セレクタ14により選択された列にある各行の実部節点ユニット7及び虚部節点ユニット8が発火したときに出力するスパイク・パルス(spike pulse)spk_fを、外部回路である出力部4に出力するための出力バッファである。ガボール型フィルタの演算がすべて終了した後に、全体制御部5が、列セレクタ14により列を選択した後、出力部4が各行の実部外部出力線11及び虚部外部出力線12から各行の実部節点ユニット7及び虚部節点ユニット8の位相状態値を読み出して出力することができる。
 尚、本実施例では、もっとも一般に用いられる例として、節点ユニット6が平面四方格子状に結合した例を説明するが、本発明では、節点ユニットネットワーク2の構成としてこれ以外にも、目的に応じて、三方格子状、六方格子状等の様々なネットワーク構造を採ることができる。
 図3に示すように、各節点ユニット6には、隣接する各節点ユニット6から、表1のようなパルス(更新トリガ又は自己更新トリガ)が入力される。表1において、「隣接節点方位」欄は、注目する節点ユニットUm,nに対しパルス(更新トリガ)を出力する隣接節点ユニットUm’,n’の方位(節点ユニットUm,nから見た方位)である。例えば、「上」は隣接節点ユニットUm-1,nを指す。「隣接節点種類」欄は、パルスを出力する隣接節点ユニットUm’,n’の種類(「実部節点ユニット7」又は「虚部節点ユニット8」)を表す。例えば、節点ユニットUm,nに対し左側の隣接節点ユニットUm-1,nの実部節点ユニット7が更新項-G1xθm,n (t)δ(tp(m-1,n) ∈[t,t+Δt])が出力される場合において、当該更新係数G1xが正の場合(すなわち、-G1xが負の場合)、節点ユニットUm,nに対しパルスR_left_m_gx1が入力される。
 尚、表1の最下段のg0_p,g0_mは、すべての節点ユニットUm,nに対し共通に入力されるパルス(自己更新トリガ)であり、式(13c),(13d)の自己更新係数-Gが負の場合g0_mが、自己更新係数-Gが正の場合g0_pが入力される。
 また、各節点ユニット6からは、隣接する各節点ユニット6に対し、表2のようなパルス(更新トリガ又は自己更新トリガ)が出力される。表2において、「隣接節点方位」欄は、注目する節点ユニットUm,nからパルス(更新トリガ)を出力する隣接節点ユニットUm’,n’の方位(節点ユニットUm,nから見た方位)である。「隣接節点種類」欄は、パルスを出力する隣接節点ユニットUm’,n’の種類(「実部節点ユニット7」又は「虚部節点ユニット8」)を表す。
 ここで、上記各入力パルスの記号法について説明すると、先頭の「R」又は「I」は、実部節点ユニット7の出力(R)か虚部節点ユニット8の出力(I)かを表す。先頭から2番目の「left」,「right」,「top」,「bottom」はトリガパルスが入力される隣接方向を表し、それぞれ「left」が左隣接,「right」が右隣接,「top」が上隣接,「bottom」が下隣接の隣接節点ユニット6から入力されるトリガパルスであることを表す。先頭から3番目の「p」,「m」はトリガパルスの正負(すなわち更新係数Gikの符号)を表し、「p」が正,「m」が負であることを表す。末尾の「gx1」,「gx2」,「gy1」,「gy2」は、トリガパルスに乗算されている更新係数の種類を表し、それぞれ、「gx1」がG1x,「gx2」がG2x,「gy1」がG1y,「gy2」がG2yが乗算されていることを表す。例えば、「R_left_p_gx1」は、左隣接の実部節点ユニット7から出力される正のトリガパルスに更新係数G1xを乗算した入力パルスであることを表す。
 また、上記各出力パルスの記号法について説明すると、先頭の「R」又は「I」は、実部節点ユニット7の出力(R)か虚部節点ユニット8の出力(I)かを表す。先頭から2番目の「OUT」はトリガパルスが出力パルスであることを表す。先頭から3番目の「P」,「M」はトリガパルスの正負(すなわち更新係数Gikの符号)を表し、「P」が正,「M」が負であることを表す。末尾の「gx1」,「gx2」,「gy1」,「gy2」は、トリガパルスに乗算されている更新係数の種類を表し、それぞれ、「gx1」がG1x,「gx2」がG2x,「gy1」がG1y,「gy2」がG2yが乗算されていることを表す。例えば、「I_OUT_M_gy2」は、虚部節点ユニット8から出力される負のトリガパルスに更新係数G2yを乗算した出力パルスであることを表す。
Figure JPOXMLDOC01-appb-T000014
Figure JPOXMLDOC01-appb-T000015
 図5は、図4の実部節点ユニット7の内部構成を表すブロック図である。尚、虚部節点ユニット8の内部構成についてもこれと同様であるため、ここでは、代表として実部節点ユニット7についてのみ説明する。
 実部節点ユニット7(虚部節点ユニット8)は、スパイク・ニューロン回路20、遅延パルス生成器21、更新許可スイッチ22、セレクタ付きパルス生成器23,24,25,26、状態値更新回路27、及び列選択スイッチ28,29を備えている。
 スパイク・ニューロン回路20は、実部節点ユニット7(虚部節点ユニット8)に固有の位相状態値を保持する位相状態値保持手段として機能するとともに、位相状態値保持手段が保持する位相状態値を一定の位相速度ωで経時的に変化させる位相進行手段、位相状態値保持手段が保持する位相状態値が最大位相状態値に達したときに、位相状態値を最小位相状態値にリセットする位相復位手段、及び位相状態値が零位相状態値を過ぎたときに発火して更新トリガを出力するトリガ発生手段として機能する。このスパイク・ニューロン回路20は、発火したときにスパイク・パルスspk_fを出力し、このスパイク・パルスspk_fは更新許可スイッチ22を介してセレクタ付きパルス生成器23,24,25,26に入力される。
 更新許可スイッチ22は、AND回路で構成され、一方の入力がスパイク・ニューロン回路20の出力に接続され、他方の入力には、全体制御部5から出力される更新許可信号update_enaが入力される。更新許可スイッチ22は、更新許可信号update_enaがHレベルのときには、スパイク・ニューロン回路20が出力するスパイク・パルスspk_fをセレクタ付きパルス生成器23,24,25,26に伝達し、更新許可信号update_enaがLレベルのときは伝達しない。これにより、状態値の更新を実行するかしないかを切り替えることができる。
 セレクタ付きパルス生成器23,24,25,26は、スパイク・パルスspk_fが入力されると、それぞれ、各更新係数G1xの大きさに比例したパルス幅を持つトリガパルス(更新トリガ)R_OUT_P_gx1, R_OUT_M_gx1,G2xの大きさに比例したパルス幅を持つトリガパルス(更新トリガ)R_OUT_P_gx2, R_OUT_M_gx2,G1yの大きさに比例したパルス幅を持つトリガパルス(更新トリガ)R_OUT_P_gy1, R_OUT_M_gy1,G2yの大きさに比例したパルス幅を持つトリガパルス(更新トリガ)R_OUT_P_gy2, R_OUT_M_gy2を出力する。
 状態値更新回路27は、隣接節点ユニット6から各トリガパルスが入力されると、それらのトリガパルスの符号及びパルス幅に応じて、スパイク・ニューロン回路20内の位相状態値保持手段が保持する位相状態値を増加又は減少させることにより、状態値の更新を行う。
 従って、本実施例では、セレクタ付きパルス生成器23,24,25,26及び状態値更新回路27が協働することによって、隣接する隣接節点ユニットのトリガ発生手段がトリガ(更新トリガ)を出力したとき、当該隣接節点ユニットの隣接方位に応じて、その時点で保持する位相状態値を、当該位相状態値に隣接方位により予め設定された更新係数を乗じた値だけ変化させることにより、状態値の更新を行う位相更新手段として機能することになる。
 次に、図5の実部節点ユニット7(虚部節点ユニット8)の各部の詳細な構成とその動作について述べる。
〔2〕実部節点ユニット7及び虚部節点ユニット8の各部の詳細構成と動作
(1)スパイク・ニューロン回路20
 図6は、実部節点ユニット7及び虚部節点ユニット8のスパイク・ニューロン回路20の構成例(a)及びその動作(b)を示す図である。図6に示したスパイク・ニューロン回路20は、位相状態値保持用キャパシタC、2つの電流源I1,I2、2つのコンパレータCMP1,CMP2、2つのトリガパルス生成器PG1,PG2、及び3つのスイッチ回路S1,S2,S3を備えている。
 位相状態値保持用キャパシタCは一端が接地され、他端が出力ノードn1に接続されている。電流源I1は、出力ノードn1を介して位相状態値保持用キャパシタCに接続されており、他端子がスイッチ回路S1を介して電源に接続されている。スイッチ回路S2は、一端が出力ノードn1に接続され、他端には、位相の最小値(最小位相値)θminに相当する電圧である最小値電圧Vlowが入力されている。
 コンパレータCMP1は、プラス側入力端子が出力ノードn1に接続され、マイナス側入力端子に最大値電圧Vhighが入力されている。最大値電圧Vhighは、位相の最大値(最大位相値)θmaxに相当する電圧であり、全体制御部5で生成され入力される。また、コンパレータCMP1の出力は、トリガパルス生成器PG1を介してスイッチ回路S1,S2の制御端子に接続されている。トリガパルス生成器PG1が生成するパルス幅は、キャパシタの電荷を放電してVlowに設定するのに要する時間を決定する。コンパレータCMP1の出力がHレベルのときは、スイッチ回路S1が開路(切断)状態、スイッチ回路S2が閉路(接続)状態となり、Lレベルのときはその逆となる。
 コンパレータCMP2は、プラス側入力端子が出力ノードn1に接続され、マイナス側入力端子に零値電圧Vmiddleが入力されている。零値電圧Vmiddleは、位相が零値であることを表す電圧であり、全体制御部5で生成され入力される。また、コンパレータCMP2の出力は、トリガパルス生成器PG2に接続されている。
 トリガパルス生成器PG2は、コンパレータCMP2が出力するパルス波形の立ち上がりにおいて、短時間幅のスパイク・パルスspk_fを出力する回路である。トリガパルス生成器PG2の出力側は、スパイク・ニューロン回路20の出力端子に接続されている。
 電流源I2は、一端が出力ノードn1を介して位相状態値保持用キャパシタCに接続されており、他端がスイッチ回路S3を介して電源に接続されている。スイッチ回路S3の制御端子には、初期値入力線10が接続されている。スイッチ回路S3は、入力部3から入力される初期化信号がHレベルのときに閉路状態、Lレベルのときに開路状態となる。
 この回路では、出力ノードn1の電圧(位相状態値電圧)V又は位相状態値保持用キャパシタCに充電された電荷量Q=Cが、この実部節点ユニット7又は虚部節点ユニット8の「位相状態値」となる。
 状態値更新回路27が状態値の更新を行っていない(すなわち、出力ノードn1に状態値更新回路27からの電流の入出力がない)状態では、出力ノードn1の位相状態値電圧V、コンパレータCMP1の出力電圧spk_r、及びスパイク・ニューロン回路20の出力電圧spk_fは、図6(b)に示したような時間変化をする。すなわち、まず、コンパレータCMP1の出力電圧spk_rがHレベルとなると、スイッチ回路S2が閉路するとともにスイッチ回路S1が開路して、位相状態値保持用キャパシタCが放電され、V=Vlow(すなわち、位相値θ=θmin<0)にリセットされる。次に、前記トリガパルス幅の時間後にコンパレータCMP1の出力電圧spk_rはLレベルとなり、スイッチ回路S2が開路しスイッチ回路S1が閉路される。そうすると、電流源I1により、位相状態値保持用キャパシタCに一定の充電電流Iが供給され、出力ノードn1の位相状態値電圧Vは一定の勾配で上昇し始める。すなわち、位相θがθmin+ωtで変化する。このとき、V<Vmiddleなので、コンパレータCMP2の出力電圧はLレベルである。
 位相状態値電圧Vが零値電圧Vmiddleを過ぎた直後(すなわち、位相θが0を過ぎたとき)、コンパレータCMP2の出力電圧がLレベルからHレベルに反転する。トリガパルス生成器PG2は、このコンパレータCMP2の出力電圧の立ち上がりにおいて、短時間のスパイク・パルスspk_fを出力する。すなわち、スパイク・ニューロン回路20が「発火(fire)」する。
 位相状態値電圧Vがさらに上昇して最大値電圧Vhighに達したとき(すなわち、位相θが最大値θmaxに達したとき)、コンパレータCMP1の出力がHレベルとなる。これに伴って、スイッチ回路S1が開路して、スイッチ回路S2が閉路され、位相状態値保持用キャパシタCに充電された電荷は瞬時に放電されて、V=Vlowとなる。この放電に伴って、コンパレータCMP1,CMP2の出力が再びLレベルとなり、再びスイッチ回路S2が開路しスイッチ回路S1が閉路されて、電流源I1により、位相状態値保持用キャパシタCに一定の電流Iが供給される。従って、状態値更新回路27が状態値の更新を行っていない状態では、位相θは、式(6a)に示したように常にθmin+ωtで鋸歯波状に変化し、スパイク・ニューロン回路20は、常に一定の時間間隔(更新周期)T=(θmax-θmin)/ωで発火して、一定の更新周期Tのスパイク・パルスspk_fを出力することになる。(ここでは、コンパレータCMP1のトリガパルス生成器PG1を介した出力パルスの時間幅は十分短いものとしている。)
 図7は、実部節点ユニット7及び虚部節点ユニット8のスパイク・ニューロン回路20の他の構成例を示す図である。図7に示したスパイク・ニューロン回路20は、位相状態値保持用キャパシタC、2つの電流源I1,I2、2つのコンパレータCMP1,CMP2、2つのトリガパルス生成器PG1,PG2、スイッチ回路S1,S2,S3、バッファ回路BUF1,BUF2,BUF3、及びインバータINV3,INV4を備えている。また、コンパレータCMP1は、キャパシタC、インバータINV1、及びスイッチ回路S4,S5,S6を備え、コンパレータCMP2は、キャパシタC、インバータINV2、及びスイッチ回路S7,S8,S9を備えている。尚、図7において、図6に対応する構成部分については、図6と同符号を付している。また、図6の場合と同様に、図7の回路のノードn1は状態更新回路27の出力端子に接続されており、ノードn10(トリガパルス生成器PG2の出力ノード)は列選択スイッチ29及び更新許可スイッチ22の一方の入力端子に接続されている(図5参照)。
 図7の回路では、コンパレータCMP1,CMP2が、サンプルホールド機能を有するチョッパ型比較器として設計されている。
 図8は、図7のスパイク・ニューロン回路20の各スイッチ及び各ノードに入力される信号のタイミング図である。図8は、状態更新回路27から出力ノードn1に電流の入出力がない(状態値の更新が行われていない)定常状態に於ける動作を表している。以下、図7のスパイク・ニューロン回路20の動作を図8に従って説明する。
 (フェーズ1)
 まず、フェーズ1において、コンパレータCMP1の出力電圧spk_rがHレベルであるとする。このとき、スイッチ回路S2,S5,S6,S8,S9は閉路(接続)状態、スイッチ回路S1,S4,S7は開路(切断)状態となる。スイッチ回路S1が開路することにより、電流源I1からノードn1への電流の供給は停止される。スイッチ回路S2が閉路することにより、ノードn1の位相状態値電圧Vは最小値電圧Vlowとなる。スイッチ回路S4が開路しスイッチ回路S5が閉路することにより、キャパシタCの入力側ノードn3の電圧Vは最大値電圧Vhighとなる。スイッチ回路S7が開路しスイッチ回路S8が閉路することにより、キャパシタCの入力側ノードn7の電圧Vは零値電圧Vmiddle=(Vhigh+Vlow)/2となる。スイッチ回路S6が閉路することにより、インバータINV1の入力ノードn4と出力ノードn5とが接続されて同電位となり、ノードn4,n5の電圧V,Vは、それぞれ、インバータINV1の閾値電圧Vth1となる。同様に、スイッチ回路S9が閉路することにより、インバータINV2の入力ノードn8と出力ノードn9とが接続されて同電位となり、ノードn8,n9の電圧V,Vは、それぞれ、インバータINV2の閾値電圧Vth2となる。このとき、トリガパルス生成器PG2の出力はLレベルである。
 フェーズ1において、キャパシタCには電圧Vhigh-Vth1が印加されるため、電荷Q31=C(Vhigh-Vth1)が充電される。また、キャパシタCには電圧Vmiddle-Vth2が印加されるため、キャパシタCの充電電荷はQ41=C(Vmiddle-Vth2)となる。
 (フェーズ2)
 時刻tにおいて、コンパレータCMP1の出力電圧spk_rがLレベルに立ち下がりフェーズ2に移行する。フェーズ2では、スイッチ回路S2,S5,S6,S8,S9は開路状態、スイッチ回路S1,S4,S7は閉路状態となる。スイッチ回路S4が閉路しスイッチ回路S5が開路することにより、キャパシタCの入力側ノードn3には、ノードn1の位相状態値電圧Vが印加される。同様に、スイッチ回路S7が閉路しスイッチ回路S8が開路することにより、キャパシタCの入力側ノードn7にも、ノードn1の位相状態値電圧Vが印加される。
 一方、スイッチ回路S6,S9が開路することによって、インバータINV1,INV2の入力側ノードn4,n8はフローティング状態となる。従って、キャパシタC,Cの充電電荷Q31,Q41は放電されることがないため、ノードn4,n8の電圧V,Vはノードn3,n7の電圧V,Vに追随して変化する。時刻tでは、V=Vlowなので、スイッチ回路S4,S7の閉路とともに、電圧V,Vは、それぞれVhigh-Vth1,Vmiddle-Vth2だけ降下する。従って、それに追随して、電圧V,Vは、時刻tで、それぞれVlow-(Vhigh-Vth1),Vlow-(Vmiddle-Vth2)となる。それに伴い、インバータINV1,INV2の出力V,VはHレベル(Vhigh)となる。
 また、時刻tにコンパレータCMP1の出力電圧spk_rがLレベルになると、スイッチ回路S1が閉路して、電流源I1によりノードn1への電流供給が開始される。従って、フェーズ2では、ノードn1の位相状態値電圧Vは最小値電圧Vlowから最大値電圧Vhighに向かって一定勾配で上昇する。そして、それに追随してノードn4,n8の電圧V,Vも、それぞれVlow-Vmiddle,Vlowから同じ勾配で上昇する。
 (フェーズ3)
 時刻tにおいて、ノードn8の電圧VがインバータINV2の閾値電圧Vth2に達すると、インバータINV2の出力電圧VがLレベル(Vlow)に反転し、フェーズ3に移行する。フェーズ3では、インバータINV2の出力電圧Vの立ち下がりに伴って、トリガパルス生成器PG2から一定の時間幅(t-t)のスパイク・パルスが出力電圧spk_fに出力される。このとき、各スイッチ回路の切り替わりはなく、引き続き電圧V,V,V,V,Vは一定勾配で上昇を続ける。
 (フェーズ4)
 フェーズ4では、トリガパルス生成器PG2の出力は再びLレベルに戻り、引き続き電圧V,V,V,V,Vは一定勾配で上昇を続ける。
 (フェーズ1)
 時刻tにおいて、ノードn4の電圧VがインバータINV1の閾値電圧Vth1に達すると、インバータINV1の出力電圧VがLレベル(Vlow)に反転し、フェーズ5に移行する。フェーズ5では、インバータINV1の出力電圧Vの立ち下がりに伴って、トリガパルス生成器PG1から一定の時間幅(t-t)のスパイク・パルスが出力電圧spk_rに出力される。
 出力電圧spk_rはHレベル(Vhigh)となると、スイッチ回路S2,S5,S6,S8,S9は閉路(接続)状態、スイッチ回路S1,S4,S7は開路(切断)状態となる。スイッチ回路S4が開路しスイッチ回路S5が閉路することにより、ノードn3の電圧Vは最大値電圧Vhighとなる。スイッチ回路S7が開路しスイッチ回路S8が閉路することにより、ノードn7の電圧Vは零値電圧Vmiddleとなる。
 また、スイッチ回路S6,S9が開路することにより、ノードn4,n5,n8,n9の電圧V,V,V,Vはすぐにそれぞれのインバータの閾値電圧に引き戻される。以下は、上述したとおりの同様の動作が繰り返される。
(2)セレクタ付きパルス生成器23,24,25,26
 図9は、実部節点ユニット7及び虚部節点ユニット8のセレクタ付きパルス生成器23,24,25,26の構成(a)及び動作(b)を表す図である。セレクタ付きパルス生成器23,24,25,26は、p型の電界効果トランジスタ(MOSFET)M1,M2、n型の電界効果トランジスタM3、インバータ回路30,31、NOR回路32、及びデマルチプレクサ33を備えている。
 トランジスタM1,M2及びトランジスタM3は、電源と接地面との間にこの順序で直列に接続されている。セレクタ付きパルス生成器23,24,25,26のトランジスタM2のゲートには、それぞれ、更新係数G1x,G2x,G1y,G2yの大きさを決定するための更新係数電圧Vが入力される。尚、更新係数電圧Vは全体制御部5において生成され、全ての節点ユニット6に共通に入力される。
 トランジスタM1,M3のゲートには、更新許可スイッチ22を介してスパイク・ニューロン回路20が発火したときに出力するスパイク・パルスspk_fが入力される。インバータ回路30,31は直列接続されており、インバータ回路30の入力側はトランジスタM2,M3の共通接続ノード(以下「中間ノードn2」という。)に接続され、インバータ回路31の出力側は、NOR回路32の一方の入力端子に接続される。NOR回路32の他方の入力端子には、スパイク・ニューロン回路20が発火したときに出力するスパイク・パルスspk_fが直接入力される。NOR回路32の出力端子は、デマルチプレクサ33の入力端子に接続されている。デマルチプレクサ33の選択制御入力端子には、更新係数G1x,G1y,G2x,G2yの符号(正負)を決定する更新係数符号信号signが入力される。更新係数符号信号signは全体制御部5において生成され、全ての節点ユニット6に共通に入力される。デマルチプレクサ33の2つの出力端子は、セレクタ付きパルス生成器23,24,25,26の出力端子OUT_P, OUT_Mとなっている。デマルチプレクサ33は、更新係数符号信号signが「正」を表すとき(ここでは、Hレベルとする。)は出力端子OUT_Pを出力先に選択し、更新係数符号信号signが「負」を表すとき(ここでは、Lレベルとする。)は出力端子OUT_Mを出力先に選択する。
 スパイク・ニューロン回路20からのスパイク・パルスspk_fの入力がない(spk_fが常時Lレベルの)初期状態では、トランジスタM1,M3のゲートはLレベルであり、トランジスタM1がオン、トランジスタM3がオフである。従って、トランジスタM1,M2を介して、電源から中間ノードn2に電荷が流入し、中間ノードn2と接地面間の寄生容量が充電され、中間ノードn2の電圧はほぼ電源電圧Vとなる。このとき、インバータ回路31の出力側のノード(以下「中間ノードn3」という。)の電圧VcはHレベルであり、NOR回路32の出力側のノード(以下「中間ノードn4」という。)の電圧OUT_PMはLレベルである。従って、出力端子OUT_P, OUT_Mの電圧もLレベルである。
 スパイク・ニューロン回路20が発火して、スパイク・パルスspk_fがHレベルに立ち上がると、トランジスタM1がオフ、トランジスタM3がオンとなり、中間ノードn2と接地面間の寄生容量が瞬時に放電されて中間ノードn2の電圧は0となる。中間ノードn2の電圧が0となるのに伴い、中間ノードn3の電圧VcもLレベルとなる。しかし、スパイク・パルスspk_fがHレベルであるため、NOR回路32の出力電圧である中間ノードn4の電圧OUT_PMはLレベルのままである。
 次に、スパイク・パルスspk_fがすぐにLレベルに立ち下がると、NOR回路32の出力電圧である中間ノードn4の電圧OUT_PMはHレベルとなる。それと共に、再びトランジスタM1がオン、トランジスタM3がオフとなるので、トランジスタM1,M2を介して、電源から中間ノードn2に電荷が流入し、中間ノードn2の電圧は電源電圧Vとなるまで上昇する。ここで、中間ノードn2の電圧が0からVまで上昇する時間は、トランジスタM2のゲート電圧により制御され、更新係数電圧Vに依存する。この過程で中間ノードn2の電圧がインバータ回路30の閾値電圧を過ぎた瞬間に、インバータ回路30及びインバータ回路31の出力電圧が切り替わり、中間ノードn3の電圧VcはHとなり、NOR回路32の出力電圧である中間ノードn4の電圧OUT_PMは再びLレベルとなる。中間ノードn4の電圧OUT_PMがHレベルに立ち上がってから再びLレベルに立ち下がるまでの時間をパルス幅tとすると、パルス幅tは更新係数電圧Vの大きさに依存する。従って、中間ノードn4の出力パルスの時間軸上の位置は位相θが0を過ぎる時刻を表し、出力パルスのパルス幅tは更新係数G1x,G1y,G2x,G2yの大きさを表すことになる。
 最後に、デマルチプレクサ33は、更新係数符号信号signに従って、中間ノードn4に出力される出力パルスの出力方向を切り替える。更新係数G1x,G1y,G2x,G2yの符号が正のときは、出力端子OUT_Pにパルス幅tの出力パルスが出力され、更新係数G1x,G1y,G2x,G2yが負のときは、出力端子OUT_Mにパルス幅tの出力パルスが出力される。
 尚、出力端子OUT_Pは、状態値更新回路27の入力端子R_top_p_gy1, R_bottom_p_gy1, R_right_p_gx1, R_left_p_gx1, I_top_p_gy2, I_bottom_p_gy2, I_right_p_gx2, I_left_p_gx2の何れかに接続される。また、出力端子OUT_Mは、状態値更新回路27の入力端子R_top_m_gy1, R_bottom_m_gy1, R_right_m_gx1, R_left_m_gx1, I_top_m_gy2, I_bottom_m_gy2, I_right_m_gx2, I_left_m_gx2の何れかに接続される。
 また、後述する状態値更新回路27において、正パルス更新回路35と負パルス更新回路36を合体した図17の回路を使用する場合には、中間ノードn4の電圧OUT_PMと更新係数符号信号signを、隣接する節点ユニット6の状態値更新回路27へ出力すればよいことになる。従って、その場合には、図9のデマルチプレクサ33は省略することができる。
(3)状態値更新回路27
 図10は、実部節点ユニット7及び虚部節点ユニット8の状態値更新回路27の全体構成を表す図である。状態値更新回路27は、更新係数の符号が正の場合の各入力パルスg0_p,R_left_p_gx1,R_left_p_gx2,I_left_p_gx1,I_left_p_gx2,R_right_p_gx1,R_right_p_gx2,I_right_p_gx1,I_right_p_gx2,R_top_p_gy1,R_top_p_gy2,I_top_p_gy1,I_top_p_gy2,R_bottom_p_gy1,R_bottom_p_gy2,I_bottom_p_gy1,I_bottom_p_gy2のそれぞれに対応して、17個の正パルス更新回路35を備え、また、更新係数の符号が負の場合の各入力パルスg0_m,R_top_m_gy1,R_top_m_gy2,I_top_m_gy1,I_top_m_gy2,R_bottom_m_gy1,R_bottom_m_gy2,I_bottom_m_gy1,I_bottom_m_gy2,R_left_m_gx1,R_left_m_gx2,I_left_m_gx1,I_left_m_gx2,R_right_m_gx1,R_right_m_gx2,I_right_m_gx1,I_right_m_gx2のそれぞれに対応して、17個の負パルス更新回路36を備えている。各正パルス更新回路35及び各負パルス更新回路36の入力側端子は、それぞれ、対応する入力パルスを出力する節点ユニット6,7のセレクタ付きパルス生成器23,24,25,26の何れかの出力端子OUT_Pに接続される。また、各正パルス更新回路35及び各負パルス更新回路36の入力側端子は、スパイク・ニューロン回路20の出力ノードn1に共通に接続されている。
 図11は、図10の正パルス更新回路35の(a)構成を表す回路図(b)電圧電流特性図、及び(c),(d)動作を表す図である。正パルス更新回路35の入力端子OUT_Pからは、隣接する節点ユニット6のセレクタ付きパルス生成器23,24,25,26が出力する出力パルスOUT_Pが入力される。但し、入力端子G0_pに対応する正パルス更新回路の入力端子OUT_Pからは、全体制御部5内に設けられたセレクタ付きパルス生成器が出力する出力パルスOUT_Pが入力される。全体制御部5内に設けられたセレクタ付きパルス生成器も図9と同様の構成であり、このセレクタ付きパルス生成器からが、更新係数Gに対応する出力パルスが出力される。
 正パルス更新回路35は、p型の電界効果トランジスタM4、n型の電界効果トランジスタM5、及びスイッチ回路S4,S5を備えている。スイッチ回路S4,トランジスタM4,トランジスタM5,スイッチ回路S5は、電源と接地面との間にこの順序で直列に接続されている。正パルス更新回路35の入力OUT_PのレベルがHレベルのときに、スイッチ回路S4,S5が閉路され、Lレベルのときに、スイッチ回路S4,S5が開路される。また、トランジスタM4,M5はダイオード接続されている。すなわち、トランジスタM4,M5のゲートは、トランジスタM4,M5のドレインの共通接続ノードである出力ノードn1に接続されている。
 この回路の電圧-電流特性は、図11(b)に示したようになる。位相状態値電圧Vは0から電源電圧Vの間で変動する。これに対して、トランジスタM4のドレイン電流は、図11(b)のIM4で示した曲線のように変化し、トランジスタM5のドレイン電流は、図11(b)のIM5で示した曲線のように変化する。尚、図11(b)において、電流の向きについては、出力ノードn1に流入する方向を正、出力ノードn1から流出する方向を負としている。
 トランジスタM4のドレイン電流IM4は、出力ノードn1の位相状態値電圧Vが0のときに最大となり、位相状態値電圧Vが上昇するにつれて減少し、位相状態値電圧Vが電源電圧Vでは0となる。一方、トランジスタM5のドレイン電流IM5は、出力ノードn1の位相状態値電圧Vが0のときに0となり、位相状態値電圧Vが上昇するにつれて増加し、位相状態値電圧Vが電源電圧Vでは最大となる。トランジスタM5のドレイン電流IM5の電圧-電流特性は、上記ドレイン電流IM4の電圧-電流特性の左右を反転し、正負を反転した形となっている。従って、正パルス更新回路35全体として出力ノードn1に流出入する電流Itotalは、ドレイン電流IM4,IM5の電圧-電流特性を足し合わせたものであり、図11(b)に示したようになる。電流Itotalは、トランジスタM4,M5のサイズを調整してドレイン電流IM4,IM5の電圧-電流特性を調節することにより、図11(b)に示したように線形化される。図11(b)では、出力ノードn1に流出入する電流Itotalは、位相状態値電圧Vが0のときに流入方向に最大Ip0となり、位相状態値電圧Vが上昇するにつれて直線的に減少し、位相状態値電圧Vが零値電圧Vmiddleになったときに0となる。さらに位相状態値電圧Vが上昇すると、今度は、電流Itotalは流出方向に直線的に増加し、位相状態値電圧Vが電源電圧Vのときに流出方向に最大|-Ip0|となる。出力ノードn1の位相状態値電圧Vと流出入する電流Itotalとの関係を近似的に次式のように表す。
Figure JPOXMLDOC01-appb-M000016
 尚、本実施例においては、図11(a)の回路においてトランジスタM4,M5のサイズを調整して、図11(b)に示したように電圧-電流特性を線形化しているが、実現したいフィルタ計算モデルによっては、この電圧-電流特性を非線形とすることもできる。この場合、図11(a)の回路でも各トランジスタのサイズを変えて所望の関数Itotal=f(V-Vmiddle)で表される非線形特性を実現すればよい。また,別の電圧電流特性をもつ回路を用いて、前述の関数Itotal=f(V-Vmiddle)を実現するようにすることももちろん可能である。
 次に、図11(a)の回路の動作について説明する。まず、セレクタ付きパルス生成器23,24,25,26からパルスが入力されていない状態では、スイッチ回路S4,S5は開路した状態であり、トランジスタM4,M5には電流は流れない。従って、出力ノードn1の位相状態値電圧Vは、スパイク・ニューロン回路20によって、図6(b)に示したような鋸歯波状の変化を続ける。
 セレクタ付きパルス生成器23,24,25,26からパルス幅tのパルスOUT_Pが入力された場合、正パルス更新回路35は次のように動作する。
(I)パルスOUT_Pの入力時に位相状態値電圧Vが零値電圧Vmiddleより小さい場合
 パルスOUT_MがHレベルに立ち上がると、スイッチ回路S4,S5が閉路される。この場合、図11(b)に示したように、V<Vmiddleでは、全体として出力ノードn1に電流が流入する。従って、パルスOUT_PがHレベルの間、スパイク・ニューロン回路20の位相状態値保持用キャパシタCに電荷が流入し、位相状態値電圧Vは引き上げられる。すなわち、図11(c)に示したように、パルスOUT_Pの入力時に位相状態値電圧Vは位相が進む方向に更新される。
 このとき、図11(b)より、流入する電流Itotalの大きさは、位相状態値電圧Vと零値電圧Vmiddleとの差電圧の絶対値|V-Vmiddle|に比例する。ここで、位相状態値電圧Vは、実部節点ユニット7又は虚部節点ユニット8の位相θに対応し、零値電圧Vmiddleは位相0に対応する。従って、絶対値|V-Vmiddle|は位相θに対応する位相状態量である。また、位相状態値保持用キャパシタCに電荷が流入する時間は、パルスOUT_Pのパルス幅tであるが、これは、更新係数Gikの大きさに比例する。
 時刻tpkにおいて、パルス幅tのパルスOUT_Pが、隣接節点ユニットUのセレクタ付きパルス生成器23,24,25,26から隣接節点ユニットUの正パルス更新回路35に入力された場合、パルス幅tのパルスOUT_Pによる位相状態値保持用キャパシタCの更新電荷量δQはパルス幅tが十分に狭い場合、次式(15)のように近似することができる。
Figure JPOXMLDOC01-appb-M000017
 式(15)より、更新電荷量δQは|Gik|θ(tpk)に比例する。従って、パルスOUT_Pに対し、V<Vmiddleの場合には、正パルス更新回路35により式(13a)~(13d)に示したような位相の更新演算が実行されることがわかる。
(II)パルスOUT_Pの入力時に位相状態値電圧Vが零値電圧Vmiddleより大きい場合
 この場合、図11(b)に示したように、全体として出力ノードn1から電流が流入する。従って、パルスOUT_PがHレベルの間、スパイク・ニューロン回路20の位相状態値保持用キャパシタCから電荷が流出し、位相状態値電圧Vは引き下げられる。すなわち、図11(d)に示したように、パルスOUT_Pの入力時に位相状態値電圧Vは位相が遅れる方向に更新される。
 この場合も、同様に、パルス幅tが十分に狭く、Ip0/Cmiddle<<1の場合、更新電荷量δQは式(15)のように近似することができる。
 故に、パルスOUT_Pに対し、V>Vmiddleの場合にも、正パルス更新回路35により式(13a)~(13d)に示したような位相の更新演算が実行されることがわかる。
 図12は、図10の負パルス更新回路36の(a)構成を表す回路図、(b)電圧電流特性図、及び(c),(d)動作を表す図である。負パルス更新回路36の入力端子OUT_Mからは、隣接する節点ユニット6のセレクタ付きパルス生成器23,24,25,26が出力する出力パルスOUT_Mが入力される。但し、入力端子g0_mに対応する負パルス更新回路の入力端子OUT_Mからは、全体制御部5内に設けられたセレクタ付きパルス生成器が出力する出力パルスOUT_Mが入力される。
 負パルス更新回路36は、p型の電界効果トランジスタM6,M8、n型の電界効果トランジスタM7,M9、及びスイッチ回路S6,S7,S8,S9,S10を備えている。トランジスタM6,トランジスタM7の直列接続回路とトランジスタM8,トランジスタM9の直列接続回路との並列回路が、スイッチ回路S6,S7の間に接続されている。スイッチ回路S6の他端は電源に接続され、スイッチ回路S7の他端は接地面に接続されている。トランジスタM8はダイオード接続されている。また、トランジスタM6,M8のゲートは、トランジスタM8,M9のドレインの共通接続ノード(以下「中間ノードn5」という。)に接続されている。中間ノードn5は、スイッチ回路S9を介して、電源に接続されている。また、トランジスタM7のゲートは、スイッチ回路S10を介して接地面に接続されるとともに、スイッチ回路S8を介して中間ノードn5に接続されている。また、トランジスタM9のゲートは、トランジスタM6,M7のドレインの共通接続ノード(以下「出力ノードn1」という。)に接続されている。この出力ノードn1は、負パルス更新回路36の出力となり、図6のスパイク・ニューロン回路20の出力ノードn1と共通となるように接続されている(図10参照)。スイッチ回路S6,S7,S8は、負パルス更新回路36の入力OUT_MのレベルがHレベルのときに閉路され、Lレベルのときに開路される。一方、スイッチ回路S9,S10は、負パルス更新回路36の入力OUT_MのレベルがHレベルのときに開路され、Lレベルのときに閉路される。
 この回路の電圧-電流特性は、図12(b)に示したようになる。図12(b)は、図12(a)に示した負パルス更新回路36の出力ノードn1の位相状態値電圧Vに対するトランジスタM6,M7のドレイン電流の大信号特性を表したものである。位相状態値電圧Vは0から電源電圧Vの間で変動する。これに対して、トランジスタM6のドレイン電流は、図12(b)のIM6で示した曲線のように変化し、トランジスタM7のドレイン電流は、図12(b)のIM7で示した曲線のように変化する。尚、図12(b)において、電流の向きについては、出力ノードn1に流入する方向を正、出力ノードn1から流出する方向を負としている。
 トランジスタM6のドレイン電流IM6は、出力ノードn1の位相状態値電圧Vが0のときは0であり、位相状態値電圧Vが増加するにつれて下に凸の曲線に沿って増加する。そして、位相状態値電圧VがV/2を越えた付近で、ドレイン電流IM6は、今度は上に凸の放物曲線状に変化し、最大値に達する。そしてさらに位相状態値電圧Vが増加するに従って、ドレイン電流IM6は減少し、位相状態値電圧Vが電源電圧Vとなったときに0となる。トランジスタM7のドレイン電流IM7の電圧-電流特性は、上記ドレイン電流IM6の電圧-電流特性の左右を反転し、正負を反転した形となる。従って、負パルス更新回路36全体として出力ノードn1に流出入する電流Itotalは、ドレイン電流IM4,IM5の電圧-電流特性を足し合わせたものであり、図12(b)に示したようになる。出力ノードn1に流出入する電流Itotalの特性曲線は、位相状態値電圧Vが零値電圧Vmiddleのときに0となり、V<Vmiddleにおいて極小値、V>Vmiddleにおいて極大値をもつ曲線となる。また、V=Vmiddleの近傍のVmiddle-ΔV<V<Vmiddle+ΔVの領域においては、電流Itotalは電圧Vに対してほぼ線形となる。そこで、Vmiddle-ΔV<V<Vmiddle+ΔVの領域における位相状態値電圧Vと電流Itotalとの関係を近似的に次式のように表す。
 尚、図12(a)の回路では、位相状態値の更新は、出力ノードn1の位相状態値電圧VがVmiddle-ΔV<V<Vmiddle+ΔVの領域内にあるときにのみ実行されるものとする。V<Vmiddle-ΔV及びV>Vmiddle+ΔVの領域では、図12(b)の電圧V-電流Itotal特性が非線形となり、正常な更新演算が行われないからである。
 尚、本実施例においては、図12(a)の回路において各トランジスタのサイズを調整して、図12(b)に示したように電圧-電流特性を線形化しているが、実現したいフィルタ計算モデルによっては、この電圧-電流特性を非線形とすることもできる。この場合、図12(a)の回路でも各トランジスタのサイズを変えて所望の関数Itotal=f(V-Vmiddle)で表される非線形特性を実現すればよい。また,別の電圧電流特性をもつ回路を用いて、前述の関数Itotal=f(V-Vmiddle)を実現するようにすることももちろん可能である。
 次に、図12(a)の回路の動作について説明する。まず、セレクタ付きパルス生成器23,24,25,26からパルスOUT_Mが入力されていない状態では、スイッチ回路S6,S7は開路した状態であり、トランジスタM6,M7には電流は流れない。従って、出力ノードn1の位相状態値電圧Vは、スパイク・ニューロン回路20によって、図6(b)に示したような鋸歯波状の変化を続ける。また、このとき、スイッチ回路S9が閉路した状態、スイッチ回路S8が開路した状態にあるため、中間ノードn5は電源に接続され、中間ノードn5と接地面との間の浮遊容量が充電され、中間ノードn5の電圧は電源電圧Vにある。
 セレクタ付きパルス生成器23,24,25,26からパルス幅tのパルスOUT_Mが入力された場合、負パルス更新回路は次のように動作する。
(I)パルスOUT_Mの入力時に位相状態値電圧Vが零値電圧Vmiddleより小さい場合
 パルスOUT_MがHレベルに立ち上がると、スイッチ回路S8,S9が開路し、スイッチ回路S5,S6,S7が閉路される。この場合、図12(b)に示したように、V<Vmiddleでは、全体として出力ノードn1から電流が流出する。従って、パルスOUT_MがHレベルの間、スパイク・ニューロン回路20の位相状態値保持用キャパシタCから電荷が流出し、位相状態値電圧Vは引き下げられる。すなわち、図12(c)に示したように、パルスOUT_Mの入力時に位相状態値電圧Vは位相が遅れる方向に更新される。
 このとき、図12(b)より、流出する電流Itotalの大きさは、位相状態値電圧Vと零値電圧Vmiddleとの差電圧の絶対値|V-Vmiddle|に比例する。ここで、位相状態値電圧Vは、実部節点ユニット7又は虚部節点ユニット8の位相θに対応し、零値電圧Vmiddleは位相0に対応する。従って、絶対値|V-Vmiddle|は位相θに対応する位相状態量である。また、位相状態値保持用キャパシタCに電荷が流入する時間は、パルスOUT_Mのパルス幅tであるが、これは、更新係数Gikの大きさに比例する。
 時刻tpkにおいて、パルス幅tのパルスOUT_Mが、隣接節点ユニットUのセレクタ付きパルス生成器23,24,25,26から隣接節点ユニットUの負パルス更新回路36に入力された場合、パルス幅tのパルスOUT_Mによる位相状態値保持用キャパシタCの更新電荷量δQはパルス幅tが十分に狭く、Im0/CΔV<<1の場合、次式(17)のように近似することができる。
Figure JPOXMLDOC01-appb-M000019
 式(17)より、更新電荷量δQは-|Gik|θ(tpk)に比例する。従って、パルスOUT_Mに対し、V<Vmiddleの場合には、負パルス更新回路36により式(13a)~(13d)に示したような位相の更新演算が実行されることがわかる。
(II)パルスOUT_Mの入力時に位相状態値電圧Vが零値電圧Vmiddleより大きい場合
 この場合、図12(b)に示したように、全体として出力ノードn1へ電流が流入する。従って、パルスOUT_MがHレベルの間、スパイク・ニューロン回路20の位相状態値保持用キャパシタCへ電荷が流入し、位相状態値電圧Vは引き上げられる。すなわち、図12(d)に示したように、パルスOUT_Mの入力時に位相状態値電圧Vは位相が進む方向に更新される。
 この場合も、同様に、パルス幅tが十分に狭く、Im0/CΔV<<1の場合、更新電荷量δQは式(17)のように近似することができる。
 故に、パルスOUT_Mに対し、V>Vmiddleの場合にも、負パルス更新回路36により式(13a)~(13d)に示したような位相の更新演算が実行されることがわかる。
(3.1)正パルス更新回路35の他の構成例
 次に、図11の正パルス更新回路35を改良した回路構成例を示す。図13は、図10の正パルス更新回路35の他の構成例を表す回路図(a)及び電圧電流特性図(b)である。
 図13(a)の正パルス更新回路35は、p型の電界効果トランジスタM4、n型の電界効果トランジスタM5、オフセット補償用キャパシタCoff、及びスイッチ回路S1,S2,S3,S4を備えている。各スイッチ回路S1,S2,S3,S4の制御入力端子には、隣接する節点ユニット6のセレクタ付きパルス生成器23,24,25,26が出力する出力パルスOUT_Pが入力される。スイッチ回路S1,S2は、制御入力がLレベルで閉路しHレベルで開路する。また、スイッチ回路S3,S4は、制御入力がHレベルで閉路しLレベルで開路する。
 トランジスタM4,トランジスタM5は、電源と接地面との間にこの順序で直列に接続されている。また、トランジスタM4,M5のゲートは、ノードn3に共通に接続されている。トランジスタM4,M5のドレインが共通に接続されたノードn4は、スイッチ回路S2を介してノードn3に接続されている。また、オフセット補償用キャパシタCoffの一端はノードn3に接続され、他端はノードn2に接続されている。このノードn2には、スイッチ回路S1を介して零値電圧Vmiddleが入力される。
 さらに、ノードn2はスイッチ回路S3を介して、図6又は図7のスパイク・ニューロン回路20のノードn1に接続されており、また、ノードn4はスイッチ回路S4を介して当該ノードn1に接続されている。このノードn1の電圧は位相状態値電圧Vとなっている。また、この回路においては、ノードn4からスイッチ回路S4を介して当該ノードn1に電流iVrが出力される。
 図13(a)の回路において、パルスOUT_PがHレベルのときのV-iVr特性は、図13(b)のようになり、トランジスタM4,M5がカットオフ状態でない領域で出力電流iVrは位相状態値電圧Vに対し線形(負勾配)である。
 図14は、図13の回路の各部の動作を表すタイミング・チャートである。図14(a)は、パルスOUT_Pの入力時に位相状態値電圧Vが零値電圧Vmiddleより小さい場合を示し、図14(b)は、パルスOUT_Pの入力時に位相状態値電圧Vが零値電圧Vmiddleより大きい場合を示している。
 パルスOUT_PがLレベルの状態では、スイッチ回路S1,S2が閉路し、スイッチ回路S3,S4が開路する。従って、ノードn2及びノードn4は、ノードn1から切り離される。スイッチ回路S1が閉路することで、ノードn2の電圧Vは零値電圧Vmiddleに設定される。一方、ノードn4はノードn3と接続され、トランジスタM4,M5はダイオード接続となる。そのため、ノードn3,n4の電位V,Vは、トランジスタM4,M5で構成されるインバータの閾値電圧Vinv=Vmiddle+Voffとなる。故に、オフセット補償用キャパシタCoffには、オフセット電圧Voff=Vinv-Vmiddleが加わり、電荷Qoff=Coffoffが充電される。
 パルスOUT_PがHレベルの状態となると、スイッチ回路S1,S2が開路し、スイッチ回路S3,S4が閉路する。これにより、ノードn3はノードn4から切り離されてフローティング状態となる。一方、ノードn2,n4には位相状態値電圧Vが印加される。このとき、オフセット補償用キャパシタCoffの充電電荷Qoffは保存されるため、ノードn3の電圧Vは、V+Voffとなり、トランジスタM4,M5のゲート電圧のオフセット補償がされる。トランジスタM4,M5のゲートに電圧V=V+Voffが加わることにより、図13(b)の特性に従ってノードn4からノードn1へ電流iVrが出力される。
 パルスOUT_Pの入力時に位相状態値電圧Vが零値電圧Vmiddleより小さい場合(図14(a))、ノードn4からノードn1へ電流iVrが供給され、パルスOUT_Pの入力時に位相状態値電圧Vが零値電圧Vmiddleより大きい場合(図14(b))、ノードn1からノードn4へ電流iVrが引き抜かれる。これにより、図11の正パルス更新回路35と同様に、更新電荷量δQが図6又は図7のスパイク・ニューロン回路20の位相状態値保持用キャパシタCに供給されて、位相の更新演算が実行される。
(3.2)負パルス更新回路36の他の構成例
 次に、図12の負パルス更新回路36を改良した回路構成例を示す。図15は、図10の負パルス更新回路36の他の構成例を表す回路図(a)及び電圧電流特性図(b)である。
 図15(a)の負パルス更新回路36は、p型の電界効果トランジスタM4、n型の電界効果トランジスタM5,M6,M7、オフセット補償用キャパシタCoff、及びスイッチ回路S1,S2,S3,S4を備えている。各スイッチ回路S1,S2,S3,S4の制御入力端子には、隣接する節点ユニット6のセレクタ付きパルス生成器23,24,25,26が出力する出力パルスOUT_Mが入力される。スイッチ回路S1,S2は、制御入力がLレベルで閉路しHレベルで開路する。また、スイッチ回路S3,S4は、制御入力がHレベルで閉路しLレベルで開路する。
 トランジスタM4,トランジスタM5は、電源と接地面との間にこの順序で直列に接続されている。また、トランジスタM4,M5のゲートは、ノードn3に共通に接続されている。トランジスタM4,M5のドレインが共通に接続されたノードn4は、スイッチ回路S2を介してノードn3と接続されている。
 トランジスタM6,トランジスタM7は、電源と接地面との間にこの順序で直列に接続されている。トランジスタM6のゲートには、最小値電圧Vlowと最大値電圧Vhighとの和電圧V=Vlow+Vhighが印加されている。トランジスタM6の基板バイアス端子は、トランジスタM6,M7のドレインが共通に接続されたノードn2に接続されている。トランジスタM7のゲートは、ノードn5に接続されている。このノードn5は、スイッチ回路S1を介して零値電圧Vmiddleが入力される。また、ノードn5は、スイッチ回路S3を介して図6又は図7のスパイク・ニューロン回路20のノードn1に接続されており、このノードn1の電圧は位相状態値電圧Vとなっている。
 また、オフセット補償用キャパシタCoffの一端はノードn3に接続され、他端はノードn2に接続されている。
 この回路においては、ノードn4からスイッチ回路S4を介してノードn1に電流iVrが出力される。
 図15(a)の回路において、パルスOUT_MがHレベルのときのV-iVr特性は、図15(b)のようになり、トランジスタM4,M5がカットオフ状態でない動作領域で出力電流iVrは位相状態値電圧Vに対し線形(正勾配)である。
 また、トランジスタM6,M7は、電圧反転回路を構成しており、ノードn2の電圧Vは、V=V-Vで表される(図15(b)参照)。
 図16は、図15の回路の各部の動作を表すタイミング・チャートである。図16(a)は、パルスOUT_Mの入力時に位相状態値電圧Vが零値電圧Vmiddleより小さい場合を示し、図16(b)は、パルスOUT_Mの入力時に位相状態値電圧Vが零値電圧Vmiddleより大きい場合を示している。
 パルスOUT_PがLレベルの状態では、スイッチ回路S1,S2が閉路し、スイッチ回路S3,S4が開路する。従って、ノードn4及びノードn5は、ノードn1から切り離される。スイッチ回路S1が閉路することで、ノードn5の電圧Vは零値電圧Vmiddleに設定される。従って、ノードn2の電圧Vは、図5(b)より零値電圧Vmiddleに設定される。一方、ノードn4はノードn3と接続され、トランジスタM4,M5はダイオード接続となる。そのため、ノードn3,n4の電位V,Vは、トランジスタM4,M5で構成されるインバータの閾値電圧Vinv=Vmiddle+Voffとなる。故に、オフセット補償用キャパシタCoffには、オフセット電圧Voff=Vinv-Vmiddleが加わり、電荷Qoff=Coffoffが充電される。
 パルスOUT_PがHレベルの状態となると、スイッチ回路S1,S2が開路し、スイッチ回路S3,S4が閉路する。これにより、ノードn3はノードn4から切り離されてフローティング状態となる。一方、ノードn5,n4には位相状態値電圧Vが印加される。
ノードn5に電圧Vが印加されると、図15(b)より、ノードn2の電圧VはV=V-Vとなる。ノードn3はフローティング状態なのでオフセット補償用キャパシタCoffの充電電荷Qoffは保存されるため、ノードn3の電圧Vは、V+Voff=V-V+Voffとなり、トランジスタM4,M5のゲート電圧のオフセット補償がされる。トランジスタM4,M5のゲートに電圧V=V-V+Voffが加わることにより、図13(b)の特性に従ってノードn4からノードn1へ電流iVrが出力される。
 パルスOUT_Pの入力時に位相状態値電圧Vが零値電圧Vmiddleより小さい場合(図16(a))、ノードn1からノードn4へ電流iVrが引き抜かれ、パルスOUT_Pの入力時に位相状態値電圧Vが零値電圧Vmiddleより大きい場合(図16(b))、ノードn4からノードn1へ電流iVrが供給される。これにより、図12の負パルス更新回路36と同様に、更新電荷量δQが図6又は図7のスパイク・ニューロン回路20の位相状態値保持用キャパシタCに供給されて、位相の更新演算が実行される。
(3.3)正パルス更新回路35と負パルス更新回路36を合体した構成例
 図13(a)の正パルス更新回路35と図15(a)の負パルス更新回路36は、回路構成に共通部分が多いため、部品の共有化が可能である。図17は、正パルス更新回路35と負パルス更新回路36を合体した回路の構成例である。図17の回路において、図13(a),図15(a)と共通する構成部分については同符号を付している。また、正パルス更新回路35と負パルス更新回路36を合体したことにより、新たに、セレクタSEL及びスイッチ回路S5,S6が追加されている。
 セレクタSELは、スイッチ回路S1,S3の共通接続ノードn6を、トランジスタM7のゲートノードn5又はオフセット補償用キャパシタCoffの入力ノードn2のいずれかに選択的に接続する。セレクタSELの制御信号として、更新係数符号信号sign(図9参照)が入力される。更新係数符号信号signがHレベル(「正」)のときセレクタSELはノードn6をノードn2に接続し、Lレベル(「負」)のときセレクタSELはノードn6をノードn5に接続する。
 スイッチ回路S5は、トランジスタM6のゲートに接続されており、当該ゲートに和電圧V=Vlow+Vhighを印加するか否かを切り替える。スイッチ回路S5の制御端子には更新係数符号信号signが入力される。スイッチ回路S5は、更新係数符号信号sign(図9参照)がHレベル(「正」)のとき開路し、Lレベル(「負」)のとき閉路する。
 スイッチ回路S6は、トランジスタM6のドレインとトランジスタM7のドレインとが共通に接続されたノードn21と、オフセット補償用キャパシタCoffの一端に接続するノードn2との間に接続されている。スイッチ回路S6の制御端子には、更新係数符号信号sign(図9参照)が入力される。スイッチ回路S6は、更新係数符号信号signがHレベル(「正」)のとき開路し、Lレベル(「負」)のとき閉路する。
 更新係数符号信号signがHレベル(「正」)のときには、図17の回路は図13の回路と等価になる。また、更新係数符号信号signがLレベル(「負」)のときには、図17の回路は図15の回路と等価になる。従って、図17の回路は正パルス更新回路35と負パルス更新回路36を合体した回路となっていることが分かる。図10に示したように、状態値更新回路27は、隣接する節点ユニット6から入力される各入力パルスと入力パルスg0_p,g0_mに対応して、正パルス更新回路35と負パルス更新回路36の組を17組備えている。従って、それぞれの正パルス更新回路35と負パルス更新回路36の組を図17の回路により置き換えればよい。
 このように、正パルス更新回路35と負パルス更新回路36を合体した回路構成を採るとにより、正パルス更新回路35と負パルス更新回路36のオフセット補償用キャパシタCoffを共有することができ、状態値更新回路27の回路規模を削減することができる。
(4)基準位相発生部2a
 基準位相発生部2a(図1参照)の構成も、基本的に図6(a)に示したスパイク・ニューロン回路20と同様であるので、説明は省略する。
〔3〕全体動作
(1)初期化
 ガボール型フィルタ演算を開始する前に、全体制御部5は初期化処理を行う。初期化処理では、まず、全体制御部5が、更新許可信号update_ena(図5参照)をL状態として、セレクタ付きパルス生成器23,24,25,26のパルス出力を停止することによって、状態値更新回路27によるスパイク・ニューロン回路20の位相状態値電圧Vの更新を停止する。この状態で、入力部3が、各スパイク・ニューロン回路20の位相状態値保持用キャパシタCに初期電荷を与える。
 位相状態値保持用キャパシタCに初期電荷を与える場合、全体制御部5は、まず、列選択信号線9に列選択信号を与えて(すなわち、列選択信号を順次Hレベルとして)各列を順次選択する。列選択信号がHレベルとなると、列選択スイッチ28(図5参照)が接続される。そして、入力部3は、選択した列の各実部節点ユニット7内のスパイク・ニューロン回路20に対して、初期値入力線10から初期化パルスを与える。各スパイク・ニューロン回路20の位相状態値保持用キャパシタCには、初期化パルスのパルス幅に比例して電荷が充電され、これにより初期化がされる。
 初期化処理が終了すると、入力部3は、すべての列選択信号をLレベルとし、全体制御部5は、更新許可信号update_ena(図5参照)をH状態とする。
(2)ガボール型フィルタ演算
 ガボール型フィルタ演算を開始する場合、全体制御部5は、更新許可信号update_ena(図5参照)をH状態とする。これにより、各節点ユニットUi,jの実部節点ユニット7及び虚部節点ユニット8において、位相θi,j ,θi,j に対応する位相状態量の更新処理が非同期的に並列に実行される。各節点ユニットに於ける位相状態量の更新処理の回路動作については、〔2〕(3)で既に説明した通りである。
(3)ガボール型フィルタ演算の終了
 一定の時間、ガボール型フィルタ演算を実行した後、ガボール型フィルタ演算を終了する。ガボール型フィルタ演算を打ち切る場合、全体制御部5は、更新許可信号update_ena(図5参照)をL状態とする。これにより、セレクタ付きパルス生成器23,24,25,26のパルス出力が停止され、状態値更新回路27によるスパイク・ニューロン回路20の位相状態値電圧Vの更新が行われなくなる。ガボール型フィルタ演算の結果は、各スパイク・ニューロン回路20の位相状態値電圧Vの位相θi,j ,θi,j として保持されているので、出力部4がこの位相θi,j ,θi,j をパルスとして取り出すことによって演算結果を得ることができる。
 位相θi,j ,θi,j の取り出しは、具体的には、例えば、次のようにして行う。まず、スパイク・ニューロン回路20の位相状態値電圧Vの更新が行われない状態では、各節点ユニット6の実部節点ユニット7及び虚部節点ユニット8のスパイク・ニューロン回路20は、図6(b)に示したように一定の周期Tでスパイク・パルスspk_fを出力し続ける状態にある。各実部節点ユニット7及び虚部節点ユニット8の保持する状態値は、このスパイク・パルスspk_fの位相θi,j ,θi,j の差として保持されている。一方、基準位相発生部2aは、位相状態値の更新がされないため、基準位相θ(t)=ωtのスパイク・パルスspk_fを出力し続けている。ここで、ω=(θmax-θmin)/T∝(Vhigh-Vlow)/Tである。
 出力部4は、まず、列選択信号線9に列選択信号を与えて(すなわち、列選択信号を順次Hレベルとして)各列を順次選択する。選択された列の実部節点ユニット7及び虚部節点ユニット8では、列選択信号がHレベルとなると、列選択スイッチ29が接続して、スパイク・ニューロン回路20が出力するスパイク・パルスspk_fが、それぞれ、実部外部出力線11及び虚部外部出力線12へ出力される。いま、節点ユニットUm,nの実部節点ユニット7が出力するスパイク・パルスをspk_fm,n 、虚部節点ユニット8が出力するスパイク・パルスをspk_fm,n と記す。また、基準位相発生部2aが出力するスパイク・パルスを基準パルスspk_fと記す。
 これらの信号をもとに、例えば、図18(a)のような回路を使用すれば、各節点の状態値に比例する時間幅のパルスを容易に生成することができる。図18(a)において、状態値パルス生成回路40は、パルス遅延回路41、EXOR論理回路42、OR論理回路43、トリガー・フリップフロップ44,45、及びデマルチプレクサ45を備えている。パルス遅延回路41は入力されたパルスを時間T/2だけ遅延させる回路である。パルス遅延回路41とOR論理回路43により逓倍器が構成されている。パルス遅延回路41には、周期Tの基準パルスspk_fが入力される。パルス遅延回路41からは、半周期T/2だけ遅延した遅延パルスD(spk_f)が出力される。OR論理回路43には、基準パルスspk_fと遅延パルスD(spk_f)が入力され、OR論理回路43からは周期T/2の逓倍パルスが出力される。そして、この逓倍パルスがトリガー・フリップフロップ44に入力され、トリガー・フリップフロップ44からは図18(b),(c)に示したような符号切替信号signが出力される。符号切替信号signは、基準パルスspk_fにより立ち上がり、遅延パルスD(spk_f)により立ち下がるパルスである。
 一方、EXOR論理回路42には、実部節点ユニット7又は虚部節点ユニット8から出力されるスパイク・パルスspk_fm,n r/iと基準パルスspk_fとが入力され、これらのパルスのEXOR論理をとった合成パルスが出力される。この合成パルスはトリガー・フリップフロップ45に入力され、トリガー・フリップフロップ45からは図18(b),(c)に示したような状態値の絶対値に比例する幅の状態値パルスoutm,n r/iが出力される。この状態値パルスoutm,n r/iはデマルチプレクサ45に入力される。デマルチプレクサ45は、符号切替信号signにより出力方向を切り替える。図18(b),(c)に示したように、符号切替信号signがHレベル(正)のときは、正値状態値パルスout_pm,n r/iが出力され、符号切替信号signがLレベル(負)のときは、負値状態値パルスout_mm,n r/iが出力される。このようにして、各節点の状態値の大きさに比例する幅のパルスを生成することができる。
 尚、図18(a)の回路は、各節点の状態値を取り出す回路の一例であり、各節点の状態値の取り出し方はこれに限るものではない。
 出力部4は、こうして生成された正値状態値パルスout_pm,n r/i、負値状態値パルスout_mm,n r/iのパルス幅を量子化することによってデジタル化し、状態値をデジタル値として出力する。パルス幅を量子化回路に関しては、公知の回路が使用される。
〔4〕回路シミュレーション結果
 図19は、本実施例の情報処理装置により、ガボール型フィルタ演算を実行し、インパルス応答を求めた結果を表す図である。尚、図19の結果は、回路の数値シミュレーションによって得た結果である。図19(a)は、上述した回路を使用して演算処理を行ったシミュレーション結果そのものである。
 原理的にガボール型フィルタのインパルス応答(実部と虚部の二乗和)は、インパルス入力点に対して等方的に広がるが、図19(a)の計算結果は等方的ではない。これは、各節点のスパイク・ニューロン回路20の発火の順番が更新量に及ぼす影響によるものと考えられる。このため、実数部と虚数部の出力で、正負のバランスが崩れてしまうという問題が生じる。ガボール型フィルタの結果は、実数部・虚数部の出力の二乗和(エネルギー)を用いることが多いため、正負のバランスの崩れは結果に大きな影響を及ぼすと考えられる。
 この問題は、時間領域で非同期的に更新演算を行う演算処理では、必然的に生じる因果関係によるものである。
 そこで、出力部4に、最終的に出力される状態値に対して、実数部と虚数部の正負の最大振幅が揃うように、負方向の値を一定の倍率で引き延ばす補正処理機能を持たせる。
 接点ユニットネットワーク2から最終的に出力される状態値を{(xi,j,yi,j)|i=1,…,M,j=1,…,N}とする。ここで、xi,j=θi,j -θは節点Ui,jの状態値の実数部、yi,j=θi,j -θは節点Ui,jの状態値の虚数部である。出力部4は、これら状態値の実数部{xi,j}及び虚数部{yi,j}の最大値xmax,ymax(>0)及び最小値xmin,ymin(<0)を求める。そして、R=xmax/|xmin|,R=xmax/|xmin|を計算し、実数部{xi,j}のうちxi,j<0のものをR倍、虚数部{yi,j}のうちyi,j<0のものをR倍する補正処理を行い、この補正がされた状態値を出力する。
 図19(b)に、インパルス応答について上記補正処理を加えた結果を示す。この補正処理によって、インパルス入力点に対してほぼ等方的に広がる結果が得られることがわかる。
 図20は、本実施例の情報処理装置によりガボール型フィルタ演算を実行した際の各節点ユニットのパルス位置の変化の一例である。図20において、横軸は時間、縦軸は各実部節点ユニット7及び各虚部節点ユニット8が出力する電圧OUT_PMのパルス位相値を表す。なお、図20のガボール型フィルタ演算に際しては、図3のような正方格子型のフィルタを用い、初期値として中央の節点ユニット(#5,#5)の実部にインパルス(図20の“input”)を入力し、その応答を経時的に測定した。図20は、節点ユニット(#1,0)~(#9,0)の出力電圧OUT_PMを示したものである。スパイク・ニューロン回路20の更新周期Tは1.1μsとし、ガボール関数の周期は4pixcelとした。
 図20の上段のタイムチャートは各節点ユニット(#n,0)(n=1~9)の実部節点ユニット7が出力する電圧OUT_PMであり、下段のタイムチャートは各節点ユニット(#n,0)(n=1~9)の虚部節点ユニット8が出力する電圧OUT_PMである。また、右端の折線グラフは、30回更新が行われた時点に於ける各実部節点ユニット7及び各虚部節点ユニット8が出力する電圧パルスOUT_PMの位相差を表している。ガボール型フィルタ演算の結果は、各実部節点ユニット7及び各虚部節点ユニット8の出力電圧OUT_PMのパルスの位相差として得られる。
 図21は、図20のガボール型フィルタ演算結果例(30回更新)と理論値との比較を表す図である。図21において、実線(A)は図20の位相差として得られたガボール型フィルタ演算の結果を示す。点線(B)は、理想的なガボール関数の値を表す。また、図21(a)は実部、図21(b)は虚部の値である。
 図21より、本実施例の情報処理装置により、ガボール型フィルタ特性が得られていることが確認できる。尚、図21の両端のピクセル(1,2及び8,9)において理論値とのずれが見られるが、これは格子の大きさが有限であることによる影響と考えられ、このずれの補正は可能である。
 以上のように、本実施例の情報処理装置では、各節点ユニットUi,jの実部節点ユニット7及び虚部節点ユニット8において、位相状態量θi,j ,θi,j の更新処理が非同期的に並列に実行される。従って、ガボール型フィルタ演算を高速に演算することが可能となる。また、従来のように、隣接節点ユニットの状態値と自己の状態値との減算回路などを必要としないため、回路構成が単純となり、実装面積も縮小される。
 実施例2では、スパイク・ニューロン回路20を1個のコンパレータを使用して構成する例について説明する。
 図22は、本発明の実施例2に係る情報処理装置における実部節点ユニット7及び虚部節点ユニット8のスパイク・ニューロン回路20の構成(a)及び動作(b)を示す図である。なお、本実施例の情報処理装置は、スパイク・ニューロン回路20以外の構成は実施例1と同様である。
 本実施例のスパイク・ニューロン回路20は、位相状態値保持用キャパシタC、2つの電流源I1,I2、コンパレータCMP3、トリガパルス生成器PG、9つのスイッチ回路S1,S2,S3,S10,S11,S12,S13,S14,S15、パルス遅延器D、トリガー・フリップフロップT-FF、及びインバータINV1を備えている。
 位相状態値保持用キャパシタCは一端が接地され、他端が出力ノードn1に接続されている。電流源I1は、カソード側端子が出力ノードn1を介して位相状態値保持用キャパシタCに接続されており、アノード側端子がスイッチ回路S1を介して電源に接続されている。スイッチ回路S2は、一端が出力ノードn1に接続され、他端には、位相の最小値(最小位相値)θminに相当する電圧である最小値電圧Vlowが入力されている。スイッチ回路S1,S2にはn型MOSFETが用いられている。尚、スイッチ回路S1の制御端子は、インバータINV1の出力側に接続されている。スイッチ回路S2の制御端子は、中間ノードn8に接続されている。
 電流源I2は、カソード側端子が出力ノードn1を介して位相状態値保持用キャパシタCに接続されており、アノード側端子がスイッチ回路S3を介して電源に接続されている。スイッチ回路S3にはn型MOSFETが用いられている。スイッチ回路S3の制御には、初期値入力線10が接続されている。スイッチ回路S3は、入力部3から入力される初期化信号がHレベルのときに閉路状態、Lレベルのときに開路状態となる。
 コンパレータCMP1は、プラス側入力端子が出力ノードn1に接続され、マイナス側入力端子に中間ノードn6に接続されている。中間ノードn6には、対照電圧Vrefが印加される。また、コンパレータCMP3の出力は、トリガパルス生成器PGに接続されている。
 中間ノードn6は、スイッチ回路S10を介して、位相が零値であることを表す零値電圧Vmiddleが印加され、また、スイッチ回路S11を介して、位相の最大値(最大位相値)θmaxに相当する最大値電圧Vhighが印加される。従って、中間ノードn6に印加される対照電圧Vrefは、位相の最大値(最大位相値)θmaxに相当する最大値電圧Vhigh、又は位相が零値であることを表す零値電圧Vmiddleの何れかとなる。尚、スイッチ回路S10には、n型MOSFETが用いられている。スイッチ回路S11には、p型MOSFETが用いられている。
 トリガパルス生成器PGは、コンパレータCMP3が出力するパルス波形の立ち上がりにおいて、短時間幅のスパイク・パルスspkを出力する回路である。トリガパルス生成器PGの出力側は、中間ノードn7に接続されている。
 スイッチ回路S13は、一端が中間ノードn7に接続され、他端がスパイク・ニューロン回路20の出力端子に接続されている。また、スイッチ回路S13は、一端がスパイク・ニューロン回路20の出力端子に接続され、他端が接地されている。スイッチ回路S12,S13にはn型MOSFETが用いられている。
 スイッチ回路S14は、一端が中間ノードn7に接続され、他端が中間ノードn8に接続されている。スイッチ回路S15は、一端が中間ノードn8に接続され、他端が接地されている。スイッチ回路S14,S15にはn型MOSFETが用いられている。また、インバータINV1は、入力側が中間ノードn8に接続され、出力側がスイッチ回路S1の制御端子に接続されている。
 パルス遅延器Dは、入力側が中間ノードn7に、出力側がトリガー・フリップフロップT-FFの入力側に接続されている。パルス遅延器Dは、トリガパルス生成器PGから中間ノードn7にスパイク・パルスspkが入力されると、それを遅延した遅延パルスDelay-spkを出力する。
 トリガー・フリップフロップT-FFは、1つの入力端子と2つの出力端子Q,¬Qを備えており、入力端子からパルスが入力されると、そのパルスの立ち上がりエッジにおいて、出力端子Q,¬Qのレベルを反転させる。尚、出力端子¬Qには、出力端子Qの出力電圧の反転電圧が出力される。トリガー・フリップフロップT-FFの出力端子Qは、スイッチ回路S10,S12,S15の制御端子に接続されている。また、トリガー・フリップフロップT-FFの出力端子¬Qは、スイッチ回路S11,S13,S14の制御端子に接続されている。
 この回路では、出力ノードn1の位相状態値電圧V又は位相状態値保持用キャパシタCに充電された電荷量Q=Cが、この実部節点ユニット7又は虚部節点ユニット8の「位相状態値」となる。
 以上のように構成された本実施例の情報処理装置のスパイク・ニューロン回路20について、以下その動作を説明する。
 位相状態値保持用キャパシタCに初期値を設定する動作については、実施例1と同様である。すなわち、全体制御部5(図1参照)が列選択信号線9に列選択信号を与えて(すなわち、列選択信号を順次Hレベルとして)各列を順次選択し、入力部3が、選択した列の各実部節点ユニット7内のスパイク・ニューロン回路20に対して、初期の状態値の大きさに比例するパルス幅の初期化パルスを初期値入力線10から入力する(図22参照)。これにより、初期化パルスのパルス幅の時間だけスイッチ回路S3が接続状態となり、電流源I2から位相状態値保持用キャパシタCに電流が供給され、位相状態値保持用キャパシタCに初期の状態値に比例する量の電荷が充電される。
 次に、状態値更新回路27が状態値の更新を行っていない(すなわち、出力ノードn1に状態値更新回路27からの電流の入出力がない)状態(定常状態)の動作について説明する。
 まず、時刻0において、出力ノードn1の位相状態値電圧VがVlow、スイッチ回路S1が閉路(接続)状態、スイッチ回路S2が開路(切断)状態とする。このとき、電流源I1から位相状態値保持用キャパシタCに一定の充電電流Iが供給される。これにより、出力ノードn1の位相状態値電圧Vは、一定の時間勾配で上昇する(図22(b)参照)。
 このとき、コンパレータCMP3の出力はLレベルでトリガパルス生成器PGからはパルスが出力されていない。また、トリガー・フリップフロップT-FFの出力端子Qの出力電圧はHレベル、出力端子¬Qの出力電圧はLレベルである。従って、スイッチ回路S10,S12,S15は閉路状態、スイッチ回路S11,S13,S14は開路状態である。従って、中間ノードn6の対照電圧Vrefは零値電圧Vmiddleである。また、中間ノードn8はスイッチ回路S15が閉路状態となることで接地されるので、スイッチ回路S2は開路状態、スイッチ回路S1は閉路状態が維持される。
 位相状態値電圧Vが上昇し、時刻T/2で零値電圧Vmiddleを超えると、コンパレータCMP3の出力はHレベルに反転する。このコンパレータCMP3の立ち上がりエッジにおいて、トリガパルス生成器PGは短時間幅のスパイク・パルスspkを出力する。このとき、スイッチ回路(出力スイッチ回路)S12は閉路状態にあるので、スパイク・パルスspkはスパイク・ニューロン回路20の出力端子には伝達され、スパイク・ニューロン回路20からスパイク・パルスspk_fが出力される。すなわち、スパイク・ニューロン回路20が発火する。
 スパイク・パルスspkが出力されると、パルス遅延器Dは、スパイク・パルスspkを時間T/4だけ遅延させ、時刻3T/4に遅延パルスDelay-spkを出力する(図22(b)参照)。
 遅延パルスDelay-spkが出力されると、トリガー・フリップフロップT-FFの出力端子Qの出力電圧はLレベル、出力端子¬Qの出力電圧はHレベルに反転される。これにより、スイッチ回路S10,S13,S15は開路状態スイッチ回路S11,S12,S14は閉路状態となる。従って、中間ノードn6の対照電圧Vrefは最大値電圧Vhighとなり、これにより、コンパレータCMP3の出力電圧は再びLレベルとなる。また、中間ノードn7はスパイク・ニューロン回路20の出力端子に接続される。また、中間ノードn8は接地面から切り離され、中間ノードn7に接続される。
 さらに位相状態値電圧Vが上昇し、時刻Tで最大値電圧Vhighを超えると、コンパレータCMP3の出力はHレベルに反転する。このコンパレータCMP3の立ち上がりエッジにおいて、トリガパルス生成器PGは短時間幅のスパイク・パルスspkを出力する。このとき、スイッチ回路(出力スイッチ回路)S12は開路状態にあるので、スパイク・パルスspkはスパイク・ニューロン回路20の出力端子には伝達されない。
 また、このとき、スイッチ回路S14は閉路状態、スイッチ回路S15は開路状態にあるので、スパイク・パルスspkは中間ノードn8に伝達され、このスパイク・パルスspkがHレベルとなる時間幅だけ、スイッチ回路S1が開路され、スイッチ回路S2が閉路される。これにより、位相状態値保持用キャパシタCに蓄電された電荷が放電され、出力ノードn1の位相状態値電圧Vは最小値電圧Vlowにリセットされる。これにより、コンパレータCMP3の出力電圧は再びLレベルとなる。
 さらに、スパイク・パルスspkが出力されると、パルス遅延器Dは、スパイク・パルスspkを時間T/4だけ遅延させ、時刻5T/4に遅延パルスDelay-spkを出力する(図22(b)参照)。
 遅延パルスDelay-spkが出力されると、トリガー・フリップフロップT-FFの出力端子Qの出力電圧はHレベル、出力端子¬Qの出力電圧はLレベルに反転される。これにより、スイッチ回路S10,S13,S15は閉路状態スイッチ回路S11,S12,S14は開路状態となる。従って、中間ノードn6の対照電圧Vrefは零値電圧Vmiddleとなる。また、中間ノードn7はスパイク・ニューロン回路20の出力端子から切り離される。また、中間ノードn8は接地面に接続され、中間ノードn7から切り離される。
 以降は、同様の動作が繰り返される。
 以上のように、本実施例のスパイク・ニューロン回路20では、1個のコンパレータCMP3を用いて、実施例1のスパイク・ニューロン回路20と同等の機能の回路を実現することができる。
 実施例3では、チョッパー型コンパレータを使用してスパイク・ニューロン回路20を構成する例について説明する。
 図23は、本発明の実施例3に係る情報処理装置における実部節点ユニット7及び虚部節点ユニット8のスパイク・ニューロン回路20の構成を示す図である。なお、本実施例の情報処理装置は、スパイク・ニューロン回路20以外の構成は実施例1と同様である。
 本実施例のスパイク・ニューロン回路20は、位相状態値保持用キャパシタC、ゼロオフセット用キャパシタC、2つの電流源I1,I2、5つのインバータINV1,INV2,INV3,INV4,INV5、トリガパルス生成器PG、パルス遅延器D、2つのトリガー・フリップフロップT-FF1,T-FF2、バッファbuff、及び15個のスイッチ回路S1,S2,S3,S10,S11,S12,S13,S14,S15,S20,S21,S22,S23,S24,S25を備えている。
 位相状態値保持用キャパシタCは一端が接地され、他端が出力ノードn1に接続されている。電流源I1は、一端が出力ノードn1を介して位相状態値保持用キャパシタCに接続されており、他端がスイッチ回路S1を介して電源に接続されている。スイッチ回路S2は、一端がバッファbuffを介して出力ノードn1に接続され、他端には、位相の最小値(最小位相値)θminに相当する電圧である最小値電圧Vlowが入力されている。スイッチ回路S2にはn型MOSFETが用いられている。尚、スイッチ回路S1の制御端子は、インバータINV1の出力側に接続されている。スイッチ回路S2の制御端子は、中間ノードn8に接続されている。尚、バッファbuffは、スイッチ回路S20のオンオフで、位相状態値保持用キャパシタCの電荷が漏れてしまうことを防止するために挿入されたものである。
 電流源I2は、一端が出力ノードn1を介して位相状態値保持用キャパシタCに接続されており、他端がスイッチ回路S3を介して電源に接続されている。スイッチ回路S3の制御には、初期値入力線10が接続されている。スイッチ回路S3は、入力部3から入力される初期化信号がHレベルのときに閉路状態、Lレベルのときに開路状態となる。
 また、出力ノードn1は、スイッチ回路20を介して中間ノードn9に接続されている。また、中間ノードn9には、スイッチ回路S10を介して零値電圧Vmiddleが印加され、また、スイッチ回路S11を介して最大値電圧Vhighが印加される。さらに、中間ノードn9は、ゼロオフセット用キャパシタCの一方の端子に接続されている。
 ゼロオフセット用キャパシタCの他方の端子は、中間ノードn10を介して、比較用インバータINV2の入力端子に接続され、当該インバータINV2の出力信号は、出力用インバータINV3,INV4を介してトリガパルス生成器PGの入力端子に入力される。トリガパルス生成器PGに入力されるデジタル出力信号をDoutと記す。
 トリガパルス生成器PGは、デジタル出力信号をDoutの立ち下がりエッジにおいて、短時間幅のパルスを出力する。
 また、インバータINV2にはゼロオフセット設定用のスイッチ回路S21が接続されている。
 これらスイッチ回路S10,S11,S20,S21、インバータINV2,INV3,INV4、及びゼロオフセット用キャパシタCにより、チョッパー型コンパレータが構成されている。
 トリガパルス生成器PGの出力端子は、中間ノードn7に接続されており、この中間ノードn7は、スイッチ回路(出力スイッチ回路)S12を介して、スパイク・ニューロン回路20の出力端子Toutに接続されている。出力端子Toutは、また、スイッチ回路S13を介して接地面に接続されている。
 また、中間ノードn7は、トリガー・フリップフロップT-FF1の入力端子に接続されている。トリガー・フリップフロップT-FF1は、1つの入力端子と2つの出力端子Q,¬Qを備えており、トリガー・フリップフロップT-FF1は、入力端子からパルスが入力されると、そのパルスの立ち上がりエッジにおいて、出力端子Q1,¬Q1のレベルを反転させる。出力端子Q1には、出力端子¬Q1の出力の反転値が出力される。トリガー・フリップフロップT-FF1の出力端子¬Q1は、スイッチ回路S22,S25の制御端子に接続されている。トリガー・フリップフロップT-FF1の出力端子Q1は、スイッチ回路S23,S24の制御端子に接続されている。
 また、中間ノードn7は、スイッチ回路S14を介してスイッチ回路S2の制御端子に接続されており、スイッチ回路S14及びインバータINV1を介してスイッチ回路S1の制御端子に接続されている。
 また、中間ノードn7は、パルス遅延器Dの入力端子に接続されている。パルス遅延器Dの出力端子は、トリガー・フリップフロップT-FF2の入力端子に接続されている。また、中間ノードn7は、インバータINV5を介してスイッチ回路S20の制御端子に接続されている。
 さらに、中間ノードn7は、スイッチ回路S22を介してスイッチ回路S10の制御端子に接続されており、スイッチ回路S23を介してスイッチ回路S11の制御端子に接続されている。また、中間ノードn7は、スイッチ回路S23及びスイッチ回路S25を介して接地面に接続されており、スイッチ回路S22及びスイッチ回路S24を介して接地面に接続されている。
トリガー・フリップフロップT-FF2は、1つの入力端子と2つの出力端子Q,¬Qを備えており、トリガー・フリップフロップT-FF2は、入力端子からパルスが入力されると、そのパルスの立ち上がりエッジにおいて、出力端子Q2,¬Q2のレベルを反転させる。出力端子Q2には、出力端子¬Q2の出力の反転値が出力される。トリガー・フリップフロップT-FF2の出力端子¬Q2は、スイッチ回路S12,S15の制御端子に接続されている。トリガー・フリップフロップT-FF1の出力端子Q2は、スイッチ回路S14,S13の制御端子に接続されている。
 以上のように構成された本実施例のスパイク・ニューロン回路20について、その構成を説明する。図24は、図23のスパイク・ニューロン回路20の各部の動作を表すタイミング・チャートである。
 (1)まず、時刻0において、スイッチ回路S20,S11が開路され、スイッチ回路S10,S21が閉路される。すると、スイッチ回路S10の閉路により、ゼロオフセット用キャパシタCの端子n9の電位Vは零値電圧Vmiddleとなり、スイッチ回路S21の閉路によりゼロオフセット用キャパシタCの端子n10の電位V10は、インバータINV2の閾値電圧Vthとなる。従って、ゼロオフセット用キャパシタCには、Vmiddle-Vthに相当する電荷が充電され、これにより、チョッパー型コンパレータのゼロオフセット動作が行われる。
 このとき、スイッチ回路S1は開路され、スイッチ回路S2が閉路されている。従って、位相状態値保持用キャパシタCが放電され、出力ノードn1の位相状態値電圧Vは最小値電圧Vlowにリセットされる。
 (2)次いで、スイッチ回路S10,S21が開路され、スイッチ回路S20が閉路される。また、スイッチ回路S1が閉路され、スイッチ回路S2が開路される。また、スイッチ回路S12,S15は閉路状態、スイッチ回路S13,S14は開路状態にある。
 これにより、中間ノードn9が出力ノードn1と接続される。スイッチ回路S21が開路されているので、ゼロオフセット用キャパシタCの端子間電圧VC2はVmiddle-Vthに維持される。従って、中間ノードn10の電圧V10は、(Vlow-Vmiddle)+Vthに引き下げられる。初期状態ではV<Vmiddleなので、中間ノードn10の電圧V10は、インバータINV2の閾値電圧Vthよりも低い電圧となる。従って、インバータINV4のデジタル出力信号DoutはHレベルとなる。
 (3)続いて、電流源I1から位相状態値保持用キャパシタCに充電電流Iが給電され、出力ノードn1の位相状態値電圧Vが一定の勾配で上昇する。
 (4)隣接ユニットからのスパイク入力がない場合、時刻T/2で出力ノードn1の位相状態値電圧Vが零値電圧Vmiddleに達すると、中間ノードn10の電圧V10は閾値電圧Vthに達し、インバータINV4のデジタル出力信号DoutはLレベルに反転する。デジタル出力信号Doutの立ち下がりエッジで、トリガパルス生成器PGが中間ノードn7にスパイク・パルスspkを出力する。このとき、スイッチ回路S14は開路されているので、スパイク・パルスspkは中間ノードn8には伝達されない。スイッチ回路(出力スイッチ回路)S12は閉路されているので、スパイク・パルスspkは出力端子Toutにスパイク・パルスspk_fとして出力される。
 また、このスパイク・パルスspkの立ち上がりエッジにおいて、トリガー・フリップフロップT-FF1の出力値は反転する。これにより、出力端子Q1の電圧はHレベル、出力端子¬Q1の電圧はLレベルとなり、スイッチ回路S23,S24は閉路状態、スイッチ回路S22,S25は開路状態となる。また、このスパイク・パルスspkはパルス遅延器Dに入力される。
 (5)パルス遅延器Dは、時刻T/2でスパイク・パルスspkが入力された後、適当な時間後、例えば時間T/4だけ遅延して、時刻3T/4に、短時間の遅延パルスDelay-spkを出力する。遅延パルスDelay-spkの立ち上がりエッジにおいて、パルス時間だけスイッチ回路S21が閉路、スイッチ回路S20が開路される。このとき、スイッチ回路S22,S25は開路状態、スイッチ回路S23,S24は閉路状態にあるため、遅延パルスDelay-spkはスイッチ回路S11の制御端子に伝達され、パルス時間だけスイッチ回路S11が閉路される。スイッチ回路S11の閉路により、中間ノードn9にはパルス時間だけ最大値電圧Vhighが印加される。また、スイッチ回路S21の閉路により、中間ノードn10にはパルス時間だけ閾値電圧Vthとなる。従って、ゼロオフセット用キャパシタCの端子間電圧VC2はVth-Vhighとなり、これにより、チョッパー型コンパレータのゼロオフセット動作が行われる。
 また、この遅延パルスDelay-spkにより、トリガー・フリップフロップT-FF2の出力値は反転する。これにより、出力端子Q2の電圧はHレベル、出力端子¬Q2の電圧はLレベルとなり、スイッチ回路S13,S14は閉路状態、スイッチ回路S12,S15は開路状態となる。これにより、出力端子Toutは中間ノードn7から切り離されて接地され、中間ノードn8は接地面から切り離されて中間ノードn7に接続される。
 (6)遅延パルスDelay-spkが立ち下がると、スイッチ回路S20が閉路状態、スイッチ回路S21,S11が開路状態となる。これにより、中間ノードn9は最大値電圧Vhighから切り離され、中間ノードn9は出力ノードn1に接続され、中間ノードn9の電圧Vは位相状態値保持用キャパシタCの位相状態値電圧Vとなる。また、スイッチ回路S21の開路により、ゼロオフセット用キャパシタCの充電電荷は保存されるので、中間ノードn9の電圧Vが位相状態値電圧Vとなるのに伴い、中間ノードn10の電圧V10は(V-Vhigh)+Vthとなる。
 (7)続いて、電流源I1から位相状態値保持用キャパシタCに充電電流Iが給電されることで、出力ノードn1の位相状態値電圧Vが一定勾配で上昇する。
 (8)時刻Tにおいて、中間ノードn10の電圧V10は閾値電圧Vthに達する。これにより、インバータINV2の出力はLレベルに反転し、インバータINV4のデジタル出力信号DoutもLレベルに反転する。デジタル出力信号Doutの立ち下がりエッジで、トリガパルス生成器PGが中間ノードn7にスパイク・パルスspkを出力する。このとき、スイッチ回路(出力スイッチ回路)S12は開路されているので、スパイク・パルスspkは出力端子Toutには伝達されない。また、スイッチ回路S14は閉路されているので、スパイク・パルスspkは中間ノードn8には伝達される。従って、スパイク・パルスspkのパルス幅の期間中、スイッチ開路S1が開路され、スイッチ開路S2は閉路される。これにより、電流源I1の通電は遮断され、出力ノードn1に最小値電圧Vlowが印加されるため、位相状態値保持用キャパシタCが放電されて位相状態値電圧Vは最小値電圧Vlowにリセットされる。このとき、スイッチ開路S20は閉路状態にあるため、中間ノードn9の電圧Vも位相状態値電圧Vに連動して最小値電圧Vlowとなる。中間ノードn9の電圧Vが閾値電圧Vth以下となることに伴い、インバータINV2の出力が再びHレベルに戻り、それに伴って、インバータINV4のデジタル出力信号Doutも再びHレベルに戻る。従って、デジタル出力信号Doutは、上記スイッチング動作が行われる短い時間だけ、Lレベルとなる。
 また、このときスイッチ開路S21は開路状態にあるため、中間ノードn9の電圧Vが最小値電圧Vlowとなるのに連動して、電圧Vは(V-Vlow)+Vthに引き下げられる。
 また、このスパイク・パルスspkの立ち上がりエッジにおいて、トリガー・フリップフロップT-FF1の出力値は反転する。これにより、出力端子Q1の電圧はLレベル、出力端子¬Q1の電圧はHレベルとなり、スイッチ回路S23,S24は開路状態、スイッチ回路S22,S25は閉路状態となる。また、このスパイク・パルスspkはパルス遅延器Dに入力される。
 (9)スパイク・パルスspkが立ち下がると、スイッチ開路S1が閉路され、スイッチ開路S2は開路される。従って、出力ノードn1は接地面から切り離されて、電流源I1に再び通電がされ、位相状態値保持用キャパシタCへの充電が開始される。
 (10)続いて、電流源I1から位相状態値保持用キャパシタCに充電電流Iが給電され、出力ノードn1の位相状態値電圧Vが一定の勾配で上昇する。
 (11)パルス遅延器Dは、時刻Tでスパイク・パルスspkが入力された後、時間T/4だけ遅延して、時刻5T/4に、短時間の遅延パルスDelay-spkを出力する。遅延パルスDelay-spkの立ち上がりエッジにおいて、パルス時間だけスイッチ回路S21が閉路、スイッチ回路S20が開路される。このとき、スイッチ回路S22,S25は閉路状態、スイッチ回路S23,S24は開路状態にあるため、遅延パルスDelay-spkはスイッチ回路S10の制御端子に伝達され、パルス時間だけスイッチ回路S10が閉路される。スイッチ回路S10の閉路により、中間ノードn9にはパルス時間だけ零値電圧Vmiddleが印加される。また、スイッチ回路S21の閉路により、中間ノードn10にはパルス時間だけ閾値電圧Vthとなる。従って、ゼロオフセット用キャパシタCの端子間電圧VC2はVth-Vmiddleとなり、これにより、チョッパー型コンパレータのゼロオフセット動作が行われる。
 また、この遅延パルスDelay-spkにより、トリガー・フリップフロップT-FF2の出力値は反転する。これにより、出力端子Q2の電圧はLレベル、出力端子¬Q2の電圧はHレベルとなり、スイッチ回路S13,S14は開路状態、スイッチ回路S12,S15は閉路状態となる。これにより、出力端子Toutは中間ノードn7に接続され、中間ノードn8は中間ノードn7から切り離されて接地される。
 (12)遅延パルスDelay-spkが立ち下がると、スイッチ回路S20が閉路状態、スイッチ回路S21,S10が開路状態となる。これにより、中間ノードn9は零値電圧Vmiddleから切り離され、中間ノードn9は出力ノードn1に接続され、中間ノードn9の電圧Vは位相状態値保持用キャパシタCの位相状態値電圧Vとなる。また、スイッチ回路S21の開路により、ゼロオフセット用キャパシタCの充電電荷は保存されるので、中間ノードn9の電圧Vが位相状態値電圧Vとなるのに伴い、中間ノードn10の電圧V10は(V-Vmiddle)+Vthまで引き上げられる。
 (13)以降は、上記(3)~(12)と同様の動作を繰り返すことになる。
 以上の動作によって、スパイク・ニューロン回路20は、状態値更新回路27による状態値の更新がなければ、位相状態値保持用キャパシタCの位相状態値電圧Vが周期Tの鋸歯波関数となり、位相状態値電圧Vが零値電圧Vmiddleを過ぎた時刻に発火して、出力端子Toutからスパイク・パルスspk_fを出力する。状態値更新回路27による状態値の更新があれば、位相状態値電圧Vの鋸歯波関数の位相が、状態値の更新時点で進行又は遅延されるだけで、上記と同様の動作が行われる。
 従って、本実施例のスパイク・ニューロン回路20では、チョッパー型コンパレータを用いて、実施例1のスパイク・ニューロン回路20と同等の機能の回路を実現することができる。
 実施例1~3においては、スパイク・ニューロン回路20が、位相状態値保持用キャパシタC(又はC)の位相状態値電圧Vが零値電圧Vmiddleとなったときに発火してスパイク・パルスspk_fを出力する回路構成の例について説明した。本実施例では、これとは異なり、スパイク・ニューロン回路20が、位相状態値保持用キャパシタCの位相状態値電圧Vが最小値電圧Vlowにリセットされた時刻からTだけ遅延した時刻に発火してスパイク・パルスspk_fを出力する回路構成の例について説明する。Tとしては周期の半分T/2が適当である。
〔1〕全体構成
 本実施例に係る情報処理装置の全体構成は図1と同様であり、また、節点ユニットネットワーク2の内部構成は図2と同様であり、ピクセル・アレイ13の内部構成は図3と同様であるとする。また、ピクセル・アレイ13内の各節点ユニット6の全体構成についても図4と同様であるとする。
 図25は、実施例4に係る情報処理装置の実部節点ユニット7の内部構成を表すブロック図である。尚、虚部節点ユニット8の内部構成についても同様であるため、ここでは、代表として実部節点ユニット7についてのみ説明する。
 実部節点ユニット7(虚部節点ユニット8)は、スパイク・ニューロン回路20、遅延パルス生成器21、更新許可スイッチ22、セレクタ付きパルス生成器23,24,25,26、状態値更新回路27、及び列選択スイッチ28,29を備えている。尚、図5と対応する構成部分については、同符号を付してある。
 本実施例のスパイク・ニューロン回路20は、実部節点ユニット7(虚部節点ユニット8)に固有の位相状態値を保持する位相状態値保持手段として機能するとともに、位相状態値保持手段が保持する位相状態値を一定の位相速度ωで経時的に変化させる位相進行手段、及び位相状態値保持手段が保持する位相状態値が最大位相状態値に達したときに、位相状態値を最小位相状態値にリセットする位相復位手段として機能する。スパイク・ニューロン回路20は、スパイク・パルスspkを出力し、このスパイク・パルスspkは遅延パルス生成器21に入力される。
 パルス生成器21は、スパイク・ニューロン回路20がスパイク・パルスspkを出力すると、その時点から所定の遅延時間Tだけ遅延してトリガ(更新トリガ)を出力するトリガ発生手段として機能する。遅延パルス生成器21は、遅延パルスD_spkを出力する。
 更新許可スイッチ22は、AND回路で構成され、一方の入力が遅延パルス生成器21の出力に接続され、他方の入力には、全体制御部5から出力される更新許可信号update_enaが入力される。
 セレクタ付きパルス生成器23,24,25,26は、遅延パルスD_spkによるトリガが入力されると、それぞれ、各更新係数G1xの大きさに比例したトリガパルス(更新トリガ)R_OUT_P_gx1, R_OUT_M_gx1,G2xの大きさに比例したトリガパルス(更新トリガ)R_OUT_P_gx2, R_OUT_M_gx2,G1yの大きさに比例したトリガパルス(更新トリガ)R_OUT_P_gy1, R_OUT_M_gy1,G2yの大きさに比例したトリガパルス(更新トリガ)R_OUT_P_gy2, R_OUT_M_gy2を出力する。
 状態値更新回路27は、隣接節点ユニット6から各トリガパルス(更新トリガ)が入力されると、それらのトリガパルスの符号及びパルス幅に応じて、スパイク・ニューロン回路20内の位相状態値保持手段が保持する位相状態値を増加又は減少させることにより、位相状態値の更新を行う。
 従って、本実施例では、状態値更新回路27と隣接節点ユニット6のセレクタ付きパルス生成器23,24,25,26とが協働することによって、隣接節点ユニット6の遅延パルス生成器21がトリガを出力したとき、該節点ユニットの隣接位置に応じて、位相状態値保持手段が保持する位相状態値を、当該位相状態値に当該位相状態値を所定倍した値を加えた値だけ変化させる位相更新手段として機能することになる。
〔2〕実部節点ユニット7及び虚部節点ユニット8の各部構成と動作
(1)スパイク・ニューロン回路20
 図26は、図25のスパイク・ニューロン回路20の構成(a)及び動作(b)を表す図である。スパイク・ニューロン回路20は、位相状態値保持用キャパシタC、電流源I1,I2、コンパレータCMP1、パルス生成回路PG、及びスイッチ回路S1,S2,S3を備えている。
 位相状態値保持用キャパシタCは一端が接地され、他端が出力ノードn1に接続されている。この出力ノードn1には、状態値更新回路27の出力端子が接続されている。電流源I1は、一端が出力ノードn1を介して位相状態値保持用キャパシタCに接続されており、他端がスイッチ回路S1を介して電源に接続されている。スイッチ回路S2は、一端が出力ノードn1に接続され、他端には、位相の最小値(最小位相値)θminに相当する電圧である最小値電圧Vlowが入力されている。初期値電圧Vlowは、位相状態値の初期値θminに相当する電圧であり、全体制御部5で生成され入力される。尚、スイッチ回路S2にはn型MOSFETが用いられている。
 コンパレータCMP1は、プラス側入力端子が出力ノードn1に接続され、マイナス側入力端子に最大値電圧Vhighが入力されている最大値電圧Vhighは、位相状態値の最大値θmaxに相当する電圧であり、全体制御部5で生成され入力される。また、コンパレータCMP1の出力は、パルス生成回路PGを介してスパイク・ニューロン回路20の出力端子Toutに接続されている。また、コンパレータCMP1の出力は、スイッチ回路S1,S2の制御端子に接続されている。スイッチ回路S1は、コンパレータCMP1の出力電圧がLレベルのときに閉路され、Hレベルのときに開路される。また、スイッチ回路S2は、コンパレータCMP1の出力電圧がHレベルのときに閉路され、Lレベルのときに開路される。
 電流源I2は、一端が出力ノードn1を介して位相状態値保持用キャパシタCに接続されており、他端がスイッチ回路S3を介して電源に接続されている。スイッチ回路S3の制御端子には、初期値入力線10が接続されている。スイッチ回路S3は、入力部3から入力される初期化信号がHレベルのときに閉路状態、Lレベルのときに開路状態となる。
 この回路では、出力ノードn1の位相状態値電圧V又は位相状態値保持用キャパシタCに充電された電荷量Q=Cがこの節点ユニットの「位相状態値」を表しているものとみなされる。
 このスパイク・ニューロン回路20は、次のように動作する。状態値更新回路27が状態値の更新を行っていない(すなわち、出力ノードn1に状態値更新回路27からの電流の入出力がない)状態では、出力ノードn1の位相状態値電圧V及びスパイク・ニューロン回路20の出力電圧spkは、図26(b)に示したような時間変化をする。すなわち、まず、コンパレータCMP1の出力電圧spkがHレベルとなると、スイッチ回路S2が短時間閉路されるとともにスイッチ回路S1が開路して、V=Vlow(すなわち、位相状態値θ=θmin<0)にリセットされる。
 次に、V<Vhighなので、即座にコンパレータCMP1の出力電圧spkはLレベルとなり、スイッチ回路S2が開路しスイッチ回路S1が閉路される。そうすると、電流源I1により、位相状態値保持用キャパシタCに一定の充電電流Iが供給され、出力ノードn1の位相状態値電圧Vは一定の勾配で上昇する。すなわち、位相状態値θがθmin+ωtで変化する。このとき、V<Vmiddleなので、コンパレータCMP2の出力電圧はLレベルである。
 位相状態値電圧Vが最大値電圧Vhighに達したとき(すなわち、位相状態値θが最大値θmaxに達したとき)、コンパレータCMP1の出力がHレベルに反転する。これに伴って、スイッチ回路S1が開路して、スイッチ回路S2が閉路し、位相状態値保持用キャパシタCに充電された電荷は即座に放電されて、位相状態値電圧Vは初期値電圧ノードVlowとなる。それに伴って、コンパレータCMP1の出力が再びLレベルに反転し、再びスイッチ回路S2が開路し、スイッチ回路S1が閉路して、再び電流源I1により、位相状態値保持用キャパシタCに一定の電流が供給され始める。
 コンパレータCMP1の出力がHレベルとなる短時間に、スパイク・ニューロン回路20の出力端子にスパイク・パルスspkが出力される。すなわち、スパイク・ニューロン回路20が「発火」する。従って、状態値の更新が行われないときには、位相状態値θは常にθmin+ωtで鋸歯波状に変化し、スパイク・ニューロン回路20からは、常に一定の時間間隔Tでスパイク・パルスspkが出力されることになる。
 尚、ガボール型フィルタ演算を開始するにあたって、スパイク・ニューロン回路20の位相状態値を初期値に設定する場合には、初期値入力線10から、初期の位相状態値に比例する幅のパルスを入力する。これにより、電流源I2から位相状態値保持用キャパシタCに、初期の位相状態値に比例する量の電荷が供給され、初期値が設定されることになる。
(2)遅延パルス生成器21
 図27は、図25の遅延パルス生成器21の構成(a)及び動作(b)を表す図である。遅延パルス生成器21は、p型の電界効果トランジスタM7,M8、n型の電界効果トランジスタM9、インバータ回路INV5,INV6、及びNOR回路51を備えている。
 トランジスタM7,M8及びトランジスタM9は、電源と接地面との間にこの順序で直列に接続されている。トランジスタM7のゲートには、パルスの遅延量を決定するための遅延電圧Vdelayが入力される。遅延電圧Vdelayは全体制御部5において生成され、全ての節点ユニット6に共通に入力される。トランジスタM8,M9のゲートには、前述のスパイク・ニューロン回路20が出力するスパイク・パルスspkが入力される。インバータ回路INV5,INV6は直列接続されており、インバータ回路INV5の入力側はトランジスタM8,M9の共通接続ノード(以下「中間ノードn11」という。)に接続され、インバータ回路INV6の出力側は、NOR回路51の一方の入力端子に接続される。NOR回路51の他方の入力端子には、スパイク・ニューロン回路20が出力するスパイク・パルスspkが直接入力される。NOR回路51の出力端子は、遅延パルス生成器21の出力端子Toutとなっている。
 スパイク・ニューロン回路20からスパイク・パルスspkが入力されていない初期状態では、トランジスタM8,M9のゲートはLレベルであり、トランジスタM8がオン、トランジスタM9がオフである。従って、トランジスタM7,M8を介して、電源から中間ノードn11に電荷が流入し、中間ノードn11と接地面間の寄生容量が充電され、中間ノードn11の電圧Vはほぼ電源電圧Vとなる。このとき、インバータ回路INV6の出力側のノード(以下「中間ノードn12」という。)の電圧VはHレベルであり、NOR回路51の出力電圧(遅延パルス)D_spkはLレベルである。
 スパイク・ニューロン回路20からスパイク・パルスspkが入力されると、スパイク・パルスspkがHレベルの短期間だけ、トランジスタM8がオフ、トランジスタM9がオンとなり、中間ノードn11と接地面間の寄生容量が放電されて中間ノードn11の電圧Vは0となる。中間ノードn11の電圧Vが0となるのに伴い、中間ノードn12の電圧VはLレベルとなる。しかし、スパイク・パルスspkがHレベルであるため、NOR回路51の出力電圧(遅延パルス)D_spkはLレベルのままである。
 スパイク・パルスspkが立下ると、NOR回路51の出力電圧(遅延パルス)D_spkはHレベルとなる。それと共に、再びトランジスタM8がオン、トランジスタM9がオフとなるので、トランジスタM7,M8を介して、電源から中間ノードn11に電荷が流入し、図27(b)に示すように、中間ノードn11の電圧Vはほぼ一定の勾配で電源電圧Vとなるまで上昇する。この過程で中間ノードn11の電圧Vがインバータ回路INV5の閾値電圧を過ぎった瞬間に、インバータ回路INV6の出力はHレベルとなり、NOR回路51の出力電圧(遅延パルス)D_spkは再びLレベルとなる。スパイク・パルスspkの立ち上がり時刻から、NOR回路51の出力電圧(遅延パルス)D_spkの立ち下がり時刻までをTとすると、NOR回路51の出力電圧(遅延パルス)D_spkの立ち下がりエッジにより、スパイク・パルスspkの立ち上がり時刻から時間Tだけ遅延したトリガを得ることができる。尚、遅延時間Tは、遅延電圧Vdelayを調整することによって調整することができる。
 尚、遅延パルスD_spkの立ち下がりエッジの時間軸上の位置は、ほぼ位相状態値θが0となる時刻を表す。
(3)セレクタ付きパルス生成器23,24,25,26
 セレクタ付きパルス生成器23,24,25,26の構成は、実施例1の図9に示したものと同様であり、回路構成についての説明は省略する。ここでは、回路動作についてのみ説明する。
 図28は、本実施例4に於けるセレクタ付きパルス生成器23,24,25,26の動作を表すタイミング・チャートである。
 遅延パルス生成器21から遅延パルスD_spkが入力されていない(D_spkがLレベルの)初期状態では、トランジスタM1,M3のゲートはLレベルであり、トランジスタM1がオン、トランジスタM3がオフである。また、トランジスタM2のゲートには、更新係数電圧Vが印加されており、このトランジスタM2は線形領域で動作する。従って、トランジスタM1,M2を介して、電源から中間ノードn2に電荷が流入し、中間ノードn2と接地面間の寄生容量が充電され、中間ノードn2の電圧はほぼ電源電圧Vとなる。このとき、インバータ回路31の出力側のノード(以下「中間ノードn3」という。)の電圧VcはHレベルであり、NOR回路32の出力側のノード(以下「中間ノードn4」という。)の電圧OUT_PMはLレベルである。
 遅延パルスD_spkがHレベルに立ち上がると、トランジスタM1がオフ、トランジスタM3がオンとなり、中間ノードn2と接地面間の寄生容量が放電されて中間ノードn2の電圧は0となる。中間ノードn2の電圧が0となるのに伴い、中間ノードn3の電圧VcもLレベルとなる。しかし、遅延パルスD_spkがHレベルであるため、NOR回路32の出力電圧である中間ノードn4の電圧OUT_PMはLレベルのままである。
 次に、遅延パルスD_spkがLレベルに立ち下がると、NOR回路32の出力電圧である中間ノードn4の電圧OUT_PMはHレベルとなる。それと共に、再びトランジスタM1がオン、トランジスタM3がオフとなるので、トランジスタM1,M2を介して、電源から中間ノードn2に、更新係数電圧Vに比例する電流が流入し、中間ノードn2の電圧はほぼ一定の勾配で電源電圧Vになるまで上昇する。この過程で中間ノードn2の電圧がインバータ回路30の閾値電圧を過ぎった瞬間に、インバータ回路30及びインバータ回路31の出力電圧が反転し、中間ノードn3の電圧VcはHレベルとなり、NOR回路32の出力電圧である中間ノードn4の電圧OUT_PMは再びLレベルとなる。中間ノードn4の電圧OUT_PMがHレベルに立ち上がってから再びLレベルに立ち下がるまでの時間をパルス幅tとすると、パルス幅tは更新係数電圧Vの大きさに比例する。従って、出力パルスの時間軸上の位置はほぼ位相状態値θが0となる時刻を表し、出力パルスのパルス幅tは更新係数G1x,G1y,G2x,G2yの大きさを表すことになる。
 最後に、デマルチプレクサ33は、更新係数符号信号signに従って、中間ノードn4に出力されるパルスの出力方向を切り替える。更新係数G1x,G1y,G2x,G2yが正のときは、出力端子OUT_Pにパルス幅tの出力パルスが出力され、更新係数G1x,G1y,G2x,G2yが負のときは、出力端子OUT_Mにパルス幅tの出力パルスが出力される。
 尚、出力端子OUT_Pは、状態値更新回路27の入力端子R_top_p_gy1, R_bottom_p_gy1, R_right_p_gx1, R_left_p_gx1, I_top_p_gy2, I_bottom_p_gy2, I_right_p_gx2, I_left_p_gx2の何れかに接続される。また、出力端子OUT_Mは、状態値更新回路27の入力端子R_top_m_gy1, R_bottom_m_gy1, R_right_m_gx1, R_left_m_gx1, I_top_m_gy2, I_bottom_m_gy2, I_right_m_gx2, I_left_m_gx2の何れかに接続される。
(4)状態値更新回路27
 状態値更新回路27の構成及び動作は、実施例1と同様であり、既に説明したため、ここでは説明は省略する。
〔3〕全体動作
(1)初期化
 ガボール型フィルタ演算を開始する前に、全体制御部5は初期化処理を行う。初期化処理では、まず、更新許可信号update_enaをL状態として、セレクタ付きパルス生成器23,24,25,26のパルス出力を停止することによって、状態値更新回路27によるスパイク・ニューロン回路20の位相状態値電圧Vの更新を停止する。この状態で、各スパイク・ニューロン回路20の位相状態値保持用キャパシタCに初期電荷を与える。尚、位相状態値保持用キャパシタCに初期電荷を与える方法については、〔2〕(1)で既に説明した通りである。
(2)ガボール型フィルタ演算
 ガボール型フィルタ演算を開始する場合には、全体制御部5は更新許可信号update_enaをH状態とする。これにより、各節点ユニットUi,jの実部節点ユニット7及び虚部節点ユニット8において、位相状態量θi,j ,θi,j の更新処理が非同期的に並列に実行される。各節点ユニットに於ける位相状態量θi,j ,θi,j の更新処理の回路動作については、実施例1で既に説明した通りである。
(3)ガボール型フィルタ演算の終了
 ガボール型フィルタ演算を打ち切る場合には、全体制御部5は更新許可信号update_enaをL状態とする。これにより、セレクタ付きパルス生成器23,24,25,26のパルス出力が停止され、状態値更新回路27によるスパイク・ニューロン回路20の位相状態値電圧Vの更新が行われなくなる。ガボール型フィルタ演算の結果は、各スパイク・ニューロン回路20の位相状態値電圧Vの位相として保持されているので、出力部4がこの位相をパルスとして取り出すことによって演算結果を得ることができる。尚、位相パルス変換回路については図1では図示していないが、例えば、図18のような回路を使用することができる。
 以上のように、本実施例の情報処理装置では、各節点ユニットUi,jの実部節点ユニット7及び虚部節点ユニット8において、位相状態量θi,j ,θi,j の更新処理が非同期的に並列に実行される。従って、ガボール型フィルタ演算を高速に演算することが可能となる。また、従来のように、隣接節点ユニットの状態値と自己の状態値との減算回路などを必要としないため、回路構成が単純となり、実装面積も縮小される。
 本実施例では、本発明の情報処理装置の各節点ユニットをデジタル回路で構成する例について説明する。尚、本実施例5の情報処理装置の全体構成については、実施例1の図1~図3と同様であるものとする。
 図29は、実施例5に係る情報処理装置の各節点ユニット6の全体構成を表す図である。尚、図29において、実施例1に対応する各部構成については同符号を付している。
 各節点ユニット6には、左側に隣接する節点ユニット6の実部節点ユニット7及び虚部節点ユニット8から、それぞれ更新トリガR_left, I_left、右側に隣接する節点ユニット6の実部節点ユニット7及び虚部節点ユニット8から、それぞれ更新トリガR_right, I_right、上側に隣接する節点ユニット6の実部節点ユニット7及び虚部節点ユニット8から、それぞれ更新トリガR_top, I_top、下側に隣接する節点ユニット6の実部節点ユニット7及び虚部節点ユニット8から、それぞれ更新トリガR_bottom, I_bottomが入力される。
 また、各節点ユニット6の実部節点ユニット7及び虚部節点ユニット8からは、それぞれ、左側に隣接する節点ユニット6に対し更新トリガR_OUT_left, I_OUT_left、右側に隣接する節点ユニット6に対し更新トリガR_OUT_right, I_OUT_right、上側に隣接する節点ユニット6に対し更新トリガR_OUT_top, I_OUT_top、下側に隣接する節点ユニット6に対し更新トリガR_OUT_bottom, I_OUT_ bottomが出力される。
 また、全体制御部5から各節点ユニット6に対しては、自己更新トリガg0が入力される。
 図30は、実部節点ユニット7(及び虚部節点ユニット8)の内部構成を表すブロック図である。実部節点ユニット7(及び虚部節点ユニット8)は、位相状態値保持手段61、位相進行手段62、位相復位手段63、トリガ発生手段64、及び位相更新手段65を備えている。
 位相状態値保持手段61は、そのモジュールに固有の位相状態値θ(iは実部節点ユニット7又は虚部節点ユニット8を特定するインデックス)を保持する。
位相進行手段62は、位相状態値保持手段61が保持する位相状態値θを一定の位相速度ωで経時的に増加させる。
 位相復位手段63は、位相状態値保持手段61が保持する位相状態値θが所定の最大値θmaxに達すると、位相状態値θを最小位相状態値θminにリセットする。
 トリガ発生手段64は、位相状態値保持手段61が保持する位相状態値θが位相が零値であることを表す所定の零位相状態値θmiddleを過ぎったときに、更新トリガtrigger_OUTを出力する。この更新トリガtrigger_OUTは、上下左右に隣接する各節点ユニット6の実部節点ユニット7及び虚部節点ユニット8に対して、それぞれ、更新トリガR_OUT_top, I_OUT_top、更新トリガR_OUT_bottom, I_OUT_ bottom、更新トリガR_OUT_left, I_OUT_left、更新トリガR_OUT_right, I_OUT_rightとして出力される。
 位相更新手段65は、隣接する節点ユニット6のトリガ発生手段64が更新トリガtrigger_OUTを出力したとき、該節点ユニット6の隣接位置kに応じて、位相状態値保持手段61が保持する位相状態値θ(t)を、当該位相状態値θ(t)に当該位相状態値を所定倍した値Gikθ(t)を加えた値(1+Gik)θ(t)に更新する。図30において、上側に隣接する実部節点ユニット7及び虚部節点ユニット8のトリガ発生手段64から入力される更新トリガを、それぞれ、更新トリガR_top, I_top、下側に隣接する実部節点ユニット7及び虚部節点ユニット8のトリガ発生手段64から入力される更新トリガを、それぞれ、更新トリガR_bottom, I_ bottom、左側に隣接する実部節点ユニット7及び虚部節点ユニット8のトリガ発生手段64から入力される更新トリガを、それぞれ、更新トリガR_left, I_left、右側に隣接する実部節点ユニット7及び虚部節点ユニット8のトリガ発生手段64から入力される更新トリガを、それぞれ、更新トリガR_right, I_rightと表記している。
 また、位相更新手段65は、全体制御部5から自己更新トリガg0が入力されると、その時点における自己の位相状態値θ(t)を、当該位相状態値θ(t)に当該位相状態値θ(t)をG倍した値を加えた値(θ(t)+Gθ(t))に更新する。
 以上のように構成された本実施例の情報処理装置について、以下その動作を説明する。尚、本実施例の情報処理装置はデジタル信号で演算処理を行うため、位相の更新式(10)は時間について離散化する必要がある。式(10)を時間について離散化して差分方程式に書き直すと、次式のようになる。
Figure JPOXMLDOC01-appb-M000020
 ここで、tp(m’,n’) ,tp(m’,n’) は、時間区間(t,tp+1)の間で位相θm’,n’ (t),θm’,n’ (t)が0となる時刻である。また、δ(t∈[t,t])は、クロネッカ記号を表し、tが区間[t,t]に含まれるときには1、それ以外のときには0となることを表す。また、Δtは任意に設定できるので、Δt=1としてよい。
 図31は、本実施例に係る情報処理装置の各実部節点ユニット7及び虚部節点ユニット8における位相の進行・更新処理を表すフローチャートである。
 まず、ステップS1において、全体制御部5は、内部変数として有する時刻tを0にリセットする。尚、時刻tについては、すべての節点ユニット6について共通とし、全体制御部5において管理され、クロック信号として各節点ユニット6に入力されるものとする。
 次に、ステップS2において、入力部3は、外部から入力される初期値(例えば、画像データ)を各節点ユニット6の実部節点ユニット7の位相状態値保持手段61に、位相状態値θとして設定する。この初期値の設定の仕方は、実施例1と同様であり、全体制御部5が、列セレクタ14により列を選択した後、入力部3が各初期値入力線10から各行の実部節点ユニット7の位相状態値の初期値(初期化信号)を入力することにより、各実部節点ユニット7に位相状態値の初期値を設定することができる。また、全ての節点ユニット6の虚部節点ユニット8の位相状態値保持手段61の位相状態値θはθmin(<0)にリセットされる。
 次に、以下のステップS3~S8が反復実行される。
 まず、ステップS3において、全体制御部5は、時刻tを1だけインクリメントする。
 次いで、ステップS4において、全体制御部5は、t+ts mod T0(tはθを決めるシフト量、Tは周期(=(θmax-θmin)/ω))が0か否かを判定し、t+ts mod T0=0の場合には、ステップS5において全体制御部5は自己更新トリガg0を出力し(g0 = Trueとする)、それ以外の場合はステップS6において自己更新トリガg0を出力しない(g0 = Falseとする)。
 ステップS7において、各実部節点ユニット7及び各虚部節点ユニット8の位相更新手段65は、位相状態値の更新処理を実行する。この更新処理の詳細については、後述する(図32,図33参照)。尚、この処理は、すべての節点ユニット6において並列に同時実行される。
 ステップS8において、全体制御部5は、時刻tが所定の計算終了時刻tendに達したか否かを判定する。計算終了時刻tendに達していない場合には、ステップS3に戻り、計算終了時刻tendに達した場合には、反復処理を終了してステップS9に移行する。
 ステップS9において、出力部4は、全ての節点ユニット6の実部節点ユニット7及び虚部節点ユニット8に保持された位相状態値θを出力し、処理を終了する。これにより、出力された各位相状態値θとして、ガボール型フィルタにより処理されたデータが得られる。尚、この出力の仕方は、全体制御部5が、列セレクタ14により列を選択した後、出力部4が実部外部出力線11及び虚部外部出力線12各行の実部節点ユニット7及び虚部節点ユニット8の位相状態値を読み出すことにより行われる。
 次に、上記ステップS7における位相状態値の更新処理の詳細について説明する。尚、ここでは、実部節点ユニット7と虚部節点ユニット8の両方をまとめて説明する。
 図32,図33は、各節点ユニット6における位相状態値の更新処理の流れを表すフローチャートである。ここでは、節点ユニットUi,j(i∈{1,…,M},j∈{1,…,N})の実部節点ユニット7及び虚部節点ユニット8について記述する。節点ユニットUi,jの実部節点ユニット7及び虚部節点ユニット8の位相状態値保持手段61は、それぞれ、内部変数として位相状態値θi,j r,θi,j r(0)及び位相状態値θi,j i,θi,j i(0)を有しているものとする。
(1)前時刻の位相状態値のバックアップ
 まず、ステップS11において、実部節点ユニット7及び虚部節点ユニット8は、前時刻の位相状態値θi,j r,θi,j iを、それぞれ内部変数θi,j r(0),θi,j i(0)に複写して保存する。これらは、後のステップS31,S34において自己節点が発火するか否かの判定に使用される。
(2)位相状態値の進行
 次に、ステップS12において、実部節点ユニット7及び虚部節点ユニット8の位相進行手段62は、自己の位相状態値保持手段61に保持された位相状態値θi,j r,θi,j iをωだけ進行させる。すなわち、θi,j r←θi,j r+ω,θi,j i←θi,j i+ωの演算を実行する。これは、式(18a),(18b)の位相進行項(右辺第3項)の演算に相当する。
(3)更新演算及び発火処理
 次に、以下の(3-1)~(3-11)の処理が並列に実行される。
(3-1)自己更新演算
 ステップS13において、実部節点ユニット7及び虚部節点ユニット8の位相更新手段65は、全体制御部5から入力される自己更新トリガg0が真値(True)であるか否かを判定する。自己更新トリガg0が真値(True)の場合には、ステップS14において、位相状態値θi,j r,θi,j iに、それぞれ、-Gθi,j r,-Gθi,j iを加えて更新をし、次のステップS15に移行する。これは、式(18c),(18d)の累算括弧内の自己更新項(右辺括弧内第1項)の演算に相当する。また、自己更新トリガg0が偽値(False)の場合には、自己更新は行わず、次のステップS37,S39に移行する。
(3-2)左隣接節点の実部の発火による更新演算
 ステップS15において、実部節点ユニット7及び虚部節点ユニット8の位相更新手段65は、左側の隣接節点ユニットUi-1,jから入力される更新トリガR_leftが真値(True)であるか否かを判定する。更新トリガR_leftが真値(True)の場合には、ステップS16において、位相状態値θi,j r,θi,j iに、それぞれ、-G1xθi,j r,-G2xθi,j iを加えて更新をし、次のステップS17に移行する。これは、式(18c)の累算括弧内の右辺第2項の更新項及び式(18d)の累算括弧内の右辺第6項の更新項の演算に相当する。また、更新トリガR_leftが偽値(False)の場合には、自己更新は行わず、次のステップS37,S39に移行する。
(3-3)右隣接節点の実部の発火による更新演算
 ステップS17において、実部節点ユニット7及び虚部節点ユニット8の位相更新手段65は、右側の隣接節点ユニットUi+1,jから入力される更新トリガR_rightが真値(True)であるか否かを判定する。更新トリガR_rightが真値(True)の場合には、ステップS18において、位相状態値θi,j r,θi,j iに、それぞれ、-G1xθi,j r,+G2xθi,j iを加えて更新をし、次のステップS19に移行する。これは、式(18c)の累算括弧内の右辺第3項の更新項及び式(18d)の累算括弧内の右辺第7項の更新項の演算に相当する。また、更新トリガR_rightが偽値(False)の場合には、自己更新は行わず、次のステップS37,S39に移行する。
(3-4)上隣接節点の実部の発火による更新演算
 ステップS19において、実部節点ユニット7及び虚部節点ユニット8の位相更新手段65は、上側の隣接節点ユニットUi,j-1から入力される更新トリガR_topが真値(True)であるか否かを判定する。更新トリガR_topが真値(True)の場合には、ステップS20において、位相状態値θi,j r,θi,j iに、それぞれ、-G1yθi,j r,+G2yθi,j iを加えて更新をし、次のステップS21に移行する。これは、式(18c)の累算括弧内の右辺第4項の更新項及び式(18d)の累算括弧内の右辺第8項の更新項の演算に相当する。また、更新トリガR_topが偽値(False)の場合には、自己更新は行わず、次のステップS37,S39に移行する。
(3-5)下隣接節点の実部の発火による更新演算
 ステップS21において、実部節点ユニット7及び虚部節点ユニット8の位相更新手段65は、下側の隣接節点ユニットUi,j+1から入力される更新トリガR_bottomが真値(True)であるか否かを判定する。更新トリガR_bottomが真値(True)の場合には、ステップS22において、位相状態値θi,j r,θi,j iに、それぞれ、-G1yθi,j r,-G2yθi,j iを加えて更新をし、次のステップS23に移行する。これは、式(18c)の累算括弧内の右辺第5項の更新項及び式(18d)の累算括弧内の右辺第9項の更新項の演算に相当する。また、更新トリガR_bottomが偽値(False)の場合には、自己更新は行わず、次のステップS37,S39に移行する。
(3-6)左隣接節点の虚部の発火による更新演算
 ステップS23において、実部節点ユニット7及び虚部節点ユニット8の位相更新手段65は、左側の隣接節点ユニットUi-1,jから入力される更新トリガI_leftが真値(True)であるか否かを判定する。更新トリガI_leftが真値(True)の場合には、ステップS24において、位相状態値θi,j r,θi,j iに、それぞれ、+G2xθi,j r,-G1xθi,j iを加えて更新をし、次のステップS25に移行する。これは、式(18c)の累算括弧内の右辺第6項の更新項及び式(18d)の累算括弧内の右辺第2項の更新項の演算に相当する。また、更新トリガI_leftが偽値(False)の場合には、自己更新は行わず、次のステップS37,S39に移行する。
(3-7)右隣接節点の虚部の発火による更新演算
 ステップS25において、実部節点ユニット7及び虚部節点ユニット8の位相更新手段65は、右側の隣接節点ユニットUi+1,jから入力される更新トリガI_rightが真値(True)であるか否かを判定する。更新トリガI_rightが真値(True)の場合には、ステップS26において、位相状態値θi,j r,θi,j iに、それぞれ、-G2xθi,j r,-G1xθi,j iを加えて更新をし、次のステップS27に移行する。これは、式(18c)の累算括弧内の右辺第7項の更新項及び式(18d)の累算括弧内の右辺第3項の更新項の演算に相当する。また、更新トリガI_rightが偽値(False)の場合には、自己更新は行わず、次のステップS37,S39に移行する。
(3-8)上隣接節点の虚部の発火による更新演算
 ステップS27において、実部節点ユニット7及び虚部節点ユニット8の位相更新手段65は、上側の隣接節点ユニットUi,j-1から入力される更新トリガI_topが真値(True)であるか否かを判定する。更新トリガI_topが真値(True)の場合には、ステップS28において、位相状態値θi,j r,θi,j iに、それぞれ、-G2yθi,j r,-Giyθi,j iを加えて更新をし、次のステップS29に移行する。これは、式(18c)の累算括弧内の右辺第8項の更新項及び式(18d)の累算括弧内の右辺第4項の更新項の演算に相当する。また、更新トリガI_topが偽値(False)の場合には、自己更新は行わず、次のステップS37,S39に移行する。
(3-9)下隣接節点の虚部の発火による更新演算
 ステップS29において、実部節点ユニット7及び虚部節点ユニット8の位相更新手段65は、下側の隣接節点ユニットUi,j+1から入力される更新トリガI_bottomが真値(True)であるか否かを判定する。更新トリガI_bottomが真値(True)の場合には、ステップS30において、位相状態値θi,j r,θi,j iに、それぞれ、+G2yθi,j r,-G1yθi,j iを加えて更新をし、次のステップS31に移行する。これは、式(18c)の累算括弧内の右辺第9項の更新項及び式(18d)の累算括弧内の右辺第5項の更新項の演算に相当する。また、更新トリガI_bottomが偽値(False)の場合には、自己更新は行わず、次のステップS37,S39に移行する。
(3-10)実部の自己発火の判定と更新パルスの出力
 ステップS31において、実部節点ユニット7のトリガ発生手段64は、自己の位相状態値θi,j rが零位相状態値θmiddleを過ぎったか否かを判定する。すなわち、前時刻の位相状態値θi,j r(0)が零位相状態値θmiddleより小さく、現時刻の位相状態値θi,j rが零位相状態値θmiddle以上であるか否かを判定する。零位相状態値θmiddleを過ぎった場合には、ステップS32において、トリガ発生手段64は、左右上下に隣接する隣接節点ユニットUi-1,j,Ui+1,j,Ui,j-1,Ui,j+1に対して、更新トリガR_OUT_left,R_OUT_right,R_OUT_top,R_OUT_bottomを出力し(これらの値をTrueとし)、次のステップS34に移行する。一方、位相状態値θi,j rが零位相状態値θmiddleを過ぎっていない場合には、ステップS33において、更新トリガR_OUT_left,R_OUT_right,R_OUT_top,R_OUT_bottomの値をFalseとし、次のステップS37,S39に移行する。
(3-11)虚部の自己発火の判定と更新パルスの出力
 ステップS34において、虚部節点ユニット8のトリガ発生手段64は、自己の位相状態値θi,j iが零位相状態値θmiddleを過ぎったか否かを判定する。すなわち、前時刻の位相状態値θi,j i(0)が零位相状態値θmiddleより小さく、現時刻の位相状態値θi,j iが零位相状態値θmiddle以上であるか否かを判定する。零位相状態値θmiddleを過ぎった場合には、ステップS35において、トリガ発生手段64は、左右上下に隣接する隣接節点ユニットUi-1,j,Ui+1,j,Ui,j-1,Ui,j+1に対して、更新トリガI_OUT_left,I_OUT_right,I_OUT_top,I_OUT_bottomを出力し(これらの値をTrueとし)、次のステップS37に移行する。一方、位相状態値θi,j iが零位相状態値θmiddleを過ぎっていない場合には、ステップS36において、更新トリガI_OUT_left,I_OUT_right,I_OUT_top,I_OUT_bottomの値をFalseとし、次のステップS37,S39に移行する。
(4)状態値のリセット処理
 次に、以下の(4-1),(4-2)の処理が並列に実行される。
(4-1)実部位相状態値のリセット
 ステップS37において、実部節点ユニット7の位相復位手段63は、自己の位相状態値θi,j が最大値θmaxを越えたか否かを検査し、θi,j >θmaxの場合には、ステップS38において、θi,j をリセットして(尚、この場合、発火更新に伴う位相ずれ量も保存するため、θi,j =θminではなくθi,j =θi,j -(θmax-θmin)としてある)、次のステップS39に移行し、そうでない場合にはそのまま位相状態値の更新処理を終了する。
(4-2)虚部位相状態値のリセット
 ステップS39において、虚部節点ユニット8の位相復位手段63は、自己の位相状態値θi,j が最大値θmaxを越えたか否かを検査し、θi,j >θmaxの場合には、ステップS40において、θi,j をリセットして(尚、この場合、発火更新に伴う位相ずれ量も保存するため、θi,j =θminではなくθi,j =θi,j -(θmax-θmin)としてある)、位相状態値の更新処理を終了し、そうでない場合にはそのまま位相状態値の更新処理を終了する。
 以上のような動作により、本実施例5の情報処理装置は、式(18a)~(18d)に示したようなガボール型フィルタ演算を実行することができる。
 尚、本実施例5の情報処理装置は、デジタル回路で構成されるため、回路そのものとして構成することもできるが、プログラマブル論理デバイス(PLD)の再構成プログラムとして提供し、このプログラムに基づきPLDを再構成することにより構成することも可能である。
 実施例6では、本発明に係る情報処理装置を、ガボール型フィルタ以外のセルラー構造ネットワーク演算に適用した例について説明する。ここでは、一例として、大局的画像領域分割(coarse image region segmentation)を行うための領域ベース結合マルコフ確率場モデル(region-based coupled Markov Random Field model:以下「領域ベース結合MRFモデル」という。)を実現するフィルタに適用した例を示す。
〔1〕領域ベース結合MRFモデル
 最初に、領域ベース結合MRFモデルについて簡単に説明する。従来、大局的画像領域分割を行う画像処理モデルとして、結合MRFモデルが提案されている(非特許文献4参照)。結合MRFモデルでは、画素に対応する素子間の相互作用を適応的に変化させることにより、画像の平滑化とエッジ強調とを同時に行うことができる。素子間の相互作用は隠れ変数(hidden variable)によって決定される。
 領域ベース結合MRFモデルでは、隠れ変数はラベル過程(label process)として表される。各ラベルは画素に1対1対応しており、ラベルそのもので領域を取り出すことができる。しかしながら、領域ベースモデルは、収束の過程で局所平衡状態に陥りやすいという欠点がある。そこで、この問題を克服するため、隠れ変数に位相を導入したモデルが提案されている(非特許文献4,93頁)。
 図34は、1次元の領域ベース結合MRFのニューラル・ネットワーク・モデルを示す図である。領域ベース結合MRFモデルは、図34に示すように、強度過程(intensity process)とラベル過程(label process)とが相互に結合した構造を採用している。そして、相互作用は、隣接ピクセルとの状態値の差を用いて表現される。
 領域ベース結合MRFモデルにおけるエネルギー関数(コスト関数)E(f,φ|d)は、次式のように定義される(非特許文献4,5参照)。
Figure JPOXMLDOC01-appb-M000021
 ここで、d(i=1,…,N:Nは画素数)はi段目の節点(画素)の入力値である。強度値fはdに対応する推定値であり、「強度過程」と呼ばれる。位相変数φはi段目の節点(画素)に対応する隠れ変数としての位相(スパイク・ニューロン回路20における「位相」との用語の混乱を避けるため、以下では「ラベル位相」とよぶ。)であり、「ラベル過程」と呼ばれる。領域ベース結合MRFモデルでは、φは強度過程fの領域を表す。このラベル位相変数φは、対応する強度値f及び隣接節点のラベル位相変数φと互いに制御し合う。λ,Jは、それぞれ式(19a)の右辺第2項,第3項の影響を調整するためのパラメータ(定数)である。なお、式(19a)のiに関する和は画像内のすべての画素に対してとられ、jに関する和は注目画素iに隣接するすべての画素に対してとられる。
 式(19a)の第1項は、データフィッティング項を表し、fをdに近づけるように作用する項である。第2項は強度過程の滑らかさを表す項である。この第2項は、隣接する節点は同じ強度値をとる傾向(滑らかさ)があるという経験的仮定に基づいて導入されている。滑らかさは、ラベル位相差Δφj,iにより制御される。Δφj,iが0近傍のとき、注目画素と隣接画素は同一の領域にあることを表し、第2項(滑らかさの拘束条件)は有効となる。従って、同一の領域内では強度変化は滑らかとなる方向に制御される。一方、Δφj,iがπ近傍のとき、注目画素と隣接画素は異なる領域にあることを表し、第2項(滑らかさの拘束条件)は無効となる。従って、異なる領域では強度変化は不連続となる方向に制御される。第3項は、ラベル位相変数φがcos(Δφj,i)=-1となるのを抑制する項である。この第3項は、画像内には領域がそれほど多くは存在しないという経験的仮定に基づいて導入されている。ラベル過程における領域数は、第3項によって増大が抑制される。
 式(19a)のエネルギー関数E(f,φ|d)が最小となるような{f,φ}の組み合わせが求めるべき推定値である。そこで、この推定値{f,φ}を、最急降下法を用いて逐次的に求める。この場合、(f,φ)の更新式は次のようになる。
Figure JPOXMLDOC01-appb-M000022
 ここで、ε,εφは更新定数であり、適当な微小値に設定される。
 このモデルの大局的領域分割としての性能を向上させるため、および回路化に適したものとするために、非特許文献6に従って近似を行うと、(f,φ)の更新式(20a),(20b)は、次式(21a),(21b)のように表される。
Figure JPOXMLDOC01-appb-M000023
 ここで、h,hφは更新量を調整するための定数である。関数A(Δfj,i)は次式(22a)で表され、関数B(Δfj,i)は次式(22b)により表される。図35(a),(b)に関数A(Δfj,i),B(Δfj,i)を示す。
Figure JPOXMLDOC01-appb-M000024
ここで、Qは、平滑化とエッジ強調とを切り替える閾値を決める制御パラメータであり、√(2J/λ)の代わりに導入したものである。
 また、関数S(Δφj,i)は式(23a)で表され、関数C(Δφj,i)は式(23b)で表される。図35(c),(d)に関数S(Δφj,i),C(Δφj,i)を示す。
Figure JPOXMLDOC01-appb-M000025
ここで、α,βは更新量が0となる幅を表すパラメータであり、区間α,βは収束点及び発散点の周りに設定される。これにより、更新が収束点を飛び越えて動作が不安定になることが防止される。
 以上に説明したような領域ベース結合MRFモデルに基づきセルラー構造ネットワーク演算を行うための装置を、本発明に係る情報処理装置により実現する。そこで、次に、上記式(21a),(21b)を、さらに本発明に係る情報処理装置に基づく回路実装に適した形となるように変形する。
〔2〕スパイク駆動方式セルラー構造ネットワーク回路による演算式
 実施例1の場合と同様に、本発明の情報処理装置が採用するスパイク駆動方式セルラー構造ネットワーク回路への実装するために、まず、節点iの状態値(f,φ)を位相(θ,ξ)の位相差を用いて、次式のように表現する。
Figure JPOXMLDOC01-appb-M000026
 ここで、θ(t),ξ(t)は周期Tの基準位相であり、式(6b)と同様に次式で表される。
Figure JPOXMLDOC01-appb-M000027
 また、θ(t),ξ(t)は、節点iにおける強度過程,ラベル過程の位相である。mod演算による位相のリセットがされない区間(連続区間)において、各節点の位相(θ,ξ)の更新が行われない限り位相差θ(t)-θ(t),ξ(t)-ξ(t)は一定値を保つので、当該連続区間内においてはθ(t)-θ(t),ξ(t)-ξ(t)は時間シフトに対して不変である。そこで、状態の更新を基準位相の周期Tごとに行うこととし、更新時間を離散化する。θ(t+T)=θ(t),ξ(t+T)=ξ(t)であることを考慮して、式(21a),(21b)を次式のように書き直す。
Figure JPOXMLDOC01-appb-M000028
 さらに、連続区間内において更新時刻はシフト可能であるので、前述のガボール・フィルタの場合と同様(式(9)参照)、更新時刻を非同期化し、ξ(t)=0となる時刻tにおいて位相(θ,ξ)の更新を行うこととする。これにより、式(26a),(26b)は次のように書き直される。
Figure JPOXMLDOC01-appb-M000029
 さらに、関数A(θ(t)-θ(t)),B(θ(t)-θ(t))の確定時刻は関数C(t),S(t)の確定時刻とは独立に決めることができるので、θ(t)=0となる時刻tにおいて関数A(θ(t)-θ(t)),B(θ(t)-θ(t))の値の確定を行うこととする。これにより、式(27a),(27b)は次のように書き直される。
Figure JPOXMLDOC01-appb-M000030
 以下、この更新式(28a),(28b)を用いて情報処理装置を具体的に構成する。
〔3〕情報処理装置の構成
〔3-1〕全体構成
 本発明の実施例6に係る情報処理装置の全体構成は、図1と同様である。図36は、実施例6のおける節点ユニットネットワーク2の構成を示す図である。図36において、節点ユニット6、ピクセル・アレイ13、列セレクタ14、及びドライバ16については、図2と同様であり、同符号を付して説明は省略する。本実施例の場合、図2の場合と異なり係数Gを入力する必要がないため、ドライバ15が省略された点で図2と相違している。尚、ピクセル・アレイ13の内部構成については、図3と同様の構成である。各節点ユニット6は、図3に示すように、上下左右に隣接する4つの節点ユニット6と互いに結合されている。以下、m行n列目の節点ユニット6を、「節点ユニットUm,n」と呼ぶことにする。
〔3-2〕各節点ユニットの機能構成
 具体的な各節点ユニット6の回路構成の説明に入る前に、理解を容易にするために、まず、図36の各節点ユニット6の機能構成について説明する。尚、以下では、2次元の座標を明示する必要がある場合には、節点を特定するインデックスi,jの代わりにインデックス(m,n),(m±1,n±1)を適宜使用する。
 式(26b)の関数A(θj-θi)は、図35(a)に示したように偶関数である。従って、A(θj-θi)=A(θi-θj)であるので、A(θ-θ)は、左右に隣接する節点対の何れかで1回、上下に隣接する節点対の何れかで1回計算すれば、その計算値をそれら節点対で共有することができる。同様に、式(26a)の関数B(θ-θ)は、図35(b)に示したように奇関数である。従って、B(θ-θ)=-B(θ-θ)であるので、B(θ-θ)は、左右に隣接する節点対の何れかで1回、上下に隣接する節点対の何れかで1回計算すれば、その計算値をそれら節点対で共有することができる。
 また、式(25a)より、θ(t)=0となる時刻tを用いて、連続区間内におけるθ(t)は次式のように表される。
Figure JPOXMLDOC01-appb-M000031
 従って、関数Aが偶関数であること(図35(a)参照)を考慮すると、式(28b)の関数値A(θ(t))は、次式(30)のように表すことができる。
Figure JPOXMLDOC01-appb-M000032
 従って、時刻tを基準時刻として、次式(31)のような時間関数A(t)を発生させ、t=tの時点でのその関数値をとることによりA(θ(t))を得ることができる。
Figure JPOXMLDOC01-appb-M000033
 この操作を、図を用いて説明すると次の通りである。図37(a)は、時間関数A(t)を示す図である。図37では、簡単のため時間tを位相速度ωで規格化して(すなわちω=1として)示してある。例えば、時刻t=tを基準時刻として、時刻t=t-T/2のトリガによって時間関数A(t-(t-T/2))の進行を開始する。そして、t=tのトリガにより、その時点に於ける関数Aの値A(t-t+T/2)をホールドすれば、この値が関数値A(θ(t))となる。
 同様に、式(28a)の関数B(θ(t))も、関数Bが奇関数であること(図35(b)参照)を考慮して次式(32a)により表されるので、時刻tを基準として、次式(32b)のような時間関数B(t)を発生させ、t=tの時点でのその関数値をとることによりB(θ(t))を得ることができる。式(32b)の時間関数B(t)を図37(b)に示す。
Figure JPOXMLDOC01-appb-M000034
 同様に、式(28b)の関数S(ξ(t))は、関数Sが奇関数であること(図35(c)参照)を考慮して次式(33a)により表されるので、ξ(t)=0となる時刻tを基準として、次式(33b)のような時間関数S(t)を発生させ、t=tの時点でのその関数値をとることによりS(ξ(t))を得ることができる。
Figure JPOXMLDOC01-appb-M000035
 式(33b)の時間関数S(t)を図37(c)に示す。尚、式(33b)は定義域を[-T/2≦ω(t-t)≦T/2]としているが、図37(c)は定義域を[0≦t-t≦2T]にシフトしている。また、S(t)の正値部分S(t)と負値部分S(t)とに分けて、S(t)=S(t)-S(t)とし、図37(c)ではS(t),S(t)を示している。
 同様に、式(28a)の関数C(ξ(t))は、関数Cが偶関数であること(図35(d)参照)を考慮して次式(34a)により表されるので、時刻tを基準として、次式(34b)のような時間関数C(t)を発生させ、t=tの時点でのその関数値をとることによりC(ξ(t))を得ることができる。これを、図37(d)に示す。
Figure JPOXMLDOC01-appb-M000036
 以上のことを踏まえて、式(28a),(28b)で表される更新演算を実現するための各節点ユニット6を構成した場合の機能構成図を、図38に示す。ここで、図38に示した節点ユニット6に対応する節点の座標は(m,n)であるものとする。
 図38において、節点ユニット6は、強度過程節点ユニット7’とラベル過程節点ユニット8’とを備えており、これらは、それぞれ図4の実部節点ユニット7,虚部節点ユニット8に対応している。また、強度過程節点ユニット7’及びラベル過程節点ユニット8’は、それぞれ、スパイク・ニューロン回路20i,20l及び状態値更新回路27i,27lを備えており、これらは図4のスパイク・ニューロン回路20及び状態値更新回路27に対応している。
 強度過程節点ユニット7’は、他に、A関数演算回路71a,71b、B関数演算回路72a,72b、及びB・C関数演算回路73a,73b,73c,73dを備えており、状態値更新回路27iは、各B・C関数演算回路73a,73b,73c,73dに対応してパルス更新回路74a,74b,74c,74dを備えている。
 ラベル過程節点ユニット8’は、他に、C関数演算回路75、S関数演算回路76、及びA・S関数演算回路77a,77b,77c,77dを備えており、状態値更新回路27lは、各A・S関数演算回路77a,77b,77c,77dに対応してパルス更新回路78a,78b,78c,78dを備えている。
 スパイク・ニューロン回路20iは、節点(m,n)の強度過程の位相θm,n(t)を保持するとともに、一定の位相速度ωで式(25a)に従って進行させる。そして、θm,n(t)=0となる時刻tm,nθにスパイク・パルスを出力する。従って、θm,n(t)の更新がなければ、スパイク・ニューロン回路20iは一定の周期Tでスパイク・パルスを出力することになる。スパイク・パルスの時間位置tm,nθは、節点(m,n)の強度過程の状態値(基準位相θとの位相差)を表す。そして、このスパイク・パルス(tm,nθ)は、隣接する各節点の節点ユニット6に対しても出力される。
 スパイク・ニューロン回路20lは、節点(m,n)のラベル過程の位相ξm,n(t)を保持するとともに、一定の位相速度ωで式(25a)に従って進行させる。そして、ξm,n(t)=0となる時刻tm,nξにスパイク・パルスを出力する。従って、ξm,n(t)の更新がなければ、スパイク・ニューロン回路20lは一定の周期Tでスパイク・パルスを出力することになる。スパイク・パルスの時間位置tm,nξは、節点(m,n)のラベル過程の状態値(基準位相ξとの位相差)を表す。そして、このスパイク・パルス(tm,nξ)は、隣接する各節点の節点ユニット6に対しても出力される。
 A関数演算回路71a,71bは、それぞれ、式(28b)の項A(θ(t))を計算する。A関数演算回路71aには、自己節点(m,n)のスパイク・パルス(tm,nθ)と右隣接節点(m+1,n)のスパイク・パルス(tm+1,nθ)が入力され、式(30)によりA(θm+1,n(tm,nθ))が演算されて内部のレジスタに保持されるとともに、A・S関数演算回路77b及び右隣接節点(m+1,n)に対し出力される。A関数演算回路71bには、自己節点(m,n)のスパイク・パルス(tm,nθ)と下隣接節点(m,n+1)のスパイク・パルス(tm,n+1θ)が入力され、式(30)によりA(θm,n+1(tm,nθ))が演算されて内部のレジスタに保持されるとともに、A・S関数演算回路77d及び下隣接節点(m,n+1)に対し出力される。
 B関数演算回路72a,72bは、それぞれ、式(28a)の項B(θ(t))を計算する。B関数演算回路72aには、自己節点(m,n)のスパイク・パルス(tm,nθ)と右隣接節点(m+1,n)のスパイク・パルス(tm+1,nθ)が入力され、式(32a)によりB(θm+1,n(tm,nθ))が演算されて内部のレジスタに保持されるとともに、B・C関数演算回路73b及び右隣接節点(m+1,n)に対し出力される。B関数演算回路72bには、自己節点(m,n)のスパイク・パルス(tm,nθ)と下隣接節点(m,n+1)のスパイク・パルス(tm,n+1θ)が入力され、式(32a)によりB(θm,n+1(tm,nθ))が演算されて内部のレジスタに保持されるとともに、B・C関数演算回路73d及び下隣接節点(m,n+1)に対し出力される。
 C関数演算回路75は、式(28a)の関数Cを出力する。C関数演算回路75には、自己節点(m,n)のスパイク・パルス(tm,nξ)より半周期前にシフトしたパルス、すなわち、ξm,n(t)のリセット時に発生するリセットパルス(tm,nξ-T/2)が入力される。リセットパルス(tm,nξ-T/2)が入力されると、C関数演算回路75は式(34b)により定義された関数C(ω(t-tm,nξ))をB・C関数演算回路73a,73b,73c,73dに対して出力する。
 S関数演算回路76は、式(28b)の関数Sを出力する。S関数演算回路76には、自己節点(m,n)のスパイク・パルス(tm,nξ)及びリセットパルス(tm,nξ-T/2)が入力される。リセットパルス(tm,nξ-T/2)が入力されると、S関数演算回路76は式(33b)により定義された関数S(ω(t-tm,nξ))をA・S関数演算回路77a,77b,77c,77dに対して出力する。
 B・C関数演算回路73a,73b,73c,73dは、それぞれ、積B(θm,n-1(tm,nθ))C(ω(t-tm,nξ)),B(θm+1,n(tm,nθ))C(ω(t-tm,nξ)),B(θm-1,n(tm,nθ))C(ω(t-tm,nξ)),B(θm,n+1(tm,nθ))C(ω(t-tm,nξ))を演算し、パルス更新回路74a,74b,74c,74dへ出力する。各B・C関数演算回路73a,73b,73c,73dには、C関数演算回路75から共通に関数C(ω(t-tm,nξ))が入力される。また、B・C関数演算回路73aには、上隣接節点(m,n-1)の節点ユニット6から関数値B(θm,n-1(tm,nθ))が入力され、これと関数C(ω(t-tm,nξ))の積をパルス更新回路74aへ出力する。B・C関数演算回路73bには、自己節点(m,n)のB関数演算回路72aから関数値B(θm+1,n(tm,nθ))が入力され、これと関数C(ω(t-tm,nξ))の積をパルス更新回路74bへ出力する。B・C関数演算回路73cには、左隣接節点(m-1,n)の節点ユニット6から関数値B(θm-1,n(tm,nθ))が入力され、これと関数C(ω(t-tm,nξ))の積をパルス更新回路74cへ出力する。B・C関数演算回路73dには、自己節点(m,n)のB関数演算回路72bから関数値B(θm,n+1(tm,nθ))が入力され、これと関数C(ω(t-tm,nξ))の積をパルス更新回路74dへ出力する。
 パルス更新回路74aには、B・C関数演算回路73aから積B(θm,n-1(tm,nθ))C(ω(t-tm,nξ))が入力されるとともに、上隣接節点(m,n-1)の節点ユニット6からスパイク・パルス(tm,n-1ξ)が入力される。これにより、時刻tm,n-1ξにおける関数値B(θm,n-1(tm,nθ))C(ω(tm,n-1ξ-tm,nξ))を算出し、この関数値によりスパイク・ニューロン回路20iの位相θm,n(t)を更新する。すなわち、式(28a)の和の演算を行う。
 パルス更新回路74bには、B・C関数演算回路73bから積B(θm+1,n(tm,nθ))C(ω(t-tm,nξ))が入力されるとともに、右隣接節点(m+1,n)の節点ユニット6からスパイク・パルス(tm+1,nξ)が入力される。これにより、時刻tm+1,nξにおける関数値B(θm+1,n(tm,nθ))C(ω(tm+1,nξ-tm,nξ))を算出し、この関数値によりスパイク・ニューロン回路20iの位相θm,n(t)を更新する。すなわち、式(28a)の和の演算を行う。
 パルス更新回路74cには、B・C関数演算回路73cから積B(θm-1,n(tm,nθ))C(ω(t-tm,nξ))が入力されるとともに、左隣接節点(m-1,n)の節点ユニット6からスパイク・パルス(tm-1,nξ)が入力される。これにより、時刻tm-1,nξにおける関数値B(θm-1,n(tm,nθ))C(ω(tm-1,nξ-tm,nξ))を算出し、この関数値によりスパイク・ニューロン回路20iの位相θm,n(t)を更新する。すなわち、式(28a)の和の演算を行う。
 パルス更新回路74dには、B・C関数演算回路73dから積B(θm,n+1(tm,nθ))C(ω(t-tm,nξ))が入力されるとともに、下隣接節点(m,n+1)の節点ユニット6からスパイク・パルス(tm,n+1ξ)が入力される。これにより、時刻tm,n+1ξにおける関数値B(θm,n+1(tm,nθ))C(ω(tm,n+1ξ-tm,nξ))を算出し、この関数値によりスパイク・ニューロン回路20iの位相θm,n(t)を更新する。すなわち、式(28a)の和の演算を行う。
 A・S関数演算回路77a,77b,77c,77dは、それぞれ、積A(θm,n-1(tm,nθ))S(ω(t-tm,nξ)),A(θm+1,n(tm,nθ))S(ω(t-tm,nξ)),A(θm-1,n(tm,nθ))S(ω(t-tm,nξ)),A(θm,n+1(tm,nθ))S(ω(t-tm,nξ))を演算し、パルス更新回路78a,78b,78c,78dへ出力する。各A・S関数演算回路77a,77b,77c,77dには、S関数演算回路76から共通に関数S(ω(t-tm,nξ))が入力される。また、A・S関数演算回路77aには、上隣接節点(m,n-1)の節点ユニット6から関数値A(θm,n-1(tm,nθ))が入力され、これと関数S(ω(t-tm,nξ))の積をパルス更新回路78aへ出力する。A・S関数演算回路77bには、自己節点(m,n)のA関数演算回路71aから関数値A(θm+1,n(tm,nθ))が入力され、これと関数S(ω(t-tm,nξ))の積をパルス更新回路78bへ出力する。A・S関数演算回路77cには、左隣接節点(m-1,n)の節点ユニット6から関数値A(θm-1,n(tm,nθ))が入力され、これと関数S(ω(t-tm,nξ))の積をパルス更新回路78cへ出力する。A・S関数演算回路77dには、自己節点(m,n)のA関数演算回路71bから関数値A(θm,n+1(tm,nθ))が入力され、これと関数S(ω(t-tm,nξ))の積をパルス更新回路78dへ出力する。
 パルス更新回路78aには、A・S関数演算回路77aから積A(θm,n-1(tm,nθ))S(ω(t-tm,nξ))が入力されるとともに、上隣接節点(m,n-1)の節点ユニット6からスパイク・パルス(tm,n-1ξ)が入力される。これにより、時刻tm,n-1ξにおける関数値A(θm,n-1(tm,nθ))S(ω(tm,n-1ξ-tm,nξ))を算出し、この関数値によりスパイク・ニューロン回路20lの位相ξm,n(t)を更新する。すなわち、式(28b)の和の演算を行う。
 パルス更新回路78bには、A・S関数演算回路77bから積A(θm+1,n(tm,nθ))S(ω(t-tm,nξ))が入力されるとともに、右隣接節点(m+1,n)の節点ユニット6からスパイク・パルス(tm+1,nξ)が入力される。これにより、時刻tm+1,nξにおける関数値A(θm+1,n(tm,nθ))S(ω(tm+1,nξ-tm,nξ))を算出し、この関数値によりスパイク・ニューロン回路20lの位相ξm,n(t)を更新する。すなわち、式(28b)の和の演算を行う。
 パルス更新回路78cには、A・S関数演算回路77cから積A(θm-1,n(tm,nθ))S(ω(t-tm,nξ))が入力されるとともに、左隣接節点(m-1,n)の節点ユニット6からスパイク・パルス(tm-1,nξ)が入力される。これにより、時刻tm-1,nξにおける関数値A(θm-1,n(tm,nθ))S(ω(tm-1,nξ-tm,nξ))を算出し、この関数値によりスパイク・ニューロン回路20lの位相ξm,n(t)を更新する。すなわち、式(28b)の和の演算を行う。
 パルス更新回路78dには、A・S関数演算回路77dから積A(θm,n+1(tm,nθ))S(ω(t-tm,nξ))が入力されるとともに、下隣接節点(m,n+1)の節点ユニット6からスパイク・パルス(tm,n+1ξ)が入力される。これにより、時刻tm,n+1ξにおける関数値A(θm,n+1(tm,nθ))S(ω(tm,n+1ξ-tm,nξ))を算出し、この関数値によりスパイク・ニューロン回路20lの位相ξm,n(t)を更新する。すなわち、式(28b)の和の演算を行う。
 以上のようにして、節点ユニット6における式(28a),(28b)の更新演算が実行される。次に、図38を具体的に回路により構成した例について説明する。
〔3-3〕各節点ユニット6の回路構成
 図39は、図38の節点ユニット6の回路ブロック図である。図39において、列選択信号線9、及び初期値入力線10については、図4と同様であり、説明は省略する。また、強度過程節点ユニット7’及びラベル過程節点ユニット8’は、それぞれ図38の同符号の構成部分に対応している。本実施例に於ける節点ユニット6は、強度過程節点ユニット7’が図4の実部節点ユニット7に対応し、ラベル過程節点ユニット8’が図4の虚部節点ユニット8に対応しており、これらに対応して、図4の実部外部出力線11に対応する実部外部出力線11’、及び図4の虚部外部出力線12に対応するラベル過程外部出力線12’を備えている。
 本実施例においては、各節点ユニットUm,nには、隣接する各節点ユニットUm',n'(m'=m-1,m+1; n'=n-1,n+1)から、表3のようなパルスが入力される。表3において、「隣接節点方位」欄は、注目する節点ユニットUm,nに対し信号を出力する隣接節点ユニットUm',n'の方位(節点ユニットUm,nから見た方位)である。例えば、「上」は隣接節点ユニットUm-1,nを指す。「隣接節点種類」欄は、信号を出力する隣接節点ユニットUm',n'の種類(「強度過程節点ユニット7’」又は「ラベル過程節点ユニット8’」)を表す。
 また、各節点ユニットUm,nからは、隣接する各節点ユニットUm',n'(m'=m-1,m+1; n'=n-1,n+1)に対し、表4のようなパルスが出力される。
 さらに、各節点ユニットUm,nでは、その内部の強度過程節点ユニット7’とラベル過程節点ユニット8’との間で、表5のようなパルスの入出力が行われる。
 ここで、表3~表5の各パルスの記号法について説明すると、「A」,「B」は、それぞれ、式(22a),(22b)の関数A(Δfn,m),B(Δfn,m)の演算結果に対応するパルスであることを意味する。「C」は、式(23b)の関数C(Δφn,m)の演算結果に対応するパルスであることを意味する。「Spike」はスパイク・パルスであることを意味し、「Comp」はスパイク・パルスに変換されていないコンパレータ出力(発火終了信号)であることを意味する。「left」,「right」,「top」,「bottom」はトリガパルスが入力される隣接方向を表す。「int」,「label」は、それぞれ、強度過程節点ユニット7’の出力f,ラベル過程節点ユニット8’の出力φであることを表す。
Figure JPOXMLDOC01-appb-T000037
Figure JPOXMLDOC01-appb-T000038
Figure JPOXMLDOC01-appb-T000039
〔3-4〕強度過程節点ユニット7’の回路構成
 図40は、強度過程節点ユニット7’の内部構成を表すブロック図である。図40において、列選択信号線9、初期値入力線10、強度過程外部出力線11’は、図36の同符号のものにそれぞれ対応している。また、図40の回路の構成部分において、図38の構成部分と対応するものについては、同符号が付されている。
 この強度過程節点ユニット7’は、スパイク・ニューロン回路20i、状態値更新回路27i、2つのA関数演算回路71a,71b、2つのB関数演算回路72a,72b、4つのB・C関数演算回路73a,73b,73c,73d、及び列選択スイッチ28,29を備えている。また、状態値更新回路27iは、B・C関数演算回路73a,73b,73c,73dのそれぞれに1対1対応して、パルス更新回路74a,74b,74c,74dを備えている。
 ここで、列選択スイッチ28,29は、図5の同符号のものに対応している。また、スパイク・ニューロン回路20i、状態値更新回路27iは、それぞれ、図5のスパイク・ニューロン回路20、状態値更新回路27に相当するものである。
 実施例1の場合と同様、スパイク・ニューロン回路20iは、強度過程節点ユニット7’に固有の位相状態値を保持する位相状態値保持手段として機能するとともに、位相状態値保持手段が保持する位相状態値を一定の位相速度ωで経時的に変化させる位相進行手段、位相状態値保持手段が保持する位相状態値が最大位相状態値に達したときに、位相状態値を最小位相状態値にリセットする位相復位手段、及び位相状態値が零位相状態値を過ぎたときに発火して更新トリガを出力するトリガ発生手段として機能する。
 後述するように、スパイク・ニューロン回路20iは、内部に位相状態値保持用キャパシタCを備え、節点(m,n)の強度過程に於ける位相θm,n(t)を電荷量Q(t)=C(t)として保持する。従って位相θm,n(t)の値は、位相状態値保持用キャパシタCの端子間電圧V(t)として取り出される。定常状態においては、位相θm,n(t)は一定の位相速度ωで式(25a)に従って常時進行するように構成されている。
 スパイク・ニューロン回路20iには、列選択スイッチ28を介して初期値入力線10から強度の初期値が入力される。列選択スイッチ28は、列選択信号column_selectorがHレベルのときに閉路し、強度値f(m,n)の初期値d(m,n)(画素値)がPWM信号としてスパイク・ニューロン回路20iへ入力される。また、スパイク・ニューロン回路20iの位相状態値保持用キャパシタCには、各パルス更新回路74a,74b,74c,74dが出力する状態値更新電流が入力される。
 スパイク・ニューロン回路20iは、位相θm,n(t)が0を過ぎったときに発火する。スパイク・ニューロン回路20iは、発火したときにスパイク・パルスspike_intを出力し、このスパイク・パルスspike_intは左側及び上側に隣接する節点ユニットUm-1,n,Um,n-1へ出力される(図38,図39,表4参照)とともに、各A関数演算回路71a,71b及び各B関数演算回路72a,72bへ入力される。また、このスパイク・パルスspike_intは、セルラー構造ネットワーク演算が終了したときに、列選択スイッチ29を介して強度過程外部出力線11’へ出力される。列選択スイッチ29は、列選択信号column_selectorがHレベルのときに閉路し、スパイク・パルスspike_intが強度過程外部出力線11’へ出力される。
 また、スパイク・ニューロン回路20iは、位相θm,n(t)が0以上のときにHレベルとなり、0未満のときにLレベルとなる発火終了信号comp_intを出力する。この発火終了信号comp_intは、上側及び左側に隣接する節点ユニットUm,n-1,Um-1,nへ出力されるとともに(図38,図39,表4参照)、各A関数演算回路71a,71b及び各B関数演算回路72a,72bへ入力される。
 A関数演算回路71a,71bは、式(30),(31)に示した時間関数A(t)の関数値A(θm+1,n(tm,nθ)),A(θm,n+1(tm,nθ))を演算するとともにその演算値を保持する回路である。A関数演算回路71a,71bには、ともにスパイク・ニューロン回路20が出力するスパイク・パルスspike_int及び発火終了信号comp_intが入力される。また、A関数演算回路71aには、右隣接の節点ユニットUm+1,nが出力するスパイク・パルスspike_int_right(tm+1,nθ)及び発火終了信号comp_int_rightが入力され、A関数演算回路71bには、下隣接の節点ユニットUm,n+1が出力するスパイク・パルスspike_int_bottom(tm,n+1θ)及び発火終了信号comp_int_bottomが入力される。A関数演算回路71aは、自己節点ユニットUm,nの発火終了信号comp_intをトリガとして式(31)の時間関数A(t)を発生させ(この場合、図37(a)の波形の時刻t=tからスタートする)、スパイク・パルスspike_int_rightによって関数値A(θm+1,n(tm,nθ))を表す電圧A_rightをホールドするとともに、これを右隣接の節点ユニットUm+1,nに対して出力する。A関数演算回路71bは、自己節点ユニットUm,nの発火終了信号comp_intをトリガとして式(31)の時間関数A(t)を発生させ、スパイク・パルスspike_int_bottomによって関数値A(θm,n+1(tm,nθ))を表す電圧A_bottomをホールドするとともに、これを下隣接の節点ユニットUm,n+1に対して出力する。
 B関数演算回路72a,72bは、式(32a),(32b)に示した時間関数B(t)の関数値B(θm+1,n(tm,nθ)),B(θm,n+1(tm,nθ))を演算するとともにその演算値を保持する回路である。B関数演算回路72a,72bには、ともにスパイク・ニューロン回路20が出力するスパイク・パルスspike_int及び発火終了信号comp_intが入力される。また、B関数演算回路72aには、右隣接の節点ユニットUm+1,nが出力するスパイク・パルスspike_int_right(tm+1,nθ)及び発火終了信号comp_int_rightが入力され、B関数演算回路72bには、下隣接の節点ユニットUm,n+1が出力するスパイク・パルスspike_int_bottom(tm,n+1θ)及び発火終了信号comp_int_bottomが入力される。B関数演算回路72aは、自己節点ユニットUm,nの発火終了信号comp_intをトリガとして式(32b)の時間関数B(t)を発生させ(図37(b)参照)、スパイク・パルスspike_int_rightによって関数値B(θm+1,n(tm,nθ))を表す電圧B_rightをホールドするとともに、これを右隣接の節点ユニットUm+1,nに対して出力する。B関数演算回路72bは、自己節点ユニットUm,nの発火終了信号comp_intをトリガとして式(32b)の時間関数B(t)を発生させ、スパイク・パルスspike_int_bottomによって関数値B(θm,n+1(tm,nθ))を表す電圧B_bottomをホールドするとともに、これを下隣接の節点ユニットUm,n+1に対して出力する。
 B・C関数演算回路73a,73b,73c,73dは、式(34b)に示した時間関数C(t)と関数値Bとの積を演算する回路である。各B・C関数演算回路73a,73b,73c,73dには、ともに自己節点ユニットUm,nに属するラベル過程節点ユニット8’が出力する時間関数C(t-tm,nξ)が入力される。また、B・C関数演算回路73a,73cには、それぞれ、上側及び左側に隣接する節点ユニットUm,n-1,Um-1,nから入力される関数値B_top(B(θm,n-1(tm,nθ))),B_reft(B(θm-1,n(tm,nθ)))が入力され、B・C関数演算回路73a,73cには、それぞれ、B関数演算回路72a,72bが出力する関数値B_right(B(θm+1,n(tm,nθ))),B_bottom(B(θm,n+1(tm,nθ)))が入力される。時間関数C(t-tm,nξ)は、式(34b)で表される関数(ここでは、ω=1)であり、ラベル過程の位相ξm,n(t)が0となる時刻tを基準として、時間とともに図37(d)のように変化する。
 B・C関数演算回路73aは、時間変化する積関数C(t-tm,nξ)・B(θm,n-1(tm,nθ))の演算値をパルス更新回路74aに出力する。パルス更新回路74aには、前記積関数C(t-tm,nξ)・B(θm,n-1(tm,nθ))と、上隣接の節点ユニットUm,n-1のラベル過程節点ユニット8’が位相ξm,n-1(t)が0を過ぎる時刻tm,n-1ξに出力するスパイク・パルスspike_label_topとが入力される。パルス更新回路74aは、スパイク・パルスspike_label_topがHレベルの期間にC(tm,n-1ξ-tm,nξ)・B(θm,n-1(tm,nθ))の関数値に比例してスパイク・ニューロン回路20iの位相状態値保持用キャパシタCに電流を供給し、位相θm,n(t)の更新を行う。
 B・C関数演算回路73bは、時間変化する積関数C(t-tm,nξ)・B(θm+1,n(tm,nθ))の演算値をパルス更新回路74bに出力する。パルス更新回路74bには、前記積関数C(t-tm,nξ)・B(θm+1,n(tm,nθ))と、右隣接の節点ユニットUm+1,nのラベル過程節点ユニット8’が位相ξm+1,n(t)が0を過ぎる時刻tm+1,nξに出力するスパイク・パルスspike_label_rightとが入力される。パルス更新回路74bは、スパイク・パルスspike_label_rightがHレベルの期間にC(tm+1,nξ-tm,nξ)・B(θm+1,n(tm,nθ))の関数値に比例してスパイク・ニューロン回路20iの位相状態値保持用キャパシタCに電流を供給し、位相θm,n(t)の更新を行う。
 B・C関数演算回路73cは、時間変化する積関数C(t-tm,nξ)・B(θm-1,n(tm,nθ))の演算値をパルス更新回路74cに出力する。パルス更新回路74cには、前記積関数C(t-tm,nξ)・B(θm-1,n(tm,nθ))と、左隣接の節点ユニットUm-1,nのラベル過程節点ユニット8’が位相ξm-1,n(t)が0を過ぎる時刻tm-1,nξに出力するスパイク・パルスspike_label_leftとが入力される。パルス更新回路74cは、スパイク・パルスspike_label_leftがHレベルの期間にC(tm-1,nξ-tm,nξ)・B(θm-1,n(tm,nθ))の関数値に比例してスパイク・ニューロン回路20iの位相状態値保持用キャパシタCに電流を供給し、位相θm,n(t)の更新を行う。
 B・C関数演算回路73dは、時間変化する積関数C(t-tm,nξ)・B(θm,n+1(tm,nθ))の演算値をパルス更新回路74cに出力する。パルス更新回路74dには、前記積関数C(t-tm,nξ)・B(θm,n+1(tm,nθ))と、下隣接の節点ユニットUm,n+1のラベル過程節点ユニット8’が位相ξm,n+1(t)が0を過ぎる時刻tm,n+1ξに出力するスパイク・パルスspike_label_bottomとが入力される。パルス更新回路74dは、スパイク・パルスspike_label_bottomがHレベルの期間にC(tm,n+1ξ-tm,nξ)・B(θm,n+1(tm,nθ))の関数値に比例してスパイク・ニューロン回路20iの位相状態値保持用キャパシタCに電流を供給し、位相θm,n(t)の更新を行う。
〔3-5〕ラベル過程節点ユニット8’の回路構成
 図41は、ラベル過程節点ユニット8’の内部構成を表すブロック図である。図41において、列選択信号線9、初期値入力線10、ラベル過程外部出力線12’は、図36の同符号のものにそれぞれ対応している。また、図41の回路の構成部分において、図38の構成部分と対応するものについては、同符号が付されている。
 このラベル過程節点ユニット8’は、スパイク・ニューロン回路20l、状態値更新回路27l、C関数演算回路75、S関数演算回路76、4つのA・S関数演算回路77a,77b,77c,77d、及び列選択スイッチ28,29を備えている。また、状態値更新回路27lは、A・S関数演算回路77a,77b,77c,77dのそれぞれに1対1対応して、パルス更新回路78a,78b,78c,78dを備えている。
 ここで、列選択スイッチ28,29は、図5の同符号のものに対応している。また、スパイク・ニューロン回路20l、状態値更新回路27lは、それぞれ、図5のスパイク・ニューロン回路20、状態値更新回路27に相当するものである。
 実施例1の場合と同様、スパイク・ニューロン回路20lは、強度過程節点ユニット7’に固有の位相状態値を保持する位相状態値保持手段として機能するとともに、位相状態値保持手段が保持する位相状態値を一定の位相速度ωで経時的に変化させる位相進行手段、位相状態値保持手段が保持する位相状態値が最大位相状態値に達したときに、位相状態値を最小位相状態値にリセットする位相復位手段、及び位相状態値が零位相状態値を過ぎたときに発火して更新トリガを出力するトリガ発生手段として機能する。
 後述するように、スパイク・ニューロン回路20lは、内部に位相状態値保持用キャパシタCを備え、節点(m,n)のラベル過程に於ける位相ξm,n(t)を電荷量Q(t)=C(t)として保持する。従って位相ξm,n(t)の値は、位相状態値保持用キャパシタCの端子間電圧V(t)として取り出される。定常状態においては、位相ξm,n(t)は一定の位相速度ωで式(25a)に従って常時進行するように構成されている。
 スパイク・ニューロン回路20lには、列選択スイッチ28を介して初期値入力線10からラベル位相の初期値が入力される。列選択スイッチ28は、列選択信号column_selectorがHレベルのときに閉路し、ラベル値φ(m,n)の初期値πd(m,n)がPWM信号としてスパイク・ニューロン回路20lへ入力される。また、スパイク・ニューロン回路20lの位相状態値保持用キャパシタCには、各パルス更新回路78a,78b,78c,78dが出力する状態値更新電流が入力される。
 スパイク・ニューロン回路20lは、位相ξm,n(t)が0を過ぎったときに発火する。スパイク・ニューロン回路20lは、発火したときにスパイク・パルスspike_labelを出力し、このスパイク・パルスspike_labelは上下左右に隣接する節点ユニットUm,n-1,Um,n+1,Um-1,n,Um+1,nへ出力される(図38,図39,表4参照)とともに、S関数演算回路76へ入力される。また、このスパイク・パルスspike_labelは、セルラー構造ネットワーク演算が終了したときに、列選択スイッチ29を介してラベル過程外部出力線12’へ出力される。列選択スイッチ29は、列選択信号column_selectorがHレベルのときに閉路し、スパイク・パルスspike_labelがラベル過程外部出力線12’へ出力される。
 また、スパイク・ニューロン回路20lは、位相ξm,n(t)が0以上のときにHレベルとなり、0未満のときにLレベルとなる発火終了信号comp_labelを出力するとともに、位相ξm,n(t)がリセットされたときにスパイク・パルスspike_label_rstを出力する。発火終了信号comp_labelは、S関数演算回路76へ出力される。スパイク・パルスspike_label_rstは、C関数演算回路75及びS関数演算回路76へ出力される。
 C関数演算回路75は、式(34b)に示した時間関数C(t)を強度過程節点ユニット7’の各B・C関数演算回路73a,73b,73c,73dへ出力する。C関数演算回路75は、位相ξm,n(t)がリセットされる時刻tm,nξ-T/2に出力される前記スパイク・パルスspike_label_rstをトリガとして式(34b)の時間関数C(t-tm,nξ)を発生させる(図37(d)参照)。
 S関数演算回路76は、式(33b)に示した時間関数S(t)を各A・S関数演算回路77a,77b,77c,77dへ出力する。S関数演算回路76は、位相ξm,n(t)がリセットされる時刻tm,nξ-T/2に出力される前記スパイク・パルスspike_label_rstをトリガとして式(33b)の時間関数S(t-tm,nξ)を発生させる(図37(c)参照)。ここで、時間関数S(t-tm,nξ)は正値と負値とをとるので、S関数演算回路76は、図37(c)のように正値関数S_pと負値関数S_nの2つを出力する。
 A・S関数演算回路77a,77b,77c,77dは、式(33b)に示した時間関数S(t)と関数値Aとの積を演算する回路である。各A・S関数演算回路77a,77b,77c,77dには、ともにS関数演算回路76が出力する時間関数S(t-tm,nξ)が入力される。また、A・S関数演算回路77a,77cには、それぞれ、上側及び左側に隣接する節点ユニットUm,n-1,Um-1,nから入力される関数値A_top(A(θm,n-1(tm,nθ))),A_left(A(θm-1,n(tm,nθ)))が入力され、A・S関数演算回路77a,77cには、それぞれ、自己節点ユニットUm,nに属する強度過程節点ユニット7’のA関数演算回路71a,71bが出力する関数値A_right(A(θm+1,n(tm,nθ))),A_bottom(A(θm,n+1(tm,nθ)))が入力される。時間関数S(t-tm,nξ),S(t-tm,nξ)は、式(33b)で表される関数(ここでは、ω=1)の正値部分,負値部分であり、ラベル過程の位相ξm,n(t)が0となる時刻tを基準として、時間とともに図37(c)のように変化する。
 A・S関数演算回路77aは、時間変化する積関数A(θm,n-1(tm,nθ))・S(t-tm,nξ)の演算値をパルス更新回路78aに出力する。パルス更新回路78aには、前記積関数A(θm,n-1(tm,nθ))・S(t-tm,nξ)と、上隣接の節点ユニットUm,n-1のラベル過程節点ユニット8’が位相ξm,n-1(t)が0を過ぎる時刻tm,n-1ξに出力するスパイク・パルスspike_label_topとが入力される。パルス更新回路78aは、スパイク・パルスspike_label_topがHレベルの期間にA(θm,n-1(tm,nθ))・S(tm,n-1ξ-tm,nξ)の関数値に比例してスパイク・ニューロン回路20lの位相状態値保持用キャパシタCに電流を供給し、位相ξm,n(t)の更新を行う。
 A・S関数演算回路77bは、時間変化する積関数A(θm+1,n(tm,nθ))・S(t-tm,nξ)の演算値をパルス更新回路78bに出力する。パルス更新回路78bには、前記積関数A(θm+1,n(tm,nθ))・S(t-tm,nξ)と、右隣接の節点ユニットUm+1,nのラベル過程節点ユニット8’が位相ξm+1,n(t)が0を過ぎる時刻tm+1,nξに出力するスパイク・パルスspike_label_rightとが入力される。パルス更新回路78bは、スパイク・パルスspike_label_rightがHレベルの期間にA(θm+1,n(tm,nθ))・S(tm+1,nξ-tm,nξ)の関数値に比例してスパイク・ニューロン回路20lの位相状態値保持用キャパシタCに電流を供給し、位相ξm,n(t)の更新を行う。
 A・S関数演算回路77cは、時間変化する積関数A(θm-1,n(tm,nθ))・S(t-tm,nξ)の演算値をパルス更新回路78cに出力する。パルス更新回路78cには、前記積関数A(θm-1,n(tm,nθ))・S(t-tm,nξ)と、左隣接の節点ユニットUm-1,nのラベル過程節点ユニット8’が位相ξm-1,n(t)が0を過ぎる時刻tm-1,nξに出力するスパイク・パルスspike_label_leftとが入力される。パルス更新回路78cは、スパイク・パルスspike_label_leftがHレベルの期間にA(θm-1,n(tm,nθ))・S(tm-1,nξ-tm,nξ)の関数値に比例してスパイク・ニューロン回路20lの位相状態値保持用キャパシタCに電流を供給し、位相ξm,n(t)の更新を行う。
 A・S関数演算回路77dは、時間変化する積関数A(θm,n+1(tm,nθ))・S(t-tm,nξ)の演算値をパルス更新回路78dに出力する。パルス更新回路78dには、前記積関数A(θm,n+1(tm,nθ))・S(t-tm,nξ)と、下隣接の節点ユニットUm,n+1のラベル過程節点ユニット8’が位相ξm,n+1(t)が0を過ぎる時刻tm,n+1ξに出力するスパイク・パルスspike_label_bottomとが入力される。パルス更新回路78dは、スパイク・パルスspike_label_bottomがHレベルの期間にA(θm,n+1(tm,nθ))・S(tm,n+1ξ-tm,nξ)の関数値に比例してスパイク・ニューロン回路20lの位相状態値保持用キャパシタCに電流を供給し、位相ξm,n(t)の更新を行う。
〔3-6〕スパイク・ニューロン回路の回路構成
 図42は、ラベル過程節点ユニット8’におけるスパイク・ニューロン回路20lの構成例(a)及びその動作(b)を示す図である。尚、強度過程節点ユニット7’におけるスパイク・ニューロン回路20iも同様の構成である。図42に示したスパイク・ニューロン回路20lは、位相状態値保持用キャパシタC、2つの電流源I1,I2、2つのコンパレータCMP1,CMP2、2つのトリガパルス生成器PG1,PG2、及び3つのスイッチ回路S1,S2,S3を備えている。
 スパイク・ニューロン回路20lの構成及び動作は、基本的に図6に示したスパイク・ニューロン回路20の構成と同様であるため、詳細な説明は省略する。尚、発火終了信号comp_labelは、コンパレータCMP2の出力であり、図42(b)に示したように、位相ξm,n(t)が0となる時刻にHレベルに立ち上がり、位相ξm,n(t)がリセットされる時刻にLレベルに立ち下がる波形となる。
〔3-7〕A関数演算回路71a,71bの回路構成
 図43は、A関数演算回路71a,71bの構成例を示す回路図であり、図44は、図43のA関数演算回路71a,71bの動作例を示すタイムチャートである。図35(a)より、関数Aは正値(+1)又は負値(-1)の値をとる。図43の回路では、関数Aの値が正値の状態を出力AがHレベルの状態とし、関数Aの値が負値の状態を出力AがLレベルの状態とする。
 図43において、PG1,PG2はパルス生成器、RS-FFはRSフリップ・フロップ、M1はRS-FFのリセット・スイッチであるnMOSFETである。スパイク・パルスspike_int,発火終了信号comp_intは、自己節点ユニットUのスパイク・ニューロン回路20iが出力するスパイク・パルスspike_int,発火終了信号comp_intである(図40参照)。また、スパイク・パルスspike_int_j及び発火終了信号comp_int_jは、隣接節点ユニットUj(右隣接節点ユニットUm+1,n,下隣接節点ユニットUm,n+1)のスパイク・ニューロン回路20iが出力するスパイク・パルス(spike_int_right,spike_int_bottom)及び発火終了信号(comp_int_right,comp_int_bottom)である(図40参照)。以下、spike_int,comp_intの値をF,G、spike_int_j,comp_int_jの値をFj,Gjと記す。
 図44(a)に示したように、スパイク・パルスspike_int,spike_int_jは、節点ユニットU,Uの強度過程の位相状態値電圧Vfi,Vfjは零値電圧Vmiddleを過ぎった時点(すなわち、位相θ,θが0を過ぎった時点)で発生する短時間のパルスである。また、発火終了信号comp_int,comp_int_jは、スパイク・パルスspike_int,spike_int_jが発生した時点でHレベルに立ち上がり、位相状態値電圧Vfi,Vfjが最小値電圧Vlowにリセットされた時点でLレベルに立ち下がる。また、パルス生成器PG1,PG2は、それぞれ、スパイク・パルスspike_int,spike_int_jをトリガとして、パルス幅Q’(=T/2-Q)(図37参照)のパルスQ,Qを出力する。
 図43において、RS-FFのセット入力S及びリセット入力Rは、次式のように表される。
Figure JPOXMLDOC01-appb-M000040
ここで「∧」はAND演算子、「∨」はOR演算子である。
 また、パルスQ,Qは、スパイク・パルスspike_int,spike_int_jの発生時刻t,tにHレベルに立ち上がり、時刻t,tから時間Q’だけ経過した時点でLレベルに立ち下がる。すなわち、図44(b)に示したように、パルスQ,Qは時間関数A(t)のt>0の部分となる。
 従って、セット入力Sには節点ユニットU,Uのうち遅く発火した方の発火時点max(t, t)において、もう一方のパルスQ(k=argmin(t, t))がHレベルのとき(すなわち、max(t, t)-min(t, t)<Q'のとき)にパルスが出力され、RS-FFの出力がHレベルにセットされる。また、セット入力Rには節点ユニットU,Uのうち遅く発火した方の発火時点max(t, t)において、もう一方のパルスQ(k=argmin(t, t))がLレベルのとき(すなわち、max(t, t)-min(t, t)>Q'のとき)にパルスが出力され、RS-FFの出力がLレベルにリセットされる。これにより、A(θ(t))(=A(θ(t)))の値が設定され、その値はRS-FFに保持される。
〔3-8〕B関数演算回路72a,72bの回路構成
 図45は、B関数演算回路72a,72bの構成例を示す回路図であり、図46は、図45のB関数演算回路72a,72bの動作例を示すタイムチャートである。図35(b)より、関数Bは正値(+1)又は負値(-1)の値をとる。図45の回路では、関数Bの値が正値の状態を出力BがHレベルの状態とし、関数Bの値が負値の状態を出力BがLレベルの状態とする。
 図45において、RS-FFはRSフリップ・フロップ、M1はRS-FFのリセット・スイッチであるnMOSFETである。
 スパイク・パルスspike_int,spike_int_j及び発火終了信号comp_int,comp_int_jは、図43,図44の同符号のものと同様である。また、図43,図44と同様に、spike_int,comp_intの値をF,G、spike_int_j,comp_int_jの値をFj,Gjと記す。
 図45において、RS-FFのセット入力S及びリセット入力Rは、次式のように表される。
Figure JPOXMLDOC01-appb-M000041
 従って、節点ユニットUの発火時刻が節点ユニットUの発火時刻よりも遅い場合、セット入力Sには、節点ユニットU,Uの発火時刻t,tにスパイク・パルスが出力される。従って、最初のスパイク・パルスの時刻tにRS-FFの出力がHレベルにセットされる。逆に、節点ユニットUの発火時刻が節点ユニットUの発火時刻よりも早い場合、セット入力Rには、節点ユニットU,Uの発火時刻t,tにスパイク・パルスが出力される。従って、最初のスパイク・パルスの時刻tにRS-FFの出力がLレベルにリセットされる。すなわち、発火時刻t,tとRS-FFの出力の関係は図46(b),(c)に示したようになるので、RS-FFにはB(θj(t))(=B(θi(t)))の値が設定され、その値はRS-FFに保持される。
〔3-9〕C関数演算回路75及びS関数演算回路76の回路構成
 図47は、C関数演算回路75及びS関数演算回路76の構成例を示す回路図であり、図48は、図47のC関数演算回路75及びS関数演算回路76の動作例を示すタイムチャートである。
 図47において、スパイク・パルスspike_label_rstは、自己節点ユニットUのスパイク・ニューロン回路20lの位相状態値電圧V(t)(位相ξ(t))がリセットされた時刻に出力されるスパイク・パルスである。スパイク・パルスspike_labelは、位相状態値電圧V(t)が零値電圧Vmiddleを過ぎったときに出力されるスパイク・パルスである。また、パルスcomp_labelは、位相状態値電圧V(t)が零値電圧Vmiddleより小さいときにLレベル、大きいときにHレベルとなる。
 パルス生成器PG1は、入力されるスパイク・パルスが立ち上がったときに、時間幅βのパルスを出力する。パルス生成器PG2,PG3は、入力されるスパイク・パルスが立ち上がったときに、時間幅αのパルスを出力する。
 この回路により、C関数演算回路75は、図48のように、位相状態値電圧V(t)(位相ξ(t))がリセットされた時刻を起点として時間βだけHレベルとなり、その後Lレベルに立ち下がる。従って、C関数演算回路75からは、図37(d)の時間関数C(t-t)の反転値(負論理値)が出力される。
 また、S関数演算回路76は、図48のように、出力S_pは、位相状態値電圧V(t)が零値電圧Vmiddleを過ぎった時刻を起点として時間αだけ遅延しHレベルとなり、その後Lレベルに立ち下がる。また、出力S_nは、位相状態値電圧V(t)がリセットされた時刻を起点として時間αだけ遅延しHレベルとなり、その後Lレベルに立ち下がる。これにより、S関数演算回路76からは、図37(c)に示したような時間関数S(t-t)が出力される。
〔3-10〕A・S関数演算回路の回路構成
 図49は、図41のA・S関数演算回路77(A・S関数演算回路77a,77b,77c,77d)の回路構成を示す図である。入力信号は、A,S_p,S_nの3つである。入力信号Aは、関数値A(θj(t))が正値(+1)のときにHレベル、関数値A(θj(t))が負値(-1)のときにLレベルとなる。また、時間関数S(t-t)が正値(+1)のときには入力信号S_pがHレベルとなり、時間関数S(t-t)が負値(-1)のときには入力信号S_nがHレベルとなる。このA・S関数演算回路77は、入力信号A,S_p,S_nに対し、次式のような出力信号update_p,update_nを生成し、パルス更新回路78a,78b,78c,78dに出力する。尚、update_pは負論理(Lアクティブ)の信号である。
Figure JPOXMLDOC01-appb-M000042
 出力信号update_pはA(θj(t))・S(t-t)が正値(+1)をとる場合にアサートされる(Lレベルとなる)。また、出力信号update_nはA(θj(t))・S(t-t)が負値(-1)をとる場合にアサートされる(Hレベルとなる)。
〔3-11〕B・C関数演算回路の回路構成
 図50は、図40のB・C関数演算回路73(B・C関数演算回路73a,73b,73c,73d)の回路構成を示す図である。入力信号は、B,Cの2つである。
入力信号Bは、関数値B(θj(t))が正値(+1)のときにHレベル、関数値B(θj(t))が負値(-1)のときにLレベルとなる。また、入力信号Cは負論理信号であり、時間関数C(t-t)が正値(+1)のときにはLレベル、時間関数C(t-t)が0値のときにはHレベルとなる。このB・C関数演算回路73は、入力信号B,Cに対し、次式のような出力信号update_p,update_nを生成し、パルス更新回路74a,74b,74c,74dに出力する。尚、update_pは負論理(Lアクティブ)の信号である。
Figure JPOXMLDOC01-appb-M000043
 出力信号update_pはB(θj(t))・C(t-t)が正値(+1)をとる場合にアサートされる(Lレベルとなる)。また、出力信号update_nはB(θj(t))・C(t-t)が負値(-1)をとる場合にアサートされる(Hレベルとなる)。
〔3-12〕パルス更新回路の回路構成
 図51は、図40のパルス更新回路74(パルス更新回路74a,74b,74c,74d)及び図41のパルス更新回路78(パルス更新回路78a,78b,78c,78d)の構成例を示す回路図である。
 パルス更新回路74,78の入力信号は、spike_label_j,update_p,update_n,hf_p(又はhp_p),hf_n(又はhp_n)の5つである。入力信号spike_label_jは、図40,図41のspike_label_top,spike_label_bottom,spike_label_left,spike_label_rightの何れかを表す。また、入力信号update_p,update_nは、図49又は図50のupdate_p,update_nに対応する。入力信号hf_p,hf_n(又はhp_p,hp_n)は、更新式(28a)(又は更新式(28b))の更新係数h/4(又はhφπ/4)の大きさに比例する電圧信号である。
 パルス更新回路74,78は、3つのpMOSFET M1,M2,M3、3つのnMOSFET M4,M5,M6、及びインバータINV1を備えており、pMOSFET M1,M2,M3及びnMOSFET M4,M5,M6は、電源と接地面との間にこの順で直列接続されている。そして、pMOSFET M3のドレインとnMOSFET M4のドレインとの共通接続ノードn1が出力ノードであり、ノードn1はスパイク・ニューロン回路20i,20lの位相状態値保持用キャパシタCに接続されている。
 nMOSFET M6のゲートには、入力信号spike_label_jが入力され、pMOSFET M1のゲートにはインバータINV1を介して入力信号spike_label_jの反転値が入力される。従って、M6,M1は入力信号spike_label_jがHレベルのときにオン状態となるスイッチである。
 pMOSFET M2のゲートには、負論理入力信号update_pが入力される。従って、M2は、B(θj(t))・C(t-t)又はA(θj(t))・S(t-t)が正値(+1)をとるときにオン状態となるスイッチである。
 nMOSFET M5のゲートには、正論理入力信号update_nが入力される。従って、M5は、B(θj(t))・C(t-t)又はA(θj(t))・S(t-t)が負値(-1)をとるときにオン状態となるスイッチである。
 pMOSFET M3は線形領域で動作し、そのゲートには係数信号hf_p(又はhp_p)が入力される。また、nMOSFET M4は線形領域で動作し、そのゲートには係数信号hf_n(又はhp_n)が入力される。従って、B(θj(t))・C(t-t)(又はA(θj(t))・S(t-t))が正値のときには出力ノードn1にh/4(又はhφπ/4)に比例した電流が流入し、B(θj(t))・C(t-t)(又はA(θj(t))・S(t-t))が負値のときには出力ノードn1からh/4(又はhφπ/4)に比例した電流が流出する。これにより、更新式(28a),(28b)の更新が行われる。
〔4〕全体の動作
 図52に、本実施例の情報処理装置1の演算動作を表すタイムチャートを示す。
 実施例7では、本発明に係る情報処理装置を、動画像内の物体の動き検出を行うための動き検出装置に適用した例について説明する。動き検出アルゴリズムとしては、国際公開公報WO2006/104033号パンフレットに記載された、脳の海馬C3領野のニューロン活動モデルを用いたリアルタイム動き検出アルゴリズムを使用する。
〔1〕動き検出アルゴリズムの概要
 最初に、本実施例の情報処理装置において実現する演算のアルゴリズムについて説明する(詳細については、WO2006/104033を参照)。脳のC3領野では、信号入力部位からニューロン活動が波紋状に伝搬する。波紋の半径は時間に依存して拡大するとともに、その強度は減衰していく。これを、ニューロン活動の放射状伝搬という。
 図53は、ニューロン活動の放射状伝搬に基づく動き検出プロセスの説明図である。図54は、本実施例のセルラー構造ネットワークの全体構成を表す図である。
 図53(a)はカメラで撮影された原画像から輪郭抽出がされたエッジ画像の情報が入力される実画像マップであり、ACネットという。ACネットは図53(a)のように、中心を通る動径と同心の長方形とによりマス目に画分されている。1つのマス目は1個のニューロン・セルに対応する。各マス目は、長方形の対角線により「上象限」、「下象限」、「左象限」、「右象限」の4つの象限に区分される。以下、上象限,下象限,左象限,及び右象限に属するACネットの部分を、それぞれ、AC(u),AC(d),AC(l),AC(r)と記す(図54参照)。
 ACネットの各象限のマス目は、図53(b)のような長方形に配列されたマス目と一対一対応する。この長方形格子状に結合した図53(b)のマス目(ニューロン)の配列をCA3ネットという。CA3ネットの1つのマス目は1個のニューロン・セルに対応する。上下左右の4つの象限に対応して4つのCA3ネットが存在する。
 さらに、図54に示すように、CA3ネットの各マス目に1対1に対応する長方形格子状に結合したマス目(ニューロン)の配列であるCA1ネットを用意する。1つのCA3ネットに対し、(接近方向,遠退方向,左方向,右方向)又は(上方向,下方向,接近方向,遠退方向)の動き方向を検出するための4つのCA1ネットが存在する。従って、CA1ネットは全部で16個存在する。CA1ネットの1つのマス目も1個のニューロン・セルに対応する。CA1ネットの各ニューロン・セルは、それぞれ、固有の状態値変数を保持しており、この状態値変数をPと記す。状態値変数Pは時間変化し、P=P(t)と表される。
 各象限のACネットのニューロンの座標を(m,n)と記す。各象限の座標軸m,nは図53(a)に示したように設定する。各象限のACネットに対応するCA3ネットの各ニューロン(m,n)は当該ACネットの各ニューロン(m,n)に対応する(図53(b)参照)。同様に、各CA1ネットの各ニューロン(m,n)は、それに対応するCA3ネットの各ニューロン(m,n)に対応する。
 ここで、4つの動き検出方向({接近方向,遠退方向,左方向,右方向}又は{上方向,下方向,接近方向,遠退方向})のうちの何れかの動き検出方向に並列するニューロン・セルの列を考える。例えば、図53(b)は、上象限のACネット(AC(u))に対応するCA3ネット(CA3(u))である。CA3(u)はN行M列の格子状に配列されたニューロン・セルの集合体である。図53(b)のCA3(u)において、例えば、図53(b)に示したように、動き検出方向を接近方向とする場合を考える。この場合、動き検出方向には、N個のニューロン・セルの配列が並行してM列存在する。各ニューロン配列において、動き検出方向に対して昇順となるように各ニューロン・セルに番号(1,…,i-1,i,i+1,…,N)を付す。ここで、CA3(u)の接近方向に対しては、図54に示したCA1ネット(CA1(ua))が対応している。そこで、CA1(ua)にも、CA3(u)に対応して、並行するM列のニューロン配列があるので、同様に各列の各ニューロン・セルに番号(1,…,i-1,i,i+1,…,N)を付す。また、CA3(u)に対応する上象限のACネット(AC(u))についても、CA3(u)に対応して、並行するM列のニューロン配列があるので、同様に各列の各ニューロン・セルに番号(1,…,i-1,i,i+1,…,N)を付す。以下、各ネットの番号iのニューロン・セルを「ニューロン(i)」と記す。
 それぞれの動き検出方向に対して、図53(c)に示すように、ACネットのニューロン(i)はCA3ネットのニューロン(i)に結合している。また、CA3ネットのニューロン(i)は、CA1ネットのニューロン(i)及びニューロン(i+1)に結合している。エッジ信号が入力されると、ACネットの各ニューロン(i)は、結合されたCA3ネットのニューロン(i)に対して検出信号を出力する。また、CA3ネットの各ニューロン(i)は、前記検出信号が入力されると、結合されたCA1ネットのニューロン(i+1)に対して開始信号を出力するとともに、結合されたCA1ネットのニューロン(i)に対して停止信号を出力する。
 次に、上述したセルラー構造ネットワークを用いた動き検出の原理について説明する。図55は、図53,図54のセルラー構造ネットワークを用いた動き検出の原理を説明する図である。
 ここでは、上下左右の何れかの象限において、ある動き検出方向を考える。図55(a)に示すように、ある時刻tにおいて、ACネットのニューロン(i-1)にエッジ像が入力され始めたとする。すると、ACネットのニューロン(i-1)は、CA3ネットのニューロン(i-1)に対し検出信号のスパイク・パルスを出力する(図53(c)参照)。CA3ネットのニューロン(i-1)は、検出信号のスパイク・パルスが入力されると、結合されたCA1ネットのニューロン(i-1)に対し停止信号のスパイク・パルスを出力し、同時に、結合されたCA1ネットのニューロン(i)に対し開始信号のスパイク・パルスを出力する(図53(c)参照)。CA1ネットのニューロン(i-1)は、停止信号のスパイク・パルスが入力されると、自己の保持する状態値変数Pi-1(t)の値をホールドし、その値を動き検出信号として出力する。また、CA1ネットのニューロン(i)は、開始信号のスパイク・パルスが入力されると、自己の保持する状態値変数P(t)の値を初期値Pにリセットするとともに、一定の減衰率αで経時的な時間変化を開始させる。すなわち、開始信号のスパイク・パルスの入力時刻をtとすると、CA1ネットのニューロン(i)の状態値変数P=P(t)は時刻t以降に次式のように時間変化する。
Figure JPOXMLDOC01-appb-M000044
 次に、時間とともにエッジ像が移動して、図55(b)に示すように、時刻tにおいてエッジ像はACネットのニューロン(i)に移動したとする。すると、ACネットのニューロン(i)は、CA3ネットのニューロン(i)に対し検出信号のスパイク・パルスを出力する。CA3ネットのニューロン(i)は、検出信号のスパイク・パルスが入力されると、結合されたCA1ネットのニューロン(i)に対し停止信号のスパイク・パルスを出力し、同時に、結合されたCA1ネットのニューロン(i+1)に対し開始信号のスパイク・パルスを出力する。CA1ネットのニューロン(i)は、停止信号のスパイク・パルスが入力されると、自己の保持する状態値変数P(t)の値をホールドし、その値を動き検出信号として出力する。また、CA1ネットのニューロン(i)は、開始信号のスパイク・パルスが入力されると、自己の保持する状態値変数Pi+1(t)の値を初期値Pにリセットするとともに、一定の減衰率αで経時的な時間変化を開始させる。
 ここで、CA1ネットのニューロン(i)が出力する動き検出信号P(t)により、エッジ像がACネットのニューロン(i-1)を通過するのに要した時間Δti-1を次式によって算出することができる。
Figure JPOXMLDOC01-appb-M000045
 したがって、この動き検出信号によって、エッジ像の位置とその動き方向に対する速度の両方を検出することができる。CA1ネットは、各象限のCA3ネットに対し、それぞれ4つの動き検出方向ごとに1つずつ存在するので、すべての動き検出方向について、エッジ像の位置とその動き方向に対する速度をリアルタイムに検出することができる。
〔2〕情報処理装置の構成
 図56は、本発明の実施例6に係る情報処理装置の全体構成を表す図である。本実施例の情報処理装置1は、節点ユニットネットワーク2、基準位相発生部2a、入力部3、出力部4、及び全体制御部5を備えている。これらは、実施例1の図1の同符号のものに対応する。
 入力部3は、カメラ81、フレーム・メモリ82、エッジ画像生成部83、及びACネット84を備えている。カメラ81は、動画像を撮像するビデオカメラである。フレーム・メモリ82は、カメラ81により撮像された動画像のフレーム画像を一時的に蓄積する。エッジ画像生成部83は、フレーム・メモリ82に蓄積されたフレーム画像を1フレームずつ読み込んでフレーム画像内のエッジ像を抽出し、エッジ画像を出力する。エッジ像の抽出方法は現在公知の種々の方法を使用することができる。
 ACネット84は、図53(a)に示したACネットを回路的に実現したものである。ACネット84は、上象限,下象限,左象限,及び右象限の4つの象限に対応して、ぞれぞれM×N個の格子状に配列された節点ユニット(ニューロン・セル)を具備している(図53(b)参照)。ACネット84には、前記エッジ画像が入力される。入力されたエッジ画像を図53(a)に示したマス目に画分し、各マス目にエッジ像が存在するか否かを検出する。エッジ像が検出されたマス目に対応する節点ユニット(ニューロン・セル)から検出信号が出力される。
 節点ユニットネットワーク2は、ACネット84内の上象限,下象限,左象限,及び右象限に対応して、4つのCA3ネットCA3(u),CA3(d),CA3(l),CA3(r)を具備している。そして、各CA3ネットCA3(u),CA3(d),CA3(l),CA3(r)は、それぞれ図53(b)と同様に、M×N個の格子状に配列された節点ユニット(ニューロン・セル)を具備している。そして各CA3ネット内の各節点ユニットは、ACネット84内の対応する節点ユニットと結線されている。ACネット84内の各節点ユニットは、それぞれ結線されたCA3ネット内の各節点ユニットに対し、検出信号を出力する。
 節点ユニットネットワーク2は、CA3(u)に対して、4つの動き検出方向(接近方向,遠退方向,左方向,右方向)に対応するCA1ネット(CA1(ua),CA1(ub),CA1(ul),CA1(ur))を備えている。また、CA3(d)に対して、4つの動き検出方向(接近方向,遠退方向,左方向,右方向)に対応するCA1ネット(CA1(da),CA1(db),CA1(dl),CA1(dr))を備えている。また、CA3(l)に対して、4つの動き検出方向(接近方向,遠退方向,上方向,下方向)に対応するCA1ネット(CA1(la),CA1(lb),CA1(lu),CA1(ld))を備えている。また、CA3(r)に対して、4つの動き検出方向(接近方向,遠退方向,上方向,下方向)に対応するCA1ネット(CA1(ra),CA1(rb),CA1(ru),CA1(rd))を備えている。それぞれのCA1ネットは、それぞれ図53(b)と同様に、M×N個の格子状に配列された節点ユニット(ニューロン・セル)を具備している。そして、各CA1ネット内の各節点ユニットは、対応するCA3ネット内の節点ユニットと結線されている。
 ここで、各CA1ネット内の各節点ユニットとCA3ネット内の節点ユニットとは、図57,図58に示すように結線されている。図57は、上象限に対応するCA3ネット(CA3(u))内の各節点ユニットとそれに対応するCA1ネット(CA1(ua),CA1(ub),CA1(ul),CA1(ur))内の各節点ユニットとの結線状態を表す図であり、図58は、図57のCA3ネット(CA3(u))内の1つの節点ユニット(m,n)に結線されるCA1ネット内の節点ユニットを示した図である。尚、図57,図58は、上象限の場合について示しているが、他の象限についても同様であり、ここでは上象限の場合を代表として説明する。
 以下では、CA3ネット(CA3(ξ)(ξ=u,d,l,r))内の座標(m,n)の節点ユニットをCA3(ξ)(m,n)と記す。また、CA1ネット(CA3(ξη)(ξ=u,d,l,r;η=a,b,l,r又はη=a,b,u,d))内の座標(m,n)の節点ユニットをCA1(ξη)(m,n)と記す。
 図58に示すように、節点ユニットCA3(u)(m,n)は、動き検出方向が接近方向の場合に対応して、節点ユニットCA1(ua)(m,n),CA1(ua)(m,n+1)と結線されている。また、動き検出方向が遠退方向の場合に対応して、節点ユニットCA1(ub)(m,n),CA1(ub)(m,n-1)と結線されている。また、動き検出方向が左方向の場合に対応して、節点ユニットCA1(ul)(m,n),CA1(ul)(m-1,n)と結線されている。また、動き検出方向が右方向の場合に対応して、節点ユニットCA1(ur)(m,n),CA1(ur)(m+1,n)と結線されている。
 図59は、図56の4個のCA3ネット内の各節点ユニットCA3(ξ)(m,n)の回路構成を示す図である。各節点ユニットCA3(ξ)(m,n)は、位相状態値保持用キャパシタC、電流原I1、コンパレータCMP1,CMP2、トリガパルス生成器PG1,PG2、AND回路、RSフリップ・フロップRS-FF、及びスイッチ回路S1,S2,S3,S4を備えている。節点ユニットCA3(ξ)(m,n)は、固有の状態値Pξ;m,n(t)を、位相θξ;m,n(t)として保有する。具体的には、位相θξ;m,n(t)は、位相状態値保持用キャパシタCに充電される電荷として保持され、図59のノードn1の電圧Vとして取り出される。尚、位相状態値保持用キャパシタC、電流原I1、コンパレータCMP1、トリガパルス生成器PG2、及びスイッチ回路S1,S2からなる位相θξ;m,n(t)を進行させる回路は、図6のものと同様の構成であり、この動作は実施例1で説明した通りである。
 RSフリップ・フロップRS-FFの出力ノードn2がLレベルの状態では、スイッチ回路S3が閉路し、スイッチ回路S4は開路する。従って、この状態では位相θξη;m,n(t)は、最大位相(V=Vhigh)に達すると最小位相0(V=Vlow)にリセットされる。一方、RSフリップ・フロップRS-FFの出力ノードn2がHレベルの状態では、スイッチ回路S4が閉路し、スイッチ回路SSは開路する。従って、この状態では位相θξ;m,n(t)は、最大位相(V=Vhigh)に達すると中間位相(V=Vmiddle)にリセットされる。
 節点ユニットCA3(ξ)(m,n)に対応するACネット84内の節点ユニットAC(ξ)(m,n)からは、検出信号ACξ;m,nが入力される。検出信号ACξ;m,nは、節点ユニットAC(ξ)(m,n)でエッジ像が検出されたときにHレベル、検出されないときにLレベルとなる信号である。トリガパルス生成器PG1は、検出信号ACξ;m,nの立ち上がりと立ち下がりでスパイク・パルスを出力する。トリガパルス生成器PG1からスパイク・パルスが出力されると、RSフリップ・フロップRS-FFの出力ノードn2がHレベルに設定され、位相θξ;m,n(t)は、リセット時に中間位相(V=Vmiddle)にリセットされる状態となる。一度、位相θξ;m,n(t)のリセットが発生すると、RSフリップ・フロップRS-FFの出力ノードn2がLレベルに設定されるため、次回からは位相θξ;m,n(t)は、リセット時に最小位相0(V=Vlow)にリセットされる状態となる。
 尚、位相θξη;m,n(t)のリセット時にトリガパルス生成器PG2で発生するスパイク・パルスspike_CA3ξ;m,nは、AND回路を介して、開始信号及び停止信号spike_attn_CA3ξ;m,nとして、結線されたCA1ネット内の各節点ユニットへ出力される。AND回路は、コンパレータCMP2の出力がHレベルの場合、すなわち、V<Vmiddleの場合で、且つ、更新許可信号update_enaがHレベルの場合にのみスパイク・パルスspike_attn_CA3ξ;m,nを出力するように制御するために設けられているものである。
 ここで、更新許可信号update_enaは、更新可能な時間帯を定めるウィンドウの役目をする信号であり、基準位相が中間位相となる時刻を中心としてT/2程度の幅でHレベルとなる周期的なパルスとされる。更新許可信号update_enaは、基準位相発生部2aにおいて生成される。
 図56の16個のCA1ネット内の各節点ユニットCA1(ξη)(m,n)は、図5及び図6と同様の構成を備えている。各節点ユニットCA1(ξη)(m,n)は、固有の状態値Pξη;m,n(t)を、位相θξη;m,n(t)として保有する。具体的には、位相θξη;m,n(t)は、位相状態値保持用キャパシタCに充電される電荷として保持される。実施例1の場合と同様、位相θξη;m,n(t)は時間とともに一定の位相速度ωで単調増加し、最大位相θmaxに達したときにスパイク・パルスを出力し、最小位相θminにリセットされる。
 なお、実施例1の場合と同様、図56の全体制御部5は、節点ユニットネットワーク2の各節点ユニットCA1(ξη)(m,n)に、更新係数やパルス遅延量などのパラメータを設定するとともに、それら節点ユニットの動作制御を行う。また、基準位相発生部2aは、基本的に図6(a)に示したスパイク・ニューロン回路20と同様の構成を有し、位相状態値の更新がされない基準位相θ(t)=ωtのスパイク・パルスspk_fを出力し続ける。
〔3〕情報処理装置の動作
 図60は、実施例6に係る情報処理装置の各節点ユニットCA1(ξη)(m,n)の動作を示すタイムチャートである。
 エッジ画像は、一定の周期TでACネット84に入力される。そこで、各節点ユニットCA1(ξη)(m,n)の位相θξη;m,n(t)の周期T=(θmax-θmin)/ωもT=Tとする。
 図60は、ある象限のCA3ネットのある動き検出方向の節点ユニットの列の1つに注目し、その節点ユニット列のi-1番目とi番目の節点ユニットと、それに対応するACネット84内の節点ユニット、及びCA1ネット内の節点ユニットに注目し、これらの節点ユニットの動作を示している。
 ACi-1,ACは、それぞれ、ACネット84内のi-1番目,i番目の節点ユニットが出力する検出信号の値を示す。CA3i-1,CA3は、それぞれ、CA3ネット内のi-1番目,i番目の節点ユニットの位相θξ;i-1(t),θξ;i(t)の値を示す。CA1は、CA1ネット内のi番目の節点ユニットの位相θξη;i(t)の値を示す。Spike-CA3i-1,Spike-CA3iは、それぞれ、CA3ネット内のi-1番目,i番目の節点ユニットが出力するスパイク・パルスを示す。Update_enaは、各CA3ネット内の各節点ユニット及び各CA1ネット内の各節点ユニットに対して入力される更新許可信号(図5参照)の値を示す。更新許可信号Update_enaがHレベルのときに、各節点ユニットは、結合された節点ユニット(図57,図58参照)に対してスパイク・パルスを出力し、更新許可信号Update_enaがLレベルのときには、スパイク・パルスは出力されない。
Output_Trigは、一定の周期Tで出力部4に対して入力されるスパイク・パルスであり、「出力トリガ」という。この出力トリガOutput_Trigは、基準位相発生部2aにより生成され、ACネット84にエッジ画像が入力されるタイミングに対して半周期T/2だけ遅延して出力される。出力部4は、出力トリガOutput_Trigが入力されると、その時点でのCA1ネット内の各節点ユニットの位相θξη;i(t)の値を取得して出力する。また、各
 時刻Tにおいて、ACネット84内のi-1番目の節点ユニットAC(ξ)(i-1)においてエッジ像が検出される。すると、節点ユニットAC(ξ)(i-1)は、A3ネットの節点ユニットCA3(ξ)(i-1)に出力する検出信号ACξ;i-1をHレベルとする。
 節点ユニットCA3(ξ)(i-1)においては、検出信号ACξ;i-1をHレベルとなると、RSフリップ・フロップRS-FFの出力ノードn2がHレベルに設定され、位相θξη;i-1(t)が最大位相(V=Vhigh)に達すると中間位相(V=Vmiddle)にリセットされる。そして、RSフリップ・フロップRS-FFの出力ノードn2は再びLレベルに設定される。この操作によって、節点ユニットCA3(ξ)(i-1)の位相θξ;i-1(t)は中間位相分だけ進み、位相θξ;i-1(t)のリセット時刻が更新許可信号update_enaのウィンドウ内に位置するようになる。
 時刻Tから3Tまでの間、ACネット84内のi-1番目の節点ユニットAC(ξ)(i-1)においてエッジ像が検出され続けるため、検出信号ACξ;i-1はHレベルに維持される。この間、位相θξ;i-1(t)が最大位相(V=Vhigh)に達する毎に、節点ユニットCA3(ξ)(i-1)は、CA1ネットの節点ユニットCA1(ξη)(i)に対して開始信号spike_attn_CA3ξ;i-1を出力する。節点ユニットCA1(ξη)(i)は開始信号spike_attn_CA3ξ;i-1が入力されると、自己の位相θξη;i(t)をΔθだけ更新される。従って、開始信号spike_attn_CA3ξ;i-1が入力される回数に比例して、節点ユニットCA1(ξη)(i)の位相θξη;i(t)の更新量が大きくなる。
 時刻3Tにおいて、エッジ像がACネット84内のi-1番目の節点ユニットAC(ξ)(i-1)からi番目の節点ユニットAC(ξ)(i)へ移動する。すると、節点ユニットAC(ξ)(i-1)は、CA3ネットの節点ユニットCA3(ξ)(i-1)に出力する検出信号ACξ;i-1をLレベルとし、節点ユニットAC(ξ)(i)は、CA3ネットの節点ユニットCA3(ξ)(i)に出力する検出信号ACξ;iをHレベルとする。
 節点ユニットCA3(ξ)(i-1)では、検出信号ACξ;i-1がLレベルに立ち下がると、RSフリップ・フロップRS-FFの出力ノードn2がHレベルに設定され、位相θξη;i-1(t)が次に最大位相(V=Vhigh)に達する時刻(3+1/2)Tに中間位相(V=Vmiddle)にリセットされる。そして、RSフリップ・フロップRS-FFの出力ノードn2は再びLレベルに設定される。この操作によって、節点ユニットCA3(ξ)(i-1)の位相θξ;i-1(t)は中間位相分だけ進み、位相θξ;i-1(t)のリセット時刻が更新許可信号update_enaのウィンドウの外側に位置するようになる。
 一方、節点ユニットCA3(ξ)(i)では、検出信号ACξ;iがHレベルに立ち上がると、RSフリップ・フロップRS-FFの出力ノードn2がHレベルに設定され、同時に位相θξ;i(t)が最大位相(V=Vhigh)に達するため位相θξ;i(t)が中間位相(V=Vmiddle)にリセットされる。そして、RSフリップ・フロップRS-FFの出力ノードn2は再びLレベルに設定される。この操作によって、節点ユニットCA3(ξ)(i)の位相θξ;i(t)は中間位相だけ進み、位相θξ;i(t)のリセット時刻が更新許可信号update_enaのウィンドウ内に位置するようになる。そして、時刻(3+1/2)Tに位相θξ;i(t)は再び最大位相(V=Vhigh)に達する。このとき、節点ユニットCA3(ξ)(i)は、CA1ネットの節点ユニットCA1(ξη)(i)に対して出力トリガoutput_Trigξ;iを出力する。節点ユニットCA1(ξη)(i)は、出力トリガoutput_Trigξ;iが入力されると、その時点において保持する自己の位相θξη;i(t)を出力部4に出力すとともに、自己の位相θξη;i(t)を最小位相0にリセットする。これにより、ACネット84内のi-1番目の節点ユニットAC(ξ)(i-1)においてエッジ像が検出された時間が、位相θξη;i(t)の基準位相との位相差として出力部4に出力され、動きの方向とその大きさが検出されることになる。
1 情報処理装置
2 節点ユニットネットワーク
2a 基準位相発生部
3 入力部
4 出力部
5 全体制御部
6 節点ユニット
7 実部節点ユニット
7’ 強度過程節点ユニット
8 虚部節点ユニット
8’ ラベル過程節点ユニット
9 列選択信号線
10 初期値入力線
11 実部外部出力線
11’ 強度過程外部出力線
12 虚部外部出力線
12’ ラベル過程外部出力線
13 ピクセル・アレイ
14 列セレクタ
15,16 ドライバ
20,20i,20l スパイク・ニューロン回路
21 遅延パルス生成器
22 更新許可スイッチ
23,24,25,26 セレクタ付きパルス生成器
27,27i,27l 状態値更新回路
28,29 列選択スイッチ
30,31 インバータ回路
32 NOR回路
33 デマルチプレクサ
35 正パルス更新回路
36 負パルス更新回路
40 状態値パルス生成回路
41 パルス遅延回路
42 EXOR論理回路
43 OR論理回路
44,45 トリガー・フリップフロップ
45 デマルチプレクサ
51 NOR回路
61 位相状態値保持手段
62 位相進行手段
63 位相復位手段
64 トリガ発生手段
65 位相更新手段
71a,71b A関数演算回路
72a,72b B関数演算回路
73,73a,73b,73c,73d B・C関数演算回路
74,74a,74b,74c,74d パルス更新回路
75 C関数演算回路
76 S関数演算回路
77,77a,77b,77c,77d A・S関数演算回路
78,78a,78b,78c,78d パルス更新回路
81 カメラ
82 フレーム・メモリ
83 エッジ画像生成部
84 ACネット
,C 位相状態値保持用キャパシタ
 ゼロオフセット用キャパシタ
I1,I2 電流源
CMP1,CMP2,CMP3 コンパレータ
PG トリガパルス生成器
S1,S2,S3,S4,S5,S10,S11,S12,S13,S14,S15,S20,S21,S22,S23,S24,S25 スイッチ回路
M1,M2,M3,M4,M5,M6,M7,M8,M9 電界効果トランジスタ
D パルス遅延器
T-FF,T-FF1,T-FF2 トリガー・フリップフロップ
INV1,INV2,INV3,INV4,INV5,INV6 インバータ
n1 出力ノード
n2,n3,n4,n5,n6,n7,n8,n9,n10,n11 中間ノード
ref 対照電圧
middle 零値電圧
high 最大値電圧
low 最小値電圧
out デジタル出力信号
Delay-spk 遅延パルス
C2 端子間電圧
th 閾値電圧
 位相状態値電圧
spk スパイク・パルス

Claims (9)

  1.  複数の節点ユニットが相互結合した節点ユニットネットワークを有する情報処理装置であって、
     前記各節点ユニットは、
     当該節点ユニットの固有の位相を表す位相状態値を保持する位相状態値保持手段と、
     前記位相状態値保持手段が保持する前記位相状態値を所定の位相速度ωで経時的に変化させる位相進行手段と、
     前記位相状態値保持手段が保持する前記位相状態値が所定の閾値である最大位相状態値に達したときに、前記位相状態値を所定の初期値である最小位相状態値にリセットする位相復位手段と、
     前記位相状態値保持手段が保持する前記位相状態値が、位相が零値であることを表す所定の零位相状態値を過ぎったときに、更新トリガを出力するトリガ発生手段と、
     隣接する前記節点ユニットである隣接節点ユニットの前記トリガ発生手段が前記更新トリガを出力したとき、当該隣接節点ユニットの隣接方位に応じて、その時点で前記位相状態値保持手段が保持する前記位相状態値を、当該位相状態値に前記隣接方位により予め設定された更新係数を乗じた値だけ変化させ、又は当該位相状態値を前記隣接方位により予め設定された所定の関数fで変換した値だけ変化させることにより、前記位相状態値の更新を行う位相更新手段と、
    を備え、
     当該節点ユニットの位相状態値と、隣接接点ユニットの位相状態値との差に比例する値、又は前記差を前記関数fで変換した値だけ,当該節点ユニットの位相状態値を更新する計算を行うことを特徴とする情報処理装置。
  2.  前記最大位相状態値から前記最小位相状態値を差し引いた差を前記位相速度ωの平均値で除して得られる時間を基本周期Tとしたとき、基本周期Tで自己更新トリガを出力する自己更新トリガ発生手段を備え、
     前記各節点ユニットは、
     前記自己更新トリガ発生手段が前記自己更新トリガを出力したとき、その時点で前記位相状態値保持手段が保持する前記位相状態値を、当該位相状態値に予め設定された自己更新係数を乗じた値だけ変化させ、又は当該位相状態値を前記隣接方位により予め設定された所定の関数fで変換した値だけ変化させることにより、前記位相状態値の更新を行う自己位相更新手段を備えた請求項1記載の情報処理装置。
  3.  前記トリガ発生手段は、前記位相状態値保持手段が保持する前記位相状態値が前記位相復位手段によりリセットされた時点から所定の遅延時間Tだけ遅延した時点で前記更新トリガを出力することを特徴とする請求項1又は2記載の情報処理装置。
  4.  前記位相状態値保持手段は、当該節点ユニットの固有の位相を表す位相状態値を電荷量として保持する位相状態値保持用キャパシタであり、
     前記位相進行手段は、前記位相状態値保持用キャパシタに対して所定の充電電流を給電する電流源であり、
     前記位相更新手段は、前記隣接節点ユニットの前記トリガパルス生成器が前記更新トリガを出力したとき、当該隣接節点ユニットの隣接方位に応じて、その時点での前記位相状態値保持用キャパシタの端子間電圧Vと前記零値電圧Vmiddleとの差電圧V-Vmiddleに、前記隣接方位により予め設定された更新係数を乗じた値に比例する量の電荷、又は当該差電圧V-Vmiddleを所定の関数fで変換した値に比例する量の電荷を、前記位相状態値保持用キャパシタに充電又は放電する状態値更新回路であることを特徴とする請求項1又は2記載の情報処理装置。
  5.  前記位相状態値保持手段は、当該節点ユニットの固有の位相を表す位相状態値を電荷量として保持する位相状態値保持用キャパシタであり、
     前記位相進行手段は、前記位相状態値保持用キャパシタに対して所定の充電電流を給電する電流源であり、
     前記位相復位手段は、
     前記最大位相状態値に対応する最大値電圧Vhighと、前記位相状態値保持用キャパシタの端子間電圧Vとが入力され、両者の大小関係を示す電圧信号を出力する第1のコンパレータと、
     前記第1のコンパレータの出力電圧が、前記端子間電圧Vが前記最大値電圧Vhighより大きいことを示す状態に反転した場合に、前記位相状態値保持用キャパシタの端子電位を、前記最小位相状態値に対応する最小値電圧Vlowにリセットするリセット回路と、を備え、
     前記トリガ発生手段は、
     前記零位相状態値に対応する零値電圧Vmiddleと、前記位相状態値保持用キャパシタの端子間電圧Vとが入力され、両者の大小関係を示す電圧信号を出力する第2のコンパレータと、
     前記第2のコンパレータの出力電圧が、前記端子間電圧Vが前記零値電圧Vmiddleより大きいことを示す状態となったときに、前記更新トリガとしてパルスを出力するトリガパルス生成器と、を備え、
     前記位相更新手段は、前記隣接節点ユニットの前記トリガパルス生成器が前記更新トリガを出力したとき、当該隣接節点ユニットの隣接方位に応じて、その時点での前記端子間電圧Vと前記零値電圧Vmiddleとの差電圧V-Vmiddleに、前記隣接方位により予め設定された更新係数を乗じた値に比例する量の電荷、又は当該差電圧V-Vmiddleを所定の関数fで変換した値に比例する量の電荷を、前記位相状態値保持用キャパシタに充電又は放電する状態値更新回路であることを特徴とする請求項1又は2記載の情報処理装置。
  6.  前記位相状態値保持手段は、当該節点ユニットの固有の位相を表す位相状態値を電荷量として保持する位相状態値保持用キャパシタであり、
     前記位相進行手段は、前記位相状態値保持用キャパシタに対して所定の充電電流を給電する電流源であり、
     前記トリガ発生手段は、
     一方の入力端子に前記位相状態値保持用キャパシタの端子間電圧Vが入力され、他方の入力端子に、前記最大位相状態値に対応する最大値電圧Vhigh又は前記零位相状態値に対応する零値電圧Vmiddleの何れかである入力電圧が入力され、両者の大小関係を示す電圧信号を出力するコンパレータと、
     前記コンパレータの出力電圧が、前記端子間電圧Vが前記入力電圧より大きいことを示す状態となったときに、パルスを出力するトリガパルス生成器と、
     前記トリガパルス生成器がパルスを出力すると、当該パルスを遅延させた遅延パルスを生成するパルス遅延器と、
     前記パルス遅延器から遅延パルスが出力される毎に、前記コンパレータの前記他方の入力端子に入力される前記入力電圧を、前記最大値電圧Vhighと前記零値電圧Vmiddleに交互に切り替える入力電圧切替回路と、
     前記入力電圧が前記零値電圧Vmiddleの状態で前記トリガパルス生成器がパルスを出力したとき、当該パルスを前記更新トリガとして出力する出力スイッチ回路と、を備え、
     前記位相復位手段は、前記入力電圧が前記最大値電圧Vhighのときに、前記トリガパルス生成器がパルスを出力すると、前記位相状態値保持用キャパシタの端子電位を、前記最小位相状態値に対応する最小値電圧Vlowにリセットするリセット回路を備え、
     前記位相更新手段は、前記隣接節点ユニットの前記トリガパルス生成器が前記更新トリガを出力したとき、当該隣接節点ユニットの隣接方位に応じて、その時点での前記端子間電圧Vと前記零値電圧Vmiddleとの差電圧V-Vmiddleに、前記隣接方位により予め設定された更新係数を乗じた値に比例する量の電荷、又は当該差電圧V-Vmiddleを所定の関数fで変換した値に比例する量の電荷を、前記位相状態値保持用キャパシタに充電又は放電する状態値更新回路であることを特徴とする請求項1又は2記載の情報処理装置。
  7.  前記位相状態値保持手段は、当該節点ユニットの固有の位相を表す位相状態値を電荷量として保持する位相状態値保持用キャパシタであり、
     前記位相進行手段は、前記位相状態値保持用キャパシタに対して所定の充電電流を給電する電流源であり、
     前記トリガ発生手段は、
     前記位相状態値電圧V、前記零位相状態値に対応する零値電圧Vmiddle、又は前記最大位相状態値に対応する最大値電圧Vhighの何れかに入力電圧を切り替える入力電圧切替回路、一端が前記入力電圧切替回路に接続されたゼロオフセット用キャパシタ、入力側端子が前記ゼロオフセット用キャパシタの他端に接続されたインバータ、及び前記インバータの入出力端子間に接続されたゼロオフセット設定用スイッチ回路を具備するチョッパー型コンパレータと、
     前記チョッパー型コンパレータの前記インバータから出力されるパルスのエッジにおいてスパイク・パルスを出力するトリガパルス生成器と、
     前記トリガパルス生成器が前記スパイク・パルスを出力すると、当該スパイク・パルスの出力時点から一定の時間遅延して遅延パルスを出力するパルス遅延器と、
     前記トリガパルス生成器が前記スパイク・パルスを2回出力する毎に、当該スパイク・パルスを前記更新トリガとして出力する出力スイッチ回路と、
     前記入力電圧切替回路、前記ゼロオフセット設定用スイッチ回路、及び前記出力スイッチ回路の切り替えを制御する切替制御回路と、を備え、
     前記位相復位手段は、前記トリガパルス生成器が前記スパイク・パルスを2回出力する毎に、前記電流源の給電を遮断するとともに前記位相状態値保持用キャパシタを放電し端子間電圧Vを前記最小位相状態値に対応する最小値電圧Vlowにリセットするリセット回路を備え、
     前記位相更新手段は、前記隣接節点ユニットの前記トリガパルス生成器から前記更新トリガを出力されたとき、当該隣接節点ユニットの隣接方位に応じて、その時点での前記端子間電圧Vと前記零値電圧Vmiddleとの差電圧V-Vmiddleに、前記隣接方位により予め設定された更新係数を乗じた値に比例する量の電荷、又は当該差電圧V-Vmiddleを所定の関数fで変換した値に比例する量の電荷を、前記位相状態値保持用キャパシタに充電又は放電する状態値更新回路であることを特徴とする請求項1又は2記載の情報処理装置。
  8.  前記位相状態値保持手段は、当該節点ユニットの固有の位相を表す位相状態値を電荷量として保持する位相状態値保持用キャパシタであり、
     前記位相進行手段は、前記位相状態値保持用キャパシタに対して所定の充電電流を給電する電流源であり、
     前記位相復位手段は、
     前記最大位相状態値に対応する最大値電圧Vhighと、前記位相状態値保持用キャパシタの端子間電圧Vとが入力され、両者の大小関係を示す電圧信号を出力するコンパレータと、
     前記コンパレータの出力電圧が、前記端子間電圧Vが前記最大値電圧Vhighより大きいことを示す状態に反転した場合に、前記位相状態値保持用キャパシタの端子電圧を、前記最小位相状態値に対応する最小値電圧Vlowにリセットするリセット回路と、を備え、
     前記トリガ発生手段は、前記コンパレータの出力電圧が、前記端子間電圧Vが前記最大値電圧Vhighより大きいことを示す状態に反転した場合に、その反転時点から所定の時間だけ遅延して遅延パルスを出力する遅延パルス生成器を備え、
     前記位相更新手段は、前記隣接節点ユニットの前記遅延パルス生成器が前記遅延パルスを出力したとき、当該隣接節点ユニットの隣接方位に応じて、その時点での前記端子間電圧Vと前記零値電圧Vmiddleとの差電圧V-Vmiddleに、前記隣接方位により予め設定された更新係数を乗じた値に比例する量の電荷、又は当該差電圧V-Vmiddleを所定の関数fで変換した値に比例する量の電荷を、前記位相状態値保持用キャパシタに充電又は放電する状態値更新回路であることを特徴とする請求項3記載の情報処理装置。
  9.  プログラマブル論理デバイス用の再構成プログラムであって、プログラマブル論理デバイスにおいて当該再構成プログラムに基づき論理回路の再構成を行うことにより、請求項1乃至3の何れかに記載の情報処理装置が再構成されることを特徴とする再構成プログラム。
PCT/JP2010/065608 2009-09-11 2010-09-10 情報処理装置及びプログラム WO2011030848A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011530884A JP5435594B2 (ja) 2009-09-11 2010-09-10 情報処理装置及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-210093 2009-09-11
JP2009210093 2009-09-11

Publications (1)

Publication Number Publication Date
WO2011030848A1 true WO2011030848A1 (ja) 2011-03-17

Family

ID=43732516

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/065608 WO2011030848A1 (ja) 2009-09-11 2010-09-10 情報処理装置及びプログラム

Country Status (2)

Country Link
JP (1) JP5435594B2 (ja)
WO (1) WO2011030848A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020175209A1 (ja) * 2019-02-28 2020-09-03 国立研究開発法人科学技術振興機構 スパイク生成回路、情報処理回路、電力変換回路、検出器および電子回路

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102487733B1 (ko) * 2020-09-08 2023-01-11 국민대학교산학협력단 뉴런 모방 회로

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10133618A (ja) * 1996-10-29 1998-05-22 Sony Corp 画像信号処理装置
JPH10191392A (ja) * 1996-10-29 1998-07-21 Sony Corp 画像信号処理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085560A (ja) * 2001-09-07 2003-03-20 Canon Inc 信号処理回路及びパターン認識装置
JP2002358501A (ja) * 2001-05-31 2002-12-13 Canon Inc 信号処理回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10133618A (ja) * 1996-10-29 1998-05-22 Sony Corp 画像信号処理装置
JPH10191392A (ja) * 1996-10-29 1998-07-21 Sony Corp 画像信号処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KENJI MATSUZAKA, TAKASHI MORIE: "Taikyokuteki Gazo Ryoiki Bunkatsu no Tameno Ryoiki Base MRF Model o Jitsugen suru CMOS Kairo", HEISEI 21 NEN PROCEEDINGS OF THE ELECTRONICS, 3 September 2009 (2009-09-03), pages 90 - 91 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020175209A1 (ja) * 2019-02-28 2020-09-03 国立研究開発法人科学技術振興機構 スパイク生成回路、情報処理回路、電力変換回路、検出器および電子回路
US11444605B2 (en) 2019-02-28 2022-09-13 Japan Science And Technology Agency Spike generation circuit, information processing circuit, power conversion circuit, detector, and electronic circuit
US11671077B2 (en) 2019-02-28 2023-06-06 Japan Science And Technology Agency Detector and power conversion circuit
US11757433B2 (en) 2019-02-28 2023-09-12 Japan Science And Technology Agency Electronic circuit

Also Published As

Publication number Publication date
JPWO2011030848A1 (ja) 2013-02-07
JP5435594B2 (ja) 2014-03-05

Similar Documents

Publication Publication Date Title
KR102449941B1 (ko) 효율적인 행렬 곱셈을 위한 시스템 및 방법
Xu et al. Exponential stability of almost periodic solutions for memristor-based neural networks with distributed leakage delays
US11157810B2 (en) Resistive processing unit architecture with separate weight update and inference circuitry
JPH0346195A (ja) 連想ネツトワーク用シナプスセル
Soleimani et al. An efficient and reconfigurable synchronous neuron model
US11042715B2 (en) Electronic system for performing a multiplication of a matrix and vector
WO2019087500A1 (ja) ニューロモルフィック素子を含むアレイ装置およびニューラルネットワークシステム
US11531872B2 (en) Neuron circuit using p-n-p-n diode without external bias voltages
JP5435594B2 (ja) 情報処理装置及びプログラム
Fouda et al. Memcapacitor response under step and sinusoidal voltage excitations
KR102219822B1 (ko) 전압 드룹의 제약에 의한 파워-게이트 섹션들의 크기조정
Dudka et al. Design of controller IC for asynchronous conditioning circuit of an electrostatic vibration energy harvester
Grabmann et al. Machine Learning in Charge: Automated Behavioral Modeling of Charge Pump Circuits
WO2019188160A1 (ja) 積和演算装置及び積和演算方法
Wagemakers et al. Electronic circuit implementation of the chaotic Rulkov neuron model
EP3139140A1 (en) Semiconductor device, infrared imaging device equipped with said semiconductor device, and method for manufacturing semiconductor device
Jackson et al. Implementing delay insensitive oscillatory neural networks using CMOS and emerging technology
Olumodeji et al. Behavioural modelling of memristive devices targeted to sensor interfaces
JP7089750B2 (ja) ボルツマンマシン
JP7301295B2 (ja) 情報処理装置
Chen et al. Stability analysis for digital controls of power systems
Narayanan et al. Neuromorphic technologies for next-generation cognitive computing
JP4833161B2 (ja) 交流電流発生回路
US9350328B1 (en) Ring oscillator circuit and method of regulating aggregate charge stored within capacitive loading therefor
US10579092B2 (en) Global timing generator

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10815442

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011530884

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10815442

Country of ref document: EP

Kind code of ref document: A1