A design of CAVLC(Context-Adaptive Variable Length Coding) for H.264

H.264 CAVLC(Context-Adaptive Variable Length Coding)설계

  • Lee, Yong-Ju (Electronic Dept. Graduate School, Woosong University) ;
  • Suh, Ki-Bum (Electronic Dept. Graduate School, Woosong University)
  • Published : 2008.10.31

Abstract

In this paper, we propose an advanced hardware architecture for the CAVLC entropy encoder engine for real time Full HD video compression. Since there are 384 data coefficients which are sum of 376 AC coefficient and 8 DC coefficient per one macroblock, 384 coefficient have to be processed per one macroblock in worst case for real time processing. We propose an novel architecture which includes parallel architecture and pipeline processing, and reduction "0" in AC/DC coefficient table. To verify the proposed architecture, we develop the reference C for CAVLC and verified the designed circuit with the test vector from reference C code.

본 논문에서는 동영상의 실시간 Full HD 영상$(1920{\times}1080@30fps)$ 부호화를 위한 하드웨어 기반의 CAVLC 엔트로피 부호화기 구조를 제안한다 한 매크로 블록 당 AC 계수 376개 와 DC 계수 8개 총 384개의 데이터가 존재 할 수 있다. 실시간으로 처리하기 위해서는 최대 384개의 데이터를 모두 처리해야 한다. 데이터를 효율 적으로 처리하기 위해 병렬 처리, 파이프라인 처리를 사용, 블록당 16개의 데이터 이후의 존재하는 불필요한 '0' 제거로 동작 cycle를 최소화하였다. 설계된 모듈은 한 매크로 블록당 최대의 384개의 데이터를 469cycle로 처리한다. CAVLC 구조를 검증하기 위하여 JM 9.4부터 reference C를 개발하였으며, reference C로부터 test vector를 추출하여 설계 된 회로를 검증하였다.

Keywords