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