Image Linear Transforms

Intel® IPP implements image processing functions that perform linear transform operations on an image buffer.

These operations include Fast Fourier Transform (FFT), Discrete Fourier Transform (DFT), and Discrete Cosine Transform (DCT).

Table “Image Linear Transform Functions” lists the Intel IPP linear transform functions:

Image Linear Transform Functions 
Function Base Name Operation
                        Fourier Transforms
FFTInitAlloc Allocates memory and fills in context data needed for the image FFT functions to operate.
FFTFree Deallocates memory used by the FFT context structure.
FFTGetBufSize Determines the size of an external work buffer that can be used by the FFT functions.
FFTFwd Applies forward Fast Fourier Transform to an image.
FFTInv Applies inverse Fast Fourier Transform to complex source data and stores results in a destination image.
DFTInitAlloc Allocates memory and fills in context data needed for the image DFT functions to operate.
DFTFree Deallocates memory used by the DFT context structure.
DFTGetBufSize Determines the size of an external work buffer that can be used by the DFT functions.
DFTFwd Applies forward Discrete Fourier Transform to an image.
DFTInv Applies inverse Discrete Fourier Transform to complex source data and stores results in a destination image
MulPack Multiplies two source images with data in packed format and stores the result a destination image in packed format.
MulPackConj Multiplies two source images with data in packed format and stores the result in a destination image that is complex-conjugate to that obtained with the ippiMulPack function.
Magnitude Computes the magnitude of elements of complex data images.
MagnitudePack Computes the magnitude of elements of an image in packed format.
Phase Computes the phase of elements of complex data images.
PhasePack Computes the phase of elements of an image in packed format.
PolarToCart Converts an image in the polar coordinate form to Cartesian coordinate form.
PackToCplxExtend Converts an image in packed format to a complex data image.
CplxExtendToPack Converts a complex data image to an image in packed format.
                        Windowing Functions
WinBartlett, WinBartlettSep Applies Bartlett window function to the image.
WinHamming, WinHammingSep Applies Hamming window function to the image.
                        Discrete Cosine Transforms
DCTFwdInitAlloc Allocates memory and fills in context data needed for the forward DCT function to operate
DCTInvInitAlloc Allocates memory and fills in context data needed for the inverse DCT function to operate
DCTFwdFree Deallocates memory used by the forward DCT context structure.
DCTInvFree Deallocates memory used by the inverse DCT context structure.
DCTFwdGetBufSize Determines the size of an external work buffer that can be used by the forward DCT function
DCTInvGetBufSize Determines the size of an external work buffer that can be used by the inverse DCT function
DCTFwd Performs a forward DCT of an image
DCTInv Performs an inverse DCT of an image
DCT8x8Fwd Performs a forward DCT on a buffer of 8x8 size
DCT8x8Inv, DCT8x8Inv_A10 Performs an inverse DCT on a buffer of 8x8 size
DCT8x8FwdLS Performs a forward DCT on a 2D buffer of 8x8 size with level shift
DCT8x8InvLSClip Performs an inverse DCT on a 2D buffer of 8x8 size with level shift
DCT8x8To2x2Inv, DCT8x8To4x4Inv Perform an inverse DCT on a 2D buffer of 8x8 size with further downsampling to 2x2 or 4x4 size
DCT8x8Inv_2x2, DCT8x8Inv_4x4 Perform an inverse DCT on a top left quadrant 2x2 or 4x4 of the buffer of 8x8 size

To speed up performance, linear transform functions use precomputed auxiliary data that is needed for computation of the transforms (that is, tables of twiddle factors for FFT functions). This data is calculated by the respective initialization functions and passed to the transform functions in context structures specific for each type of transform.

Most linear transform functions in Intel IPP have code branches that implement different algorithms to compute the results. You can choose the desired code variety to be used by the transform function by setting the hint argument to one of the values listed in Table “Hint Arguments for Linear Transform Functions”:

Hint Arguments for Linear Transform Functions
Value Description
ippAlgHintNone The computation algorithm will be chosen by the internal function logic.
ippAlgHintFast Fast algorithm must be used. The output results will be less accurate.
ippAlgHintAccurate High accuracy algorithm must be used. The function will need more time to execute.

Intel IPP linear transform functions can use external work buffers for storing data and intermediate results, which eliminates the need to allocate and free internal memory buffers and thus helps to further increase function performance. To determine the required work buffer size, use one of the respective support functions specific for each transform type. In case when no external buffer is specified, the transform functions handle memory allocation internally.

All Intel IPP linear transform functions except DCT of 8x8 size work on images with floating-point data only.


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.