In this paper we describe the design and implementation of an efficient and
compact image processing library for a digital still camera based on Sieme
ns TriCore microcontroller-DSP processor. The library is designed for use i
n both off-line (non-real-time applications on NT-based Pentium platforms)
as well as on-line (real-time embedded applications such as TriCore based s
ystems). To satisfy the constraints of embedded systems in terms of memory
limitations, the library was designed to operate on an input image using th
e concept of band processing. In such a method, the input image is divided
into an appropriate number of data bands (strips). The image bands are then
processed sequentially using a pipeline of band based operators. The proce
ssed bands are then collected into a single output image. Most of the opera
tors incorporated in the library take advantage of the band processing mech
anism and operate on a stream of such image bands. This scheme not only all
eviates the memory space requirements but also lends itself to multithreadi
ng/parallel processing implementations with potential for even faster perfo
rmance. The library was implemented in C and optimized for our target TriCo
re processor. The code size for the target system including baseline JPEG C
odec and all other image processing pipeline operators described in the fol
lowing sections is 31 Kb. The library can process a 1008 x 800 image in 1.9
8 s. (C) 2001 Academic Press.