Pixel Component Unpacking
Unpacking to 16-bit of 10-/12-/14-bit pixel component data
Considering that:
- As specified by the CoaXPress standard, CoaXPress devices deliver packed pixel data,
- Machine vision applications prefer byte or 16-bit aligned pixel component data,
the Coaxlink image pixel data processor performs the unpacking of 10-bit, 12-bit, and 14-bit pixel component data to 16-bit pixel data.
For Coaxlink Driver versions prior to 4.2, the unpacking operation was not configurable: 10-bit, 12-bit, and 14-bit pixel component data were unpacked to 16-bit using the alignment to msb method.
Since version 4.2, the unpacking operation is user-configurable through the UnpackingMode
GenICam feature. Two options are
available:
- Unpacking to lsb.
- Unpacking to msb.
Since version 7.0.1, the unpacking operation can be disabled for
monochrome and Bayer CFA pixels with a third option of the
UnpackingMode
GenICam feature:
- Unpacking off.
Unpacking to lsb – Default
The significant bits of the pixel component data are aligned to the least significant bit of the data container. Padding '0' bits are put as necessary in the most significant bits to reach the next 8-bit boundary.
Input bit depth | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
10-bit | 0 | 0 | 0 | 0 | 0 | 0 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
12-bit | 0 | 0 | 0 | 0 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
14-bit | 0 | 0 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
Unpacking to msb – Optional
The significant bits of the pixel component data are aligned to the most significant bit of the data container. Padding '0' bits are put as necessary in the least significant bits to reach the next 8-bit boundary.
Input bit depth | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
10-bit | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 0 | 0 | 0 | 0 | 0 | 0 |
12-bit | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 0 | 0 | 0 | 0 |
14-bit | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 0 | 0 |
Note: Unpacking 8-bit and 16-bit pixel components is a neutral operation:
- The size of the data container is unchanged: One byte for 8-bit pixel components; two bytes for 16-bit pixel components
- The data bits are not modified
See also in the Reference