Advanced ColourSpace Operation

ColourSpace uses no fixed structure step-by-step walk-throughs 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 step-by-step walk-throughs.

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. Additionally, direct point editing is available in higher ColourSpace license levels.
Note: when a single point is selected, all other Tangent lines will be dimmed. Setting a colour patch that has not been measured will make all Tangent lines bright. Hint - move one of the Manual Measure sliders by one value...

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. Additionally, direct point editing is available in higher ColourSpace license levels.

The selected point is indicated by a white surround circle within the 2D CIE graphs, and by a cross within the 3D graphs.
Note: when a single point is selected, all other Tangent lines will be dimmed. Setting a colour patch that has not been measured will make all Tangent lines bright. Hint - move one of the Manual Measure sliders by one value...

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.
Note: EOTF value are not related to Luma values, which is a common misconception.

EOTF values are effectively inverted as to the effect any error has on the displayed image - a high EOTF value will generally generate a darker image, and a low EOTF value will generate a brighter image.
Note: the use of the term 'generally' is important, as the EOTF values for individual points within an EOTF plot can be substantially different to the overall EOTF, and not follow the above rule-of-thumb, especially with Extended Range calibration, with plots above 100%.

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 Absolute Error option for the EOTF graph plots absolute luma errors, relative to the target Min/Max Luma.

Dif EOTF
Dif EOTF
Dif EOTF Error
EOTF Error

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 zero and 100% points of the Dif EOTF graph are not plotted, as the points have no effective EOTF/Gamma value.

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

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 used 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 effectively showing display cross-coupling errors and/or luma/grey scale errors.
(The graphs plots luma errors for RGB vs. the equivalent grey value, based on the black value of the profile.)

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.

If the individual R, G, and B channels have different EOTFs there will obviously be a luma difference between each colour channel, also causing a bad RGB Separation plot. An inaccurate grey scale values, compared to the equivalent RGB values, will also cause a bad RGB Separation plot.

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 grey, with a lesser effect on the separate RGB outputs, again showing as a RGB Separation error.

Grey scale errors will cause the RGB Separation plot to vary from unity, depending on the deviation of each grey scale point from the expected value.

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 and a relative drop in luma 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 is specifically designed to 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.

The effect of Drift on Profile data can also be seen by enabling the Drift tick box within the Processing section of the Graphs Options menu.
Note: If a profile is re-saved from the Graph Options menu with the Drift option enabled, the new saved profile will have Drift processing burnt-in to the profile data, as well as still having the original Drift Data attached to the profile.


Custom Filters

Within Graph Options, Custom Filters opens a menu into which formula arguments can be entered, enabling users to define what points should be plotted within the graphs, making it easier to assess points of interest.

When Custom Filters are enabled, the Custom Filters button will show pale green.

Custom Filters
Custom Filters

Custom Filters are a very powerful tool to help define the exact points that are to be displayed within the various graphs.

The various Tokens that can be used are split into Constants, Functions and Comparison & Logical Operators.

Constants

  • R   define the Red component of the points to be displayed using the input triplet, range 0.0-1.0
  • G   define the Green component of the points to be displayed using the input triplet, range 0.0-1.0
  • B   define the Blue component of the points to be displayed using the input triplet, range 0.0-1.0
  • L   define points to be displayed based on Luminance values, in absolute nits
  • DE1976   define the dE 1976 range for the points to be displayed
  • DE2000   define the dE 2000 range for the points to be displayed
  • DEITP   define the dE ITP range for the points to be displayed
  • DELUV   define the dE L*u*v* range for the points to be displayed

Functions

  • GREY(R,G,B)   define the Grey points to be displayed using the input triplet, range 0.0-1.0
  • PRI(R,G,B)   define the Primary Colour points to be displayed using the input triplet, range 0.0-1.0
  • SEC(R,G,B)   define the Secondary Colour points to be displayed using the input triplet, range 0.0-1.0
  • OTHER(R,G,B)  define points that are not Grey, Primary or Secondary to be displayed using the input triplet, range 0.0-1.0

Constants use operators to define their result ('R > 0.5' to see all points with a R input triplet value greater than 0.5), while the Functions just return a fixed result if active ('GREY(R.G.B)' will show all the Grey Scale points). Combining Constants with Functions enables precise points selection, using the below Operators.

These Tokens can be used with standard programming operators (predominantly Comparison and Logical) to define the selection of points within the CIE diagrams, including the following operators:

Comparison Operators

  • ==   equal to
  • !=   not equal to
  • >   greater than
  • <   less than
  • >=   greater than or equal to
  • <=   less than or equal to

Logical Operators

  • &&   logical AND
  • ||   logical OR

Other Operators

  • ()   brackets, used to create groups and/or clarify the filter
  • ,   comma, used to link filter items

In the above Custom Filter image the pre-populated string is:

GREY(R,G,B) || (DE2000 >= 0.5 && DE2000 < 1.0)

In simple terms the string says it will show all points that are Grey Only, as well as all points that are within the Delta-E range 0.5 to 1.0 dE 2000.

The || operator specifies a logical OR operation, while the && operator specifies a logical AND operation, with >= specifying Greater than or equal to, and finally < specifying Less than.

