Abstract
In this paper, an H.263 video codec is implemented by adopting the concept of hardware and software co-design. Each module of the codec is investigated to find which approach between hardware and software is better to achieve real-time processing speed as well as flexibility. The hardware portion includes motion-related engines, such as motion estimation and compensation, and a memory control part. The remaining portion of theH.263 video codec is implemented in software using a RISC processor. This paper also introduces efficient design methods for hardware and software modules. In hardware, an area-efficient architecture for the motion estimator of a multi-resolution block matching algorithm using multiple candidates and spatial correlation in motion vector fields (MRMCS), is suggested to reduce the chip size. Software optimization techniques are also explored by using the statistics of transformed coefficients and the minimum sum of absolute difference (SAD)obtained from the motion estimator.
이 논문에서는 하드웨어와 소프트웨어의 통합 설계에 의한 H.263 동영상 코덱을 구현한다. 동영상의 부호화와 복호화를 실시간으로 수행하기 위해 동작 속도 및 응용성을 동시에 고려하여 H.263 코덱의 각 부분 중 어느 부분이 하드웨어 또는 소프트웨어로 구현된는 것이 바람직한지 결정하였다. 하드웨어로 구현하는 부분은 움직임 추정부 및 보상부와 메모리 제어부이고, 나머지 부분은 RISC (reduced instruction set computer) 프로세서를 사용하여 소프트웨어로 처리한다. 이 논문에서는 하드웨어 및 소프트웨어 모듈의 효과적인 구현 방법을 소개한다. 특히 하드웨어로 구현되는 움직임 추정부를 위해서 주변 움직임 변위의 상관성 및 계층적 탐색을 이용한 다수의 움직임 후보를 가지고 알고리즘을 사용하였으며, 이 알고리즘에 기반한 소면적 구조를 제안한다. 소프트웨어로 처리되는 DCT (discrete cosine transform) 부분의 최적화를 위해서 움직임 추정부에서 얻어진 SAD (sum of absolute difference) 값에 근거하여 DCT 이후 양자화된 계수들의 통계적 특성을 분류하는 기법을 사용한다. 제안된 방법을 실제 RISC 프로세서와 gate array를 이용하여 구\ulcorner하고, 그 성능이 우수함을 확인하였다.