All-MOS implementation of RC networks for time-controlled Gaussian spatial filtering J. Fern´andez-Berni∗, R. Carmona-Gal´an Institute of Microelectronics of Seville (IMSE-CNM), Consejo Superior de Investigaciones Cient´ıficas y Universidad de Sevilla, C/ Am´erico Vespucio s/n, 41092, Seville, Spain (e-mail:
[email protected]). SUMMARY This paper addresses the design and VLSI implementation of MOS-based RC networks capable of performing time-controlled Gaussian filtering. In these networks, all the resistors are substituted one by one by a single MOS transistor biased in the ohmic region. The design of this elementary transistor is carefully realized according to the value of the ideal resistor to be emulated. For a prescribed signal range, the MOSFET in triode region delivers an interval of instantaneous resistance values. We demonstrate that, for the elementary 2-node network, establishing the design equation at a particular point within this interval guarantees minimum error. This equation is then corroborated for networks of arbitrary size by analysing them from a stochastic point of view. Following the design methodology proposed, the error committed by a MOS-based grid when compared to its equivalent ideal RC network is, despite the intrinsic nonlinearities of the transistors, below 1% even under mismatch conditions of 10%. In terms of image processing, this error hardly affects the outcome, which is perceptually equivalent to that of the ideal network. These results, extracted from simulation, are verified in a prototype vision chip with QCIF resolution manufactured in the AMS 0.35µm CMOS-OPTO process. This prototype incorporates a focal-plane MOS-based RC network which performs fully-programmable Gaussian filtering. key words: Gaussian filtering, focal-plane processing, RC networks, time-controlled diffusion, VLSI implementation 1. INTRODUCTION Gaussian filtering is a basic task for early vision. It is used for reducing the noise associated to the image capture without affecting subsequent processing stages. In fact, the image enhancement through the Difference of Gaussians (DoG) is preferred over other image enhancemement methods as it preserves the details of interest within the scene while filtering ∗Correspondence to:
[email protected] Contract/grant sponsor: Junta de Andaluc´ıa-CICE; Ministerio de Ciencia e Innovaci´on; contract/grant number: 2006-TIC-2352; TEC 2009-11812, co-funded by FEDER
2J. FERN´ ANDEZ-BERNI, R. CARMONA-GAL´ AN sharp random noise [1]. In this case, the width of the Gaussian filters involved will depend on the noise nature as well as on the scale of the objects to be analysed, not usually known in advance. Scale is indeed a key point when it comes to efficiently process images. Its adequate selection simplifies the analysis of certain features in a scene by removing information at other scales [2]. If several scales are to be analysed, pyramidal representations can be easily built in order to only store the necessary information for each representation according to the spatial frequencies involved [3]. The scale-space representation of a scene is obtained by applying successive Gaussian filters with increasing widths over its original representation [4]. From the processing features above described, it can be seen that the utility of Gaussian filtering reaches its maximum level when the width, or smoothing degree, is under the control of the user. Programmable digital processors [5] support this possibility by means of user-defined convolution kernels. However, this implementation is not very efficient, taking into account the necessary serialization of the raw image data along with the repeated accesses to memory to operate over each and every pixel and its neighborhood. Besides, this energy inefficiency increases with the width of the filter as more neighbors are involved in the computation for each pixel — the kernel size must be at least 6 times the variance of the targeted Gaussian filter [6]. This has led to alternative approaches, most of them making use of the ability of CMOS processes to integrate pure imaging with signal processing circuitry. Thus, they achieve massively parallel focal-plane processing concurrent with the photosensing, delivering the same result as a digital processor but in a much more efficient way. Resistive grids are the first alternative to be considered [7, 8]. They are passive networks which can perform different spatial filterings by using positive and, if necessary, negative resistors. Their robustness to mismatch makes them specially suitable for VLSI implementation [9,10]. In [11], a single-chip analog implementation of a resistive network for Gaussian filtering is described. Negative resistors are mandatory in order to attain a Gaussian-like convolution kernel, what makes the circuitry bulky due to the negative impedance converters. The variation of the filter width is achieved by two MOSFETs in parallel biased in the triode region whose control of the gate voltages results in a variable resistor. It is precisely the control circuit of this variable resistor what greatly increases the power consumption of the chip. Moreover, only Gaussians with a width variable by a factor of 2 are available. Other possibility of Gaussian filtering in resistive grids is through MOSFETs working in subthreshold regime [12,13]. In this case, the main drawback is the significant influence of leakage currents and mismatch for a fine control of the filtering width [14]. Finally, the filtering performed by a resistive grid can be theoretically emulated by the CNN framework [15]. However, the unavoidable mismatch presents at any VLSI implementation prevents the typical transconductance-based approach from achieving Gaussian filtering with enough accuracy, specially for large widths [16]. In [17], the physical implementation of Gaussian filters with user-defined width is addressed in a totally different way. It introduces a capacitive network which can be considered as a numeric solver of the spatially-discretized diffusion equation. The variance of the filter is determined by a capacitor ratio, fixed by layout design, and a iteration number associated to the implicit time discretization of the network. Four switches, two switching capacitors and one grounded capacitor amount to each node. An error of 1% is delivered when the iteration number is higher than ten. A more recent VLSI implementation of this approach is reported in [18]. This paper proposes to take advantage of the dynamics of a RC network in order to achieve user-defined Gaussian filters. A RC network can be also considered as a solver of the spatially-
MOS-BASED RC NETWORKS FOR TIME-CONTROLLED GAUSSIAN FILTERING 3 (a) (b) Figure 1. RC network performing linear diffusion (a) and its MOS-based counterpart (b) discretized diffusion equation, but no time discretization is now realized. This means that any filter width is ideally possible. The main drawback which can be argued against this approach is the considerable area consumption of resistors in CMOS processes. We will demonstrate that this problem can be solved by substituting each resistor by a single MOS transistor biased in the ohmic region. The ratio resistance/area of this elementary MOS is much greater than that of the resistors made with polysilicon or diffusion strips. Besides, the dynamics of the network can be activated or deactivated by controlling the gate voltages of the transistors. The effects of the inevitable nonlinearities introduced by the MOSFETs are alleviated by a careful design of the elementary transistor and a very simple on-chip calibration. An error below 1% is thus achieved, which is translated into perceptually equivalent outputs. Only two transistors, acting as switches with an ON resistance designed ad-hoc, and a grounded capacitor amount to each node. The paper is organized as follows. Section 2 defines the operation of a RC network as a solver of the spatially-discretized diffusion equation, determining the corresponding filtering function. Section 3 compares a 2-node ideal RC network with its counterpart where the resistor is substituted by a MOSFET. We thus find the design equation for a MOS transistor emulating a targeted resistance with minimum error. Section 4 extends the design equation previously obtained to networks of arbitrary size. Section 5 shows some simulation results for a 64×64 network designed by making use of such a equation. Finally, Section 6 describes an onchip fully-programmable Gaussian filtering operation which validates the design methodology proposed. 2. GAUSSIAN FILTERING IN A RC NETWORK The generic RC network analysed throughout this paper is depicted in Fig. 1(a), where the initial voltage at the capacitor of every node represents the value of the corresponding pixel.
4J. FERN´ ANDEZ-BERNI, R. CARMONA-GAL´ AN σ=0 σ=0.6σ=1 σ=1.3 Figure 2. Gaussian filtering over the Lena image (64×64 px). Our objective is to design the MOS-based version in Fig. 1(b) in such a way that minimum error is committed. For the ideal RC network, the equation satisfied at each node is: τdVij dt =−4Vij +Vi+1,j +Vi−1,j +Vi,j+1 +Vi,j−1(1) where τ=RC. Eq. (1) represents the spatially-discretized diffusion equation and its solution is formally the scale-space representation of 2-D discrete signals [19]. Indeed, what happens in the unforced RC network is that the initial charge of the capacitors actually diffuses, with a pace determined by τ. Applying the DFT to Eq. (1) we obtain: τdˆ Vuv dt =−4ˆ Vuv +e2πiu Mˆ Vuv +e−2πiu Mˆ Vuv +e2πiv Nˆ Vuv +e−2πiv Nˆ Vuv (2) where we have considered an array whose size is M×Npixels. Notice that the dynamics of those nodes located just at the edge of the array is not affected by a complete 4-connected neighborhood but by a reduced 2- or 3-connected one. It is equivalent to consider mirroring boundary conditions at every time instant for the edges of the array. That is, Eq. (1) can be also used for the nodes at the boundaries. But bear in mind that the nodes falling outside the array correspond to dummy nodes which do not affect the dynamics of the network as their value always equals that of the boundary node under consideration at every time instant. Eq. (2) can be rewritten as: τdˆ Vuv dt =−4sin2πu M+sin 2πv Nˆ Vuv (3) and solving now in the time domain we obtain: ˆ Huv(t)= ˆ Vuv(t) ˆ Vuv(0) =e−4t τ[sin2(πu M)+sin2(πv N)] (4) where ˆ Vuv(0) represents the DFT of the image defined by the initial voltages at the capacitors and ˆ Vuv(t) is the DFT of the image defined by those same node voltages after a certain time interval tsince the network started to evolve at time instant t= 0. Thus Eq. (4) describes the filtering process undergone by the initial image as the network evolves. It corresponds to the spatially-discretized version of the ideal Gaussian filtering with spatial width σ=2t/τ performed by a continous-plane diffusion process [3]. Therefore, for a certain τ, each time
MOS-BASED RC NETWORKS FOR TIME-CONTROLLED GAUSSIAN FILTERING 5 Figure 3. 2-node ideal RC network (a) and its MOS-based implementation (b) instant of the dynamics of the network will be equivalent to a different Gaussian filter. As an example, consider the Fig. 2, where we have applied Gaussian filters with σ=0,σ=0.6, σ=1andσ=1.3 over the picture of ‘Lena’. 3. ANALYSIS OF A 2-NODE NETWORK Let us compare the 2-node grids in Fig. 3 as a first approximation to the design of MOS resistors for RC networks. For purposes of clarity, we will confine the analysis to n-channel MOS transistors, but it applies equally well for p-type transistors. The gate voltage VGis fixed and we will assume, without loss of generality, that the initial conditions of the capacitors fulfill V10 >V 20,beingV10 =V 10 and V20 =V 20. We will also assume that the transistor is biased in the triode region for any voltage at the drain and source terminals, that will range from Vmin to Vmax. The evolution of the circuit in Fig. 3(a) is described by this set of ODEs: CdV1 dt =−V1(t)−V2(t) R CdV2 dt =V1(t)−V2(t) R (5) while the behaviour of the circuit in Fig. 3(b) is described by: CdV 1 dt =−V 1(t)−V 2(t) RM(t) CdV 2 dt =V 1(t)−V 2(t) RM(t) (6) being: RM(t)= 1 knSn{VC−[V 1(t)+V 2(t)]}(7) where kn=µnC ox/2, VC=2(VG−VTn)andSn=W/L. Several key aspects must be clarified at this point about Eq. (7). Firstly, it corresponds to the instantaneous resistance of the transistor derived from the classical first-order approximation for the drain current of a NMOS biased in the triode region. This is really a coarse approximation for the real behaviour of the transistors. However, it will permit to draw conclusions while keeping the equations reasonably manageable. These conclusions are confirmed not only by simulation, where the
6J. FERN´ ANDEZ-BERNI, R. CARMONA-GAL´ AN models include a great deal of second-order effects, but also in the physical implementation realized. It means that the mentioned first-order approximation summarizes the essential features of the transistors for a trustful design of MOS-based RC networks. Secondly, due to charge conservation, Eq. (7) can be expressed as: RM=1 knSn[VC−(V 10 +V 20)] (8) which means that, neglecting second-order effects, the resistance of the transistor depends on the sum of the initial conditions and does not vary along the corresponding diffusion. In other words, Eq. (8) is telling us that, if we choose a certain set of initial conditions within the prescribed signal range whose sum coincides and make RM=Rfor this sum, the dynamics for any initial conditions within this set will be perfectly emulated by the MOS network. On the contrary, there will always be an error for any other initial conditions outside the set as the resistance of the transistor during the diffusion will never match R. The question arising here is therefore: what is the value of the sum of initial conditions which, fulfilling RM=R, minimizes the maximum error committed for any other possible value of this sum? That is, defining VS=V 10 +V 20 =V10 +V20, what is its optimum value VSopt for which making: 1 knSn(VC−VSopt )=R(9) the maximum error committed by the MOS network for any other possible value of VSis minimum? The design equation of the MOSFET is immediately derived from Eq. (9): Snopt =1 knR(VC−VSopt )(10) wherethevalueofVSopt must be within the interval [2Vmin,2Vmax] according to the signal range previously established. Note that this design equation demands to know the exact value of kn, which can present significant variations across the design space delimited by the corners of the process. We will see in Section 6 how to solve this problem. In order to determine VSopt , notice firstly that the charge extracted from one capacitor will end up in the other at both the ideal network and the MOS-based network. We can thus define the error in the corresponding node voltages as: V 1(t)=V1(t)+(t) V 2(t)=V2(t)−(t)(11) or, equivalently: (t)=V 1(t)−V 2(t) 2−V1(t)−V2(t) 2(12) Since our initial assumptions were V10 =V 10 and V20 =V 20,wehavethat(0) = 0. Also, the stationary state, reached when t→∞, renders (∞) = 0, as V1(∞)=V2(∞)and V 1(∞)=V 2(∞). Therefore, there must be at least one point in time, let us call it text,in
MOS-BASED RC NETWORKS FOR TIME-CONTROLLED GAUSSIAN FILTERING 7 which the error reaches an extreme value, either positive or negative. That is, since the time derivative of the error can be expressed as†: τd dt =[V 1(t)−V 2(t)] V10 +V20 −VSopt VC−VSopt −2(t) (13) with τ=RC,itmustcancelintext, resulting in an extreme error of: ext =1 2[V 1(text)−V 2(text)] V10 +V20 −VSopt VC−VSopt (14) where VCis a constant, VSopt is a design parameter and V 1(text)andV 2(text) are variables which can be referred to the initial conditions by solving Eq. (6), obtaining: ext =1 2(V10 −V20)V10 +V20 −VSopt VC−VSopt e −2text RMC(15) Finally, text can be found by solving Eq. (5) and Eq. (6) and making use of Eq. (11): text =τ 2 ln(r) r−1(16) where: r=R RM =VC−V10 −V20 VC−VSopt (17) Substituting Eq. (16) in Eq. (15), we have the following expression: ext =1 2(V10 −V20)V10 +V20 −VSopt VC−VSopt rr 1−r(18) from which the first important conclusion can be extracted. The extreme error is independent of Snand kn. That is to say, once Snis defined by Eq. (10) for a value of knknown, the error committed by the MOS network does not depend on these parameters and therefore is not affected by their mismatch. This robustness to mismatch is confirmed both by simulation and in the physical implementation presented in this paper. Unfortunately, to obtain the exact analytical expression for the extremes of ext from Eq. (18) is not possible. This in turn implies that the exact analytical expression for VSopt can not be found either. However, a good approximation for them is still possible. Let us take alooktoEq.(17).Thevalueofrdepends on a quotient where VCis the dominant term at both the numerator and the denominator for deep triode biasing. Let us therefore assume that ∂r/∂V10 ≃0and∂r/∂V20 ≃0. Under these conditions, it can be demonstrated that only a critical point, more precisely a saddle point, can be found at (VSopt /2,V Sopt /2). Therefore, we can only talk of absolute maxima or minima which will be at the boundaries of the domain considered for (V10,V 20). It can be demonstrated‡that the absolute extremes are located at †See APPENDIX A ‡See APPENDIX B
8J. FERN´ ANDEZ-BERNI, R. CARMONA-GAL´ AN the points (V10,V 20)=(Vmax,V Sopt /2) and (V10,V 20)=(VSopt /2,V min) being, respectively, their values: ⎧ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎩ ext|max =1 8 (2Vmax−VSopt )2 VC−VSopt 1 2+1 2 VC−2Vmax VC−VSopt 2(VC−Vmax)−VSopt 2Vmax−VSopt ext|min =−1 8 (VSopt −2Vmin)2 VC−VSopt 1 2+1 2 VC−2Vmin VC−VSopt − 2(VC−Vmin)−VSopt VSopt −2Vmin (19) The final step is to determine the value of VSopt which minimizes max |ext|. To this end, let us again assume deep triode biasing. In this way, the exponential terms in ext|max and in ext|min can be approximated by 1 when varying VSopt within the range of its possible values [2Vmin,2Vmax]. Applying this approximation, it can be seen that to increase or to decrease VSopt has antagonistic effects in the magnitude of ext|max and ext|min,being: VSopt =Vmin +Vmax (20) the expression for VSopt which minimizes the magnitude of the error: min (max |ext|)=1 8 (Vmax −Vmin)2 VC−Vmin −Vmax (21) Notice that this minimized error depends inversely on VC,thatis,onVG−VTn,whichwas considered fixed at the beginning of the design process. Thus, VGand VTnmust be chosen in such a way that makes their difference as large as possible. Finally, by substituting Eq. (20) in Eq. (10), the design equation for minimum error is obtained: Snopt =1 knR(VC−Vmin −Vmax)(22) This conclusion about VSopt invalidates the groundless intuition that the optimal design could be derived from equaling the midpoint of the interval of possible values of RMto R.On the contrary, the value of RMwhich matches Rfor optimal design is notably below such a midpoint. It is time now to numerically corroborate the validity of the assumptions realized and, on the way, to know the magnitude of the error achieved by the optimum design. In Table I some results are showed for typical values of the voltages involved. As above mentioned, the larger VGthe smaller the error. Thus, two usual maximum biasing voltages for the transistor gate in current CMOS technologies are introduced in Table I. Regarding VTn, two typical related values are used. We do not take into account the possibility of using low- or even zero-threshold transistors currently offered by some manufacturers, what would further reduce the error. Note that the columns labelled as max eext,mineext and VSoptnum are numerically calculated from Eq. (18) whereas those ones labelled as emax,emin and VSopt are directly calculated from Eq. (19) and Eq. (20) respectively. Several conclusions can be drawn from a careful analysis of Table I. First of all, the deeper the ohmic biasing the less the error committed by the MOS network and the better the approximations applied, as expected. Secondly, despite the large signal swings considered and therefore the large variation of the instantaneous resistance of
MOS-BASED RC NETWORKS FOR TIME-CONTROLLED GAUSSIAN FILTERING 9 the MOSFET, represented by the wide interval of possible values of r, the optimal design keeps the error moderately small. It is due to the suitability of this design for the diffusion dynamics. Note that in the ideal network, the maximum charge injection occurs when one of the nodes equals Vmax whereas the other equals Vmin. This situation can only exist just at the beginning of the diffusion. A significant error committed by the MOS-based grid at this point would mean to noticeably alter the rest of the dynamics. However, such a configuration of the voltages makes their sum equal to Vmin +Vmax and therefore the MOS network does not commit any error at all. On the contrary, the error committed by the MOS grid is maximum when the voltages of the nodes involved coincide at Vmin or Vmax, being their sum 2Vmin or 2Vmax respectively. But there is no charge injection between the nodes in these cases as their voltages are the same. Therefore, the maximum error is committed when the dynamics is not affected. Finally, remark that no specific value of Rhas been included in Table I as it is not necessary to compute the error. Once set VG,VTnand [Vmin,V max], Snopt can ideally take, from Eq. (22), any value according to the targeted Rwithout affecting the magnitude of the error. 4. NETWORKS OF ARBITRARY SIZE Taking into account the mathematical framework deployed to optimize the design of a 2-node MOS network, it is obvious that the extension of the results to networks of arbitrary size can not be addressed in the same way. Our proposal for such extension is a stochastic approach. Let us suppose a M×NRC grid similar to that of Fig. 1(a) where every initial value of pixel can be modelled by a random variable with an uniform distribution between Vmin and Vmax, that is, Vij(0)∼U(Vmin,V max), according to notation in [20]. Such a distribution is depicted in Fig. 4(a). This is a rather reasonable supposition, specially if the grid is intended to process natural images. In this way, if we choose any two neighbor nodes of the network, namely (i, j)and(k,l), the resulting distribution of the sum of both nodes is a triangle like that one represented in Fig. 4(b). It can be seen that the most probable value of the sum is Vmin +Vmax. Let us see what happens at the end of the processing. Consider again Eq. (4), which defines the filtering carried out by a RC network along time. Notice that the DC component is the only one that is not affected by the filtering, that is, ˆ H00(t)=1∀t. It means that the average value of the pixels does not change during the processing. Thus, when the diffusion is running, the higher frequencies left are progressively filtered until all of them are eventually removed except the DC component. In other words, the values of the pixels are progressively getting closer until all of them eventually coincides at the mean value, which has never been altered. Let ¯ Vbe the random variable representing the mean value of the pixels of an image. It can be expressed as: ¯ V=V1,1(0)+V1,2(0)+... +Vij(0)+... +VM,N(0) MN (23) from which, taking into account that every pixel Vij(0) presents an uniform distribution and by applying the central limit theorem, we can conclude that ¯ Vapproaches a normal distribution N(µ, σ2) as follows:
16 J. FERN´ ANDEZ-BERNI, R. CARMONA-GAL´ AN Time (s) Voltage (V) ♦Ideal pixel 1 Chip pixel 1 Ideal pixel 2 Chip pixel 2 012345 ×10−7 1.5 2 2.5 Figure 10. Calibration of τat the upper left corner Time (s) RMSE (%) 00.5 1 1.5 2 2.5 3 ×10−6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 Figure 11. Evolution of the RMSE for on-chip Gaussian filtering with respect to the ideal case implemented on-chip by programming the adequate time intervals of diffusion. After every onchip filtering, the resulting image is converted to digital and delivered to the test instruments to be compared to its ideal counterpart generated by MATLAB R (Fig. 11). A total of 12 different filters have been applied over the original captured image. Six of them are represented in Fig. 12 (first row) and compared to the ideal images (second row). The last row contains a pictorial representation of the error, normalized in each case to the highest measured error on individual pixels, which are 0%, 24.99%, 19.39%, 6.17%, 3.58% and 6.68%, respectively. It can be seen how noise eventually becomes the dominant error for the largest values of σ. Keep in mind
MOS-BASED RC NETWORKS FOR TIME-CONTROLLED GAUSSIAN FILTERING 17 t=0 t= 20ns t= 40ns t= 200ns t= 800ns t= 1500ns (σ=0) (σ≃0.75) (σ≃1) (σ≃2.4) (σ≃4.75) (σ≃6.5) Figure 12. Comparative of Gaussian filtering for different values of σ. The first row corresponds to the images extracted from the chip, the second one corresponds to their ideal counterparts and finally the third one corresponds to their normalized difference. that this noise is added to each image coming from the chip because of the readout mechanism. On the contrary, the noise present at the initial image is filtered by the ideal Gaussian filters applied off-chip. The key point here is that the error is kept under a reasonable level despite no FPN post-processing is carried out. This fact together with the efficiency of the focal-plane operation is crucial for artificial vision applications under strict power budgets. Furthermore, the accuracy of the processing predicted by simulation is very close to that of the filters with small σ, where noise is not dominant yet. It validates all the steps of the design methodology proposed along this paper, specially the use of the classical first-order approximation for a transistor biased in the triode region. Despite its simplicity, it has proved to be enough for a robust design. 7. CONCLUSIONS A methodology for the optimal design and VLSI implementation of focal-plane Gaussian filtering has been presented. It is based on the fine control of the diffusion dynamics of a MOS-based RC network. The inclusion of transistors instead of true resistors achieves a much more area-efficient implementation. Besides, the control of their gate voltages permits to stop the diffusion when required, implementing thus filters with programmable width. Together with this programmability, the most remarkable features of the methodology proposed are
18 J. FERN´ ANDEZ-BERNI, R. CARMONA-GAL´ AN the robustness to mismatch and the accuracy of the filtering despite the nonlinearities of the transistors. This makes the VLSI implementation of MOS-based RC networks a very useful and efficient tool for early vision processing. APPENDIX A Firstly, time derivative is applied to Eq. (12), obtaining: d dt =1 2 d dt [V 1(t)−V 2(t)] −1 2 d dt [V1(t)−V2(t)] (28) Taking into account now that, from Eq. (6): d dt [V 1(t)−V 2(t)] = −2V 1(t)−V 2(t) RMC(29) and from Eq. (5): d dt [V1(t)−V2(t)] = −2V1(t)−V2(t) RC (30) we can rewrite Eq. (28) as: d dt =V1(t)−V2(t) RC −V 1(t)−V 2(t) RMC(31) where, defining τ=RC,wehave: τd dt =V1(t)−V2(t)−R RM [V 1(t)−V 2(t)] (32) Finally, considering that, according to Eq. (11): V1(t)−V2(t)=V 1(t)−V 2(t)−2(t) (33) and substituting Eq. (8) and Eq. (9) in Eq. (32), we obtain: τd dt =[V 1(t)−V 2(t)] V10 +V20 −VSopt VC−VSopt −2(t) (34) where we have also applied our initial assumption regarding the initial conditions, that is, V10 =V 10 and V20 =V 20. APPENDIX B The absolute extremes are at the boundaries of the domain for (V10,V 20). The initial assumption V10 >V 20 reduces the boundaries to be searched to only two. The first is that one set by making V10 =Vmax, that is, according to Eq. 18:
MOS-BASED RC NETWORKS FOR TIME-CONTROLLED GAUSSIAN FILTERING 19 ext|V10=Vmax =1 2(Vmax −V20)Vmax +V20 −VSopt VC−VSopt rr 1−r(35) from which calculating the derivative with respect to V20 and bearing in mind our assumption that ∂r/∂V20 ≃0, we have: d dV20 ext|V10=Vmax =1 2 VSopt −2V20 VC−VSopt rr 1−r(36) and finally, by making this expression equal to 0, the location of the first absolute extreme is obtained, (V10,V 20)=(Vmax,V Sopt /2). The other boundary to search absolute extremes is that one set by making V20 =Vmin. It means, according to Eq. 18, that: ext|V20=Vmin =1 2(V10 −Vmin)V10 +Vmin −VSopt VC−VSopt rr 1−r(37) We calculate now the derivative with respect to V10, assuming ∂r/∂V10 ≃0: d dV10 ext|V20=Vmin =1 2 2V10 −VSopt VC−VSopt rr 1−r(38) and again, by making this expression equal to 0, the second absolute extreme is located at point (V10,V 20)=(VSopt /2,V min). Finally, by substituting these two points in Eq. 18, the absolute extremes of Eq. 19 are respectively obtained. REFERENCES 1. Poggio T, Voorhees H, Yuille A. A regularized solution to edge detection. J. of Complexity 1988; 4(2):106– 123. 2. Mutch J, Lowe D. Object class recognition and localization using sparse features with limited receptive fields. Int. J. of Computer Vision 2008; 80(1):45–57. 3. J¨ahne BE. Multiresolutional signal representation. In Chapter 4, Handbook of Computer Vision and Applications. Volume 2: Signal Processing and Pattern Recognition, Academic Press, 1999; 4. Babaud J, Witkin AP, Baudin M, Duda RO. Uniqueness of the Gaussian kernel for scale-space filtering. IEEE Trans. on Pattern Analysis and Machine Intelligence 1986; 8(1):26–33. 5. Z´arandy ´ A, Rekeczky C. 2D operators on topographic and non-topographic architectures implementation, efficiency analysis, and architecture selection methodology. International Journal of Circuit Theory and Applications 2010; n/a. doi: 10.1002/cta.681 6. Sotak GE, Boyer KL. The Laplacian-of-Gaussian kernel: a formal analysis and design procedure for fast, accurate convolution and full-frame output. Computer Vision, Graphics and Image Processing 1989; 48(2):147–189. 7. Mead C. Analog VLSI and Neural Systems. Addison-Wesley, 1989; 8. Raffo L, Sabatini SP, Bo GM, Bisio GM. Analog VLSI circuits as physical structures for perception in early visual tasks. IEEE Transactions on Neural Networks 1998; 9(6):1483–1494. 9. Hui KF, Shi BE. Distortion in analog VLSI networks for image filtering. IEEE Transactions on Circuits and Systems - I 1999; 46(10):1161–1171. 10. Shi BE. The effect of mismatch in currentversus voltage-mode resistive grids. International Journal of Circuit Theory and Applications 2009; 37(1):53–65. 11. Kobayashi H, White JL, Abidi AA. An active resistor network for Gaussian filtering of images. IEEE Journal of Solid-State Circuits 1991; 26(5):738–748. 12. Vittoz EA, Arreguit X. Linear networks based on transistors. Electronic Letters 1993; 29(3):297–299. 13. Andreou AG, Boahen KA. A 590,000 transistor 48,000 pixel, contrast sensitive, edge enhancing, CMOS imager-silicon retina. Proc. Conf. on Advanced Research in VLSI 1995; 225–240.
20 J. FERN´ ANDEZ-BERNI, R. CARMONA-GAL´ AN 14. Lenero-Bardallo JA, Serrano-Gotarredona T, Linares-Barranco B. A mismatch calibrated bipolar spatial contrast AER retina with adjustable contrast threshold. International Symposium on Circuits and Systems 2009; 1493–1496. 15. Shi BE, Chua LO. Resistive grid image filtering: input/output analysis via the CNN framework. IEEE Transactions on Circuits and Systems - I 1992; 39(7):531–548. 16. Fernandez-Berni J, Carmona-Galan R. On the implementation of linear diffusion in transconductancebased cellular nonlinear networks. International Journal of Circuit Theory and Applications 2009; 37(4):543–567. 17. Ni Y, Zhu YM, Arian B, Devos F. Yet another analog 2D Gaussian convolver. IEEE Int. Symp. on Circuits and Systems (ISCAS) 1993; 1:192–195. 18. Ni Y. Smart image sensing in CMOS technology. IEE Proc.-Circuits Devices Syst. 2005; 152(5):547–555. 19. Lindeberg T. Discrete scale-space theory and the scale-space primal sketch. Ph. D. dissertation,Royal Institute of Technology (Stockholm, Sweden), 1991; 20. Papoulis A, Unnikrishna S. Probability, Random Variables and Stochastic Processes, McGraw Hill, 2002; 21. Fernandez-Berni J, Carmona-Galan R. Robust focal-plane analog processing hardware for dynamic texture segmentation. Proc. IEEE Int. Workshop on Cellular Nanoscale Networks and their Applications (CNNA) 2010; 453–458.
MOS-BASED RC NETWORKS FOR TIME-CONTROLLED GAUSSIAN FILTERING 21 VG(V) VTn(V) [Vmin,V max](V) max eext(mV) min eext(mV) VSoptnum (V) emax(mV) emin(mV) VSopt (V) rEquiv. resol. (bits) 3.3 0.8 [0,1.5] 30.43 -30.43 1.58 33.19 -26.74 1.5 [0.57,1.43] 4.5 3.3 0.8 [0,0.75] 6.17 -6.17 0.77 6.37 -5.83 0.75 [0.82,1.18] 5.8 3.3 0.8 [0.75,1.5] 9.61 -9.61 2.28 10.10 -8.81 2.25 [0.73,1.27] 5.2 1.8 0.5 [0,1] 30.61 -30.61 1.08 34.26 -24.93 1 [0.38,1.62] 3.9 1.8 0.5 [0,0.5] 5.62 -5.62 0.51 5.82 -5.17 0.5 [0.76,1.24] 5.4 1.8 0.5 [0.5,1] 10.79 -10.79 1.53 11.82 -9.40 1.5 [0.55,1.45] 4.4 Table I. Numerical verification of the approximations realized.
22 J. FERN´ ANDEZ-BERNI, R. CARMONA-GAL´ AN Technology 0.35µmCMOS2P4M Vendor (Process) Austria Microsystems (C35OPTO) Die size (with pads) 7280.8µm×5780.8µm Cell size 34.07µm×29.13µm Fill factor 6.45% Resolution QCIF: 176×144 px Photodiode type n-well/p-substrate Power supply 3.3V Signal range [1.5V,2.5V] FPN 0.72% PRNU (50% signal range) 2.42% Sensitivity 0.15V/(lux·s) Power consumption (worst case) 5.6mW@30fps ADC throughput 0.11MSa/s (9µs/Sa) Internal clock freq. range 0.5-150MHz Table II. Summary of prototype chip.