Possible LUT based calibration issues

Technically, it is impossible for ColourSpace to generate an inaccurate 3D Calibration LUT, as the ColourSpace Colour Engine will always generate the perfect LUT based on the profile used.

The only way that an incorrect LUT can be generated is if the profile data is incorrect/invalid, or if the application of the LUT is in some way at fault.

LUT verification is the only way to assess the accuracy of any calibration, and it is a critical process that needs to be fully understood, especially when the reported verification results show the calibration to be inaccurate. Where do the errors potentially reside, and why?

The information contained within this page will point out where LUT Calibration issues can reside, and how to understand their causes.


Calibration & Verification

The concept of verifying a calibration by running a second profile sequence should be rather obvious, and in simple terms makes perfect sense.

After calibrating the display, following the instructions in the 3D LUT Calibration guide, and the Hardware Integration specific User Guides as needed, any post-calibration verification process should then prove the accuracy of the final calibration. The performed calibration should compensate for any signal path errors, should it not?

Unfortunately, the answer is often no...


LUT Accuracy

The first thing to realise is that ColourSpace cannot introduce any colour or grey scale errors into any generated LUT by its own actions/processing.

It is simply mathematically impossible.

The only way that any incorrect values can be added to any ColourSpace generated LUT is if the profile data is incorrect/invalid.

Such invalid/inaccurate measurements are obviously possible if the probe in use is not providing accurate readings throughout the volumetric display range, or the display itself is unstable, or if the TPG used is itself inaccurate.

Due to the understandable desire to assess grey scale as a separate entity to the full volumetric colour, such errors can be more easily visible, compared to the rest of the volumetric colours.

However, It must be remembered that there is no such thing as a grey scale as a separate entity compared to all other colours. All colour points are equally valid in all display calibration. Consequently, if there are invalid readings anywhere within the measured colour volume - not just the measured grey scale - the resulting calculated 3D LUT will contain inaccuracies.

This therefore means that when a calibration result appears to show any colour inaccuracies, in the grey scale, or anywhere within volumetric colour, the underlying profile data used to generate LUT will be the cause of such errors (assuming the application of the LUT is not at fault... which is also a possibility, as explained below).

The following explains the possible issues that can cause a less then perfect calibration result.

Generating a LUT using Peak Chroma, and then a second LUT using Hybrid, is a good method to assess if the profile data has invalid/incorrect measurements, as a profile that has no invalid/incorrect measurements will produce an identical LUT.


Active LUT vs. LUT Upload

To understand potential Calibration & Verification Errors it is best to initially look at the simplest LUT verification workflow, using a display with internal LUT capability and profiling via a direct HDMI connection from the ColourSpace PC.

Direct HDMI Profiling

With a Direct Profiling configuration, the HDMI output from the ColourSpace laptop is connected to the display's HDMI input, enabling direct profiling, as described in the HDMI User Guide.

It is also assumed the HDMI signal is RGB, and NOT YCbCr - see later!

In this profiling workflow the RGB triplet patch values, as defined by ColourSpace, are directly displayed on the monitor via the HDMI connection (assuming there are no active ICC profiles, or incorrect Graphics Card/Chip Set configurations, as defined in the HDMI User Guide), ensuring the values measured by the probe are as expected for the TPG triplet as defined by ColourSpace, and as accurate as the probe's inherent capabilities, and display stability.

Based on this direct profiling, the 3D calibration LUT generated will, in turn, be as accurate as it can be, based on the probe's reading accuracy, and the stability of the display.

Direct HDMI
Active LUT

After LUT Generation, the first verification step is to run a profile using the Active LUT capability within ColourSpace.

The Active LUT capability effectively proves the underlying LUT calibration accuracy by passing the patch colour data through the LUT, before sending the patch to the display via the HDMI connection.

As a result, the patch colour displayed will have been corrected by the LUT, and the probe will read the new, corrected value, effectively proving the accuracy of the calibration.

The next step is to Upload the LUT into the display (as for this example the display has 3D LUT capability), and again re-profile.

Ideally, both verification profiles will match exactly, and the calibration will be perfectly accurate.

So, what could be wrong?

In this example, theoretically very little, as the workflows is very simple, assuming the instructions on the management of ICC profile and Graphics Card/Chip Set configurations have been performed correctly.

