Advanced ColourSpace Operation

ColourSpace uses no fixed workflows for any form of calibration, instead providing a selection of powerful tools that can be applied as required.

With this approach a user with knowledge and understanding of the requirements for calibration and colour management can apply the various tools in different ways to generate the best possible end result, to a far better level than systems that use fixed management workflows.

The following outlines some of the possible ways the tools within ColourSpace can be applied to generate alternative end results.


Advanced ColourSpace Tips & Tricks


Reading ColourSpace Graphs

The graphs within ColourSpace provide a high level of feedback on the calibration status of any display, including traditional 2D charts as well as unique volumetric 3D graphs, all fully interactive, sizeable, colour coded for dE errors, including error Tangent lines. Double clicking any point within any graph will select the given point, updating the Manual Measure window data, and enable the pop-up Point Info dialogue window.

Each graph can be cloned-out of the main Profiling window multiple times, enabling user defined layouts to be configured and different graphs to be viewed simultaneously, single graphs made full screen size, or any combination of different graphs and sizes.

CIE Graphs

The Tangent Lines in the CIE graphs show the direction and numerical xy or uv value of any error. Double clicking any point will select the given point, updating the Manual Measure window data, and enable the pop-up Point Info dialogue window.

The selected point is indicated by a white surround circle within the 2D CIE graphs, and by a cross within the 3D graphs.

CIE 2D
CIE 2D
CIE 3D
CIE 3D

The above 2D CIE graph shows the selected point error as a xy offset, with the Tangent Line defining where the colour value should be, compared to the actual measurement. The error is shown only in 2 dimensions, purely as a gamut error.

In comparison, the 3D CIE graphs show the same selected point, with the Tangent Line this time defining the associated Luma error component, as the Tangent Line shows both horizontal as well as vertical error.

Within the 3D CIE graphs a purely vertical Tangent Line indicates a Luma error, which a purely horizontal line indicated a Gamut error, with a diagonal Tangent Line showing a combination error.

The Targets Only option with Graph Options reverses the graph Tangent Line displays, as well as showing the actual location, and colour, of each measured point.

Cube Graphs

The Cube graphs can initially be a little more difficult to interpret, but actually provide a high level of useful information on any display calibration.

A good way to initially start to assess the Cube graphs is to rotate the cube to place it on end, like a diamond, with the black point at the bottom, and the white at the top.

RGB Cube Primary & Secondary
RGB Cube Primary & Secondary
RGB Cube All Axis
RGB Cube All Axis

The first Cube graph shows a Grey, Primary & Secondary profile, with each colour axis (R,G,B,C,M,Y) plotted from black to 100% colour.
(It can be beneficial to watch the plots being generated during the Primary & Secondary profiling.)

The second Cube graph shows a plot of all main axis, with each primary and secondary colour plotted for each edge axis, as well as between black and white.
(The graphs are displayed in Target Only mode, so show the actual patch values.)

RGB Cube Luma Error
RGB Cube Luma Error
RGB Cube Gamut Error
RGB Cube Gamut Error

Luma error Tangent Lines are plotted along an axis extending from the black point, through the measured colour point, as shown in the first graph above, which plots a profile that has a higher luma than the Target colour space.

Gamut error Tangent Lines are plotted on an axis from the grey scale, through the measured colour point, as shown in the second graph above, which plots a profile that has a low gamut compared to the Target colour space.

Understanding the above makes it possible to read the Cube graphs regardless of their orientation.

EOTF Graphs

The two EOTF graphs should be used together to help define any EOTF (Gamma) errors, as well as the secondary Error option for the main EOTF graph.

The EOTF graphs plots the grey scale against the defined colour space EOTF, including any luminance errors, while the Dif EOTF graph plots just EOTF errors.

EOTF values are effectively inverted as to the effect any error has on the displayed image - a high EOTF value will generate a darker image, and a low EOTF value will generate a brighter image.

EOTF
EOTF
Dif EOTF Error
EOTF Error

The EOTF graph above shows the profile has a peak luma error compared to the target colour space, as well as lifted (brighter) gamma in the shadows, and low (darker) gamma in the mid's and highlights (specifically in the blue channel) - with the peak luma error appearing to show a high (lifted) gamma, which is not technically correct, as it is a high peak luma.
(Technically, the Zero and 100% points have no EOTF/Gamma value.)

The Error option for the EOTF graph plots absolute luma errors, relative to the target Min/Max Luma.

Dif EOTF
Dif EOTF

The Dif EOTF is a relative graph, and doesn't include luma errors. However, the plot backs-up the gamma errors shown in the EOTF graph, with lifted gamma in the shadows, and low gamma in the mid's and highlights (specifically in the blue channel).

Plotting luma errors as part of the EOTF graph is needed, as for true calibration the target colour space should always be the default standard, and not use the display's measured Min/Max luma values. The Dif EOTF graph is a relative graph, so doesn't include luma errors.

The first and last points of the Dif EOTF graph are interpolated, as the points have no effective EOTF/Gamma value. However, the interpolated points assist with spotting EOTF errors.

As an example of how the graphs work, the following is a synthetic Rec709 profile that is totally accurate, other than the Peak final Luma point is 0.5 nits too high.

EOTF Peak Point Error
EOTF Peak Point Error
Dif EOTF Peak Point Error
Dif EOTF Peak Point Error

As can be seen, the combined graphs are use to define exactly what the error is, with the Dif EOTF appearing to show a gamma error throughout the whole range, as it is a relative graph, while the EOTF graph show the error is just the final peak measurement.

RGB Separation

The RGB Separation graph shows the individual RGB channels compared to the grey scale, with a poor graph showing display cross-coupling errors.

With a good display, the RGB values necessary to generate a specific colour of grey should be totally independent, such that any change made to any rgb value to correct the grey colour will be equally correct throughout the whole volumetric colour space.

