IMAGE DATA TYPES
Image Data Types and Ranges
The Intel IPP image processing functions support only absolute color images in which each pixel is represented by its channel intensities. The data storage for an image can be either pixel-oriented or plane-oriented (planar). For images in pixel order, all channel values for each pixel are clustered and stored consecutively, for example, RGBRGBRGB in case of an RGB image. The number of channels in a pixel-order image can be 1, 2, 3, or 4.
For images in planar order, all image data for each channel is stored contiguously followed by the next channel, for example, RRR...GGG...BBB.
Functions that operate on planar images are identified by the presence of Pn descriptor in their names. In this case, n pointers (one for each plane) may be specified.
The image data type is determined by the pixel depth in bits per channel, or bit depth. Bit depth for each channel can be 8, 16 or 32 and is included in the function name as one of these numbers (see Function Naming for details). Some functions operate with images in 16-bit packed RGB format (see RGB Image Formats in Image Color Conversion for more details). In this case data of all 3 channels are represented as 16u data type. The data may be signed (s), unsigned (u), or floating-point real (f).
For some arithmetic and FFT/DFT functions, data in complex format (sc or fc) can be used, where each channel value is represented by two numbers: real and imaginary part. All channels in an image must have the same data type.
For some arithmetic and FFT/DFT functions, data in complex format (sc or fc) can be used, where each channel value is represented by two numbers: real and imaginary part. All channels in an image must have the same data type.
For example, in an absolute color 24-bit RGB image, three consecutive bytes (24 bits) per pixel represent the three channel intensities in the pixel mode. This data type is identified in function names as the 8u_C3 descriptor, where 8u represents 8-bit unsigned data for each channel and C3 represents three channels.
For another example, in an absolute color 16-bit packed RGB image, two consecutive bytes (16 bits) per pixel represent the three channel intensities in the pixel mode. This data type is identified in function names as the 16u_C3 descriptor, where 16u represents 16-bit unsigned data (not a bit depth) for all packed channels together and C3 stands for three channels.
If an alpha (opacity) channel is present in image data, the image must have four channels, with alpha channel being the last or the first one. This data type is indicated by the AC4 or A0C4 descriptors respectively. The presence of the alpha channel can modify the function’s behavior. For such functions, Intel IPP provides versions with and without alpha. If an alpha channel is specified, the operation usually does not take place on that channel.
The range of values that can be represented by each data type lies between the lower and upper bounds. The following table lists data ranges and constant identifiers used in Intel IPP to denote the respective range bounds:
Image Data Types and Ranges
Data Type | Lower Bound | Upper Bound | ||
Identifier | Value | Identifier | Value | |
8s | IPP_MIN_8S | -128 | IPP_MAX_8S | 127 |
8u | 0 | IPP_MAX_8U | 255 | |
16s | IPP_MIN_16S | -32768 | IPP_MAX_16S | 32767 |
16u | 0 | IPP_MAX_16U | 65535 | |
32s | IPP_MIN_32S | -231 | IPP_MAX_32S | 231-1 |
32u | 0 | IPP_MAX_32U | 232-1 | |
32f† | IPP_MINABS_32F | 1.18E-38 | IPP_MAXABS_32F | 3.40E+38 |
† The range for absolute values
RELATED CONCEPTS
Intel® Integrated Performance Primitives Concepts
This set of topics explains the purpose and structure of the Intel® Integrated Performance Primitives (Intel® IPP) for Intel® Architecture software and looks over some of the basic concepts used in the image and video processing part of Intel IPP. It also describes the supported data formats and operation modes, and defines function naming conventions in the manual.
0 comments:
Post a Comment