본문 바로가기
CAMERA

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

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

오래간만이네요. 계속 다른 글들을 포스팅하느라 명색이 메인스트림에 해당하는

비트맵 포스팅을 이제서야 하게되었습니다.


사실은 제가 글을 쓸때...뭔가가 번뜩 하고 떠오르면 일필휘지로 써내려가는 스타일인지라

번뜩이 오질 않으면 쓰질 않게 되거든요....;


여하튼 지난번 4편에 이어 번뜩 하고 오래간만에 온 필을 살려 이어서 써내려가보도록 하겠습니다.


지난 4편에서 저는 손실압축과 파일의 형식에 대해 이야기 하다 말았죠.

2012/11/07 - [CAMERA] - 왜 사진을 하며 비트맵을 알아야 하는가(4)

 

오늘은 이어서 그에 관련된 이야기와 더불어 오늘 필을 받은 비트맵이미지의 "출력"까지 한번 써보려합니다.

 

JPG파일 포맷이 대세이긴 하지만 기본적으로 손실압축이며 이로 인해 용량면에선 득을 보지만 화질면에선 손해를 본다..

까지가 지난 시간에 드린 이야기인데 여기서 한가지 딜레마가 생깁니다.


JPG파일을 저장할때...하나는 아주 압축을 많이 해 화질에 손상이 많이 간 작은 크기로 저장한것과

JPG파일을 저장할때...하나는 아예 압축을 안해 화질에 손상이 안간 커다란 크기로 저장한것과


이 둘을 뭔가 편집이나 수정을 위해 프로그램(예를 들면 포토샵..)에 불러들인다고 하면

이 둘이 차지하는 메모리의 크기도 역시 차이가 나겠죠? 800k짜리 jpg와 3메가(3096k)짜리 jpg라고 예를 들면 말입니다.

 

"그렇겠지?" 라고 생각하신 분 혹시 계시다면.....제 비트맵강좌 1편부터 다시 보고 오시기 바랍니다. (........)


실제로는 비트수가 동일하고(8비트) 해상도가 동일하다면

압축이 많이 되었건 적게 되었건, 편집을 위해 압축을 풀고 메모리에 불러들였을때의 크기는

항상 동일합니다. 그것이 디지털이고 그것이 비트맵이예요.

심지어 파일포맷조차 가리지 않습니다. jpg건 tif건 bmp건 뭐건....비트수x가로세로 픽셀수...

이것만이 비트맵의 단 하나의 진실이라고 저는 예전에 말씀드렸었죠.


jpg는 zip파일과 같습니다. 보려면 압축을 풀어야 해요. 그리고 압축이 풀린 크기...메모리에 불려져 오는 크기는

용량과 상관없습니다.

1024x768의 표준해상도 8비트 비트맵 이미지라면 포맷이건 dpi건에 상관없이

무조건 2.24메가의 메모리를 잡아먹습니다.


그러면 무엇이 jpg로 저장할때의 용량을 결정하는가..?

크게 두가지입니다.


첫째, 압축율이 높은가 적은가....cd와 mp3로 비유하자면 가청영역대를 넓게 잡느냐 좁게 잡느냐와 동일해요.

안들리는 영역, 잘 안보일거라 판단되는 영역의 정보를 많이 잘라내고 압축함으로서 크기를 줄입니다.

압축율이 높아질수록 이미지의 화질은 크게 손상되며 압축율이 낮을수록 화질은 적게 손상됩니다.

문제는....여러분이 사용하시는 거의 대부분의 관련 프로그램이 이 옵션을 제공하지 않거나, 최소한의 옵션만 제공한다는겁니다.

포토샵같은 고급프로그램은 당연히 예외지만 알씨같은 거지발싸개같은 프로그램이라던가 윈도우의 기본 뷰어라던가..

이런 프로그램은 고정된 압축율을 유저에게 강요하고, 따라서 저장을 거듭할수록 화질은 점점점점 더 손상됩니다.

크기는 점점점점 작아지겠고 말이죠.


둘째, 이게 잘 모르는 분들이 많으실 부분인데..."다른 색이 많이 존재할수록" 용량이 커집니다.

다른 색이 많다...다시말해 아주 복잡미묘한 화려한 사진을 찍는다면 jpg이미지의 크기가 커지고,

단순담백한 사진을 찍는다면 jpg의 크기가 작아져요. 같은 압축율을 지닌다 하더라도.

