사진/360 파노라마

HDR 360도 구면 파노라마를 16비트로 저장하는 이유

하늘이푸른오늘 2009. 12. 23. 12:40
요즘은 너무 추워서 촬영을 못나가고 있지만, 저는 요즘 360도 구면 파노라마에 푹 빠져 살고 있습니다. 휴일때마다 나가서 촬영하고 주중에는 사진들 합성하고... 하는 게 일상이었죠.

요즘은 촬영을 못나가면서 시간이 남는 김에 포토샵 공부도 하면서 글도 정리하는 중입니다. 이 글도 그중의 하나고요.

360도 구면파노라마가 무엇인지 어떻게 촬영해야 하는지에 대한 간단한 소개는 이 글을 읽어보시기 바랍니다. 제가 제작한 구면파노라마는 360 cities 의 제 소개글을 보시기 바랍니다.

아래는 제가 제일 좋아하는 파노라마 사진중 하나로, 샌프란시스코 북쪽에 있는 나파밸리(Napa Valley)의 오퍼스원(Opus One) 와이너리입니다. 원래 나파밸리가 와인으로 유명하지만, 오퍼스원은 그중에서도 최고급 와인을 생산하며, 전세계 와인대회에서도 몇번 1등을 해서 프랑스 와인의 콧대를 꺽었다는 것으로 유명하죠.


요즘 제가 360도 구면 파노라마(Spherical Panorama)를 촬영할 때는 거의 반드시 5-9단계 자동노출브라케팅(AEB : Auto Exposure Bracketting) 촬영을 한 후, 이것을 PTGui 프로에서 Exposure Fusion 이라는 HDR(하이다이나믹 레인지)와 유사한 방식으로 처리를 하고 있습니다. 자세한 내용은 HDR 구면 파노라마 제작방법을 읽어보시면 됩니다.

그런데... 제가 이와 같은 처리방식에서 파일을 Photoshop 파일로 저장하면서, 왜 16 비트 파일로 저장하는지에 대해서 따로 말씀을 드리지 않았습니다. 아래는 HDR 구면 파노라마 제작방법에 들어 있는 PTGui 설정 그림을 다시 가져온 것인데, 맨 오른쪽에 보시면 16 bits 로 설정해 둔 것을 보실 수 있습니다. 오늘은 이에 대해서 보다 자세히 설명을 드리려고 합니다.

사용자 삽입 이미지

원래 일반적인 사진은 8bit로 저장합니다. 8비트 사진이란, R(빨강), G(녹색), B(파랑) 등 3가지 채널별로 1바이트(8 비트)로 저장합니다. 한개의 채널에 8비트를 지정하면 2*2*2*2*2*2*2*2 = 256가지 계조를 저장할 수 있고, 전체적으로는 256*256*256 = 약 1천 6백만 색상을 표현할 수 있게됩니다. 물론 대부분의 경우 사람의 눈으로는 이 정도 이상을 구분할 수 없기 때문에 이정도로 충분합니다.

반면 16비트 영상은 어떤 픽셀의 색을 RGB 각각 16비트로 저장한다는 뜻입니다. 채널당 65,536 계조를 저장할 수 있고, 총 65536*65536*65536 = 281,474,976,710,656 가지 색을 표현할 수 있게 됩니다. 표현하지 못할 색은 없겠지만, 사실 실용적으로는 이렇게 많은 색으로 표현할 필요는 거의 없습니다.

====
그런데... 의문을 표하실 분이 있으실 겁니다. 원래 사진을 촬영할 때 RAW로 저장한다면 모르겠지만(RAW는 원래 11 bits 또는 12 bits 입니다.), 저는 8 bits인 JPG 파일로 촬영하면서 합성된 결과를 16 bits로 저장하는 게 무슨 의미가 있겠느냐는 의문입니다. 일단 16 bits로 저장하면 파일 크기가 거의 2배로 늘어나고, 포토샵에서 파일을 읽어들이는데도 그만큼 시간이 걸리게 되는 단점도 생기고 말이죠.

그런데... HDR로 합성을 하게 되면, 진짜 16비트로 합성되기 때문에 16비트로 저장하는게 의미가 있습니다. 이를 확인하기 위해 실험을 해 보겠습니다. 아래는 제가 얼마전 촬영한 경희궁 숭정전 영상을 2000x1000짜리로 8비트로 저장한 후, 어두운 부분만을 선택한 것입니다. 오른쪽 위는 히스토그램입니다. 어두운 부분이기 때문에 좌측에 몰려 있는 것을 보실 수 있습니다.

사용자 삽입 이미지

이것을 Image -> Adjustments -> Levels 명령을 사용해 어두운 부분만 밝게 만들어본 모습입니다. 오른쪽 위를 보시면 히스토그램이 막대기 형상으로 듬성듬성 떨어져 있는 게 보이실 겁니다. 좁은 곳에 몰려 있는 것을 넓게 폈으니, 빈 곳이 생긴 겁니다.

사용자 삽입 이미지

그런데 아래는 동일한 영상을 16비트로 저장한 후 동일한 영역에 대해 동일한 방식으로 처리해 본 것입니다. 처리된 부분은 윗 그림과 별로 차이를 느끼지 못하시겠지만, 오른쪽 위에 있는 히스토그램을 보시면 모든 정보가 완벽히 살아있는 게 보이실 것입니다. 좁은 영역에 몰려 있는 부분을 확장시켜도, 원래 그 속에 모든 정보를 담고 있었기 때문입니다.

사용자 삽입 이미지

이처럼 HDR 방식으로 합성을 하게 되면 16비트 영상으로 생성되고, 아주 어두운 부분이나 밝은 부분도 어느정도의 정보를 담고 있기 때문에 16비트로 저장하는 것이 의미가 있습니다. 물론 윗 그림처럼 과도한 처리는 별로 좋지 않은 건 사실입니다만, 8비트로 처리할 때보다는 확실하게 유리합니다.

특히, 저는 스티칭 합성이 끝나고 난 뒤, 적당한 색감 조정을 위해 Levels, Curves, Hue/Saturation 등 여러가지 Image Adjustment를 수행하는데, 이런 경우에도 히스토그램상으로 빈곳이 없게(거의 모든 데이터가 살아있게) 됩니다.

머... 사실 저는 HDR 구면 파노라마를 제작하기 시작하면서 처음부터 16비트 영상으로 작업했기 때문에 8비트 영상으로 처리하는 것보다 얼마나 좋은 건지 잘 모르겠습니다. 뭐... 그냥 적어도 나쁠 일은 없으니깐 처리작업이 많이 들더라도 계속 16비트 영상으로 처리할 예정입니다.

마지막으로... 위 작업에 사용한 경희궁 숭정전 360*180도 구면 파노라마를 감상해 보시기 바랍니다.


민, 푸른하늘