Even though the Active LUT and the actual LUT Upload into the display are in different location the simple RGB signal path minimises potential signal path issues.

The following shows the signal and profiling patch for the Active LUT.

ColourSpace Active LUT Verification
  1. ColourSpace
    Patch Generation

    Patch colour defined by ColourSpace, and sent to display as a HDMI RGB signal

  2. Patch Display
    Patch Generator

    ColourSpace Test Patch Generator (TPG) located before the LUT

  3. Calibration LUT
    Active LUT

    Active LUT held with ColourSpace, modifies the patch colour before sending to the display

  4. HDMI Cable
    HDMI Connection

    HDMI RGB connection to the display

  5. Display Profiling
    Display Measurement

    Active LUT corrected patch colour displayed and measured on monitor

And the following shows the signal and profiling path when the LUT is uploaded directly into the display.

Display Uploaded LUT Verification
  1. ColourSpace
    Patch Generation

    Patch colour defined by ColourSpace, and sent to display as a HDMI RGB signal

  2. Patch Display
    Patch Generator

    ColourSpace Test Patch Generator (TPG) located before the display, and the uploaded LUT

  3. HDMI Cable
    HDMI Connection

    HDMI RGB connection to the display

  4. Calibration LUT
    Uploaded LUT

    LUT uploaded into the display modifies the patch colour

  5. Display Profiling
    Display Measurement

    LUT corrected patch colour displayed and measured on monitor

As can be seen, there is theoretically little to go wrong, as the LUT should have the same effect on the signal when an Active LUT, and when Uploaded into the display. And as the signal profiling path is direct and simple, with little potential for unexpected distortion, the generated calibration LUT will be as accurate as possible.

If there are any differences between the two verifications, that points to some form of variation in the effect of the LUT when uploaded into the display vs. the Active LUT held within ColourSpace. Such variations could be LUT size (with the display Upload using a LUT size that is smaller than the internal ColourSpace size), or the need to apply a Video Scale process to the LUT before uploading if the display signal path is TV Legal, or can be down to poor signal processing within the display itself (or LUT Box, or software system using the LUT). It is LUT Processing issues that are the worse, as they cannot be corrected, as follows.


LUT Processing

LUT Processing errors are caused by poor signal processing within the display, LUT box, or graphics program, causing the output of LUT to be incorrect. A good example of this was the BMD HDLink Pro, which distorted any LUT loaded into it.

Unfortunately, some displays have similar issues.

The following shows just the grey scale (RGB Balance) results of the same calibration LUT verified within ColourSpace via Active LUT vs. the same LUT Uploaded into a display. As can be seen, the Uploaded LUT shows significant errors that are not present in the Active LUT verification.

Active LUT
Active LUT
Uploaded LUT
Uploaded LUT

The above comparison clearly shows that the LUT processing within the display is distorting the LUT calibration accuracy. While only RGB Balance is shown, similar errors will exist throughout the volumetric colour, and not just in the grey scale.

Unfortunately, such issues can only be overcome by the manufacturer correcting their image processing.
(While it may be possible to concatenate multiple LUTs, generated from multiple profiles with each LUT Uploaded, the results will never be ideal/accurate.)

The above assumes the TPG is accurate, as an inaccurate TPG will itself cause calibration issues - see the following.


TPG Processing

Another real potential for errors is the Test Patch Generator (TPG), as it is possible that any patch generator may interpret the RGB triplet patch values sent by ColourSpace incorrectly. Therefore the measurement values recorded by the probe would not match the correct calibrated values, and so provide inaccurate calibration, and inaccurate verification.

For example, this is true of the LG WOLED internal TPG, which is not bit-accurate to the sent triplet values, and also with many software TPGs that run on devices such as Chromecast, Shield, FireStick, Apple TV, etc. The accuracy can depend on the hardware device, or the software TPG used. For example, LightSpace Connect has proven to be accurate in many applications, while the Calman VirtualForge has not.

The following shows the basic similarity with display internal TPG, and 3rd party external TPG applications.

