A VLSI Design of High Performance H.264 CAVLC Decoder Using Pipeline Stage Optimization

파이프라인 최적화를 통한 고성능 H.264 CAVLC 복호기의 VLSI 설계

  • Lee, Byung-Yup (Department of Information and Communication Engineering, Hanbat National University) ;
  • Ryoo, Kwang-Ki (Department of Information and Communication Engineering, Hanbat National University)
  • 이병엽 (한밭대학교 정보통신공학과) ;
  • 류광기 (한밭대학교 정보통신공학과)
  • Published : 2009.12.25

Abstract

This paper proposes a VLSI architecture of CAVLC hardware decoder which is a tool eliminating statistical redundancy in H.264/AVC video compression. The previous CAVLC hardware decoder used four stages to decode five code symbols. The previous CAVLC hardware architectures decreased decoding performance because there was an unnecessary idle cycle in between state transitions. Likewise, the computation of valid bit length includes an unnecessary idle cycle. This paper proposes hardware architecture to eliminate the idle cycle efficiently. Two methods are applied to the architecture. One is a method which eliminates an unnecessary things of buffers storing decoded codes and then makes efficient pipeline architecture. The other one is a shifter control to simplify operations and controls in the process of calculating valid bit length. The experimental result shows that the proposed architecture needs only 89 cycle in average for one macroblock decoding. This architecture improves the performance by about 29% than previous designs. The synthesis result shows that the design achieves the maximum operating frequency at 140Mhz and the hardware cost is about 11.5K under a 0.18um CMOS process. Comparing with the previous design, it can achieve low-power operation because this design is implemented with high throughputs and low gate count.

본 논문에서는 H.264/AVC 영상 압축 기술에서 영상데이터의 통계적 중복성을 제거하기 위한 CAVLC의 하드웨어 복호기 구조를 제안한다. 기존의 CAVLC 하드웨어 복호기는 4단계에 걸쳐 5가지 코드를 복호한다. 복호과정에서 각 단계 전환시 불필요한 유휴 사이클이 포함되어 복호기의 성능을 저하시키고 또한 가변길이의 코드 복호과정 중 유효비트길이 계산 과정에서도 불필요한 유휴 사이클을 포함한다. 본 논문에서는 이러한 유휴 사이클을 효과적으로 제거하기 위한 하드웨어 구조를 제안한다. 첫 번째로 복호된 코드를 저장하는 불필요한 버퍼를 제거하여 파이프라인 구조를 효율적으로 개선하고 두 번째로 유효비트길이를 계산하는 과정에서 연산 및 제어를 단순화하는 쉬프터 구조를 제안한다. 제안된 방법을 적용한 결과 하나의 매크로 블록을 처리하는데 평균적으로 89사이클만을 소모한다. 기존 방식에 비하여 29% 가량 성능이 향상됨을 확인하였다. 제안된 구조를 0.18um CMOS 공정을 적용하여 합성하였을 경우 최대 동작 주파수는 140Mhz이며 게이트 크기는 11.5K이다. 기존 방식에 비해 사이클 수는 적게 소모하면서도 적은 회로 사이즈를 구현하여 저전력 동작이 가능하다.

Keywords

References

  1. Joint Video Team(JVT), Draft ITU-T Recormnendation and Final Draft International Standard of Joint Video Specification. ITU-T Rec. H.264 and ISO/IEC 14496-10 AVC, March 2005
  2. J. Ostermann, J. Bormans, P. List, D. Marpc, M. Narroschke, F. Pereira, T. Stockharmner, and T. Wedi, "Video coding with H.264/AVC : tools, performance, and complexity," IEEE Circuits and Systems Magazine, vol. 4, pp. 13-15, 2004
  3. V. Lappalainen, A. Hallapuro, and T. D. Hamalaninen, "Complexity of Optimized H.26L Video Decoder Implementation," IEEE Trans. On CSVT, vol. 13, no. 7, July 2003
  4. G. Yu and T. Chang, "A Zero-Skipping Multi-symbol CAVLC Decoder for MPEG-4 AVC/H.264," ISCAS 2006, pp. 5583-5586, May 2006
  5. J. Nikara, S. Vassiliadis, J. Takala, and P. Liuha, "Multiple-symbol parallel decoding for variable length codes," IEEE Trans. VLSI, vol. 12, no. 7, pp. 676-685, July 2004 https://doi.org/10.1109/TVLSI.2004.825840
  6. T. Tsa, D. Fang and Y. Pan, "A hybrid cavld architecture design with low complexity and low power considerations," ICME, pp. 1910-1913, July 2007
  7. T. G. Georage and N. Malmurugan, "The architecture of Fast H.264 CAVLC Decoder and its FPGA Implementation", IIHSP 2007, vol. 2, pp. 389-392, Nov. 2007
  8. Joint Video Team(JVT) Reference Software JM 13.2
  9. M. Oh, W. Lee and J, Kim, "Efficient CAVLC Decoder VLSI Design for HD Images," 대한전자공학회논문지, 44권 SP편 4호, pp. 52-59, July 2007
  10. H. C. Chang, C. C. Lin and J. I. Guo, "A Novel Low-Cost High-Performance VLSI architecture for MPEG-4 AVC/H.264 CAVLC Decoding", ISCAS 2005, vol. 6, pp. 6110-6113, May 2005