AN2621 Freescale Semiconductor / Motorola, AN2621 Datasheet

no-image

AN2621

Manufacturer Part Number
AN2621
Description
MPC8220i PF300 Image Coprocessor Operation
Manufacturer
Freescale Semiconductor / Motorola
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AN26212B-PR
Manufacturer:
DUNE
Quantity:
279
Part Number:
AN26217A-PR
Manufacturer:
MOT
Quantity:
264
Part Number:
AN26217A-PR
Manufacturer:
PANASONIC
Quantity:
4 000
Part Number:
AN26217A-PR
Manufacturer:
PANASONIC/松下
Quantity:
20 000
Application Note
AN2621/D
Rev. 0, 11/2003
MPC8220i PF300 Image
Coprocessor Operation
Andy Masia
32-bit Embedded
Controller Division
The MPC8220i contains an integrated Image Coprocessor called PF300 that can be
programmed to accelerate many common color and monochrome image-processing tasks. The
PF300 functions can be invoked from page description language interpreters, by firmware that
implements copy pipelines for MFP (AIO) devices or digital copiers, or from other image
processing applications.
This application note provides an overview of each of the image processing algorithms
performed by the PF300. It is addressed to algorithm developers, color and imaging scientists,
and printer controller applications developers. More detail can be found in Chapter 32 of the
MPC8220i Microcontroller Preliminary Reference Manual (MPC8220IRM/D, rev. 1.19).
In order to simplify the explanation in this application note, the following two assumptions
have been made: (1) data input to the pipeline is RGB raster data that is stored color and pixel
interleaved in contiguous memory, 8 bits per pixel per component, and (2) the color space
transformation is from RGB to CMYK. This is a very common mode of operation but the
PF300 Image Coprocessor is highly configurable and can be programmed to process data that
is not contiguous in memory and has other than three color components for input and other
than four components for output as assumed in this discussion.
The image processing functions implemented in the PF300 are: image resampling (geometric
transformation), color space conversion, and halftone screening. These functions can be
configured into a data processing pipeline that operates at the speed of the 120-MHz
MPC8220i memory bus. This speed is equivalent to 214 monochrome or 53 color pages per
minute at 600 dpi if the data processing pipeline runs without interruption. Due to the depth
of the pipeline, the PF300 is most suited to processing blocks of raster data. The PF300 can
be configured to process monochrome or color data, and each of the elements of the pipeline
can be enabled or disabled separately.
A data processing flow chart of the PF300 Image Coprocessor is shown in Figure 1.
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com

Related parts for AN2621

AN2621 Summary of contents

Page 1

... Freescale Semiconductor, Inc. Application Note AN2621/D Rev. 0, 11/2003 MPC8220i PF300 Image Coprocessor Operation Andy Masia The MPC8220i contains an integrated Image Coprocessor called PF300 that can be 32-bit Embedded programmed to accelerate many common color and monochrome image-processing tasks. The Controller Division PF300 functions can be invoked from page description language interpreters, by firmware that implements copy pipelines for MFP (AIO) devices or digital copiers, or from other image processing applications ...

Page 2

Freescale Semiconductor, Inc. The Resampling Unit Resampling Source Image Unit Figure 1. PF300 Image Coprocessor Data Flow The PF300 is controlled by registers and makes use of both dedicated and system memory in its operation. 1 The Resampling Unit 1.1 ...

Page 3

Freescale Semiconductor, Inc. 1.2 Computational Details The RU functions by stepping through the destination pixel array and, with each step, incrementing a pair of high-precision registers that contain the coordinates of the destination pixel transformed back to the coordinate system ...

Page 4

Freescale Semiconductor, Inc. Color Conversion Unit (CCU) Both tri-linear and tri-nonlinear interpolations can be implemented. The algorithm allows non-uniform grid point spacing (that is, the table indices must be located on a three-dimensional grid, but the grid can be either ...

Page 5

Freescale Semiconductor, Inc. Table 1. Example of CCU Index and Remainder Tables for Linear Interpolation (continued) Index Table Address Remainder Contents 113 8 2 142 9 2 170 10 2 198 11 ...

Page 6

Freescale Semiconductor, Inc. Color Conversion Unit (CCU) Table 1. Example of CCU Index and Remainder Tables for Linear Interpolation (continued) Index Table Address Remainder Contents 245 10 116 246 10 139 247 10 162 248 10 185 249 10 209 ...

Page 7

Freescale Semiconductor, Inc. two index dimensions, respectively. The additional factor required if the normal three-color input (RGB) to four-color output (CMYK) conversion is being implemented. The sparse output color lookup table data is stored sequentially in system ...

Page 8

Freescale Semiconductor, Inc. The Screening Unit The first three registers allow the application that initializes the screening function to define a two-dimensional pixel array user space in which to work. The data held in these registers allow the Screening Unit ...

Page 9

Freescale Semiconductor, Inc. Appendix A Resampling Unit Flow Chart Start No DY < DYMAX? Done Increment No counters SY, DY MOTOROLA MPC8220i PF300 Image Coprocessor Operation For More Information On This Product, DX and DY are the destination pixel coordinates ...

Page 10

Freescale Semiconductor, Inc. Appendix B Resampling Unit C Code Data types: Uint33 // unsigned 33-bit integer. Uint32 // unsigned 32-bit integer. Sint32 // signed 32-bit integer. Uint8 // unsigned 8-bit integer. Uint1 // Single bit value Adding a "*" to ...

Page 11

Freescale Semiconductor, Inc. // Loop over the number of lines in the destination for ( <= dy; y++) { // Reset the current position to beginning of next destination line sxi = sxmini; sxf = sxminf; syi ...

Page 12

Freescale Semiconductor, Inc. // Advance the source indices by the vertical components sxmini = sxmini + dvsxi; sxf = sxminf + dvsxf; symini = symini + dvsyi; syf = syminf + dvsyf; // Add the "carry bit to the integer ...

Page 13

Freescale Semiconductor, Inc. Appendix C Screening Unit Flow Chart Start No DY < DYMAX? Done No Increment TY > TYMAX? Set MOTOROLA MPC8220i PF300 Image Coprocessor Operation For More Information On This Product, Yes ...

Page 14

Freescale Semiconductor, Inc. Appendix D Screening Unit C Code Data types: Uint32 // unsigned 32-bit integer. Sint32 // signed 32-bit integer. Uint8 // unsigned 8-bit integer. Uint1 // Single bit value Adding a "*" to any of the data types ...

Page 15

Freescale Semiconductor, Inc Get the next pixel from the pipeline. pixel = getNextPixel(); // Compare the threshold to the pixel value if (pixel < *tp) *dest = 1; else *dest = 0; // Increment the destination dest = ...

Page 16

... MOTOROLA and the Stylized M Logo are registered in the U.S. Patent and Trademark Office. All other product or service names are the property of their respective owners. Motorola, Inc Equal Opportunity/Affirmative Action Employer. © Motorola, Inc. 2003 AN2621/D, Rev. 0, 11/2003 For More Information On This Product, Go to: www.freescale.com ...

Related keywords