2012.08.15 13:14
이것은 VirtualDub 안에 있는 여러가지 필터들의 기능에 대해 잘 모르시는 분들을 위한 간단한 설명 같은 것입니다. 사실 이런 설명을 읽으시는 것 보다는, 가서 한번 직접 넣어 보시는게 가장 확실할듯 하지만, 그래도 어떤 특정한 기능이 필요하실 경우 필터를 하나하나 다 써 보시는 것 보다는 한번 훑어보시는 것도 괜찮겠죠.

설명에 앞서, 필터들은 크게 두종류로 나눠질수 있습니다.

첫째로 spartial 계열이라 불리는 것으로, 이것은 필터가 현 프레임 안에 있는 내용만을 갖고 처리를 합니다. 어떤 일정한 공간의 색을 부드럽게 만들거나, 기타 웬만한 필터는 다 이 계열입니다.
장점이라면 VirtualDub 에서 프리뷰 화면을 통해 어떤 효과가 나타날지 미리 볼수 있고, 모든 프레임에 처리가 된다는 것입니다만, 단점이라면 어떤 정보를 버림으로써 다른 정보를 얻게 되는 방식입니다.

두번째는 temporal 계열이라 불리는 것으로, 현 프레임을 처리하기 위해 다른 프레임의 데이터를 필요로 하는 것입니다. 보통 효과가 좋은 편으로 나름대로 화질 향상도 꾀할수 있습니다만, 단점으로는 첫 프레임은 이전 프레임의 정보가 없으므로 처리가 안 되고, 화면에 이전 프레임들의 잔상이 나타날 확률이 높다는 것입니다.
덤으로, VirtualDub 에서 저장하기 전까지는 효과를 볼수가 없고, 프레임 서버시 이 계열의 필터들은 작동하지 않는다는 문제가 있습니다.

그럼 필터 설명으로 들어가서...


*** 내장 필터들 ***

이것은 옆쪽에 (internal) 이라 써 있는 것들입니다. (최신 버전에는 이보다 많은 수의 내장 필터가 있을수 있습니다)

1. 2:1 reduction / 2:1 reduction (high quality)
- 이것은 동영상의 크기를 가로 1/2, 세로 1/2 로 줄이는 것으로써, 간단하게 예를 들자면 640*480 짜리를 320*240 으로 크기 조절을 해 주는 것입니다. High quality 라 써 있는건 보다 나은 알고리즘으로 줄이는 겁니다 (대신 약간 더 뿌옇게 되는듯).


2. 3x3 average
- 이것은 현 픽셀을 주변의 8 픽셀값의 평균 정도로 바꾸는 것으로, 화면을 뿌옇게 만드는 기능을 갖고 있습니다. 대충 blur 와 비슷합니다.


3. blur / blur more
- 화면을 뿌옇게 만듭니다.


4. brightness/contrast
- 화면의 밝기 및 대비도를 조정합니다.


5. deinterlace
- 화면에 줄이 생기는 인터레이싱을 없애는 기본적인 필터로, 몇가지 옵션이 있습니다

a. Blend fields together (best)
- 이것은 두 필터를 섞어 버립니다. 화면이 약간 뿌옇게 변하고 인터레이싱이 있는 부분이 잔상으로 변하지만, 그래도 가장 괜찮은 화질이 나옵니다.

b. Duplicate field 1 / 2
- 어느 한쪽의 필드를 버리고, 다른 하나의 필드를 그 자리에 넣습니다. 선들에 상당한 계단 현상이 나타나게 됩니다.

c. Discard field 1 / 2
- 어느 한쪽의 필드를 버립니다. 새로 해상도가 반이 됩니다. 이후 resize 필터를 넣어서 화면을 원 크기로 부풀릴 경우 interpolated 라 불리는 방법으로 deinterlace 를 한것과 같은 효과가 나옵니다.

d. Unfold fields side-by-side
- 필드 두개를 양 옆으로 나열합니다. 위의 discard field 와 비슷하지만, 버리는게 아니라 옆에 붙여 버리는 셈이죠. 세로 해상도가 반이 되고 가로 해상도가 두배가 됩니다. 이것은 잠시 특별한 용도로만 사용하게 되는것이 주로, 나중에 반드시 아래의 Fold side-by-side fields together 를 사용해 주시는게 좋습니다.