This defines a decoupled ( or non-decoupling) display, where any change made to any RGB channel has no effect on the other channels.

Another way to think of this is from the display's screen perspective. Each pixel is made up of three sub-pixels R, G, and B. If one sub-pixel is sent a stimulus value to change its brightness, the other two sub-pixels should not change at all. If one, or both, of the other sub pixels change, there is cross-coupling happening within the display, and the display is not decoupled.

RGB Separation
RGB Separation

The above RGB Separation graph shows a display with hue/saturation errors within each RGB channel - with each channel error being of a different value.

With a Hue error, altering just the R input stimulus will have an effect on the G and B output from the display, with the same happening for a G or B only input change, causing alterations in the other two channel outputs.

If the hue/saturation error was consistent across all 3 channels, the RGB Separation graph plots would show all three RGB lines overlapping, equally offset from the target diagonal line.

With a saturation error, changing the RGB input input stimulus will have a greater effect on gray, with a lesser effect on the separate RGB outputs, again showing as a RGB Separation error.

LG WOLEDs show how the addition of the white sub-pixel causes RGB Separation issues as brightness increases, as the individual RGB sub pixels no longer equal the much brighter grey patch, as it is artificially booted by the white sub-pixel. The individual RGB channels suffer desaturation as brightness increases.

WOLED RGB Separation
WOLED RGB Separation

For the RGB Separation graph to plot and make valid sense the profile must have the same patches within the Primary RGB patch sequences as within the Grey sequence.

RGB Balance

While the RGB Balance graph is one of the simplest to read, as it displays the grey scale colour accuracy, independently of any luma errors, it is not necessarily as simple as it looks.

The graph uses the target colour space to define the error ratio of R, G, and B when the grey scale is not perfect. Therefore targeting Rec709 vs. Rec2020 or P3 D65 will show different error plots, based on the target colour space selected.

RGB Balance
RGB Balance

RGB Balance takes the current measurement and the current colour space target, and reverse calculates the target's RGB code value that would have actually produced the measured colour. The graph then plots the comparison of the current patch RGB value to the calculated RGB value.

In essence, the RGB Balance graph shows is how much magnitude adjustment of the RGB analogue gains of the display would be required to correct the measured value, and that varies dependent on the target colour space.

The graph plot Y Axis is therefore RGB Measured minus RGB Target, assuming normalised values.

The above graph shows a display with a blue backlight (which is common for most LCD displays), and which can't be corrected without increasing the black level, that becomes neutral grey at around 10% brightness.

Delta-E

The delta-E graphs provide a quick view of the accuracy of the Grey Scale and All measured profile points.

Both delta-E graphs reference the Target Min/Max Luma values defined within setting.

Grey Scale dE
Grey Scale dE
dE Distribution
dE Distribution

The Grey Scale dE graph shows the dE value for every measured point in the grey scale. The lower the plotted line, the better the grey scale calibration accuracy.

The dE Distribution graph shows the number of measured points that have dE values within the displayed range. The further to the left, narrower, and taller, the graph plot, the better the results.

Clip

The Clip graph shows the rate of change for grey scale RGB Channel luminance, based on the target colour space EOTF, white point, with the zero line based on the target Min/Max luma Min/Max luma.

Clip
Clip

Rate of change is a relative value, which means a mismatch of EOTF/Gamma between the Target colour space and the profile will show as a sloping plot, while different Min/Max luma values will show as a global offset of the plot.

Drift

The Drift graph plots the RGB luma values for any drift patched measured during profiling. The zero line if the average of all patches, and any variation from that is shown as a plot deviation in nits.

The drift data can be used when generating a LUT, by applying offsets the real patch measured data according to the localised drift measurements.

Bad Drift
Heat Cycle Drift
Ok Drift
Slow Drift

The first graph shows a display that is heat-cycling during profiling, combined with a full profile cycle cool to warm drift, especially with green. The relatively high-frequency heat cycle variations will cause issues with the accuracy of any generated LUT, and would require a lot of Drift Patches in the original profile to accurately manage the LUT calibration.

The second graph shows a more standard drift plot, with a small full cycle variation, with the displays starting with a cool colour temperature, and ending warmer.


Multi-Primary Colour Engine

ColourSpace includes a selection of unique pre-set Characterisation Quick Profile patch sets that include Secondary Colours. When these patch sets are used, a totally different Multi-Primary colour engine is used during LUT Generation.

+ Patch Sets

The pre-set + patch sets include Grey Ramp RGBCMY+, Grey Ramp RGBCMY Large+, and Grey, Primary & Secondary Ramp+. When these pre-sets are used, the saved profiles will show as + profiles within the library.

These + Patch Sets are especially suitable for WOLED displays, such as for LG TVs, as they invoke a Multi-Primary Colour Engine, without the need for a full volumetric Cube Based profile.

The + profiles will also generate superior results with any display, compared to alternative calibration systems.

+ Patch Sets
+ Patch Sets

When a LUT is generated using + profiles, a unique Multi-Primary Colour Engine is used, enabling calibration accuracy far in excess of alternative options for such small patch set profiles. Often, generating results that are close to, or even equal to, large volumetric Cube Based patch set profiles.

All Cube Based profiles invoke an Infinite-Primary Colour Engine. The new + profiles invoke a new, and unique, Multi-Primary Colour Engine, enabling calibration results that are far beyond what has traditionally bee possible with such small patch sets.

Grey Ramp
Grey Ramp
Grey Ramp+
Grey Ramp+

The above images show a direct comparison of a Grey Ramp RGB profile result vs. Grey Ramp RGBCMY+, on a standard LCD display with a low blue gamut, which would otherwise require a large volumetric profile to calibrate. The improvements with the Multi-Primary Colour Engine are obvious.

The visual artefacts in the Grey Ramp RGB profile result are due to the non-Multi-Primary Colour Engine not having enough profile data to work with to understand how to process the low Blue gamut of the display. A large Volumetric Cube Based profile has the required data, so deals well with the issue.

