1. 서 론
비약적인 멀티미디어 시스템의 발달로 실감 미디어 콘텐츠에 대한 수요가 급증하고 있고 다양한 멀티미디어 콘텐츠를 사용자에게 제공할 수 있게 되었다[1]. 이에 따라 3차원 비디오의 중요성이 커지고 있으며 다시점 비디오는 3차원 영상에 대한 다양한 사용자의 요구를 충족시킬 수 있는 대안으로 주목받고 있다.
다시점 비디오는 여러 개의 카메라로 동시에 하나의 3차원 장면을 촬영한 동영상의 집합으로 다시점 비디오는 사용자에게 임의 시점을 제공하며 여러 시점의 영상들을 합성하여 보다 넓은 화면을 제공할 수 있다. 그러나 다시점 비디오는 카메라의 수에 비례하여 데이터의 양이 증가하므로 다시점 비디오를 효율적으로 부호화하는 기술이 필요하다[2].
다시점 비디오 부호화는 영상들 사이에 존재하는 시간적 상관성과 공간적 상관성을 이용하여 영상들 사이에 존재하는 중복된 데이터를 제거함으로써 데이터를 압축한다. 중복된 데이터들을 제거하기 위하여 움직임 추정을 수행한다.
영상 화질과 인코더의 속도에 영향을 주는 움직임 추정은 동영상 압축에서 중요한 역할을 하지만 전체 인코더에서 많은 계산량을 요구한다. 움직임 추정에 소요되는 계산량을 줄이기 위하여 다음과 같은 고속 움직임 추정 기법들이 제안되었다. 대표적인 고속 움직임 추정 기법에는 3단계 탐색(Three Step Search: TSS)[3], 새로운 3단계 탐색(New Three Step Search: NTSS)[4], 2차원 로그형 탐색(2 Dimension LOGarithmic search:2DLOG)[5], 4단계 탐색(Four Step Search:4SS)[6], 다이아몬드 탐색(Diamond Search: DS) [7,8], 2단계 탐색(2 Step Search:2SS) [9,10], 움직임 벡터를 추정하는 움직임 벡터 필드 적응적 탐색 기법(MVFAST)[11], 육단계 탐색 기법(Hexagonal Search:HS)[12] 그리고 예측된 움직임 벡터 필드 적응적 탐색기법(PMVFAST)[13]등이 있다.
고속 움직임 추정 기법[3-13]들은 움직임이 작은 영상이나 영상 크기가 작은 경우에 움직임 벡터 추정을 잘 수행하지만 영상의 움직임이 크거나 영상의 크기가 큰 경우에 움직임 추정 시 국부적 최소화 문제에 빠지게 되므로 정확한 움직임 벡터를 추정할 수 없으므로 영상 화질 저하를 가져온다. 영상의 움직임이 크거나 영상 크기가 상대적으로 큰 영상에서 움직임 벡터 추정을 잘 수행할 수 있는 비대칭 다중 육각형 탐색 기법[14]을 사용하여 화질 저하를 개선하였다.
위에서 나열한 기법[3-14]들은 일반적으로 단일 시점 영상에서 사용되는 움직임 추정 기법이다. 다시 점 비디오를 압축할 때 사용되는 고속 움직임 추정 기법에는 TZ 기법[15] 그리고 TZH 기법[16][18] 등이 있다. TZ 기법은 초기에 탐색 영역 전역에 탐색점들을 배치해 움직임이 작은 블록에 대해 불필요한 탐색 점들을 검사함으로써 많은 계산량을 요구한다. TZH 기법은 TZ 기법의 계산량을 줄이기 위하여 TZ 기법에서 사용하고 있는 다이아몬드 그리드 패턴 대신 육각형 그리드 탐색 패턴을 이용하였다.
본 논문에서는 다시점 비디오 부호화를 위한 움직임 추정의 계산량을 줄이면서 화질을 유지하는 움직임 추정 기법을 제안한다. 제안한 움직임 추정 기법은 움직임 벡터의 분포 특성을 이용한 계층적 움직임 추정 기법으로 다중 사각형 탐색 패턴, 래스터 탐색 패턴, 수정된 다이아몬드 탐색 패턴[17] 그리고 작은 다이아몬드 탐색[7,8]으로 이루어져있다. 다중 사각형 탐색 패턴은 움직임 벡터가 탐색 영역의 중심부분에 많이 분포하는 사실을 이용하여 탐색 점들을 배치한다. 본 논문에서 제안된 움직임 추정 기법은 국부적 최소화 문제를 해결하기 위하여 탐색 영역 내에 탐색 점들을 규칙적, 대칭적으로 배치한다. 그리고 블록 움직임의 크기에 따라 적절한 탐색 패턴을 사용함으로써 움직임 추정 계산량을 줄였다. 특히, 움직임이 작은 블록에 대하여 불필요한 탐색 점들을 줄임으로써 초기에 움직임 추정을 마친다.
본 논문의 구성은 다음과 같다. 2장에서는 JMVC의 고속 움직임 추정 기법인 TZ 기법에 대하여 설명하고, 3장에서는 본 논문에서 제안한 움직임 추정 기법을 기술한다. 그리고 4장에서는 TZ 기법, TZH 기법 그리고 FS 기법과 성능을 비교한 후, 마지막으로 5장에서는 결론을 맺는다.
2. TZ기법
JMVC의 고속 움직임 추정 기법은 TZ 기법이다. TZ 기법의 탐색 패턴들은 그림 1과 같다. TZ 기법은 다음과 같은 알고리즘을 수행하여 움직임 벡터를 추정한다.
그림 1.TZ 기법의 탐색 패턴들. (a) Initial grid search pattern (stride length 16), (b) Raster search pattern (raster length=3)
[단계1]: 움직임 벡터 예측(Motion Vector Prediction)
메디안 예측, 상위 모드를 이용한 예측, 이전 화면의 대응 블록을 이용한 예측, 이웃한 참조 화면을 이용한 예측들을 사용하여 초기 탐색 시작점을 결정한다.
[단계2] : 초기 그리드 탐색 (Initial Grid search)
초기 탐색 시작점을 탐색의 원점으로 초기 그리드 탐색 패턴을 사용한다. 초기 그리드 탐색 패턴 stride length의 범위는 1, 2, 4, 8, 16, 32, 64이다. 그림 1(a)는 stride length가 16인 초기 그리드 탐색 패턴이다. 그림 1(a)와 같은 방법으로 탐색 범위에 탐색 점들을 배치한다. 탐색 점들 중 최소 비용함수 값을 가지는 점이 [단계2]의 최적 탐색점이다.
[단계3] : 초기 탐색 시작점과 [단계 2]의 최적 탐색점 사이의 거리(uiBestDistance)를 구한다.
uiBestDistance가 0이면 초기 탐색 시작점을 움직임 벡터로 추정하고 움직임 추정을 마친다. 만약 uiBestDistance가 래스터 탐색의 iRaster (stride length) 보다 크면 [단계4]를 수행하고 그렇지 않으면 [단계5]를 수행한다.
[단계4] : 래스터 탐색 (Raster search)
그림 1(b)는 raster length가 3인 래스터 탐색 패턴이다. 그림 1(B)와 같은 방법으로 탐색 영역 내에 탐색 점들을 배치한다. 탐색 점들 중 최소 비용 함수값을 가지는 점이 [단계4]의 최적 탐색점이다.
[단계5] : 정교한 탐색 (Refinement search)
탐색 시작점을 변경한 후 [단계2]의 초기 그리드 탐색을 수행한다. 탐색 점들 중 최소 비용함수 값을 가지는 점이 [단계5]의 최적 탐색점이다. 그리고 변경된 탐색 시작점과 [단계 5]의 최적 탐색점 사이의 거리(uiBestDistance)를 구한다. uiBestDistance가 0이면 [단계5]의 최적 탐색점을 움직임 벡터로 추정하고 움직임 추정을 마친다. 그렇지 않으면 [단계5]를 반복 수행한다.
3. 제안한 예측구조
TZ 기법에서 사용하는 초기 그리드 탐색은 탐색 영역 전역에 탐색 점들을 배치한 후 최적의 탐색 점을 찾고 래스터 탐색 역시 탐색 영역 전역에 탐색 점들을 수직, 수평 방향으로 배치하여 최적의 탐색 점을 찾는다. 이것은 초기 그리드 탐색에서 iRaster(래스터 탐색의 탐색 길이: 3) 보다 큰 탐색 영역에 있는 탐색 점들을 검사할 필요가 없다는 것을 의미한다. 즉, 탐색 시작점과 최적의 탐색점 사이의 거리(uiBestDistance)가 iRaster보다 큰 경우, 래스터 탐색을 수행할 때 초기 그리드 탐색 점들이 배치된 영역에 탐색 점들을 배치하여 검사하기 때문이다.
본 논문에서 제안한 다중 사각형 탐색 패턴은 움직임 추정 초기에 탐색 영역의 원점을 중심으로 4픽셀 이내에 탐색 점들을 배치하여 움직임 벡터를 추정하는데 이는 다음과 같은 실험 결과를 이용하였다. 여러 영상에서 움직임 벡터들을 조사한 결과. 움직임 벡터가 탐색 영역의 원점을 중심으로 반경 1화소이내, 2화소이내, 3화소 이내 그리고 4화소 이내에 분포할 확률을 계산한 결과는 표 1와 같다. 그림 2(a)의 다중 사각형 탐색 패턴은 표 1에서와 같이 움직임 벡터가 탐색 영역의 중심부분에 많이 분포한다는 사실을 이용하여 움직임 추정 초기에 탐색 영역의 중심부분에 탐색 점들을 배치하여 움직임 벡터를 추정함으로써 움직임이 작은 블록에서 빠르게 움직임 벡터를 추정할 수 있다. 즉 제안한 다중 사각형 탐색 패턴은 움직임 추정 초기에 탐색 영역의 원점을 중심으로 4픽셀 이내에 탐색 점들을 배치하여 움직임 벡터를 추정함으로써 움직임이 작은 블록에서 초기에 움직임 추정을 종료할 수 있고 iRaster+1인 탐색 영역 내에만 탐색 점들을 배치함으로 중복된 탐색 점들의 수를 줄임으로 계산량을 줄였다.
표 1.움직임 벡터 분포
그림 2.제안한 기법의 탐색 패턴들. (a) Multi-grid Square search pattern, (b) Small Diamond search pattern, (c) Modified Diamond search pattern, (d) Raster search.
움직임이 큰 영상에서는 다중 사각형 탐색 패턴을 수행한 후 래스터 탐색 패턴을 사용하여 움직임 추정을 수행하는데, 제안한 움직임 추정 기법에서 사용하는 그림 2(d)의 래스터 탐색 패턴은 기존의 래스터 탐색 패턴의 iRaster(래스터 탐색의 탐색 길이: 3)를 iRaster+2로 증가시켰다. iRaster를 5로 증가시킴으로 움직임 추정 시, 적은 탐색 점들을 사용하여 움직임 벡터가 존재할 가능성이 높은 위치를 추정한다.
그리고 TZ 탐색 기법의 정교한 탐색은 uiBest-Distance가 0이 될 때까지 초기 그리드 탐색 패턴을 반복 수행하는데, 이 때 불필요한 탐색 점들을 배치하고 검사한다. 이러한 문제점을 해결하기 위하여 제안한 움직임 추정 기법은 그림 2(b)와 같은 작은 다이아몬드 탐색 패턴 또는 그림 2(c)와 같이 탐색 영역의 원점을 중심으로 반경 2화소 이내에 움직임 벡터가 분포할 확률이 약 56%(블록의 움직임이 큰 영상)∼98%(블록의 움직임이 작은 영상)[7,17]이라는 사실을 이용한 수정된 다이아몬드 탐색 패턴을 사용하였다.
제안한 움직임 추정 기법은 블록 움직임의 크기에 따라 적응적으로 탐색 패턴을 사용함으로써 움직임 추정 계산량을 줄였다. 제안한 움직임 추정 기법은 그림 2(a)의 다중 사각형탐색 패턴, 그림 2(b)의 작은 다이아몬드 탐색 패턴, 그림 2(c)의 수정된 다이아몬드 탐색 패턴 그리고 그림 2(d)의 iRaster가 5인 래스터 탐색 패턴으로 구성된다. 제안한 움직임 추정기법의 알고리즘 순서도는 그림 3와 같고 다음과 같은 알고리즘을 수행하여 움직임 벡터를 추정한다.
그림 3.제안한 기법의 순서도
[단계1] 움직임 벡터 예측(Motion Vector Prediction)
메디안 예측, 상위 모드를 이용한 예측, 이전 화면의 대응 블록을 이용한 예측, 이웃한 참조 화면을 이용한 예측들을 사용하여 초기 탐색 시작점을 결정한다.
[단계2] 다중 사각형 탐색 패턴(Multi-grid Square Search)
그림 2(a)의 다중 사각형 탐색 패턴을 이용하여 초기 탐색 시작점 주위에 탐색 점들을 배치한다. 탐색 점들 중 최소 비용함수 값을 가지는 점이 [단계2]의 최적 탐색점이다.
[단계3]
초기 탐색 시작점과 [단계 2]의 최적 탐색점 사이의 거리(uiBestDistance)를 구한다. uiBestDistance가 1이하인 경우 [단계2]의 최적 탐색 점을 움직임 벡터로 추정하고 움직임 추정을 마친다. 만약 uiBest-Distance가 래스터 탐색의 iRaster (stride length) 보다 크면 [단계5]를 수행하고 그렇지 않으면 [단계4]를 수행한다.
[단계4] 작은 다이아몬드 탐색(Small Diamond search)
탐색 시작점을 변경한 후 작은 다이아몬드 탐색을 수행한다. 탐색 점들 중 최소 비용함수 값을 가지는 점을 움직임 벡터로 추정하고 움직임 추정을 마친다.
그림 4.실험 영상(위에서부터 Uli, Ballroom, Race1, Exit, Flamenco2)
[단계5] 래스터 탐색(Raster search)
iRaster의 크기를 iRaster+2로 변경한 후, 그림 2(d)와 같은 방법으로 탐색 영역 내에 탐색 점들을 배치하여 래스터 탐색을 수행한다. 탐색 점들 중 최소 비용함수 값을 가지는 점을 [단계5]의 최적 탐색점이라 한다.
[단계6] 수정된 다이아몬드 탐색
탐색 시작점을 변경한 후 수정된 다이아몬드 탐색을 수행한다. 탐색 점들 중 최소 비용함수 값을 가지는 점이 [단계6]의 최적 탐색점이다. 그리고 변경된 탐색 시작점과 [단계 6]의 최적 탐색점 사이의 거리(uiBestDistance)를 구한다. uiBestDistance가 0이면 [단계6]의 최적 탐색점 움직임 벡터로 추정하고 움직임 추정을 마친다. 그렇지 않으면 [단계6]를 최대 2회까지 반복 수행한다.
4. 실험 결과
제안하는 예측 구조의 성능을 확인하기 위하여 제안하는 예측 구조를 JMVM 6.0에서 구현하였다. 실험 영상으로 640×480크기의 Exit, Ballroom, Race1, Flamenco2와 1024×768크기의 Uli를 사용하였다. Exit, Ballroom, Race1, Uli는 1차원 배열의 영상이고 Flamenco2는 2차원 배열 영상이다. 실험조건은 표 2에 나타내었다.
표 2.실험 조건
제안한 기법, TZ 탐색 기법 그리고 TZH[16]의 평균 화질과 비트량을 표 3에 나타내었고 BD-PSNR과 BD-BitRate를 표 4에 제시하였다. 제안한 기법, TZ 그리고 TZH 탐색 기법의 움직임 추정 시간을 표 5에 나타내었다. Ballroom과 Exit에서 제안한 기법은 TZ 탐색 기법보다 움직임 추정의 계산량를 약 45% 감소시킨다. 영상 화질은 각각 0.372(dB), 0.24(dB) 저하를 보이고 발생 비트량은 각각 10.02Kbps, 11.33Kbps 증가한다. Uli에서 제안한 기법은 TZ 탐색 기법보다 영상 화질은 약 0.05(dB) 저하, 비트량은 1.25Kbps 증가하지만 움직임 추정 계산량은 약 70% 감소시킴으로 약 3.3배 빠르게 움직임 벡터를 추정할 수 있었다. Flamenco2에서 제안한 기법은 TZ 탐색 기법보다 영상 화질은 약 0.2(dB) 저하, 비트량은 4.6Kbps 증가하지만 약 2.5배 정도 빠르게 움직임 벡터를 추정한다. 그리고 Race1에서 제안한 기법은 TZ 탐색 기법보다 영상 화질은 약 1.2(dB) 저하, 비트량은 30.57Kbps 증가하지만 약 4.5배 정도 빠르게 움직임 벡터를 추정한다.
표 3.실험결과 - 화질과 비트량
표 4.BDSNR과 BDBitrate
표 5.Comparison values of total motion estimation time
Exit, Ballroom, Flamenco2, Race1 그리고 Uli에서 제안한 기법은 움직임 추정 계산량을 50% 감소시킴으로 TZH탐색 기법보다 약 2배 빠르게 움직임 벡터를 추정한다. Exit, Ballroom, Flamenco2, Race1 그리고 Uli에서 제안한 기법은 TZH 탐색 기법보다 각각 0.3(dB), 0.3(dB), 0.1(dB), 0.9(dB), 0.03(dB) 화질 저하를 보이고 비트량은 각각 12.72Kbps, 8.4Kbps, 2.7Kbps, 23.0Kbps, 2.7Kbps 증가한다.
Exit, Ballroom, Flamenco2, Race1 그리고 Uli 영상에서 제안한 기법은 TZ 탐색 기법과 TZH 탐색 기법보다 약 2∼3.3배 빠르게 움직임 벡터를 추정하고 비슷한 영상 화질과 발생 비트량을 보인다.
QP 37일 때 Ballroom 영상에서 제안한 기법과 FS 기법의 화질, 비트량 그리고 움직임 추정 시간을 표 6에 나타내었다. 제안한 기법은 FS 기법보다 영상 화질은 약 0.13(dB) 저하, 비트량은 약 28.84Kbps 증가하지만 움직임 추정 계산량을 약 98% 감소시킴으로 약 90배 정도 빠르게 움직임 벡터를 추정한다.
표 6.Ballroom 실험결과 (QP:37)
5. 결 론
본 논문에서는 다시점 비디오의 움직임 추정에 소요되는 계산량을 줄이면서 화질과 발생되는 비트량을 유지하기 위한 효과적인 초기 종료 움직임 추정 기법을 제안하였다. 제안한 기법은 움직임 벡터의 분포 특성을 이용한 계층적인 탐색 기법으로 다중 사각형 탐색 패턴, 래스터 탐색 패턴, 수정된 다이아몬드 탐색 패턴 그리고 작은 다이아몬드 탐색으로 이루어져있다.
본 논문에서 제안한 기법의 성능을 TZ 기법, TZH 기법 그리고 FS 기법의 성능과 비교하였을 때, 영상 화질과 비트량을 비슷하지만 움직임 추정 계산량을 줄임으로서 움직임 추정 속도를 각각 약 1.7∼4.5배, 약 2배 그리고 약 90배 향상시킨다.
참고문헌
- A. Smolic, K. Mueller, P. Merkle, C. Fehn, P. kauff, P. Eisert, and T. Wiegand, "3D Video and Free Viewpoint Video-Technologies, Applications and MPEG Standards," Proc. the IEEE International Conference on Multimedia and Exposition, 2006. pp. 2161-2164.
- Vision on 3D Video, ISO/IEC JTC1/SC29/ WG11 N10357, 2009.
- T. Koga, K. Iinuma, A. Hirano, and Y. Ishiguro, "Motion Compensated Interframe Coding for Video Conference," Proc. the NTC81, pp. G5.3.1-5.3.5, 1981.
- R. Li, B. Zeng, and M.L. Liou, "A New Three Step Search Algorithm for Block Motion Estimation," IEEE Trans. on Circuits and System for Video Technology, Vol. 4, No. 4, pp. 438-441, 1994. https://doi.org/10.1109/76.313138
- J.R. Jain and A.K. Jain, "Displacement Measurement and Its Application in Interframe Image Coding," IEEE Trans. on Communications, Vol. 29, No. 12, pp. 1779-1808, 1981.
- L.M. Po and W.C. Ma, "A Novel Four Search Algorithm for Block Motion Estimation," IEEE Transactions on Circuit and Systems for Video Technology, Vol. 6, Issue 3, pp. 313-317, 1996. https://doi.org/10.1109/76.499840
- J.Y. Tham, S. Ranganath, and A.A. Kassim, "A Novel Unretricted Center-Biased Diamond Search Algorithm for Block Motion Estimation," IEEE Transactions on Circuits and Systems for Video Technology, Vol. 8, Issue 4, pp. 369-377, 1998. https://doi.org/10.1109/76.709403
- S. Zhu and K.K. Ma "A New Diamond Search Algorithm for Fast Block Matching Motion," IEEE Transaction on Image Processing, Vol. 9, No. 2, pp. 287-290, 2000. https://doi.org/10.1109/83.821744
- Yuk Ying Chung, Neil W. Bergmann, "Fast Search Block Matching Motion Estimation Algorithm using FPGA," Proc. the SPIE, Visual Communications and Image Processing, Vol. 4067, pp. 913-921, 2000.
- Danian Gong and Yun He, "Fast Motion Estimation Algorithm using Horizontal and Multi-grid Search Strategy," Picture Coding Symposium, pp. 362-365, 2001.
- Prabhudev Irappa Howur and K.K. Ma, Report on Performance of Fast Motion Estimation using Motion Vector Field Adaptive Search Technique, ISO/IEC/JCTI/ SC29/WG11 M5453, 1999.
- Ce Zhu, Xion Lin, and Lau-Pui Chau, "Hexagon Based Search Pattern for Fast Block Motion Estimation," IEEE Transactions on Circuits and Systems for Video Technology, Vol. 12, No.5, pp. 349-355, 2002. https://doi.org/10.1109/TCSVT.2002.1003474
- A.M. Tourapis, O.C. Au, and M.L. Liou, Fast Block Matching Motion Estimation using Predictive Motion Vector Field Adaptive Search Technique, ISO/IEC/JCTI/SC29/ WG11 MPEG2000/M5866, 2000.
- Z. Chen, P. Zhou, and Y. He, "Fast Integer Pel and Fractional Pel motion Estimation in for JVT" in JVT of ISO/ICE/ MPEG and ITU-T VCEG, 6th Meeting, 2002.
- Tang Xiu-li, Dai Sheng-kui, Cai Can-hui, "An Analysis of TZSearch Algorithm in JMVC," International Conference on Green Circuits and System, pp. 516-519, 2010.
- N. Purnachand, Luis Nero Alves, and Antonio Navarro, "Improvements to TZ Search Motion Estimation Algorithm for Multiview Video Coding," Proc. the IWSSIP , pp. 388-391, 2012.
- H.S Yoon and G.S Lee, "Adaptive Motion Estimation Method using Temporal Correlation," The KIPS Transactions: Part B, Vol. 9, No. 2, pp. 199-204, 2004.
- 윤효순, 김미영 "다시점 비디오 부호화를 위한 저 복잡도 움직임 추정 탐색 기법", 한국 멀티미디어학회논문지, Vol. 16, No. 5, pp.539-548 https://doi.org/10.9717/kmms.2013.16.5.539
피인용 문헌
- Temporal Prediction Structure and Motion Estimation Method based on the Characteristic of the Motion Vectors vol.18, pp.10, 2015, https://doi.org/10.9717/kmms.2015.18.10.1205