이것을 설명하기 위해서는 jpg의 기본 압축 알고리즘에 대해 설명해야 하는데 이걸 설명한다는것 자체가 좀 넌센스인지라

그냥 간단하게 말하자면...예를 들여 단 하나의 빨간색(255,0,0)만으로 이뤄진 400x400픽셀의 이미지가 있다고 해보죠.

jpg압축은 그 같은 색의 RGB값을 일일이 하나하나 저장하는 방식이 아니라 그 같은 색의 중복값을 카운트하는 방식이라 보시면 됩니다.

즉 (255,0,0)xX400xY400....극한으로 압축하면 이 공식 하나로 압축되요. 당연히 용량이 작아집니다.

근데 빨간색 말고 노란색도 있고 파란색도 있고.....이러면 공식이 하나씩 하나씩 늘어나고 종국에는 용량이 별로 작아지지 않게됩니다.

이것이 가장 극단적으로 발생하는 흔한 경우가 바로 고감도 노이즈예요.

예를 들어 단 하나의 빨간색 이미지를 저감도로 촬영한다면 노이즈가 거의 없을테고, 따라서 용량이 줄어드는데 문제가 없습니다.

그런데 초고감도에서 촬영했다면...? 바로 상상이 되실겁니다.

빨간색외에도 점점이 수많은 노이즈(다른 RGB값을 지니는 픽셀들)가 같이 담기게 될텐데

프로그램 알고리즘은 이걸 다 다른 값으로 판단할테고 결과적으로 노이즈가 많을수록 jpg이미지의 크기는 커지게 됩니다.

이걸 극복하기 위해 압축율을 높인다는 말은 빨간색의 범위를 늘려잡는다는 소리가 되요.

즉 255,0,0말고 254,0,0이라던가 255,1,1이라던가 하는 근사치를 싸잡아 그냥 255,0,0으로 통일시켜버린후 압축 저장하죠.

당연히 원래의 이미지는 손상되지만 이 범위를 늘려잡을수록 용량은 줄어듭니다.

이것이 바로 손실압축의 기본원리예요.


여러분이 DSLR로 촬영하시면서 메모리 남은 촬영가능매수 확인하실때..

사진 찍지도 않았는데 남은 장수가 늘었다 줄었다 하는게 바로 이때문이예요. 고감도로 놓으면 장수가 확 줄어들고

저감도로 놓으면 장수가 확 늘죠. 미리 고감도에 따른 사진용량증가/저감도에 의한 사진용량감소를 추정치로 보여주기때문에

이런 일이 생기는 겁니다.


하지만 이미 말씀드렸듯이 노이즈가 많건 적건 편집을 위해 불러들이면? 똑같은 용량 차지합니다.

잊지마세요. jpg같은 손실압축 이미지 파일포맷의 공통적인 특징이 바로 이렇다는걸요.


반면 TIF나 RLE프로토콜압축을 지원하는 BMP, 그리고 각 카메라회사의 독자적 노하우가 담긴 RAW파일들은

거개 예외없이 "비손실 압축"을 지원합니다. 압축을 하긴 하는데 절대로 정보의 손실이 발생하지 않는 한도내에서 합니다.

그래서 용량이 별로 작아지지 않고, 압축을 푸는데에도(보는데에도) 시간이 더 많이 걸리긴 하지만

화질을 중요시 하는 사진사라면 어떤식으로 작업을 해야 할지....이제는 좀 아셨을 겁니다.

 

여기까지가 jpg에 대한 이야기고..

이번엔 png라는 파일 포맷에 대해 좀 제대로 이야기 해보도록 하죠.


 

2011/11/08 - [CAMERA] - 사진 찍는 분들을 위한 그래픽파일포맷 간단정리.

 

최근 스마트폰에서 화면갈무리를 하면...아마 대부분 이 png형식으로 저장되기에

잘 모르시던 분들도 아 png라는 이미지 포맷도 있구나 하고 좀 아시게 되지 않았을까 싶은데요


실은 이놈은 gif시절에 256색의 제한과 압축에 대한 특허를 극복하고자,

gif에 사용된 압축프로토콜보다 더 좋은 무손실 압축 프로토콜을 골자로

신세대 표준 이미지 파일 포맷이 되면 좋겠다는 희망사항이 담겨 만들어진 포맷입니다. 역사가 오래되었죠.


