130 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS—I: FUNDAMENTAL THEORY AND APPLICATIONS, VOL. 45, NO. 2, FEBRUARY 1998results <strong>in</strong> a spatio–temporal filter tuned to velocities with thesame magnitude <strong>in</strong> the opposite direction.CNN spatio–temporal <strong>Gabor</strong>-type filters constructed <strong>in</strong> thisway are separable <strong>in</strong> space <strong>and</strong> time. 3-D spatio–temporal<strong>Gabor</strong> filters are also space–time separable if their covariancematrices have the formAn important difference between <strong>Gabor</strong> filters <strong>and</strong> the CNNfilters is that <strong>Gabor</strong> filters are noncausal <strong>in</strong> space <strong>and</strong> time,while the CNN filters are noncausal <strong>in</strong> space, but causal <strong>in</strong>time.In order to ensure space–time separability, the spatial filter<strong>in</strong>gCNN’s must settle much faster than the time scales <strong>of</strong> theimage motion so that their outputs at any time are essentiallythe result <strong>of</strong> spatial filter<strong>in</strong>g the <strong>in</strong>put at time . Fortunately, itis easy to design a VLSI implementation <strong>of</strong> the CNN spatialfilters with settl<strong>in</strong>g times on the order <strong>of</strong> microseconds orfaster. The time scale <strong>of</strong> image motion is usually on the order<strong>of</strong> milliseconds. For example, video frame rates are about oneframe every 30–40 ms.There are several advantages to this spatio–temporal filter<strong>in</strong>garchitecture. First, multiple filters tuned to different velocitiescan be obta<strong>in</strong>ed by cascad<strong>in</strong>g the same spatio–temporalfilter<strong>in</strong>g stage with different temporal filters. S<strong>in</strong>ce all <strong>of</strong> thefilters share the same spatial filter<strong>in</strong>g stage, the differencesbetween their outputs are purely a function <strong>of</strong> the temporalvariation <strong>of</strong> the image, i.e., the motion. Second, the temporalfilter<strong>in</strong>g at each pixel is <strong>in</strong>dependent <strong>of</strong> the filter<strong>in</strong>g at the rest<strong>of</strong> the pixels. S<strong>in</strong>ce the output <strong>of</strong> the spatial frequency stageis b<strong>and</strong>limited, it can be subsampled without distortion due toalias<strong>in</strong>g. Therefore, it is not necessary to build a temporal filterat every pixel <strong>of</strong> the output. This can result <strong>in</strong> a significantsav<strong>in</strong>g <strong>in</strong> chip area.Example 4: Denote the output <strong>of</strong> the spatial filter<strong>in</strong>g stageat a pixel <strong>and</strong> time by . One possible cont<strong>in</strong>uoustime temporal filter [38] tuned to has outputwhich satisfiesFig. 7.(a)(b)(a) Contour plot <strong>and</strong> (b) mesh plot <strong>of</strong> the magnitude <strong>of</strong> the CNNspatio–temporal filter’s frequency response for 1-D images. The parametersused were = = 0:3; ! xo =2atan0:5, <strong>and</strong> ! to =0:3:This filter istuned to velocities v = 00:32.impulse response is the product <strong>of</strong> the spatial <strong>and</strong> temporalimpulse responseswhere. It has frequency responseThe comb<strong>in</strong>ed spatio–temporal frequency response is the product<strong>of</strong> the spatial <strong>and</strong> temporal frequency responses. Us<strong>in</strong>g thespatial filter<strong>in</strong>g stage <strong>of</strong> Example 1, the frequency response iswhose magnitude is plotted <strong>in</strong> Fig. 7. S<strong>in</strong>ce the correspond<strong>in</strong>gimpulse response is complex valued, the frequency responseis not symmetric with respect to the orig<strong>in</strong>. Due to spatialsampl<strong>in</strong>g, the spatio–temporal frequency response is periodic<strong>in</strong> with period . There is no periodicity <strong>in</strong> s<strong>in</strong>cethe temporal filter operates <strong>in</strong> cont<strong>in</strong>uous time. Similarly, theIntuitive <strong>in</strong>sight <strong>in</strong>to the operation <strong>of</strong> the spatio–temporal filtercan be ga<strong>in</strong>ed by consider<strong>in</strong>g the effect <strong>of</strong> the temporal filteron one pixel <strong>in</strong> isolation s<strong>in</strong>ce the temporal filter<strong>in</strong>g stageprocesses each output pixel <strong>of</strong> the spatial filter <strong>in</strong>dependently.Assum<strong>in</strong>g uniform translation, the output <strong>of</strong> the spatial filter<strong>in</strong>gstage at pixel <strong>and</strong> time can be written aswhere is constant <strong>and</strong> varies slowly <strong>in</strong> <strong>and</strong> .The output <strong>of</strong> the spatial filter at a fixed pixel rotates aroundthe orig<strong>in</strong> <strong>of</strong> the complex plane with frequency . Thespeed <strong>of</strong> rotation is proportional to the speed <strong>of</strong> translation. Thedirection <strong>of</strong> rotation depends on the direction <strong>of</strong> translation.Assum<strong>in</strong>g , the direction <strong>of</strong> rotation is clockwisefor positive velocities <strong>and</strong> counterclockwise for negative (seeFig. 8).
SHI: GABOR-TYPE FILTERING IN SPACE AND TIME WITH CELLULAR NEURAL NETWORKS 131Fig. 8.The output <strong>of</strong> the spatial filter<strong>in</strong>g stage at a given pixel rotates around the orig<strong>in</strong> <strong>of</strong> the complex plane. This figure shows the outputs at pixel n <strong>of</strong> thespatial filter<strong>in</strong>g stage <strong>in</strong> Example 1 with = 0:3 <strong>and</strong> ! xo =0:93 for image <strong>in</strong>puts consist<strong>in</strong>g <strong>of</strong> impulses located at different pixels near n. If the impulseis translat<strong>in</strong>g uniformly, the output rotates around the orig<strong>in</strong> clockwise for positive velocities <strong>and</strong> counterclockwise for negative velocities.Fig. 10. A circuit implementation <strong>of</strong> the second-order differential (9) us<strong>in</strong>gthree operational amplifiers. Resistors are labeled by their conductances.<strong>and</strong> imag<strong>in</strong>ary parts <strong>of</strong> the temporal filter output. These satisfythe follow<strong>in</strong>g real valued differential equation:(9)Fig. 9. The derivative <strong>of</strong> along trajectories <strong>of</strong> the unforced temporal filterfor = 00:7 <strong>and</strong> ! to =1illustrates that the system is a damped l<strong>in</strong>earoscillator. Trajectories naturally tend to rotate counterclockwise about theorig<strong>in</strong>.The differential equation satisfied by the temporal filtercorresponds to a damped l<strong>in</strong>ear oscillator forced by the output<strong>of</strong> the spatial filter. The derivative along different trajectories<strong>of</strong> the unforced system are shown <strong>in</strong> Fig. 9 for .Ifthe velocity is negative, the <strong>in</strong>put rotates counterclockwise,facilitat<strong>in</strong>g the natural motion <strong>of</strong> output trajectories <strong>and</strong> lead<strong>in</strong>gto a large response. For positive velocity, the <strong>in</strong>put rotationopposes the natural motion, lead<strong>in</strong>g to a small response.In an analog circuit, the filter can be implemented with twocapacitors whose voltages represent the real <strong>and</strong> imag<strong>in</strong>aryparts <strong>of</strong> the output. Let <strong>and</strong> denote the realWrit<strong>in</strong>g KCL at the <strong>in</strong>vert<strong>in</strong>g <strong>in</strong>puts <strong>of</strong> the first <strong>and</strong> thirdoperational amplifiers <strong>and</strong> assum<strong>in</strong>g unit capacitance, it canreadily be shown that the circuit shown <strong>in</strong> Fig. 10 implementsthis differential equation. To cascade this temporal filter withthe spatial filter <strong>in</strong> Example 1, the <strong>in</strong>puts <strong>and</strong>should be equal to the voltages <strong>and</strong> from thebottom <strong>and</strong> top rows <strong>of</strong> Fig. 4.IV. CONCLUSIONThis paper has def<strong>in</strong>ed a class <strong>of</strong> <strong>Gabor</strong>-type spatial <strong>and</strong>spatio–temporal filters which posses the important properties<strong>of</strong> filters used <strong>in</strong> phase-based algorithms for computer vision.<strong>Gabor</strong>-type filters can be implemented us<strong>in</strong>g CNN’s. It ispossible to convert any low-pass spatial filter<strong>in</strong>g CNN <strong>in</strong>to acorrespond<strong>in</strong>g <strong>Gabor</strong>-type filter<strong>in</strong>g CNN by a simple transformation<strong>of</strong> the clon<strong>in</strong>g template coefficients. Spatio–temporal