Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: $Revision: 1.6.2.16 $; site datacube.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!harvard!think!datacube!shep From: shep@datacube.UUCP Newsgroups: net.graphics Subject: Re: convolution vs. FFT's Message-ID: <6700025@datacube.UUCP> Date: Sat, 3-Aug-85 15:15:00 EDT Article-I.D.: datacube.6700025 Posted: Sat Aug 3 15:15:00 1985 Date-Received: Wed, 7-Aug-85 04:12:11 EDT References: <355@ur-laser.UUCP> Lines: 49 Nf-ID: #R:ur-laser:-35500:datacube:6700025:000:2547 Nf-From: datacube!shep Aug 3 15:15:00 1985 > net.graphics / ur-laser!nitin / 9:39 am Aug 1, 1985 ****/ >Does anybody know at what point do Fourier operations >become more practical to use than convolution ? >Example : lets say we are dealing with a 512 X 512 , 8 bit image. Good question. However it is ill defined. Since we are dealing with the "practicality" of the problem, we must first recognize the number of computrons required for each approach. Two-dimensional image convolution is easily performed by most pipelined architectures. FFT's, because of their often used butterfly addressing and bit reversal, are more difficult (less practical, require more hardware, etc) to perform. The MaxVideo image processing architecture can perform a 10*10 convolution on a 512*512 image in real-time (32mS). This requires a substantial amount of hardware. The key here is that this particular architecture allows a linear increase in performance as additional hardware is added. (Double the hardware, half the process time; half the hardware, double the time.) At least one crazed engineer here is obsessed with transformations in the frequency domain. His problem though, is that his circuit board for performing these transformations is still vaporware and thus not too "practical" for the application, at least not yet. My point is that the "crossover point" you seek to determine is a function of the architecture being used. Pipelined, scan-sequential architectures can perform an m*n convolution in a frame time, with hardware requirements doubling as m*n doubles. (Or, for a fixed hardware configuration, with process time doubling as m*n doubles.) How do single and multi-processor Von Neuman architectures for the transform compare? If we compare 2-d convolution against performing a 2-d FFT, and neglect the multiplication of the real portion in the frequency domain. We do see that the FFT requires, at least at some point, less multiplies. (Unfortunately, they'll be complex multiplies!) convolution: N^2 * M^2 2-d DFFT: nm -- (log nm) 2 Again, good question! I'm anxious to hear other USENET'ers interpretation of the problem. I chose to play realist. Shep Siegel ihnp4!datacube!shep Datacube Inc. ima!inmet!mirror!datacube!shep 617-535-6644 decvax!cca!mirror!datacube!shep 4 Dearborn Rd. decvax!genrad!wjh12!mirror!datacube!shep Peabody, Ma. 01960 {mit-eddie,cyb0vax}!mirror!datacube!shep