본문 바로가기
CAMERA

왜 사진을 하며 비트맵을 알아야 하는가(4)

by 선배/마루토스 2019. 12. 17.
728x90

 

 

다른 포스팅들 하느라 메인스트림에 해당하는 이 포스팅의 연재가 좀 늦었네요.

사실 뭔가가 머리속에 번쩍 하고 떠올라야 일필휘지로 글을 써 내려가는 습성이 있는지라 ...떠오른거 먼저 쓰다보니 자연스레 이리 됩니다.

부디 이해해주시길 바라며,

오늘은 디지털사진의 "저장 방식"을 올바르게 이해해야 제대로 저장하고 되돌아보며

목적에 맞는 최선의 화질을 선택할 수 있다는 명제를 가지고 왜 우리가 비트맵을 알아야 하는지 그 당위성에 대해 논해보도록 하겠습니다.

 

현재 우리 사진찍는 사람들의 절대 다수는 JPG라는 파일형식을 씁니다. 그리고 이것이 거의 모든 문제점의 출발점이 됩니다.

왜냐면 JPG는 태생적으로 "손실압축"이라는 한계를 지니고 있기 때문이예요. 우리가 비트맵을 이해하고 비손실압축을 선택하지 않는 이상은

JPG로 저장을 거듭할 수록..사진은 손상됩니다. 아니 그 이전에 JPG로 최초에 저장할때도 JPG라는 비트맵이미지 저장방식을 이해하지 못하면

처음부터 손상될대로 된 사진을 보존하게 될 수 밖에 없습니다.

 

제가 예를 들길 좋아하는거 다들 아시죠? 지금부터 또 그 예를 하나 들어보겠습니다.

가장 대표적인게 MP3라는 음원압축방식입니다. 현재 우리는 대부분 음악을 들을 때 MP3라는 압축파일형식을 사용합니다.

원래 오디오 데이터 역시 사진 데이터 빰칠만큼 용량이 대단히 큽니다. 얼마나 크냐면 5분짜리 곡 하나를 그냥 녹음하면 50메가가 넘어갈 정도예요.

노래 하나에 50메가면 도저히 많은 곡들을 저장한다는건 불가능하죠. 사실 윈도우 3.1이나 윈도우 95 초기까지만 해도 이것이 현실이었고

이때문에 디지털로 음악을 듣는 사람을 찾아보기 힘들었었습니다.

그런데 거기서 MP2, MP3라는게 등장합니다.

MP3의 대단한 점은 대단히 효율적인 손실압축을 했다는 거예요. 예를 들면 CD나 레코드판의 경우에는 인간이 들을 수 있는 가청영역외의 소리까지도

보존하고 있다가 재생합니다. 이 소리는 거의 들리지 않지만 차지하는 용량은 가청영역의 소리와 다를 바 없습니다.

MP3는 바로 그 비가청영역의 소리를 거의 버리다시피 하며 파일을 압축해 저장하는 손실파일형식이예요.

그덕에 용량이 무려 1/10으로 줄어들면서도 가청영역의 음질은 거의 손실이 없다시피 한 기적을 이뤄냅니다.

뭐 MP3를 최초에 인코딩하는 사람의 역량이 형편없다면 음질저하가 꽤 눈에 띌 수도 있습니다.

반면 역량이 높다면 용량은 더 많이 줄이고 음질저하는 더 적게 할수있죠.

문제는 압축이라는 점이었죠.

우리가 MP3를 들을때는 우리가 인식하지 못하는 사이에 파일의 압축을 푸는 과정이 선행됩니다.

5메가짜리 파일의 압축을 풀어 버퍼에 이동시키고, 버퍼속의 데이터로 음악을 재생한 후 버퍼를 비우는 것입니다.

당연히 그냥 음원을 틀때랑은 PC나 플레이어에 가해지는 부담이 훨씬 큽니다.

이게 지금 시간이 흘러 PC의 기본사양과 스펙, 연산속도가 대단히 올라가 그냥 막듣는것처럼 보이는 것일 뿐,

386이나 486 초기시절만 해도 MP3를 재생하는데 그 큰 PC의 거의 모든 리소스를 필요로 했을 정도예요.

MP3틀고 멀티태스킹하면 음악이 막 끊길정도였습니다. 기억하시는 분들은 많지 않으시겠지만요.....대신 우리는 저용량이라는 달콤한 열매를 손에 쥐었습니다.

