AN2621 Freescale Semiconductor / Motorola, AN2621 Datasheet
AN2621
Available stocks
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 ...