In a video encoding system, motion estimation plays a key role to improve coding efficiency. In the motion estimation, the large amount of external memory access results in large power consumption and performance degradation. The conventional search area reuse algorithm reuses data of search area in on-chip memory by a fixed search center so that it can reduce the amount of external memory access. However, it causes the large coding efficiency degradation in fast motion video sequence. Moreover, in multiple reference frame motion estimation (MRF-ME), this algorithm requires large size of on-chip memory to store data of search areas in all reference frames. In this thesis, we propose the selective search area reuse (SSAR) algorithm which reuses search area only if the change of motion vectors is small. The algorithm not only reduces the amount of memory access like the conventional reuse algorithm, but also prevents coding efficiency degradation by tracking real motions. In addition, we propose the frame-level dynamic search range algorithm based on the SSAR algorithm. The number of MBs, which have a larger motion vector than a search range, is utilized as the condition to increase or decrease a search range. Then, we extend our algorithm to MRF-ME by changing the search order of reference frames and the search center in it. This algorithm can gradually reduce the amount of memory access according to the number of on-chip memories. Finally, we propose the SSAR algorithm in MRF-ME with on-chip memory usage switching method based on the dynamic search range algorithm. In this algorithm, we make use of the unused region of the on-chip memory as multiple on-chip memories for search area in multiple reference frames when a search range is small. By using these algorithms, we prevented quality degradation of 0.78dB with 10.14% memory access overhead in fast motion video sequence. And, we achieved memory access reduction between 27.79% and 54.71% depending on the number of on-chip memories in MRF-ME. Based on the dynamic search range algorithm and the on-chip memory usage switching method, our algorithm showed high data reuse ratio while maintaining similar coding efficiency without additional size of on-chip memory.
움직임 추정은 동영상 압축에서 압축 효율을 높이기 위한 핵심 기술이다. 움직임 추정기에서 탐색영역의 데이터를 가져오기 위한 많은 외부 메모리 액세스 양은 높은 전력소모와 전체 시스템의 성능 저하를 가져온다. 기존의 방법은 탐색영역을 압축할 블록의 주변으로 고정시킴으로써 탐색영역의 데이터를 내부 메모리에서 재사용할 수 있게 하였다. 그러나, 이러한 탐색영역 재사용 방법은 움직임이 큰 동영상에서 큰 화질 저하를 발생시킨다. 더불어, 여러 장의 참조 프레임을 사용하는 경우 탐색영역의 재사용을 위한 많은 내부 메모리를 요구하게 된다.
본 학위논문에서는 화질 저하를 최소로 하면서 외부 메모리 액세스를 크게 감소시키는 탐색영역의 선택적 재사용 방법을 제안한다. 제안하는 방법은 움직임의 변화가 작은 경우에 대해서만 탐색영역을 재사용하고 움직임의 변화가 큰 경우에는 탐색영역이 움직임을 따라가도록 하였다. 더불어 움직임의 크기에 따라 프레임 단위로 탐색영역의 크기를 동적으로 변경하여, 요구되는 데이터의 양을 줄였다. 다음으로, 탐색영역의 선택적 재사용 방법을 참조 프레임이 여러 장인 경우로 확장하여 적용하였다. 참조 프레임의 탐색순서와 탐색위치를 변경함으로써, 내부 메모리 개수에 따라 데이터 전송량을 추가적으로 감소시켰다. 마지막으로, 제한된 내부 메모리를 효율적으로 사용하기 위해, 탐색영역이 작은 경우에 사용되지 않는 내부 메모리를 여러 장의 참조 프레임에 있는 탐색영역들을 위한 메모리로 사용하였다. 제안하는 탐색영역의 선택적 재사용 방법은 10.14%의 데이터 전송량 증가로 움직임이 큰 동영상에서 발생하는 0.78dB 의 화질 손상을 방지하였으며, 여러 장의 참조 프레임을 사용하는 경우 내부 메모리 개수에 따라 27.79% ~ 54.71% 의 데이터 전송량을 감소시켰다. 더불어 탐색영역 크기를 동적으로 변경시키고, 효율적인 내부 메모리 사용방법을 통해, 화질 손상을 최소화하면서도 추가적인 메모리없이 외부 메모리로부터의 데이터 전송량을 줄일 수 있었다.