the system is a data lift system that consists of a pulsed infrared emitting diode illumination source and an integrated circuit comprising both an image sensor and an analog signal processing section . a block diagram of the system is illustrated in fig2 a . the function of the video processor , enclosed in dashed lines in fig2 a , is to convert video signals produced by a two dimensional optical sensing array to a high quality black / white output signal . the array output directly feeds the processor without the benefit of an agc amplifier which means that the processor must allow for variations in signal levels caused by average illumination level changes , typically in the 4 : 1 range . in addition , image shading caused by nonuniform illumination or array sensitivity must be accommodated . since the output is to be used for ocr , special processing of printed character images is required to produce an optimum black / white image . that is , light strokes within a character should be thresholded black and enclosed areas ( e . g . 8 &# 39 ; s and a &# 39 ; s ) though smudged , should be white . the array signal is processed by two parallel paths with the results combined to produce a black or white decision for each pixel . the contrast ratio detector performs the function of determining if a pixel is dark enough to exceed the minimum acceptable modulation . the minimum modulation is defined as a print contrast ratio ( pcr ) value in the range of 0 . 15 to 0 . 25 . this level is determined on a pixel to pixel basis by continuously monitoring the amplitude of the white area surrounding a pixel . the white amplitude is measured relative to a zero reference that is established during each image frame cycle . the minimum pcr value is a fixed percentage of the white amplitude . since the pcr is a ratio function , changes in average video levels will not affect the quality of the thresholded video . the spatial filter section of the parallel processing contains a spatial filter that performs edge enhancement of the image data . the filter coefficients are selected to emphasize character stroke type images , allowing low contrast characters to be detected . the filter output is compared to a second black reference to produce a digital black / white output as a result of the spatial filter . the two outputs from the parallel processing functions are combined by an &# 34 ; and &# 34 ; circuit ; both functions must produce black in order for a pixel to be judged black . the contrast radio detector function serves to prevent paper noise from thresholding , particularly at the higher light levels , while the spatial filter function results in good edge definition for the character images . looking at fig4 there is illustrated one possible embodiment of the ccd sensor array . the photosites are stages of vertical registers which are read out by vertically clocking all registers to parallel load the output register . the output register ( as illustrated ) shifts to the left , shifting the video out at the cell rate through a preamplifier and then to the parallel registers . the sensor array may be , for example , area sensor 18 cells wide and 70 cells tall ( fig3 ). the sensor may be , for example , a ccd device consisting of 18 shift registers each 70 bits in length . each stage serves both as a sensor and a storage / read out device . in operation , an image is strobed on to the sensor using a pulsed infrared emitting diode as an illumination source . as soon as the diode is off , the 18 registers are shifted one bit , loading the serial read out register . the read out register is clocked 18 pulses to produce a serial bit stream output . a second shift pulse to the 18 vertical shift registers is then produced and the cycle is repeated a total of 70 times until all the data has been read out . this type of read out can only be utilized because the sensor is not illuminated during the read out sequence . the illumination time will comprise about 10 % of the total frame time . this design has the advantage of requiring a much simpler ccd structure whose total cell area is light sensitive and thus twice as sensitive as a sensor structure that utilizes alternate sensor and storage sites . the spatial filter is a linear filter designed to amplify portions of the image that correspond to character stroke characteristics . the spatial filter performs two dimensional discrete circular convolution of a two dimensional spatial impulse response with the sensor &# 39 ; s image data . two dimensional convolution can be described generally as follows : the impulse response matrix ( irm ) is placed over a section of the image data matrix . the irm is smaller than the data matrix , and has an odd number or rows and columns . each location is multiplied in the irm by the corresponding location of the data matrix . the resulting matrix of numbers is summed to get one number . the resulting number is placed into the filtered data matrix at the same location as the center cell of the irm was on the original data matrix . for two dimensional circular convolution , the data matrix is treated as if the rows and columns were wrapped around cylinders , so when the irm extends off of the edge of the data matrix , rows or columns from the opposite edge are utilized for data . this process is defined mathematically as follows : ## equ1 ## z ( i , j ) is the two dimensional filtered image matrix . the top lefthand corner cell is defined as i = 1 ( row ) and j = 1 ( column ), or z ( 1 , 1 ). z is a r row by s column matrix . m ( r , s ) is the two dimensional impulse response of the system . the number of rows is n and the number of columns is p . the top row of the m matrix is numbered n - 1 /- 2 and the left column is numbered p - 1 /- 2 . therefore the top left - hand corner cell is defined as : ## equ2 ## corner cell . therefore the center cell of m is m ( 0 , 0 ) for any odd n and p . d ( i + r , j + s ) is the two dimensional image matrix . the top left - hand corner cell is defined as i + r = 1 ( row ) and j + s = 1 ( column ) or d ( 1 , 1 ). d is a r row by s column matrix . for circular convolution for a r row by s column matrix , the data matrix repeats periodically in all directions of its plane , or d ( i + r , j + s )= d ( i , j ) where d is an r × s matrix . two dimensional convolution can be implemented by a tapped analog delay register with n groups of p taps ( irm is n rows by p columns weighted by m ( r , s ) and summed . the impulse response matrix has weighting values in the range of 0 to ± 1 . a typical set of coefficients is shown in fig8 b . the filter is designed to have an output that goes negative for dark areas of video image and positive for white areas . one possible embodiment of the filter is the 96 stage ccd shift register with split electrodes as taps as illustrated in fig5 . the video is fed into one end of the shift register in serial form . the output from the differential amplifier constitutes the filter output . this type of split electrodes charge sampling structure and its application to transversal filters is well know in the literature and explained in the book charge - transfer devices by g . s . holbson , john wiley & amp ; sons published on page 106 . comparator 2 in fig2 is for the purpose of determining whether the spatial filter output is positive or negative relative to a black reference level signal . when the spatial filter output is negative , the comparator output is true indicating a black level . the black reference level is produced by sampling the output during the time that only black pixel data is contained within the spatial filter ccd shift register . the output is sampled at the end of the overscan time and stored on a capacitor to be utilized during the next frame as a black reference level . in order to implement the contrast ratio detection function , it is necessary to have some temporary storage of cell values . this needs results from having to analyze data that in spatial terms surrounds any given cell , or expressed as a time function , is generated both before and after the time of a given cell . a well known way to provide this storage when performing real time processing is to use a tapped delay line . the 115 stage ccd register shown in fig6 accomplishes this function with analog data . the transistor and electrode configuration shown in fig6 illustrates an established approach for converting the charge pockets propagating down the delay line to voltage levels in a nondestructive manner . in effect , there are 24 taps on the delay line producing data representing 24 different cells that are accessible in parallel . fig6 ilustrates the read out approach without indicating the clocking phases required to propagate the charges down the delay line . the clocking technique can be anything from a 11 / 2 to a 4 phase system . this readout technique is explained in the book charge coupled devices & amp ; systems , edited by howes and morgan , john wiley and son publishers , on page 75 . the contrast ratio detection function contains a background reference detector which performs a limited area spatial peak detection of the sensors image data . the reference detector produces an output level for each cell that is representative of the white level in the vicinity of the cell . the background level is produced when the cell value passes through delay stage 58 ( see fig7 ). in order to simplify hardware problems in building the detector , the 7 × 7 area is represented by 24 sample points in a checkerboard pattern as shown in fig8 a . the spatial peak detection funcition can be described generally as follows a u row by v column matrix is placed over a section of the image data matrix . this u by v matrix is smaller than the data matrix and has an odd number of rows and columns . the k highest image data values are selected in the data matrix section covered by the u by v matrix . k will be less than u × v . next sum the k highest values together and divide by k . the resultant value is placed into the reference matrix at the same location as the center cell of the u by v matrix . as with circular convolution , the data matrix wraps around in the horizontal and vertical directions . this process is defined mathematically as : ## equ3 ## r ( i , j ) is the two dimentional reference matrix . r ( 1 , 1 ) is the top left - hand corner of the matrix . d ( r , s ) is the image data matrix . d ( 1 , 1 ) is the top left - hand corner of the matrix . d is an r row by s column matrix . u is the number of rows in the area considered for peak detection ( u is odd ). v is the number of columns in the area considered for peak detection ( v is odd ). u and v may be as large as 7 . [ max n ] means the highest value of the right argument after r ( i , j ) is developed , it is multiplied by a fractional constant a to produce the minimum pcr limit which is used to threshold the image data . specifically referring to fig2 comparator number 1 is driven by a fraction of the background reference output and the signal from the &# 34 ; center cell &# 34 ; ( indicated in fig7 as cell 58 ) which is the video information that is to be quantized . the resistors r1 and r2 determine the fraction of background level to be supplied to the comparator . this would be typically about 0 . 85 , corresponding to a print contrast ratio of 15 %. comparator number 1 output will be true , indicating white , if the center cell value is less than 0 . 85 of the white reference . a black reference value is also produced by the contrast ratio detection function . it is used as the &# 34 ; zero &# 34 ; value for the r1 / r2 divider which allows a fractional level of the white background reference to be obtained . it is produced by sampling the output from cell 58 at the end of the array overscan time and storing the level on a capacitor for use during the next frame of video . comparators 1 and 2 are combined by an and circuit to produce a quantized black / white output . the signals are and &# 39 ; ed on a black basis so that both comparator outputs are required to produce a black pixel . comparator 1 will force a white output for a low contrast signal and comparator 2 will open up the white areas in an 8 , a , or other alphanumeric characters having an enclosed or partially enclosed area . the output of the and circuit is further processed by a spot filter to remove isolated white or black cells from the output . the spot filter operates on the threshold matrix by the following function : ## equ4 ## where s ( i , j ) is the two dimensional spot filtered image matrix , the top left element of the matrix is s ( 0 , 0 ). a ( i , j ) is the sum of the binary values ( 0 - 1 ) of the 4 on axis , adjacent cells to the cell to be spot filtered in the threshold matrix ( see fig1 ). if the four surrounding cells for a particular cell are all the same , the spot filter forces the center cell to the same value of the surrounding cells . otherwise , the filter does nothing to the center cell . fig9 represents the function of four adjacent cells and a center cell . the spot filter is tapped ccd register feeding the appropriate logic elements . in addition to the delay resulting from this function , more delay is incorporated here to synchronize the video with the row / frame sync signals generated for the system . in addition to the black / white data output , timing signals for external logic synchronization are provided by the control logic as shown in fig2 . these are data clock out , row / frame sync , and strobe out . the data clock is used in sampling the serial video stream and the row / frame sync provides for horizontal and vertical location . strobe out triggers the infrared emitting diodes which illuminate the surface to be scanned or read . a background signal level output , and the black reference are also available to be used as an indication of the video signal so that the black / white output can be externally inhibited if the illumination level is inadequate . description of major timing sequence is illustrated in the flow diagram of fig1 . a vertical clock is generated for each 18 cell rate pulses and are counted by a vertical clock counter . if the count is equal to or less than 76 , a vertical clock is gated to the sensor array causing the cell or fixed data to advance by a row toward the read - out register . if the count is 73 a black reference sample pulse is generated in addition to vertically clocking the sensor . after each vertical clock the cell data in the sensor output register , which consists of a horizontal row of cells , is serial read - out into the signal processing ccd registers by 18 cell data clocks . after 70 vertical clocks , all the image data produced by the 68 active rows of cells have been read out . between the 70th and 76th vertical clocks , all cell data output represent absolute black cell values . this portion of the frame cycle is the overscan time that results in loading the signal processing ccd register with black signal levels . when the v n count reaches 76 , the black reference sample pulse is produced and vertical clocking of the sensor is inhibited . between the counts of 77 and 84 the infrared illumination is turned on to expose a new image on the array . at the count of 84 , v n is reset to zero and the frame cycle is repeated . the relative rates for internal and external clocks are illustrated in fig1 . the output register is then parallel loaded with the video data and then read out , requiring 18 data clocks . the relative rates for internal and external clocks are illustrated in fig1 . having described a preferred embodiment of the image processing integrated circuit , other embodiment and arrangements will become apparent to those skilled in the art which will fall within the scope of the appended claims .