With the above information is should be relatively easy to see that changing the || operator to && will change the graphs to show just the points that are within the Grey Scale and have a dE 2000 between 0.5 and 1.0.

GREY(R,G,B) && (DE2000 >= 0.5 && DE2000 < 1.0)

As a further example, using the following filter would show all Grey Scale and Primary Colour points that have values above 0.05, out of the range of 0-1 for the input patch triplet value.

GREY(R,G,B) || PRI(R,G,B), R > 0.05 || G > 0.05 || B > 0.05

And to add Secondaries:

GREY(R,G,B) || PRI(R,G,B) || SEC(R,G,B), R > 0.05 || G > 0.05 || B > 0.05

Another option would be to use the L (Luminance) token to define points within an absolute Luminance value range.

GREY(R,G,B) || PRI(R,G,B), L >= 10 && L <= 50

The above will show all Grey Scale and Primary Colour points that have Luminance values greater or equal to 10 nits, and less or equal to 50 nits.

For more information on the various Operators available when defining the filtering see: Custom Filter Operators


Re-Measure Patches

The ability to select and re-measure any patch within a profile is one of ColourSpace's unique features. It means any individual patch measurements that may have measured inaccurately can be quickly re-measured, with different probe settings if need to enhance the original measurement accuracy.

Defining the patches that have measurement errors is very simple, as the various graphs provide all the necessary information on bad readings, specifically using the Tangent lines to spot obvious errors.

Tangenet Error
Tangent Error

The above graph shows at least one point has a measurement value of Zero, as there is at least one Tangent line from coordinates 0,0. All other, shorter, Tangent lines are due to the target colour space being a lot smaller than the display's profiles colour space. This is because the profile is pre-calibration, with the display in its native gamut, and the target colour space is sRGB.
Note: Extracting the profile's native colour space using Extract would assist in spotting bad measurements.

With the error point selected, the patch colour is automatically set to that colour, and a using Manual Measure can be re-measured.

If there are multiple points that have the same error reading, as above, the pop-up Point Info window can be used to select each point in turn.

Point Info
Point Selection

Note: When performing point re-measurement, it is best to turn off Intelligent Integration if available for the probe in use, and set the default Integration time to its maximum. This will speed-up the single point measurements.

Spotting Measurement Errors

Knowing what points are actually measurement errors can take some additional knowledge and understanding.

The following RGB Separation graph, which is unique to ColourSpace, shows there are issues in the low brightness readings of the profile. Initially, it may seem the errors are in the grey scale. However, understanding what the RGB Separation graph shows it is easy understand that the error patch readings may just as easily be in the R, G, or B primary patches associated with the same value grey scale patches.

RGB Separation
RGB Separation

The selected grey scale patch is 196,196,196, meaning the measurement error will be with patch 196,0,0 or 0,196,0 or 0,0,196.

The Sliders can be set to each patch colour in turn, and the Actual, Deviation, and dE values will show the bad reading, as well as highlighting them in the CIE graphs, as in the above Tangent Error graph.


Point Adjust

With higher ColourSpace license levels the 1D & 2D graphs, for both Profiles and LUTs, have an interactive Point Adjust capability, enabling point values to be directly edited from the graphs.

The Point Adjust ability enables profile measurement errors to be corrected, either before a LUT is generated - correcting the actual profile measurements - or correcting a LUT generated from a profile with measurement errors.

Profile errors are usually associated with probe miss-readings, or unexpected display variations. Usually a re-read of the patches that show errors can fix the issue, but sometimes that will not work, such as when trying to read very low-light values. Being able to correct such errors can help in generating more precise calibration LUTs.

When the mouse is hovered over the graph a Graph Options Graph Options Hamburger button will appear, and provides access to graph specific options, such as for Point Adjust and Absolute plotting.

Graph Options
Additional Graph Options

If the Show/Enable Point move options have been enabled via additional Graph Options, after a point has been selected via a Double Left Click, a floating values window will be opened. After a point has been selected, hovering over it will display Point Adjust arrows, enabling the selected point to be manually adjusted, as well as allowing the values in the floating window to be directly edited.

As a point is adjusted, a yellow Tangent Line will show the deviation from the point's original location. Reset and Apply buttons also become enabled when a point has been repositioned.

If multiple points are adjusted, but not Applied, the point's dot marker will be shown larger than normal to signify an adjustment has been made. All individual adjusted points need to be Applied before the profile is Saved.
Note: When Apply is actioned is is likely other components with the graph will change, due to value interaction, as well as affecting other graphs, such as changes to grey scale points via the RGB Balance and CIE graphs altering EOTF.
Additionally, due to the complex nature of the RGB Balance graph, using the CIE graphs to alter grey scale values is recommended.

Any changes to a point are mapped live across all associated graphs, such that changes to grey scale points made in the CIE graphs will be mirrored within the associated RGB Balance, EOTF, RGB Separation graphs, etc. Using the pop-out floating graphs capability means all associated graphs can be viewed simultaneously while making Point Adjust changes.

Repeated double right clicking of a given point will cycle through all three RGB colours, should they all have the same coordinates, and will bring to the front the selected colour channel's graph line in 1D graphs.

Point Adjust
CIE Graph Point Adjust
Point Adjust
RGB Balance Point Adjust