e. Fold side-by-side fields together
- 양 옆으로 나눠진 필드를 다시 합해서 하나의 프레임으로 만듭니다. 위의 Unfold 된 동영상에만 사용해야지, 보통 동영상에 사용할 경우 이상한 현상이 나타나게 됩니다.


6. emboss
- 화면을 꼭 조각한 것 같은 형태로 만듭니다. 빛의 방향과 깊이 등을 설정할수 있습니다.


7. field swap
- 필드의 순서를 바꿉니다. 보통때는 사용할 필요가 없는 필터지만, TV 수신기에서 YUV2 로 캡쳐할 경우 필드 순서가 뒤바뀌어 캡쳐 되는 경우가 있으니, 그런 경우 사용해 주는 필터입니다.


8. fill
- 지정한 공간을 (사각형) 지정한 색으로 채워 버립니다. 설정은 crop 과 비슷하게 보이지만, 가운데 부분에 색이 채워집니다.


9. filp horizontally / vertically
- 화면의 좌우/상하를 반전을 합니다.


10. general conversion
- 이것을 선택할 경우, 3x3 의 빈칸들이 나오는데, 중앙이 현재 픽셀입니다. 255 이 최고 단위로, 주변의 픽셀들이 현재 픽셀에 어떻게 영향을 줄지를 결정합니다. 예를 들어, 중앙에만 255 를 넣을 경우, 원래대로 나옵니다. 현 픽셀은 원 픽셀 100% 라는 뜻이니까요. 하지만 위에 100, 아래 100, 중앙에 55 를 친다면, 현 픽셀은 위 픽셀값 40%, 아래 픽셀값 40%, 현 픽셀값 20% 를 가진 색이 나오게 됩니다. 약간 생각을 해야 하는 필터로, sharpen 이나 blur 등을 구현할수 있습니다.


11. grayscale
- 화면을 흑백으로 바꿉니다.


12. invert
- 화면의 색을 반전합니다. 무슨 네가티브 필름같이 보이게 됩니다.


13. levels
- 화면의 색의 정도를 조정합니다. 설명하기가 좀 힘든 필터로, 이런쪽에 약간 지식이 있으셔야 할 듯...
어떤 정도 이상/이하의 색을 무시하게 만들어 버릴수도 있고 기타 화면 자체의 색의 농도를 바꿀수도 있습니다.


14. motion blur
- 이전 프레임의 잔상을 남기는 효과를 넣습니다.


15. null transform
- 아무것도 안 합니다. 그저 화면을 crop 만 하고 싶으실때 넣을수 있는 필터입니다.


16. resize
- 화면 크기를 조절할수 있는 필터입니다. 조절 알고리즘엔 여러가지가 있지만, 특별한 경우 아니면 그냥 Precise bicubic 으로 하시면 무난.


17. rotate / rotate2
- 화면을 설정한 각도만큼 돌립니다. 그냥 rotate 에는 90, 180, 270 도의 옵션만이 있지만 rotate2 는 아무 각도나 설정 가능합니다. rotate2 로 돌릴 경우, 생기는 빈 공간은 원하는 색으로 채울수 있으며, 화면을 돌릴 경우 바깥으로 나간 부분은 그냥 버릴지, 아님 현 해상도를 이것에 꽉 차게 늘릴지 선택할수 있습니다.


18. sharpen
- 주변 색과의 차이를 약간 올려서 전체적으로 약간 선명하게 만듭니다. 너무 올리면 선 주위 부분의 색이 이상하게 변합니다.


19. smoother
- 비슷한 색을 가진 부분을 부드럽게 만듭니다. 노이즈 제거용으로 주로 사용되나, 요즘엔 smart smoother 때문에 별로 사용되지 않습니다.


20. threshold
- 화면을 흑백으로 만듭니다만, 위의 grayscale 처럼 회색도 가질수 있는것이 아닌, 설정한 값을 기준으로 검은색 아니면 하얀색이 됩니다. 흑백 복사기로 그림을 복사한것 같은 효과가 나타납니다.


21. TV
- 화면의 루마 채널 (Y) 이나 크로마 채널 (I, Q) 만을 따로 보거나, 크로마 채널에만 노이즈 제거 필터를 넣을수 있습니다. 아날로그 소스로부터 캡쳐시 주로 루마 채널은 깨끗하지만 크로마 채널이 DVD 에 비해 상당히 지저분 하므로, 여기에 I/Q 3x3 average 를 몇번 넣으면 나름대로 깨끗해 집니다.


