IDS peak ICV v1.5.0
Loading...
Searching...
No Matches
Pixel and Pixel Format Specifications

Pixel

A pixel (short for picture element) is the smallest addressable spatial unit in a digital image. Each pixel corresponds to a specific point in the image grid and contains one or more channels, depending on the image type and format. These channels store data such as color components (e.g., red, green, and blue), intensity, depth, confidence, or alpha transparency. The combination of these channel values defines the full content of a pixel. How these values are encoded is determined by the pixel format.

Pixel Format

A pixel format defines how the data within each pixel is structured, stored, and interpreted. It specifies:

  • What kind of information each pixel contains (e.g., color, intensity, depth, confidence)
  • How many bits are used to represent that information (bit depth)
  • How the data is laid out in memory (e.g., packed or unpacked)
  • The order and meaning of channels (e.g., RGB, BGR, Mono, BayerRG)

The pixel format ensures that software and hardware components interpret image data consistently and correctly. It is essential for image acquisition, processing, compression, and display pipelines.

Key Elements of a Pixel Format

Pixel Data Type
Specifies the type of data each pixel contains. This can include color images (e.g., RGB), intensity (Mono), raw data (Bayer), spatial coordinates (Coord3D), confidence values (Confidence), or other information types.

Bit Depth and Data Type
Indicates the number of bits used per channel (e.g., 8, 10, 32). Higher bit depths provide greater precision or dynamic range. Additionally, the suffix f indicates a floating-point data type rather than an integer.

Packing Method
Describes how pixel data is stored in memory:

  • Unpacked: Each channel or value is aligned to a full byte or word.
  • Packed: Data is compressed into fewer bits, reducing memory or bandwidth usage, indicated by suffix p
  • Grouped: Bits from multiple pixels are combined in a custom arrangement (e.g., g12 for 12-bit grouping).
  • Interleaved: Bits from multiple images are combined in a custom arrangement (e.g., A_B for one row being image A and the next row being image B)

Channel Order
Defines the sequence of channel values within a pixel (e.g., RGB vs. BGR).

Pixel Order
Specifies the arrangement of color filters in a Bayer pattern (e.g, BayerRG).

Monochrome Formats

Monochrome pixel formats begin with the prefix Mono, followed by the bit depth (e.g., 8, 10, 12), and optionally include an indicator: p for packed, f for float, g for grouped or i for interleaved formats.

Data representation of monochrome pixel formats

Pixel format Bit depth Data size per pixel
Mono8 8 1 byte = 8 bit
Mono8_I_A_B 8 1 byte = 8 bit
Mono8_I_AB_CD 8 1 byte = 8 bit
Mono10 10 2 byte = 16 bit
Mono10_I_A_B 10 2 byte = 16 bit
Mono10_I_AB_CD 10 2 byte = 16 bit
Mono12 12 2 byte = 16 bit
Mono12_I_A_B 12 2 byte = 16 bit
Mono12_I_AB_CD 12 2 byte = 16 bit
Mono16 16 2 byte = 16 bit
Mono32f 32 4 byte = 32 bit
Mono10p 10 1.25 byte = 10 bit
Mono10p_I_A_B 10 1.25 byte = 10 bit
Mono10p_I_AB_CD 10 1.25 byte = 10 bit
Mono12p 12 1.5 byte = 12 bit
Mono12p_I_A_B 12 1.5 byte = 12 bit
Mono12p_I_AB_CD 12 1.5 byte = 12 bit
Mono10g40 10 1.25 byte = 10 bit
Mono10g40_I_A_B 10 1.25 byte = 10 bit
Mono10g40_I_AB_CD 10 1.25 byte = 10 bit
Mono12g24 12 1.5 byte = 12 bit
Mono12g24_I_A_B 12 1.5 byte = 12 bit
Mono12g24_I_AB_CD 12 1.5 byte = 12 bit

RAW Bayer Formats

RAW Bayer pixel format names begin with the Bayer color filter pattern (e.g., BayerRG), followed by the bit depth (8, 10, 12), and optionally include an indicator: p for packed or g for grouped formats.

Data representation of RAW Bayer pixel formats

