컬러 엔지니어링 워크벤치
앞의 열여덟 장에서 배운 공식들은 실무에서 몇 개의 고정된 질문으로 되돌아온다. “이 스펙트럼의 색온도와 Duv는?”, “이 hex 값의 Lab은?”, “두 시편이 허용차 안인가?”, “sRGB를 P3 패널에 정확히 띄우는 행렬은?”, “이 패널은 Rec.2020을 몇 % 덮는가?” 이 장은 개념 설명 대신 그 질문들에 바로 답하는 계산 도구와, 도구를 써서 실무 문제를 끝까지 푸는 예제로 구성된다. 모든 계산은 다른 장과 같은 CIE 원표와 같은 CB 헬퍼로 이뤄지므로, 여기서 얻은 숫자는 책 전체의 숫자와 일치한다.
- 임의의 분광 분포(표준 광원, 흑체, 가우시안 합성, 측정값 붙여넣기)에서 XYZ·xyY·u′v′·CCT·Duv·주파장·Lab·RGB·LER을 한 번에 계산할 수 있다.
- hex, 8비트 sRGB, 선형 RGB, XYZ, xyY, Lab, LCh, OKLab 사이를 백색점과 색순응 방법을 명시한 채 오갈 수 있다.
- ΔE76·ΔE94·ΔE2000을 항별로 분해해 “왜 이 값이 나왔는가”를 설명하고 허용차 판정을 내릴 수 있다.
- 원색·백색점만으로 RGB→RGB 3×3 행렬과 역행렬을 만들고, 원색·백색 변환으로 그 행렬을 검증할 수 있다.
- 가멋의 면적비와 커버리지를 구별하고, xy와 u′v′에서 수치가 왜 다른지 설명할 수 있다.
워크벤치 사용법과 계산 규약
색 계산의 오류 대부분은 공식이 아니라 규약에서 생긴다. 같은 시료라도 XYZ를 Y=1로 쓰는지 Y=100으로 쓰는지, 2° 관측자인지 10° 관측자인지, Lab의 기준 백색이 D65인지 D50인지에 따라 숫자가 달라진다. 숫자를 남에게 넘길 때는 값과 함께 이 세 가지를 반드시 적어야 한다. 이 장의 도구는 아래 흐름을 따라 계산하고, 각 단계의 규약을 결과 표에 함께 표시한다.
| 항목 | 이 장의 규약 | 흔한 다른 규약 |
|---|---|---|
| XYZ 스케일 | 표시는 Y=100 (반사체는 완전 확산면 Y=100, 발광체는 Y=100으로 정규화) | Y=1 (영상·셰이더), 절대값 cd/m² |
| 관측자 | XYZ·xyY·u′v′·Lab은 선택한 관측자. CCT·Duv·주파장·RGB는 항상 2° (CIE 1931) | 10° 관측자(인쇄·도료 측정에 흔함) |
| Lab 기준 백색 | 도구마다 선택. 백색이 D65가 아니면 지정한 CAT로 적응한 뒤 계산 | ICC PCS는 D50 + Bradford |
| RGB 공간 | sRGB·P3·Rec.2020 모두 D65 백색, 원색은 5장의 표준값 | DCI-P3(DCI 백색), Adobe RGB |
| 인코딩 | sRGB·Display P3: IEC 61966-2-1 곡선, Rec.2020: BT.2020 OETF | BT.1886 감마 2.4 (표시 측) |
| CCT | CIE 1960 uv에서 흑체 궤적 최근접점 직접 탐색, |Duv| ≤ 0.05에서만 유효 | McCamy 근사, Robertson 표 |
“Lab = (54.3, 80.8, 69.9)”는 그 자체로는 불완전한 정보다. sRGB 빨강의 Lab은 D65 백색 기준이면 (53.24, 80.09, 67.20), ICC 방식대로 Bradford로 D50에 적응하면 (54.29, 80.80, 69.89)이다. 두 값의 ΔE00은 약 1.1로, 인쇄 허용차의 절반을 이미 써 버린다. 보고서에는 “D50, 2°, Bradford”처럼 규약을 함께 적는다.
스펙트럼 → 모든 좌표 변환기
측정 장비가 내놓는 가장 원초적인 데이터는 분광 분포다. 분광복사계는 광원의 \(S(\lambda)\)를, 분광광도계는 시료의 반사율 \(R(\lambda)\)를 준다(11장). 이 도구는 둘 중 무엇이든 받아 3자극치를 적분하고, 거기서 파생되는 모든 좌표를 한 표에 낸다. 적분은 380–780 nm, 5 nm 간격의 CIE 원표 위에서 이뤄진다(3장).
정밀 CCT와 Duv
상관 색온도는 “시료 색도에서 가장 가까운 흑체의 온도”이고, 거리는 CIE 1960 UCS \((u,v)\)에서 잰다(CIE 015:2018). McCamy 3차식은 xy만으로 빠르게 근사하지만 궤적에서 멀어지면 오차가 커지고 Duv는 주지 않는다. 이 도구는 흑체 궤적을 CMF로 직접 적분해 1–1000 mired 격자에서 최근접점을 찾은 뒤, 황금분할 탐색으로 거리를 최소화하는 온도를 구한다. Duv는 그 최소 거리이며, 궤적 위쪽(녹색 쪽)이 양수, 아래쪽(마젠타 쪽)이 음수다.
주파장과 자극 순도
주파장 \(\lambda_d\)는 기준 백색 W에서 시료 S를 지나 스펙트럼 궤적까지 그은 반직선이 만나는 단색광의 파장이다. 반직선이 궤적 대신 보라 직선(380–700 nm를 잇는 선)과 만나면 주파장이 없으므로, 반대 방향의 교점 파장을 여색 파장 \(\lambda_c\)로 보고하고 관례상 음수 부호나 “c”를 붙인다. 자극 순도는 \(p_e=\overline{WS}/\overline{WB}\) (B는 경계 위의 교점)로, 백색이면 0, 단색광이면 1이다. 주파장은 기준 백색에 따라 달라지므로 반드시 백색을 함께 적는다(4장).
스펙트럼 → XYZ · xy · u′v′ · CCT · Duv · 주파장 · Lab · RGB · LER
| 양 | 값 | 규약 · 비고 |
|---|
아래 표는 이 도구로 계산한 표준 광원의 기준값이다. 다른 소프트웨어와 결과를 대조할 때 출발점으로 쓴다. 표의 LER은 380–780 nm만 적분했으므로 적외선을 많이 내는 백열광(A)의 실제 발광 효율(약 15 lm/W 수준)과는 전혀 다른 양이다. 이는 “가시광 안에서 스펙트럼 모양이 얼마나 ȳ에 집중되어 있는가”를 뜻한다(10장).
| 광원 | x | y | CCT 정밀 (K) | McCamy (K) | Duv | LER₃₈₀₋₇₈₀ (lm/W) |
|---|---|---|---|---|---|---|
| A | 0.4476 | 0.4074 | 2856 | 2857 | 0.0000 | 154.1 |
| D50 | 0.3457 | 0.3585 | 5002 | 5002 | +0.0032 | 206.2 |
| D65 | 0.3127 | 0.3290 | 6504 | 6504 | +0.0032 | 203.5 |
| FL2 (냉백색 형광) | 0.3721 | 0.3751 | 4225 | 4230 | +0.0018 | 336.4 |
| FL11 (3파장 형광) | 0.3805 | 0.3769 | 3999 | 4007 | 0.0000 | 336.7 |
| LED-B3 (청색+형광체) | 0.3756 | 0.3723 | 4103 | 4112 | −0.0007 | 316.9 |
| LED-RGB1 | 0.4557 | 0.4211 | 2840 | 2842 | +0.0043 | 291.4 |
| HP1 (고압 나트륨) | 0.5330 | 0.4150 | 1959 | 1944 | +0.0008 | 394.5 |
표에서 보듯 궤적 근처(|Duv| < 0.005)의 2,800–6,500 K에서는 McCamy 근사와 정밀 탐색이 10 K 안에서 맞는다(D65·D50은 1 K 이내). 그러나 고압 나트륨(1959 K)에서는 15 K, 3파장 형광(FL11)에서는 8 K가 벌어진다. 사양서의 CCT 허용 범위가 수백 K이므로 판정에는 대개 충분하지만, Duv가 필요하거나 2,000 K 이하·10,000 K 이상을 다룬다면 직접 탐색(또는 Ohno 2014 방법)을 써야 한다.
색 값 상호 변환기
코드 리뷰나 디자인 협업에서 가장 자주 나오는 질문은 “이 hex의 Lab은?”이나 “이 Lab을 sRGB로 표시하면?”이다. 변환 자체는 5장(RGB↔XYZ), 6장(전달 함수), 7장(Lab·OKLab), 8장(색순응)의 공식을 차례로 적용하는 것뿐이지만, 단계가 많아 실수하기 쉽다. 이 도구는 여덟 표현 중 어느 칸에 입력해도 나머지 일곱 칸을 즉시 갱신한다. 내부 기준값은 D65 백색 기준 XYZ(Y=1)이며, 모든 칸은 이 값에서 다시 계산된다.
hex · sRGB · 선형 RGB · XYZ · xyY · Lab · LCh · OKLab 양방향 변환
| 부가 정보 | 값 | 비고 |
|---|
#ff0000을 넣으면 Lab = (53.24, 80.09, 67.20)이 나와야 한다. 백색을 D50(Bradford)으로 바꾸면 (54.29, 80.80, 69.89)가 된다. ② Lab 칸에 50, 0, -90을 넣어 sRGB 가멋 밖 색이 어떻게 표시되는지 보자. ③ 같은 상태에서 색순응 방법을 XYZ 스케일링으로 바꾸면 D50 Lab 값이 얼마나 달라지는지 확인하자.hex를 읽어 8비트 값에 바로 3×3 행렬을 곱하거나, 두 색의 평균을 신호값으로 내는 코드는 흔하다. sRGB 신호 128은 선형 휘도 0.216이지 0.5가 아니다. 행렬·평균·보간·블렌딩은 모두 선형 값에서 하고, 마지막에 한 번만 인코딩한다(6장). 이 도구에서 hex #808080의 선형 값을 확인해 보라.
색차 계산기
허용차 판정의 핵심은 어떤 ΔE를 쓰는지 합의하는 것이다. ΔE76은 Lab의 유클리드 거리라 계산은 쉽지만 채도가 높은 색에서 과대평가한다. ΔE94는 채도에 비례하는 가중치 \(S_C, S_H\)를 도입했고, ΔE2000은 명도 가중 \(S_L\), 저채도 a* 보정 \(G\), 색상 의존 \(T\), 청색 영역의 회전항 \(R_T\)까지 넣었다(7장). 이 도구는 세 공식을 동시에 계산하고 각 항을 분해해 보여 준다.
CB.dE2000과 같은 식이며, 분해 결과의 합은 그 값과 일치한다.색차 계산기 — ΔE76 · ΔE94 · ΔE2000 · ΔE_OK · Δu′v′
| 항목 | 값 | 비고 |
|---|
50, 2.6772, -79.7751과 50, 0, -82.7485를 넣으면 Sharma 시험 데이터 1번 쌍의 ΔE00 = 2.0425가 나와야 한다. ③ kL을 2로 바꾸면(섬유 관행) 밝기 차의 기여가 1/4로 줄어든다. ④ 색 1과 2를 바꿔 ΔE94만 달라지는 것을 확인하자.인쇄 공정 관리(ISO 12647 계열)와 브랜드 색 관리에서는 D50·2°·M1 측정 조건의 Lab과 ΔE00이 흔하고, 섬유·도료는 D65·10°와 CMC(l:c) 또는 ΔE00(2:1:1)을 쓰기도 한다. 같은 시편 쌍이라도 공식에 따라 2–3배 차이가 나므로(아래 예제 3), 계약서의 허용차 숫자는 공식·백색·관측자·측정 기하가 함께 적혀 있을 때만 의미가 있다.
RGB 공간 변환 행렬 생성기
두 RGB 공간 사이의 변환은 선형 영역에서 3×3 행렬 하나로 끝난다. 원색 xy 세 개와 백색점 xy 하나면 RGB→XYZ 행렬(NPM)이 정해지고(5장), 백색점이 다르면 그 사이에 색순응 행렬을 끼운다. 이 도구는 그 곱을 계산해 소수 6자리 텍스트로 내 주고, 원색과 백색을 실제로 변환해 결과를 검증한다.
RGB → RGB 3×3 행렬 생성 · 역행렬 · 검증
M (원본 RGB → 목적 RGB)
—
M⁻¹ (목적 → 원본)
—
원본 RGB → XYZ (NPM)
—
목적 RGB → XYZ (NPM)
—
| 입력 (원본 RGB) | → 목적 RGB | 판정 |
|---|
백색점이 같은 두 공간의 RGB→RGB 행렬은 각 행의 합이 1이다(백색 (1,1,1)이 (1,1,1)로 가야 하므로). 백색점이 다르더라도 색순응을 넣었다면 역시 행 합이 1이다. 행 합이 1이 아니면 CAT를 빠뜨렸거나 백색 Y를 1로 정규화하지 않은 것이다. NPM의 둘째 행은 휘도 계수이므로 sRGB에서는 (0.2126, 0.7152, 0.0722)가 나와야 한다(ITU-R BT.709).
가멋 비교 도구
디스플레이 사양서의 “NTSC 72 %”, “DCI-P3 98 %”, “Rec.2020 80 %” 같은 숫자는 두 종류다. 면적비는 패널 삼각형 넓이를 기준 삼각형 넓이로 나눈 것이라, 삼각형이 기준 밖으로 삐져나가도 100 %를 넘을 수 있다. 커버리지는 두 삼각형의 교집합 넓이를 기준 넓이로 나눈 것이라 최대 100 %이며, 실제로 기준 공간의 색을 얼마나 재현하는지를 뜻한다. 그리고 둘 다 xy에서 재는지 u′v′에서 재는지에 따라 값이 달라진다. xy는 녹색 영역을 과장하므로 u′v′ 쪽이 지각에 더 가깝다(5장).
가멋 면적 · 상호 커버리지 · 색도도 오버레이
| 공간 | 면적 | 궤적 대비 | sRGB 대비 면적비 | sRGB 커버리지 | Rec.2020 커버리지 |
|---|
예제 풀이: 실무 문제를 끝까지
아래 네 문제는 현업에서 실제로 받는 질문의 형태다. 각 문제는 손계산 단계와 함께 결과를 위 도구로 다시 열어 볼 수 있는 버튼을 단다. 버튼을 누르면 해당 도구에 조건이 입력되고 화면이 이동한다.
예제 1 · 6500 K 백색 LED의 Duv가 +0.006이다. 무엇을 바꿔야 하나?
청색 LED(450 nm, FWHM 20 nm) + 황색 형광체(FWHM 120 nm) 구조의 백색 LED가 CCT 6500 K, Duv +0.0060으로 측정됐다. 목표는 Duv 0이다. 형광체 조성이나 적색 성분을 어떻게 바꾸면 되는가?
- 현상 진단. Duv > 0은 흑체 궤적 위쪽, 즉 녹색 쪽이다(그림 19-2). 6500 K에서 양의 Duv 방향의 단위 법선은 1960 uv에서 약 (−0.809, +0.588)이다. 따라서 Duv +0.006은 Δu ≈ −0.00486, Δv ≈ +0.00353이며, u′v′ 거리는 약 0.0072다. Duv는 v 좌표 차이만을 뜻하지 않는다.
- 모델 세우기. 가우시안 두 개로 측정 스펙트럼을 근사한다. 수치 풀이로 청색 가중치 2.010, 형광체 중심 561.1 nm(가중치 1)에서 CCT 6500 K, Duv +0.0060, xy = (0.3121, 0.3339), LER 337.7 lm/W를 재현한다.
- 해법 A: 적색 성분 추가. 630 nm(FWHM 25 nm) 적색을 가중치 0.175만큼 더하고, 색온도를 지키려 청색을 2.195로 올리면 CCT 6500 K, Duv 0.0000, xy = (0.3135, 0.3237)이 된다. 이동량은 Δu′v′ = 0.0072다. LER은 327.0 lm/W로 3.2 % 떨어진다. 적색이 ȳ의 꼬리에 있어 시감 효율이 낮기 때문이다.
- 해법 B: 형광체 피크 이동. 적색 칩 없이 형광체 중심을 564.2 nm로 3 nm 장파장 쪽으로 옮기고 청색을 2.192로 맞춰도 Duv 0이 된다. LER은 330.0 lm/W로 손실이 2.3 %에 그친다. 대신 적색 성분이 부족해 연색성(특히 R9)은 해법 A보다 나쁠 것이다(10장).
예제 2 · Display P3 패널에서 sRGB 이미지를 정확히 보여 주는 행렬
색 관리가 없는 펌웨어 파이프라인에 sRGB 콘텐츠가 들어온다. 패널은 Display P3(D65)로 교정되어 있다. 픽셀 처리 단계와 행렬, 그리고 sRGB 순수 빨강과 (200, 120, 60)의 출력 신호를 구하라.
- 백색 확인. 두 공간 모두 D65이므로 CAT는 항등이다. \(M=M_{P3}^{-1}M_{sRGB}\).
- 행렬. \(M=\begin{bmatrix}0.822462&0.177538&0\\0.033194&0.966806&0\\0.017083&0.072397&0.910520\end{bmatrix}\). 행 합은 모두 1이다. 빨강·녹색 원색이 공유하는 파랑(0.15, 0.06)이 같으므로 첫 두 행의 셋째 열이 0이다.
- 순수 빨강 (255, 0, 0). 선형화 → (1, 0, 0). 곱하면 P3 선형 (0.8225, 0.0332, 0.0171). P3도 sRGB 곡선을 쓰므로 인코딩하면 (0.9175, 0.2003, 0.1386), 8비트 (234, 51, 35).
- (200, 120, 60). 선형 (0.5776, 0.1878, 0.0452) → P3 선형 (0.5084, 0.2008, 0.0646) → 인코딩 (0.7409, 0.4854, 0.2819), 8비트 (189, 124, 72).
48.657, 22.897, 0을 넣어 확인해 보라). 8비트 정수 파이프라인이라면 행렬 연산은 최소 12비트 이상 정밀도로 하고 마지막에 반올림해야 밴딩이 생기지 않는다(6장).예제 3 · 인쇄 시안 허용차 ΔE00 2.0 판정
D50·2° 조건에서 측정한 세 쌍의 기준/시편 Lab이 있다. 고객 사양은 ΔE00 ≤ 2.0이다. 각 쌍을 판정하고, 불합격이면 무엇을 고쳐야 하는지 말하라.
| 쌍 | 기준 Lab | 시편 Lab | ΔE76 | ΔE94 | ΔE00 | 판정 |
|---|---|---|---|---|---|---|
| ① 녹색 | 70, −40, 55 | 71, −43, 57.5 | 4.03 | 1.44 | 1.26 | 합격 |
| ② 청색 | 35, 10, −55 | 35.6, 13.2, −53.5 | 3.58 | 1.98 | 2.78 | 불합격 |
| ③ 회색 | 50, 0, 0 | 50.4, 1.1, −1.0 | 1.54 | 1.54 | 1.89 | 합격 (경계) |
- ① 녹색. ΔE76은 4.03으로 크지만 대부분 채도 차(ΔC′ ≈ 3.8)다. 평균 채도가 약 70이라 \(S_C=1+0.045\times70\approx4.1\)로 나눠지며 채도항이 0.92로 줄어든다. ΔE00 1.26으로 합격. 고채도 색의 채도 차는 눈에 잘 띄지 않는다는 실험 사실이 반영된 것이다.
- ② 청색. ΔE94로는 1.98로 아슬아슬하게 합격이지만 ΔE00은 2.78이다. 분해하면 색상항 ΔH′/S_H = 2.55가 지배적이고, 평균 색상각 282°가 청색 회전 영역(275° 중심)에 있어 \(R_T=-1.64\)의 교차항이 +0.95를 더한다. 시편이 보라 쪽으로 돌았다(a* 증가). 시안(C) 대비 마젠타(M) 농도를 낮추는 방향으로 조정한다.
- ③ 회색. ΔE76은 1.54인데 ΔE00은 1.89로 오히려 커졌다. 저채도에서 \(G=0.5\)가 a*를 1.5배로 늘리기 때문이다. 회색 균형은 눈이 가장 민감한 영역이다. 합격이지만 여유가 0.11밖에 없으므로 회색 균형(CMY 비율)을 점검할 대상이다.
예제 4 · 조명이 바뀌면 시료 색은 얼마나 변하나 (색 불변성)
CRI 시험색 TCS01(7.5R 6/4, 연한 회적색)을 D65 아래에서 승인했다. 같은 시료를 광원 A(2856 K) 아래에서 본 관찰자가 A에 완전히 순응했다고 할 때, 승인 색과 얼마나 다르게 보이는가?
- 각 조명 아래 XYZ. 반사율 × 조명 × CMF 적분. D65: (32.99, 29.78, 24.51), A: (42.34, 32.71, 7.97). A 아래에서 X가 크고 Z가 작은 것은 조명 자체가 붉기 때문이다.
- D65 기준 Lab. (61.47, 17.49, 11.89).
- A 아래의 대응색. A 백색 (109.85, 100, 35.58)에서 D65 백색 (95.04, 100, 108.88)으로 Bradford 적응하면 Lab (62.81, 18.86, 14.38). D65 대비 ΔE00 = 1.96.
- 방법 비교. CAT02로는 ΔE00 1.85, Lab 정규화만 쓰는 “XYZ 스케일링”(A 백색 기준 Lab을 그대로 비교)으로는 3.47이다. 적응을 무시하고 A 아래 XYZ를 D65 Lab으로 보면 17.96이라는 무의미한 값이 된다.
도구 1의 반사체 모드에서 기준 백색을 “자동”으로 두면 Lab은 조명 자체의 완전 확산면을 백색으로 쓴다. 즉 4단계의 “XYZ 스케일링” 값 (63.93, 19.37, 16.34)이 나온다. 이를 D65 아래 값 (61.47, 17.49, 11.89)과 함께 도구 3에 넣으면 ΔE00 3.47을 확인할 수 있다.
검산표와 흔한 함정
새로 짠 색 변환 코드는 반드시 알려진 값으로 검산한다. 아래 표는 이 장의 도구로 재현되는 기준값이며, 소수 넷째 자리까지 맞지 않으면 어딘가에서 규약이 어긋난 것이다. 단위 테스트에 그대로 옮겨 쓰기를 권한다.
| 입력 | 기대 출력 | 틀리면 의심할 것 |
|---|---|---|
| D65 SPD (2°) | xy (0.3127, 0.3290), CCT 6504 K, Duv +0.0032 | CMF 표 간격·범위, 정규화 |
| D65 SPD (10°) | xy (0.3138, 0.3310) | 관측자 혼용 |
| sRGB 백색 (255,255,255) | XYZ (95.05, 100, 108.91) | NPM 백색 정규화 |
| sRGB 빨강, D65 Lab | (53.24, 80.09, 67.20) | 디코딩 생략, 백색 Y 스케일 불일치 |
| sRGB 빨강, D50 Lab (Bradford) | (54.29, 80.80, 69.89) | CAT 누락 또는 방법 차이 |
| sRGB 빨강, OKLab | (0.6280, 0.2249, 0.1258) | 선형화 누락 |
| Sharma 쌍 1 ΔE00 | 2.0425 | 평균 색상각 분기, G 계수 |
| sRGB → P3 행렬 1행 | 0.822462, 0.177538, 0 | 행·열 전치, 백색 불일치 |
| NPM sRGB 2행 | 0.2126, 0.7152, 0.0722 | 원색 xy 오기 |
| P3 ∩ Rec.2020 / Rec.2020 (xy) | 71.7 % | 면적비와 커버리지 혼동 |
① Y 스케일 혼용: XYZ는 Y=100인데 백색을 Y=1로 넣으면 L*가 400을 넘는다. ② 행/열 전치: 행렬을 열 벡터 기준(\(\mathbf y=M\mathbf x\))으로 썼는지 행 벡터 기준(\(\mathbf y=\mathbf xM^T\))으로 썼는지 문서화한다. 셰이더·NumPy·MATLAB 관례가 다르다. ③ 클리핑 순서: 색공간 행렬과 광량 연산 전에 클리핑하면 복구할 수 있는 가멋 밖 정보까지 잃는다. 변환·가멋 매핑을 마친 뒤 출력 범위를 제한한다. 단조 sRGB 인코딩과 채널별 [0,1] 클리핑만 비교하면 순서는 같은 결과를 낸다. 색상 이동의 원인은 채널별 클리핑 자체다. ④ CCT 하나로 백색 지정: 같은 6500 K에도 Duv에 따라 녹색·분홍 백색이 모두 존재한다. 백색 사양은 항상 (CCT, Duv) 또는 xy로 준다. ⑤ ΔE 공식 미표기: “ΔE 2 이내”는 ΔE76인지 ΔE00인지에 따라 전혀 다른 요구다.
핵심 정리
- 모든 색 좌표는 XYZ 하나에서 갈라져 나온다. 투영 좌표(xy, u′v′)도 표준 관측자와 색도 좌표계가 필요하지만, 지각 좌표(Lab)는 기준 백색을, 장치 좌표(RGB)는 원색·백색·전달 함수를 필요로 한다.
- 숫자를 넘길 때는 Y 스케일, 관측자(2°/10°), 기준 백색, 색순응 방법을 함께 적는다. sRGB 빨강의 Lab만 해도 D65와 D50(Bradford)에서 ΔE00 약 1이 차이 난다.
- 정밀 CCT는 CIE 1960 uv에서 흑체 궤적 최근접점이고, Duv는 그 거리다. D65는 6504 K, Duv +0.0032. McCamy 근사는 궤적 근처 2,800–6,500 K에서만 10 K 이내 정확도이고 Duv를 주지 않는다.
- 주파장은 기준 백색에 따라 바뀌고, 보라 계열은 주파장 대신 여색 파장으로 표기한다.
- ΔE76·ΔE94·ΔE00은 같은 시편 쌍에 대해 두세 배 다른 값을 낼 수 있다. ΔE00을 항별로 분해하면 가장 큰 항이 공정 조정 방향을 알려 준다.
- RGB→RGB 변환은 \(M_\text{dst}^{-1}\,\text{CAT}\,M_\text{src}\) 하나의 3×3 행렬이며, 선형 값에 적용한다. 행 합 = 1, 백색 → 백색이 1차 검증이다.
- 가멋 수치는 면적비와 커버리지, xy와 u′v′를 구별해야 한다. P3는 xy에서 Rec.2020의 71.7 %를 덮는다.
- 새 코드는 검산표(D65 xy·CCT, sRGB 빨강 Lab, Sharma 쌍, sRGB→P3 행렬)로 단위 테스트를 만든다.
확인 퀴즈
1. 어떤 백색 LED가 CCT 5000 K, Duv −0.004로 측정됐다. 이 광원의 겉보기 색 특성은?
2. sRGB 빨강의 Lab을 D65 기준으로 계산하면 (53.24, 80.09, 67.20)이다. ICC 워크플로처럼 D50 기준으로 다시 계산하려면 무엇이 필요한가?
3. 정밀 CCT 계산에서 흑체 궤적을 온도 T 대신 mired(10⁶/T)로 탐색하는 이유로 가장 알맞은 것은?
4. 마젠타 시료의 주파장을 구하려 하는데, 백색에서 시료로 그은 반직선이 보라 직선과 만났다. 올바른 보고 방식은?
5. 고채도 녹색 쌍에서 ΔE76 = 4.03인데 ΔE00 = 1.26이었다. 주된 이유는?
6. ΔE94는 두 색의 순서를 바꾸면 값이 달라질 수 있다. 왜 그런가?
7. 백색점이 같은 두 RGB 공간 사이의 변환 행렬을 만들었더니 첫 행의 합이 1.04였다. 가장 가능성 높은 원인은?
8. 패널 사양서에 “DCI-P3 105 %”라고 쓰여 있다. 이 숫자에 대해 옳은 것은?
9. sRGB 신호 (128, 128, 128)과 (0, 0, 0)을 50 % 블렌딩하려 한다. 올바른 결과 신호값에 가까운 것은?