@@ -46,6 +46,15 @@ WPT Display: open
4646 "publisher": "VESA",
4747 "date": "17 May 2024"
4848 },
49+ "Development_ITP": {
50+ "authors": [
51+ "F.Ebner",
52+ "M.D.Fairchild"
53+ ],
54+ "title": "Development and testing of a color space (IPT) with improved hue uniformity. In: Proceedings of The Sixth Color Imaging Conference, 8-13, 1998",
55+ "date": "January 1998",
56+ "href": "https://www.researchgate.net/publication/221677980_Development_and_Testing_of_a_Color_Space_IPT_with_Improved_Hue_Uniformity"
57+ },
4958 "ISO_21496-1": {
5059 "title": "Gain map metadata for image conversion: Part 1: Dynamic Range Conversion",
5160 "href": "https://www.iso.org/standard/86775.html",
@@ -583,6 +592,123 @@ Mixing Dynamic Range Limits: the ''dynamic-range-limit-mix()'' function {#dynami
583592 </pre>
584593 </div>
585594
595+ <!-- Big Text: ICTCP Jaz -->
596+
597+ <h2 id="DI-HDR">
598+ Device-Independent HDR Colors
599+ </h2>
600+
601+ In the same way that [[css-color-4#lab-colors]]
602+ allows specifying device-independent SDR colors,
603+ this specification allows specifying device-independent HDR colors.
604+
605+ <h3 id="ictcp-intro" class="informative">
606+ Introducing ICtCp
607+ </h3>
608+
609+ <em> This section is not normative.</em>
610+
611+ The IC<sub> T</sub> C<sub> P</sub> color space
612+ has better perceptual uniformity than CIE Lab,
613+ and is used as a part of the color image pipeline
614+ in video and digital photography systems
615+ for high dynamic range (HDR) and wide color gamut (WCG) imagery.
616+
617+ The T and P subscripts
618+ refer to the Tritanope (yellowness-blueness)
619+ and Protanope (redness-greenness)
620+ opponent color axes in the human visual system.
621+ To avoid pesky subscripts,
622+ the simplification ICtCp is frequently used.
623+
624+ IC<sub> T</sub> C<sub> P</sub> was
625+ originaly developed by Dolby Laboratories [[!What_is_ICtCp]]
626+ from the IPT color space by Ebner and Fairchild
627+ [[!Development_ITP]] ,
628+ and is defined in [[!Rec_BT.2100]] as the
629+ Constant Intensity IC<sub> T</sub> C<sub> P</sub> signal format.
630+ It was intended to replace YCbCr [[Perrin]] .
631+
632+ It is based on the human visual system LMS cone primaries;
633+ the Hunt-Pointer-Estevez (HPE) XYZ to LMS transform
634+ is used,
635+ normalized to a [=D65=] whitepoint.
636+ A 4% crosstalk matrix is then applied [[What_is_ICtCp]] ,
637+ to reduce the gamut hull concavities of BT.2020 RGB,
638+ thus reducing interpolation errors.
639+ The crosstalk also provides improved lines of constant hue
640+ and improved uniformity of Just Noticeable Difference (JND) MacAdam ellipses.
641+
642+ Unlike ''Lab'' , which has primarily been tested with
643+ lower-intensity <em> reflective</em> colors,
644+ IC<sub> T</sub> C<sub> P</sub> has been tested with
645+ high-chroma (wide color gamut),
646+ self-luminous, and
647+ high intensity (HDR) colors.
648+ This makes it suitable for HDR color difference measurement
649+ <a href="#deltaE">(deltaE ITP)</a>
650+ and for gamut mapping of mixed SDR and HDR colors.
651+
652+ <dfn export>ICtCp</dfn> {#ICtCp}
653+ -----------------
654+
655+ The ''ICtCp'' color space accepts three numeric parameters,
656+ with I representing the Intensity
657+ (similar to L in Lab, but covering a luminance range
658+ up to 10,000 cd/m<sup> 2</sup> )
659+ while C<sub> T</sub> and C<sub> P</sub> represent the
660+ yellowness-blueness (tritanope) and
661+ redness-greenness (protanope)
662+ opponent-color axes (similar to b and a, respectively, in Lab).
663+
664+ It has the following characteristics:
665+
666+ <table>
667+ <thead><td></td><td> x</td><td> y</td></thead>
668+ <tr><th> White chromaticity</th><td colspan="2"> [=D65=] </td></tr>
669+ <tr><th> Transfer function</th><td colspan="2"> Perceptual Quantizer</td></tr>
670+ <tr><th> White luminance</th><td colspan="2"> 203 cd/m²</td></tr>
671+ <tr><th> Peak white luminance</th><td colspan="2"> 10,000 cd/m²</td></tr>
672+ <tr><th> Black luminance</th><td colspan="2"> 0.001 cd/m²</td></tr>
673+ <tr><th> Image state</th><td colspan="2"> display-referred</td></tr>
674+ <tr>
675+ <th> Percentages</th>
676+ <td colspan="2"> Allowed for I, Ct and Cp</td>
677+ </tr>
678+ <tr>
679+ <th> Percent reference range</th>
680+ <td> for I: 0% = 0.0, 100% = 1.0<br>
681+ for Ct and Cp: -100% = -0.5, 100% = 0.5</td>
682+ </tr>
683+ </table>
684+
685+ Although [[Rec_BT.2100]] defines IC<sub> T</sub> C<sub> P</sub>
686+ by a conversion from linear-light BT.2100 RGB [[Rec_BT.2100]] ,
687+ this conversion proceeds via LMS
688+ and thus, any other color space can also be represented
689+ by applying an XYZ to LMS transform
690+ as shown in [[What_is_ICtCp]] .
691+ The <a href="#ictcp_code">sample code</a> uses this approach.
692+
693+ <div class="example">
694+ This color represents the sRGB color "lime" in ''ICtCp''
695+ <pre>
696+ <span class="swatch" style="--color: lime"></span> color(ictcp 0.5393 -0.2643 -0.0625)
697+ </pre>
698+ </div>
699+
700+ <div class="example">
701+ This color represents a comfortable "diffuse white"
702+ This color can be displayed for long periods,
703+ or used for subtitles,
704+ on any sized area of the screen.
705+ It is the same color as sRGB ''white'' .
706+ Diffuse white is 203 cd/m² [[!Rec_BT.2100]] .
707+ <pre>
708+ <span class="swatch" style="--color: white"></span> color(ictcp 0.58069 0 0)
709+ </pre>
710+ </div>
711+
586712<!-- Big Text: color()
587713
588714 ███▌ ███▌ █▌ ███▌ ████▌ ██ ██
@@ -1049,87 +1175,7 @@ Converting JzCzHz colors to Jzazbz colors</h4>
10491175 <li> Jz is the same
10501176 </ol>
10511177
1052- <dfn export>ICtCp</dfn> {#ICtCp}
1053- -----------------
1054-
1055- The ''ICtCp'' color space [[!Perrin]]
1056- is defined as Constant Intensity IC<sub> T</sub> C<sub> P</sub> signal format
1057- in [[!Rec_BT.2100]] and accepts three numeric parameters,
1058- with I representing the Intensity
1059- (similar to L in Lab, but covering a luminance range
1060- up to 10,000 cd/m<sup> 2</sup> )
1061- while C<sub> T</sub> and C<sub> P</sub> represent the
1062- yellowness-blueness (tritanope) and
1063- redness-greenness (protanope)
1064- opponent-color axes (similar to b and a, respectively, in Lab).
1065-
1066- It is based on human visual system LMS cone primaries;
1067- the Hunt-Pointer-Estevez (HPE) XYZ to LMS transform
1068- is used,
1069- normalized to a [=D65=] whitepoint.
1070- A 4% crosstalk matrix is then applied [[What_is_ICtCp]] ,
1071- to reduce the gamut hull concavities of BT.2020 RGB,
1072- thus reducing interpolation errors.
1073- The crosstalk also provides improved lines of constant hue
1074- and improved uniformity of Just Noticeable Difference (JND) MacAdam ellipses.
1075-
1076- It has the following characteristics:
1077-
1078- <table>
1079- <thead><td></td><td> x</td><td> y</td></thead>
1080- <tr><th> White chromaticity</th><td colspan="2"> [=D65=] </td></tr>
1081- <tr><th> Transfer function</th><td colspan="2"> Perceptual Quantizer</td></tr>
1082- <tr><th> White luminance</th><td colspan="2"> 203 cd/m²</td></tr>
1083- <tr><th> Peak white luminance</th><td colspan="2"> 10,000 cd/m²</td></tr>
1084- <tr><th> Black luminance</th><td colspan="2"> 0.001 cd/m²</td></tr>
1085- <tr><th> Image state</th><td colspan="2"> display-referred</td></tr>
1086- <tr>
1087- <th> Percentages</th>
1088- <td colspan="2"> Allowed for I, Ct and Cp</td>
1089- </tr>
1090- <tr>
1091- <th> Percent reference range</th>
1092- <td> for I: 0% = 0.0, 100% = 1.0<br>
1093- for Ct and Cp: -100% = -0.5, 100% = 0.5</td>
1094- </tr>
1095- </table>
1096-
1097- Although [[Rec_BT.2100]] defines IC<sub> T</sub> C<sub> P</sub>
1098- by a conversion from linear-light BT.2100 RGB [[Rec_BT.2100]] ,
1099- this conversion proceeds via LMS
1100- and thus, any other color space can also be represented
1101- by applying an XYZ to LMS transform
1102- as shown in [[What_is_ICtCp]] .
1103-
1104- Note that unlike CIE ''Lab'' , a [=D65=] whitepoint is used.
1105-
1106- Also unlike ''Lab'' , which has primarily been tested with
1107- lower-intensity reflective colors,
1108- IC<sub> T</sub> C<sub> P</sub> has been tested with
1109- high-chroma,
1110- self-luminous, and
1111- high intensity (HDR) colors.
1112- This makes it suitable for color difference measurement (deltaE ITP)
1113- and for gamut mapping of SDR and HDR colors.
1114-
1115- <div class="example">
1116- This color represents the sRGB color "lime" in ''ICtCp''
1117- <pre>
1118- <span class="swatch" style="--color: lime"></span> color(ictcp 0.5393 -0.2643 -0.0625)
1119- </pre>
1120- </div>
11211178
1122- <div class="example">
1123- This color represents a comfortable "diffuse white"
1124- This color can be displayed for long periods,
1125- or used for subtitles,
1126- on any sized area of the screen.
1127- It is the same color as sRGB ''white'' .
1128- Diffuse white is 203 cd/m² [[!Rec_BT.2100]] .
1129- <pre>
1130- <span class="swatch" style="--color: white"></span> color(ictcp 0.58069 0 0)
1131- </pre>
1132- </div>
11331179
11341180<!-- Big Text: composite
11351181
0 commit comments