Optimization of H.263 video encoding using a single processor computer: performance tradeoffs and benchmarking

We present the optimization and performance evaluation of a software-based H.263 video encoder. The objective is to maximize the encoding rate without losing the picture quality on an ordinary single processor computer such as a PC or a workstation. This requires optimization at all design and implementation phases, including algorithmic enhancements, efficient implementations of all encoding modules, and taking advantage of certain architectural features of the machine. We design efficient algorithms for DCT and fast motion estimation, and exploit various techniques to speed up the processing, including a number of compiler optimizations and removal of redundant operations. For exploiting the architectural features of the machine, we make use of low-level machine primitives such as Sun UltraSPARC's visual instruction set and Intel's multimedia extension, which accelerate the computation in a single instruction stream multiple data stream fashion. Extensive benchmarking is carried out on three platforms: a 167-MHz Sun UltraSPARC-1 workstation, a 233-MHz Pentium II PC, and a 600-MHz Pentium III PC. We examine the effect of each type of optimization for every coding mode of H.263, highlighting the tradeoffs between quality and complexity. The results also allow us to make an interesting comparison between the workstation and the PCs. The encoder yields 45.68 frames per second (frames/s) on the Pentium III PC, 18.13 frames/s on the Pentium II PC, and 12.17 frames/s on the workstation for QCIF resolution video with high perceptual quality at reasonable bit rates, which are sufficient for most of the general switched telephone networks based video telephony applications. The paper concludes by suggesting optimum coding options.

[1]  Ishfaq Ahmad,et al.  Software-based H.263 video encoder using a cluster of workstations , 1997, Optics & Photonics.

[2]  Andy C. Downton,et al.  A Case Study in Pipeline Processor Farming: Parallelising the H.263 Encoder , 1996, UK Parallel.

[3]  Itu-T Video coding for low bitrate communication , 1996 .

[4]  Dong-Seek Park,et al.  A low-complexity rate-distortion model for motion estimation in H.263 , 1996, Proceedings of 3rd IEEE International Conference on Image Processing.

[5]  Zhongli He,et al.  A high performance fast search algorithm for block matching motion estimation , 1997, IEEE Trans. Circuits Syst. Video Technol..

[6]  Ja-Ling Wu,et al.  Real-time PC-based software implementation of H.261 video codec , 1997 .

[7]  K. Rijkse,et al.  H.263: video coding for low-bit-rate communication , 1996, IEEE Commun. Mag..

[8]  Park,et al.  H.263-based SNR Scalable Video Codec , 1997, 1997 International Conference on Consumer Electronics.

[9]  Wei Ding,et al.  VIS-based native video processing on UltraSPARC , 1996, Proceedings of 3rd IEEE International Conference on Image Processing.

[10]  Leslie Kohn,et al.  MPEG video decoding with the UltraSPARC visual instruction set , 1995, Digest of Papers. COMPCON'95. Technologies for the Information Superhighway.

[11]  Bernd Girod,et al.  Performance of the H.263 Video Compression Standard , 1997, J. VLSI Signal Process..

[12]  Bernd Girod,et al.  Standard compatible extension of H.263 for robust video transmission in mobile environments , 1997, IEEE Trans. Circuits Syst. Video Technol..

[13]  King Ngi Ngan,et al.  Very low bit rate video coding using H.263 coder , 1996, IEEE Trans. Circuits Syst. Video Technol..

[14]  Marc Tremblay,et al.  The visual instruction set (VIS) in UltraSPARC , 1995, Digest of Papers. COMPCON'95. Technologies for the Information Superhighway.

[15]  Marc Tremblay,et al.  The design of the microarchitecture of UltraSPARC-I , 1995 .

[16]  Konstantinos Konstantinides,et al.  Multimedia architectures: from desktop systems to portable appliances , 1997, Electronic Imaging.

[17]  P. Yip,et al.  Discrete Cosine Transform: Algorithms, Advantages, Applications , 1990 .

[18]  Bede Liu,et al.  New fast algorithms for the estimation of block motion vectors , 1993, IEEE Trans. Circuits Syst. Video Technol..

[19]  Heung-Kyu Lee,et al.  Adaptive rate control scheme for very low bit rate video coding , 1996 .

[20]  Massimo Maresca,et al.  Image processing on high-performance RISC systems , 1996, Proc. IEEE.

[21]  Uri C. Weiser,et al.  Intel MMX for multimedia PCs , 1997, Commun. ACM.