This paper presents a high performance design for Context-Based Adaptive Variable Length-Coding (CAVLC) used in the H.264/AVC standard. To reduce the cycles of processing one macroblock (MB), a two-stage residual encoder is proposed to make the scan and encode stage work simultaneously. The scan engine scans two coefficients at each cycle. Parallel encoder for two levels and parallel encoder for two runs are adopted to accelerate the encoder engine. Only 228 cycles at most are needed to process one MB. Due to the existence coded block pattern (CBP) decided skip block mode, our experiment shows only 160 cycles are needed on the average. The proposed CAVLC encoder can support 4K×2K @30fps (frames per second) real-time encoding at 250 MHz and the gate count is only about 16k.
[1]
Liang-Gee Chen,et al.
Architecture Design of Context-Based Adaptive Variable-Length Coding for H.264/AVC
,
2006,
IEEE Transactions on Circuits and Systems II: Express Briefs.
[2]
Itu-T and Iso Iec Jtc.
Advanced video coding for generic audiovisual services
,
2010
.
[3]
Shih-Chang Hsia,et al.
Forward Computations for Context-Adaptive Variable-Length Coding Design
,
2010,
IEEE Transactions on Circuits and Systems II: Express Briefs.
[4]
Byung Cheol Song,et al.
High-Speed CAVLC Encoder for 1080p 60-Hz H.264 Codec
,
2008,
IEEE Signal Processing Letters.