2012년 4월 6일 금요일

[색보정에 관한 이야기] 3. 지각(색에 대한 지각)

드디어 우리카페도 500명을 돌파했네요
400명이 되기까지 6달정도가 걸린것 같은데
500명은 금방이군요

아마도 어디선가 열심히 스태디캠을 운용하시는 회원님들의 모습이 좋은 홍보가 아닐런지 하는 생각을 해봅니다.
(저도 빨리 일거리를 잡아서 하나 장만해야 할텐데, 그게 그리 쉽게 이어지진 않네요. ^^)

저는 요즘 황감독님이 좋은 기회를 제공해주셔서 황감독님의 촬영현장을 따라다니면서 배운다고 글을 남기는게 뜸했습니다.

매일 나간건 아니지만...

한번나가면 촬영스케쥴이 무지막지할때만 나간지라..

매번 집에오면 기절하는 정도라서 글을 못남겼습니다.
(황감독님의 체력정도가 되지 않으면 매일 현장에서 버틸제간이 되지 않더군요. 운동의 필요성을 세삼 다시느꼈습니다. ㅜㅜ)

그점 이해해 주세요

황감독님이 촬영하시는 모습을 기록해서 보여드릴려고 하였으나...

감독님을 서포터하면서 촬영하기에는 너무나 큰 무리가 있어서 자료가 하나도 없습니다.

다음번에 나가게 되면 꼭 기록으로 남겨서 자료를 올리도록 하겠습니다.

오늘은 불연듯 자다가 잠에서 깨어 쉽사리 잠이 다시 오지 않는 관계로 이렇게 카페에 들어와 글을 남깁니다.

그래도 500명이 지나면 좋은 글을 남기기로 약속한지라...
지난번에 몽상가님이 올리신 색보정에 관한 좋은 게시물에 조금이나마 도움이 되고자 이렇게 글을 쓰고자 합니다.

감독님들 앞에서 이렇게 글을 쓰는 것이 조금은 부담이되긴 합니다만,
그냥 쭉 한번 읽어주시고 혹여나 실수한 글이 보인다면 기탄없는 지적 부탁드리겠습니다.

자 그럼 이제부터 본문에 들어가겠습니다.(사설이 너무 길었군요)

오늘은 크로마키에 관한 부분에 관해서 글을 남기고자 합니다.
크로마키에 관련된 이야기가 끝나고 나면 본격적으로 색보정에 관한 이야기를 할려고 합니다.

그냥 색보정에 관한 이야기를 해도 무관할듯 하지만,
그렇게 해서는 방대한 영문원서의 내용을 축약해야하고,

제가 작업한 작업물은 죄다 초상권이 걸려있어서 색보정에 관한 이야기를 할수는 있지만,
작업한 결과물은 보여드릴수 없기에....

그거슨(^^) 글을 남기는 도리가 아니라고 생각하여

일단 제가 잘 알고 있는 분야에 관해서 이야기 하면서 풀어갈까 합니다.
다들 이해해 주세요

{그림1}

크로마키(Chromakey)란?
우리 앞에 단색의 파란색 배경 앞에 빨간 티를 입은 여인의 사진이 있다고 가정해 보자. 이 사진에는 파란색을 비롯한 다양한 색상들이 포함되어 있다. 배경은 어느 정도 단색의 파란색이다. 물론 라이팅, 사람 그림자 등에 의해 틀려지는 부분은 존재할 것이다.
여러분은 빛의 삼원색이 R, G, B 라는 것을 알 것이다. 그리고 이 빛의 3원색이 합쳐져 우리가 보는 모든 색깔을 구현한다는 것도 알고 있을 것이다. 이제 우리는 [그림01]처럼 색상을 입체로 분석해 볼 것이다.
R, G, B를 좌표측에 X, Y, Z와 같이 놓는다. 우리가 보고 있는 파란색 배경의 빨간 티를 입은 여인의 사진은 R, G, B를 축으로 하는 입방 체에 넣어보자. 사진은 보다 다양한 색을 갖고 있겠지만 단순하게 원색 가정하여 관찰해보자. 파란색 배경은 R의 값이 0, G의 값이 0, B 의 값이 1인 지점이다. 여인의 빨간 티는 R의 값은 1, G의 값은 0, B의 값은 0인 지점일 것이다. 그리고, 여인의 몸에서 빛을 받은 부분은 흰색이 될 것이다. 그 부분의 R의 값은 1, G의 값은 1, B의 값은 1인 지점일 것이다.
이렇게 무수한 색상을 이 입방체 안에 분석해 놓을 수 있다. 색상 입방체를 이해했다면 Chromakey를 이용해 원하는 색상값을 제거 할 수 있다. [그림01]과 같이 입방체 내에서 어느 한 점(A)을 지정한다. 이미지 상에 임의의 (B) 지점을 지정한다. 중고등학교 시절 피타고라 스의 정리를 배우며 xyz 좌표축 사이의 두 지점의 거리를 구하는 법을 배웠을 것이다.
(A)에 가까운 점들은 거리값이 작기 때문에 블랙에 가까울 것이고, (A)와 먼 지점은 거리값이 크므로 흰색에 가깝게 된다. 바로 이와 같 은 원리로 Chromakey는 색상에 의해 매트를 만들어낸다.


