본문 바로가기
VFX_이론

HDRI의 표준(?) 프로그램 PTGUI

by 그놈궁댕이 2022. 10. 8.
반응형

HDRI의 표준(?) 프로그램 PTGUI

 

매우 빠르고 자동화가 잘되어 있어, 몇 번의 클릭만으로 손쉽게 HDRI를 제작할 수 있다.

정품은 약 16만원 수준이며 HDRI를 자주 만드는 경우 구입하는 게 좋다.

 

 

 

 

 

 

ptgui는 이미지를 로딩해야 옵션이 생성 된다.

기본 메뉴를 <simple>을 선택하면 정말로 필요한 옵션만 활성화된다.

특별한 경우가 아니라면 전체 메뉴를 모두 로딩할 필요는 없다.

 

 

 

 

 

 

 

 

set up 설정은 < Lens , Crop > 두 가지만 주의하면 된다.

 

렌즈 타입은 mm  정보와 촬영에 사용한 렌즈 정보를 넣어주면 된다.

만약 렌즈 정보가 애매하면 < Genneric Fisheye Lens>를 설정하면 된다.

 

 

 

 

 

 

 

 

crop 옵션은 8mm 렌즈로 왜곡을 줘서 촬영하면, 가장 자리에 렌즈 커버가 약간씩 들어온다.

이때 깨끗한 원본 이미지만 crop 해주는 기능이다. corp을 제대로 하지 않으면, HDRI로 이미지를 합성하면 경계면에 검은 라인이 생성된다.

 

 

 

 

 

 

crop과 lens 설정이 끝나면 <Align Images>를 실행해 HDRI 합성을 시작한다.

 

Align을 실행하면, 컴퓨터가 우선 이미지의 정보를 찾아낸다.

샘플의 경우 < contain 4 = 4개 각도로 촬영됨 / sets of 7 = 7개의 노출로 촬영>로 촬영되었기 때문에 해당 결과로 출력된다.

 

 

 

 

 

 

 

 

 

 

 

 

HDRI 합성이 끝나면 전체가 합체된 HDRI가 출력된다.

 

 

 

 

 

 

 

 

 

 

 

몇 가지 옵션이 있지만 대부분은 필요 없다.

control points 옵션의 경우, 각 이미지가 어떻게 연결되었는지 컨트롤 포인트를 찾아 준다.

이들 포인트를 기준으로 하나의 이미지로 합성하게 된다.

 

만약 HDRI의 스티칭 퀄리티를 높이고 싶은 경우 강제로 포인트를 생성해 서로 매칭 할 수 있다.

하지만, 이런 경우는 대부분 없다.

 

 

 

 

 

 

옵션의 설정이 끝나면 < Create Panorama >를 실행해 이미지를 출력한다.

이미지를 출력 하는 경우 몇 가지 옵션을 확인해야 한다.

 

 

 

 

==

Width x Height -> ptgui가 촬영된 이미지를 기준으로 가장 적절한 해상도로 강제 설정.

일반적으로 4k <8192 x 4096> 정도의 해상도를 설정한다.

HDRI의 latlong map 해상도 비율은 기본적으로 가로와 세로가 2:1이다.

 

 

file fomat은 < exr, jpg >로 출력하는 게 좋다.

exr은 이미지를 바로 확인할 수 없고 무겁기 때문에, jpg를 함께 출력해서 확인용으로 사용한다.

 

 

 

 

 

 

 

 

 

=

출력된 exr 파일을 nuke로 익스 포트 한다.

익스포트 한 이미지에 exposure node를 달아, 정확한 노출로 설정해야 한다.

그때 기준점은 컬러 차트를 사용한다.

 

 

우리는 컬러차트의 정확한 값을 알고 있다.

예를 들어 중간 회색의 컬러는 <0.18>이다.

 

 

 

우리의 눈은 컴퓨터와 다르게 log 형태로 인식한다.

컴퓨터 = 0.5 = 중간 회색 = 리니어 인간 = 0.18 = 중간 회색 = 로그

 

사람 눈은 어두운 부분에 예민하게 반응한다.

그렇기 때문에 약간만 밝아도 굉장히 밝게 느껴진다.

인간이 느끼는 중간 회색은 컴퓨터 수치로 0.18이다.

 

이것은 실제 실험을 통해 표준으로 만들어 졌다.

많은 사람들에게 중간의 회색을 선택하게 했더니, 대략 0.18%의 블랙이 중간 회색으로 보였다는 점이다.

 

 

우리는 컬러 차트의  고유 컬러 값을 RGB 수치로 알고 있다.

