Abstract
In this paper, we implement the H.264/AVC baseline decoder by hardware-software partitioning under the embedded Linux Kernel 2.4.26 and the FPGA-based target board with ARM926EJ-S core. We design several IPs for the time-demanding blocks, such as motion compensation, deblocking filter, and YUV-to-RGB and they are communicated with the host through the AMBA bus protocol. We also try to minimize the number of memory accesses between IPs and the reference software (JM 11.0) which is ported in the embedded Linux. The proposed IPs and the system have been designed and verified in several stages. The proposed system decodes the QCIF sample video at 2 frame per second when 24MHz of system clock is running and we expect the bitter performance if the proposed system is designed with ASIC.
본 논문에서는 H.264AVC baseline 디코더를 ARM926EJ-S 코어를 탑재한 FPGA(XC4VLX60)기반의 타겟 보드와 임베디드용 Linux Kernel 2.4.26의 개발환경에서 SW/HW 분할을 통해 설계 및 구현하였다. 하드웨어 가속기로는 움직임 보상 모듈 디블록킹 필터 모듈, YUV2RGB 변환 모듈을 사용하였으며 AMBA 버스 프로토콜을 통하여 소프트웨어와 함께 동작한다. 참조 소프트웨어(JM 11.0)를 OS(Linux)상에서 하드웨어 가속 모듈을 추가하고 메모리 접근 등을 최소화함으로써 성능을 향상시키고자 노력하였다. 설계된 하드웨어 IP와 시스템은 여러 단계로 검증하였으며 시스템의 복호화 속도 개선을 도모하였다. QCIF (176$\times$144) 영상을 24MHz의 클록 주파수의 타겟 보드상에서 약 2 frames/sec의 결과를 얻었으며 타겟 보드의 주파수를 증가시키고 FPGA영역의 IP를 ASIC으로 구현하면 더 좋은 성능을 기대할 수 있다.