Sm. Akramullah et al., Optimization of H.263 video encoding using a single processor computer: Performance tradeoffs and benchmarking, IEEE CIR SV, 11(8), 2001, pp. 901-915
Citations number
23
Categorie Soggetti
Eletrical & Eletronics Engineeing
Journal title
IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY
In this paper, we present the optimization and performance evaluation of a
software-based H.263 video encoder. The objective is to maximize the encodi
ng rate without losing the picture quality on an ordinary single-processor
computer such as a PC or a workstation. This requires optimizations at all
design and implementation phases, including algorithmic enhancements, effic
ient implementations of all encoding modules, and taking advantage of certa
in architectural features of the machine. We design efficient algorithms fo
r DCT and fast motion estimation, and exploit various techniques to speed u
p the processing, including a number of compiler optimizations and removal
of redundant operations. For exploiting the architectural features of the m
achine, 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 fashio
n. 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 II
I PC. We examine the effect of each type of optimization for every coding m
ode of H.263, highlighting the tradeoffs between quality and complexity. Th
e results also allow us to make an interesting comparison between the work-
station 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 frame
s/s on the workstation for QCIF resolution video with high perceptual quali
ty at reasonable bit rates, which are sufficient for most of the general sw
itched telephone networks based video telephony applications. The paper con
cludes by suggesting optimum coding options.