우리는 HDRI에 컬러차트를 실제 값으로 변환하여 정확한 컬러를 매칭 한다.

 

 

 

 

 

 

 

인간의 눈은

<간상체 = 밝기 인식, 추상체 = 컬러 인식> 2 종류의 세포로 이뤄진다.

 

특히 간상체가 추상체보다 훨씬 많다.

인간은 최근까지도 어두운 동굴에서 살아왔기 때문에 밝기에 민감하게 진화되었다.

약간의 밝기에 반응이 극대화됨으로 VFX 작업에서도 어두운 부분의 디테일이 더 중요할지 모른다.

 

 

 

컬러를 인식하는 추상체는 눈의 중앙 부분에 밀집되어 있다.

그리고 세포의 양도 훨씬 적다.

우리는 컬러보다 콘트라스트가 이미지의 선명도에 더 많은 영향을 준다는 점이다.

고화질의 흐릿한 이미지보단, 저화질의 콘트라스트가 높은 이미지가 훨씬 좋은 이미지로 인식한다.

 

간상체와 추상체의 비율과 분포도는 우리가 그림을 만들 때 어떻게 만들어야 할지 작은 실마리를 준다고 생각한다.

VFX에서 디테일은 < 0 - 1 > 사이의 값들이며, 주로 < 0 > 근처의 색을 조심해야 한다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

==

요즘은 일반적으로

<exr 포맷, aces color space>를 사용한다.

 

 

 

누크에서 HDRI 이미지를 제대로 보기 위해선 컬러 설정이 필요하다.

 

 

 

 

exr를 누크로 불러오면 ptigui가 랜더링 한 환경을 자동으로 인식하여 scens linear로 자동 설정된다.

우리는 ACES의 linear를 사용하며 <관객이 TV 공간 시청> REC 709에서 보기 때문에 컬러 스페이스 공간을 <utillity – linear- rec.709>로 바꿔야 제대로 된 컬러로 볼수 있다.

 

 

 

 

누크의 컬러 스페이스는 이미지의 meta에 따라서 알아서 가져온다.

만약 애매하면 가장 노멀 한 수치를 가져온다.

 

온전한 컬러를 확인하려면 임의 설정이 아닌, 제대로 된 설정이 필요하다.

 

aces는 32bit linear 공간이고, 우리가 최종 결과물을 확인할 때는 TV 환경이나 극장에서 보기 때문에 REC 709로 설정하는 것이다.

 

 

 

 

 

 

 

많은 사람들이 sRGB와 REC 709 혼란이 있을 수 있다.

실제 rec 709와 sRGB는 중간 암부에 약간 차이가 있다.

근데 둘 다 비슷비슷해서 일반적으로 rec 709와 sRGB는 동일시하는 경향이 있다.

 

실제는 어두운 톤에서 밝기가 다소 다르다.

실제 vfx 작업이 완료되고 exr, dpx로 출력하는 경우 일반적으로 cineon, linear로 뽑기 때문에 논란이 없다.

하지만, 중간 컨펌을 보기위해 mov로 출력해야 한다.

그때 우리는 표준적으로 rec709를 사용한다.

 

 

 

 

 

컴퓨터와 TV는 물리적 차이 때문에 밝기 차이가 생긴다.

즉, tv와 컴퓨터는 감마가 다르다.

서로 다른 컬러 스페이스를 적용해야 동일하게 보인다.

동일한 설정으로 출력해서 송출하면 밝기가 다르게 보일것이다.

 

 

 

 

 

<TV = rec 709 / 컴퓨터 모니터 = sRGB>

rec 709와 sRGB는 화면 뷰어용 컬러 스페이스다.

즉, vfx 관점에선 확인을 위해서만 쓰는 색공간이란 뜻이다.

 

 

 

최종 출력에는 영향을 주지 않고, 단순히 컨펌용이나 편집용으로 쓰기 때문에 VFX 작업에선 sRGB나 rec 709로 mov를 뽑으나 상관없는 것 같다. 그다지 신경을 쓰지도 않는다.

 

우리는 컴퓨터로 작업하고 컴퓨터로 컨펌을 보기 때문에 sRGB로 mov를 뽑는 게 맞을 테지만, 실제로 영상이 송출되는 공간이 TV가 많기 때문에 rec 709를 표준 뷰어용 색공간으로 쓰는 것 같다.

 

 

 

 

단순히 송출용으로 쓰는 공간이 sRGB와 REC 709이다.

이론적으로 sRGB나 REC 709로 dpx로 렌더링 걸어 전달하는 경우는 무조건 잘못된 것이다.

 

애초에 dpx는 LOG의 색공간을 쓰기로 규약이 정해져 있다.

