디인터레이싱

 


1. 정의
2. 인터레이스 영상이란?
3. 인터레이스 영상을 디인터레이싱하지 않으면 무슨일이 일어나는가?
4. 60i->60p로의 변환은 의미가 있을까?
5. 디인터레이싱의 종류
5.1. weave
5.2. blend
5.3. bob
5.4. yadif, nnedi
5.5. fieldmatch
5.6. SeparateFields
6. 디인터레이싱 방법
6.1. 텔레비전으로 감상
6.2. 컴퓨터로 감상
6.3. 인코딩을 할때
7. 참조


1. 정의


인터레이스(비월주사)방식의 영상을 프로그레시브(순차주사)로 바꾸는 과정을 말한다.

2. 인터레이스 영상이란?


tv가 최초로 발명됐을때 부족한 하드웨어 성능으로 인하여 사람들이 원하는 대로 초당 60회[1] 이상 화면을 스캔할 수 없었다. 그래서 하나의 화면을 가로로 마디마디로 자른뒤 처음은 홀수 번째 줄만 스캔을 하고 그 다음은 짝수 번째 줄만 스캔을 하는 방식으로 초당 60장의 영상을 구현하였는데 이것이 인터레이스다. 스캔된 결과물 하나하나를 필드라고 하며 짝수줄만 스캔한 것을 탑 필드, 홀수줄만 스캔한 것을 바텀 필드로 불러 구분한다. 탑 필드와 바텀 필드를 합치면 하나의 프레임이 된다. 프로그레시브 영상은 하나의 화면이 하나의 프레임을 이룬다.

3. 인터레이스 영상을 디인터레이싱하지 않으면 무슨일이 일어나는가?


첫번째 필드는 최초 1/60초 동안의 화면을 촬영한 것이면 두번째 필드는 그다음 2/60초의 화면을 촬영한 것이다. 각각 다른 시각을 촬영한 것인데 이것을 하나로 합쳐버리니 하나의 화면에 두 개의 상이 만들어지게 된다. 물론 움직임이 거의 없는 영상에서는 별로 티가 안나지만 스포츠나 댄스 등 움직임이 많은 영상에서는 쉽게 이상한 점을 알아차릴수 있다. 만약에 디인터레이싱을 하지 않은 상태로 세로 해상도를 바꾸어 리사이즈하게 되면 두 개의 상이 겹친 것이 영구적으로 남아버리게 된다[2]. 많은 사람들이 디인터레이싱을 하지 않은 채 인코딩을 한 후에 영상을 배포하는 것을 주위에서 쉽게 찾아볼 수 있다. (ex 무한릴)

4. 60i->60p로의 변환은 의미가 있을까?


보통 hdtv 방송 원본의 경우 30p(30프레임의 progressive영상)로 표시되는데 사실은 30p가 아니라 60i(60필드의 interlace영상)다. 60i는 초당 60장의 필드를 가지고 있으므로 필드를 하나의 프레임으로 확장시켜서 60p로 만들어서 감상하는게 정상이다. 절대 억지로 없는 화면을 부풀리는게 아니다. 단, 진짜 60fps가 아닌 풀다운된 영상[3][4]의 경우 일반적으로 쓰이는 디인터레이싱 필터를 사용하면 실제 60fps도 아닌 영상의 필드들이 중복되어 60fps로 불어남은 물론이고 화질에서도 큰 손해를 보게 된다. 따라서 이때는 필드매치를 사용하는 것이 맞다.
그럼에도 불구하고 한국이든 외국 불문하고 60i영상은 30p로 변환하는게 현실이며, 유튜브도 1080@60i 영상은 1080@30p로 변환하는게 지금의 현실이다.
네이티브 30p 영상은 60p로 만들려면 프레임 사이에 프레임을 만드는 플루이드 모션 같은 기술을 사용해야 하며, 가장 좋은 것은 네이티브 60p으로 보는 것이 가장 타당하다.

5. 디인터레이싱의 종류


[image]

5.1. weave


두 필드를 하나의 프레임으로 합치기만 하고 별다른 처리를 하지 않는다. 움직임이 있으면 그 부분에 가로줄이 보이게 된다.

5.2. blend