The adjustment arrows are also colour-coded to channel being altered for 1D graphs, and show yellow for the 2D CIE graphs.

The floating Point Adjust values window can be repositioned using the floating window's top bar, and if placed back over its active point will re-dock back to its default location.

The Profile Graphs with Point Adjust capability are those that directly show measured data:

  • CIE xy
  • CIE uv
  • EOTF
  • Dif EOTF
  • RGB Balance
  • Drift

Within LUT Generation, the 1D LUT graph also has Point Adjust capability, enabling errors to be corrected after a LUT has been generated.

1D LUT Graph
1D LUT Graph Point Adjust

As with Profile graphs, if the Show/Enable Point move options have been enabled via the additional Graph Options a Double Left Click on any point in the 1D graph selects the point, and opens a floating values window. After a point has been selected, hovering over it will display Point Adjust arrows, enabling the selected point to be manually adjusted, as well as allowing the values in the floating window to be directly edited.

As a point is adjusted, a yellow Tangent Line will show the deviation from the point's original location. Reset and Apply buttons also become enabled when a point has been repositioned.

If multiple points are adjusted, but not Applied, the point's dot marker will be shown larger than normal to signify an adjustment has been made. All individual adjusted points need to be Applied before a LUT is Saved.

Repeated double right clicking of a given point will cycle through all three RGB colours, should they all have the same coordinates, and will bring to the front the selected colour channel's graph line. The adjustment arrows are also colour-coded to channel being altered.

The floating Point Adjust values window can be repositioned using the floating window's top bar, and if placed back over its active point will re-dock back to its default location.


Volumetric Gamut Coverage

One of the key verification capabilities of ColourSpace is its ability to report, and graphically represent, Volumetric Gamut Coverage.

Traditionally, gamut coverage has been calculated using a 2-dimensional CIE diagram, plotting the widest primary RGB colour points against the target colour space. Consequently, the reported % Gamut Coverage is wildly inaccurate, as with many displays the available gamut changes with brightness.

The 3-dimensional ColourSpace graphs accurately portray any display's true gamut coverage, and from the 3-dimensional data a valid gamut coverage value can be defined.

CIE 2D
2D CIE Gamut Coverage
CIE 3D
3D CIE Gamut Coverage

In the above 2D CIE chart, the display's gamut coverage appears to be close the target P3 colour space, with an expectation for 90%, or greater, gamut coverage figure, as would be generated by most calibration systems.

However, ColourSpace's 3D CIE graphs shows the display's gamut reduces dramatically as brightness increases, as shown by the grey areas of the graph. The true gamut coverage value is 60%, as is accurately calculated by ColourSpace using the code value range to define the gamut distribution.

The tangent/error lines in the 3D CIE graph define the issues as being a reduction in brightness/luminance as the display gamut/saturation attempts to increase, resulting in both a loss of gamut at higher brightness signal levels, caused by the reduction in brightness.

Volumetric Gamut Coverage
Volumetric Gamut Coverage

With many modern display technologies, an accurate 3-dimensional gamut coverage value is the only way to understand the true underlying capabilities of any given display.

Within ColourSpace the Gamut Coverage option in the Manual Measure menu will calculate a true volumetric gamut coverage value, based on the selected profile measurements, the target colour space, and the code value range.

The more points in the actual profile, the more accurate the volumetric Gamut Coverage value will be. Invalid profiles, for example lacking 100% RGB values, will generate invalid Gamut Coverage values.

Gamut Coverage Comparison
Volumetric Gamut Coverage

The above shows a small volumetric cube profile vs. a larger volumetric profile on the same display, with the larger profile generating a more accurate gamut coverage value.


Wide Gamut Displays

Calibration of wide gamut displays has become ever more demanding, with the use if very narrow spectral bandwidth RGB panels and laser projection to enable the required P3 and Rec2020 gamuts to be reached.

There are multiple potential issues with wide gamut displays, but for calibration one of the most obvious is Probe Accuracy,

Most calibrators understand that if a probe is inaccurate any resulting calibration will also be inaccurate. And this is a key reason for Probe Matching, using a Spectroradiometer to improve the accuracy of a colourimeter being used for display profiling.

However, it is also often assumed that while an inaccurate probe will generate inaccurate calibration results, verification of the final calibration using the same inaccurate probe will technically report an accurate calibration, as the same probe inaccuracy will be included within the verification as with the original profiling, and as the 3D LUT was generated using measurement data from the same probe, all will cancel out...

This assumption is not correct.

For more information see the Probe Accuracy page.


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 been 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.

User generated Characterisation patch sets should follow the general patch order as per the in-built sequences.
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_Random_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.

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 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 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.

User generated Manual Measure patch lists will always be defined by ColourSpace as full Profiles when any profile is saved into the library, regardless of the patches within the patch list.

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

For more information see the Patch Scale & Resolution page, as well as the Focused Patch Set information the within Focused Patch Sets section below.

Defining Adjustment Point Values

When the correct patch values for each Multi-Point adjustment are not known, or to verify the values are correct, they can be defined by using single step preset patch lists, with min/max values set for each adjustment point, as follows:

  • Starting with the 100% adjustment point, set only the Green channel to its max value
  • Set the next lower adjustment point to have the Blue channel set to its min value
  • Set the next lower adjustment point to have the Red channel set to its max value
  • Set the next lower adjustment point to have the Green channel set to its min value
  • Repeat for all available adjustment points such that one point will have one channel at max and the next will have it to min...

