This paper presents an effective motion estimation to improve the performance of the motion compensated temporal filtering (MCTF) which is a core part of the wavelet-based scalable video coding. The proposed scheme makes the motion vector field uniform by the modified median operation and the search strategies using adjacent motion vectors, in order to enhance the pixel connectivity which is significantly relevant to the performance of the MCTF. Moreover, the motion estimation with variable block sizes that reflects the features of frames is introduced for further correlation improvement of the motion vector field. Experimental results illustrate that the proposed method reduces the decomposed energy on the temporal high frequency subband frame up to 30.33% in terms of variance compared to the case of the full search with fixed block sizes.
최근 다양한 형태의 멀티미디어 기기 및 컨텐츠 기술이 급속히 발전함에 따라 각 응용 형태에 적합하게 컨텐츠를 제공할 수 있는 능력이 효율적인 서비스를 위한 중요한 고려사항이 되고 있다. 비디오 부호화에 있어서 이러한 요구에 적절하게 대응하기 위해 부호화 효율을 주로 고려하는 기존 방법과는 달리, 영상을 부호화하여 비트스트림을 생성하고, 각 응용분야 및 환경에 적합하도록 부분적으로 복호할 수 있는 스케일러블(scalable) 부호화 방식이 주목을 받고 있다. 스케일러블 부호화는 화질, 공간 및 시간 측면의 스케일러빌리티(scalability)를 제공할 수 있는데, 이의 기본적인 개념은 MPEG-2 및 MPEG-4 표준에서 도입되었고[1, 2], 최근 H.264/AVC의 확장판에서 SVC (scalable video coding)의 이름으로 본격적인 표준화가 이루어졌다[3].
SVC 표준에서는 각 스케일러빌리티를 위하여 서로 다른 방법을 이용하므로 전체적인 부호기의 구조가 매우 복잡해지는 단점이 있다. 반면, 그림 1과 같은 일반적 구조를 갖는 웨이블릿(wavelet) 변환 및 움직임 보상시간적 필터링(MCTF; motion-compensated temporal filtering)을 이용한 스케일러블 부호화는 한 번의 부호화로 세 가지 스케일러빌리티를 동시에 제공할 수 있고, 개루프(open loop) 구조이므로 복호과정에서 앞서 복호된 프레임을 이용하지 않아 기존의 폐루프(closed loop) 구조에서 발생하는 프레임간 에러 전파 문제 및 송수신기 사이의 파라미터 불일치 문제 등이 발생하지 않는 장점이 있다[4-7].
이때, MCTF의 출력이 공간 및 화질 스케일리빌리티를 위한 공간분석(spatial analysis)의 입력으로 연결되므로, MCTF의 성능은 전체 부호기의 성능을 좌우하는 중요한 요소이다. 이러한 MCTF는 움직임 예측(motion estimation)에 의해 결정된 현재픽셀과 예측픽셀 간의 연결성을 고려하여 적절한 시간적 필터를 적용하여 이루어진다. 따라서 MCTF의 성능을 향상시키기 위해 두가지 사항을 고려할 수 있는데, 하나는 시간적 필터의 성능 향상이고, 다른 하나는 픽셀의 연결성을 좋게하여 필터링의 대상이 되는 픽셀의 개수를 늘리는 것이다. 이 때, 시간적 필터의 성능을 향상시키기 위해서는 일반적으로 필터의 탭수를 늘리고 정교한 설계방법을 적용해야 하는데, 프레임 간에 적용하는 시간적 필터의 특성상 이러한 성능향상에 제한이 있다. 따라서 필터 자체의 성능향상보다 프레임간 픽셀의 연결성 향상에 중점을 두고 필터링의 대상이 되는 픽셀의 개수를 늘리는 것이 현실적으로 고려할 수 있는 방법이다.
본 논문에서는 MCTF의 성능을 좌우하는 픽셀 연결성을 향상시키기 위하여 움직임 벡터 필드(field)를 평탄화하는 움직임 예측 기법을 제안한다. 이를 위하여 주변 블록의 움직임 벡터를 이용하여 현재블록의 움직임 벡터를 예측하고 조기 탐색종료 조건을 적절하게 적용하여 움직임 벡터의 상관도를 높이는 한편, 가변 블록크기로 움직임 예측을 수행하여 움직임 및 화면의 복잡도가 낮은 블록에 대해서 픽셀 연결성을 더욱 향상시킬 수 있도록 한다. 본 논문의 구성은 다음과 같다. 2장에서 픽셀 연결성과 MCTF 성능의 관계를 자세히 기술하고, 3장에서는 제안하는 효과적인 MCTF를 위한 움직임 예측기법을 설명한다. 이에 대한 실험결과를 4장에서 기술하고, 5장에서 결론을 맺는다.
MCTF를 수행하기 위하여 먼저 픽셀의 연결상태를 결정하게 되는데, 움직임 예측에 의해 얻어진 움직임 벡터를 통해 연결되는 두 블록내부의 픽셀을 연결픽셀(connected pixel)이라고 하고, 그 외 연결되지 못하는 픽셀을 비연결픽셀(unconnected pixel)이라고 한다[6,7]. 또한 전체 픽셀 수에 대한 연결픽셀 수의 비율을 연결성(connectivity)으로 정의하는데, 이는 MCTF에 의한 시간적 에너지 집중 효율 및 시간적 저주파 부대역 프레임(TLSF; temporal low-frequency subband frame)의 화질에 영향을 미치는 중요한 요소이다. 시간적 에너지 집중은 전체 에너지에 대하여 시간적 필터링 이후 TLSF에 집중된 에너지의 비율로 정의되는데, 이는 각 프레임의 분산(variance)을 이용하여 표현할 수 있고, 또한 엔트로피 부호기(entropy coder)의 효율과 직접적으로 연관된다. 움직임 예측에 의한 연결픽셀과 비연결 픽셀을 결정하는 자세한 과정은 다음과 같다.
먼저 현재 프레임과 참조 프레임 사이에서 움직임 예측에 의해 얻어진 움직임 벡터로 연결되는 연결블록을 설정한다. 이미 연결블록으로 분류된 블록의 일부 또는 모든 픽셀이 현재 프레임의 다른 블록에 의해 다시 연결블록으로 선택되면, 이들 다중 연결픽셀 중 최소 DFD (displaced frame difference)를 갖는 픽셀만 연결 픽셀로 설정하고, 나머지 픽셀의 연결은 모두 해제한다. 이러한 과정을 거쳐 두 프레임 사이의 움직임 예측이 완료된 후 현재 프레임에서 연결픽셀의 수가 비연결픽셀의 수보다 적은 블록은 비연결블록으로 설정하고, 관련된 두 블록의 모든 픽셀을 비연결픽셀로 설정한다. 또한 현재 프레임의 나머지 연결블록에 대하여 두 블록중 더 작은 분산이 두 연결블록의 MSDFD (mean squared DFD)보다 작은 경우 두 블록의 모든 픽셀을 비연결픽셀로 설정한다.
일단 연결픽셀과 비연결픽셀의 분류가 완료되면, 그림 2와 같이 식 (1)과 (2)의 필터를 각 연결픽셀에 적용하고, 식 (3)과 (4)의 필터를 각 비연결픽셀에 적용하여 시간적 부대역 프레임을 생성한다.
식 (1)-(4)에서
연결픽셀의 경우, 식 (1)과 (2)에 의해 TLSF 및 THSF를 생성한다. 그러나 비연결픽셀의 경우, 식 (3)에 의해 참조 프레임의 픽셀이 그대로 TLSF로 구성된다. 따라서 중복성 제거에 사용되지 못하는 비연결픽셀은 필터링 후의 TLSF의 화질을 저하시킬 뿐 아니라, 에너지 집중효율을 크게 저하시켜 부호화 비트율 증가를 초래한다. 따라서 MCTF의 성능향상을 위해서 연결성을 높이는 것, 즉 비연결픽셀의 수를 줄이는 것이 매우 중요하다. 또한 다중 연결픽셀이 많을수록 비연결 픽셀의 수도 증가하게 되고, 이는 연결성을 악화시키는 요인이 된다. 따라서 움직임 예측 과정에서 현재 프레임의 서로 다른 블록이 참조 프레임의 동일 블록을 예측하는 중복선택을 방지하여 다중 연결픽셀의 수를 줄이기 위해서는 움직임 벡터 필드를 가급적 평탄화할 필요가 있다.
전역탐색(full search)은 각 탐색점 중 최소 SAD(sum of absolute difference)를 갖는 위치를 찾음으로써 예측오차의 관점에서 최적의 탐색방법이다. 반면 움직임 벡터 예측에 의한 탐색방법은 주변 블록으로부터 최소 SAD를 가질 확률이 높은 움직임 벡터 후보를 취함으로써 움직임 벡터 간의 상관도를 높일 수 있다. 이러한 방법의 관건은 최종 움직임 벡터를 결정하는데 있어 최대한 적은 수의 탐색점으로부터 정확한 벡터를 예측하는 것이다[10]. 탐색 시작점을 결정하기 위해 최종 움직임 벡터와 주변 4개의 움직임 벡터, 즉 왼쪽블록
[표 1.] 최종 움직임 벡터와 각 예측 벡터 간의 평균거리
최종 움직임 벡터와 각 예측 벡터 간의 평균거리
표 1은
식 (5)에서 i∈{
프레임의 첫 번째 행에 존재하는 블록의 경우
또한 프레임의 첫 번째 블록, 즉 (0, 0)에 위치한 경우에는 존재하는 예측벡터가
이러한 조건을 만족하지 않을 경우 네 개의 예측벡터, 즉
이때,
만약 SAD가 이 임계값보다 크다면 SDSP (small diamond search pattern)를 사용하여 탐색을 계속 진행한다.
픽셀 연결성을 향상시키기 위하여 움직임 벡터를 평탄화할 경우, 움직임 예측의 정확도가 떨어질 수 있다. 이러한 문제를 해결하기 위하여 본 논문에서는 가변 블록크기 움직임 예측을 MCTF에 적용한다. 가변 블록크기 움직임 예측은 복잡하거나 움직임이 많은 영역에서는 작은 크기의 블록 단위로 움직임 예측이 수행되어 움직임 벡터의 정확성이 향상되고, 평탄하거나 움직임이 적은 영역에서는 보다 큰 크기의 블록 단위로 움직임 예측이 수행되어 움직임 벡터 필드가 평탄화되는 효과가 있다. 본 논문에서는 H.264/AVC 부호화 표준[9]에서 도입된 화면간 부호화의 블록모드와 유사하게 32×32부터 8×8까지 가변 블록크기 움직임 예측을 수행한다.
먼저 32×32 크기의 기본블록을 분할한 Mode0 - Mode3을 이용하여 움직임 예측을 수행하여 각 모드에서의 SAD를 계산하고, 그 중 최소 SAD를 갖는 모드를 최적 모드로 결정한다. 이때 Mode3이 최적 모드로 결정되면, 그림 3에서와 같이 Mode4 - Mode7을 이용하여 4개의 16×16 크기 블록에 대해 움직임 예측을 한 차례 더 반복한다.
제안하는 MCTF의 성능을 평가하기 위하여, 다양한 테스트 영상에 대해 고정 블록크기 전역탐색에 의한 MCTF 결과와 비교하였다. 그림 4에서 보는 바와 같이, 제안한 방법에 의한 움직임 벡터 필드는 전역탐색과 비교하여 중복되거나 비어있는 곳이 많지 않고 잘 정돈된 모습을 보인다. 이렇게 평탄화된 움직임 벡터 필드는 특히 움직임이 크거나 다양한 영상의 픽셀 연결성을 크게 개선시킬 수 있다.
또한 그림 6(a)의
[표 2.] MCTF 결과 THSF의 분산 및 평균 분산 감소비
MCTF 결과 THSF의 분산 및 평균 분산 감소비
본 논문에서는 MCTF를 이용한 스케일러블 비디오 부호화의 성능을 향상시키기 위하여 움직임 벡터 필드를 평탄화하고 가변 블록크기에 기반한 움직임 예측기법을 제안하였다. 움직임 벡터 필드의 평탄화는 연결픽셀의 개수를 증가시켜 시간적 필터링의 성능을 향상시키는 역할을 한다. 제안하는 움직임 예측에서는 변형 중간값 연산에 의한 탐색 시작점 결정 및 이후 탐색과정에서 mvt-1을 포함한 주변 블록의 움직임 벡터를 이용하여 움직임 벡터의 상관도를 높이고, 이를 가변 블록크기로 적용함으로써 다중 연결픽셀의 수를 줄여 픽셀 연결성을 향상시킨다. 실험결과 제안한 방법에 의한 MCTF가 움직임이 많고, 방향이 다양한 영상에 대해서 에너지 집중 효율이 최대 30.33%까지 개선되는 것을 확인하였다. 제안한 움직임 예측방법은 효과적인 스케일러블 비디오 부호화를 위하여 핵심적인 역할을 하는 MCTF의 성능을 향상시킴으로써 모바일 응용을 비롯하여 최근의 다양한 분야에 적용할 수 있을 것으로 판단된다.