Appearance
HDR 렌더링(1)~HDR 렌더링이란?
[칼럼 핵심 요약]
게임 그래픽과 컴퓨터 그래픽은 모두 디스플레이 장치에 대한 표시가 전제이기 때문에 렌더링 파이프 라인이이 "디스플레이 기준"에서 조립되어 온 경위가 있습니다. 그런데, 현실 세계의 리얼한 표현에는, 이것은 족쇄가 된다.🌐 원문 링크: HDRレンダリング(1)~HDRレンダリングとは? (Mynavi News)
📅 원문 발행일: 2008-12-05 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)
NOTE
💡 현대 그래픽스 관점에서의 발전사 (Modern Retrospective)
- HDR 디스플레이 하드웨어 보급: 본문 연재 당시(2008~2009년)에는 SDR 모니터 출력을 위해 FP16 버퍼를 톤 매핑하는 것이 목적이었으나, 현재는 1000nit 이상의 OLED/Mini-LED HDR 디스플레이가 대중화되어 ACES(Academy Color Encoding System) 기반의 광색역 HDR10 출력이 표준화되었습니다.
- 노출 적응 및 물리 기반 카메라: 현대 게임 엔진은 실제 카메라의 셔터 스피드, 조리개(f-stop), ISO 감도를 그대로 모사하는 물리 기반 노출(Physical Camera Exposure) 모델을 사용합니다.
📖 본문 해설
[원문 리드문] > 게임 그래픽스, 컴퓨터 그래픽스는 모두, 디스플레이 장치에의 표시가 전제이었기 때문에, 렌더링 파이프라인이, 이 「디스플레이 기준」으로 조립되어 온 경위가 있다. 그런데, 현실 세계의 리얼한 표현에는, 이것은 족쇄가 된다.
게임 그래픽과 컴퓨터 그래픽은 모두 디스플레이 장치에 표시하는 것이 전제이기 때문에 렌더링 파이프 라인이이 "디스플레이 기준"에서 조립되어 온 경위가 있습니다. 그런데, 현실 세계를 리얼하게 표현하려고 했을 경우, 이것은 족쇄가 된다. 이 발목을 끊으려는 움직임이 근대 실시간 3D 그래픽에서도 볼 수 있게 되었다.
그것이 "하이 다이내믹 레인지 렌더링"(HDR 렌더링 : High Dynamic Range Rendering)이다.
원래는 학술적인 연구 테마로서 활발했던 「HDR」이라는 키워드는, 지금, PC에 있어서의 리얼타임 렌더링 뿐만이 아니라, 가정용 게임기의 그래픽스 표현으로서도 표준이 되고 있다.
이번부터는 잠시 동안이 HDR 렌더링이라는 주제에 대해 살펴 보겠습니다.
HDR 렌더링이란?
원래 HDR 렌더링이란 어떤 의미가 있는 것일까. 우선 여기에서 해설하자.
「HDR 렌더링」의 정의로서는 「표시에 이용하는 디스플레이 기기의 휘도/색역의 한계에 얽매이지 않고, 폭넓은 휘도/색역에서 렌더링을 행하는 것」이 된다.
현재 PC에서 일상적으로 취급하는 색 표현은 RGB(빨강, 초록, 파랑)의 삼원색이 각 정수 8비트씩으로 표현되는 24비트 컬러, 1677만 색이 가장 친숙한 존재라고 할 수 있다.
이 디스플레이에 채용되고 있는 「1677만색」이라고 하는 것은, 인간의 한 번에 시각할 수 있는 휘도나 색의 대략 범위의 RGB 삼원색광을 256단계(0~255) 단계로 표현하는 것이다(R256×G256×B256=16,777,216). 인간이 한 번에 볼 수 있는 휘도 범위/색 범위를 이 1677만 단계라는 분해능으로 표현하는 만큼은 거의 필요 충분하지만, 현실 세계를 그대로 재현하기에는 불충분한 상황이 나온다.
아래 그림은 인간의 시각을 알기 쉽게 도해한 것이다.
시각의 동적 범위. 간상체는 어두운 빛을 느끼는 시각 세포. 그리고 원추체는 밝은 빛과 색을 느끼는 시각 세포. 아래 수치 단위는 루미넌스 값(lum/m 2 )
🔍 [인포그래픽 도해 한국어 번역: LDR vs HDR 렌더링 명암 범위 비교]
- 기존 LDR (상단):
범위로 제한되어 태양광, 전등, 반사광이 모두 (255 백색)으로 하얗게 뭉개짐(Clipping) - HDR 렌더링 (하단): 부동소수점(FP16)을 사용하여
실제 물리적 광량을 그대로 보존한 뒤 톤 매핑으로 자연스럽게 압축 출력
예를 들어, '태양광을 반사하는 설원(1E+6=106)'은 상당히 밝고, '밤하늘의 밤하늘이 지표를 비추는 밝기(1E-6=10-6)'는 상당히 어두운 것은 이미지할 수 있을 것이다. 이 밝기와 어두움은 루미넌스 값(lum/m2)으로는 실로 10의 12승(1012)의 "격차"가 있다.
3D 그래픽스는 루미넌스 값으로 렌더링하는 것은 아니지만, 그래도 현실 세계의 밝기와 어둠을 에너지로서 기록하기에는 엄청난 표현 영역이 필요하다는 것은 상상할 수 있었다고 생각한다.
앞서 언급한 설원과 밤하늘의 예가 현실 세계의 최대 밝기와 어두움을 나타내고 있었다고 해서 이를 수치 표현하기 위해서는 1012의 범위를 표현할 수 있어야 한다.
이야기를 알기 쉽게 하기 위해서, 「취급할 수 있는 수치의 범위」라고 하는 의미에 있어서의 「다이나믹 레인지」를 계산해 보자(용어의 정의로서의 「다이나믹 레인지」라고는 표현할 수 있는 최소치와 최대치의 대비를 나타내는 단위이다).
대수를 취해 10을 곱한 것을 dB(데시벨)라고 하지만, 1012의 표현폭이 필요하다는 것은 120dB의 다이나믹 레인지가 필요하게 된다는 것이다.
이른바 1677만색은 휘도를 정수 8비트, 256단계로 기록하는 방식이기 때문에 256≒102.4가 되어, 약 24dB분밖에 기록할 수 없게 된다. 그래, 현실 세계(120dB)의 약 40억분의 1(≒1012÷102.4)밖에 기록할 수 없다는 것이다. 물론, 1012의 폭의 계조를 8비트의 256단계로 무리하게 표현할 수도 없지는 않지만, 이것은 분해능으로서는 너무 거칠다.
이 광대한 다이나믹 레인지의 밝기, 어두움을, 가능한 한 정확하게 기록하려고 하는 것이 HDR 렌더링의 기본적인 어프로치가 된다. (계속)
(트라이Z 니시카와 젠지)