With update 1.10, it is possible to create Truecolor models and apply them to the Perception Core.
Truecolor Streams can be sent as 8Bit RGB (3* 8Bit) or 16Bit RGB (3 * 16Bit). Available color formats are XYZ, Lab and sRGB. The pixel values of the streams
are scaled to use the full range of the selected bitdepth range. Thus, the values need to be converted at the receiver site. The following table shows the conversion
for all formats and bitdepth combinations.
v = Transmitted Pixel Value
Bitdepth | Color Format | Value Name | Value Range | Transmitted Range (v) | Transformation |
---|---|---|---|---|---|
8Bit RGB (3* 8Bit) | XYZ | X | [0, 100] float | [0, 255] uint8 | = v * (100 / 255) |
Y | [0, 100] float | [0, 255] uint8 | = v * (100 / 255) | ||
Z | [0, 100] float | [0, 255] uint8 | = v * (100 / 255) | ||
8Bit RGB (3* 8Bit) | Lab | L | [0, 100] float | [0, 255] uint8 | = v * (100 / 255) |
a | [-128, 128] float | [0, 255] uint8 | = v * (255 / 255) - 128 | ||
b | [-128, 128] float | [0, 255] uint8 | = v * (255 / 255) - 128 | ||
8Bit RGB (3* 8Bit) | sRGB | R | [0, 1] float | [0, 255] uint8 | = v * (1 / 255) |
G | [0, 1] float | [0, 255] uint8 | = v * (1 / 255) | ||
B | [0, 1] float | [0, 255] uint8 | = v * (1 / 255) | ||
16Bit RGB (3 * 16Bit) | XYZ | X | [0 - 100] float | [0, 65535] uint16 | = v * (100 / 65535) |
Y | [0 - 100] float | [0, 65535] uint16 | = v * (100 / 65535) | ||
Z | [0 - 100] float | [0, 65535] uint16 | = v * (100 / 65535) | ||
16Bit RGB (3 * 16Bit) | Lab | L | [0 - 100] float | [0, 65535] uint16 | = v * (100 / 65535) |
a | [-128, 128] float | [0, 65535] uint16 | = v * (255 / 65535) - 128 | ||
b | [-128, 128] float | [0, 65535] uint16 | = v * (255 / 65535) - 128 | ||
16Bit RGB (3 * 16Bit) | sRGB | R | [0, 1] float | [0, 65535] uint16 | = v * (1 / 65535) |
G | [0, 1] float | [0, 65535] uint16 | = v * (1 / 65535) | ||
B | [0, 1] float | [0, 65535] uint16 | = v * (1 / 65535) |