먼저 장점을 볼까요?

이놈은 일단 기본이 무손실압축입니다. 손실압축 시키려면 시킬순 있는데...대부분 디폴트가 무손실압축이예요.

즉 화질이 좋습니다. 게다가 압축율도 대단해요. jpg보다 오히려 더 뛰어난 면이 있을 정도입니다.

예를 들면 음....뭐가 좋을까.....아 8비트지만 모노크롬인 이미지라던가 혹은 일정한 패턴이 반복되는 이미지같은 경우

jpg로 손실압축 하는 것보다 png로 무손실압축하는게 오히려 크기가 더 작을 정도로 경이롭습니다.

게다가 gif가 가졌던 알파채널, 즉 투명속성도 보유해요. 사진에 박는 낙관들이 png포맷 주로 사용하는 이유가

바로 이 투명속성때문입니다.


우와 끝내주게 좋아보여요. 근데 왜 png는 대세가 되지 못했을까요?

몇가지 시대적 불운과 우연들이 겹쳐 그렇습니다. -_-;;


먼저....386시절, jpg한장 보는데에도 몇초 몇십초가 걸리던 그시절....png는 더오래걸렸어요.

압축프로토콜이 더 고도의 연산을 필요로 하다보니 더 느릴수밖에 없었던 데다가

표준의 자리에 비집고 들어가지 못해 이를 볼 수 없는 뷰어도 괘 많았고

결정적으로 포토샵에서조차 제대로 지원안했던 시기가 있었습니다. (지금은 완벽지원...)

설상가상으로 인터넷 익스플로러가 가장 많이 보급되던 시기인 6버전에선 이게 제대로 보이지 않았어요.

심지어 8버전이 될때까지도 완전히 제대로 보여주지 못했을 정도....9나 10에서야 비로서 제대로 보이더군요.

투명속성 알파채널을 가진 png가 특히 더 그랬고 이는 결과적으로 이미지가 마치 깨진듯 보여주었기때문에

많은 장점에도 불구하고 널리 쓰일 수가 없었죠.

하필 인터넷 익스플로러 점유율이 98%까지 치솟았던 6,7 시절에 png에 대한 지원이 이러했으니..


당연히 아무도 쓰려 하질 않았습니다. -_-;;

게다가 요즘에야 게시판에 올리는 이미지의 용량이 많이 널럴해졌습니다만

상대적으로 용량에 훨씬 여유가 없었던 저 시절, 같은 이미지라도 png는 거의 예외없이 jpg대비

용량이 컸고..제로보드 기반의 게시판을 IE6에서 보는 일이 많았던 국내 환경상 더더욱 png는 불리했죠.


이런 저런 여유로 png가 대세가 되지는 못했지만 그동안 발전한 pc의 기술과 속도,

그리고 변화한 인터넷 환경과 브라우저의 업그레이드 등을 통해...이제는 맘 놓고 png를 써도 좋은 시대가 되었습니다.

이런걸 이미 알고 계신 분들은 RAW파일을 변환저장할때 jpg보다 오히려 png를 쓰시는 경우가 많아요.

특히 우리나라 내보다 외국에서 더 사용빈도가 높은듯합니다.


뭐 문제라면 EXIF 메타데이터를 지원안한다...가 있겠네요. 이거 의외로 중요시 하시는 분들이 많아서..;

그래도 이만한 장점을 많이 가지고 있으니 jpg의 화질문제에 지친 분들께는 강추하는 편집 및 보존용 파일 포맷이 되겠습니다.

남들이 TIF좋다고 해서 TIF만, 그것도 8비트jpg를 굳이 16비트TIF로 바꿔 보존하는 분들 계시던데..

비트맵 제 강좌 제대로 보셨다면 그것이 얼마나 뻘짓인지 이제 아셨으리라 믿습니다.(......)

 

자 이제 마무리로 출력...에 대한 이야기를 하고 매듭짓죠.

여기서 출력이라 함은 단순히 프린터로 뽑는다거나 인터넷 사이트를 통해 인화하는것을 말하는 게 아니라

말 그대로 출력, 우리 눈에 보이는 형태에 대한 이야기입니다.


왜 이 이야기를 하느냐면....비트맵 이미지의 본질을 모르는 분들은 사진을 보는것 조차 제대로 못하시기 때문입니다.

