Optimization of Motion Compensated Block-Based DCT Video Compression for Software Implementation - Chen, Soong Der (2000)
Internet has inspired the rapid development of wide range of network application such as Tele-Conferencing, Distance-Learning, Tele-Medicine etc, in which real time video delivery plays an important role. Due to the nature of video, which is large in size, video compression is essential in determining the practical implementation of network video application. Current video compression standards such as MPEG-l, MPEG2, H.261 and H.263 employ motion compensated DCT (Discrete Cosine Transform) block-based compression schemes and offers good compression ratio. However, it requires high processing power in order to achieve real-time processing. Therefore, optimizations are desirable especially when software implementation is preferred for its flexibility as compared to hardware implementation. This thesis focuses on ways to improve the existing solutions in the algorithmic and implementation aspects. For the algorithmic aspect, the basic principles of motion compensated DCT block-based compression scheme was studied. Then, various optimized algorithms for the two core processes in the compression, DCT and motion estimation, were reviewed and analyzed. For the implementation aspect, software-driven media processing was studied. A popular software-driven media processing's technology - MMXTM was studied for its application in 2-D 8x8 DCI. The above studies and reviews provide two proposals for improvements. The first proposal is a method based on the energy preservation theorem to be applied in the H.263 video compression standard to detect frequent All-Zero-AC coefficient blocks. When such a block was detected, some of the standard processing steps may be skipped and some computation may be saved. The proposed new algorithm was evaluated and the results indicate that it was practical in low bit rate environments targeted by H.263 as no negative speed gain was observed for the full range of step size during the evaluation. Existing MMX implementation of 2-D 8x8 IOCT with uniform 16-bit precision can hardly pass the IEEE standard compliance test, which serve to prevent Inverse DCT mismatch that can cause serious distortion in decoded video. Therefore, the second proposal suggests a standard compliance implementation with mixed 32116-bit precision and rounding. The mixed 32116-bit design has the capability to absorb the extra operations incurred by 32-bit operation through eliminating the need for matrix transposition. The proposed implementation's precision was further improved by rounding before it could pass the entire test. Result shows that the proposed implementation needed only small increment (<10%) in overall operations in order to be standard compliance.