ICtCp
ICTCP, ICtCp, or ITP is a color representation format specified in the Rec. ITU-R BT.2100 standard that is used as a part of the color image pipeline in video and digital photography systems for high dynamic range and wide color gamut imagery. It was developed by Dolby Laboratories from the IPT color space by Ebner and Fairchild. The format is derived from an associated RGB color space by a coordinate transformation that includes two matrix transformations and an intermediate nonlinear transfer function that is informally known as gamma pre-correction. The transformation produces three signals called I, CT, and CP. The ICTCP transformation can be used with RGB signals derived from either the perceptual quantizer or hybrid log–gamma nonlinearity functions, but is most commonly associated with the PQ function.
The I component is a luma component that represents the brightness of the video, and CT and CP are blue-yellow and red-green chroma components. Ebner also used IPT as short for "Image Processing Transform".
The ICTCP color representation scheme is conceptually related to the LMS color space, as the color transformation from RGB to ICTCP is defined by first converting RGB to LMS with a 3×3 matrix transformation, then applying the nonlinearity function, and then converting the nonlinear signals to ICTCP using another 3×3 matrix transformation. ICTCP was defined as a YCC digital format with support for 4:4:4, 4:2:2 and 4:2:0 chroma subsampling in CTA-861-H.
Derivation
ICTCP is defined by Rec. 2100 as being derived from linear RGB as follows:- Calculate LMS from BT.2100 RGB:
- Normalize the LMS by a non-linearity:
- * If the PQ transfer function is used:
- * If the HLG transfer function is used:
- Calculate ICTCP:
- *for PQ:
- *for HLG:
ICTCP is defined such that the entire BT.2020 space fits into the range for I and for the two chroma components. The related uniform color space ITP used in ΔEITP scales CT by 0.5 to restore uniformity. There is support for ICtCp in zimg and color-science, for both HLG and PQ.
In IPT
The preceder to ICTCP, Ebner & Fairchild IPT color appearance model, has a mostly similar transformation pipeline of input → LMS → nonlinearity → IPT. The differences are that it defines its input to the more general CIEXYZ tristimulus color space and as a result has a more conventional Hunt-Pointer-Estevez matrix for LMS. The nonlinearity is a fixed gamma of 0.43, quite close to the one used by RLAB. The second matrix here is slightly different from the ICTCP matrix, mainly in that it also considers S for intensity, but ICTCP has also Rotation matrix and Scalar matrix multiplied with this matrix:- Calculate LMS :
- Nonlinearity : For each of L, M, S components apply a power function:
IPTPQc2
Note the matrix inversion used and an error was made in patent in 1091 number of the matrix. In addition, this format has no nonlinearity, and is assumed to be BT.2020-based.
The second step, the dynamic range adjustment modeling, is also defined in the patent.
It is used by Disney+, Apple TV+ and Netflix.
Decoder of IPTPQc2 with reshaping and MMR is available in libplacebo.
Support for decoding all stages was added in mpv.
Characteristics
ICTCP has near constant luminance. The correlation coefficient between encoded I and true luminance is 0.998, much higher than the 0.819 for YCBCR. An improved constant luminance versus YCBCR is an advantage for color processing operations such as chroma subsampling and gamut mapping where only the color difference information is changed.ICTCP also improves hue linearity compared with YCBCR, which helps with compression performance and color volume mapping. Adaptive reshaping can further provide a 10% improvement on compression performance.
Improvement in luminance and hue uniformity make scaled ICTCP a practical color space for calculating color differences, as introduced by ITU-R Rec. BT.2124.
In terms of CIEDE2000 color quantization error, 10-bit ICTCP would be equivalent to 11.5 bit YCBCR.