The fact the + profile also manages the issue well shows just how powerful the new Multi-Primary Colour Engine really is.

User CSV Patch Sets

CSV Plus

User generated .csv patch sets can also be used to enable the Multi-Primary colour engine during LUT generation.

User generated patch sets can vary from the in-built pre-sets, with different grey scale patch values, and different RGBCMY patch values, but must have just one each RGBCMY patch.
(The RGBCMY patch values must match each other, but need not match any grey scale patch value.)

For Grey, Primary & Secondary Ramp+ patch sets, there must be a matching RGBCMY patch for every Grey patch.


CSV Patch Sets

Very uniquely, ColourSpace is not restricted to pre-set patch-set for profiling, and users can define their own profiling sequences as needed.

Such sequences can give very high levels of final accuracy, with far smaller patch sets, so in far quicker time scales, with a high level of final calibration granularity.

Characterisation

Custom Sequences

The Custom option within Characterisation enables any .csv generated patch sequence to be loaded into ColourSpace, and used to define the patch colours during profiling.

Any User .csv Patch Set used for LUT generation must contain a Grey Scale (including 0% black, & 100% white) and at least one of each R, G, & B patches.

The RGB patches should be of the same stimulus value.

  • R: 213, 16, 16
  • G: 16, 213, 16
  • B: 16, 16, 213

Note: If the .csv is a Grey Scale patch set, and includes matching R, G, B & C, M, Y patch values, the Multi-Primary Colour Engine will be enabled when a LUT is generated.

A user patch set can contain far more patch information, and be fully volumetric, but need not be based on Cube spacing, as with the in-built patch sets. The defined patches can be totally random, and focus patches on specific areas of colour volume as needed.

Note: Each patch should be unique, with no repetition of identical patch values.

User generated .csv Characterisation Patch Lists also need to match the Patch Scale setting defined within the ColourSpace Settings menu - Legal, Extended, or Full - as well as define the patch triplet values in the correct Resolution bit depth, to guarantee expected profile results.

The in-built profiles, within ColourSpace, can be exported for reference examples.

The Customer Downloads contains examples of .csv Optimised Patch Sequences, including a Sudo_Ramdom_Optimised.csv, based on Farthest-Point Optimisation.

Manual Measure

This ability for User Patch Sets is further enhanced within ColourSpace by the ability to import patch sets specifically tailored to home TV's internal CMS patch requirements for manual calibration, regardless of the patches needed.

Patch Scale Clipped

User generated .csv Preset Patch Lists should match the Patch Scale setting defined within the ColourSpace Settings menu - Legal, Extended, or Full, to guarantee expected operation.

If the .csv patch list has values that go above/below the range set via Patch Scale, the triplet output will be clipped to the set Patch Scale range, with all patches below/above the set range generating the same output triplet value.

if the patch list lacks black and/or white patches for the selected Patch Scale (e.g. the patch list is Legal, but Patch Scale is set to Full) synthetic black/white data will be added to the profile, based on the Target Min/Max Luma values in the Settings window.

The patch data displayed below the Patch Colour box will shows the actual triplet to be used, and hovering over the patch within the patch list will show both the clipped patch patch triplet value, and the original patch value, with a highlight around the patch, and a **CLIPPED FROM** warning.

When performing an Auto Advance sequence, the highlighted patch being measured will start and stop with the min/max patches that match the set Patch Scale, not the min/max patches within the patch list, if they go below/above the values set via Patch Scale.

Note: If a user generated Preset Patch List, with Full range values, is loaded into Characterisation, Custom Sequences, and re-Exported with Patch Scale set to a different range, for example, Legal, the exported patch set will will be clipped, as defined above.

The Resolution bit depth set within ColourSpace should also be matched by the .csv triplet values, as the patch values are absolute.

The Customer Downloads contains examples of .csv Preset Patch Lists for Manual Measure calibration use.

For more information see the Patch Scale & Resolution page.


Hint, Drift, & Augment Data

When generating LUTs there are a number of advanced options that can be used within the Destination profile selection (only Drift is applicable for Source, and only when a measured profile is used as a Source).
The three options are Hint, Drift, and Augments Data.

Hint

The concept behind Hint is to enable the use of a complex full volumetric profile as a guide or master for a smaller profile set. For example, a Grey Ramp, or Grey & Primary Ramp profile can have a display's in-built non-linear volumetric distortions mapped into the data set prior to LUT generation. This means that sparse profiles can generate more accurate LUTs, based on the more complex profile data being used as a Hint.

Ideally, the Hint profile would be generated from the display in question, but can also be used for displays within the same family that have exactly the same underlying non-linear response characteristics.

Hint
Hint
Hint Use

The Hint process is remarkably simple.

  • Set-up the display for pre-calibration as usual, following the 3D LUT Calibration guide
  • Perform a large volumetric display profile
    (Use as large a patch set as possible, with Stabilisation Patches, etc., to generate the best possible assessment of the raw display)

This profile is now the master profile for the given display, or display family.

  • At a later time, or on a new display from the same display family, perform a sparse patch profile
    (A Grey Ramp, or Grey & Primary Ramp for example)
  • In Convert Colour Space select the Source target colour space as required
  • For Destination select the sparse profile
  • Within the Destination option tick Enable Hint, and select the full Volumetric profile for the given display/family
  • The full Volumetric profile data will be used to enhance the sparse/Quick Profile data, better matching the display's native response

In this way, one master Volumetric profile can be used to enhance the accuracy of smaller/faster profiles when using them to generate 3D calibration LUTs.

Drift

Drift has two components.

The first is within Characterisation Profiling, where any user defined colour patch can be inserted every nn measurement frames, providing data that tracks drift of the display during profiling. The drift data can be plotted, and used to better understand how the display responds during profiling, usually due to heat.

Drift
Drift

