Using any TPG (Test Patch Generator) with ColourSpace is basically very simple, although there are some specific setup considerations that have to be taken into account.
- ColourSpace INF/XPT/PRO/CAL/LTE & HTX/HTP/HTL & DPS/ZRO
- Closed Loop Profiling
- Accurate Test Patch Generation
- Variable bit depth
- Accurate Legal Video, Full, & Extended Range
ColourSpace & TPGs
Unlike alternative calibration systems, ColourSpace has the ability to operate with variable bit depths, as well as with accurately defined signal ranges, including Legal Video, Full, & Extended, without requiring the TPG to rescale its output range, or perform bit depth conversion, all of which are inaccurate.
For those users who have upgraded to ColourSpace from alternative calibration systems without such abilities this does mean there are some new workflow requirements to understand.
Set bit depth in ColourSpace to the value for the display input regardless of TPG input limitations
Patch Resolution
When connected to an external TPG that is ColourSpace Integrated, be that a stand alone TPG, LUT Box with TPG capability, or display with in-built TPG, ColourSpace will send the correct triplet value, based on the hardware's specific capabilities.
What this means is if the TPG has a fixed input bit depth, the Resolution bit depth set within ColourSpace is basically irrelevant, as any patch value is defined within ColourSpace in float, before being converted into the correct triplet integer for the TPG in use.
However, if the Resolution set within ColourSpace is a bit depth that is greater than the TPG's input capabilities, there is the potential for duplicate patches being sent, due to multiple output values defined within ColourSpace matching to a single input value for the TPG.
For example, if ColourSpace is set to 10-bit, and the TPG can only accept 8-bit values, every 4 lsb steps in 10-bit will generate the same 8-bit input value for the TPG, as can be seen in the following images.
An example of the above is the DVDO AVLab TPG, as well as the Murideo SIX-G, as while they can output greater than 8-bit, they can only accept 8-bit input triplet values.
Patch Resolution Accuracy
When a TPG cannot natively input the same bit depth triplet value as the signal it outputs there is an accuracy issue, as there will not be an absolute 1:1 ratio between the input triplet value and the output patch colour.
For example, using simple Shift left bit-shifting (multiply x4) an 8-bit input triplet value of 192 grey (75.29% of range) would become 768 in 10-bit, which is 75.07% within the 10-bit range, so a significant difference.
This is because when you just multiply x4, the maximum 8-bit value (255) only reaches 1020, not the true 10-bit maximum of 1023.
Using a more accurate % conversion, the resulting 10-bit value would be 770, which is 75.27%, so closer, but still not accurate.
As a mathematical % conversion in not really viable in many TPGs, what is called Bit-replication, where the most significant bits are copied into the least significant bit of the result, is often used. Using Bit-replication the original 192 grey (75.29%) 8-bit value becomes 771 (75.366%).
The real issue is knowing what any TPG is doping when it is performing its conversion.
And the greater issue is that the calibration system will have no knowledge of the conversion taking place, so when it receive the probe measurement result for the patch value is has sent for reading, it will assume the patch was displayed in the bit depth of the triplet value sent, and process accordingly, with the variations in the possible 10-bit patch not being accounted for.
This is one reason why using ColourSpace set to 10-bit, even with a TGP that can only accept 8-bit input values, can improve accuracy.
It is also an example of why alternative calibration systems, such as Calman, often generate inaccurate results, especially when using a TV's CMS controls when the control points are specified in 10-bit. Ideally you want a true 10-bit workflow, as only ColourSpace can provide, with a true 10-bit TPG, such as PGenerator or SEVEN-G, or as a minimum true 10-bit settings within ColourSpace with an 8-bit input/10-bit output TPG, such as the SIX-G.
Patch Scale
It is also important that any TPG is configured correctly for Patch Scale, as incorrect settings can cause a mismatch between the patch value ColourSpace sends, and therefore expects to be displayed, and the actual patch displayed.
For example, setting Legal Scale within ColourSpace, because the display being profiled is being used within a Legal Video signal path, and also setting Legal within the TPG, can potentially cause double range compression - what is known as double-limiting - with ColourSpace sending Legal Scale triplet values (16-235 in 8-bit), and the TPG then re-compressing the input triplet values on output, causing the range to be compressed again to Legal Scale, resulting in a levels mismatch, with black being lifted to ~30, and white reduced to ~218, causing a reduction in contrast.
In addition to this, most TPGs do not have an option for Extended, meaning the only option is to set the TPG to Full, and use ColourSpace to correctly define Extended when required.
There is yet a further issue with TPGs and Limited range operation, as most TPGs provide YCbCr options, either 444 or 422, usually with the specified range as being Limited, or 16-235. The issue is this is not necessarily defining that the output range will be Limited to Legal (16-235), but rather that when using those options ColourSpace must be set to Legal Scale for the TPG to operate correctly, and Full or Extended must not be used.
Obviously, this goes against the info above on Double-Limiting.
Confusing, I know...
Patch Scale Accuracy
If the TPG is performing range conversion, either taking Full Scale triplets and conversion into Legal, or vice versa, there will be rounding issues with the resulting triplet values.
For example, a Full 8-bit 0-255 input mapped to a Legal 16-235 output will duplicate some patch values, while for the inverse, with a Legal 16-235 input mapped to a Full 0-255 output, some values will be skipped.
This happens because Full 8-bit has 256 steps, while Legal has only 220 steps, making accurate integer conversion impossible. Extended is different again, with 240 steps.
This is why setting the TPG to Full, and defining the actual Patch Scale within ColourSpace is the better choice, as the output triplet value will then be bit-accurate.
Additionally, if using YCbCr with a TPG, and ColourSpace is not set to Legal Scale, the TPG output will potentially be incorrect, especially for non-Grey Scale patch colours. Not a ColourSpace issue, but a restriction of YCbCr use with TPGs.
BG Colour, Stabilisation, & Drift
After setting Patch Scale & Resolution, BG Colour, Stabilisation, & Drift can be set to alternate colour values that can be beyond the Patch Scale limits, such as placing the BG colour to zero, with Patch Scale minimum set to 16 (8-bit).
(BG Colour, Stabilisation, and Drift patches are always set via 8-bit values.)