• Static convolutional filtering of up to 16 x 16 Pixel (onepass), 256 x 256 pixel (two-pass) or 256 x 256 x 256 pixel
(three-pass) windows
• User-selectable source image subpixel resolution of
-8
-16
2
to 2
• Pin-compatible upgrade to TMC2302
• 24-bit (optional 36-bit) positioning precision within the
source image space, 48-bit internal precision
• Low power CMOS process
• A vailable in a 120-pin Plastic Pin Grid Array and 120-lead
Metric Quad Flat Pack
Applications
• High-performance video special-effects generators
• Guidance systems
• Image recognition
• Robotics
• High-precision image registration
Description
The TMC2302A, a pin-compatible replacement for the
TMC2302, is a high-speed self-sequencing address generator which supports image manipulations such as rotation,
rescaling, warping, filtering, and resampling. It remaps the
pixel locations of a target (display) space back into those of a
source image space. The degree and type of image manipulation is determined by the remapping selected.
To remap from the target to the source space, this integrated
circuit computes a series of polynomials of the target space
coordinates, based on user-assigned coefficients. Two
TMC2302A chips can generate third-order warps of a twodimensional image, whereas three can second-order warp a
three-dimensional image.
Preliminary Information
Simplified Block Diagram
IDAT
15-0
IADR
ASYNCHRONOUS
HOST INTERFACE
SYNCHRONOUS
HOST INTERFACE
6-0
ICS
IWR
SYNC
NOOP
INIT
CLK
CONTROL
PARAMETER
REGISTERS
CONTROL
SOURCE
ADDRESS
GENERATOR
WALK
COUNTER
TARGET
ADDRESS
GENERATOR
65-2302-01
OES
SADR
SVAL
OEK
KADR
ACC
TWR
OET
TADR
TVAL
END
DONE
SOURCE MEMORY
23-0
7-0
11-0
INTERFACE
CONVOLUTIONAL
TARGET
MEMORY
INTERFACE
SYNC FLAGS
CONTROL
Rev. 0.9.2
TMC2302APRODUCT SPECIFICATION
Description
(continued)
A system based on two TMC2302As can nearest-neighbor
resample a two-dimensional 512 x 512 pixel image in 6.5
milliseconds, translating, rotating, or warping it, depending
on the user-selected transformation parameters. A complete
bilinear interpolation of the sample image can be completed
in 26 milliseconds (or 6.5ms with a TMC2246A companion
chip), while a nearest-neighbor resampling of a 3D image
128 pixels on a side takes only 53 milliseconds with three
TMC2302As. Image resampling speed is independent of
angle of rotation, degree of warp, or amount of zoom specified.
Block Diagram
ASYNCHRONOUS
HOST INTERFACE
IDAT
15-0
IADR
6-0
ICS
IWR
SYNCHRONOUS
HOST INTERFACE
CONTROL
PARAMETER
AND ADDRESS
BUFFER
SOURCE
ADDRESS
GENERATOR
48-BITS
(47-24)
(23-12)
KERNEL WALK
ACCUMULATOR
The TMC2302A can process image data fields with up to 24
bits of binary resolution (2
24
pixels) per dimension, with 0 to
16-bit subpixel resolution.
Along with the original Plastic Pin Grid Array (PPGA)
package, the TMC2302A is offered in a 120-lead Metric
Quad FlatPack (MQFP) as well. All TMC2302 electrical,
functional, and environmental specifications are improved or
remain unchanged in the TMC2302A.
SOURCE MEMORY
OFFSET
24-BITS
WALK
COUNTER
8-BITS
COMPARATOR
(7-0)
BOUNDARY
36-BITS
CONVOLUTIONAL
TARGET MEMORY
INTERFACE
INTERFACE
SADR
OES
SVAL
CONTROL
KADR
OEK
ACC
TWR
23-0
7-0
NOOP
INT
CLK
SYNC
Preliminary Information
PROGRAMMABLE
DELAY
0 TO 7 CLOCKS
CONTROL
INTERNAL
CLOCK
TARGET
ADDRESS
GENERATOR
3 X 13-BITS
X(11-0)
Y(11-0)
Z(11-0)
3-D BOUNDARY
COMPARATOR
3 x 13 BITS
TADR
OET
TVAL
END
DONE
65-2302-02
11-0
2
PRODUCT SPECIFICATIONTMC2302A
Functional Description
General Information
The TMC2302A is a versatile, high-performance address
generator which can control, under user direction, filtering or
remapping of two or three-dimensional images by resampling them from one set of Cartesian coordinates (x, y, z)
into a new, transformed set (u, v, w). Most applications
utilize two identical devices for two-dimensional, or three
devices for three-dimensional, image processing. The host
CPU initializes the system by loading the input image buffer
RAM with the source image pixel data and the TMC2302As
with the image transformation and system configuration control parameters. These parameters are loaded by a separate,
asynchronous input clock. The IMS-based system then executes the entire transformation as programmed, generating a
DONE flag upon completion of the transform. The user can
program the chip to repeat the transform continuously or to
halt at the end.
The IMSs continuously compute the target bit plane (u, v) or
bit space addresses (u, v, w) in typical line-by-line, rasterscan serial sequence. For each output pixel address, they
compute the corresponding remapped source image coordinates, each of whose upper 24 bits become the source bit
plane addresses (x, y). An additional lower twelve bits are
available through the target address port in the optional
extended address mode. Source image addresses may be
generated at up to 40MHz, with the corresponding target
image addresses then appearing at up to (40/k)MHz, where
“k” is the size of the interpolation kernel implemented. In the
two-IMS system, one TMC2302A computes the horizontal
coordinates x and u while the other generates the y and v
(vertical) addresses. In a three-dimensional system, one
additional IMS would provide the z and w (depth or time)
coordinates.
T o support a wide range of image transformations, the “ro w”
or x/u device implements a 16-term polynomial of the form:
x = a + bu + cu
2
+ jv
u + kv
2
u
3
+ du
+ ev + fvu + gvu
2
2
3
+ lv
u
+ mv
3
+ nv
3
u + ov
2
+ hvu
3
2
+ iv
3
2
3
+ pv
3
u
u
2
where "a" through "p" are the user-defined image transformation parameters. The TMC2302A steps sequentially
through the pixels within a user-defined rectangle in the target image space, computing the “old” source image address
(x, y, z) corresponding to each “new” target image pixel (u,
v, w). User-programmable flags are available to indicate
when the source and target image addresses have fallen outside of a defined rectangular area, simplifying the generation
of complex images or image windows. Here, u = U-UMIN
and v = V-VMIN, where (u,v) is the target address output by
the TMC2302A.
In the three-dimensional mode, the x/u transformation equation is:
x = a + bu + ev + kw + fuv + ivw + luw + juvw
See “The Image Transformation Polynomial” section of the
Applications Discussion.
The TMC2302A utilizes an external multiplier-accumulator
or interpolator, connected to the system clock, to calculate
the interpolated pixel value for each color. The products of
the original source image pixel values surrounding the
remapped pixel location (interpolation kernel) and the appropriate weights stored in the coefficient lookup table are
summed. The resulting new interpolated image pixel v alue is
then stored in the corresponding (u, v, w) memory location in
the target image memory buffer. Next, the target image
address is incremented by one in the “u” direction until
UMAX is reached (end of line), when u is reset to UMIN,
and the v counter is incremented to give the first pixel location in the next line. The process is repeated, proceeding
line-by-line through the image, until VMAX is reached. In
the case of three-dimensional images, the IMS system also
steps through each page in the image, incrementing in the
“w” direction with the completion of each image plane until
WMAX is reached, and the transformation is complete.
The Image Manipulation Sequencer can support any nearestneighbor, bilinear interpolation, or cubic convolution resampling. Interpolation kernels of more than one pixel require an
external interpolation coefficient lookup table and multiplier-
accumulator or multiple multiplier array. One, two, and
three-pass algorithms are supported. For each output point in
a typical two-dimensional single-pass static image filter, the
TMC2302A implements a spiralling pixel resampling algorithm, “walking” around the resampling neighborhood in
two dimensions and generating the appropriate coefficient
table addresses to sum up the interpolated pixel value in the
external pixel interpolator. At the end of each walk, the
TMC2302A will advance one pixel along the output scan
line and then execute the walk for that next pixel. When performing multiple-pass interpolation, the TMC2302A system
proceeds along only one dimension per pass, which requires
dimensionally separable, preferably orthogonal, coefficients.
A basic, two-dimensional TMC2302A-based system is
shown in Figure 2 . In this typical arrangement, two Image
Manipulation Sequencers process the image. The only other
components needed beyond the source and target image
buffer memories are a multiplier-accumulator or pixel interpolator such as the TMC2246A Image Mixer or TMC2250A
Matrix Multiplier, and the Interpolation Coefficient Lookup
Table RAM or ROM.
INITIALIZATION
DATA
CONTROL
Preliminary Information
CLOCK
Figure 2. Basic two-dimensional image convolver using TMC2302A IMS with typical 8-bit data path
System Clock . The pixel clock of the TMC2302A strobes all
internal registers except the control parameter preload registers.
All timing specifications except those are referenced to the rising
edge of CLK.
Input Parameter Write Clock. The internal image transformation
and configuration control parameter registers are double buffered
to simplify interfacing with system controllers. Depending on the
state of the chip selects ICS
, control words input to IDAT
the corresponding addresses presented to IADR
are strobed
6-0
15-0
and
into the outer preload registers on the rising edge of the Input
parameter Write clock IWR
. The last parameter must be loaded
twice on two consecutive rising edges of IWR.
Input Parameter Data. Configuration and transformation
parameter Input Data are presented, along with the appropriate
input register address word IADR
, to the parameter Input Data
6-0
port, and are latched into the preload registers on the next rising
edge of IWR
. Preload register updates are disabled by the chip
select control ICS. See Figure 3.
Input Parameter Address. The input parameter preload register
currently indicated by the Input parameter register Address
IADR
rising edge of IWR
is loaded with the data presented to input port IDAT on the
6-0
, as demonstrated in Figure 3.
Source Address. The 24-bit address of one dimension (X, Y, Z) of
the source image pixel value currently being resampled is output
through the Source Address port SADR
forced to the high-impedance state by the enable control OES
. This port can be
23-0
.
Coefficient Address. The integer address steps for each
dimension of the spiral interpolation walk performed by the
TMC2302A, as determined by the transform parameter KERNEL,
are generated by the internal walk counter and output at the
Coefficient Address output port KADR
to the high-impedance state by the enable control OEK
Pin Function DescriptionPPGAMQFP
Target Address. The 12-bit address of one dimension (U, V, W) of
the target image pixel value just resampled is output through the
Target Address Port TADR
impedance state by the enable control OET
delayed up to seven clock cycles after the nominal sequence
shown in Table 4 by utilization of the pipeline delay parameter
PIPTAD. For systems requiring greater spatial resolution in the
source image than that offered by the SADR
Address Port can be reconfigured to output 12 additional LSBs of
the source address by placing the device into the Extended mode,
in which case the pipeline delay parameter must be set to 0 to
maintain alignment with the current source address port output.
See the Device Configuration and Control Parameters section.
Initialize. The TMC2302A control logic is cleared and initialized for
the start of a new image transformation, and the internal working
registers are updated with the contents of the current control
parameter preload registers when the registered control input INIT
is HIGH. The image transformation then commences with the first
source image pixel address nine clocks after INIT is returned low.
Run/Halt. The user can select between continuous or one-frame
operation with the registered input control SYNC. Assuming that
INIT remains LOW and NOOP
HIGH at the end of a transform the TMC2302A will begin the next
image transformation without interruption. This assumes either that
the user is not changing the parameter set, or that a new set of
parameters has already been loaded into the preload registers
midframe, prior to the beginning of the last line in the transform. If
SYNC is LOW during the last clock cycle of a transform, the device
will complete the image, having loaded the new transform
parameter set during the first clock of the final line of the transform,
and halt in the state set on the first clock cycle of the next
transform. These outputs are held until SYNC is again brought
HIGH, and operation resumes on the next clock. See Figure 5.
Input Parameter Chip Select. The input parameter preload
register write clock IWR, and thus the preloading of all
configuration and transformation parameters, is disabled on the
next clock when the registered Input parameter Chip Select input is
HIGH. When ICS returns LOW, they are enabled on the next clock.
See Figure 3
Accumulate. The external pixel interpolator or multiplier-
accumulator is initialized for a new accumulation of products by the
registered Accumulator Control output ACC. On the first cycle of
each interpolation walk, this output goes LOW for one cycle,
effectively clearing the register by loading in only the first new
resampled pixel value. When performing nearest-neighbor
resampling, this control will remain LOW throughout the entire
transform. This output can be delayed up to seven clock cycles
after the nominal sequence shown in Table 4 by the pipeline delay
parameter PIPACC. See the Device Configuration and Control
Parameters section.
.
. This port is forced into the high-
11-0
. TADR
23-0
remains HIGH, if SYNC remains
can be
11-0
alone, the Target
8
PRODUCT SPECIFICATIONTMC2302A
Pin Descriptions
Pin Name
TWR
NOOP
OESA6108
OEKM231
OETM642
Flags
SVALL126
N643
L1366
(continued)
Pin Number
Pin Function DescriptionPPGAMQFP
Target Memory Write Enable. On the last cycle of each
interpolation walk, the Target Write Enable goes LOW for one clock
cycle, returning HIGH for all but the last cycle of the next walk.
When performing nearest-neighbor resampling, this control will
remain LOW throughout the entire transform. This output can be
forced to the high-impedance state by the enable control OET, and
can be delayed up to seven clock cycles after the nominal
sequence shown in Table 4 by the pipe-line delay parameter
PIPTWR. See the Device Configuration and Control Parameters
section.
No Operation. Assuming that INIT remains LOW, the internal
system clock of the TMC2302A will be disabled on the next clock,
halting the current transform, when the registered control input
NOOP goes LOW. When NOOP returns HIGH, normal operation
resumes on the next clock. This control does not affect the loading
of the configuration and transformation parameter preread
registers.
Source Address Output Enable. The source address port
SADR
is LOW. When OES is HIGH, the port is in the high-impedance
state.
Coefficient Address Output Enable. The interpolation coefficient
address port KADR
enable OEK
impedance state.
Target Address Output Enable. The target address port TADR
and target write enable TWR
0
asynchronous Target Output Enable OET is LOW. When OET is
HIGH, these outputs are in the high-impedance state. This control
functions in both the normal and extended addressing modes.
Source Address Valid. When the current source image address
component output is within the working space defined by the
parameters XMIN and XMAX (or YMIN, YMAX for the column (Y/V)
device or ZMIN, ZMAX for the page (Z/W) device), the Source
Address Valid flag SVAL for that device is LOW. This flag will go
HIGH on the clock in which the corresponding component address
falls outside the defined region. In a typical system, the SVAL
outputs of all IMS devices are OR’ed together to generate a global
boundary violation flag. The user might then insert zeroes into the
pixel interpolator to ignore that portion of the image outside the
defined space, or insert a background color or image. This output
can be delayed up to seven clock cycles after the nominal
sequence shown in Table 4 by the pipeline delay parameter
PIPSVA. See the Device Configuration and Control Parameters
section.
is enabled when the asynchronous output enable OES
23-0
is enabled when the asynchro- nous output
7-0
is LOW. When OEK is HIGH, the port is in the high-
are enabled when the
11-
Preliminary Information
9
TMC2302APRODUCT SPECIFICATION
Pin Descriptions (continued)
Pin Number
Pin Name
TVAL
ENDDN1360
DONEL1057Done. On the last clock cycle of the current image transform, the
No Connects
NCL359No Connect.
Preliminary Information
M1363
D4—Index Pin.
Pin Function DescriptionPPGAMQFP
Target Address Valid. When the current target image addresses
are within the working space defined by the parameters UMINI and
UMAXI, and VMINI and VMAXI (and WMINI and WMAXI for
systems processing three-dimensional images), the Target
Address Valid flag TVAL for that device is LOW. This flag will go
HIGH on the clock in which the current target address outputs fall
outside the defined region, which must fall inside the target area
defined by UMIN, UMAX, etc. Since each TMC2302A device is
programmed with distinct MINI/MAXI parameters and generates a
separate TVAL
dimensional target space windows for each device. TVAL can be
delayed up to seven clock cycles after the nominal sequence
shown in Table 4 by the pipeline delay parameter PIPTVA. See the
Device Configuration and Control Parameters section.
End of Dimension. During the last pixel interpolation walk of a row
(X/U device), the last row in a page (Y/V device), or the last page in
a three-dimensional transform (Z/W device), the flag ENDD goes
HIGH for the entire walk, indicating End of the transform in that
dimension. It remains LOW otherwise. This output can be delayed
up to seven clock cycles after the nominal sequence shown in
Table 4 by the pipeline delay parameter PIPEND. See the Device
Configuration and Control Parameters section.
DONE flags on all TMC2302As go HIGH for one clock cycle. On
the next clock cycle, all devices output the first addresses and
control signals for the next image transform. If SYNC is LOW, the
IMS system halts. If SYNC is HIGH, operation continues without
interruption. See “SYNC,” in the Controls section. This flag can be
delayed up to seven clock cycles after the nominal sequence
shown in Table 4 by the pipeline delay parameter PIPDON. Also
see “PFLS,” in the Device Configuration and Control Parameters
section.
flag, the user may define separate two or three-
10
PRODUCT SPECIFICATIONTMC2302A
Transformation Coefficient and
Configuration and Control
Parameters
The TMC2302A is intended to act as a co-processor, requiring only that the user program the device to perform the
image transformation desired by loading in the appropriate
device configuration and transformation control parameters
discussed in this section. The user then issues an “Init”
command, allowing his system to run unattended until the
completion of the image when a “Done” flag is generated to
inform the host system.
The capabilities and flexibility of the TMC2302A Image
Manipulation Sequencer are apparent when reviewing the
following tables which define the transformation coefficient
and configuration and control parameters. These tables are
broken up into two separate groups. The first parameters discussed are the control words which select the dimension calculated, the functional configuration of each device, the
working space in which they will operate, the size of the
interpolation kernel desired, and the timing of the various
address and control signals involved in handling the pixel
data pipeline. The second parameters are the polynomial
transform coefficients used in performing image manipulation. The TMC2302A utilizes three levels of internal 48-bit
accumulators to calculate these values by forward difference
accumulation, generating no significant cumulative spatial
error for most applications. The user must be aware that all
internal parameter and coefficient registers must be set by
the user, including resetting after powerup any unused control words or coefficients.
As mentioned above, the TMC2302A also features userprogrammable image data pipeline configuration controls.
All output signals except the source and coefficient address
outputs can be individually delayed by the user up to seven
clocks after the nominal system timing illustrated in Table 4.
This allows the user to software-configure the TMC2302As
in his system to match his pixel interpolator, image buffer,
and interpolation coefficient RAM structure timing.
The user can also program the device to continue into the
next image for a set number of clock cycles after the Done
flag has appeared. First, this “flushes” the final resampled
pixel data word through the interpolation pipeline, all the
way to the target image RAM. Also, valid pixel data will
then appear on the first clock of the next transform independent of the length of the pixel pipeline, incurring no lost
clock cycles.
Device Configuration and Control
Parameters
UMIN,
VMIN,
WMIN
UMAX,
VMAX,
WMAX
Note: The parameter UMAX must exceed UMIN so as to
ensure that a minimum of 5 system clock cycles in twodimensional operation, or 15 clock cycles in three-dimensional operation, pass between the periods in which these
two target address values are generated. Thus in 2D nearest
neighbor operation UMAX must be 5 greater than UMIN. In
2D bilinear interpolation mode (4-pixel two-dimensional
kernel) the distance must be two pixels in the target image
(actually enforcing a spacing of 8 system clocks).
UMINI,
VMINI,
WMINI
UMAXI,
VMAXI,
WMAXI
The memory addresses of the target image
boundaries corresponding to the top, left side,
and front page of the new image being generated are defined in all devices of the user's
system by the parameters UMIN, VMIN, and
WMIN, respectively. At the beginning of the
transformation, the initial source image coordinate (X
coordinate set. The numeric format assumed
is 12-bit unsigned binary integer.
The memory addresses of the target image
boundaries corresponding to the bottom,
right side, and last page of the image being
generated are defined in all devices by the
parameters UMAX, VMAX, and WMAX,
respectively. These values should be greater
than the UMIN/VMIN/WMIN values defined
above. Numeric format assumed is unsigned
12-bit binary integer.
The target image addresses corresponding to
those of the top, left side, and front page of the
2 or 3 dimensional region indicated by the
valid target address flag TVAL are UMINI,
VMINI, and WMINI, respectively. Thus, to
define a valid region beginning at “m,” the
MINI parameter value is “m,” These parameters are assumed to be in 12-bit unsigned
binary integer format. Proper TVAL operation
requires UMIN < UMINI < UMAXI
< UMAX, etc.
The target image addresses one more than
those of the right side, bottom and back page
of the region indicated by the valid target
address flag TVAL are UMAXI, VMAXI, and
WMAXI, respectively. Thus, to define a valid
region ending at “n,” the MAXI parameter
value is “n+1”. These parameters are assumed
to be in 12-bit unsigned integer format.
, Y0, Z0) will be mapped to this
0
Preliminary Information
11
Loading...
+ 25 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.