H.264/AVC를 위한 고성능 CAVLC 부호화기 하드웨어 설계

Hardware Design of High Performance CAVLC Encoder

  • 이양복 (한밭대학교 정보통신공학과) ;
  • 류광기 (한밭대학교 정보통신공학과)
  • Lee, Yang-Bok (Department of Information and Communication Engineering, Hanbat National University) ;
  • Ryoo, Kwang-Ki (Department of Information and Communication Engineering, Hanbat National University)
  • 투고 : 2011.12.23
  • 심사 : 2012.03.07
  • 발행 : 2012.03.25

초록

본 논문에서는 H.264/AVC 부호화기의 성능 향상을 위해 고성능 CAVLC 부호화기의 하드웨어 구조를 제안한다. 기존의 CAVLC 부호화기는 변환계수의 재정렬 과정이 포함되어 변환계수를 저장해야 할 버퍼와 버퍼제어를 위한 추가적인 사이클이 필요하므로 하드웨어 면적이 증가하고 불필요한 사이클이 수행된다. 제안한 CAVLC는 CAVLC의 파라미터 중에 Runbefore를 순방향 탐색기법으로 계산하고 그 외 파라미터들은 역방향 탐색기법으로 계산하여 변환계수의 재정렬 과정을 수행하지 않는다. 또한, 제안한 CAVLC 부호화기에 조기 종료 모드를 적용하고 2단 파이프라인 구조를 사용하여 CAVLC의 수행 사이클 수를 감소시켰다. 제안한 CAVLC 부호화기의 하드웨어 구조를 매그나칩 공정 $0.18{\mu}m$ 셀 라이브러리로 합성한 결과, 최대동작 주파수는 125MHz이며 게이트 수는 17k이다. 제안한 CAVLC 부호화기의 하드웨어 구조를 H.264/AVC 표준 참조 소프트웨어 JM13.2에서 추출한 데이터를 이용하여 테스트한 결과, $16{\times}16$ 매크로블록을 처리하는데 평균적으로 36.0사이클이 소요되어 기존의 CAVLC 부호화기보다 성능이 57.8% 향상됨을 확인하였다.

This paper presents optimized searching technique to improve the performance of H.264/AVC. By using the proposed forward and backward searching algorithm, redundant cycles of latency for data reordering can be removed. Furthermore, in order to reduce the total number of execution cycles of CAVLC encoder, early termination mode and two stage pipelined architecture are proposed. The experimental result shows that the proposed architecture needs only 36.0 cycles on average for each $16{\times}16$ macroblock encoding. The proposed architecture improves the performance by 57.8% than that of previous designs. The proposed CAVLC encoder was implemented using Verilog HDL and synthesized with Magnachip $0.18{\mu}m$ standard cell library. The synthesis result shows that the gate count is about 17K with 125Mhz clock frequency.

키워드

참고문헌

  1. 정제창, H.264/AVC 비디오 압축 표준, 홍릉과학 출판사, 2005.
  2. J. V. Team, Advanced Video coding for generic audiovisual services, ITU-T Recommendation H.264 and ISO/IEC 14496-10 AVC, May 2005.
  3. C. D. Chien, K. P. Lu, Y. H. Shih, and J. I. Guo, "A high performance CAVLC encoder design for MPEG-4 AVC/H.264 video coding applications," in Proc. ISCAS, pp. 3838-3841, May 2006.
  4. C. A. Rahman and W. Badawy, "CAVLC encoder design for real-time mobile video applications," IEEE Trans. Circuits Syst. II, Exp. Briefs, vol. 54, no. 10, pp. 873-877, Oct. 2007. https://doi.org/10.1109/TCSII.2007.902215
  5. S. C. Hsia and W. H. Liao, "Forward Computations for Context-Adaptive Variable- Length Coding Design," IEEE Trans. Circuits Syst. II, Exp. Briefs, vol. 57, no. 8, pp. 637-641, Aug. 2010. https://doi.org/10.1109/TCSII.2010.2050956
  6. Joint Video Team(JVT) Reference Software JM 13.2.
  7. T. H. Tsai, S. P. Chang, T. L. Fang, "Highly efficient CAVLC encoder for MPEG-4 AVC/H.264," Circuits, Devices & Systems, Volume 3, Issue 3, pp. 116-124, June 2009. https://doi.org/10.1049/iet-cds.2008.0231
  8. 우정욱, 이원재, 김재석, "실시간 HD급 영상 처리를 위한 H.264/AVC CAVLC 부호화기의 하드웨어 구조 설계," 전자공학회, 제 44 권, SD 편, 제 7 호, pp. 45-53, July 2007.