When complete, profile using a patch set defined with the required bit depth, and Full Range, or Legal Range as need, in single bit steps (64,64,64 - 65,65,65 - 66,66,66, - 67,67,67... 940,940,940).

Control Points
Control Points

The resulting profile will show a zig-zag pattern in the RGB Balance graph, with each peak/trough defining the correct patch value for each adjustment point, as in the example above.


Display Independent Profiling

DIP Mode (Display Independent Profiling) is unique to ColourSpace, and is available within the Characterisation menu. DIP Mode is used to present each patch for a preset time in-sync with the same patch sequence playing back via any external patch playback source, such as from a DVD/Blu-ray player, video player app such as VLC, or a grading system timeline such as from Resolve.

In this way any device, phone, tablet, screen, or display can be profiled, on any OS including Android, Mac, iOS, Windows, Linux, etc., without restriction.

DIP mode also means the difficulties in profiling systems with inherently active colour management, such as Mac, can be overcome by using a video player that is OS colour management aware, without the need to purchase a specific Mac TPG.

DIP Mode
DIP Mode

The same sequences need to be selected for both the external playback source, and the sequence within ColourSpace, and playback started in-sync, with the correct time-per-patch set based on the slowest measure time of the probe in use.
(The only way to verify the actual timings required for DIP Mode is to time the duration any given probe/display combination requires when measuring dark patch colours - not just black, but dark R, G, and B patches. The longest time, plus one second, should be used as the time for all patches in DIP Mode. To take such time duration measurements use Repeat measurements with colour patches displayed manually via whatever source is connected to the display to be profiled.)

Should the probe take longer to read than the set time-per-patch, ColourSpace will abort the sequence, and display warning message.

DIP Mode Error
DIP Mode Error

Any external patch source can be used with DIP mode as an alternative to a dedicated patch generator, with the simplest being to generate a video clip with the required patch sequence with each patch displayed for the required fixed time.

The Export Patches option in Characterisation can be used to export the required patches for a DIP sequence to be generated within any video editing system. There are even pre-defined EDLs available for download via Customer Downloads.

Whichever method is used to generate the external patch sequence, profiling is performed by setting up the same exact patch set within ColourSpace Characterisation, with the DIP Time per Patch set to the same duration as the external patch set. Both sequences are then run in-sync by pressing Play on the external patch sequence video player, at the same time as pressing Start within ColourSpace.
There is an in-built margin of error within the DIP process, so sync does not need to be perfect.


Reduced Gamut Profiling

By default, ColourSpace display profiling uses a full range of patches, covering the entire colour range from black to white, and out to 100% Red, Green, and Blue, and all colour in between.

However, there is no reason the profiling patch set has to cover the full gamut range, as the volumetric location of each patch is understood by the ColourSpace Colour Engine, meaning a patch set that only covers a percentage of the full range can be used identically to the default 100% gamut coverage patch sets.

For displays that prove difficult to calibrate normally, due to inherent non-linear responses, or for displays that have a fixed internal calibration that cannot be disabled, especially those with gamut edge issue, such as being badly pre-calibrated to a gamut the display cannot accurately cover.

The missing profiling measurements are interpolated during LUT Generation via Peak Chroma or Peak Luma, just as is normal for any LUT generation within ColourSpace.

Hybrid, Fit Space and Map Space use different approaches to LUT Generation and any patch sets to be used with those processes must have Black, White, Red, Green, and Blue patches at 100% saturation added (not necessarily 100% peak Red, Green, Blue), and Fit Space and Map Space will not work with small cube based profiles.

Reduced Gamut Patch Set Generation

As with any Patch Set, there are numerous different ways to define a Reduced Gamut patch set. But, one of the simplest is to pass a standard patch set through a Reduced Gamut LUT.

Note: Also see Focused Patch Sets.

This method uses a user defined colour space to generate a technical LUT. Any preset colour space can be used, but Null is the obvious choice. Setting the sliders to the desired primary colour values, with the required desaturation, generates the target xy values for the new Reduced Gamut colour space.
In this example the Patch Scale in Settings has been set to 16-bits, with 5 selected as the slider values, but totally accuracy is not necessary, as the defined RGB triplet values define the patch position in volumetric space.

Reduced Gamut Calculation
Reduced Gamut Calculation

Any Gamut Reduction can be used, with this example targeting 75% gamut.

Reduced Gamut Colour Space
Reduced Gamut Colour Space
Using the original colour space, and the new reduced gamut colour space, a Gamut Reduction LUT can be generated and saved.
Reduced Gamut LUT
Reduced Gamut LUT

Any standard Patch Set can then be Exported through the LUT, generating a .csv Patch Set that has the gamut reduction burnt into it. The example here show a 10^3 patch set being generated.

Reduced Gamut Patch Set Generation
Reduced Gamut Patch Set Generation

