Title :
Optimization of H.263 video encoding using a single processor computer: performance tradeoffs and benchmarking
Author :
Akramullah, Shahriar M. ; Ahmad, Ishfaq ; Liou, Ming L.
Author_Institution :
Dept. of Electr. & Electron. Eng., Hong Kong Univ. of Sci. & Technol., Kowloon, China
fDate :
8/1/2001 12:00:00 AM
Abstract :
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
Keywords :
code standards; computational complexity; data compression; discrete cosine transforms; instruction sets; microcomputer applications; motion estimation; optimisation; parallel architectures; program compilers; telecommunication standards; telephone networks; transform coding; video coding; videotelephony; 167 MHz; 233 MHz; DCT; H.263 video encoding; Intel multimedia extension; Pentium II PC; Pentium III PC; QCIF resolution video; Sun UltraSPARC visual instruction set; Sun UltraSPARC-1 workstation; benchmarking; compiler optimization; complexity; efficient algorithms; encoding rate maximisation; fast motion estimation; high perceptual quality; low-level machine primitives; machine architecture; optimization; optimum coding options; performance evaluation; performance tradeoffs; personal computer; picture quality; single instruction stream multiple data stream; single processor computer; software-based H.263 video encoder; switched telephone networks; video telephony applications; Algorithm design and analysis; Design optimization; Discrete cosine transforms; Encoding; Motion estimation; Optimizing compilers; Streaming media; Sun; Telephony; Workstations;
Journal_Title :
Circuits and Systems for Video Technology, IEEE Transactions on