
File: icp.fm5, modified 7/26/99
PRELIMINARY INFORMATION
13-1
Image Co-Processor
Chapter 13
13.1
SUMMARY FUNCTIONALITY
The Image Co-Processor (ICP) connects to the TM1100
on-chip data highway to perform SDRAM block read and
write actions. It also connects to the PCI interface to al-
low block write transactions across PCI.
The major functions of the Image Co-Processor are:
Filter an image by reading the image from SDRAM
and writing the image back to SDRAM, while apply-
ing a user dened polyphase lter with optional up or
down scaling in horizontal direction.
Filter an image by reading the image from SDRAM
and writing the image back to SDRAM, while apply-
ing a user dened polyphase lter with optional up or
down scaling in vertical direction.
Filter an image and convert it from planar to RGB or
YUV composite by reading the image from SDRAM
and writing the image out to PCI bus memory (graph-
ics card) or SDRAM, while performing horizontal
scaling and conversion to one of a several RGB or
YUV formats. The user can add optional bitmap
masking to selectively enable/disable pixel writes to
PCI (to refresh only the exposed part of a video win-
dow) and an optional image overlay with alpha blend-
ing and optional chroma keying (PCI output only).
Move an image by reading the image from SDRAM
and writing it back to SDRAM.
All of the Image Co-Processor functions move and trans-
form data from memory to memory or memory to the PCI
bus. Hence, the DSPCPU can use the ICP in a time-
sharing fashion to simultaneously achieve:
1. Vertical and horizontal resizing/subsampling on the
stream of images from Video In.
2. Vertical and horizontal resizing/upsampling on the
stream of images sent to Video Out.
3. Presentation of a collection of live video windows with
programmable up and down scaling and arbitrary
overlap conguration on PCI graphics cards.1
Full two dimensional scaling and filtering requires two
passes over the data: one to do horizontal scaling and fil-
tering and one to do vertical scaling and filtering.
block diagram of the internal structure of the Image Co-
Processor. The ICP contains a 5-tap filter, YUV to RGB
converter, an overlay and alpha blending unit, and an
output formatter. These blocks communicate with each
other and communicate with the TM1100 SDRAM Data
Highway through FIFOs. The FIFOs buffer the block data
to and from the TM1100 SDRAM Data Highway. The ICP
uses a microprogram controlled sequencer to control its
internal timing. The program for this sequencer is in a ta-
ble in SDRAM. The ICP reads the appropriate portion
from the SDRAM each time the ICP is commanded to
perform a function. Microprogram control simplifies and
minimizes the ICP hardware and increases the flexibility
of the ICP to do additional tasks without adding hard-
ware.
13.2
REQUIREMENTS
13.2.1
Functions
The major functions of the Image Co-Processor are:
1. Read an image from SDRAM and write the image
back to SDRAM, while applying a user dened
polyphase lter with optional up or down scaling in
horizontal direction.
2. Read an image from SDRAM and write the image
back to SDRAM, while applying a user dened
polyphase lter with optional up or down scaling in
vertical direction.
3. Read an image from SDRAM and write the image out
to PCI bus memory (graphics card) or SDRAM, while
performing horizontal scaling and conversion to one
of a several RGB and YUV formats. The PCI output
mode includes optional bitmap masking to selectively
enable/disable pixel writes to PCI (to refresh only the
exposed part of a video window) and optional RGB
overlay with alpha blending and optional chroma key-
ing.
13.2.2
Bandwidth
The bandwidth for the ICP can be estimated from the
worst case image processing bandwidth. If the worst
case image is 1024 x 768 at 30 Hz in YUV 4:2:2 format,
the pixel rate is 1024 x 768 x 30 = 23.59 megapixels per
second. For YUV 4:2:2 image coding at 2 bytes per pixel,
this is 23.59 x 2 = 47.19 megabytes per second. The min-
imum bandwidth for the ICP function is therefore 47.18
megabytes per second, or approximately 50 megabytes
per second.
1.
Note that function 2 and 3 don’t normally occur simulta-
neously, and if an application attempts both simulta-
neously, some performance limitations are incurred.