twolf%ug.utah.edu@cs.utah.edu (Tom Wolf) (03/03/90)
In reading through the literature on the latest Graphics machines(I believe they are called GVX's), I see that they use Fast Fourier Transform chips in the graphics pipeline. As I have an application that requires thousand's of Fourier Transforms, I am curious as to whether you can use the FEEDBACK function to help crunch the FT's? Does anyone know if this is possible? Several of us have been trying to figure out what Fourier Transforms are used for in graphics processing? Any ideas? Thanks, Tom
karsh@trifolium.esd.sgi.com (Bruce Karsh) (03/05/90)
In article <1990Mar2.160357.10094@hellgate.utah.edu> twolf%ug.utah.edu@cs.utah.edu (Tom Wolf) writes: >Several of us have been trying to figure out what Fourier Transforms are used >for in graphics processing? Any ideas? Fourier transforms are used in image processing for a variety of reasons: 1) Fast convolution. "Convolution" is a big fancy word for "weighted moving average". In other words, each pixel value is replaced by the sum of the nearby pixels multiplied by a weighting factor. I.e., -- P'[i,j] = \ W[m,n] * P[i-m,j-n] / -- m,n Convolutions are used to blur images, sharpen images, enhance edges, and lots of other things. The image processing literature is full of info about this. The calculation of a convolution as a sum of products is computationally costly. Using the FFT method, described in almost any book on signal processing is often much more efficient. 2) Digital filtering. Digital filters are used for anti-aliasing images. The Fourier Transform is sometimes used to design these filters. 3) Image compression. Various schemes have been tried to reduce the number of bits required to store an image by Fourier transforming an image and not storing all of the coefficients. For instance, low frequency components and small components may be discarded. Of course, this degrades the image quality, but in some instances, it may be worth it. 4) Shift invariant representation. The magnitude of the Fourier components of an image does not change when the image is translated. (The phase of the components do, however). For this reason, Fourier transforms are sometimes used to match a possibly shifted image against a pattern image. If the magnitude of the coefficients aren't approximately equal then the image doesn't match the pattern. Any others?
baskett%forest@SGI.COM (03/06/90)
The new graphics subsystem is VGX, not GVX. It is also refered to by the product literature as PowerVision. It contains an "ImageVision Library" for FFT's, image rotations, warps, and convolutions directly in the graphics pipeline. It does not use FFT chips in the graphics pipeline; it uses special code in the geometry subsystem to apply its 128 mflops to image processing problems like FFT. As to what FFT's are used for in graphics processing, one perhaps needs to include image processing as part of graphics processing. The general trend in general purpose graphics workstations is to include more and more high performance graphics functionality in base systems thus making special purpose systems less often required. We are trying to participate in this trend. We believe the VGX has several new features that are examples of this trend, the imageVision library being one of them. Forest Baskett Silicon Graphics
robert@texas.esd.sgi.com (Robert Skinner) (03/06/90)
In article <1990Mar2.160357.10094@hellgate.utah.edu>, twolf%ug.utah.edu@cs.utah.edu (Tom Wolf) writes: > In reading through the literature on the latest Graphics machines(I believe > they are called GVX's), I see that they use Fast Fourier Transform chips in > the graphics pipeline. > > As I have an application that requires thousand's of Fourier Transforms, > I am curious as to whether you can use the FEEDBACK function to help > crunch the FT's? Does anyone know if this is possible? > > > Several of us have been trying to figure out what Fourier Transforms are used > for in graphics processing? Any ideas? > > > > Thanks, > > Tom I assume you mean the GTX. caveat: someone else should be responding with the scoop on what hardware is in a GTX, not a new software engineer like me. But since they haven't, I'll try and provide correct information... The FFT is used in image processing, but not in normal graphics processing. The IRIS graphics hardware does not compute an FFT. I'm not aware of any chips that specifically perform the FFT, and I'm sure that there aren't any in the IRIS's. Some IRIS's (just the PIs, I think) have Digital Signal Processing chips in them. These DSP chips are often used to compute the FFT *in other products*, but they are just used as very fast processors in the PI. Robert Skinner robert@sgi.com Whoa Homer, don't have a cow. - Bart Simpson
seibel@cgl.ucsf.edu (George Seibel) (03/06/90)
In article <9003051643.AA14376@forest.sgi.com> baskett%forest@SGI.COM writes:
]The new graphics subsystem is VGX, not GVX. It is also refered to by
]the product literature as PowerVision. It contains an "ImageVision
]Library" for FFT's, image rotations, warps, and convolutions directly
]in the graphics pipeline. It does not use FFT chips in the graphics
]pipeline; it uses special code in the geometry subsystem to apply its
]128 mflops to image processing problems like FFT. As to what FFT's are
^^^^^^^^^!
You just got my attention here... Any chance of getting at these mflops
in a convenient way from high level code for general number crunching
purposes? Is there enough precision to make it worthwhile? You
wouldn't happen to have 1/sqrt(r) in there, would ya?
George Seibel, UCSF
seibel@cgl.ucsf.edu