Philips Semiconductors
Image Co-Processor
File: icp.fm5, modified 7/26/99
PRELIMINARY INFORMATION
13-15
code (0 to 5), so the free block is identified by its block
code in the FSSR. The FSSR codes for the six cases of
13.5.8.1
Mirroring Lines at the Ends of an
Image
A window may start and/or end at the edge of the input
image. In this case, you are missing the two start and/or
end lines needed for the first and last lines of the window,
respectively. These pixels are supplied by the mirror mul-
tiplexer at the 5-tap filter which mirrors the input
lines.The mirror multiplexer is controlled by the mirror
counter and mirror end register in the same manner as in
horizontal filtering. The mirror register in vertical filtering
is incremented by the output line counter. Mirroring is
performed on the first two and last two lines of the col-
umn. Mirroring is optional, depending on whether the
start or end of the line is on a window boundary. The
DSPCPU or microprogram must detect this and enable
start and/or end mirroring as required.
13.5.8.2
Vertical Filter SDRAM Block Timing
between the SDRAM and the filter for a scaling factor of
1.0. The bus block reads and writes are one fourth of the
filter processing time because the filter processes data at
100 mega pixels per second, and the SDRAM reads and
writes blocks of pixels at 400 megapixels per second
(peak). The vertical filter starts by reading in the five
blocks necessary to generate the next output block.
While the current block is being processed, the next
block is read from SDRAM to prepare for the next output
block.
13.5.9
Horizontal Scaling and Filtering for
RGB Output
horizontal scaling to RGB output algorithm implementa-
tion. The six input block buffers are arranged as three
block FIFOs, one each for a Y, U and V pixel streams.
These three streams are sequentially filtered, pixel by
pixel by the 5-tap filter to generate a scaled and filtered
output sequence of Y, U, V, Y, U, V, etc. This YUV
stream is fed to the YUV to RGB converter where it is
converted to one of several RGB output formats, blended
with RGB overlay pixels supplied by the Overlay FIFO
and masked by bit mask pixels from the bit mask block.
The resulting scaled, filtered, converted, overlay blended
and masked RGB stream is sent to the PCI interface --
typically to an RGB format frame buffer on the PCI bus -
- or to the SDRAM.
The input pixel streams from the input FIFOs are trans-
ferred sequentially to the 5-tap filter. Each stream has its
own set of four-stage delay registers used to perform
horizontal filtering on the stream. A pair of 3-way multi-
plexers switch the five filter data inputs and the 5-bit filter
coefficient select codes to the 5-tap filter. This set of mul-
tiplexers is driven by the YUV Sequence counter, a 2-bit
counter that provides the YUV processing sequence.
Horizontal scaling and filtering for RGB output is per-
formed in the same way as for ordinary filtering. The dif-
ference is in the format of the output data (RGB), the se-
quencing of the filtering to create the combined RGB
output and the buffering of the YUV output data. In hori-
zontal scaling and filtering from SDRAM to SDRAM,
each Y, U and V component is filtered separately as a
complete image. In RGB output horizontal scaling and fil-
tering, the image is processed as three interwoven
streams of all three YUV components.
In the RGB output mode, the ICP normally generates
RGB data and writes it into a frame buffer memory on the
RGB bus or to the SDRAM. The frame buffer memory
format is RGB with one R, one G and one B value per
pixel. This could be called RGB 4:4:4. To generate this
image, the ICP generates a YUV 4:4:4 image and con-
verts it to RGB. This process is done one RGB output
pixel at a time. The ICP generates a U pixel and saves it
in a register, generates a V pixel and saves it in a regis-
ter, then generates a Y pixel for output. The YUV to RGB
converter combines each Y pixel as it is generated with
the previously stored U and V pixels to generate the RGB
output data. This process is repeated until the whole im-
age has been converted and sent to the PCI bus or
SDRAM.
Table 13-4. FSSR Codes for Vertical Filtering.
Case
Pn-2
Pn-1
Pn+0
Pn+1
Pn+2
IO Block
154321
0
205432
1
310543
2
421054
3
532105
4
643210
5
SDRAM Bus
Filter Action
Read Y5
Write Ya
Read Y6
Filter Y3-6 => Yb
Filter Y2-5 => Ya
Read Y7
Write Yb
Filter Y4-7 => Yc
Read Y8
Figure 13-15. SDRAM and Vertical Filter Block Timing