주사선을 섞어 내보낸다. 2개의 상이 겹쳐 보이는 단점이 있다. 디인터레이스 없이 리사이즈했을 때도 비슷한 현상이 일어나는데, 결정적으로 다른 점은 blend는 각 필드의 명도와 채도 값을 균일하게 섞어 내보낸다는 것이다. 따라서 리사이즈했을 시엔 인터레이스 가로줄의 흔적을 관찰할 수 있는 반면, blend는 두 상이 정확하게 한 화면에 표시되어 마치 움직임에 잔상이 남는 것처럼 표현된다는 차이가 있다.

5.3. bob


필드의 세로 해상도를 2배로 늘려서 프레임으로 만든다. 결과적으로는 프레임 더블링이 된다. 세로 해상도를 늘릴때 단순히 자기 복제를 하는지, 아니면 앞/뒤/위/아래 필드를 참조해서 최적의 픽셀을 넣느냐에 따라 품질이 좌우된다. 단순히 세로 해상도를 늘리기만 하는 경우에는 세로 해상도가 절반이기 때문에 영상이 다소 흐려지며, 화면이 위아래로 살짝 떨리는듯한 모습도 볼 수 있다.
아날로그 시절에는 디인터레이싱을 위해 수천만원짜리 장비가 필요했으나 디지털 시대가 되면서 5만원짜리 그래픽 카드만 사도 그래픽 카드 제조사에서 제공하는 고품질의 디인터레이싱 기능을 사용할 수 있게 되었다.

5.4. yadif, nnedi


필드의 세로 해상도를 2배로 늘려 하나의 프레임을 만드는 것은 bob과 같지만, 늘리는 방법에 있어 훨씬 발전된 방법을 사용하여 더욱 선명한 화면을 보여준다. 또한, 각 프레임당 한 필드만 디인터레이스함으로써 30fps로 감상하는 것도 가능하도록 되어 있다. 심지어 yadif와 nnedi 둘을 동시에 사용하는 것도 가능[5]하다. yadif는 yadifmod2, nnedi는 nnedi3가 최신 버전이다.

5.5. fieldmatch


원본 필름의 프레임 레이트는 따로 있고 풀다운을 통해 만들어진 인터레이스 영상에만 적용 가능한 방법이다. 가장 대표적인 것이 24fps를 60fps로 전환하는데 쓰이는 2:3 풀다운으로, 이런 영상은 24장의 각 프레임 하나하나를 2번, 3번 교대로 반복하여 60장을 만들고 그것을 인터레이스해서 만들어진다. 이때 필연적으로 패턴이 생기기 때문에 해당 패턴에 맞추어 필드의 순서를 바꾸면 원본 프레임을 복원할 수 있다. 24p to 60i 영상을 필드매치하면 30p 영상이 만들어지게 되며, 여기서 사용된 패턴에 따라 중복된 프레임을 제거하면 최종적으로 24p의 네이티브 필름 레이트의 영상이 복원된다. 자동 필터를 통해 실시간으로 가능한 경우도 있지만, 오래된 영상의 경우 영상 중간에 풀다운 패턴이 바뀌거나, 패턴 중간에 잘라 이어붙인 구간이 존재하거나, 패턴 자체가 파탄나거나 하는 일이 자주 일어나기 때문에 모든 프레임을 일일이 확인해 편집하는 수작업과 재인코딩이 필요하며, 영상에 필드 고스팅 같은 현상이 발생했을 경우에는 완벽하게 복원하는 것이 불가능할 수도 있다. 엄밀히 말하면 디인터레이싱이라기보다는 디텔레시네에 해당하지만, 영상 포럼에서 DVD를 디인터레이스해 프로그레시브로 복원한다는 식이 말이 나오면 거의 이쪽일 정도로 개념이 혼용된다.

5.6. SeparateFields


필드를 분리하되 그 어떤 조작도 하지 않는다. 따라서 프레임레이트는 두 배로 늘어나고 세로 해상도는 원본 프레임의 절반이 된다. 이 상태에서 세로 해상도를 두 배로 늘려 보정하는 것이 일반적인 디인터레이스이다. 감상용으로 쓰일 만한 방법은 아니지만, 아무런 조작도 가하지 않기 때문에 Weave를 사용하여 원본 인터레이스 영상 그대로 되돌릴 수 있다는 특징이 있다. 따라서 SeparateFields는 인터레이스를 유지하면서 영상을 편집하거나, 자막을 넣거나, 보정 필터를 거는 등의 작업을 할 때 사용된다.

6. 디인터레이싱 방법



6.1. 텔레비전으로 감상