The generated Gamut Reduction patch set can then be used for any display profiling as normal via Peak Chroma or Peak Luma, but will only profile the main central 75% of the display's gamut.
(Note: The 75% is obviously based on the patch set triplet values, not the display's available gamut, and therefore a display that is pre-calibrated to a colour space it cannot actually reach - such as Rec2020, the gamut the patch set covers will not be 75% of the display's actual available gamut, and a patch set with a greater gamut reduction may be required if any of the patch measurements clip at the display's gamut edge. )

Note: A generated Gamut Patch Set will not have 100% Primary RGB triplets, and as such will not plot RGB Separation, as the RGB Separation graph expect the patch RGB triplet to contain equal RGB data and match the grey scale patches. To enable correct RGB Separation plotting, the required 100% primary RGB patches should be added to the Reduced Gamut set. Adding at least one each 100% saturation RGB patches will also enable Hybrid, Fit Space and Map Space to be used for LUT generation, although note that Fit Space and Map Space will not work with small cube based profiles.

Example Reduced Gamut patch sets, based on the above example, for use with Peak Chroma and Peak Luma LUT Generation can be downloaded via Customer Downloads.


Hint, Drift, & Augment Data

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

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

Drift processing can also be applied to any graph to see the impact of drift on the profile data, using the Drift tick box within the Processing section of Graph Options. The Drift profile can also be re-saved with Drift enabled, burning the Drift data into the new re-saved profile. Profiles saved with Drift burnt-in can then be used for additional processes, such as Hint.

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 OLEDs

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.
Note: Make sure the profile has not been re-saved with Drift burnt-in.

Drift
Drift Compensation

Augment

The Augmented Data process enables the grey-scale information within a given volumetric 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 (volumetric) 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 structure processes. 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 Calibration Issues 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 used 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.

Sub-Space Accuracy

The use of Sub-Space will not be as accurate as using a direct colour space target, due to the required colour space conversion for the patches generated.

For example, to calculate Rec709 white within DCI P3 you must create a conversion:

  • 1,1,1 RGB (Rec709)-> XYZ then XYZ -   DCI P3) RGB

This calculates the RGB code values in Rec2020 that represents the white of Rec709. There is no guarantee that these will be absolute integer values in any bit depth, and will therefore be rounded to the closest integer values.

This is expected, as all TPG are, by necessity, integer based, and is therefore a fundamental function of cutting one colour space from another.
Obviously, when the target colour space white point is identical, any patch errors will be outside the grey scale.

When using a Sub-Space colour space that has the same white point as the main Target colour space, and variations will be small, and limited to

When using Sub-Space for verification a display can cover an alternative colour space, the patch colour inaccuracy is obviously irrelevant.

For calibration, those situation where a Sub-Space approach is required, the the patch colour inaccuracy will be a lesser issues than the alternative.

Reduced Gamut Profiling & Calibration

Reducing the gamut area to be profiled while using Sub-Space 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.

Note: Due to the unique Colour Engine within ColourSpace Reduced Gamut Profiling can be used without Sub-Space, and in many situations may be the preferred profiling workflow

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 within 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
    (Sub-Space LUT Generation works only with Peak Chroma and Peak Luma, as Hybrid, Map Space, and Fit Space options require full range gamut profiles)

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 normally within the various graphs, due to the different targets in use.


LUT Generation

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

When generating LUTs, there are a range of user options that control the mathematical processes & algorithms used within the ColourSpace Colour Engine.

LUT Generation
LUT Generation

Source

The concept of the Source colour space is 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 P3 D65 colour space, making these the Source colour spaces to select.

The Drift Compensation tick box become available only when the selected profile has been generated with Drift patches. When active, the LUT Generation uses the Drift data to compensated for drift during the display profiling.

The Normalise Code Range tick box becomes available when the selected profile has been generated using Extended Range patch sets (16-255). When active, the profile patch data is normalised, meaning Extended Range profiles are processed as not having over-range data.
(When used with Extended patch sets, and Normal Range selected within the Normal/Extended drop-down, the LUT Generation is processed as for previous ColourSpace versions.)

Destination

The Destination colour space is the 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.

The Drift Compensation tick box become available only when the selected profile has been generated with Drift patches. When active, the LUT Generation uses the Drift data to compensated for drift during the display profiling.

The Normalise Code Range tick box becomes available when the selected profile has been generated using Extended range patch sets (16-255). When active, the profile patch data is normalised, meaning Extended range profiles are processed as not having over-range data.
(When used with Extended patch sets, and Normal selected within the Normal/Extended drop-down, the LUT Generation is processed as for previous ColourSpace versions.)
Note: Using an Extended range profile, with Normalise Code Range, and the Extended Range drop-down option makes no logical sense, but as always with ColourSpace all options are provided... See Extended Range below.

The Augmented Data tick box become available when the selected profile has been augmented with additional Grey Scale profile data. When active, the LUT Generation uses the Augmented data to increase grey scale accuracy.

The Hint tick box enables a second profile to be selected from the associated drop-down list, and used as a guide for LUT Generation.
For an end user, a large Hint profile, previously generated from the same display, can be used to supplement a smaller new profile when compensating for display drift/ageing.
For manufacturers, a large Hint profile can be generated from a single display within a given batch, or model range, and used to enhance calibration of each additional display in the batch/model range, individually profiled with a smaller patch set.

Limit Luminance