Along with Drift, Pre Roll and Stabilisation can be used to minimise the effects of display heating, and reduce drift. Stabilisation patch size can also be set to full screen (FW - Full Width), to assist in limiting burn-in on displays that suffer that, such as WOLEDs

Stabilisation
Stabilisation
Pre-Roll
Pre-Roll

The second Drift component is within LUT Generation, and uses the Drift data to apply a compensation to the profile measurements during LUT building.

Drift
Drift Compensation

Augment

The Augmented Data process enables the grey-scale information within a given profile to be replaced with data from a totally different profile, effectively enabling the grey scale calibration to be altered and potentially improved.

For example, a relatively small Cube based profile, such as 10^3 can be used for a volumetric profile, and augmented with a 33 step Grey Ramp Large (33 step) Quick Profile to enhance the grey scale accuracy. The Augment process uses the LUT generated from the initial profile to pre-process the second Augmented profile, enabling the Augmented Data to correct any inaccuracies in the original profile's grey scale, as well as enabling the use of a higher level of grey scale measurement granularity for enhanced accuracy.

Note: although profiles of any type/size can be used as the Augment Data, a Grey Ramp Quick Profile, such as Grey Ramp RGB Large, is the most obvious to use. Additionally, using too many steps within the Grey Ramp profile (for example via a CSV file) can cause issues due to display/probe noise and instability. The 33 step Grey Ramp Large profile provided within ColourSpace is the optimum for most Augment needs.

Augment Use

The process for using the Augmented Data process is as follows.

  • Perform an initial Cube based profile of desired size
    (10^3 for example)
  • Generate a LUT
  • Re-profile through the LUT using a Grey Ramp Large profile, or any other profile as desired
    (The LUT can be loaded directly into the display/LUT box/Graphics program, or Active LUT within ColourSpace can be used)
  • Open the Manager Spaces library, and select the initial Cube based profile
  • Select Manage, and select Add Aug, which will open a drop-down list of all available profiles from within the library
  • Choose the second Grey Ramp Large profile, and the Select button will add the profile as Augment Data
  • Enter a new profile name to differentiate the profile
  • Use Save, to save the new Augmented profile
Add Augment
Add Augment
  • Within LUT Tools, LUT generation, select the new profile, and tick the Augment Data option
  • A new LUT can then be generated, using the Augmented grey scale data
Use Augment
Use Augment

As always with all ColourSpace, there are no fixed workflows. Another use of Augment could be to modify an older LUT with new Grey Scale data, rather than performing a totally new volumetric profile.

Augment Issues?

The Augment Data process generates a totally new LUT using a combination of the original profile plus the Augmented data profile - the original LUT is not directly used in the generation of the new LUT (the original LUT is just used to profile through to generate the Augment data).

It is therefore technically impossible for the Augment data to make the result worse. Unless...

If the result appears worse, that means there has been display (or probe) drift/change between the two profiles.

Or, the application of the initial LUT was faulty - see the Error! Page of the website to see what type of errors are likely, predominantly due to signal path issues, such as the LUT not being scaled for the correct signal range.

The best test for such signal path errors is to compare the results of the Augment Data profiling using the both the Active LUT within ColourSpace to profile the original LUT, and the original LUT uploaded into the final LUT location. If the two Augment Data profiles are different there is a signal path issue.

However, if the display or probe are unstable, the two profiles will be incompatible, and will potentially generate inaccurate results. Therefore, if a display or probe are unstable, the use of Augmented Data is not recommended.


Sub-Space

Sub-Space allows the selection of any colour space - preset or user - to be used as a Sub-Space target for profile measurements.

When enabled, the Sub-Space colour space is treated as the Target colour space, enabling a display calibrated for a different colour space - say DCI P3 - to be profiled as if it were actually calibrated to the Sub-Space colour space - say Rec709 - to verify if the display can accurately cover the Sub-Space colour space.

The Enable tick box enables the use of Sub-Space when profiling, with the graphs plotting based on the Sub-Space colour space.

Sub-Space
Sub-Space

When a Sub-Space profile is Saved, it can be saved as a default Sub-Space profile, which will plot using the Sub-Space colour space, as defined above.

Alternatively, the additional Sub-Space option, within Graphs Options, can be use to set the Saved profile data to Sub-Space Calibration.

Sub-Space Calibration
Sub-Space Calibration

With Sub-Space Calibration selected, the profile data is mapped to the original Target colour space, not the Sub-Space colour space. This is required if the Sub-Space profile is to be used for LUT Generation, where the calibration target is the main Target colour space, and the Sub-Space is being used to profile a reduced gamut within the Target colour space.

Reduced Gamut Profiling & Calibration

Reducing the gamut area to be profiled can be of use for pre-calibrated displays that have a smaller gamut than the required Target colour space target, and have internal colour management that cannot be disabled. Such displays will suffer gamut edge compression, due to being pre-calibrated. JVC projectors are good example of such displays, as they are colour managed to pre-set colour spaces, such as Rec2020, and have no useable method to set the display to its native gamut.

The approach is to define the actual gamut area the display can actively use as a Sub-Space within the Target colour space.

This can be done by using Modify within the Manages Spaces library to extract the actual RGB xy values from a profile of the display.

  • Profile the display with a Primary Only quick profile
  • Select the profile from with the Manages Spaces library, and click Modify
Extract
Extract
  • Enter a new profile name to differentiate the new colour space
  • Press Extract Space, to save the new colour space
    (The Extracted colour space will also include an extracted average EOTF/Gamma and White point values, which should be edited back to the values of the Target colour space)
  • Profile the display with the extracted colour space as the Sub-Space
  • Save the profile with Sub-Space Calibration enabled
  • Use the profile to generate a LUT as normal, targeting the standard Target colour space
    (The use Map Space, or Fit Space, or even LUT Concatenation, may be preferable with Sub-Space Calibration)