모든 디지털 텔레비전에는 자체적으로 디인터레이싱 프로세서가 들어가 있다.

6.2. 컴퓨터로 감상


LAV 코덱을 설치하거나 Windows 내장 코덱으로 재생하면 자동으로 디인터레이싱이 된다. "LAV 코덱 60프레임"등으로 검색해보면 많은 정보를 얻을 수 있다.
팟플레이어를 사용하는 경우에는 디인터레이싱 기본값이 Blend로 되어있어서 30프레임으로 나온다. Motion Adaptive(2× Frame)나 하드웨어 디인터레이싱으로 바꾸거나, DXVA 기능을 활성화하면 60프레임으로 감상 가능하다.
곰플레이어는 디인터레이싱 ON/OFF만 가능하며, 세부 설정이 불가능하기 때문에 30프레임으로만 감상 가능하다. 60프레임으로 보고싶으면 다른 프로그램으로 바꿔야 한다.

6.3. 인코딩을 할때


영상이 HDTV 원본이거나 mediainfo로 봤을 때 interlaced라고 나온다면 디인터레이싱이 꼭 필요하다. 웬만한 인코딩 프로그램에는 디인터레이싱 옵션이 있으므로 찾아서 켜면 된다.
영상의 모든 움직임에 인터레이스 가로줄이 발생하지 않고 특정한 패턴[6]이 존재한다면 풀다운된 영상이므로 fieldmatch와 decimation 필터를 사용하여 프로그레시브로 복원할 수 있다. 만약 인코딩 프로그램의 자동 필터를 사용한 결과물이 만족스럽지 않다면, avisynth등의 스크립트와 영상 편집 툴을 사용해 수작업으로 할 수도 있다.

7. 참조


http://www.100fps.com
https://en.wikipedia.org/wiki/Deinterlacing
https://en.wikipedia.org/wiki/Telecine
[1] NTSC에 한정된 것이다. 그리고 정확히는 1.001초당 60회이다. 60fps 영상의 프레임 레이트가 59.94로 표시되는 이유이다. 24와 23.976, 30과 29.97의 관계도 이와 동일하다. 가독성을 위해 이하 문서에서는 24, 30, 60, 1초로 통일해 표기한다. 첨언하자면, PAL은 이런 소수점 없이 정확하게 1초당 50회이다.[2] 엄밀히 말하면, 리사이즈와 상관없이 인터레이스 포맷을 디인터레이스 없이 프로그레시브 포맷으로 재인코딩하는 것만으로 문제가 발생한다. 인터레이스 영상은 비록 두 필드가 한 프레임에 표시되더라도 각 필드의 채도와 명도 값이 분리되어 절대 섞이지 않도록 인코딩되는 반면 프로그레시브는 그렇지 않기 때문이다. 다만, 세로 해상도를 리사이즈하지 않았으면 그나마 어느 정도는 원래의 화면을 복원할 가능성이 있지만 리사이즈를 했을 경우 손을 대는 것 자체가 불가능하게 된다. 따라서 인터레이스 영상을 재인코딩할 때는 제대로 인터레이스 플래그를 지정하고 세로 해상도를 바꾸어서는 안 되며, 프로그레시브로 인코딩해야 한다면 반드시 디인터레이스해야 한다.[3] 대개 영화, 드라마, 애니메이션, 다큐멘터리, TV쇼 프로 등이 그렇다.[4] 미국을 기준으로 했을 때, 대략 제2차 세계 대전 이후의 모든 TV 방송은 풀다운된 것으로 일부 자막이나 CG, 로고 정도만이 별도의 60i 레이어로서 영상에 삽입된다.[5] 이것은 엄밀히 말하면 yadifmod2의 기능으로, 디인터레이스 후 화면을 보정하는 과정에서 다른 디인터레이서가 생성한 화면을 참조하도록 하는 옵션이 있다. 따라서 다른 어떤 디인터레이서와도 결합될 수 있다.[6] 2:3 혹은 3:2 풀다운의 예를 들면, 화면이 끊임없이 움직이는 구간에서 3개의 프로그레시브 프레임과 2개의 인터레이스 프레임이 나란히 배치된 패턴을 관찰할 수 있다. 이때 프로그레시브 프레임의 매치를 C, 인터레이스된 프레임의 매치는 P라고 하면 2:3 풀다운은 CCPPC, 3:2 풀다운은 CPPCC 패턴이 된다.

분류