연산에 걸리는 부담과 음질저하라는 댓가를 지불하고 말이죠.

 

다시 본론으로 돌아와 JPG에 대한 이야기를 계속해보죠.

제가 JPG이야기 하다가 MP3이야기로 갔다 온 이유는, JPG의 본질이 이와 거의 완벽하게 동일하기 때문입니다.

 

본래 이미지파일의 용량이란 제가 이전 포스팅에서 말씀 드린 바와 같이..대단히 큽니다.

PC가 저사양이었던 시절, HDD라는게 용량이 20메가쯤 되고 플로피디스크 한장에 1.44메가 겨우 들어가던 바로 그시절을 돌이켜보세요.

사진 한장에 10메가가 넘어간다는 것 자체가 있을 수가 없는 일이었습니다. 사실 이당시엔 스캐너를 제외하곤 CCD/CMOS기술 자체가 확립안되었었죠.

그래서 대부분의 그래픽파일이 PC에서 직접 그리고 만들어낸 저용량의 파일들이었습니다.

이당시의 대세가 GIF파일이었죠. 

GIF파일은 어떻게 이때 대세가 될 수 있었는가 하면...비결은 "색"에 있었습니다.

당시의 VGA...아니, 당시엔 VGA라는것 조차 없거나 초고가의 사치품이었어요.

XGA..CGA..허큘리스..이런게 그래픽카드 역할을 했고 모니터 역시 지금의 휘황찬란한 모니터가 아니라

대부분 그린 단색 모니터 아니면 원시적 CRT모니터였던 시절입니다. 자연색, 트루컬러의 개념조차 안잡혀있던 시절로 거슬러 올라가야

왜 비트맵 이미지가 이렇게 변했고 이러이러 한가를 통찰해볼 수 있기때문에 꽤 많이 거슬러 올라가게 되네요.

이러한 상황에서 컴퓨터 그래픽스 이미지에는 많은 색을 필요로 하지 않았습니다.

껏해야 16색, 256색이면 넉넉했으니까요. 그때문에 GIF를 위시한 몇몇 원시적 그래픽 파일이 대세가 됩니다.

개중 가장 대세였던 GIF파일의 특성은, 파일에 색파레트가 딸려있었다는 겁니다.

어떤 이미지가 있을 때, 그 이미지에 가장 많이 사용되고 그 색만 있으면 그 이미지를 대충 재현할 수 있겠다 싶은 컬러 256개만 등록시켜놓고

한 파일안에 같이 저장한 다음, 그 색만 사용해서 이미지를 재구성하는것이 GIF입니다.

XYRGB가 아니라 XYC의 개념으로 보시면 되요. 좌표는 존재하지만 색에 할당된 총 비트수는 매우 낮은...

따라서 대단히 저용량에 얼핏 매우 훌륭한 이미지의 재생이 가능했습니다. 당연히 대세가 되었죠.

 

하지만 약간의 시간이 흐르고 광집적소자, 다시말해 빛을 전기신호로 바꾸어 이미지를 디지털라이즈 하는 기술이

스캐너라는 형식으로 상용화 되기 시작하면서부터 GIF는 단숨에 그 파일포맷의 한계에 부딪힙니다.

왜 그러냐구요? 실제 예를 보시면 아주 간단히 이해하실 겁니다.

 

 

예를 들어 이런 사진을 필름카메라로 촬영하고서 디지털 이미지로 바꾸기 위해 스캐너로 스캔했다 칩시다.

스캔한 파일을 GIF로 저장하면 이런 꼴이 됩니다.

 

어때요?

 

네? 잘 모르시겠다구요?? 뭐가 다른지?

예. 그것이 GIF의 대단한 점입니다. 그렇기때문에 아직까지도 명맥이 끊기지 않고 유지되면서 사용되는 겁니다.

하지만 조금만 더 눈이 높아진다면 이 차이는 단숨에 보입니다.

보다 편한 이해를 위해 확대...를 해볼께요.

 

 

이것이 원본JPG를 확대한 것이고

 

 

이것이 GIF이미지를 확대한 것입니다.

 

이제는 눈이 높지 않으신 분들이라 할지라도 한눈에 "아하~~!!" 하실겁니다. 무엇이 다른지. 왜 다른지. 어떻게 다른지가 말이죠.