In some circumstances it may be helpful to slightly reduce the Extracted gamut further - say 5% or so, just to make sure the reduced gamut patch set is fully within the display's available gamut coverage.

Note: when a profile is saved with Sub-Space Calibration enabled, the profile will not plot within the various graphs.


LUT Generation

The LUT Generation menu is used for building calibration LUTs from display profiles, as well as Technical Conversion and Look LUTs.

The concept of the Source colour space is always the colour space any given images are expected to be viewed in. So, for example, normal video will usually be expected to be viewed in Rec709 or BT1886 colour space, making these the Source colour spaces to select.

The Destination colour space is the new colour space the given images will be seen in - an alternative colour space to the image's original Source colour space. This will often be a display's Profile when generating a calibration LUT, or an alternative colour space if generating a colour space conversion LUT.

When generating LUTs, there are five processing options that control the mathematical processes & algorithms used within the ColourSpace Colour Engine, in addition to the Out of Gamut Warning, and Disable Gamut Mapping options.

LUT Generation
LUT Generation

Peak Luma, Peak Chroma, Fit Space, Map Space, & Hybrid

All four of the different processes will produce near identical results on displays that have a native gamut that is larger than the target colour space, have a white point that is accurate to the target colour space, and reasonable EOTF.

On displays that have a native gamut that is larger than the target colour space, but have a white point that is inaccurate to the target colour space, Peak Luma will produce a result that is different to the other three processes, as the peak luma value will be maintained, with channel clipping occurring.

On displays that have a native gamut that is smaller than the target colour space, all four processes will produce results that are different to each other, as they will all use different colour engine algorithms to best manage the display's low gamut.

Peak Luma

Peak Luma maintains the maximum brightness of the display, irrespective of the colour channels, so ignoring any Grey Scale/White Point variation from the measured profile compared to the target colour space. This means if there is any variation in the Grey Scale/White Point colour clipping will occur in one or more colour channels.

For calibration, Peak Luma should therefore only be used on displays that have a perfectly accurate native white point.

Note: Peak Luma should also be the default selection for the generation of Technical conversion LUTs, such as when using the scaled DCI XYZ colour space.

Peak Chroma

Peak Chroma is the normal default within ColourSpace, and for displays with complex RGB channel interaction (high colour cross-coupling), and with a gamut that is greater than the target colour space, will be the correct choice for calibration. Peak Chroma will manage any Grey Scale/White Point variation from the measured profile compared to the target colour space by reducing the maximum brightness of the display to bring the highest colour channel into range, preventing colour clipping in the highlights. However, the results of Fit Space &/or Map Space may be superior on some displays, especially those with a lower gamut than the target colour space - specifically Map Space, as that uses a very powerful set of mathematical algorithms to define the resulting LUT.

Fit Space

Fit Space is fundamentally the same as Peak Chroma, but uses totally different Colour Engine algorithms in generating the final LUT, and offers a potentially superior calibration alternative for displays that have good RGB channel separation (low colour cross-coupling), and for displays that prove difficult to calibrate via Peak Chroma, specifically if the display has a gamut that is significantly lower than the target colour space, although Fit Space can be used on any display as an alternative to Peak Chroma or Peak Luma.

The underlying process within Fit Space is to filter or fit the profile data set into a more simplified form based on the underlying capabilities of the display, so removing unexpected excursions and erroneous data that can cause unwanted artefacts in the final LUT, which in-turn causes visible artefacts in the final viewed image.

This simplification process can make Fit Space the better choice for displays profiled with low-end probes with bad probe readings in the profile. It also means Fit Space will not work well if the display has poor RGB channel separation (bad colour cross-coupling, as shown with the RGB Separation graph).

Map Space

Map Space is far more advanced than any of the other options, and uses a complex set of Colour Engine algorithms in generating the final LUT that are applied in a totally unique multi-step approach to LUT generation and calibration. This process will more often or not produce a cleaner picture quality on any display, with a high level of calibration accuracy, even on displays with poor RGB channel separation (bad cross-coupling), but especially on displays with a smaller gamut than the target colour space.

The approach taken with Map Space is to assess the raw underlying capabilities of the display, without any reference to the target colour space, to see what the display is natively capable of, and then map those capabilities into the target colour space, using a multi-step mathematical process. This mapping process will work on any display, with any underlying issues that may cause calibration artefacts/problems with the other LUT generation options.

Hybrid

Hybrid mode is based on Peak Chroma, but does two things that can potentially help with the accuracy of the LUT's grey scale, and low-light performance, by isolating those areas of the profile, and processing them independently from the rest of the profile's volumetric data.

This maximises the accuracy of the grey scale, and helps remove low-light errors introduced by inaccurate probe readings.

Disable Gamut Mapping & Out of Gamut Warning

In addition to the main LUT Generation options, Disable Gamut Mapping & Out of Gamut Warning also have an effect on the generated LUT. Disable Gamut Mapping specifically can be a useful option to understand.

Disable Gamut Mapping

Disable Gamut Mapping disables the standard gamut edge processing when generating a LUT for displays with a native gamut smaller than the target colour space.

When a display has a native gamut smaller than the target colour space, multiple input colours at the gamut boundary will be mapped to the same exact colour on output. Gamut Mapping applies a change to each colour value that would otherwise be identical on output, via changes in hue, saturation or luminance.

With display calibration it may be visually preferable in some instances to simply clip colours at the gamut edge, via Disable Gamut mapping, rather than have the gamut edge altered via Gamut Mapping.

Out of Gamut Warning

Out of Gamut Warning configures the generated LUT to highlight colours that are outside of the display's available gamut.
(In-gamut colours are shown black & white, with out-of-gamut colours shown inverted, and fully saturated.)

Out of Gamut
Out of Gamut Warning

PQ (ST2084) based HDR

