본문 바로가기

IT/Multimedia

[펌]What Causes Interlacing - Directshow Video De-Interlace Filter

현재 DirectShow를 근간으로 하는 프로젝트도 진행중이다. 주 용도는 외부 영상기기의 Video 캡처와 관련이 있는데 Interlacing이 화제에 올라 예전 DirectShow 관련 프로젝트에서 문제가 되어 해결을 위해 De-Interlace Filter를 사용했던 기억과 함께 관련 자료를 링크해 두었던 것이 생각나 글을 쓴다.

Interlacing으로 인해 동영상 Display시 어떤 현상이 일어나며, De-Interlace Filter를 사용하면 화면이 어떻게 보정되는지를 보여주는 좋은 예이다
http://www.leadtools.com/SDK/MULTIMEDIA/DIRECT-SHOW-FILTERS/Multimedia-DirectShow-DeInterlace.htm

왜 이런 현상이 나타나는 지를 약간 설명한 링크이다.(그러나 기술적으로 명쾌한 설명은 아닌듯 하다)
http://www.gamedonga.co.kr/theme/themeview.asp?subno=379&gpage=6&gtype=computer#contents

위의 글에서도 나오는 단적인 비교 영상은 다음과 같다.

다음은 Interlacing 에 따른 현상이다.



다음은 DeInterlace 필터를 사용해 보정한 영상이다.



따라서 이를 해결하기 위해서는 De-Intelace 필터의 사용이 필수적이다.

공개 소스로 활용할만한 De-Interace 필터는 다음의 사이트에서 참고할 수 있다.
http://www.dscaler.org/about.htm#deinterlacing

다음 사이트에서 위 프로젝트 관련 유용한 파일을 받을 수 있다.
고맙게도 DirectShow용으로 제작된 Deinterace 필터를 개발하였다
(ax 와 소스를 다운받을 수 있다.)
http://sourceforge.net/project/showfiles.php?group_id=7420


이번에 알고 싶은 것은 위의 현상에 대한 정확하고 명쾌한 기술적 설명이다. 한번 찾아볼까?

화면에 줄이 가는 현상(Interlace현상)은 일반 TV나 캠코더에서 사용하는 비월주사방식(interlace)과 컴퓨터에서 사용하는 순차주사 방식(progressive scan)의 차이에서 오는 현상입니다. 움직임이 많은 화면에서 옆으로 줄이가는것처럼 보이기도 하고, 잔상이 남는것처럼 보이기도 하는 현상으로, 일반TV와 컴퓨터 모니터의 주사방식이 다르기때문에 나타나는 것입니다. 하드디스크에 저장된 영상은 원본의 것과 동일한 것이며, 단지 컴퓨터 모니터상으로 Preview되는 화면이 인터레이스현상으로 인해 화면에 줄이 가는것처럼 보이는 것입니다.

다음의 글은 약 60 Frames(60Hz)의 Progressive 주사 방식을 갖는 Dispaly(컴퓨터 모니터)에서 Interlaced 소스를 Display했을 때 발생할 수 있는 현상을 비교적 잘 설명하고 있습니다.

DVD Player S/W 종류와 기능, 선택은?

<저작권자ⓒ테크노아. 무단전재-재배포금지>
스크랩원본글: http://www.technoa.co.kr/content/View.asp?pPageID=48124
출처웹사이트: Digital Community - 테크노아 http://www.technoa.co.kr/

사용자 삽입 이미지

또한 다음의 글도 유용합니다. Filed와 Frame의 개념을 알 수 있습니다.

출처 : http://digital.ni.com/public.nsf/websearch/C2F152C5F8E8B83686256FBE0045AEF5?OpenDocument&node=133080_KO
문제점: Frame/Field 모드와 Interlaced/Non-Interlaced 모드의 관계는 무엇입니까?

솔루션: "Interlaced" 방식과 "Non-Interlaced" 방식은 아날로그 카메라 같은 장치로부터 비디오 라인이 출력되는 방식을 말합니다. interlaced 모드에서는 한 번에 수평 라인의 절반씩이 출력됩니다. 즉, 홀수 라인들이 먼저 출력되고, 이후 짝수라인들이 출력됩니다.
"Frame"과 "Field"는 이미지 수집 보드가 수집한 라인들을 이미지로 복원하는 방법을 의미합니다. 예를 들어, Frame은 홀수와 짝수 라인들을 모두 받아서 이미지로 만드는 것이고, Field는 홀수 혹은 짝수 라인들이 들어왔을때 즉각적으로 이미지로 만드는 것을 의미합니다.


즉 NTSC Interlaced 30fps 는 초당 30 Frames를 의미하는 것으로 Interlaced 임으로 초당 60 fields로 구성됩니다.

기회가 되면 영문 리소스들도 살펴보고 명쾌한 답을 유추해 보겠습니다.

VMR7, 9의 렌더러에서 H/W 기능을 이용한 DeInterlace 지원을 사용하는 방법을 다루고 있다(참고할 만한다. 그러나 아예 De-Interlaced 처리된 영상을 캡처하는 것이 나을 것 같다.)
http://msdn2.microsoft.com/en-us/library/ms787638.aspx


  

원본 위치 <http://www.codeforum.net/blog/pitoosung/category/프로그래밍?page=3&TSSESSION=26b94d00515facab38d5e38c674a88d6>