H.264 is the latest video compression standard especially suitable for wireless network.
In wireless communications, bandwidth is too expensive to waste. For most of the mobile users, bandwidth for steaming video will not go beyond 128kbps. Among current video compression standards, only H.264 can provide high quality at such low bit rate, because compared with former video coding standards such as MPEG-4 part 2, it saves up to 40% in bit rate and provides error resilience features. Thus we adopted H.264 decoding as our target application. However, the improvement in performance also introduces increase in computational complexity, which requires more powerful hardware. At the same time, there are several image and video coding standards currently used such as JPEG and MPEG-4. Although ASIC design can meet real-time performance, it is not programmable which lacks flexibility for heterogeneous media standards. Hence programmable DSP processor is believed by many people to be the trend since it provides both real-time performance and flexibility.
New Features of H.264
1) Entropy Decoding: CAVLC is context adaptive variable length coding based on 4×4 blocks. It is combination of both entropy coding and run length coding. 2) Inverse Integer Transform: In H.264, IDCT has been replaced by inverse integer transform (IIT) which only involves shift and addition without multiplication. Thus this part is not as computational intensive as in former standards while it provides more accuracy without drift caused by approximation in transform.
3) Quarter Pixel Interpolation and Variable Block Size Motion Compensation: Most of the existing standards support the motion estimation accuracy up to 1/2 pixel. In H.264, the maximum accuracy is 1/4 pixel. In former standards, motion estimation is based on 16x16 macroblock for luma component as well as 8x8 block for chroma component. While in H.264, variable block-size motion compensation with smaller block sizes is supported, thus picture can be restored with higher accuracy. However, this largely increases the computational complexity.
4) De-blocking Filter: De-blocking filter is a new added part for H.264 in order to minimize the artifacts introduced mainly by present compression technique such as intra prediction. Although it does not promote the PSNR greatly, it can largely improve the subjective appearance.
Performance Table:
Decoding Steps MIPS Cost (QCIF 30fps) ------------------------------------------------ Entropy Decoding (CAVLC) 66 Inverse Quantization 21 Inverse Transform 40 Intra Prediction 30 Inter Prediction (Interpolation) 256 De-blocking Filter 467 Other 30
As show above, three tasks appear to be most computational complex in H.264 decoding which are CAVLC decoding, interpolation and de-blocking filter.作者: 912413llj 时间: 2006-7-16 17:36