Showing posts with label IMAGE DATA TYPES. Show all posts
Showing posts with label IMAGE DATA TYPES. Show all posts

IMAGE DATA TYPES

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 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.
Read More...
 
Copyright (c) 2010 jntukme by Balu