인터레이스와 프로그레시브는 일반적으로 촬영 또는 압축(인코딩) 과정에서 사용되는 용어입니다.

인터레이스로 촬영한 영상은 인터레이스로, 프로그레시브로 촬영한 영상은 프로그레시브로 압축하는 것이 일반적이지만

프로그레시브로 촬영하고 인터레이스로 압축(인코딩)하거나 그 반대도 가능하기 때문에 촬영과 압축(인코딩) 과정은 별개라고 볼 수 있습니다.




우선 각각의 과정에서 프로그레시브와 인터레이스의 차이점을 정리하기 위해 간단한 상황을 가정해 보겠습니다.

1부터 60까지의 숫자가 적힌 총 60장의 그림이 1초동안 차례대로 보여지고 이 장면을 카메라로 촬영하는 상황입니다.

먼저 카메라의 촬영 모드가 1920x1080 60p일 때를 생각해 보겠습니다.

60p는 초당 60장의 프레임을 저장한다는 뜻이고 1920x1080은 한 번에 저장되는 프레임의 크기(해상도)를 말합니다.

이 경우에는 그림이 보여지는 속도와 카메라가 화면을 저장하는 속도가 똑같기 때문에 모든 그림이 빠짐없이 저장됩니다.

저장된 영상의 처음 6 프레임을 그림으로 보면 아래와 같습니다. (보기와는 조금 다르지만...숫자 그림 한 장의 크기는 1920x1080이라고 가정하겠습니다.)


이번에는 카메라의 촬영 모드가 1920x1080 30p일 때를 생각해 보겠습니다.

30p는 초당 30장의 프레임을 저장한다는 뜻이고 따라서 짝수 또는 홀수 번째의 그림만 저장되겠죠.

저장된 영상의 처음 3 프레임을 그림으로 보면 아래와 같습니다.


이런식으로 일정 순간마다 하나의 온전한 프레임을 그대로 저장하는 촬영 방식이 프로그레시브 촬영 방식입니다.



이제 카메라의 촬영 모드가 1920x1080 60i일 때를 생각해 보겠습니다.

60i는 초당 60장의 필드를 저장한다는 뜻이고 한 번에 저장되는 필드의 크기는 1920x540입니다. 초당 60장의 필드가 저장되기 때문에 모든 그림이

빠짐없이 저장되기는 하지만 프로그레시브와는 다르게 온전한 프레임으로 저장되는 것이 아니라 반쪽짜리 필드로 저장됩니다.

이렇게 저장된 영상의 처음 6 필드를 그림으로 보면 아래와 같습니다.


이런식으로 일정 순간마다 프레임의 짝수 또는 홀수 번째 라인(필드)만 선택해서 저장하는 촬영 방식이 인터레이스 촬영 방식입니다.




이제부터는 압축(인코딩) 과정에서의 인터레이스와 프로그레시브의 차이점을 정리해 보겠습니다.


먼저 촬영 방식과 압축 방식이 같은 경우들을 생각해 보겠습니다.

우선 앞선 예시에서 1920x1080 30p로 촬영한 영상을 프로그레시브 방식으로 압축하는 경우인데

이 경우는 가장 일반적이고 간단합니다. 1920x1080 30p로 촬영한 프레임을 그 상태 그대로 프레임으로 압축하는 것입니다.

마찬가지로 앞선 예시의 1920x1080 60i로 촬영한 영상을 인터레이스 방식으로 압축하는 경우도 간단합니다.

1920x1080 60i로 촬영한 필드를 그 상태 그대로 필드로 압축하는 것입니다.



이번에는 촬영 방식과 압축 방식이 다른 경우들을 생각해 보겠습니다.

먼저 1920x1080 30p로 촬영한 영상을 인터레이스 방식으로 압축하는 경우입니다.

인터레이스 압축 방식은 하나의 프레임을 두 개의 필드로 나눠서 따로 따로 압축하는 방식입니다. 따라서 아래와 같은 1920x1080 30p 영상이 있을 때,


아래와 같이 프레임들을 먼저 두 개의 필드로 나누고 각각의 필드를 필드 단위로 압축하는 방식입니다.