Pixel format Bit depth Pixel Color Filter Data size per pixel
BayerRG8 8 BayerRG 1 byte = 8 bit
BayerRG8_I_A_B 8 BayerRG 1 byte = 8 bit
BayerRG10 10 BayerRG 2 byte = 16 bit
BayerRG10I_A_B 10 BayerRG 2 byte = 16 bit
BayerRG12 12 BayerRG 2 byte = 16 bit
BayerRG12I_A_B 12 BayerRG 2 byte = 16 bit
BayerRG10p 10 BayerRG 1.25 byte = 10 bit
BayerRG10pI_A_B 10 BayerRG 1.25 byte = 10 bit
BayerRG12p 12 BayerRG 1.5 byte = 12 bit
BayerRG12pI_A_B 12 BayerRG 1.5 byte = 12 bit
BayerRG10g40 10 BayerRG 1.25 byte = 10 bit
BayerRG10g40I_A_B 10 BayerRG 1.25 byte = 10 bit
BayerRG12g24 12 BayerRG 1.5 byte = 12 bit
BayerRG12g24I_A_B 12 BayerRG 1.5 byte = 12 bit
BayerGR8 8 BayerGR 1 byte = 8 bit
BayerGR8I_A_B 8 BayerGR 1 byte = 8 bit
BayerGR10 10 BayerGR 2 byte = 16 bit
BayerGR10I_A_B 10 BayerGR 2 byte = 16 bit
BayerGR12 12 BayerGR 2 byte = 16 bit
BayerGR12I_A_B 12 BayerGR 2 byte = 16 bit
BayerGR10p 10 BayerGR 1.25 byte = 10 bit
BayerGR10pI_A_B 10 BayerGR 1.25 byte = 10 bit
BayerGR12p 12 BayerGR 1.5 byte = 12 bit
BayerGR12pI_A_B 12 BayerGR 1.5 byte = 12 bit
BayerGR10g40 10 BayerGR 1.25 byte = 10 bit
BayerGR10g40I_A_B 10 BayerGR 1.25 byte = 10 bit
BayerGR12g24 12 BayerGR 1.5 byte = 12 bit
BayerGR12g24I_A_B 12 BayerGR 1.5 byte = 12 bit
BayerGB8 8 BayerGB 1 byte = 8 bit
BayerGB8I_A_B 8 BayerGB 1 byte = 8 bit
BayerGB10 10 BayerGB 2 byte = 16 bit
BayerGB10I_A_B 10 BayerGB 2 byte = 16 bit
BayerGB12 12 BayerGB 2 byte = 16 bit
BayerGB12I_A_B 12 BayerGB 2 byte = 16 bit
BayerGB10p 10 BayerGB 1.25 byte = 10 bit
BayerGB10pI_A_B 10 BayerGB 1.25 byte = 10 bit
BayerGB12p 12 BayerGB 1.5 byte = 12 bit
BayerGB12pI_A_B 12 BayerGB 1.5 byte = 12 bit
BayerGB10g40 10 BayerGB 1.25 byte = 10 bit
BayerGB10g40I_A_B 10 BayerGB 1.25 byte = 10 bit
BayerGB12g24 12 BayerGB 1.5 byte = 12 bit
BayerGB12g24I_A_B 12 BayerGB 1.5 byte = 12 bit
BayerBG8 8 BayerBG 1 byte = 8 bit
BayerBG8I_A_B 8 BayerBG 1 byte = 8 bit
BayerBG10 10 BayerBG 2 byte = 16 bit
BayerBG10I_A_B 10 BayerBG 2 byte = 16 bit
BayerBG12 12 BayerBG 2 byte = 16 bit
BayerBG12I_A_B 12 BayerBG 2 byte = 16 bit
BayerBG10p 10 BayerBG 1.25 byte = 10 bit
BayerBG10pI_A_B 10 BayerBG 1.25 byte = 10 bit
BayerBG12p 12 BayerBG 1.5 byte = 12 bit
BayerBG12pI_A_B 12 BayerBG 1.5 byte = 12 bit
BayerBG10g40 10 BayerBG 1.25 byte = 10 bit
BayerBG10g40I_A_B 10 BayerBG 1.25 byte = 10 bit
BayerBG12g24 12 BayerBG 1.5 byte = 12 bit
BayerBG12g24I_A_B 12 BayerBG 1.5 byte = 12 bit

Color Formats

Color pixel format names start with either RGB or BGR, indicating the order of the color channels. This is optionally followed by an a to denote the presence of an alpha channel (opacity). After that comes the bit depth (8, 10, 12), optionally followed by the indicator p for packed formats or f for float formats.

Data representation of multi channel color pixel formats

Pixel format Bit depth Channels Data size per pixel
RGB8 8 Red, Green, Blue 3 byte = 24 bit
RGB10 10 Red, Green, Blue 6 byte = 48 bit
RGB12 12 Red, Green, Blue 6 byte = 48 bit
RGB32f 32 Red, Green, Blue 12 byte = 96 bit
RGB10p32 12 Red, Green, Blue 4 byte = 32 bit
BGR8 8 Blue, Green, Red 3 byte = 24 bit
BGR10 10 Blue, Green, Red 6 byte = 48 bit
BGR12 12 Blue, Green, Red 6 byte = 48 bit
BGR10p32 12 Blue, Green, Red 4 byte = 32 bit
RGBa8 8 Red, Green, Blue, Alpha 4 byte = 32 bit
RGBa10 10 Red, Green, Blue, Alpha 8 byte = 64 bit
RGBa12 12 Red, Green, Blue, Alpha 8 byte = 64 bit
BGRa8 8 Blue, Green, Red, Alpha 4 byte = 32 bit
BGRa10 10 Blue, Green, Red, Alpha 8 byte = 64 bit
BGRa12 12 Blue, Green, Red, Alpha 8 byte = 64 bit

Confidence Formats

Confidence pixel formats begin with the prefix Confidence, followed by the bit depth (8, 16).

Data representation of Confidence pixel formats

Pixel format Bit depth Data size per pixel
Confidence8 8 1 byte = 8 bit
Confidence16 16 2 byte = 16 bit

Coord3D Formats

These pixel formats represent 3D data. Their names start with Coord3D_, followed by the coordinate components included (ABC, C), and the bit depth (8, 16, 32f). The suffix f indicates a floating-point data type.

Data representation of Coord3D pixel formats

Pixel format Bit depth Data type Coordinates Data size per pixel
Coord3D_C8 8 8 bit int C 1 byte = 8 bit
Coord3D_C16 16 16 bit int C 2 byte = 16 bit
Coord3D_C32f 32 32 bit float C 4 byte = 32 bit
Coord3D_ABC32f 32 32 bit float ABC 12 byte = 96 bit

YUV Formats

YUV pixel formats start with the prefix YUV, followed by the pixel encoding (420, 422), the bit depth (8), and the data layout type (YY_UV, YY_VU, UYVY).

Data representation of YUV pixel formats

Pixel format Bit depth Data size per pixel
YUV420_8_YY_UV_Semiplanar 8 1.5 byte = 12 bit
YUV420_8_YY_VU_Semiplanar 8 1.5 byte = 12 bit
YUV422_8_UYVY 8 2 byte = 16 bit