IMAGE DATA TYPES

Posted on
  • Saturday, June 18, 2011
  • by
  • bala subrahmanyam
  • in
  • Labels:
  • 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.

    0 comments:

    Post a Comment

     
    Copyright (c) 2010 jntukme by Balu