(A) 지점의 값을 R1, G1, B1 라고 하고, (B) 지점의 R2, G2, B2 라고 할때, [그림02]와 같은 매트 거리값 공식을 만들 수 있다. 그리고 이
공식을 LayerX에 그대로 응용해 자신이 원하는 방식대로 Chromakey를 제작 할 수 있다.
- 주 비디오 아트 중에서

크로마키 촬영이라는 것을 많은 분들이 너무나도 쉽게 생각하시는 부분이지만, 그 촬영마져도 이와 같은 공식이 있습니다.

이와 같은 부분은 쉽게 접할수 없는 부분입니다만...

영상에디팅프로그램들도 위와 같은 공식에 의거해서 특정 크로마를 빼는 필터를 추가합니다.
이 필터가 마음에 들지않는다면 fx스크립터로 본인이 직접 필터를 만들어서 쓰기도 하죠

이부분은 약간은 다소 어려운 부분이 될수 있으니 나중에 설명하도록 하겠습니다.

크로마키를 외국영화처럼 잘 빼기위해서는 위와 같은 공식과 웨이브폼, 백터스코프를 보는 훈련이 되어있어야 합니다.
크로마키던 색보정이던 합성이던지 간에 촬영시에 명확한 룰이 지켜지지 않고 촬영이 된다면
후반작업기간이 길어짐은 물론이고 최악의 경우에는 재촬영을 해야하는 문제점들이 발생합니다.

국내의 촬영에서는 웨이브폼이 현장에서는 그리 중요하게 여겨지지 않는 현장이 종종 있다는 것을 알고있지만,
백터스코프와 웨이브폼만 어느정도의 룰에의해서 촬영된다면
후에 원하는 데로 외국 영화처럼 영상의 퀄리티를 높일수 있으므로 꼭 웨이브폼과 벡터스코프에 익숙해져야 합니다.

혹여나 그럼 촬영현장에 꼭 비싼 웨이브폼 모니터를 써야하는가?라는 물음을 던지신다면
꼭 그렇지는 않습니다.

최근까지는 대체할만한 것들이 없었기에 꼭 필요한 장비였지만,

요즘은 현장에 1394케이블이 꼽히는 노트북을 들고있다면
adobe에서 나온 OnLocation이라는 프로그램으로 현장에서 극복이 가능합니다.
과거에 고급웨이브폼모니터에서 구현하는 메모리기능도 노트북으로 하면 손쉽게 과거의 장면과 색이 튀는 부분을 보고 정교하게 교정을 할수 있으므로 노트북만 있다면 17인치 웨이브폼모니터보다도 더 좋은 결과물을 가지고 올수 있습니다.
단 노트북액정은 색이 불안정적이므로 컬리브레이션을 꼭 매번 해주셔야 한다는 점을 잊지 않으신다면 말이죠
(주 - 모니터의 색에 의존하지 않고 웨이브폼과 벡터스코프만으로 색에대한 분석이 가능하다면 안하셔도 됩니다만...
노트북의 액정은 각제조사마다 혹은 제작시기마다 색이 들죽날쭉 합니다.
웨이브폼모니터가 비싼이유는 색이 들죽날죽 하지 않고 항상 정상적인 색상을 출력하기에 가격이 고가입니다.
혹여나 현장에서의 색과 편집실에서의 색이 다르다라고 이야기하시는 분들이 없었으면 좋겠습니다.)

[어도비사에서 출시된 온로케이션]
이 프로그램에 관해서 설명을 하고 싶지만 주로 사용하는 프로그램이 아닌지라 잘못 설명될 문제가 있어서

