초록
인터 예측의 핵심 요소는 ME와 MC이다. ME는 SAD(Sum of Absolute Difference)와 같은 정합기준을 사용하는 것뿐만 아니라 비트스트림의 최종 비트수에 따라서 최적의 움직임 벡터를 찾는다. 인터 예측부호화는 고화질의 실시간 비디오 응용에 있어서 언제나 주된 병목을 초래한다. 따라서 실시간 비디오 응용에서는 인터 예측을 수행하는 고속의 전용 하드웨어를 필요로 한다. 본 논문에서는 H.264/AVC의 움직임 추정기를 연구하였다. 설계된 움직임 추정기는 2-D 시스토릭 배열 기반으로 기본 처리기 요소를 병렬로 연결하여 SAD 값을 빠르게 계산한다. 참조데이터를 상위영역과 하위영역으로 나누어 각각의 연결선을 두고 입력 시퀀스를 조절하여 파이프라인 중지 없이 연속적인 연산을 수행한다. 데이터 재사용 기법을 통하여 메모리 엑세스를 줄였고 특별한 지연 없이 최소의 SAD를 갖는 파티션을 찾아내어 움직임 벡터를 생성하게 하였다. 설계된 움직임 추정기는 가변 블록 크기를 지원하며 하나의 매크로블록의 연산을 하는데 328 사이클이 소요된다. 논문 [6]이 로컬메모리를 사용하는 것과 달리, 본 논문은 로컬메모리를 사용하지 않는다.
The key elements of inter prediction are motion estimation(ME) and motion compensation(MC). Motion estimation is to find the optimum motion vectors, not only by using a distance criteria like the SAD, but also by taking into account the resulting number of 비트s in the 비트 stream. Motion compensation is compensate for movement of blocks of current frame. Inter-prediction Encoding is always the main bottleneck in high-quality streaming applications. Therefore, in real-time streaming applications, dedicated hardware for executing Inter-prediction is required. In this paper, we studied a motion estimator(ME) for H.264/AVC. The designed motion estimator is based on 2-D systolic array and it connects processing elements for fast SAD(Sum of Absolute Difference) calculation in parallel. By providing different path for the upper and lower lesion of each reference data and adjusting the input sequence, consecutive calculation for motion estimation is executed without pipeline stall. With data reuse technique, it reduces memory access, and there is no extra delay for finding optimal partitions and motion vectors. The motion estimator supports variable-block size and takes 328 cycles for macro-block calculation. The proposed architecture is local memory-free different from paper [6] using local memory. This motion estimation encoder can be applicable to real-time video processing.