@@ -46,6 +46,15 @@ WPT Display: open
46
46
"publisher": "VESA",
47
47
"date": "17 May 2024"
48
48
},
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
+ },
49
58
"ISO_21496-1": {
50
59
"title": "Gain map metadata for image conversion: Part 1: Dynamic Range Conversion",
51
60
"href": "https://www.iso.org/standard/86775.html",
@@ -583,6 +592,123 @@ Mixing Dynamic Range Limits: the ''dynamic-range-limit-mix()'' function {#dynami
583
592
</pre>
584
593
</div>
585
594
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
+
586
712
<!-- Big Text: color()
587
713
588
714
███▌ ███▌ █▌ ███▌ ████▌ ██ ██
@@ -1049,87 +1175,7 @@ Converting JzCzHz colors to Jzazbz colors</h4>
1049
1175
<li> Jz is the same
1050
1176
</ol>
1051
1177
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>
1121
1178
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>
1133
1179
1134
1180
<!-- Big Text: composite
1135
1181
0 commit comments