일단 저는 요즘 유행이 되고 있는 apple사의 color이라는 프로그램으로 설명하고자 합니다.
컬러라는 프로그램을 구동하면
아래와 같이 다양한 스펙트럼을 보여주는 창들이 뜹니다.


이와 같은 웨이브폼에 익숙하신 분들도 있겠지만 익숙하지 않다면 꼭 보는 방법을 숙지하신 후에 들어가셔야 합니다.
웨이브폼은 영상의 기본적인 밝기와 관련이 있는 부분입니다.

촬영시에 110 IRE을 넘어가는 웨이브폼이 뜨는데도 촬영이 되었다면.
후반작업시에 다 날아간 데이타로 다시 색을 그려넣는 방법을 써야하므로 이부분은 매우 중요합니다.

하지만 꼭 110 IRE를 넘어가지 않고 촬영할필요는 없습니다.
간혹 필요에 의해서 넘기는 경우도 있습니다.

예를 들자면 하늘이 어둑어둑 하고 비가오기 직전의 화면이 나와야 하지만 촬영당일날 너무나도 화창하여 화면과 어울리지 않는 경우 하늘부분을 110IRE를 넘겨서 촬영한뒤에  LUMAKEY로 하늘을 다시 그려넣는 작업을 하기도 하기에 꼭 110IRE를 지키실 필요는 없습니다만...

일반적인 촬영의 경우에는 97 IRE정도를 유지시켜주시는 편이 나중에 색보정을 할때 유리합니다.
이부분은 나중에 색보정부분에서 다시 설명을 하도록 하겠습니다.

그리고 웨이브폼으로 전체적인 밝기에 관해서 어느정도 잡으셨다면 벡터스코프를 보고 분석이 필요합니다.
백터스코프는 현장에서 색온도만을 보여주는 것이 아니고(현장에서 그런식으로 이해하고 계신 분들이있어서...^^)

정확한 색을 얼마나 잘 구현하고 있는지 보여주는 그래프입니다.

백터스코프를 색의 구현이라는 점에서만 바라본다면
요 백터스코프는 잘쓰면 아주 요기나게 쓸수 있습니다.

예전에 아시는 분은 시중에 파는 컬러차트의 가격이 너무나도 비싼것에 좌절하여
문방구에서 파는 색종이로 대체해서 촬영을 하였는데,

후반작업때 편집자가 색종이를 원색으로 오해하여
색을 다잡은 후 편집을 마치니

원색 차트를 쓸때보다 색이 더 좋게(정확한 표현은 약간은 색이 틀어지게)나오게 되어
좀더 몽환적인 결과물을 제작한 경우도 보았습니다.

여담입니다만...

백터스코프에 익숙해지신다면, 자신만의 영상칼라차트를 만들어서
나만의 독특한 색감을 만들어 내는 것도 가능해지니...
그냥 참고해주세요

또 사담이 역시나 길어졌네요

자 이제까지 설명한 백터스코프와 웨이브폼에 관해서 이해는 하셨나요?

이해가 되셨다면 이제부터 크로마키잉에 관한 이야기를 해보죠

현장에서 크로마촬영을 하시게 될경우에 꼭 명심하셔야 될 부분이 있습니다.

먼저 배우의 옷이 검정색을 수반하는 경우에는 블루보다는 그린이 더 좋은 결과를 가지고 옵니다.
자체적으로 실험을 해 본 결과(결과물은 초상권의 문제로 걸지 못하는점 이해해 주세요)

크로마키에서 블루스크린을 쓰게되는 경우 배우의 머리가 밝은 색일경우 색을 빼는데 아무런 문제가 없었고
또한 시중에 파는 블루스크린천 혹은 청색천 그리고 청색페인트등 각종블루와 관련된 모든 스크린관련 제품들의 경우

조명을 아무리 잘잡아도 정확한 블루의 색을 재현하지 못하고 약 80IRE의 단계이상 올라가지 않았습니다.
고로 크로마키에서 이상적인 R0,B255,G0 값은 재현이 되지 못했고, 그러한 스크린으로 작업이 된 크로마키잉은 원배우의 색마저도 미묘하게 빼버리는 등 약간의 문제점들이 있었습니다.