PQ HDR introduces a whole new set of display and signal path issues, as it is an absolute nits based standard, while all other colour space standards are relative, without any understanding of a given display's peak nits values. PQ HDR is based on any given display's absolute peak brightness, referenced to the standard's 10,000 nit absolute peak.

Additionally, due to the excessive EOTF used by PQ HDR, combined with the absolute nature of the standard, there are two different approaches to 3D LUT based PQ HDR calibration.

  • Display initially set to a power law EOTF
  • Display maintains a PQ EOTF

The method to use depends on the display's inherent screen technology and calibration capabilities.

Note: For many displays/TVs, 3D LUT based calibration is impossible for PQ based HDR due to the inherent instability of the display/TV.

Initial Power Law EOTF

For many displays, especially home TVs, the only option is to pre-set the display/TV to a default power law EOTF, usually Gamma 2.2. This is due to inherent restrictions with the display/TV, making direct PQ HRD calibration impossible.

Calibration Workflow
  • Set the display/TV to it's un-calibrated state, with a power law EOTF, with max peak brightness
  • Profile as normal with the desired patch set
  • Use the correct Target peak luma value to make a specific ST2084 colour space target
  • Generate the required LUT using the normal LUT Generation process

Because of the absolute nature of PQ HDR, different ST2084 colour spaces need to be defined for each display with a different max peak brightness.

Defining what the target max peak luma value should be for the new colour space is a key part of PQ HDR calibration. If this is set incorrectly, white/near white will tint, due to channel clipping.

The target peak luma will usually need to be lower than the actual pre-calibration peak nits of the display, specifically if the white point colour temperature is inaccurate, to allow headroom for the calibration correction, as all calibration is subtractive.

To find the correct target value, it is possible to use the ColourSpace sliders to temporarily set the peak white colour temperature to be accurate, using the CIE charts to define when the correct colour temperature is attained.
(Do not uses the RGB Zoom & Bars Widgets, as they track the slider target colour - the CIE charts are absolute.)

The above examples show a native while point that is too cyan, and has a peak white value of 1188 nits. However, when the white colour temp is corrected the peak white value drops to 896 nits. Realistically, this display can only be calibrated to 850 nits PQ HDR, and a new ST2084 colour space needs to be made targeting this value.
850 nits is suggested, as any PQ HDR calibration should be to standard peak nits values, such as 1000 nits, 1200, nits, 2000 nits, 3000 nits, etc.

PQ HDR 850 nits
PQ HDR 850 nits

The above User Defined ST2084 colour space can be used to generate the new calibration LUT, using Limit Luminance set to the same peak luma nits value as the Target colour space.

Soft RollOFff, or BT2390-3 Tone Mapping can be applied as required - but should not be used for grading displays.

PQ HDR LUT Generation
PQ HDR LUT Generation

Initial PQ EOTF

With some displays, specifically professional grading displays that use FALD backlight technology, the preferable option is to leave the display set to a PQ EOTF.

Calibration Workflow
  • Set the display to it's un-calibrated state, with its default initial PQ EOTF, and max peak brightness
  • Profile using the desired patch set, using Limit Range to define the peak bits value
  • Use the correct Target peak luma value to make a specific ST2084 colour space target
  • Generate the required LUT using the LUT Tools Maths options to compress the LUT to the defined Limited Range

As an example, we are assuming the display to be calibrated has a fixed PQ EOTF with a pre-calibration hard clip at something over 1000 nits, enabling 1000 nits to be set as the peak value.