Display Internal TPG
  1. ColourSpace
    Patch Generation

    Patch colour defined by ColourSpace, and sent to display as RGB Triplet values via Network/USB connection

  2. HDMI Cable
    Data Connection

    USB/Network data connection to the display

  3. Patch Display
    Patch Generator

    Display Internal Test Patch Generator (TPG) located before the LUT

  4. Calibration LUT
    Uploaded LUT

    LUT uploaded into the display modifies the patch colour as defined by the RGB Triplet colour data

  5. Display Profiling
    Display Measurement

    LUT corrected patch colour displayed and measured on monitor

3rd Party External TPG
  1. ColourSpace
    Patch Generation

    Patch colour defined by ColourSpace, and sent to external TPG as RGB Triplet values via Network/USB connection

  2. HDMI Cable
    Data Connection

    USB/Network data connection to the external TPG

  3. Patch Display
    3rd Party External Patch Generator

    3rd Party External Test Patch Generator (TPG) located before the display

  4. HDMI Cable
    Video Connection

    Video connection from the TPG to the display

  5. Calibration LUT
    Uploaded LUT

    LUT uploaded into the display modifies the patch colour as defined by the TPG

  6. Display Profiling
    Display Measurement

    LUT corrected patch colour displayed and measured on monitor

Depending on the location of the TPG, the potential for errors can stem from the display being YCbCr based, with errors in the conversion of the ColourSpace RGB Triplet patch values into YCbCr values for the TPG, and also within the re-conversion of the YCbCr values back into RGB before passing through the calibration LUT (as all 3D LUTs are RGB based) and then displayed on the display screen (again, as all display screens are RGB).

There can just as easily be issues with the TPG just not being accurate, and not displaying the ColourSpace defined Patch Triplet values correctly.

Internal TPG
Internal TPG
External TPG
External TPG

The above examples show an accurate External TPG vs. an inaccurate display Internal TPG, with both the low-light and high-light areas showing errors with the Internal TPG. The consequence is that any calibration LUT generated from the Internal TPG profile will not be accurate.


Signal Processing

Signal Processing issues are where the video processing distorts the image signal in an unexpected, and inaccurate way, and can cause serious problems if the image path is more complex, and uses a number of different hardware components.

This can be a serious issue with displays with Internal TPGs, as if there are any signal path distortions prior to the location of the TPG, the internal TPG patches will not compensate for the signal path, making any generated LUT inaccurate.

The issue with signal path processing errors is they can be difficult to spot, as an internal TPG positioned after the signal processing will not reveal any problems. An external TPG, that send the patches through the full signal path, is required to spot calibration issues.

Signal Path Image Processing Errors - Internal TPG
  1. ColourSpace
    Patch Generation

    Patch colour defined by ColourSpace, and sent to display as RGB Triplet values via Network/USB connection

  2. HDMI Cable
    Data Connection

    USB/Network data connection to the display TPG

  3. Signal Processing
    Signal Path Processing

    Video electronics distorts normal image signal, but is bypassed by the TPG signal

  4. Patch Display
    Patch Generator

    Display Internal Test Patch Generator (TPG) located after the signal processing

  5. Calibration LUT
    Uploaded LUT

    LUT uploaded into the display modifies the patch colour as defined by the RGB Triplet colour data

  6. Display Profiling
    Display Measurement

    LUT corrected patch colour displayed and measured on monitor

In the above signal path the video processing electronics adds a distortion to any real image signal, before it reaches the screen.
(The video processing can be within the display, or any external video processing system within the signal path.)

As a workflow example, a skin tone colour with triplet value (145, 107, 113) is sent to the display. The video processing electronics distorts the triplet values to 146, 105, 114, and it is that value that is then displayed on the screen.

However, when ColourSpace sends a patch triplet value to the displays TPG of the same original value (145, 107, 113), that is the colour the TPG shows on the display screen, as it is not distorted by the video processing electronics.

Therefore, the Calibration LUT generated will be inaccurate, as it will not compensate for the distortion introduced by the video processing electronics.

The potential for such signal path issues is an extremely valid reason for an external TPG to always be used as the input to the whole signal path chain.