Limit Luminance enable the Min/Max luma for the LUT to be defined, either in nits or as a value in the range 0-1, depending on the LUT Generation settings. It also uses Peak Luma for LUT Generation, regardless of the option selected.
(If used with display calibration, the Min value should not be smaller than the Min in the profile, and the Max not set higher, and if the peak white of the display has an incorrect colour temperature will introduce channel clipping if the Limit Luminance Max value is not set low enough.)

Limit Luminance should only be used on non-PQ HDR displays when there is no way to set the desired target peak luma via Brightness/Contrast display controls.

On PQ based HDR displays Max should be used to set the clip point to a specific nits value, that matches the select target ST2084 colour space, and that is below the actual measured peak value, and prevents channel clipping.

For technical conversion LUTs, the use of Limit Luminance may be required, for example when converting from HDR to SDR.

If a standard power law, BT1886, or HLG pre-set Colour Space matrix is used as the Destination, the Limit Luminance values will show as a normalised percentage value, with values from 0 to 1.0, although values over 1.0 can be entered.

Output

The Output options define the processing and algorithms to be used during LUT Generation, as well as setting the LUT to be generated as an Out of Gamut Warning LUT.

Normal Range, Extended Range, Custom Ranges

The Range options define the active signal range the generated LUT will function over, depending on the profile being used, and in conjunction with the Normalise Code Range option within Destination for Extended Range profiles.

Normal Range

Normal Range is the default for most LUT generation, especially with Full or Legal Range profiles, generating a 0-1 range LUT from the 0-255/16-235 8-bit profile data. When used with an Extended Range profile, it will generate a 0-1 range LUT based on the Legal Range of the profile - 16-235 8-bit. When used with an Extended Range profile in conjunction with Normalise Code Range, it will generate a 0-1 range LUT based on the Full Range of the profile - 16-255 8-bit.

Extended Range

Extended Range is the default for LUT Generation with Extended Range profiles, generating a 0-1 range LUT from the 16-255 8-bit profile data. When used with a Full or Legal Range profile (or an Extended Range profile with Normalise Code Range active), it will map the 0-1 range of the profile into the compressed Legal range of an Extended Range LUT, extrapolating the Extended component of the LUT.

Custom Ranges

Custom Ranges provided a totally flexible approach to the definition of LUT ranges, using a user defined .csv file, enabling any custom ranges to be defined.

A file called colourSpaceCustomRanges.csv needs to be located in the same directory as the ColourSpace .ini files - nominally C:\Users\xxxx\AppData\Roaming\ColourSpace.

The file data format is:

  • Label, 0.0, 1.0

or

  • Label, 0.0, 1.0, 0.0, 1.0

The values are min and max, or min src, max src & min dst, max dst depending the format used.

The values should be 0 or greater (unless you really know what you are doing, in which car negative values can be used...), and min must be smaller than max.

As an example, for a Video Scale process you could use:

  • Video Scale, -0.0731, 1.09

or

  • Video Scale, -0.0731, 1.09, -0.0731, 1.09

The entries held in the colourSpaceCustomRanges.csv file will appear in the Normal/Extended Range drop-down.

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

All five 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.

Hybrid, Map Space, and Fit Space can only be used with profile data sets that include Black, 100% White, plus 100% saturation Red, Green, and Blue patches, and Fit Space and Map Space will not work with small cube based profiles.

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).

Note: Fit Space will not work with small cube based profiles.

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.

Note: Map Space will not work with small cube based profiles.

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.

Out of Gamut
Out of Gamut Warning

In-gamut colours are shown black & white, with out-of-gamut colours shown inverted, and fully saturated.

Create

Create will generate a LUT based on the above settings.

The time take for LUT generation depends on a number of factors, including the Target gamut being larger than the display's native gamut; the use of Gamut Mapping; and the validity of the profile measurement. If the profile has invalid data, as shown by the various Profile Graphs, LUT Generation can take a very long time, and will obviously result invalid corrections, due to the invalid profile data - Garbage in = Garbage out.

Gamut Coverage

After LUT Generation completes a Gamut Coverage pop-up window will provided a volumetric percentage for the display gamut coverage compared to the target colour space, based on the code value range.

The more volumetric points in the original profile, the more accurate the volumetric Gamut Coverage value will be.
Note: Peak Chroma will generate the most accurate Gamut Coverage value. Due to the way Map Space and Fit Space work, they will generate overly optimistic Gamut Coverage values.


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 set to a PQ EOTF pre-calibration

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 its 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 Max set to the same peak luma nits value as the Target colour space. If Limit Luminance Max is not used, the generated LUT will peak at the maximum the display can do, without clipping any colour channels, making the EOTF inaccurate, but brightening the overall calibration.
The Limit Luminance Max is not forced to the peak luma value of the target colour space as it can be used to alter the EOTF of the LUT, to compensate for viewing conditions. For example, for the above 850 nit peak luma display, targeting a ST2084 colour space with a 500 nit max luma, but setting the Limit Max Luminance value back to 850 nits will lift the EOTF, making the display brighter for use in non-ideal viewing conditions.

Soft RollOff, 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 required peak bits value for the maximum patch level
  • Use the required Target peak luma value to make a specific ST2084 colour space target
  • Generate the required LUT as normal

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 Target peak value.