dpx로 전달될 수 있는 컬러는 <cineon , log > 이름을 가진 녀석들 뿐이다.

시네마 카메라 제조사들 마다 자신의 카메라 설정에 맞는  log 컬러 공간을 배포하고 있다.많은 작품들이 '알렉사' 로 찍기 때문에  알렉사의 < 알랙사 log> 의 색공간을 쓰는 경우가 종종 있다.요즘은 ACES로 통일되어 <리니어 & aces cg >를 통상적으로 많이 쓰는거 같다.

 

 

 

 

 

 

 

 

 

 

 

dpx의 이름은 ‘디지털 픽쳐 익스체인지’였나?

하여튼, 너무 피곤해서 귀찮다 . ㅠㅠ

dpx는 필름을 디지털로 변환하는 변환용 포맷 이다.

 

 

초기 필름을 디지털로 변환하는 장비의 이름이 cineon 이였다.

그래서 최초의 디지털 포맷은 < cin > 파일이다.

변환 장비의 이름을 따서 확장자 cin이 등장한다.

 

 

디지털로 변환할 때 용량을 대거 줄이기 위해 밝기를 압축하고, 어두운 부분을 보존하는 형태로 진행되었다.

이때 어두운 부분은 디테일하고 밝은 부분은 듬성듬성 표현하는 그래프를 곡선 형태를 log라 한다.

 

 

 

고전의 필름 영화들이 고화질로 리마스터될 수 있는 이유는..

필름의 색정보가 월등히 많기 때문이다.

우리는 컴퓨터 과부하를 줄이기 위해 필름의 색공간을 압축해서 디지털로 변환했다.

하지만, 원본 필름은 색정보가 굉장히 방대하기 때문에 원본 필름을 고사양으로 다시 내리면 더 좋은 영상이 되는 것이다.

 

 

최초의 cin 파일은 컬러 정보만 갖고 있다.

세월이 지나 타임코드와 기타 부가 정보를 디지털로 함께 전달하게 되었으며 이때 등장한 게 DPX 포맷이다.

DPX는 CIN 파일과 동일하다.

단지 DPX가 더 많은 meta 정보를 갖는다.

 

dpx는 10bit이고 RGB 계열이며, 나중에 16bit까지 나왔다.

하지만, 많은 프로그램은 기존의 10bit를 기본 세팅으로 쓰고 있다.

 

이제 시대가 훨씬 많이 지나서 exr이 등장하고 우리는 32bit를 사용하게 된다.

많은 카메라도 기존의 10bit가 아닌 12bit까지 사양을 높여서 쓰고 있다.

 

 

많은 사람들은 16bit 이상 쓰기 힘들 거라 말한다.

10bit와 16bit가 엄청나게 차이나 보이지 않지만, 상상 이상의 색공간이라 한다.

16bit를 제대로 모두 쓰는 것은 현실적으로 불가능할 수준이라고 하니...

 

 

 

 

 

 

 

정리하자면 dpx는 애초에 log, cineon으로 쓰자고 만들었다는 말이 된다.

 

vfx 작업에서 많은 사람들이 혼동하는 게 있다.

뷰어용 색공간 <sRGB , rec709>와 데이터 작업용 색공간 <linear, cineon, aces cg>

두 가지가 다른데 하나로 생각한다는 것이다.

 

또한 뷰어용 색공간은 실제 색을 돌려서 컬러 룩업 개념이고, 작업용 색공간은 공간을 통일하는 작업 워크플로우 개념이다.

 

색은 굉장히 어려운데...

내가 제대로 이해하고 있는지도 모르겠다.

 

 

요즘 많은 사람들이 p3 또는 DCI P3에 대해 언급하는 경우가 많다.

특히 아이폰의 경우 p3 공간을 지원한다고 홍보한다.

 

 

 

 

 

 

 

 

dci p3는 극장용 컬러 색공간이다.

즉, 아이폰으로 영상이나 사진을 찍으면 극장에서 보는 영화처럼 나온다고 설명하는 것이다.

결국 영화는 극장 상영이 궁극적 목적이기 때문에 많은 사람들이 p3에 대해 관심을 갖는 거 같다.

 

 

 

 

요즘은 대부분의 영화와 드라마가 ott를 거점으로 하고 있다.

즉, 대부분 소비는 휴대폰 또는 tv를 통해 소비된다.

아무리 대세라고 해도 p3 대신 rec 709를 쓰는 이유는 결국 최종 상영은 tv에서 가장 많이 쓰일것이기 때문이 아닐까?

 

 

 

 
반응형

댓글