Signal Path Image Processing Errors - External TPG
  1. ColourSpace
    Patch Generation

    Patch colour defined by ColourSpace, and sent to external TPG as RGB Triplet values via Network/USB connection

  2. HDMI Cable
    Data Connection

    USB/Network data connection to the display TPG

  3. Patch Display
    3rd Party External Patch Generator

    External Test Patch Generator (TPG) located before the signal processing
    (Could also be Direct HDMI TPG from ColourSpace laptop)

  4. HDMI Cable
    Video Connection

    Video connection from the TPG to the display

  5. Signal Processing
    Signal Path Processing

    Video electronics distorts the TPG signal, as well as normal image signals

  6. Calibration LUT
    Uploaded LUT

    LUT uploaded into the display modifies the patch colour as defined by the RGB Triplet colour data

  7. Display Profiling
    Display Measurement

    LUT corrected patch colour displayed and measured on monitor

In the above signal path the video processing electronics adds a distortion to both the patch colour, as well as any real image signal, before it reaches the screen.
(The video processing can be within the display, or any external video processing system within the signal path.)

As a workflow example, a skin tone patch with triplet value (145, 107, 113) is defined within ColourSpace, and sent to the display. The video processing electronics distorts the triplet values to 146, 105, 114, and it is that triplet value that is then displayed on the screen and is the resulting colour measured by the probe.

When ColourSpace generates a calibration LUT it will generate a correction within the LUT that corrects for the colour the display showed, which includes a correction for the distortion introduced by the video processing electronics.

However, the LUT correction will have a different result depending on where in the video path the LUT is then located...

If the LUT is positioned before the video processing electronics it will apply the correction to the signal in advance of the error being introduced. So, the 145, 107, 113 value will be come 144, 109, 112, and when this colour reaches the video processing electronics, the error introduced will most likely not be the same relative error as before, as the colour triplet value is NOT the same! So the LUT correction will now be wrong, as the introduced error will be different!

The LUT must be positioned AFTER the video processing electronics to correct the introduced errors.


LUT Size

The LUT size (LUT Granularity) also has an impact of calibration accuracy, depending on the underlying display issues. Therefore displays or LUT boxes with small internal 3D LUT capability can potentially show different calibration accuracy when the ColourSpace LUT is uploaded.

Large LUT
Large LUT
small LUT
Small LUT

For displays that have poor underlying volumetric colour variation, including grey scale, the difference will be less colour accuracy throughout, as above.

If the display has a stable, linear native response, the main variation will be the level of backlight contamination/colour error within the near black shadow range, due to the lower granularity of the 3D LUT.


Signal Range

The expected signal range for any given display - TV Legal/Extended/Data Range - can also cause calibration errors, if the correct range workflow is not applied.

Errors can be within the signal path, including any TPG in use, or the display itself, or Patch Scale setting within ColourSpace.

Correct Range
Correct Range
Legal Display - Full Range Patches
Legal Display - Full Range Patches
Full Range Display - Legal Patches
Full Range Display - Legal Patches

In the first graph the display has been profiled with a Data range signal, when the display expect a TV Legal range signal.

In the second graph the display has been profiled with a TV Legal range signal, when the display expect a Data range signal.

Comparing the two incorrect grey scale graphs it can be seen that when a display that expect a TV Legal range signal is profiled with a Data range signal, the grey scale is effectively compressed, with the lower (and potentially upper, depending on the display being Super White capable or not) areas showing repeated measurement values.

When a display that expect a Data range signal is profiled with a TV Legal range signal the grey scale is effectively stretched, with the lower and potentially upper areas being clipped, with the measured black being lifted, and peak white being reduced.


LUT Scaling

LUT Scaling can also cause calibration issues when the LUT is uploaded in a display or LUT box.

The most obvious issue is when the 3D LUT within the display or LUT box uses a full-range cube, but the signal path is TV Legal, meaning that the LUT data needs to be scaled to match the TV Legal range within a data range LUT, using the ColourSpace Video Scale function.

Incorrect LUT Scaling
Incorrect LUT Scaling
Incorrect LUT Scaling
Incorrect LUT Scaling

If the LUT is not scaled correct, the gamut will be larger than target, assuming the display's native gamut is also larger than the target gamut, and the grey scale will show unexpected errors.

Incorrect LUT Scaling
Correct LUT Scaling
Correct LUT Scaling
Correct LUT Scaling

With the LUT correctly scaled, the gamut and grey scale match the correct targets, and also match a ColourSpace Active LUT verification.