The first step is to define the Limit Range value required.

  • Set the Target Gamut/EOTF to the default ST2084 10,000 nits colour space, and set the required Patch Scale
  • Use the Manual Measure sliders to set the Target value to the desired nits value
    (1000 nits in this example (998 nits is the closest in 10 bit steps)

The target nits/code value should be lower than the actual nits peak of the display, especially if the white point is inaccurate, to allow headroom for the calibration correction, as all calibration is subtractive.

As outlined above, the ColourSpace sliders can be used to to temporarily set the peak white colour temperature accurately, defining the required peak nits value.

PQ HDR Define Bits
PQ HDR Define Bits
  • Read off the bits value in the sliders - 769 in this example
  • Limit Range therefore needs to be set to 769 (10 bit)
    (This will still generate a profile with code values that are full range, not the patch range of 0-769)
PQ HDR Limit Range
"PQ HDR Limit Range

The following graphs show the Limit Range profile plotted against the full 10,000 nits ST2084 colour space and the user defined 1000 nits colour space.

The Limit Range profile can then be used to generate a calibration LUT to correct the in-built PQ EOTF.

  • Generate a new ST2084 User colour space via the Manage Spaces library, with a peak set to the calibration target for the display - 1000 nits in this example
  • In LUT Generation, set Source to the User Generated ST2084 colour space, and Destination to the Limit Range profile
  • Set Limit Luminance to the Use Generated colour space values, not the measured profile values
    (The colour space/Limit Luminance Max value should be lower than the profile measured value)
PQ HDR LUT for in-built PQ EOTF
PQ HDR LUT for in-built PQ EOTF

The LUT generated will have normalised input code space mapped to 0-1023 (10 bit), where the 1000 nits used in this example falls at approx. 75% of the PQ code range, as defined by the Limit Range value (769, 10 bit).
The output normalised code space is still mapped to 0-1023 (10 bit), but really this range is 0-769 (as Limit Range was in use when profiling).

We therefore need to compress the output of the cube so that 0-1023 maps to 0-769.
This can be done using the LUT Tools, LUT Adjustment, and the Maths Append Equation option.
(Append is important - not Prepend.)

The correct value is the inverse of the Limit Range value set initially within Settings. For the 769 value used in this example the value is approx. 75% of full the range of the LUT.

The calculation is the Limit Range value divided by the full range value, minus 1, in the bit depth used
769/(1024-1)=0.7517

  • R = R * 0.7517
  • G = G * 0.7517
  • B = B * 0.7517
PQ HDR LUT for in-built PQ EOTF
PQ HDR LUT Compressed Range

This will generate a LUT that operates between 0-769, in a 0-1023 (10 bit) container, and can be used to calibrate a PQ HDR display that has an underlying. burnt-in, PQ EOTF.


LUT Concatenation

As ColourSpace does not use fixed calibration workflows, but instead provides tools for users to apply as required, there are a number of ways any end result can be achieved. And calibrating a display to a colour space that is a wider gamut than the display can actually achieve is a good example.

Obviously, Map Space and Fit Space provided tools that perform LUT Generation via a form of concatenation, but understanding how LUT Concatenation can be performed manually helps develop deeper user understanding of the advanced capabilities of ColourSpace, compared to the more limited options of alternative calibration systems.

The basic principle for LUT Concatenation for display calibration is to split the calibration into two separate parts - one making the display as accurate as possible to it's own gamut/gamma capabilities, and the second to perform a technical conversion to map the now calibrated display into the target colour space.

In practice, this workflow is applied in reverse.

  1. 1
    Source Footage

    Rec709

  2. 2
    Colour Space Conversion

    Rec709 to Display colour space technical conversion LUT

  3. 3
    Calibration

    Display self calibration LUT

  4. 4
    Calibrated Display

    Rec709 Calibrated Display

In the above example the first LUT in the image path is just converting the Rec709 colour space into the display's native (actual) colour space through the use of a User colour space. The second LUT is accurately calibrating the display to itself.

The process for LUT Concatenation based display calibration is as follows.

  • Set the display to its native colour space, and set Black and White points are required
    (Follow the standard pre-calibration procedure as outlined within the 3D LUT Guide)
  • Profile the display as normal, with a large patch set
  • From within the manage Spaces library select the colour space, and use Modify to extract the display's native colour space
Extract
Extract
  • Generate the first Colour Space Conversion LUT using the extracted colour space as Destination, and Rec709 as Source
  • Generate the second Calibration LUT using the profile as Destination, and the extracted colour space as Source
  • Concatenate both LUTs into a single, final calibration LUT
    (Make sure to get the concatenation order correct...)
How to Concatenate LUTs?

The obvious way to concatenate LUTs, is to use the Add function within LUT Tools to add together multiple LUTs.

  • Save both LUTs into the Manage Spaces library
  • Define the concatenation order, and open the first LUT
  • From within LUT Tools select LUT Adjustment, Maths, and the Add function
  • Select the second LUT from the drop-down list, and Apply
  • The two LUTs will be concatenated

An alternative method to Concatenate LUTs is to generate the second LUT on-top of the first, using the Apply To Existing LUT capability.

Apply to existing LUT
Apply to existing LUT
  • Generate the first LUT as usual
  • With the LUT still held in LUT Generation, configure LUT Generation for the second LUT
  • Set the New LUT drop-down to the Apply to existing LUT option
  • When the second LUT is generated it will be concatenated with the first LUT

Swapping LUT Components

Another application of the ability to concatenate LUTs is to use the same basic process to replace individual LUT components, rather than just concatenating different LUTs, using the LUT Adjustment tools options.

An obvious application is to use the 1D (Grey Scale) LUT component from one calibration LUT and combine it with the gamut only (3D) calibration component from another LUT.

This can of interest when using lower-end probes to perform full volumetric calibration, which introduce a high number of inaccurate probe readings due to poor low-light capabilities of the probe.

When profiling for LUT based calibration, the usual approach is to use one large volumetric profile to generate the final LUT.

However, there is nothing wrong with using one profile focused on just the Grey Scale, and another profile for the Volumetric Gamut, and then combine the grey scale from one LUT with the gamut component from the other.

Initial LUT Generation

First, focussing on the grey scale, a Grey Ramp Large, or even a user generated .CSV list with a greater number of grey patches, can be used to profile primarily the grey response of the display, and a calibration LUT generated from that profile.

Then a smaller (10^3?) cube based Characterisation can be used to generate a second, volumetric gamut focused, calibration LUT

Combine Separate Grey Scale and Gamut 1D & 3D LUT Components

The first step is to extract the gamut only component from the volumetric LUT by nullifying the 1D (grey scale) component.

The second step is to extract just the 1D grey scale component from the second LUT.

The Grey Scale component can then be combined with the gamut only LUT.

The result is a new 3D LUT, with the grey scale (1D) component from one LUT, combined with the 3D, gamut, component of a second LUT.

The process is:

  • Make the first gamut LUT using a relatively small cube based profile (10^3?)
  • Save a copy of the LUT into the Manage Spaces library
  • Export the LUT using a 1D LUT, such as the VCGT format
  • Import the new 1D LUT back into the library
  • With the original gamut LUT held within LUT Tools, select LUT Adjustment/Maths/Subtract
  • From the drop down list select the imported 1D LUT, and Apply

The resulting LUT will have the 1D grey scale component nullified.

  • Make a second LUT using a Grey Ramp Large profile, or user generated .CSV grey ramp patch set
  • Save a copy of the LUT into the Manage Spaces library
  • Export the LUT using a 1D LUT, such as the VCGT format
  • Import the new 1D LUT back into the library
  • With the new gamut LUT, within original 1D component nullified, held within LUT Tools, select LUT Adjustment/Maths/Add
  • From the drop down list select the imported 1D LUT, and Apply

The result is a new 3D LUT, with the grey scale (1D) component from one LUT, combined with the 3D, gamut, component of a second LUT.


Maths Equations

The Maths Equations options opens a menu into which mathematical calculations and arguments can be entered, allowing direct LUT manipulation, as either Append or Prepend operation.

Equations
Equations

There are 3 separate text boxes, and the operation of each is identical. The default startup state is:

  • R= R
  • G= G
  • B= B

Which will do nothing, as output equals input.

Any combination of the following operators can be used is generating an equation, effectively just like a normal calculator:

  • +,-,*,/ (add, subtract(negate), multiply and divided)
  • ^ (to the power)
  • () (brackets)
  • min(a,b), max(a,b) (minimum or maximum of 2 values)
  • sqrt(a) (square root of a value)
  • abs(a) (absolute value)
  • (a cond b) ? trueExp : falseExp (cond is the condition, can be =, !=, <, >, <=, >= (If true, returns the value of the trueExp else returns the value of the falseExp)
    (Alternatively: (if(a cond b))
    There is no ELSE for if. If the condition is true, it returns 1.0. if it is false, it returns 0.0. Therefore, you multiply the function buy the if(). Alternatively, it is possible to use 1.0 - if() to implement the ELSE type operation.
  • log(a) returns the log to base 10 of a

In addition to these, you can use R,G,B to represent the current LUT's r or g or b channel value.

All of the key words and R,G,B are case sensitive, so if is ok, but If and IF are not good. You can use as many R,G,B as you like in ANY channel process. You can also use constant values.

All maths is done floating point, so an integer value of 65535 in 16 bit is represented as 1.0

An example could be:

R= (R *0.28) + (G * 0.7) + (B *0.02)
G= (R *0.28) + (G * 0.7) + (B *0.02)
B= (R *0.28) + (G * 0.7) + (B *0.02)

Putting these 3 lines into the maths engine, will give a LUT that produces a weighted monochrome image.

Another example could be:

(R > 0.1496582) ? ((((10.0 ^ (R - 0.385537)) / 0.2471896) - 0.052272) / 5.555556) : ((R - 0.092809) / 5.367655)
(G > 0.1496582) ? ((((10.0 ^ (G - 0.385537)) / 0.2471896) - 0.052272) / 5.555556) : ((G - 0.092809) / 5.367655)
(B > 0.1496582) ? ((((10.0 ^ (B - 0.385537)) / 0.2471896) - 0.052272) / 5.555556) : ((B - 0.092809) / 5.367655)

Which is the Arri formula for LogC EI800 to linear data, extrapolated from:

t > 0.1496582 ? (pow(10.0, (t -0.385537) / 0.2471896) -0.052272) / 5.555556 : (t -0.092809) / 5.367655

To meet the formula requirements for the ColourSpace maths engine.

And for Linear to sRGB encoding:

R= (R <= 0.0031308) ? R * 12.92 : 1.055 * (R ^ (1.0/2.4)) - 0.055
G= (G <= 0.0031308) ? G * 12.92 : 1.055 * (G ^ (1.0/2.4)) - 0.055
B= (B <= 0.0031308) ? B * 12.92 : 1.055 * (B ^ (1.0/2.4)) - 0.055

Which is the gamma formula for sRGB from linear data, extrapolated from:

x <= 0.0031308 ? x * 12.92 : (1.055 * pow(x, 1/2.4)) - 0.055
( if(x <= [input], [result if true], [result if false]) )

And for Linear to Rec709 encoding:

R= (R < 0.018) ? R * 4.5 : 1.099 * (R ^ (0.45)) - 0.099
G= (G < 0.018) ? G * 4.5 : 1.099 * (G ^ (0.45)) - 0.099
B= (B < 0.018) ? B * 4.5 : 1.099 * (B ^ (0.45)) - 0.099

Which is the gamma formula for Rec709 from linear data, extrapolated from:

x < 0.018 ? (x * 4.5) : 1.099 * pow( x, (0.45) ) - 0.099

Note: the sRGB and Rec709 formulas are capture/encoding standards, and are NOT correct for display calibration. For both sRGB and Rec709, display calibration is always a simple Power Law gamma!
(Gamma 2.2 for sRGB, and 2.2 to 2.4 for Rec709...)

And for Linear to Cineon Log:

R= (((log (R * (1.0 - 0.0108) + 0.0108)) * 300) + 685) / 1023
G= (((log (G * (1.0 - 0.0108) + 0.0108)) * 300) + 685) / 1023
B= (((log (B * (1.0 - 0.0108) + 0.0108)) * 300) + 685) / 1023

As you can have different formulas in each colour channel, the actual possibilities are very powerful!


(W)OLED Gamut Correction

(W)OLED displays have very unique colourimetry, with issues associated with metameric failure, which we address within the Perceptual Matching page of the website.

But another unique aspect of (W)OLED displays is that they maintain near full saturation (gamut) all the way down to black.

Alternative display technologies, including traditional CRT and LCD displays, as well as projectors, have a de-saturation effect as the luma levels drop below about 20% peak luma, depending on the actual display.

This is also in-line with the operation of the human visual system, where the eye's ability to see colour drops as the level of available light causes the colour sensitive cones to cease working, due to their lower sensitivity compared to the eye's monochrome sensitive rods.

Using the unique 3D CIE graphs of ColourSpace this issue can be easily displayed, with the following graphs showing the desaturation in an LCD displays, compared to the lack of desaturation in a (W)OLED, looking at Red Primary only.

LCD Gamut Reduction
LCD Gamut Reduction
(W)OLED No Gamut Reduction
(W)OLED No Gamut Reduction

LCD & CRT displays show progressively lower gamut (saturation) as the luma levels drop, in this case starting at around 50% of peak Red luma.

(W)OLED displays maintain saturation all the way down to black, which can cause the viewer to perceive the displayed image as being unnatural, with Red appearing very saturated near black in the above case.

Understanding this phenomena of (W)OLED displays means we have to adapt their calibration to better mimic more traditional displays, by introducing a degree of desaturation in the displays lower luma levels.

The available LUT Tools Filters can be used to apply a low-light desaturation, matching the effect on all other display technologies.

LUT Filters
Gamut Reduction

Using the Mono Blend filter, Gamut Reduction can be applied to nay selected range within the calibration LUT. Very uniquely, the gamut reduction can be set independently for the three RGB colour channels as required, as shown above.