그리고 제대로 못보는것이 비트맵을 잘 몰라서임에도 불구하고 왜 제대로 안보이는건지 이해를 못한 채 화를 내시곤하기때문이죠.


먼저 모니터의 이야기로 시작하죠.

crt모니터가 아닌 현재의 대세인 LCD모니터는...반드시 비트맵 이미지의 1픽셀이 화면상의 1픽셀과 매칭되어야만

가장 깨끗하게, 가장 제대로 이미지를 볼 수 있습니다.

비트맵이미지의 2픽셀, 혹은 3픽셀을 화면상의 1픽셀과 매칭시키려 하면 반드시 화질면에서 파탄이 생겨요. 이점이 대전제입니다.


다시말해 여러분의 모니터가 1920x1080의 해상도로 만들어졌다면

여러분의 모니터 설정은 반드시 1920x1080이어야만 합니다. 1280x720으로 놓고 쓴다던가 1366x768로 놓고 쓴다던가 하면

여러분이 무슨짓을 하더라도 절대로 깨끗한 이미지를 볼 수 없습니다.


그리고 이 해상도 이내의 가로세로 픽셀값을 지니도록 이미지를 리사이즈 하고 이를 100% 상태에서 볼때,

비로서 여러분은 가장 깔끔한 사진을 볼 수 있습니다.

아니면 오리지널 최대 해상도를 지니도록 이미지를 변환하고 100%, 다시말해 이미지의 1픽셀과 모니터의 1픽셀이

1:1로 매칭되는 크기로 커다랗게 확대해서 볼 때만이....가장 깔끔한 이미지를 볼수있어요.


그러나 실제로는 어떤가요.

오리지널 최대 해상도 사진, 혹은 적당히 큰 이미지를 화면에 맞게 "축소"해서 보던가

작은 이미지를 "확대"해서 보던가 하는 경우가 다반사입니다.

생각을 해보세요. 원래는 엄청 큰 이미지인데 모니터에 맞춰서 본다는 소리는 결과적으로

뷰어가 임시로 "리사이즈"를 해서 보여주고 있다는 소리입니다.


이전 포스팅에서도 적었었지만 리사이징에도 여러 알고리즘이 있어요.

어느건 선명하고 어느건 흐릿하고..별별 리사이징 알고리즘이 있는데 개중 뷰어가 어느걸 채택했느냐에 따라,

그리고 축소비율이 50%나 25%같은 정비율이냐

아니면 0.3333333%라던가  0.571528571428%같은 비정비율이냐에 따라 잘 보이는 경우도 있고

제대로 보이지 않는 경우가 있고 할 수 밖에 없습니다.


잘 모르셨던 분들...특히 초보분들 한번 생각해보세요.

큰 사진을 화면에 맞춰서 보셨을 때 몇%로 축소되어서 보았는지 기억하시는 분들 계신가요?

아마 안계실겁니다. 그냥 fit windows 옵션 켜고 대충 풀스크린으로 보고 하셨을테니

그게 몇% 축소였는지 아실 리가 없을거예요.

아실리가 없다는건 결국 이미지를 깨끗하고 깔끔하게 보는 방법을 여태까지 모르셨다는 소리가 됩니다.

그래놓고선 RAW파일로 볼때랑 jpg로 볼때랑 이미지가 다르다..쨍함이 다르다..게시판에 올렸더니 사진이 이상해졌다..

이런 이야기를 하시는겁니다.

이런 일들이 생기는 근본을 거슬러 올라가면 그게 다 바로 비트맵 이미지에 대한 몰이해로부터 비롯되는거예요.

블로그나 게시판에 큰 사진 올렸는데 작게 보이면서 좀 깨져보인다던가 덜 선명해보이는것도

블로그나 게시판의 스크립트가 큰 사진을 임의로 리사이즈해 작게 보여주면서 발생하는 문제인것입니다.

해당 블로그나 게시판이 허용하는 가로세로 최대 픽셀사이즈에 100% 딱 맞춰 리사이즈하고 올리시면 이런문제 당연히 안생길거예요.

예를 들면 제 블로그는 현재 가로 1000px를 본문으로 씁니다. 제가 여기에 이번 포스팅처럼 딱 1000px 가로크기 이미지를 올리면

오늘처럼 깔끔해보이고....지난번 두어개처럼 2048 이상의 크기로 올리면 1000으로 임의 리사이징당해 묘하게 뿌옇게 보이게 되는겁니다.