이게 지금 모니터 화면상이니 그나마 아까처럼 그냥 보면 티가 덜나는겁니다. 인화라도 해보면 이 차이는 극명하게 드러나요.

모처럼 찍은 사진을 힘들게 스캔해서 GIF로 저장했더니 이모냥 이꼴이더라.....인화해봤더니 완전 꽝이더라.....이런 상황이 벌어진겁니다.

 

당연히 모든 사람들이 새로운 이미지 포맷에 눈을 돌리게 되는데

아주 훌륭한 대타가 거기엔 이미 존재했던 겁니다. 바로 JPG라는....

 

당시 JPG는 대단히 훌륭하게 자기 역할을 수행할 수 있었습니다. 보급화되기 시작한 VGA와 괜찮은 품질의 CRT모니터,

그리고 이제 막 각 제조사들이 앞다투어 입에 올리기 시작한 24비트 트루컬러(R8+G8+B8=24, 각 8비트는 환산하면 256, 다시말해 이전에 말한 1677만색) 광고와 더불어서 말이죠.

 

문제가 하나 있었다면 그건 당시의 느린 PC사양이었습니다.

아까 예를 들고 말씀드린 바와 같이...JPG는 근본적으로 "손실압축"파일 포맷입니다. 다시말해 그 자체로서는 결코 그냥 볼 수 없고,

보기 위해서는 ZIP파일이나 RAR파일, ARJ파일(....말하고 보니 이거 엄청 오래간만..)처럼 압축을 푸는 과정이 선행되어야만 했던거죠.

그래서 JPG파일 하나 열어보려면 짧게는 수초에서 길게는 수십초를 기다려야 했습니다.

ZIP파일 압축 하나 푸는데 짧게는 수초에서 길게는 수십초 기다리는 것과 마찬가지 이치에서요.

하지만 IT산업은 정말로 빠른 속도로 발전되었고, 점차 그 압축을 푸는 속도는 광속에 가까우리만치 빨라지게 됩니다.

얼마나 빨라지냐면 현재에 와선 JPG파일이 ZIP파일과 같은 압축파일이란 사실조차 모르시는 분들이 태반이 될정도로 빨라집죠.(.......)

 

그렇기때문에 JPG가 대세로 떠오르게 되며, 많은 카메라 제조사들이 JPG를 기본포맷으로 삼을 정도에 이르릅니다.

화질이 뛰어난 TIF포맷은 원초부터 존재해왔으나 비손실압축/아니면 아예 비압축파일 이다보니 용량이 너무나 정직하게 컸고

그 특성상 전문가급이 아니면 이 형식의 존재조차 모를정도였고 말이죠. (지금도 여전히 존재조차 모르시는 분들 비일비재합니다...)

BMP라는 윈도우 기본 이미지 파일 포맷도 있긴했지만 RLE압축프로토콜의 등장이전에는 이놈도 무조건 비압축 포맷이었기 때문에

대세로서 등극하는데는 실패합니다. 기껏해야 윈도우 배경 바탕화면 만들때나 쓰는 포맷으로 전락하죠.

당연하다면 당연한 일입니다. 1024x768크기의 8비트컬러 이미지가 있다면 jpg는 300k면 떡을 치는데 BMP나 TIF는 정직하게 하나당 꼭 꼭 2.24메가 먹었으니

비전문가라면 뭘 쓸지 자명한 이치 아니겠습니까?

 

하지만 처음에 말씀드린 대로 JPG에는 "손실압축"이라는 태생적 한계가 있었고,

이는 디지털 이미지에 있어 비트맵을 제대로 공부하지 않은 사진사분들에게 치명적인 문제를 선사하게 됩니다.

바로 "압축율"과 이로 인한 "이미지의 손상"이죠.

 

글이 너무나 길어지는 듯 하고 저도 지금 시간이 없어서 이 다음은 다섯번째 포스팅에서 계속 이어가도록 하겠습니다.

머리속에 떠오르는 대로 일필휘지로 갈겨쓰고 있는거라 많은 오류가 존재할 수 있으니 이점 유의해주시고

제 글에서 오류를 발견하신 고수분들께서는 제가 글을 바로잡을 수 있도록 도움말씀 꼭 주시면 감사하겠습니다~