The first step is to define the Limit Range value required.
Note: The correct Limit Range value will not necessarily be the same as the Target nits value if the display has a white point that is inaccurate.

  • 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 locate the peak luma of the display, just below any channel clipping, which defines the maximum nits value available

The Limit Range nits/code value should be higher than the Target nits value, 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 temporarily set the peak white colour temperature accurately, defining the maximum Target peak nits value the display is actually capable of after calibration.

PQ HDR Define Bits
PQ HDR Define Bits
  • Read off the bits value in the sliders - 775 in this example for approx 1050 nits, as the pre-calibrated display can do around 1200 nits nits, with an inaccurate white point, and the desired calibration Target is 1000 nits
  • Limit Range therefore needs to be set to 775 (10-bit)
    (This will still generate a profile with code values that are full range, not the patch range of 0-775)
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
PQ HDR LUT for in-built PQ EOTF
PQ HDR LUT for in-built PQ EOTF

The LUT generated will correctly map to the peak of 1000 nits, which is approx. 75% of the PQ code range, as defined by the Limit Range value (769, 10-bit).

The LUT 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.

Increased Resolution PQ LUT

A totally unique ColourSpace capability for PQ display calibration is the ability to normalise any PQ LUT to the maximum nits capability of the display, rather than to target the default 10,000 nits of the PQ HDR ST2084 standard.

This enables professional display manufacturers to maximise calibration resolution for PQ based HDR applications.

As a direct example, the following is an Increased Resolution LUT for the above Initial PQ EOTF calibration, with the LUT spanning the full range, so increasing calibration granularity.

PQ HDR LUT for in-built PQ EOTF
PQ HDR LUT for in-built PQ EOTF
LUT Generation Workflow

To enable the generation of increased resolution PQ LUTs the Custom Ranges capabilities of ColourSpace are used, with a file called colourSpaceCustomRanges.csv located in the same directory as the ColourSpace .ini files - nominally C:\Users\xxxx\AppData\Roaming\ColourSpace.

The file data format is:

  • Label, 0.0, 1.0

or

  • Label, 0.0, 1.0, 0.0, 1.0

The values are min and max, or min src, max src & min dst, max dst depending the format used.

The values should be 0 or greater, and min must be smaller than max.

As an example, for a PQ cube where the full range of the LUT covers 70% of the code range, which is approximately 650 nits for a full range PQ display, then you could use:

  • 70% Range, 0.0, 0.7

The entries held in the colourSpaceCustomRanges.csv file will appear in the Normal/Extended Range drop-down.

Note: The Active LUT function within ColourSpace will not work with a LUT generated using the Increased Resolution process, unless the LUT is first compressed back into the full PQ nits range using the LUT Manipulation tools.


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 its 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 as 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, focusing 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.


Focused Patch Sets

For users looking for the ultimate in calibration accuracy - gaining the last few % of accuracy - ColourSpace provides access to a totally unique Focused Patch Set profiling capability that focuses on the Target colour space, making sure all profile measurements are tailored towards generating the best possible 3D calibration LUT for any given target via Peak Chroma and Peak Luma LUT Generation.

Hybrid, Fit Space and Map Space use different approaches to LUT Generation and any patch sets to be used with those processes must have Black, White, Red, Green, and Blue patches at 100% saturation added (not necessarily 100% peak Red, Green, Blue), and Fit Space and Map Space will not work with small cube based profiles.

This Focused Patch Set capability uses a two-pass profiling approach, using a first profile pass to define the required colour patches for a second, focused profiling pass, and generates unheard of levels of calibration accuracy!

Focused Patch Set Workflow

The following defines the basic approach to the generation of a Focused Patch Set, using the in-built 21^3 cube based profile. However, as should be expected, any volumetric patch sets can be used - including User Generated patch sets.
(While the following defines the generation of a new entire Focused Patch Set, it is obviously possible to just generate a Grey Scale Focused Patch Set, and add the new patches into a standard patch set, if the user is only interested in improving Grey Scale Response.)

  • Profile an uncalibrated/native display with the required patch set
    (The example here uses the default 21^3 patch set as a direct comparison to the Focused Patch Set, but any patch set can be used for the initial profiling, including User Defined, as well as Quick Profiles)
  • Make a LUT targeting the correct colour space (e.g. Rec709), and save it
  • Upload the LUT and verify the initial standard LUT calibration
    (This is only to generate a standard calibration verification for later comparison, and can be skipped if wanted)
  • After verification delete the uploaded LUT (upload Unity Bypass), so the display is still in uncalibrated/native mode!
    (The verification can also be performed via Active LUT, obviously...)
  • Use the generated LUT to export a new, focused patch set, via the Active LUT option
    (Any volumetric patch set can be used, including User Defined patch sets)
  • Add a standard Grey Scale set of patches to the Focused Patch Set, to enable standard graph operation
    (It is likely the new Focused Patch Set will not have standard Grey Scale patches, so they should to be added to the Focused Patch Set, or Grey Scale patches can be measured via Manual Measure after the Focused Patch Set profile finishes)
  • Re-profile the uncalibrated/native display with the new focused patch set
    (Measure a Grey Scale using Manual Measure, if one was not added to the Focused Patch Set, as above)
  • Make a LUT to the target colour space (e.g. Rec709) via Peak Chroma, and load into the display
  • Re-profile to verify the final calibration...
    (Compare to the previous calibration verification, to assess the calibration improvement)

