REAL-TIME IMAGING APPLICATION
A real time imaging application in which a 512 x 512 eight bit
per pixel image is collected at 30 frames per second. The images
are inspected for defects. This application required the processors
to access an external copy of each frame five times, and perform
16 clocks per pixel of internal computation on each image to detect
defects.
The inspection algorithm included 1 clock for fix-to-float conversion,
6 clocks for a pre-filter, 6 clock for Sobel edge detection, 1 clock
for thresholding, and 2 clocks for image evaluation. 16,384 bytes
of output per frame were generated. The total operations per pixel
is summarized in Table 1.
Table 2 shows the time it takes each processor to process a frame.
A single TM1300 processor can keep up with the frame rate while
the other processors require processors to keep up. The compute
intensive nature of this application allows the TM1300 to out perform
the other processors because of its many arithmetic units. The Pentium
III comes close to working because its high performance memory bus
compensates for its lower processing throughput.
| Function |
Byte Reads |
Byte writes |
fmult |
fadd/fsub |
fcomp |
Float |
Fix |
| Fix to Float |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
| 3x3 convolution |
0 |
4 |
9 |
8 |
0 |
0 |
0 |
| Sobel
Filter |
4 |
0 |
18 |
17 |
2 |
0 |
0 |
| Threshold
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
| Store answer |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
| Total
|
5 |
5 |
27 |
25 |
3 |
1 |
1 |
Table 1
| Number of CPUs by
frame rate |
Image (msec/fr) |
30 fps |
60 fps |
90 fps |
120 fps |
| PNX1300 VLIW |
24.394 |
1 |
2 |
3 |
3 |
| PIII-450 CPU |
33.204 |
2 |
2 |
3 |
4 |
| C6701 CPU |
45.007 |
2 |
3 |
5 |
6 |
| 21160 CPU |
37.355 |
2 |
3 |
4 |
5 |
Table 2

The graph above displays the range of frame rates obtainable
for each quantity of processors.
Click
to Download the application
note in pdf format |