그린스크린의 경우 블루와는 반대로 이상적인 G255값을 표현하였으나, 색을 빼게될경우에 블루보다 색이 빠지는 경우가 광범위해집니다.
가령예를 들자면 옐로영역의 유사색을 포함해서 키가 빠지기도 하고 피부에 그린이 묻을 경우 색보정의 단계에서 일일이 색을 다시 잡아줘야하는 문제점 등이 있었습니다.

참고하세요

동양인은 피부색때문에 블루를 써야 한다고 과거의 배웠던 부분이
색보정이라는 단계가 생기면서 부터 무의미해졌습니다.

고로 촬영시에 의상에 맞는 색상을 골라서 크로마 촬영을 하시면 됩니다.

그렇게 해서 어느정도 보편적인 크로마 촬영을 마치셨다면,

이제 앞에서 배운 크로마키 공식을 이용할 순서가 다가옵니다.

이와 같은 방법을 정확하게 구현하는 프로그램은 제가 알기에는 쉐이크라는 프로그램 밖에 없으므로 쉐이크를 기준으로 설명드리겠습니다.



일단은 합성할 여자의 이미지와 배경을 불러옵니다.(참고로 본 소스는 필름을 스캔받아 작업된소스입니다)




그 두개 영상을 layerX를 이용해 연결합니다.



LayerX에 Chromakey의 공식인 sqrt(pow((r-r2),2)+pow((g-g2),2)+pow((b-b2),2))를 각각의 rExpr, gExpr, bExpr에 넣어줍니다 (Chromakey의 핵심 부분)
간단히 LayerX의 사용법에 대해서 이야기 해 보자면.
LayerX의 첫 번째 노드에 붙는 이미지는 각각의 이미지의 R, G, B 채널을 r, g, b란 수식으로 사용한다. 그리고 두 번째 이미지는 r2, b2, g2 라고 변수를 갖는다.
여기에서 나와 있는 두가지 익스프레션은 sqrt와 pow이다. sqrt(루트. square)는 루트를 이야기 하는 것이고 pow는 제곱을 이야기 하는 것이다. 따라서 "sqrt(2)"는 "루트 2"가 되는 것이고 "pow(3,2)"는 3의 제곱이기 때문에 9가 되는 것이다.




 Color 노드의 Parameter를 활성화 시키고, parameter에서 color를 클릭 해 노란 박스로 활성화 합니다. 그러면, 노드뷰 부분이 Color Picker로 넘어가고 . Color Picker에서 Average가 노란 박스 로 활성화 되어있지 않다면 활성화 해주고, 마우스로 블루 스크린 부분을 드래그 해 줍니다. 그러면 드래그 한 부분들의 평균값이 Color 노 드 색으로 설정 됩니다.



위와 같이 매트값이 형성되셨나요?. 여기서 형성된 이미지는 두 가지의 용도로 사용됩니다. 하나는 매트값으로 또 하나는 sillmap(스 필맵)으로 말이죠.



자 그럼 이제 크로마노드를 제작합니다. 일단 ContrastLum 노드를 붙여 흑백으로 이미지를 양분합니다.
value 3.5 / center 0.515 / SoftClip 0 으로 ContrastLum 값을 설정해주었습니다.


Mult노드를 붙여 ContrastLum에서 생긴 문제를 완전히 해결합니다.
 ContrastLum만 사용해서 양분하는 것 보다 Mult와 함께 사용하는 것이 좋은데. ContrastLum만 사용하면 에지 부분의 모양이 부서지는 경향이 있지만.Mult는 색을 곱해줌으로써 영역을 보다 깔끔하게 매트파일을 생성하도록 도와줍니다.
여기서는 Mult의 R, G, B값을 각각 1.35로 줬습니다.



다음 구조는 layer/switchMatte를 3개의 노드로 풀어 만든 것입니다.. A_R_은 Reorder의 이름을 재설정하였고. 여기서 Reorder의 nnnr(nnng,nnnb 모두 가능)로 설정 합니다. Reorder에서 “n”은 “설정값 없음”입니다. 쉽게 NO라고 기억하시면 될듯 합니다. rgb는 rgb 채널값으로. Reorder에서 알파값을 형성합니다.
여자의 이미지와 Mult에서 형성한 매트값을 IMult로 곱해 주면 배경은 검은 이미지로 나오게 됩니다. 여기서 여자 이미지와 Mult에서 형성된 이미지는 rgb 값만 있고 알파(a)값이 없기 때문에 rgb 값에서만 연산되게 됩니다.