위와 같이 1920x1080 30p로 촬영하고 인터레이스로 압축한 영상은 1920x1080 60i로 촬영하고 인터레이스로 압축한 영상과 어떻게 다를까요?

다음과 같이 그림으로 보면 간단합니다. (위가 1920x1080 30p 촬영->인터레이스 압축, 아래가 1920x1080 60i 촬영->인터레이스 압축입니다.)



보시는 것처럼 똑같은 인터레이스 압축이지만 1920x1080 30p로 촬영한 영상은 두 개의 필드가 같은 화면(숫자)을 저장하고 있습니다.

반면 1920x1080 60i로 촬영한 영상은 모든 필드가 서로 다른 화면(숫자)을 저장하고 있습니다.

이처럼 압축 방식이 같다고 하더라도 촬영을 어떻게 했는지에 따라서 영상이 담고있는 정보가 달라질 수 있습니다.

그렇기 때문에 인코딩하려는 소스가 어떻게 촬영되고 어떤 방식으로 압축되었는지를 정확이 판별하는 것이 중요합니다.




마지막으로 인터레이스 영상을 프로그레시브 방식으로 압축(인코딩)할 때 빼놓을 수 없는 디인터레이스에 대해서도 간단히 정리해 보겠습니다.

디인터레이스란 인터레이스 영상의 필드를 프레임으로 바꾸는 작업을 말합니다. 즉, 인터레이스 영상을 프로그레시브 영상으로 바꾸는 작업입니다.

디인터레이스의 종류에도 여러가지가 있는데 크게 세 가지로 나뉩니다.


먼저 weave 방식입니다.

이 방식은 두 개의 필드를 옷감 짜듯이 엮어서 하나의 프레임으로 만드는 방식입니다.

예를 들면 아래와 같이 1920x1080 60i영상이 있을 때,


weave를 적용하면 아래와 같은 1920x1080 30p 영상으로 바뀌게 됩니다.


별다른 처리를 하지 않고 두 필드를 합치는 방식이기 때문에 가로 방향으로 어긋남이 보이는 것이 특징입니다.


다음은 blend 방식입니다.

이 방식은 두 개의 필드를 적절히 섞어서 하나의 프레임으로 만드는 방식입니다.

적절히 섞는다는 표현이 조금 애매하지만..그만큼 두 개의 필드로 하나의 프레임을 만드는 여러가지 방식을 통칭하는 말이라고 보시면 됩니다.


마지막으로 bob 방식입니다.

이 방식은 각각의 필드를 모두 프레임으로 만드는 방식입니다.

즉, 아래와 같은 1920x1080 60i영상이 있을 때,


각각의 필드의 빈 자리를 주변 필드를 적절히 사용해서 채우는 방식입니다. 따라서 bob을 적용하면 아래와 같이 1920x1080 60p영상이 만들어집니다.


여기에서도 주변 필드를 적절히 사용한다는 말이 조금은 애매하지만 마찬가지로 여러가지 방식들을 통칭하는 말이기 때문에 그렇습니다.


인터레이스 영상을 프로그레시브 방식으로 인코딩하기 위해서는 언제나 위와 같은 디인터레이스 작업들을 반드시 거쳐야 합니다.

인터레이스 상태 그대로는 프로그레시브 인코딩이 불가능하기 때문입니다.

따라서 인터레이스 영상을 다시 인코딩하는 경우에는 소스의 상태를 정확히 파악하고 그에 따른 적절한 디인터레이스 방식을

선택하는 것이 가장 중요한 부분이라고 할 수 있겠습니다.




'인코딩 일반' 카테고리의 다른 글

x264 QP 값의 범위  (6) 2012.12.13
H.264/AVC 인코딩과 레벨  (2) 2012.12.13
영상의 해상도와 16배수  (0) 2012.12.12
x264 CRF 인코딩과 프레임 레이트  (0) 2012.12.10
MeGUI 2460 버전의 x264 옵션 정리  (29) 2012.12.09
인터레이스와 프로그레시브  (20) 2012.12.05
Posted by 김코덱