이제 여기에 dpi가 얽히고 프린터 출력, 인터넷 인화가 얽히면

초보분들은 패닉의 상태에 빠지기 쉽상입니다.


dpi도 이전 포스팅에서 언급했지만 하나도 어렵게 생각하실 필요 없어요.

2011/03/29 - [CAMERA] - 사진의 DPI수치에 연연해하시는 초보분들을 위해

 

디지털 이미지는 오직 가로 세로 해상도와 RGB값이 전부입니다.

dpi같은건 프린팅을 위한 부가 파라메터값에 불과하며 얼마든지 바꿀 수 있어요. 자유자재로.

이거 자유자재로 못바꾸겠다는 분은 비트맵을 아직도 모르시는 분들입니다.

1평방인치에 몇개의 점을 때려 박아 넣을지를 정하는 dpi값따위는 비트맵 제대로 이해했다면 문제가 될 수가 없습니다.


그리고 인터넷 인화용으로 사진 전송할때도 사진 크기가 어때야 하느냐 dpi는 얼마로 설정해야 하느냐....

이런걸로 고민들 하시는 분들 많으신데 고민하실 필요도 없어요.

dpi는 인화소가 알아서 해줄것이니 신경끄시고 그냥 무조건 최대해상도로 보내시면 됩니다.

인화할때 사진 이미지 너무 작게 보내는게 문제되는경우는 있어도 너무 커서 문제되는 경우는 절대 없어요.


비트맵은....얼핏 어려워보이고, 공부할 필요가 없어보이기도 하며

사진이랑 관계없어보이기까지 하기때문에 제대로 파서 공부하는 분들 별로 안계시는 부분입니다.

심지어 사진과 후보정에 대한 수만가지 책중 비트맵 제대로 짚고 넘어가는 책은 거의 제로에 수렴해요.

원서야 상당수 있지만 국내 출판된 사진과 후보정 관련 책중 제대로 비트맵 다룬 책은 솔직히 거의 못봤습니다.


오히려 대학에서 배우는 컴퓨터 그래픽스, 프로그래밍중 그래픽 관련 교재,

그리고 게임그래픽디자인 책에서나 제대로 된 비트맵과 벡터를 알려주고 있는 정도예요.


하지만 비트맵을 알고 모르고는 여러분의 사진과 후보정 전체에 크나큰 영향을 미칩니다.

한번 생각해보세요.


무엇으로 찍고, 어떻게 변환하며

보정할때 어떻게 하는게 좋고, 보존은 또 어떻게 해야 하며, 보는것과 인화는 어떤방식으로 해야하는지

어떤게 자신의 사진생활에 가장 바람직하며 효율적일지를 알기위해선

필연적으로 최소한도의 비트맵에 대한 이해가 필수불가결하다고 저는 생각합니다.

비트맵을 모르니 뭘로 찍고, 어떻게 변환하고, 보정순서 어떤게 좋고 뭘로 저장하고, 어떻게 보고..

매번 문제가 발생하고 매번 질문이나 하는 처량한 신세가 되시는 겁니다.

비트맵을 제대로 알면 계조고 다이나믹레인지고 이런 저차원적인 문제는 공부안해도 그냥 알아요.

2012/02/09 - [CAMERA] - 사진에서 계조와 DR이란 대체 무엇인가?

이렇게 근본을 아는데 해결 못할 문제가 없게 됩니다. 이걸 해결하기위한 툴들, 포토샵이나 페인터 쓰는 법도 그냥 공으로 알게됩니다.

그러니 공부하세요. 비트맵을....제발요...;;

 

이 5편으로 비트맵에 대한 메인스트림 강좌 포스팅이 끝인건 아닙니다.

쓰다보니 누락된것, 너무 축약해서 설명한것등에 대해서는 앞으로도 계속적으로 포스팅 할 예정이니

비록 좀 늦게 늦게 올라오더라도 잊지말고 챙겨봐주시면 틀림없이 여러분의 사진생활에 도움이 될겁니다....;

 

사진관련 블로그들에서도 이렇게 하면 잘찍네 저렇게 하면 잘나오네 하는 포스팅은 넘치지만 이런 포스팅은 거의 없더군요.

그래서 아는 바 얼마 없지만 총대 한번 매어보는 심정으로 연작 포스팅을 올려보게 되었네요.;;

주제넘은 글들이지만 부디 조금이라도 도움이 되시길.....