여기에 IAdd를 붙혀 알파가 있는 RGBA 이미지로 만듭니다. IMult에서 만들어진 RGB 이미지와 A_R_에서 만들어진 이미지가 합쳐
진 것으로 IAdd에서 형성된 이미지를 보면 푸른 Spill이 있는 것이 보이실 겁니다. 이제 이것을 처리 해보죠.


over를 이용해서 배경을 붙여 보면 푸른색 기운이 얼굴 부분, 옷 부분, 머리카락 부분의 외각에 붙어있는 것을 확실히 알 수 있습니다.


Chromakey에서 만들어진 이미지를 매트값이 아닌 Spillmap으로 사용하는 한 것입니다. Spillmap은 과도한 푸른색 기운 영역을 찾아 푸른
값을 IAdd에서 형성한 RGBA 이미지를 통해 Spillmap을 빼 주는 방법으로 위에 그림에서는 푸른 기운이 사라진 것을 알 수 있다.


Chromakey 방식의 LayerX는 color에서 선택된 푸른색으로 blueScreen 이미지에서 푸른색을 제거해낸 것이므로 대상물인 Lady의 푸른 기운도 동시에 빠지게 됩니다. 그렇기 때문에 대상물의 회색 부분도 역시 IAdd에 존재하는 푸른 기운과 동일한 영역 부분이 되게되고,
앞 대상 물에서 푸른 기운이 있는 부분을 찾아주는 이미지를 Spillmap이라고 부릅니다.
여기서 ContrastLum은 Spillmap이 존재하는 영역을 한정 시켜 주는 역할을 하죠
여기에 아래와 같은 값을 입력해 줍니다.
value : 1.3 Center : 0.515 Softclip : 0
여기서 Value값을 많이 주면 Spillmap의 영역이 좁아지게 됩니다.



Color/invert를 이용해 B 채널만 값을 역전 시킵니다.



푸른 기운이 빠지는 부분을 부드럽게 해 주기 위해 blur 값을 "5"도 줍니다.
이름이 B인 노드는 Reorder입니다.
여기서 “nnbn”의 값을 주어 b 채널만 활성화 시켜줍니다.
이제 여기서 이미지에서 빠져야 할 푸른 기운이 보이기 시작합니다.



여기서는 Mult를 붙혀 Spillmap에 강약을 조절할 수 있습니다.. Mult에서 R,G 채널은 비활성화 되어있기 때문에 건드리지 마시고. B 채널값 을 0.362를 주어 푸른 기운이 약하게 조정되게 합니다.



IAdd 이미지에 ISub을 이용해 푸른 영역을 가진 Spillmap을 빼줍니다. 그렇게 하면 블루 스크린에서 반사된 푸른 기운과 머리카락이나 옷 에 묻은 푸른 색을 제거 할 수 있습니다.




자 위와 같은 과정을 거치고 나면 아래와 같이 거의 완벽에 가까운 합성작업이 완료가 됩니다.

무슨 크로마작업이 이렇게 복잡한지 이해를 못하실수도 있지만,
이게 일반적인 크로마작업입니다.

이런 작업이 아닌 단순하게 크로마키잉필터를 사용해서 키를 빼는 경우 위와 같은 결과물을 쉽게 얻을수 없습니다.
물론 좋은 플러그인을 쓴다면 손쉽게도 작업이 가능하겠지만 손쉽게 하는 만큼 이렇게 배우는 일도 적어지니...

일단은 기본적인 부분을 알아두시는 편이 좋습니다.

지금까지 설명한 부분이 DI를 이용한 크로마키잉 방법입니다.

DI라고 하는 것을 눈으로보고 눈대중으로 대충하면 된다고 생각을 하신다면,
결코 답이 나올수 없습니다.

정확하게 내려진 기준이 없는데 답을 찾는다는것 자체가 우스운 이야기이기에
조금이라도 수치적으로 정확하게 표현되는 색에대해서 이해할 필요가 있습니다.

제가 크로마키잉 작업에 관해서 먼저 글을 올린것은 크로마키잉이 그나마 이해하기가 제일 쉽고
색보정의 경우 이해하기가 무척이나 난해한 글이 될것이라고 예상하기에 이렇게 그래도 조금 쉬운
크로마키잉에 관해서 글을 남깁니다.

혹여 이해가 안되거나 잘못된 부분이 있다면 서슴없는 답글을 남겨주세요




댓글 없음:

댓글 쓰기