The above workflow overview is based on a using a standard 21^3 patch set for both the initial standard profile, used to first generate the LUT, and then used to export and define the new Focused Patch Set, again using the default 21^3 as the exported patch set.

However, any patch set can be used for the initial profiling, including Quick Profiles and User Defined patch sets. The patch set exported through the LUT to generate a Focused Patch Set must be Volumetric based, such as the Cube based in-built profiles, or User Generate volumetric patch sets.

It is also worth realising that once a Focused Patch Set has been generated for a specific display/TV/projector model, that new Focused Patch Set can potentially be used on any display/TV/projector of the same model...

For ultimate calibration accuracy it will always be preferable to generate a new Focused Patch Set on every individual display/TV/projector, but the benefit of using a pre-generated Focused Patch Set on any display/TV/projectors of the same model will still offer improvements over default patch sets.

Note: A generated Focused Patch Set will likely not have pure grey scale triplets (patches with equal RGB triplet values), and as such will not plot RGB Balance, EOTF graphs, etc., as such graphs expect the patch RGB triplet to contain equal RGB data. To enable correct graph plotting, a Grey Scale should be added to the Focused Patch Set as defined above.
It should be realised that there is actually no such thing as a grey scale separate from the whole gamut volume. Plotting grey scale separately is simply a subjective construct defined to attempt to assist the understanding of colour with reference to calibration assessment.

From the above it should be possible to realise that a Focused Patch Set can also be re-inserted back into a standard patch set, as a form of augmentation. If a 10^3 patch set is initially used, the focused patch set generated could be merged back into it, to build a larger patch set, combining all patches.

Result Comparison

The following graphs directly compare a Standard profile based calibration result, with the results of a Focused Patch Set, as defined above. The benefit of the Focused Patch Set is obvious, even though for this display the standard profiling approach generates a very impressive calibration result.

Original Default Profile
Original Default Profile
Focused Profile
Focused Profile

As can be seen above, using the Focused Patch Set all profile measurements are targeted at Rec709 gamut, with no unnecessary measurements made.

The above CIE Chart Verification profiles show the subtle, but measurable, improvement in the final display calibration. While calibration with the Default patch set is very good, with an average dE2000 value of just 0.3086, the Focused patch set generates an average dE2000 value of 0.2502.
(Click the graphs to direct compare them.)

The above RGB Balance Chart Verification profiles also show the subtle, but measurable, improvement in the final display calibration, with the Default patch set showing an average grey scale dE2000 value of 0.6849, and the Focused patch set generating an average grey scale dE2000 value of 0.6183.
(Click the graphs to direct compare them.)

Reduced Gamut Display

When calibrating a display to a target gamut larger than the native gamut of the display a slightly different approach is required when generating the Focused Patch Set.

With a display with a gamut smaller than the target colour space the LUT used to generate the Focused Patch Set will compress patch triplet values for patches that originally aimed to measure a colour outside the display's native gamut.

These compressed patches in the Focused Pat Set need to be removed, and replaced with standard RGBCMY 100% measurements.
(Actually, any patches that are gamut edge patches can be added back into the patch set.)

In the Focused Patch Set any patch that has a 255 and/or a 0 value will be a gamut edge patch, and should be deleted.
(There will be a few valid patches that will be deleted, but as the gamut edge patches will be replaced that is not an issue.)

Further Understanding

What should be understood from the above is that the patch set used for profiling doesn't have to cover the full gamut of the display, which means the triplet values used within the patch set do not have to include the full colour range.

To explain further, the in-built Grey Ramp RGB profile has 100% Red, Green & Blue patches, at 230 8-bit brightness levels, as can be seen in the first patch set below.

Grey Ramp RGB Default
Grey Ramp RGB Default
Grey Ramp RGB Low Gamutl
Grey Ramp RGB Low Gamut

The second patch set has the gamut of the RGB patches reduced by approx. 25% (in 8-bit value, not measured gamut). However, both patch sets will calibrate any given display accurately, via Peak Chroma and Peak Luma, to the required target colour space, as ColourSpace understands where the reduced gamut RGB patches, and hence the associated measurements, are positioned within the full volumetric colour gamut.

Note: The above Grey Ramp RGB patch sets are used to help explain the ability for ColourSpace to work with measurements that do not cover the full display gamut - they cannot be used on their own for Focused Patch Sets, as they are not Volumetric Patch Sets.


Maths Equations

Within LUT Adjustment, 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 in 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.


Image Sequence Probe

The Image Sequence Probe is a very unique ColourSpace capability, and in essence is a form of virtual probe that is capable of taking measurements from an image sequence.

Image Sequence Probe
Image Sequence Probe

In this way, an entire image capture path can effectively be profiled, including screen, lens, camera, making this a very unique calibration approach for difficult colour management signal paths, such as with Virtual Sets, or to profile the output from a Telecine to generate film profiles for Look LUTs, or to generate Camera Matching LUTs.

For more information see the Image Sequence Probe page of the website.