*** 외장 필터들 ***

VirtualDub 은 필터 SDK (Software Development Kit) 이라는 것이 존재하므로, 약간의 프로그래밍 지식과 이미지 처리 능력이 있는 사람이면 쉽게 필터를 제작해서 쓸수 있습니다. 그런 이유로 상당히 방대한 양의 외장 필터들이 존재합니다. 뭔가 자기가 생각하기에 충분히 가능할것 같은데 다른 프로그램들에서 구현할수 없는 기능이 필요하다면 이 VirtualDub 의 필터들을 조사해 보시면 쓸만한게 나오는 경우가 많습니다.

물론 위의 "자기 생각" 이라는 부분은 어디까지나 논리적으로 생각해서이지, 무조건 "내 생각엔 화질 향상이 가능할것 같은데 왜 화질 향상을 해 주는 필터는 없지?" 따위를 말하는게 아닙니다... -_-ㆀ

하여간, 이런 필터들은 종류가 상당하므로, 다 적기는 어렵고 몇가지 쓸만한 것들만 적어 보겠습니다.

* Chroma Noise Reduction
- 이것은 크로마 노이즈 필터의 temporal 버전입니다. 단순히 IQ 3x3 이라든가 아래의 smart smoother IQ 를 사용하는 것에 비해 훨씬 선명한 화질을 얻을수 있지만, 잔상이 쉽게 생긴다는 문제가 있습니다. 선 주위에 무지개 현상이 나타날 경우 사용해 볼수 있습니다.


* deflicker
- 오래된 소스에서 동영상을 캡쳐했을 경우, 자꾸 화면의 밝기가 깜박거리는 것 처럼 변하는 경우가 있습니다. 그런 경우 그런것을 고쳐주는 필터입니다.


* Hue/Saturation/Intensity
- 이것은 색상이나 색의 농도 등을 조절할수 있는 필터입니다. 오래된 느낌을 주는 동영상에 약간 saturation 을 주면 나아 보이게 되기도 합니다.


* Logo
- 비트맵 파일을 화면 위에 반 투명하게 덮어 씌웁니다.


* Smart deinterlacer
- deinterlacer 의 강화판이라 불릴수 있는 것으로, 움직임이 있는 곳에만 deinterlace 효과를 넣습니다. 보통 인터레이싱을 처리하기 귀찮을 경우 이것을 넣어서 처리해 버리기도 하죠.


* Smart smoother
- smoother 의 강화판이라 불릴수 있는 것으로, 색이 비슷한 부분만을 부드럽게 합니다. smoother 보다 기능이 나은듯 한데, 상당히 느립니다.


* Smart smoother IQ
- 크로마 채널에만 smoother 효과를 넣는 것으로, 아날로그 캡쳐물 처리시 상당한 효과를 보이기도 합니다만, 끔찍하게 느립니다.


* subtitle
- Sub Station Alpha 라 불리는 자막기의 스크립트를 불러서 현 동영상에 자막을 넣는 필터입니다. 영상 자체에 자막을 넣고 싶으실 경우 사용하실수 있습니다.


* telecide
- 동영상의 인터레이싱 패턴을 검색해서, 인터레이싱이 있는 프레임들을 고칩니다. 단지, VirtualDub 은 필터상에서 동영상의 프레임 수를 바꾸는것을 허용하지 않으므로, 이런 경우 같은 프레임이 그 자리에 두번 들어가게 됩니다. 기능 자체는 TMPGEnc 의 auto 보다 좋다고 하는군요.


* warp sharp
- 외곽선의 두께를 약간 얇게 하는 필터로, 선이 너무 뿌옇게 보일 경우 도움이 됩니다. 하지만 너무 넣을 경우 이상한 현상이 나타나니 주의...


VirtualDub 에는 이것 말고도 엄청난 수의 외장 필터들이 존재합니다.
대충 센것만으로도 100개는 넘는듯 하니, 만일 자기에게 어떤 기능이 필요하다면 이 필터들을 한번 뒤져 보시기 바랍니다.
이런 필터들은 http://shelob.mordor.net/dgraft/ 에 가시면 잘 정리가 되어 있는데, mine 이라 써 있는 부분은 이 홈페이지의 주인이 만든 필터들, other 에는 다른 필터를 제작한 사람들의 홈페이지가 링크되어 있습니다.
Posted by 스노우볼^^

댓글을 달아 주세요