Advanced
Zoom Motion Estimation Method Using Variable Block-Size
Zoom Motion Estimation Method Using Variable Block-Size
Journal of Broadcast Engineering. 2014. Dec, 19(6): 916-924
Copyright © 2014, The Korean Society of Broadcast Engineers
  • Received : September 19, 2014
  • Accepted : October 16, 2014
  • Published : December 28, 2014
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
순각 권
skkwon@deu.ac.kr
원석 장

Abstract
가변 블록크기를 적용하면 영상의 움직임 추정의 정확도를 향상시킬 수 있다. 그러나, 신축 움직임 추정에는 한계를 갖고 있다. 본 논문에서는 가변 블록크기로 신축 움직임을 추정하는 방법을 제안한다. 제안된 방법은 깊이 카메라로부터 얻어진 깊이 정보로부터 영상의 객체와 배경을 분리하고, 객체에 대해서만 깊이 정보를 이용하여 신축을 적용하며, 배경은 신축을 적용하지 않는다. 또한, 객체영역에는 움직임 추정의 정확도와 발생되는 움직임 벡터를 동시에 고려하여 효율적으로 가변블록 크기 모드가 선택된다. 모의실험을 바탕으로 제안된 방법의 움직임 추정의 정확도와 움직임 벡터수를 측정하였으며, 기존 신축 움직임 추정 방법에 비하여 동일한 움직임 추정의 정확도를 유지하면서 움직임 벡터의 수가 감소함을 확인하였다.
Keywords
Ⅰ. 서론
움직임 추정의 효율성을 증대시키기 위하여 다양한 방법이 연구되고 있다. 가변블록 움직임 추정방법은 움직임 추정의 블록 크기를 고정하지 않고 다양하게 나누어 사용함으로써 영상의 미세한 변화에도 반응하여 정확한 움직임 벡터를 찾아낼 수 있도록 해준다. 그러나, 전송해야 하는 움직임 벡터의 양이 그만큼 늘어나게 되므로 영상 데이터의 압축 효율이 떨어질 수도 있다. H.264 [1] 에서는 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4화소 크기의 7가지 다양한 움직임 추정 블록 모드를 지원하고, HEVC(High Efficiency Video Coding) [2] 에서는 4X8/8x4에서부터 64X64까지 다양한 움직임 추정 블록 모드를 지원한다.
최적의 분할 모드를 결정하기 위하여 일반적으로 트리구조를 이용한 단계별 가변 블록 탐색을 수행한다. 상위 분할 모드들에 대해서 블록 탐색을 수행하고 오류값과 움직임 벡터를 결정한다. 만일 큰 블록의 분할 모드가 선택이 되면 움직임 추정은 종료되고, 작은 블록의 분할 모드가 선택된다면, 또 다시 하위 분할 모드의 블록 탐색을 수행한다. 만일 모두 하위 분할 모드로 수행된다면 상위 분할 모드가 선택되는 경우 보다 4배 이상의 복잡도가 소요되므로 이를 최소할 수 있는 구조가 필요하다.
기존의 가변 블록에 대한 논문들은 분할 모드 선택 과정에서 많은 계산량이 요구되므로 블록 크기 결정 방법에 대한 많은 연구가 진행되었다 [3] [4] . 16x16블록 크기, 8x8블록 크기, 4x4블록 크기의 차신호를 비교하여, 적응적으로 선택함으로써 가변 블록 결정에 소요되는 계산량을 감소시킨 고속 모드 결정 및 H.264를 위한 움직임 추정 방법 [5] , 가변 블록 결정 초기 단계에서 16x16블록 크기에 대한 차신호를 계산하고, SKIP조건이 만족하는지 확인하여, SKIP조건을 만족하면 다른 모드 계산 과정을 제거하는 조기 SKIP모드를 제안한 고속 움직임 추정과 빠른 모드 결정 방법 [6] 등이 제안되었다.
또한, 움직임 추정의 효율성을 증대시키기 위하여 신축 움직임 추정에 대한 다양한 방법이 연구되고 있다. 신축 움직임은 영상의 확대/축소 등에 효율적으로 움직임을 추정하기 위한 것으로서 구현의 복잡도를 줄이기 위한 방법에 대한 연구가 주류를 이루고 있다. 다중 참조 화면을 이용한 신축 움직임 추정 방법 [7] , 블록기반의 고속 스케일링을 이용한 확대 및 축소 움직임 추정 방법 [8] 등이 제안되었다.
본 논문에서는 이전 연구에서 제안한 색상 카메라와 깊이 카메라를 동시에 이용하여 신축 움직임을 추정하는 방법 [9] 에서 객체와 배경 부분으로 분리하고, 객체 부분에 대해서 가변 블록으로 신축 움직임을 추정하는 방법을 제안한다. 객체 부분에는 탐색 블록을 신축 비율에 따라 신축 적용하여 상위 블록크기에 대한 차신호를 계산하고, 하위 블록크기에 대한 차신호와 비교한다. 상위 블록크기에 대한 차신호가 하위 블록크기의 차신호에 비하여 많이 크지않다면, 상위 블록크기 모드로 선택한다. 그렇지 않으면, 하위 블록크기를 더 세분화하고 과정을 반복한다.
본 논문의 구성으로는 2장에서 제안하는 가변 블록크기의 신축 움직임 추정 방법에 대하여 설명하고, 3장에서 모의실험으로 구현된 결과에 대해 설명한다. 마지막으로 4장에서 결론을 맺는다.
Ⅱ. 제안하는 가변 블록크기의 신축 움직임 추정 방법
- 1. 깊이 정보를 이용하여 참조 블록 신축
깊이 정보를 이용한 움직임 추정 방법 [9] 에서 깊이 카메라로부터 깊이 정보와 색상 정보를 얻고, 참조 화면내 참조 블록에 대한 깊이 정보의 평균값을 계산한 후, 현재 블록과 참조 블록에 대한 거리 정보의 평균값으로부터 신축 비율을 결정하는 다음 식을 제안하였다.
PPT Slide
Lager Image
여기서,
PPT Slide
Lager Image
는 현재 화면의 블록의 평균 거리정보,
PPT Slide
Lager Image
는 참조 화면의 블록의 평균 거리정보이고, β는 상수값이다.
식(1)에서 구한 신축 비율은 현재 블록과 참조 블록의 거리 비율에 직접적으로 관계되고,
PPT Slide
Lager Image
>
PPT Slide
Lager Image
이면, S>1로 되어 참조 블록은 확대되고,
PPT Slide
Lager Image
<
PPT Slide
Lager Image
이면, S<1로 되어 참조 블록은 축소된다. 이렇게구해진 신축 비율을 이용 참조 블록에 적용하여 확대 또는 축소하여 움직임 추정 차신 호를 얻는다.
- 2. 깊이 정보를 이용하여 객체와 배경의 분리
깊이 정보를 이용하여 객체와 배경을 분리하는 방법은 이전에 제안한 방식 [10] 을 적용한다. 깊이 정보는 화면내에서 화소별로 구성되며, 화면내 같은 객체는 비슷한 거리에 존재하기 때문에 이웃한 거리의 화소들을 그룹화하고, 라벨링을 수행한다. 라벨링된 화면은 배경영역에는 ‘0’, 첫 번째 객체영역에는 ‘1’, 두 번째 객체영역에는 ‘2’ 등으로 객체 수만큼의 크기 값으로 화소값이 저장된다. 이러한 라벨링 화면에 근거하여 움직임 추정에 필요한 두 개의 블록, 즉, 현재 라벨링화면의 움직임추정 블록과 참조 라벨링화면의 움직임탐색 블록으로부터 배경, 객체 부분을 판단한다. 배경영역은 라벨링 화면내 블록의 화소값이 모두 ‘0’으로 존재하기 때문에 현재 블록과 참조 블록내 화소값을 모두 더하여 ‘0’이 되면 배경영역으로 판단한다. 그렇지 않으면, 객체 영역으로 판단한다. 이렇게 판단된 배경영역에 대해서는 움직임 추정을 적용하지 않는다.
- 3. 가변 블록 크기의 신축 움직임 추정
Fig.1 은 제안하는 가변 블록 크기의 신축 움직임 추정 방법에 대한 흐름도를 나타낸다.
PPT Slide
Lager Image
제안한 방법의 흐름도 Fig 1. Flowchart of proposed method
배경 영역의 경우에는 가장 큰 블록 크기(16X16)로 고정하여 차신호를 구한다.
객체 영역의 경우에는 선택된 현재 블록을 16X16블록 크기를 적용하여 참조 블록 신축하여 움직임추정 척도값 MSE(mse16 표기)을 구한다. 선택된 현재 블록을 쪼개어 8X8블록 4개를 각각 참조 블록을 신축하여 MSE(mse8 표기) 값을 구한다. 이렇게 구해진 MSE값들을 비교하고,
PPT Slide
Lager Image
이면 16X16 블록 크기를 적용한다. 반대로,
PPT Slide
Lager Image
이면 8x8 블록 크기 모드를 적용한다. 여기서, T값은 움직임 벡터를 고려한 값이다. 블록 크기를 줄여 현재 블록의 수가 증가한다면 그만큼 움직임 벡터의 수가 증가하기 때문에 적절하게 T값을 주어야 한다. 본 논문에서는 T값을 40으로 정하였다.
PPT Slide
Lager Image
16x16과 8x8 블록크기 사이의 MSE 비교 Fig 2. Comparison of MSE between 16X16 and 8X8 block sizes
PPT Slide
Lager Image
8x8과 4x4 블록크기 사이의 MSE 비교 Fig 3. Comparison of MSE between 8X8 and 4X4 block sizes
4개의 쪼개진 현재 블록(8X8)들의 MSE값과 움직임 벡터를 고려한 T값을 더하여 현재 블록(16X16)의 MSE 비교하여 현재 블록의 값이 작다면 현재 블록 크기의 값을 적용하고, 쪼개진 블록 크기와 T값의 합이 작다면 쪼개진 블록(8X8)을 다시 살펴보아야 한다.
앞의 쪼개진 4개의 블록 (8X8)을 각각 현재 블록으로 정하고 한 개의 현재 블록을 4개의 쪼개진 (4X4)들의 MSE값(mse4 표기) 움직임 벡터를 고려한 T값을 더하여 현재 블록(8X8)의 MSE값을 비교하며,
PPT Slide
Lager Image
을 만족하면 8x8 모드로 적용한다. 그렇지 않는 경우로서
PPT Slide
Lager Image
을 만족하면, 4x4 모드로 적용한다.
Ⅲ. 모의실험 및 결과
모의실험을 통하여 제안하는 가변 블록크기의 신축 움직임 추정 방법에 대한 성능을 살펴본다. 실험 영상으로는 한 개의 객체와 배경으로 구성된 영상에 대해 수행하였다. 영상 내 화면은 수평 방향으로 640화소, 수직 방향으로 480화소로 구성되어있으며, IBBP구조를 고려하여 3화면씩 건너 뛰어서 P화면만으로 총 17화면을 모의실험에 사용하였다. 움직임 추정 정확도를 평가하기 위하여 현재 화면과 움직임 보상된 화면 사이의 평균 제곱 차이(MSE)값을 사용하였다. 움직임 추정 블록 크기는 객체의 경우 수평 및 수직방향으로 16화소, 8화소, 4화소의 고정블록 크기와 16화소, 8화소, 4화소의 가변 블록 크기를 적용하였다. 탐색영역의 크기는 수평 및 수직방향으로 100화소로서, 부화소 움직임 추정을 적용하였다.
PPT Slide
Lager Image
모의실험에 사용된 화면들 Fig 4. Pictures used in simulation
PPT Slide
Lager Image
화면들의 깊이 정보 Fig 5. Depth information of pictures
Fig. 6 은 기존의 움직임 추정 방법들(미신축 : 신축을 적용하지 방법, 신축 : 고정 블록크기로 깊이 정보를 이용하여 신축을 적용하는 이전 제안 방법 [9] )과 제안하는 가변 블록 크기의 신축 적용 방법(가변 신축)에 대한 움직임 추정 척도 값을 비교한다. 신축을 적용하면 미신축 보다 MSE 값이 많이 줄어듬을 알 수 있고, 고정 신축과 가변 신축은 최소 블록크기가 같은 경우에는 MSE 값이 거의 동일함을 알 수 있다.
PPT Slide
Lager Image
움직임 추정 MSE의 비교 Fig 6. Comparison of motion estimation MSE
Fig. 7 은 움직임 추정 과정에서 선택된 예측 블록들을 표시한 그림이다. 블록크기는 8x8이며, 신축을 적용하지 않은 움직임 추정 과정에서 예측 블록(미신축)과 제안하는 방법의 움직임 예측 과정에서 예측 블록(가변 신축) 비교한다. 그림에서 얼굴과 가슴 부분의 마크를 살펴보면 제안한 방법이 그렇지 않는 방법에 비하여 더욱더 정확하게 예측됨을 알 수 있다. 즉, 신축을 적용하면 더 좋은 차신호를 얻을 수 있는 것을 확인할 수 있다.
PPT Slide
Lager Image
움직임 추정 예측 화면들 Fig 7. Motion estimated prediction pictures
Table 1 은 기존의 신축 움직임 추정 방법으로 구해진 신축 MSE와 제안하는 방법의 MSE 차이를 비교한 표이다. 여기서 살펴보아야 하는 점은 기존 신축 움직임 추정 방법의 8x8블록 크기의 MSE와 제안하는 방법의 가변 블록 16,8모드를 적용한 MSE 값 비교와, 기존 신축 움직임 추정방법의 4x4블록 크기의 MSE와 제안하는 방법의 가변 블록 16,8,4모드를 적용한 MSE 값 비교이다. 이 값들의 차이는 크지 않다. 하지만, 움직임 벡터의 차이는 크다. Table 2 에서는 움직임 벡터의 수를 비교한다.
움직임 추정 MSE의 비교Table 1. Comparison of motion estimation MSE
PPT Slide
Lager Image
움직임 추정 MSE의 비교 Table 1. Comparison of motion estimation MSE
움직임 벡터 개수의 비교Table 2. Comparison for number of motion vector
PPT Slide
Lager Image
움직임 벡터 개수의 비교 Table 2. Comparison for number of motion vector
Table 2 는 기존의 고정 블록크기에 비하여 제안하는 가변 블록크기를 적용하면, 발생되는 움직임 벡터수가 감소되는 비율을 나타낸다. 16, 8 두 가지 블록크기를 가변 블록으로 적용하고, 블록 크기별 움직임 벡터 수와 전체 움직임 벡터 수를 나타내고, 또한, 16, 8, 4의 가변 블록크기로 적용한 경우에 대해서도 나타내고 있다. 움직임 벡터의 변수 값이 (0,0)이 아닌 값들의 수를 나타내고 있다. 제안하는 방법(가변 블록 (16,8)모드, 가변 블록 (16,8,4)모드)이 기존 신축 움직임 추정 방법의 고정 블록 MSE와 차이는 거의 없으나 움직임 벡터 수가 많이 줄어듬을 확인할 수 있다.
Fig. 8 은 움직임 추정 예측 화면의 선택된 블록을 비교 표시한 그림이다. 그림의 (a),(b)는 현재 화면과 이전 화면(참조 화면)이고, 그림 (c)는 가변 블록의 크기를 16과 8로 정하여(16,8 모드) 적용한 결과이다. 16블록 크기가 선택될 경우 블록 안의 화소값을 모두 0으로 변화하여 표시하고, 8블록 크기의 경우에는 움직임 추정 예측 화면을 표시한다. 그림 (d)는 가변 블록의 크기를 16,8,4로 정하여(16,8,4 모드) 적용한 결과이다. 16블록 크기와 8블록 크기는 (16,8)모드와 같게 표시하고 4블록 크기는 화소값을 모드 255로 변화하여 표시하였다.
PPT Slide
Lager Image
신축 움직임 추정 예측에서 선택된 가변블록 종류 Fig 8. Variable block type selected for zoom motion estimated prediction
Ⅳ. 결 론
영상의 신축 움직임은 현재 화면이 참조 화면에서 확대 또는 축소되는 것을 의미한다. 기존 대부분의 연구는 카메라의 색상 정보만을 사용하거나 고정 블록크기를 사용하기 때문에 정확한 신축 움직임 벡터를 추정하는 것에 어려움에 있고, 추정의 복잡도를 줄이는 데에도 한계가 있을 수밖에 없다. 따라서, 본 논문에서는 가변 블록크기와 깊이 카메라를 동시에 이용하여 효율적인 신축 움직임을 추정하는 방법을 제안하였다.
제안한 방법은 기존 깊이 정보를 이용한 움직임 추정 방법에서 고정 블록크기와 비교하여 비슷한 움직임 추정의 정확도를 유지하면서, 발생되는 움직임 벡터수를 많이 줄일 수 있음을 확인하였다. 본 논문에서는 비록 16, 8, 4의 블록크기에 대해서만 적용하였지만, 비대칭 등의 다양한 사항에도 적용이 가능하다. 또한, 논문에서는 깊이 카메라를 이용하여 거리가 비슷한 객체에 대해 같은 번호를 지정하는 라벨링 기법을 사용하고, 거리가 가장 먼 부분을 배경으로 처리하여 객체를 분리한다. 이러한 상황은 모든 환경에 적용하기에는 적합하지 않을 수도 있다. 따라서, 다양한 환경에 적합한 객체추출 방법을 고려하여 제안한 방법의 성능을 극대화하는 추가 연구가 필요할 것이다.
BIO
권 순 각
- 1990년 : 경북대학교 전자공학과 공학사
- 1992년 : KAIST 전기및전자공학과 공학석사
- 1998년 : KAIST 전기및전자공학과 공학박사
- 2001년 ~ 현재 : 동의대학교 컴퓨터소프트웨어공학과 교수
- 주관심분야 : 멀티미디어신호처리, 영상통신
장 원 석
- 2006년 : 경상대학교 해양생산학과 공학사
- 2012년 ~ 현재 : 동의대학교 컴퓨터소프트웨어공학과 석사과정
- 주관심분야 : 컴퓨터응용, 멀티미디어신호처리
References
Kwon S.-k. , Tamhankar A. , Rao K. R. 2006 “Overview of H.264/MPEG-4 Part 10” Journal of Visual Communications and Image Representation 17 (2) 186 - 216    DOI : 10.1016/j.jvcir.2005.05.010
Sullivan J. , Han W.-J. 2012 “Overview of the High Efficiency Video Coding (HEVC) Standard” IEEE Trans. Circuit Syst. Video Technology 22 (12) 1649 - 1668    DOI : 10.1109/TCSVT.2012.2221191
Fu C.-H. , Chan Y.-L. , Siu W.-C. 2006 “Fast Motion Estimation and Mode Decision for H.264 Reverse Transcoding” IEEE Trans. Circuit Syst. Video Technology 42 (24) 1685 - 1386
Yin P. , Jill B. 2003 “Fast Mode Decision and Motion Estimation for H.264” IEEE Trans. Circuit Syst. Video Technology 13 (2) 1246 - 1249
Wang X. , Sun J. , Zheng S. 2008 “Variable Block Size Selection for a Transcoder Based on MB Movement Information” IEEE Trans. Circuit Syst. Video Technology 17 (2) 177 - 180
Lin J.-L. , Chen Y.-W. , Huang Y.-W. 2013 “Motion Vector Coding in the HEVC Standard” IEEE Trans. Circuit Syst. Video Technology 7 (6) 957 - 968
Po L.-M. , Wong K.-M. , Cheung K.-W. , Ng K. H. 2010 “Subsampled Block-Matching for Zoom Motion Compensated Prediction” IEEE Trans. Circuit Syst. Video Technology 20 (11) 1625 - 1637    DOI : 10.1109/TCSVT.2010.2087474
Kim H.-S. , Lee J.-H. , Kim C.-K. , Kim B. G. 2012 “Zoom Motion Estimation Using Block-Based Fast Local Area Scaling” IEEE Trans. Circuit Syst. Video Technology 22 (9) 1280 - 1291    DOI : 10.1109/TCSVT.2012.2198137
Kwon S.-K. , Park Y.-H. , Kwon K.-R. 2013 “Zoom Motion Estimation Using Depth Information” Journal of Korea Multimedia Society 16 (2) 131 - 137    DOI : 10.9717/kmms.2013.16.2.131
Kwon S.-K. , Kim S.-W. 2012 “Motion Estimation Method by Using Depth Camera” Journal of Korea Multimedia Society 17 (4) 676 - 683